From 1841a9ef1b97b7fd4f022271aeee13a01de66e27 Mon Sep 17 00:00:00 2001 From: Natascha Date: Thu, 19 Nov 2015 17:37:46 +0100 Subject: [PATCH] saveMessage in a file Diagnsen ersteinma rausgenommen --- src/main/java/de/uniluebeck/mi/projmi6/HL7.java | 55 +++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/src/main/java/de/uniluebeck/mi/projmi6/HL7.java b/src/main/java/de/uniluebeck/mi/projmi6/HL7.java index 2063cc3..ff047c2 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/HL7.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/HL7.java @@ -86,6 +86,10 @@ public class HL7 { pidSegment.getPid13_PhoneNumberHome (0).getTelephoneNumber ().setValue ( patient.getTelefon () ); pidSegment.getPid16_MaritalStatus ().getAlternateIdentifier ().setValue ( patient.getFamilienstand ().toString()); +<<<<<<< HEAD +======= + validateMessage(adt); +>>>>>>> a06bab3... saveMessage in a file Diagnsen ersteinma rausgenommen /* //Dg1 (Diagnosen) List dg1List = new ArrayList<> ( ); @@ -102,9 +106,14 @@ public class HL7 { */ //print generated message printXMLEncodedMessageADT(adt); +<<<<<<< HEAD +======= } +>>>>>>> a06bab3... saveMessage in a file Diagnsen ersteinma rausgenommen + + /** * gibt erzeugte hl7 Nachricht auf der Konsole aus (Kann nach Debug phase wieder geloescht werden) * @param msg @@ -130,8 +139,54 @@ public class HL7 { * * @param msg */ +<<<<<<< HEAD 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; + + 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(); + + LocalDateTime ldt = generateLocalDateTimeFromHl7(p05); + patient.setBearbeitetDatumZeit(ldt); + 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()); + patient.setGeburtsdatum(ld); + 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(); + */ + } +>>>>>>> a06bab3... saveMessage in a file Diagnsen ersteinma rausgenommen + } + + public void validateMessage(Message msg) { + HapiContext context = new DefaultHapiContext(); + context.setValidationContext(ValidationContextFactory.defaultValidation()); + PipeParser parser = context.getPipeParser(); + try { + parser.encode(msg); + } catch (HL7Exception e) { + System.out.println("invaid message!" +e); + } + } public LocalDateTime generateLocalDateTimeFromHl7(BAR_P05 msg) throws DataTypeException {