处理 HL7 重新安排事件

Handling HL7 Reschedule events

我正在解析 HL7 并根据收到的消息填充外部日历。 不过,我仍然坚持重新安排消息。我如何从以下消息中判断该做什么?如果患者 X 有 2 个预订,并且想要 reschedule/cancel 其中一个,我怎么知道要更改哪一个 - 我在消息或 HL7 规范中看不到任何内容可以识别我应该更改哪个外部日历项目。我错过了什么?我希望有某种唯一的约会标识符。似乎有一个唯一的消息标识符,但这没有帮助,因为值会从消息更改为消息。

预订:

MSH|^~\&|RISNAME|MRUNIT|ExtCalendar|MRUNIT|20170125091951+1300||SIU^S12^SIU_S12|woYmjM|P|2.4|||AL|NE|AU|ASCII|ENG SCH|||||0^0|0|||||^^^20170125111500^20170125120000^R|||||||||||MRUNIT PID|1||AP859^^^RISNAME^ID|52^^^RISNAME^PI|Jobs^Melinda^^^Ms^^K||19820619+100|F|||||^^^^^^095273616|||||||||||||||||N PV1||O|OREF^^^OREF^^^^^OREF RGS|1 AIS|1||ANG^MRI Angiography^^MR|20170125111500||||||Booked AIL|1||MRI_3T^^^MRUNIT^^^^^3T|MRI||20170125111500

同一约会已重新安排到另一个时间和扫描仪:

MSH|^~\&|RISNAME|MRUNIT|ExtCalendar|MRUNIT|20170125092019+1300||SIU^S13^SIU_S12|LrnXDl|P|2.4|||AL|NE|AU|ASCII|ENG SCH|||||0^0|0|||||^^^20170125101500^20170125110000^R|||||||||||MRUNIT PID|1|| AP859^^^ RISNAME^ID|52^^^ RISNAME^PI|Jobs^Melinda^^^Ms^^K||19820619+1300|F|||||^^^^^^095273616|||||||||||||||||N PV1||O|OREF^^^OREF^^^^^OREF RGS|1 AIS|1||ANG^MRI Angiography^^MR|20170125101500||||||Booked AIL|1||MRI_1.5T^^^MRUNIT^^^^^MRI 1.5T|MRI||20170125101500

看起来示例消息是同一访问的 SIU^S12 和 SIU^S13。 MSH-9.2 中的此消息类型决定消息是用于安排新约会 (S12) 还是重新安排现有约会 (S13)。

根据我的经验,我在 SCH-1、SCH-2、SCH-24 或 PV1-19 中看到过约会的唯一 ID,但我确实觉得很奇怪,您没有获得任何唯一标识符。

一种替代方法是尝试根据患者人口统计、预约地点 (SCH-5) 和预约时间 (SCH-11) 将任何 SIU^S13 消息与外部日历中的现有预约相匹配。

SCH Segment specs

Timing Quantity Lookup Table

希望对您有所帮助