From 6fcbab8656f8d3c1b898ae5525d3b859371bf041 Mon Sep 17 00:00:00 2001 From: Natascha Date: Wed, 18 Nov 2015 12:01:14 +0100 Subject: [PATCH] pasrser p05 --- src/main/java/de/uniluebeck/mi/projmi6/HL7.java | 35 +++++++++++++++++-------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/src/main/java/de/uniluebeck/mi/projmi6/HL7.java b/src/main/java/de/uniluebeck/mi/projmi6/HL7.java index 0e30f21..f2c9a4a 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/HL7.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/HL7.java @@ -11,11 +11,13 @@ import ca.uhn.hl7v2.model.v251.message.ADT_A01; import ca.uhn.hl7v2.model.v251.message.BAR_P05; import ca.uhn.hl7v2.model.v251.segment.*; import ca.uhn.hl7v2.parser.Parser; +import de.uniluebeck.mi.projmi6.db.DBHandler; import de.uniluebeck.mi.projmi6.model.Diagnose; import de.uniluebeck.mi.projmi6.model.Fall; import de.uniluebeck.mi.projmi6.model.Patient; import java.io.IOException; +import java.sql.SQLException; import java.sql.Time; import java.time.LocalDate; import java.time.LocalDateTime; @@ -95,6 +97,10 @@ public class HL7 { } + public DG1 parseDiagnosen() { + + } + /** * gibt erzeugte hl7 Nachricht auf der Konsole aus (Kann nach Debug phase wieder geloescht werden) * @param msg @@ -111,26 +117,33 @@ public class HL7 { * * @param msg */ - public void parseMessage(Message msg) throws DataTypeException { + public void parseMessage(Message msg) throws DataTypeException, SQLException { if (msg instanceof BAR_P05) { BAR_P05 p05 = (BAR_P05) msg; - Patient patient = new Patient(); + EVN evnSegment = p05.getEVN(); + PID pidSegment = p05.getPID(); + DBHandler dh = new DBHandler(); + Patient patient =dh.getPatient(Integer.valueOf(pidSegment.getPid3_PatientIdentifierList(0).getIDNumber().getValue())); Fall fall = new Fall(); - EVN evnSegment = p05.getEVN (); LocalDateTime ldt = generateLocalDateTimeFromHl7(p05); patient.setBearbeitetDatumZeit(ldt); - //patient.setBearbeiter(evnSegment.getEvn5_OperatorID(0).getIDNumber()); - PID pidSegment = p05.getPID(); - patient.setPatID(Integer.valueOf(pidSegment.getPid3_PatientIdentifierList(0).getIDNumber().getValue()));//evt das 4. Segment + patient.setBearbeiter(Integer.valueOf(evnSegment.getEvn5_OperatorID(0).getIDNumber().getValue())); + + /** wenn ein neuer patient angelegt werden sollte patient.setNachname(pidSegment.getPid5_PatientName(0).getFamilyName().getName()); patient.setVorname(pidSegment.getPid5_PatientName(0).getGivenName().getValue()); ca.uhn.hl7v2.model.v251.datatype.DTM geburtsTag = pidSegment.getPid7_DateTimeOfBirth().getTime(); - LocalDate ld = LocalDate.of(geburtsTag.getYear(),geburtsTag.getMonth(),geburtsTag.getDay()); + LocalDate ld = LocalDate.of(geburtsTag.getYear(), geburtsTag.getMonth(), geburtsTag.getDay()); patient.setGeburtsdatum(ld); - // patient.setGeschlecht(pidSegment.getPid8_AdministrativeSex().getValue()); - - - + Patient.Geschlecht geschlecht = Patient.Geschlecht.parseStringFromHL7(pidSegment.getPid8_AdministrativeSex().getValue()); + patient.setGeschlecht(geschlecht); + patient.setStrasse(pidSegment.getPid11_PatientAddress(0).getStreetAddress().getStreetName().getValue()); + patient.setOrt(pidSegment.getPid11_PatientAddress(0).getCity().getValue()); + patient.setHausnummer(pidSegment.getPid11_PatientAddress(0).getStreetAddress().getDwellingNumber().getValue()); + patient.setTelefon(pidSegment.getPid13_PhoneNumberHome(0).getTelephoneNumber().getValue()); + Patient.Familienstand familienstand = pidSegment.getPid16_MaritalStatus().getAlternateText().getValue(); + patient.setFamilienstand(); + */ } }