Преглед изворни кода

angefangen parser zu schreiben

hapi
taschi пре 10 година
родитељ
комит
513409d45b
1 измењених фајлова са 60 додато и 1 уклоњено
  1. +60
    -1
      src/main/java/de/uniluebeck/mi/projmi6/HL7.java

+ 60
- 1
src/main/java/de/uniluebeck/mi/projmi6/HL7.java Прегледај датотеку

@@ -1,12 +1,23 @@
package de.uniluebeck.mi.projmi6;

import ca.uhn.hl7v2.DefaultHapiContext;
import ca.uhn.hl7v2.HL7Exception;
import ca.uhn.hl7v2.HapiContext;
import ca.uhn.hl7v2.model.DataTypeException;
import ca.uhn.hl7v2.model.Message;
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.model.Diagnose;
import de.uniluebeck.mi.projmi6.model.Fall;
import de.uniluebeck.mi.projmi6.model.Patient;

import java.io.IOException;
import java.sql.Time;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.List;

@@ -23,7 +34,7 @@ public class HL7 {
* @param diagnosen Liste aller Nebendiagnosen momentan noch als einzelne Liste uebereben. eventuell die Nebendiagnosen direkt im Fall speichern?
* @throws Exception
*/
public void createMessageADTA01( Fall fall, List<Diagnose> diagnosen) throws Exception{
public void createMessageADTA01( Fall fall, List<Diagnose> diagnosen) throws HL7Exception, IOException {
Patient patient = fall.getPatient ();
ADT_A01 adt = new ADT_A01 ();

@@ -77,7 +88,55 @@ public class HL7 {
dg1Segment.getDg14_DiagnosisDescription ().setValue ( aDiagnosen.getFreiText () );
dg1List.add ( dg1Segment );
}
//print generated message
// printXMLEncodedMessageADT(adt);

}

/**
* gibt erzeugte hl7 Nachricht auf der Konsole aus (Kann nach Debug phase wieder geloescht werden)
* @param msg
* @throws HL7Exception
*/
public void printXMLEncodedMessageADT(Message msg) throws HL7Exception {
HapiContext context = new DefaultHapiContext ();
Parser parser = context.getXMLParser();
String encodedMessage = parser.encode (msg);
System.out.println (encodedMessage);
}

/**
*
* @param msg
*/
public void parseMessage(Message msg) throws DataTypeException {
if (msg instanceof BAR_P05) {
BAR_P05 p05 = (BAR_P05) msg;
Patient patient = new Patient();
Fall fall = new Fall();
EVN evnSegment = p05.getEVN ();



}
}

public LocalDateTime generateLocalDateTimeFromHl7(BAR_P05 msg) throws DataTypeException {
EVN evnSegment = msg.getEVN();

int stunden = evnSegment.getEvn2_RecordedDateTime ().getTime ().getHour ();
int minuten = evnSegment.getEvn2_RecordedDateTime ().getTime ().getMinute ();
int sekunden = evnSegment.getEvn2_RecordedDateTime ().getTime ().getSecond ();
int tag = evnSegment.getEvn2_RecordedDateTime ().getTime ().getDay ();
int monat = evnSegment.getEvn2_RecordedDateTime ().getTime ().getMonth ();
int jahr = evnSegment.getEvn2_RecordedDateTime ().getTime ().getYear ();
LocalTime bearbeitetZeit = LocalTime.of(stunden,minuten,sekunden);
LocalDate bearbeitetDate = LocalDate.of(jahr, monat, tag);
LocalDateTime ldt = LocalDateTime.of(bearbeitetDate, bearbeitetZeit);
return ldt;

}



}

Loading…
Откажи
Сачувај