56.3. 使用 HAPI 的 HL7v2 Model
HL7v2 模型使用 HAPI 库中的 Java 对象。使用这个库,您可以从大多用于 HL7v2 的 EDI 格式(ER7)进行编码和解码。
以下示例是查找使用查询 ID 为 0101701234
的请求。
MSH|^~\\&|MYSENDER|MYRECEIVER|MYAPPLICATION||200612211200||QRY^A19|1234|P|2.4 QRD|200612211200|R|I|GetPatient|||1^RD|0101701234|DEM||
使用 HL7 模型,您可以处理 ca.uhn.hl7v2.model.Message
对象,如检索一个患者 ID:
Message msg = exchange.getIn().getBody(Message.class); QRD qrd = (QRD)msg.get("QRD"); String patientId = qrd.getWhoSubjectFilter(0).getIDNumber().getValue(); // 0101701234
当与 HL7 侦听器结合使用时,这很强大,因为您不必使用 字节[]
、String
或任何其他简单对象格式。您只需使用 HAPI HL7v2 模型对象。如果您知道消息类型,您可以更 type-safe:
QRY_A19 msg = exchange.getIn().getBody(QRY_A19.class); String patientId = msg.getQRD().getWhoSubjectFilter(0).getIDNumber().getValue();