Ich versuche, eine HL7-Nachricht in Java zu erstellen und dann die resultierende Nachricht zu drucken. Ich täusche grundlegende Patienteninformationen vor und füge dann die Arzneimittelverordnungsinformationen hinzu. Dann möchte ich die vollständige Nachricht drucken, aber ich konnte die API nicht korrekt verwenden. Ich bin neu in der Verwendung von HL7, also weiß ich, dass ich wahrscheinlich einige erforderliche Segmente vermisse und sogar die falschen benutze, kannst du bitte helfen? Dies ist mein aktueller Code:Erstellen Sie korrekte HL7-Nachricht mit RXO-Segment in Java
public RXO runDrugPrescriptionEvent(CMSGeneric cmsgen) {
CMSDrugPrescriptionEvent cmsic = (CMSDrugPrescriptionEvent) cmsgen;
ADT_A28 adt23 = new ADT_A28();
try {
adt23.initQuickstart("ADT", "A08", cmsic.getPDE_EVENT_ID());
// We set the sex identity (male or female)
if (cmsic.getBENE_SEX_IDENT_CD() == 1) {
adt23.getPID().getSex().setValue("Male");
}
else {
adt23.getPID().getSex().setValue("Female");
}
// We set a fake name and family name
adt23.getPID().insertPatientName(0).getGivenName().setValue("CMS Name " + MainTest.NEXT_PATIENT_ID);
adt23.getPID().insertPatientName(0).getFamilyName().setValue("CMS Family name " + MainTest.NEXT_PATIENT_ID);
MainTest.NEXT_PATIENT_ID++;
RXO rxo = new RXO(adt23, new DefaultModelClassFactory());
rxo.getRxo1_RequestedGiveCode().getCe1_Identifier().setValue("" + cmsic.getPDE_DRUG_CD());
rxo.getRxo18_RequestedGiveStrength().setValue("" + cmsic.getPDE_DRUG_STR_CD());
rxo.getRxo19_RequestedGiveStrengthUnits().getCe1_Identifier().setValue("" + cmsic.getPDE_DRUG_STR_UNITS());
rxo.getRxo5_RequestedDosageForm().getCe1_Identifier().setValue("" + cmsic.getPDE_DRUG_DOSE_CD());
rxo.getRxo11_RequestedDispenseAmount().setValue("" + cmsic.getPDE_DRUG_QTY_DIS());
HapiContext context = new DefaultHapiContext();
Parser parser = context.getPipeParser();
String encodedMessage = adt23.getParser().encode(rxo.getMessage());
logger.debug("Printing Message:");
logger.debug(encodedMessage);
return rxo;
} catch (IOException e) {
System.out.println("IOException creating HL7 message. " + e.getMessage());
e.printStackTrace();
} catch (HL7Exception e) {
System.out.println("HL7Exception creating HL7 message. " + e.getMessage());
e.printStackTrace();
}
return null;
}
Mit diesem Code druckt der Logger die folgende Meldung:
MSH |^~ \ & ||||| 20160331101349,8 + 0100 || ADT^A08 | 110001 | PDE-00001E6FADAD3F57 | 2.3 PID ||||| CMS Nachname 100 ~^CMS-Name 100 ||| weiblich
Aber ich erwartete das RXO Segment als auch zu sehen. Wie kann ich das erreichen?