| @@ -43,48 +43,49 @@ public class HL7Sender { | |||||
| //MSH Segment: | //MSH Segment: | ||||
| MSH msh = adt_a01.getMSH(); | MSH msh = adt_a01.getMSH(); | ||||
| msh.getMsh3_SendingApplication().getNamespaceID().parse("KISGruppe6"); | |||||
| msh.getMsh5_ReceivingApplication().getNamespaceID().parse("OPSGruppe3"); | |||||
| msh.getMsh15_AcceptAcknowledgmentType().parse("AL"); | |||||
| msh.getMsh3_SendingApplication().getNamespaceID().setValue("KISGruppe6"); | |||||
| msh.getMsh5_ReceivingApplication().getNamespaceID().setValue("OPSGruppe3"); | |||||
| msh.getMsh15_AcceptAcknowledgmentType().setValue("AL"); | |||||
| //EVN Segment: | //EVN Segment: | ||||
| EVN evn = adt_a01.getEVN(); | EVN evn = adt_a01.getEVN(); | ||||
| evn.getEvn1_EventTypeCode().parse("A01"); | |||||
| evn.getEvn1_EventTypeCode().setValue("A01"); | |||||
| evn.getEvn2_RecordedDateTime().getTime().setValue(msh.getDateTimeOfMessage().encode()); | evn.getEvn2_RecordedDateTime().getTime().setValue(msh.getDateTimeOfMessage().encode()); | ||||
| evn.getEvn4_EventReasonCode().parse("01"); | |||||
| evn.getEvn4_EventReasonCode().setValue("01"); | |||||
| //PID | //PID | ||||
| PID pid = adt_a01.getPID(); | PID pid = adt_a01.getPID(); | ||||
| pid.getPid1_SetIDPID().parse("1"); | |||||
| pid.getPid2_PatientID().getIDNumber().parse(String.valueOf(patient.getPatID())); | |||||
| pid.getPid3_PatientIdentifierList(0).getIDNumber().parse(Integer.toString(patient.getPatID())); | |||||
| pid.getPid5_PatientName(0).getFamilyName().getSurname().parse(patient.getNachname()); | |||||
| pid.getPid5_PatientName(0).getGivenName().parse(patient.getVorname()); | |||||
| pid.getPid1_SetIDPID().setValue("1"); | |||||
| pid.getPid2_PatientID().getIDNumber().setValue(String.valueOf(patient.getPatID())); | |||||
| pid.getPid3_PatientIdentifierList(0).getIDNumber().setValue(Integer.toString(patient.getPatID())); | |||||
| pid.getPid5_PatientName(0).getFamilyName().getSurname().setValue(patient.getNachname()); | |||||
| pid.getPid5_PatientName(0).getGivenName().setValue(patient.getVorname()); | |||||
| pid.getPid7_DateTimeOfBirth().getTime().setValue(Date.from(patient.getGeburtsdatum().atStartOfDay().atZone(ZoneId.systemDefault()).toInstant())); | pid.getPid7_DateTimeOfBirth().getTime().setValue(Date.from(patient.getGeburtsdatum().atStartOfDay().atZone(ZoneId.systemDefault()).toInstant())); | ||||
| pid.getPid8_AdministrativeSex().parse(String.valueOf(patient.getGeschlecht().id())); | |||||
| pid.getPid11_PatientAddress(0).getStreetAddress().getStreetName().parse(patient.getStrasse()); | |||||
| pid.getPid11_PatientAddress(0).getStreetAddress().getDwellingNumber().parse(patient.getHausnummer()); | |||||
| pid.getPid11_PatientAddress(0).getCity().parse(patient.getOrt()); | |||||
| pid.getPid11_PatientAddress(0).getZipOrPostalCode().parse(patient.getPlz()); | |||||
| pid.getPid13_PhoneNumberHome(0).getTelephoneNumber().parse(patient.getTelefon()); | |||||
| pid.getPid16_MaritalStatus().getAlternateIdentifier().parse(patient.getFamilienstand().toString()); | |||||
| pid.getPid8_AdministrativeSex().setValue(String.valueOf(patient.getGeschlecht().id())); | |||||
| pid.getPid11_PatientAddress(0).getStreetAddress().getStreetName().setValue(patient.getStrasse()); | |||||
| pid.getPid11_PatientAddress(0).getStreetAddress().getDwellingNumber().setValue(patient.getHausnummer()); | |||||
| pid.getPid11_PatientAddress(0).getCity().setValue(patient.getOrt()); | |||||
| pid.getPid11_PatientAddress(0).getZipOrPostalCode().setValue(patient.getPlz()); | |||||
| pid.getPid13_PhoneNumberHome(0).getTelephoneNumber().setValue(patient.getTelefon()); | |||||
| pid.getPid16_MaritalStatus().getAlternateIdentifier().setValue(patient.getFamilienstand().toString()); | |||||
| //Diagnosen (DG1 Segmente des PV1 Segments | //Diagnosen (DG1 Segmente des PV1 Segments | ||||
| List<Diagnose> diagnosen = DBHandler.getDiagnosenByFall(fall); | List<Diagnose> diagnosen = DBHandler.getDiagnosenByFall(fall); | ||||
| PV1 pv1 = adt_a01.getPV1(); | PV1 pv1 = adt_a01.getPV1(); | ||||
| pv1.getPv11_SetIDPV1().parse("1"); | |||||
| pv1.getPv12_PatientClass().parse("U"); | |||||
| pv1.getPv119_VisitNumber().getIDNumber().parse(String.valueOf(fall.getFallID())); | |||||
| pv1.getPv11_SetIDPV1().setValue("1"); | |||||
| pv1.getPv12_PatientClass().setValue("U"); | |||||
| pv1.getPv119_VisitNumber().getIDNumber().setValue(String.valueOf(fall.getFallID())); | |||||
| pv1.getPv144_AdmitDateTime().getTime().setValue(Date.from(fall.getAufnahmeDatum().atZone(ZoneId.systemDefault()).toInstant())); | |||||
| for (int i = 0; i < diagnosen.size(); i++) { | for (int i = 0; i < diagnosen.size(); i++) { | ||||
| Diagnose diagnose = diagnosen.get(i); | Diagnose diagnose = diagnosen.get(i); | ||||
| Mitarbeiter arzt = diagnose.getArzt(); | Mitarbeiter arzt = diagnose.getArzt(); | ||||
| DG1 dg1 = adt_a01.getDG1(i); | DG1 dg1 = adt_a01.getDG1(i); | ||||
| dg1.getDg11_SetIDDG1().setValue(String.valueOf(i + 1)); | dg1.getDg11_SetIDDG1().setValue(String.valueOf(i + 1)); | ||||
| dg1.getDg13_DiagnosisCodeDG1().getIdentifier().parse(diagnose.getIcd10code().getCode()); | |||||
| dg1.getDg13_DiagnosisCodeDG1().getNameOfCodingSystem().parse("I10"); | |||||
| dg1.getDg14_DiagnosisDescription().parse(diagnose.getFreiText()); | |||||
| dg1.getDg16_DiagnosisType().parse(diagnose.getDiagArt().id()); | |||||
| dg1.getDg13_DiagnosisCodeDG1().getIdentifier().setValue(diagnose.getIcd10code().getCode()); | |||||
| dg1.getDg13_DiagnosisCodeDG1().getNameOfCodingSystem().setValue("I10"); | |||||
| dg1.getDg14_DiagnosisDescription().setValue(diagnose.getFreiText()); | |||||
| dg1.getDg16_DiagnosisType().setValue(diagnose.getDiagArt().id()); | |||||
| XCN xcn = dg1.getDg116_DiagnosingClinician(0); | XCN xcn = dg1.getDg116_DiagnosingClinician(0); | ||||
| xcn.getIDNumber().setValue(arzt.getEinweisenderArzt()); | xcn.getIDNumber().setValue(arzt.getEinweisenderArzt()); | ||||
| xcn.getGivenName().setValue(arzt.getVorname()); | xcn.getGivenName().setValue(arzt.getVorname()); | ||||