| @@ -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(); | |||
| */ | |||
| } | |||
| } | |||