gpt4 book ai didi

java - 在 Java 中创建包含 RXO 段的正确 HL7 消息

转载 作者:行者123 更新时间:2023-11-30 07:29:37 25 4
gpt4 key购买 nike

我正在尝试用 Java 创建 HL7 消息,然后打印结果消息。我伪造了患者的基本信息,然后添加了药物处方信息。然后,我想打印完整的消息,但我无法正确使用 API。我是 HL7 的新手,所以我知道我可能缺少一些必需的段,甚至使用了错误的段,您能帮忙吗?这是我当前的代码:

    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;
}

使用此代码,记录器将打印以下消息:

MSH|^~\&|||||20160331101349.8+0100||ADT^A08|110001|PDE-00001E6FADAD3F57|2.3 PID|||||CMS Family name 100~^CMS Name 100|||Female

但我也期待看到 RXO 部分。我怎样才能实现这一目标?

最佳答案

我发现将消息类型从 ADT_A28 更改为 ORP_O10 将使我拥有所需的所有字段,因为 ADT_A28 不是适合我所需信息类型的消息。有一个完整的示例说明如何在此类消息中设置大量段here 。然后,我能够使用 PipeParser 打印完整的消息:

        HapiContext context = new DefaultHapiContext();
Parser parser = context.getPipeParser();
String encodedMessage = parser.encode(msg);
logger.debug("Printing EREncoded Message:");
logger.debug(encodedMessage);

关于java - 在 Java 中创建包含 RXO 段的正确 HL7 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36329277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com