/*
 * Copyright ©2023 CJB-CNIT Team. All rights reserved
 */
package com.openhis.yb.domain;

import java.io.Serializable;
import java.util.Date;

import com.alibaba.fastjson2.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 【2401】入院办理
 *
 * @author SunJQ
 * @date 2025-07-31
 */
@Data
@TableName("yb_inpatient_reg")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class InpatientReg extends HisBaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.ASSIGN_ID)
    @JSONField(serialize = false)
    private Long id;

    /**
     * 人员编号
     */
    @JSONField(name = "psn_no")
    private String psnNo;

    /**
     * 险种类型
     */
    @JSONField(name = "insutype")
    private String insutype;

    /**
     * 联系人姓名
     */
    @JSONField(name = "coner_name")
    private String conerName;

    /**
     * 联系电话
     */
    @JSONField(name = "tel")
    private String tel;

    /**
     * 开始时间（入院时间，格式：yyyy-MM-dd HH:mm:ss）
     */
    @JSONField(name = "begntime", format = "yyyy-MM-dd HH:mm:ss")
    private Date begntime;

    /**
     * 就诊凭证类型
     */
    @JSONField(name = "mdtrt_cert_type")
    private String mdtrtCertType;

    /**
     * 就诊凭证编号（就诊凭证类型为“01”时填写电子凭证令牌，为“02”时填写身份证号，为“03”时填写社会保障卡卡号）
     */
    @JSONField(name = "mdtrt_cert_no")
    private String mdtrtCertNo;

    /**
     * 医疗类别
     */
    @JSONField(name = "med_type")
    private String medType;

    /**
     * 住院号（院内就诊流水号）
     */
    @JSONField(name = "ipt_no")
    private String iptNo;

    /**
     * 病历号
     */
    @JSONField(name = "medrcdno")
    private String medrcdno;

    /**
     * 主治医生编码
     */
    @JSONField(name = "atddr_no")
    private String atddrNo;

    /**
     * 主诊医师姓名
     */
    @JSONField(name = "chfpdr_name")
    private String chfpdrName;

    /**
     * 入院诊断描述
     */
    @JSONField(name = "adm_diag_dscr")
    private String admDiagDscr;

    /**
     * 入院科室编码
     */
    @JSONField(name = "adm_dept_codg")
    private String admDeptCodg;

    /**
     * 入院科室名称
     */
    @JSONField(name = "adm_dept_name")
    private String admDeptName;

    /**
     * 入院床位
     */
    @JSONField(name = "adm_bed")
    private String admBed;

    /**
     * 住院主诊断代码
     */
    @JSONField(name = "dscg_maindiag_code")
    private String dscgMaindiagCode;

    /**
     * 住院主诊断名称
     */
    @JSONField(name = "dscg_maindiag_name")
    private String dscgMaindiagName;

    /**
     * 主要病情描述
     */
    @JSONField(name = "main_cond_dscr")
    private String mainCondDscr;

    /**
     * 病种编码（按照标准编码填写：按病种结算病种目录代码(bydise_setl_list_code)、日间手术病种目录代码(daysrg_dise_list_code)）
     */
    @JSONField(name = "dise_codg")
    private String diseCodg;

    /**
     * 病种名称
     */
    @JSONField(name = "dise_name")
    private String diseName;

    /**
     * 手术操作代码（日间手术病种时必填）
     */
    @JSONField(name = "oprn_oprt_code")
    private String oprnOprtCode;

    /**
     * 手术操作名称
     */
    @JSONField(name = "oprn_oprt_name")
    private String oprnOprtName;

    /**
     * 计划生育服务证号
     */
    @JSONField(name = "fpsc_no")
    private String fpscNo;

    /**
     * 生育类别
     */
    @JSONField(name = "matn_type")
    private String matnType;

    /**
     * 计划生育手术类别
     */
    @JSONField(name = "birctrl_type")
    private String birctrlType;

    /**
     * 晚育标志
     */
    @JSONField(name = "latechb_flag")
    private String latechbFlag;

    /**
     * 孕周数
     */
    @JSONField(name = "geso_val")
    private Integer gesoVal;

    /**
     * 胎次
     */
    @JSONField(name = "fetts")
    private Integer fetts;

    /**
     * 胎儿数
     */
    @JSONField(name = "fetus_cnt")
    private Integer fetusCnt;

    /**
     * 早产标志
     */
    @JSONField(name = "pret_flag")
    private String pretFlag;

    /**
     * 计划生育手术或生育日期（格式：yyyy-MM-dd）
     */
    @JSONField(name = "birctrl_matn_date", format = "yyyy-MM-dd")
    private Date birctrlMatnDate;

    /**
     * 病种类型
     */
    @JSONField(name = "dise_type_code")
    private String diseTypeCode;

    /**
     * 字段扩展
     */
    @JSONField(name = "exp_content")
    private String expContent;

    /**
     * 参保地医保区划
     */
    @JSONField(name = "insuplc_admdvs")
    private String insuplcAdmdvs;

    /**
     * 就医地医保区划
     */
    @JSONField(name = "mdtrtarea_admvs")
    private String mdtrtareaAdmvs;

    /**
     * 就诊id
     */
    @JSONField(name = "mdtrt_id")
    private String mdtrtId;

    private String inputParam;

    private String outputResult;
}
