package com.smartor.yiwudataanalysis; 
 | 
  
 | 
import ca.uhn.hl7v2.HL7Exception; 
 | 
import ca.uhn.hl7v2.model.Message; 
 | 
import ca.uhn.hl7v2.model.Structure; 
 | 
import ca.uhn.hl7v2.model.v24.datatype.*; 
 | 
import ca.uhn.hl7v2.model.v24.segment.DG1; 
 | 
import ca.uhn.hl7v2.model.v24.segment.PID; 
 | 
import ca.uhn.hl7v2.model.v24.segment.PV1; 
 | 
import ca.uhn.hl7v2.model.v24.segment.PV2; 
 | 
import com.ruoyi.common.enums.AdmTypeEnum; 
 | 
import com.ruoyi.common.enums.LevelHospEnum; 
 | 
import com.ruoyi.common.utils.StringUtils; 
 | 
import com.smartor.domain.HospitalRecord; 
 | 
import com.smartor.domain.HospitalUserinfo; 
 | 
import org.apache.commons.lang3.ObjectUtils; 
 | 
  
 | 
import java.text.ParseException; 
 | 
import java.text.SimpleDateFormat; 
 | 
import java.time.Year; 
 | 
import java.util.ArrayList; 
 | 
import java.util.Date; 
 | 
import java.util.List; 
 | 
  
 | 
//出院数据 
 | 
