Browse Source

adt a01 um R felder erweitert

master
taschi 10 years ago
parent
commit
b5a865055b
1 changed files with 20 additions and 18 deletions
  1. +20
    -18
      src/main/java/de/uniluebeck/mi/projmi6/hapi/HL7Sender.java

+ 20
- 18
src/main/java/de/uniluebeck/mi/projmi6/hapi/HL7Sender.java View File

@@ -5,10 +5,7 @@ import ca.uhn.hl7v2.HL7Exception;
import ca.uhn.hl7v2.HapiContext;
import ca.uhn.hl7v2.model.Message;
import ca.uhn.hl7v2.model.v251.message.ADT_A01;
import ca.uhn.hl7v2.model.v251.segment.DG1;
import ca.uhn.hl7v2.model.v251.segment.EVN;
import ca.uhn.hl7v2.model.v251.segment.MSH;
import ca.uhn.hl7v2.model.v251.segment.PID;
import ca.uhn.hl7v2.model.v251.segment.*;
import ca.uhn.hl7v2.parser.Parser;
import ca.uhn.hl7v2.parser.PipeParser;
import ca.uhn.hl7v2.validation.ValidationContext;
@@ -56,35 +53,40 @@ public class HL7Sender {
//EVN Segment:
EVN evnSegment = adt.getEVN ();
evnSegment.getEvn1_EventTypeCode ().parse("A01");
evnSegment.getEvn2_RecordedDateTime ().parse ( String.valueOf ( LocalDateTime.now () ) );
evnSegment.getEvn4_EventReasonCode ().parse ( "01" );
//Operator ID
//Event occured

//PID
PID pidSegment = adt.getPID ();
pidSegment.getPid3_PatientIdentifierList (0).getIDNumber ().setValue ( Integer.toString(patient.getPatID ()) );
pidSegment.getPid5_PatientName (0).getFamilyName ().getSurname ().setValue ( patient.getNachname () );
pidSegment.getPid5_PatientName (0).getGivenName ().setValue ( patient.getVorname () );
pidSegment.getPid7_DateTimeOfBirth ().getTime ().setValue ( patient.getGeburtsdatum ().toString () );
pidSegment.getPid8_AdministrativeSex ().setValue ( patient.getGeschlecht ().toString () );
pidSegment.getPid11_PatientAddress (0).getStreetAddress ().getStreetName().setValue ( patient.getStrasse () );
pidSegment.getPid11_PatientAddress (0).getStreetAddress ().getDwellingNumber ( ).setValue ( patient.getHausnummer () );
pidSegment.getPid11_PatientAddress (0).getCity ().setValue (patient.getOrt () );
pidSegment.getPid13_PhoneNumberHome (0).getTelephoneNumber ().setValue ( patient.getTelefon () );
pidSegment.getPid16_MaritalStatus ().getAlternateIdentifier ().setValue ( patient.getFamilienstand ().toString());
pidSegment.getPid2_PatientID ().getIDNumber ().parse ( String.valueOf ( patient.getPatID () ) );
pidSegment.getPid3_PatientIdentifierList (0).getIDNumber ().parse ( Integer.toString(patient.getPatID ()) );
pidSegment.getPid5_PatientName (0).getFamilyName ().getSurname ().parse ( patient.getNachname () );
pidSegment.getPid5_PatientName (0).getGivenName ().parse ( patient.getVorname () );
pidSegment.getPid7_DateTimeOfBirth ().getTime ().parse( patient.getGeburtsdatum ().toString () );
pidSegment.getPid8_AdministrativeSex ().parse ( patient.getGeschlecht ().toString () );
pidSegment.getPid11_PatientAddress (0).getStreetAddress ().getStreetName().parse ( patient.getStrasse () );
pidSegment.getPid11_PatientAddress (0).getStreetAddress ().getDwellingNumber ( ).parse( patient.getHausnummer () );
pidSegment.getPid11_PatientAddress (0).getCity ().parse (patient.getOrt () );
pidSegment.getPid13_PhoneNumberHome (0).getTelephoneNumber ().parse ( patient.getTelefon () );
pidSegment.getPid16_MaritalStatus ().getAlternateIdentifier ().parse ( patient.getFamilienstand ().toString());

//Diagnosen
List<Diagnose> diagnosen = getDiagnosenByFall ( fall );
diagnosen.add(fall.getHauptDiagnose ());
PV1 pv1Segment = adt.getPV1 ();
pv1Segment.getPv12_PatientClass ().parse ( "U" );
if(!diagnosen.isEmpty ()) {
int i =1;
for (Diagnose diagnose : diagnosen) {
DG1 dg1Segment = adt.getDG1 ();
dg1Segment.getDg11_SetIDDG1 ().parse ( String.valueOf ( i ) );
dg1Segment.getDg13_DiagnosisCodeDG1 ().getIdentifier ().parse ( diagnose.getIcd10code ().getCode () );
dg1Segment.getDg16_DiagnosisType ().setValue ( String.valueOf ( diagnose.getIcd10code ().getVersion () ) );
dg1Segment.getDg116_DiagnosingClinician ()[0].parse ( diagnose.getArzt ().toString () );
dg1Segment.getDg116_DiagnosingClinician ()[0].parse ( diagnose.getArzt ().getEinweisenderArzt () );
dg1Segment.getDg14_DiagnosisDescription ().parse ( diagnose.getFreiText () );
dg1Segment.getDg16_DiagnosisType ().parse ( diagnose.getDiagArt ().toString () );
adt.getDG1All ().add ( dg1Segment );
i++;
//Segment 2 Verschluesselung ?
}
}



Loading…
Cancel
Save