python - 如何将 OBR 添加到 HL7 消息中?

标签 python hl7 hl7-v2 hl7-v3

我正在尝试使用 Python 库 hl7apy 生成 HL7 消息,但是生成 HL7 消息时,它不会在输出中给出 OBR 段,请尝试解决此查询。

代码是

from hl7apy import core
hl7 = core.Message("ORM_O01")
hl7.msh.msh_3 = "SendingApp"
hl7.msh.msh_4 = "SendingFac"
hl7.msh.msh_5 = "ReceivingApp"
hl7.msh.msh_6 = "ReceivingFac"
hl7.msh.msh_9 = "ORM^O01^ORM_O01"
hl7.msh.msh_10 = "168715"
hl7.msh.msh_11 = "P"

# PID
hl7.add_group("ORM_O01_PATIENT")
hl7.ORM_O01_PATIENT.pid.pid_2 = "1"
hl7.ORM_O01_PATIENT.pid.pid_3 = "A-10001"
hl7.ORM_O01_PATIENT.pid.pid_5 = "B-10001"
hl7.ORM_O01_PATIENT.pid.pid_6 = "DOE^JOHN"

# ORC
hl7.ORM_O01_ORDER.orc.orc_1 = "1"
hl7.ORM_O01_ORDER.ORC.orc_10 = "20150414120000"

# OBR
# We must explicitly add the OBR segment, then populate fields
hl7.ORM_O01_ORDER.ORM_O01_ORDER_DETAIL.ORM_O01_OBSERVATION.ORM_O01_ORDER_CHOICE.add_segment("OBR")
hl7.ORM_O01_ORDER.ORM_O01_ORDER_DETAIL.ORM_O01_OBSERVATION.ORM_O01_ORDER_CHOICE.OBR.obr_2 = "1"
hl7.ORM_O01_ORDER.ORM_O01_ORDER_DETAIL.ORM_O01_OBSERVATION.ORM_O01_ORDER_CHOICE.OBR.obr_3 = "2"
hl7.ORM_O01_ORDER.ORM_O01_ORDER_DETAIL.ORM_O01_OBSERVATION.ORM_O01_ORDER_CHOICE.OBR.obr_4 = "1100"

assert hl7.validate() is True

print "\n Validate HL7 Message: ", hl7.validate()

print "\n\n HL7 Message : \n\n", hl7.value
print "\n\n"
# Returns True

最佳答案

您应该在添加和填充 OBR 段之前添加 OrderDetailGroup。

关于python - 如何将 OBR 添加到 HL7 消息中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38567996/

相关文章:

python - 为什么密度直方图在 y 轴上显示有点奇怪的值?

java - 如何使用 addForcedEncode 写入 MSH 和 MSA 消息的所有字段(甚至为空)

xml - 将 HL7 段转换为 XML

hl7 - HL7 V2 中的段顺序是否重要?

hl7 - ORU^R01 - 版本 2.2 和 2.3(无法从字段 5 中获取重复 2 - 最大重复次数仅为 1 次。: segment: obx (rep 0) field 5)

sql - HL7 v2X 和 v3 数据建模

python - 为什么 inspect.getfile 会给我一个不存在的文件?

python - 将自定义字段添加到 logstash

java - 使用 Hapi Fhir 创建高级 HL7 消息

python - 如何计算 pandas 工作日的使用情况