| @@ -5,10 +5,7 @@ import ca.uhn.hl7v2.HL7Exception; | |||||
| import ca.uhn.hl7v2.HapiContext; | import ca.uhn.hl7v2.HapiContext; | ||||
| import ca.uhn.hl7v2.model.Message; | import ca.uhn.hl7v2.model.Message; | ||||
| import ca.uhn.hl7v2.model.v251.message.ADT_A01; | 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.Parser; | ||||
| import ca.uhn.hl7v2.parser.PipeParser; | import ca.uhn.hl7v2.parser.PipeParser; | ||||
| import ca.uhn.hl7v2.validation.ValidationContext; | import ca.uhn.hl7v2.validation.ValidationContext; | ||||
| @@ -56,35 +53,40 @@ public class HL7Sender { | |||||
| //EVN Segment: | //EVN Segment: | ||||
| EVN evnSegment = adt.getEVN (); | EVN evnSegment = adt.getEVN (); | ||||
| evnSegment.getEvn1_EventTypeCode ().parse("A01"); | evnSegment.getEvn1_EventTypeCode ().parse("A01"); | ||||
| evnSegment.getEvn2_RecordedDateTime ().parse ( String.valueOf ( LocalDateTime.now () ) ); | |||||
| evnSegment.getEvn4_EventReasonCode ().parse ( "01" ); | evnSegment.getEvn4_EventReasonCode ().parse ( "01" ); | ||||
| //Operator ID | |||||
| //Event occured | |||||
| //PID | //PID | ||||
| PID pidSegment = adt.getPID (); | 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 | //Diagnosen | ||||
| List<Diagnose> diagnosen = getDiagnosenByFall ( fall ); | List<Diagnose> diagnosen = getDiagnosenByFall ( fall ); | ||||
| diagnosen.add(fall.getHauptDiagnose ()); | diagnosen.add(fall.getHauptDiagnose ()); | ||||
| PV1 pv1Segment = adt.getPV1 (); | |||||
| pv1Segment.getPv12_PatientClass ().parse ( "U" ); | |||||
| if(!diagnosen.isEmpty ()) { | if(!diagnosen.isEmpty ()) { | ||||
| int i =1; | |||||
| for (Diagnose diagnose : diagnosen) { | for (Diagnose diagnose : diagnosen) { | ||||
| DG1 dg1Segment = adt.getDG1 (); | DG1 dg1Segment = adt.getDG1 (); | ||||
| dg1Segment.getDg11_SetIDDG1 ().parse ( String.valueOf ( i ) ); | |||||
| dg1Segment.getDg13_DiagnosisCodeDG1 ().getIdentifier ().parse ( diagnose.getIcd10code ().getCode () ); | 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.getDg14_DiagnosisDescription ().parse ( diagnose.getFreiText () ); | ||||
| dg1Segment.getDg16_DiagnosisType ().parse ( diagnose.getDiagArt ().toString () ); | dg1Segment.getDg16_DiagnosisType ().parse ( diagnose.getDiagArt ().toString () ); | ||||
| adt.getDG1All ().add ( dg1Segment ); | adt.getDG1All ().add ( dg1Segment ); | ||||
| i++; | |||||
| //Segment 2 Verschluesselung ? | |||||
| } | } | ||||
| } | } | ||||