kuang oon wrote:
>
> > Hi Andrew,
> Is it possible for you to parse a complete message such as the
> above, line by line into English?
>>
Sure Kuang,
Each line is a segment and First 3 letters are the Segment Type
Each Field is separated by "|" and it has components separated by "^"
and each components possible has subcomponents separated by "&" each
field can possibly repeat and each repeat is separated by "~" If you
need to use these values you can escape them with the escape character "\"
Common segments are
eg MSH, PID, PV1, ORC, OBR, OBX
Segments are separated by CR (#13) all newlines in text etc are escaped
with "/.br/"
at the start of the message it tells you the separators used in the
message ie "MSH|^~\&|"
There are standard data types used in fields eg
XPN - Person Name
XCN - Person name with ID eg Provider number
ST - String
FT - FreeText
NM - Numeric
HD - Identifier
EI - Entity Identifier
CE - Coded Entry eg for Loinc/Snomed/Docle code
XAD - Address
XPN - Phone number/Email address ect
While message has a flat structure when transmitted it is actually a
tree structure eg OBR owns the OBX segments that follow it. To know this
its back to RTFM.
>> eg: A simple Message:
>>
>> MSH|^~\&|TEST^TESTAPP^L|Buderim GE
>> Centre^7C3E3681-91F6-11D2-8F2C-444553540000^GUID|||20040410141133||ORU^R01...
>>
MSH = Message Header, tells you application the generated it "TEST APP",
The organisation, "Buderim GE Centre" And the message date 10/4/2004 and
the message type "ORU R01" which is a standard report message.
>> PID|1||||PATIENT^Test^^^^^^L||20000101||||139 King
>> Street^^BUDERIM^QLD^4556^AU^C|AU
PID = "Patient Information Details" in this case a test patient DOB
1/1/2000 who lives at Medical Objects support Centre
>> PV1|1|O||||||0341615J^WHITE^MELISSA^^^DR^^^AUSHICPR^L^^^UPIN|0341615J^WHITE^MELISSA^^^DR^^^AUSHICPR^L^^^UPIN|||||||N
>>
PV1 = "Patient Visit Information" O = Outpatient referring doctor (field
8) was Melissa White and the target of this delivery (Field 9) was also
Melissa White Providers use the XCN data type with Provider number.
"UPIN" means Unique Provider Identifier Number The ID was assigned by
the HIC ("AUSHICPR")
>> ORC|CE||F71DEE61-D19E-4571-AF7B-BF8C74597CAB^Buderim GE
>> Centre^7C3E3681-91F6-11D2-8F2C-444553540000^GUID||CM|||||||0341615J^WHITE^MELISSA^^^DR^^^AUSHICPR^L^UPIN^^UPIN
>>
ORC = Order Segment "RE" means this is a "response or report" and not
an order ("NW") The First GUID is the report ID and that is linked to
the organisation that wrote the report, which is Buderim GE Centre,
There is no order number in this case and Melissa ordered the report ie
self generated.
>> OBR|1||F71DEE61-D19E-4571-AF7B-BF8C74597CAB^Buderim GE Centre^7C3...
OBR = "Observation Report Header" The report Identifier is repeated,
will also have copy doctors and report name along with date of
investigation and release date, along with author etc. Over 30 fields in
OBR. This has been trimmed.
>> OBX|1|FT|28655-9^^LN||This a simple \H\Test Message\N\ To demonstrate
>> signing a...
OBX = "Observation Line item", in this case its Free Text "FT" \H\ is
highlight and \N\ is normal text, the 18655-9^^LN is the loinc code to
indicate this is a comment
>> OBX|2|SN|5048-4^ANA titre^LN||<^40|titre|||||F
>>
Another line item, in this case its a "SN" for structured numeric and
the value is <40. The LOINC code identifies the value ie an ANA Titre
and the "F" indicates this is a final result.
That completes HL7 101
Andrew McIntyre
_______________________________________________
Gpcg_talk mailing list
[email protected]
http://ozdocit.org/cgi-bin/mailman/listinfo/gpcg_talk