| @@ -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.message.BAR_P05; | ||||
| import ca.uhn.hl7v2.model.v251.segment.*; | import ca.uhn.hl7v2.model.v251.segment.*; | ||||
| import ca.uhn.hl7v2.parser.Parser; | 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.Diagnose; | ||||
| import de.uniluebeck.mi.projmi6.model.Fall; | import de.uniluebeck.mi.projmi6.model.Fall; | ||||
| import de.uniluebeck.mi.projmi6.model.Patient; | import de.uniluebeck.mi.projmi6.model.Patient; | ||||
| import java.io.IOException; | import java.io.IOException; | ||||
| import java.sql.SQLException; | |||||
| import java.sql.Time; | import java.sql.Time; | ||||
| import java.time.LocalDate; | import java.time.LocalDate; | ||||
| import java.time.LocalDateTime; | 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) | * gibt erzeugte hl7 Nachricht auf der Konsole aus (Kann nach Debug phase wieder geloescht werden) | ||||
| * @param msg | * @param msg | ||||
| @@ -111,26 +117,33 @@ public class HL7 { | |||||
| * | * | ||||
| * @param msg | * @param msg | ||||
| */ | */ | ||||
| public void parseMessage(Message msg) throws DataTypeException { | |||||
| public void parseMessage(Message msg) throws DataTypeException, SQLException { | |||||
| if (msg instanceof BAR_P05) { | if (msg instanceof BAR_P05) { | ||||
| BAR_P05 p05 = (BAR_P05) msg; | 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(); | Fall fall = new Fall(); | ||||
| EVN evnSegment = p05.getEVN (); | |||||
| LocalDateTime ldt = generateLocalDateTimeFromHl7(p05); | LocalDateTime ldt = generateLocalDateTimeFromHl7(p05); | ||||
| patient.setBearbeitetDatumZeit(ldt); | 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.setNachname(pidSegment.getPid5_PatientName(0).getFamilyName().getName()); | ||||
| patient.setVorname(pidSegment.getPid5_PatientName(0).getGivenName().getValue()); | patient.setVorname(pidSegment.getPid5_PatientName(0).getGivenName().getValue()); | ||||
| ca.uhn.hl7v2.model.v251.datatype.DTM geburtsTag = pidSegment.getPid7_DateTimeOfBirth().getTime(); | 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.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(); | |||||
| */ | |||||
| } | } | ||||
| } | } | ||||