<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.openhis.web.reportmanage.mapper.InpatientMedicalRecordHomePageCollectionMapper">
    <select id="getInfo"
            resultType="com.openhis.web.reportmanage.dto.InpatientMedicalRecordHomePageMakeDto">
        SELECT                                                                            --todo sql没写完
         AS  A48, -- 病案号 A48 字符 50 必填
         AS  A49, -- 住院次数 A49 数字 4 必填
                to_char(T1.start_time::TIMESTAMPTZ,'YYYY-MM-DD HH24:MI:SS') AS B12,--入院时间
                to_char(T1.end_time::TIMESTAMPTZ,'YYYY-MM-DD HH24:MI:SS')    AS B15,--出院时间
         AS  A46C, -- 医疗付费方式 A46C 字符 3 必填
               T2.name  AS A11,  --姓名
               T2.gender_enum  AS A12C, --性别
               T2.birth_date AS  A13,--  出生日期
               T2.country_code AS A15C,--国籍
               T2,marital_status_enum AS A21C,--婚姻
               T2.prfs_enum AS A38C,--职业
               T2.nationality_code AS A19C,--民族
               T2.id_card AS A20,-- 证件号码
        AS  A22, -- 出生地址 A22 字符 200 必填
               T2.native_place AS  A23C, --籍贯省（自治区、直辖市）
               T2.address AS A24,-- 户口地址
        AS  A25C, -- 户口地址邮政编码 A25C 字符 6 必填
        AS  A26, -- 现住址 A26 字符 200 必填
       T2.phone AS  A27, -- 现住址电话 A27 字符 40 必填
        AS  A28C, -- 现住址邮政编码 A28C 字符 6 必填
      T2.work_company  AS  A29, -- 工作单位及地址 A29 字符 200 必填
        AS  A30, -- 工作单位电话 A30 字符 20 必填
        AS  A31C, -- 工作单位邮政编码 A31C 字符 6 必填
      T2.link_name  AS  A32, -- 联系人姓名 A32 字符 40 必填
      T2.link_relation_code  AS  A33C, -- 联系人关系 A33C 字符 1 必填
        AS  A34, -- 联系人地址 A34 字符 200 必填
      T2.link_telcom  AS  A35, -- 联系人电话 A35 字符 40 必填
        AS  B38, -- 是否为日间手术 B38 字符 1 必填
        AS  B11C, -- 入院途径 B11C 字符 1 必填
        AS  B13C, -- 入院科别 B13C 字符 6 必填
        AS  B14, -- 入院病房 B14 字符 30 必填
        AS  B21C, -- 转科科别 B21C 集合 可以多选 必填
        AS  B16C, -- 出院科别 B16C 字符 6 必填
        AS  B17, -- 出院病房 B17 字符 30 必填
        DATE(T1.end_time::TIMESTAMPTZ) - DATE(T1.start_time::TIMESTAMPTZ)   AS  B20, -- 实际住院（天） B20 数字 6 必填
        AS  C01C, -- 门（急）诊诊断编码 C01C 字符 20 必填
        AS  C02N, -- 门（急）诊诊断名称 C02N 字符 100 必填
        AS  C03C, -- 出院主要诊断编码 C03C 字符 20 必填
        AS  C04N, -- 出院主要诊断名称 C04N 字符 100 必填
        AS  C05C, -- 出院主要诊断入院病情 C05C 字符 1 必填
        AS  C09C, -- 病理诊断编码 C09C 字符 20 条件必填
        AS  C10N, -- 病理诊断名称 C10N 字符 100 条件必填
        AS  C11, -- 病理号 C11 字符 50 条件必填
        AS  C12C, -- 损伤、中毒外部原因编码 C12C 字符 20 条件必填
        AS  C13N, -- 损伤、中毒外部原因名称 C13N 字符 100 条件必填
        AS  C24C, -- 有无药物过敏 C24C 字符 1 必填
        AS  C25, -- 过敏药物名称 C25 字符 200 条件必填
        AS  B22C, -- 科主任编码 B22C 字符 30 必填
        AS  B22, -- 科主任 B22 字符 40 必填
        AS  B23C, -- 主（副主）任医师编码 B23C 字符 30 必填
        AS  B23, -- 主（副主）任医师 B23 字符 40 必填
        AS  B24C, -- 主治医师编码 B24C 字符 30 必填
        AS  B24, -- 主治医师 B24 字符 40 必填
        AS  B25C, -- 住院医师编码 B25C 字符 30 必填
        AS  B25, -- 住院医师 B25 字符 40 必填
        AS  B26C, -- 责任护士编码 B26C 字符 30 必填
        AS  B26, -- 责任护士 B26 字符 40 必填
        AS  B29, -- 编码员 B29 字符 40 必填
        AS  C26C, -- ABO血型 C26C 字符 1 必填
        AS  C27C, -- Rh血型 C27C 字符 1 必填
        AS  C14x01C, -- 主要手术操作编码 C14x01C 字符 20 必填
        AS  C15x01N, -- 主要手术操作名称 C15x01N 字符 100 必填
        AS  C16x01, -- 主要手术操作日期 C16x01 日期时间 必填
        AS  C17x01, -- 主要手术操作级别 C17x01 字符 1 条件必填
        AS  C18x01, -- 主要手术操作术者 C18x01 字符 40 条件必填
        AS  C19x01, -- 主要手术操作Ⅰ助 C19x01 字符 40 条件必填
        AS  C20x01, -- 主要手术操作Ⅱ助 C20x01 字符 40 条件必填
        AS  C21x01C, -- 主要手术操作切口愈合等级 C21x01C 字符 2 条件必填
        AS  C22x01C, -- 主要手术操作麻醉方式 C22x01C 字符 6 条件必填
        AS  C23x01, -- 主要手术操作麻醉医师 C23x01 字符 40 条件必填
        AS  F21, -- 输血反应 F21 数字 1 条件必填
        AS  F22, -- 红细胞 F22 数字 (4,1) 条件必填
        AS  F23, -- 血小板 F23 数字 (4,1) 条件必填
        AS  F24, -- 血浆 F24 数字 (8,2) 条件必填
        AS  F25, -- 全血 F25 数字 (8,2) 条件必填
        AS  F26, -- 自体血回输 F26 数字 (4,1) 条件必填
        AS  A16, -- 年龄不足1周岁的年龄（天） A16 数字 3 条件必填②
        AS  A18x01, -- 新生儿出生体重（克） A18x01 数字 6 条件必填②
        AS  A17, -- 新生儿入院体重（克） A17 数字 6 条件必填②
        AS  C28, -- 颅脑损伤患者入院前昏迷时间（天） C28 数字 5 必填
        AS  C29, -- 颅脑损伤患者入院前昏迷时间（小时） C29 数字 2 必填
        AS  C30, -- 颅脑损伤患者入院前昏迷时间（分钟） C30 数字 2 必填
        AS  C31, -- 颅脑损伤患者入院后昏迷时间（天） C31 数字 5 必填
        AS  C32, -- 颅脑损伤患者入院后昏迷时间（小时） C32 数字 2 必填
        AS  C33, -- 颅脑损伤患者入院后昏迷时间（分钟） C33 数字 2 必填
        AS  B36C, -- 是否有出院31日内再住院计划 B36C 数字 1 必填
        AS  B37, -- 出院31天再住院计划目的 B37 字符 100 条件必填
        AS  B34C, -- 离院方式 B34C 字符 1 必填
        AS  B35, -- 医嘱转院、转社区卫生服务机构/乡镇卫生院名称 B35 字符 100 条件必填
        AS  D01, -- 住院总费用 D01 数字 (11,2) 必填
        AS  D09, -- 住院总费用其中自付金额 D09 数字 (10,2) 必填
        AS  D26 -- 16.血费 D26 数字 (10,2)





        T3.name AS organization_name,
        STRING_AGG(T5.NAME, '_' ORDER BY T5.bus_no) AS inpatient_bed --床位















        FROM adm_encounter T1
          LEFT JOIN adm_patient T2
                 ON T1.patient_id = T2.id
                 AND T2.delete_flag = '0'
         LEFT JOIN adm_organization AS T3
                 ON T1.organization_id = T3.id
                 AND T3.delete_flag = '0'
         LEFT JOIN adm_encounter_location AS T4
                 ON T4.encounter_id = T1.id
                 AND T4.status_enum = '2'
                 AND T4.delete_flag = '0'
         LEFT JOIN adm_location AS T5
                 ON T5.id = T4.location_id
                 AND T5.delete_flag = '0'


        WHERE T1.id IN
          <foreach collection="encounterIdList" item="item" separator="," open="(" close=")">
              #{item}
          </foreach>
          AND T1.class_enum = 1
          AND T1.delete_flag = '0'
       GROUP BY

    </select>
</mapper>
