package cn.lihu.jh.module.ecg.dal.dataobject.appointment; import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.time.*; import java.util.*; import java.time.LocalDateTime; import java.time.LocalDateTime; import java.time.LocalDateTime; import java.time.LocalDateTime; import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.*; import cn.lihu.jh.framework.mybatis.core.dataobject.BaseDO; /** * 预约 DO * * @author 马剑波 */ @TableName("appointment") @KeySequence("appointment_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor public class AppointmentDO extends BaseDO { /** * id */ @TableId private Long id; /** * 申请编号 */ private String applyNo; /** * 就诊流水号 */ private String episodeId; /** * 患者来源类型 01问诊 02急诊 03住院 04体检 */ private Integer patSrc; /** * 患者编号 */ private String patId; /** * 患者姓名 */ private String patName; /** * 患者性别 */ private Byte patGender; /** * 患者生日 */ private LocalDate patBirthday; /** * 患者手机 */ private String patMobile; /** * 患者电话 */ private String patPhone; /** * 身份证号 */ private String patIdentityId; /** * 患者地址 */ private String patAddr; /** * 患者所在科室代码 */ private String patDeptCode; /** * 患者所在科室名称 */ private String patDeptDesc; /** * 患者所在病区代码 */ private String patWardCode; /** * 患者所在病区名称 */ private String patWardDesc; /** * 床号 */ private String patBedNo; /** * 预约日期 */ private LocalDate bookDate; /** * 预约时间段 */ private Integer bookTimeslot; /** * 预约发生时间 */ private LocalDateTime bookTime; /** * 预约检查类型 */ private Integer bookCheckType; /** * 预约来源:0 ~~ X系统、1 ~~ 护士手动预约 */ private Integer bookSrc; /** * 已付款 */ private Integer paid; /** * 从数据平台同步时间 */ private LocalDateTime syncTime; /** * 预约排序号。 *

* 来源 HIS 报文 {@code actAppointment.subject.patient.id.item[]} 中 * {@code root=2.16.156.10011.2.5.1.11} 的项(按 root 匹配,非按位置: * 文档示例标在 item[4],但实际报文 item[4] 的 root 是 2.5.1.8「就诊次数」, * 排序号实际位于 item[6])。 */ private Integer bookSeqNum; /** * 优先级 / 加急标记。来源 HIS 报文 {@code observationRequest.zdy.jjbz}:N=常规,J=加急。 */ private String jjbz; /** * 检查方式编码。来源 HIS 报文 {@code component2.observationRequest.methodCode.item[].code}。 */ private String methodCode; /** * 检查部位编码。来源 HIS 报文 {@code component2.observationRequest.targetSiteCode.item.code}。 */ private String targetSiteCode; /** * 医嘱号(医嘱ID)。来源 HIS 报文 * {@code component2.observationRequest.id.item[root=2.16.156.10011.1.28].extension}。 *

* 依据《交互服务通用接口文档》:6.1 申请单新增服务的示例中该节点注释为「医嘱ID」, * 6.4/6.5 检查预约状态服务中注释为「医嘱号」。 * 实测 S0201ECG 220 条、S0202ECG 29 条均携带该值(形如 {@code 112663505})。 *

* 注意:不是 {@code apply_no}(申请单号,root {@code 2.16.156.10011.1.24}),二者不同。 */ private String doctorAdviceNo; /** * 检查房间名称。来源 HIS 报文 {@code ZDY.roomname}(S050401/S050402)。 */ private String roomName; /** * 注意事项。来源 HIS 报文 {@code ZDY.remark}(S050401/S050402)。 */ private String remark; private String status; /** * 登记时间 */ private Date registerDate; /** * 耐药性: 是否多耐1代表是,0代表不是 *

* 来源 HIS 报文 {@code observationRequest.zdy.ISDN}(自定义字段区,官方文档未定义, * 实测真实报文包含该字段,取值恒为 0)。 */ private String tolerance; /** * 是否床边(0否 1是) *

* 来源 HIS 报文 {@code observationRequest.zdy.ISCB}(自定义字段区,官方文档未定义, * 实测真实报文包含该字段,取值恒为 0)。 *

* 与「检查类型」的区别:{@code check_type.value=1000} 名称是"床边心电图(常规+频谱)", * 那是**一个检查项目**;而本字段表达的是**同一项目、患者需到床边做**,两者语义不同。 */ private String isBedside; /** * 住院号 */ private String hospitalNo; /** * 医保卡号 */ private String medicalCard; /** * 门诊号 */ private String outpatientNo; /** * 开单医生 */ private String doctor; /** * 开单医生编码 */ private String doctorCode; /** * 开单时间 */ private Date doctorTime; }