cpp11dev
cpp11dev

Reputation: 417

How does HL7 format process ECG (digital) data

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

Upvotes: 2

Views: 6890

Answers (5)

Pablo Pazos
Pablo Pazos

Reputation: 3216

You can put any type of data on HL7 messages, either HL7 v2.x (ER7) or v3 (XML).

Upvotes: 0

buddybubble
buddybubble

Reputation: 1319

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.

Upvotes: 7

Gabe
Gabe

Reputation: 86718

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.

Upvotes: 1

nathan_jr
nathan_jr

Reputation: 9282

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:

Upvotes: 0

Sheng Jiang 蒋晟
Sheng Jiang 蒋晟

Reputation: 15261

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.

Upvotes: 0

Related Questions