HL7格式如何处理ECG(数字)数据
HL7 格式是否能够存储(如果采用 XML)和构建在数字显示心电图机上生成的心电图数据?如果是,那么它是如何做到的。是原始图像数据 (BMP) 还是 XML 之类的标签?
欢迎任何帮助。
谢谢, 西比
Is HL7 format able to store(if in XML) and frame ECG data generated on a digital display ECG machine ? If yes, then how does it do it. Is it raw image data (BMP) or tags like XML ?
Any help welcome.
Thanks,
Xibee
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我参加聚会已经很晚了,但我会为未来的读者加分。
HL7(用于心电图)指定了在(例如)临床试验期间以 XML 格式保存心电图数据的特定格式。这种格式是 FDA 要求的(据我所知)。
有关如何实施的信息,请参阅此 pdf。请特别阅读第 34 页有关节点“sequenceSet”的信息,该节点包含要保存的 ECG 的各个导联。请注意,序列集/序列号一不包含原始数据,但用于确定如何解释未来序列!
这意味着如果您有常规 12 导联心电图,您的 xml 应包含 13 个序列。
心电图数据本身保存在每个序列的“数字”节点中。请注意,这些值应该是短值,并且应与所进行的测量的持续时间和频率相匹配:
10 秒测量、增量单位“s”和增量值“0.001”应产生每条导联 10,000 个数字。
I'm pretty late to the party but going to add my cents for future readers.
HL7 (for ecg) specifies a certain format in which to save ECG data during (for example) clinical trials in xml. This format is requested (AFAIK) by the FDA.
See this pdf on how to implement it. Read particularly page 34 about the node "sequenceSet" that contains the individual leads of the ECG you want to save. Note that sequenceSet/sequence number one does not contain your raw data but is used to determine how to interpret the future sequences!
That means if you have a regular 12 lead ECG, your xml should contain 13 sequences.
ECG Data themselfes are saved in the "digits" node of each sequence. Note that those should be short values and should match the duration and frequence of the measurement taken:
10 seconds measurment, increment unit "s" and increment value "0.001" should result in 10,000 digits per lead.
ECG 数据通常存储为原始波形样本(A/D 计数,可能在 OBX 段中),而不是图像。不过,没有真正的标准,因此每个供应商都会采取不同的做法。
ECG data is usually stored as raw waveform samples (A/D counts, probably in OBX segments), not images. There's no real standard, though, so each vendor will do it differently.
我假设您使用的是 HL7 2.x,因为 3.x 基于 XML,如果您使用 3.x,您就不应该有这个问题。
HL7 2.x 中没有足够大的字段来容纳 xml。检查你的消息结构是否有OBX或NTE段,你可以在obx-5或NTE中放入大量文本。也就是说,不超过消息接收者的限制。如果文本超出消息接收者设置的大小限制,您可以添加多个 OBX/NTE 段。
您需要对 XML 中的所有 HL7 控制字符进行转义,就像对任何其他文本字段所做的那样。然而,如何转义控制字符取决于您的界面合作伙伴。我没有与遵循标准转义顺序的伙伴合作的经验。
您可以对任何类型的二进制数据进行 Base-64 编码。
I am assuming you are using HL7 2.x since 3.x is based on XML and you should not have the question if you are using 3.x.
There aren't a lot of fields that are large enough to hold xml in HL7 2.x. Check if your message structure has OBX or NTE segment, you can put a lot of text in obx-5 or NTE. That is, up to your message receiver's limits. You can add multiple OBX/NTE segments if the text exceeds the size limit set by your message receiver.
You need to escape any HL7 control characters in your XML like you do for any other text field. However how to escape the control characters are up to your interface partner. I do not have experience with partners who follow the standard escape sequence.
You can base-64 encode any kind of binary data.
ECG 图像可以通过 DICOM 交换。这实际上取决于心电图机及其支持的格式。 HL7 并不完全用于此目的,但正如前面提到的,您可以对任何内容进行 Base64 处理并保留在 HL7 段中。
Mirth,一个强大的开源 HL7 接口引擎,通过 dcm4che:
ECG images can be exchanged via DICOM. It really depends on the ECG machine, and which formats it supports. HL7 is not exactly intended for this purpose, but as mentioned you can base64 anything and stick in in a HL7 segment.
Mirth, a powerful open source HL7 interface engine, supports DICOM via dcm4che:
您可以在 HL7 消息上放置任何类型的数据,HL7 v2.x (ER7) 或 v3 (XML)。
You can put any type of data on HL7 messages, either HL7 v2.x (ER7) or v3 (XML).