public class ADT_A03 { 
 | 
    //解析PID 
 | 
    public List<Object> explainPID(Message message, String dataInfo) throws HL7Exception { 
 | 
        //解析PID(患者基本信息) 
 | 
        PID pid = (PID) message.get("PID"); 
 | 
  
 | 
        //患者主索引信息 
 | 
        CX pid2_patientID = pid.getPid2_PatientID(); 
 | 
        //患者全院唯一标识(患者主索引/ID) 
 | 
        String patientID = pid2_patientID.getID().encode(); 
 | 
        //VIP-先诊疗后付费标志(0/1) 
 | 
        String cd = pid2_patientID.getCheckDigit().encode(); 
 | 
  
 | 
        //患者相关 ID^^^授权机构 
 | 
        CX[] pid3_patientIdentifierList = pid.getPid3_PatientIdentifierList(); 
 | 
        if (pid3_patientIdentifierList != null && pid3_patientIdentifierList.length > 0) { 
 | 
            for (CX cx : pid3_patientIdentifierList) { 
 | 
                //患者相关ID 
 | 
                String hzxgID = cx.getID().encode(); 
 | 
                //分配患者 ID 机构 
 | 
                String patiendOrgan = cx.getAssigningAuthority().encode(); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //门诊不填,住院必填 
 | 
        CX[] pid4_alternatePatientIDPID = pid.getPid4_AlternatePatientIDPID(); 
 | 
        if (pid4_alternatePatientIDPID != null && pid4_alternatePatientIDPID.length > 0) { 
 | 
            for (CX cx : pid4_alternatePatientIDPID) { 
 | 
                //非婴儿 0 婴儿 1 
 | 
                String s = cx.getID().encode(); 
 | 
                //  0/空-不需要保密; 1-保密 
 | 
                String s1 = cx.getIdentifierTypeCode().encode(); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //患者姓名 
 | 
        XPN[] pid5_patientName = pid.getPid5_PatientName(); 
 | 
        String patientName = ""; 
 | 
        for (XPN xpn : pid5_patientName) { 
 | 
            //拼音 
 | 
            String pinyin = xpn.getFamilyName().encode(); 
 | 
            //患者姓名 
 | 
            patientName = xpn.getGivenName().encode(); 
 | 
        } 
 | 
  
 | 
  
 | 
        //出生日期 
 | 
        String birthday = pid.getPid7_DateTimeOfBirth().encode(); 
 | 
        SimpleDateFormat inputFormatt = new SimpleDateFormat("yyyyMMddHHmmss"); // 输入日期格式 
 | 
        Date date = null; // 解析为Date对象 
 | 
        try { 
 | 
            date = inputFormatt.parse(birthday); 
 | 
        } catch (ParseException e) { 
 | 
            e.printStackTrace(); 
 | 
        } 
 | 
        SimpleDateFormat outputFormatt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 输出日期格式 
 | 
        String birthdatTime = outputFormatt.format(date); 
 | 
  
 | 
  
 | 
        //性别 1男  2女 
 | 
        String xb = pid.getPid8_AdministrativeSex().encode(); 
 | 
  
 | 
        //血型信息 
 | 
        CE[] pid10_race = pid.getPid10_Race(); 
 | 
        for (CE ce : pid10_race) { 
 | 
            //血型代码 
 | 
            String xxdm = ce.getCe1_Identifier().encode(); 
 | 
            //血型名称 
 | 
            String xxmc = ce.getCe2_Text().encode(); 
 | 
            //rh血型代码 
 | 
            String rhxxdm = ce.getCe4_AlternateIdentifier().encode(); 
 | 
            //rh血型名称 
 | 
            String rhxxmc = ce.getCe5_AlternateText().encode(); 
 | 
        } 
 | 
  
 | 
        //地址信息 
 | 
        XAD[] pid11_patientAddress = pid.getPid11_PatientAddress(); 
 | 
        String xxdzxx = null; 
 | 
        String streetName = null; 
 | 
        String dwellingNumber = null; 
 | 
        String otherDesignation = null; 
 | 
        String city = null; 
 | 
        String province = null; 
 | 
        for (XAD xad : pid11_patientAddress) { 
 | 
            //详细地址信息 
 | 
            xxdzxx = xad.getXad1_StreetAddress().getSad1_StreetOrMailingAddress().encode(); 
 | 
            //街道信息(村/街/道) 
 | 
            streetName = xad.getXad1_StreetAddress().getStreetName().encode(); 
 | 
            //门牌号码 
 | 
            dwellingNumber = xad.getXad1_StreetAddress().getDwellingNumber().encode(); 
 | 
            //县地区(县) 
 | 
            otherDesignation = xad.getXad2_OtherDesignation().encode(); 
 | 
            //城市(市) 
 | 
            city = xad.getXad3_City().encode(); 
 | 
            //省 
 | 
            province = xad.getXad4_StateOrProvince().encode(); 
 | 
            //地址类型(参考字典) 
 | 
            String addressType = xad.getXad7_AddressType().encode(); 
 | 
            //乡镇信息 
 | 
            String designation = xad.getXad8_OtherGeographicDesignation().encode(); 
 | 
            //县地区编码 
 | 
            String parishCode = xad.getXad9_CountyParishCode().encode(); 
 | 
            //街道标准编码(保留) 
 | 
            String censusTract = xad.getXad10_CensusTract().encode(); 
 | 
        } 
 | 
  
 | 
        //个人电话 
 | 
        XTN[] pid13_phoneNumberHome = pid.getPid13_PhoneNumberHome(); 
 | 
        String phone = null; 
 | 
        for (XTN xtn : pid13_phoneNumberHome) { 
 | 
            //电话类型代码(参考字典) 
 | 
            String lxdm = xtn.getTelecommunicationEquipmentType().encode(); 
 | 
            //电话号码 
 | 
            phone = xtn.getPhoneNumber().encode(); 
 | 
        } 
 | 
  
 | 
        //工作电话 
 | 
        XTN[] pid14_phoneNumberBusiness = pid.getPid14_PhoneNumberBusiness(); 
 | 
        for (XTN xtn : pid14_phoneNumberBusiness) { 
 | 
            //工作电话 
 | 
            String phoneNumberWork = xtn.getPhoneNumber().encode(); 
 | 
        } 
 | 
  
 | 
        //婚姻状况代码 
 | 
        String identifier = pid.getPid16_MaritalStatus().getIdentifier().encode(); 
 | 
        //婚姻状况名称 
 | 
        String text = pid.getPid16_MaritalStatus().getText().encode(); 
 | 
  
 | 
        //证件号码 
 | 
        String id = pid.getPid18_PatientAccountNumber().getID().encode(); 
 | 
        //证件类型(参考字典) 
 | 
        String assigningAuthority = pid.getPid18_PatientAccountNumber().getAssigningAuthority().encode(); 
 | 
        //证件不详原因 
 | 
        HD assigningFacility = pid.getPid18_PatientAccountNumber().getAssigningFacility(); 
 | 
        //原因代码 
 | 
        String namespaceID = assigningFacility.getNamespaceID().encode(); 
 | 
        //原因名称 
 | 
        String universalID = assigningFacility.getUniversalID().encode(); 
 | 
  
 | 
        //身份证号 
 | 
        String SSNNumberPatient = pid.getPid19_SSNNumberPatient().encode(); 
 | 
  
 | 
        CX[] pid21_motherSIdentifier = pid.getPid21_MotherSIdentifier(); 
 | 
        for (CX cx : pid21_motherSIdentifier) { 
 | 
            //母亲住院 ID(门诊不填,住院必填) 
 | 
            String mqid = cx.getID().encode(); 
 | 
        } 
 | 
  
 | 
        //民族 
 | 
        CE[] pid22_ethnicGroup = pid.getPid22_EthnicGroup(); 
 | 
        String mztext = null; 
 | 
        for (CE ce : pid22_ethnicGroup) { 
 | 
            //民族 ID 
 | 
            String Identifier = ce.getIdentifier().encode(); 
 | 
            //民族名称 
 | 
            mztext = ce.getText().encode(); 
 | 
        } 
 | 
  
 | 
        //出生地 
 | 
        String encode = pid.getPid23_BirthPlace().encode(); 
 | 
  
 | 
        //职业 
 | 
        CE[] citizenship = pid.getPid26_Citizenship(); 
 | 
        for (CE ce : citizenship) { 
 | 
            //职业代码 
 | 
            String Identifier = ce.getIdentifier().encode(); 
 | 
            //职业名称 
 | 
            String zytext = ce.getText().encode(); 
 | 
        } 
 | 
  
 | 
        //国籍代码 
 | 
        String Identifier = pid.getPid28_Nationality().getIdentifier().encode(); 
 | 
        //国籍名称 
 | 
        String gjtext = pid.getPid28_Nationality().getText().encode(); 
 | 
  
 | 
        //死胎标志 默认是 0/空,1-死胎 
 | 
        String patientDeathIndicator = pid.getPid30_PatientDeathIndicator().encode(); 
 | 
  
 | 
        //黑名单病人 
 | 
        IS[] pid32_identityReliabilityCode = pid.getPid32_IdentityReliabilityCode(); 
 | 
  
 | 
        //患者属性 (参考字典) 
 | 
        //格式如:0101000 
 | 
        //说明:由多位组成,第一 
 | 
        //位表示属性 1 的值, 
 | 
        // 第二位表示属性 2 的值。 
 | 
        String hzIdentifier = pid.getPid38_ProductionClassCode().getIdentifier().encode(); 
 | 
  
 | 
        //-------------------------------------------------------------- 
 | 
        //解析 PV1(患者访问信息) 
 | 
        PV1 pv1 = (PV1) message.get("PV1"); 
 | 
  
 | 
        //挂号序号或住院次数 
 | 
        String xh = pv1.getPv11_SetIDPV1().encode(); 
 | 
  
 | 
        //患者分类   E:急诊; I:住院;    O:门诊;T:体检 
 | 
        String patientClass = pv1.getPv12_PatientClass().encode(); 
 | 
  
 | 
        //患者位置信息 
 | 
        PL pv13_assignedPatientLocation = pv1.getPv13_AssignedPatientLocation(); 
 | 
        //当前病区 
 | 
        String bq = pv13_assignedPatientLocation.getPointOfCare().encode(); 
 | 
        //当前病房 
 | 
        String room = pv13_assignedPatientLocation.getRoom().encode(); 
 | 
        //当前病床 
 | 
        String bad = pv13_assignedPatientLocation.getBed().encode(); 
 | 
        //当前科室 ID 
 | 
        String namespaceID1 = pv13_assignedPatientLocation.getFacility().getNamespaceID().encode(); 
 | 
        //当前科室名称 
 | 
        String ksuniversalID = pv13_assignedPatientLocation.getFacility().getUniversalID().encode(); 
 | 
        //当前床位名称 
 | 
        String locationStatus = pv13_assignedPatientLocation.getLocationStatus().encode(); 
 | 
        //当前病区名称 
 | 
        String personLocationType = pv13_assignedPatientLocation.getPersonLocationType().encode(); 
 | 
  
 | 
        //入院类型  R:常规  E:紧急  W:留观  其余见 HL7 约定 
 | 
        String admissionType = pv1.getPv14_AdmissionType().encode(); 
 | 
  
 | 
        //转前位置信息 
 | 
        //转前病区 
 | 
        String pointOfCare = pv1.getPv16_PriorPatientLocation().getPointOfCare().encode(); 
 | 
        //转前病房 
 | 
        String room1 = pv1.getPv16_PriorPatientLocation().getRoom().encode(); 
 | 
        //转前病床 
 | 
        String bed = pv1.getPv16_PriorPatientLocation().getBed().encode(); 
 | 
        //转前科室 
 | 
        HD facility = pv1.getPv16_PriorPatientLocation().getFacility(); 
 | 
        //转前科室 ID 
 | 
        String namespaceID2 = facility.getNamespaceID().encode(); 
 | 
        //转前科室名称 
 | 
        String universalID1 = facility.getUniversalID().encode(); 
 | 
        //转前床位名称 
 | 
        String locationStatus1 = pv1.getPv16_PriorPatientLocation().getLocationStatus().encode(); 
 | 
        //转前病区名称 
 | 
        String personLocationType1 = pv1.getPv16_PriorPatientLocation().getPersonLocationType().encode(); 
 | 
  
 | 
        //门诊为就诊医生 
 | 
        XCN[] pv17_attendingDoctor = pv1.getPv17_AttendingDoctor(); 
 | 
        String IDNumber = null; 
 | 
        String givenName = null; 
 | 
        for (XCN xcn : pv17_attendingDoctor) { 
 | 
            //主治医生 ID 
 | 
            IDNumber = xcn.getIDNumber().encode(); 
 | 
            //主治医生姓名 
 | 
            givenName = xcn.getGivenName().encode(); 
 | 
            //医疗组信息 
 | 
            HD xcn14_assigningFacility = xcn.getXcn14_AssigningFacility(); 
 | 
            //医疗组名称 
 | 
            String universalID2 = xcn14_assigningFacility.getNamespaceID().encode(); 
 | 
            //收治医生 ID 
 | 
            String universalID3 = xcn14_assigningFacility.getUniversalID().encode(); 
 | 
        } 
 | 
  
 | 
        //挂号类别  1-普通;2-急诊  4-专家;6-老教授 
 | 
        String pv110_hospitalService = pv1.getPv110_HospitalService().encode(); 
 | 
  
 | 
        //预收入院检验标识  默认为空 0-否;1-是 
 | 
        String pv112_preadmitTestIndicator = pv1.getPv112_PreadmitTestIndicator().encode(); 
 | 
  
 | 
        //再次入院标志 默认为空, “R”表示再入院 
 | 
        String pv113_reAdmissionIndicator = pv1.getPv113_ReAdmissionIndicator().encode(); 
 | 
  
 | 
        //入院途径 
 | 
        String pv114_admitSource = pv1.getPv114_AdmitSource().encode(); 
 | 
  
 | 
        //入院医生 
 | 
        XCN[] pv117_admittingDoctor = pv1.getPv117_AdmittingDoctor(); 
 | 
        for (XCN xcn : pv117_admittingDoctor) { 
 | 
            //员工号 
 | 
            String idNumber = xcn.getIDNumber().encode(); 
 | 
            //姓名 
 | 
            String givenName2 = xcn.getGivenName().encode(); 
 | 
        } 
 | 
  
 | 
        //费用类别 
 | 
        String pv118_patientType = pv1.getPv118_PatientType().encode(); 
 | 
  
 | 
        //就诊 ID 或者患者住院 ID 
 | 
        String id1 = pv1.getPv119_VisitNumber().getID().encode(); 
 | 
  
 | 
        //优惠类别 
 | 
        FC[] pv120_financialClass = pv1.getPv120_FinancialClass(); 
 | 
        for (FC fc : pv120_financialClass) { 
 | 
            String financialClass = fc.getFinancialClass().encode(); 
 | 
        } 
 | 
  
 | 
        //费用性质 
 | 
        String pv121_chargePriceIndicator = pv1.getPv121_ChargePriceIndicator().encode(); 
 | 
  
 | 
        //入科日期 
 | 
        DT[] pv125_contractEffectiveDate = pv1.getPv125_ContractEffectiveDate(); 
 | 
        Date date22 = null; // 解析为Date对象 
 | 
        if (pv125_contractEffectiveDate != null && pv125_contractEffectiveDate.length > 0) { 
 | 
            DT dt = pv125_contractEffectiveDate[0]; 
 | 
  
 | 
            SimpleDateFormat inputFormattt = new SimpleDateFormat("yyyyMMdd"); // 输入日期格式 
 | 
  
 | 
            try { 
 | 
                date22 = inputFormattt.parse(dt.encode()); 
 | 
            } catch (ParseException e) { 
 | 
                e.printStackTrace(); 
 | 
            } 
 | 
        } 
 | 
        SimpleDateFormat outputFormat2 = new SimpleDateFormat("yyyy-MM-dd"); // 输出日期格式 
 | 
        String rkdate = null; 
 | 
        if (date22 != null) rkdate = outputFormat2.format(date22); 
 | 
  
 | 
        //账户冻结建议 
 | 
        String pv128_interestCode = pv1.getPv128_InterestCode().encode(); 
 | 
  
 | 
        //欠费冻结标识  默认是 0/空  1:冻结;2:永不冻结 
 | 
        String pv129_transferToBadDebtCode = pv1.getPv129_TransferToBadDebtCode().encode(); 
 | 
  
 | 
        //冻结日期 
 | 
        String pv130_transferToBadDebtDate = pv1.getPv130_TransferToBadDebtDate().encode(); 
 | 
  
 | 
        //解冻日期 
 | 
        String pv135_deleteAccountDate = pv1.getPv135_DeleteAccountDate().encode(); 
 | 
  
 | 
        //离院去向/转归 
 | 
        String pv136_dischargeDisposition = pv1.getPv136_DischargeDisposition().encode(); 
 | 
  
 | 
        //离院去往位置 
 | 
        String pv137_dischargedToLocation = pv1.getPv137_DischargedToLocation().getDischargeLocation().encode(); 
 | 
  
 | 
        //饮食类型ID 
 | 
        String identifier1 = pv1.getPv138_DietType().getIdentifier().encode(); 
 | 
        //饮食类型名称 
 | 
        String text1 = pv1.getPv138_DietType().getText().encode(); 
 | 
  
 | 
        //挂号的上下午标志   0-上午;1-下午;2-晚上 
 | 
        String pv139_servicingFacility = pv1.getPv139_ServicingFacility().encode(); 
 | 
  
 | 
        //科室 ID^^^院区 ID 
 | 
        PL pv142_pendingLocation = pv1.getPv142_PendingLocation(); 
 | 
        //门诊就诊科室 ID 
 | 
        String mzpointOfCare = pv142_pendingLocation.getPointOfCare().encode(); 
 | 
        //住院院区 ID 
 | 
        String namespaceID3 = pv142_pendingLocation.getFacility().getNamespaceID().encode(); 
 | 
        //应用 ID 
 | 
        String universalIDType = pv142_pendingLocation.getFacility().getUniversalIDType().encode(); 
 | 
        //医疗机构代码 
 | 
        String personLocationType2 = pv142_pendingLocation.getPersonLocationType().encode(); 
 | 
        //医疗机构名称 
 | 
        String building = pv142_pendingLocation.getBuilding().encode(); 
 | 
  
 | 
        //就诊/住院时间 
 | 
        String pv144_admitDateTime = pv1.getPv144_AdmitDateTime().encode(); 
 | 
  
 | 
        //出院时间  A03 消息必填 
 | 
        TS[] pv145_dischargeDateTime = pv1.getPv145_DischargeDateTime(); 
 | 
        TS ts = null; 
 | 
        if (pv145_dischargeDateTime != null && pv145_dischargeDateTime.length > 0) { 
 | 
            ts = pv145_dischargeDateTime[0]; 
 | 
        } 
 | 
//        Date date2 = new Date(Long.valueOf(ts.encode())); 
 | 
//        SimpleDateFormat sdff = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
 | 
//        String dischargeDateTime = sdff.format(date2); 
 | 
  
 | 
        SimpleDateFormat inputFormat = new SimpleDateFormat("yyyyMMddHHmmss"); // 输入日期格式 
 | 
        Date date2 = null; // 解析为Date对象 
 | 
        try { 
 | 
            if (ObjectUtils.isNotEmpty(ts)) date2 = inputFormat.parse(ts.encode()); 
 | 
        } catch (ParseException e) { 
 | 
            e.printStackTrace(); 
 | 
        } 
 | 
        SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 输出日期格式 
 | 
        String dischargeDateTime = null; 
 | 
        if (date2 != null) dischargeDateTime = outputFormat.format(date2); 
 | 
  
 | 
        //访问标示 
 | 
        String visitIndicator = pv1.getPv151_VisitIndicator().encode(); 
 | 
  
 | 
        //操作人信息 
 | 
        XCN[] pv152_otherHealthcareProvider = pv1.getPv152_OtherHealthcareProvider(); 
 | 
        for (XCN xcn : pv152_otherHealthcareProvider) { 
 | 
            //员工号 
 | 
            String IDNumber2 = xcn.getIDNumber().encode(); 
 | 
            //姓名 
 | 
            String givenName3 = xcn.getGivenName().encode(); 
 | 
        } 
 | 
        //----------------------------- 
 | 
        PV2 pv2 = (PV2) message.get("PV2"); 
 | 
        //实际住院天数 
 | 
        String pv211_actualLengthOfInpatientStay = pv2.getPv211_ActualLengthOfInpatientStay().encode(); 
 | 
  
 | 
        //------------------------------------------ 
 | 
        Structure[] dg1s = message.getAll("DG1"); 
 | 
        String dg12_diagnosisCodingMethod = null; 
 | 
        String dg14_diagnosisDescription = null; 
 | 
        for (Structure structure : dg1s) { 
 | 
            DG1 dg11 = (DG1) structure; 
 | 
            //序号 
 | 
            String dg1xh = dg11.getDg11_SetIDDG1().encode(); 
 | 
            //诊断代码 
 | 
            dg12_diagnosisCodingMethod = dg11.getDg12_DiagnosisCodingMethod().encode(); 
 | 
            //诊断名称 
 | 
            dg14_diagnosisDescription = dg11.getDg14_DiagnosisDescription().encode(); 
 | 
            //诊断类型 
 | 
            String dg16_diagnosisType = dg11.getDg16_DiagnosisType().encode(); 
 | 
            System.out.println(dg11); 
 | 
  
 | 
        } 
 | 
  
 | 
        //数据入库 
 | 
        HospitalRecord hospitalRecord = new HospitalRecord(); 
 | 
        hospitalRecord.setCreateTime(new Date()); 
 | 
//        hospitalRecord.setPatientID(patientID); 
 | 
        hospitalRecord.setPatientID(id1); 
 | 
        hospitalRecord.setOpreationTime(new Date()); 
 | 
        //就诊号 
 | 
        hospitalRecord.setOutMedNO(id1); 
 | 
        //就诊类型描述(门诊、住院...) 
 | 
        hospitalRecord.setAdmTypeDesc(AdmTypeEnum.getDescByCode(patientClass)); 
 | 
        //IMP  住院 
 | 
        hospitalRecord.setAdmTypeCode("IMP"); 
 | 
        hospitalRecord.setAdmStatus("患者出院"); 
 | 
        //入院状态(就诊中、结束就诊...) 
 | 
        hospitalRecord.setEncOuthostype(LevelHospEnum.getDescByCode(pv136_dischargeDisposition)); 
 | 
        hospitalRecord.setAdmDate(dischargeDateTime); 
 | 
        hospitalRecord.setEncPatName(patientName); 
 | 
        if (StringUtils.isNotEmpty(xb)) { 
 | 
            hospitalRecord.setEncPatGender(xb.equals(1) ? "男" : "女"); 
 | 
        } 
 | 
        hospitalRecord.setEncPatBirthDate(birthdatTime); 
 | 
        //获取年龄 
 | 
        int currentYear = Year.now().getValue(); 
 | 
        Integer integer = Integer.valueOf(birthdatTime.substring(0, 4)); 
 | 
        Integer age = currentYear - integer; 
 | 
        hospitalRecord.setEncAgeValue(age.toString()); 
 | 
  
 | 
        //主治医生编号 
 | 
        hospitalRecord.setDirectorCode(IDNumber); 
 | 
        //主治医生姓名 
 | 
        hospitalRecord.setDirectorName(givenName); 
 | 
        hospitalRecord.setEncAdmLocCode(namespaceID1); 
 | 
        hospitalRecord.setEncAdmLocName(ksuniversalID); 
 | 
        hospitalRecord.setEncDiagnosisCode(dg12_diagnosisCodingMethod); 
 | 
        hospitalRecord.setEncDiagnosisDesc(dg14_diagnosisDescription); 
 | 
  
 | 
        List<Object> objectList = new ArrayList<>(); 
 | 
//        objectList.add(hospitalRecord); 
 | 
  
 | 
        HospitalUserinfo hospitalUserinfo = new HospitalUserinfo(); 
 | 
//        hospitalUserinfo.setCreateTime(null); 
 | 
//        hospitalUserinfo.setPatientID(patientID); 
 | 
        hospitalUserinfo.setPatientID(id1); 
 | 
        hospitalUserinfo.setRegDate(rkdate); 
 | 
        hospitalUserinfo.setIdentityID(SSNNumberPatient); 
 | 
        hospitalUserinfo.setPatName(patientName); 
 | 
        hospitalUserinfo.setPhone(phone); 
 | 
        if (StringUtils.isNotEmpty(xb)) { 
 | 
            hospitalUserinfo.setPatSex(xb.equals(1) ? "男" : "女"); 
 | 
        } 
 | 
        hospitalUserinfo.setBirthDate(birthdatTime); 
 | 
        hospitalUserinfo.setAddress(xxdzxx); 
 | 
        hospitalUserinfo.setAddProvince(province); 
 | 
        hospitalUserinfo.setAddCity(city); 
 | 
        hospitalUserinfo.setAddCounty(otherDesignation); 
 | 
        hospitalUserinfo.setAddTown(streetName); 
 | 
        hospitalUserinfo.setCountry(gjtext); 
 | 
        hospitalUserinfo.setNation(mztext); 
 | 
        hospitalUserinfo.setConPerPhone(phone); 
 | 
        hospitalUserinfo.setRegOrgDesc("义乌市第二人民医院"); 
 | 
        hospitalUserinfo.setEncAdmSource(AdmTypeEnum.getDescByCode(patientClass)); 
 | 
        objectList.add(hospitalRecord); 
 | 
        objectList.add(hospitalUserinfo); 
 | 
  
 | 
        return objectList; 
 | 
  
 | 
    } 
 | 
} 
 |