I've been doing some HL7 work on iOS and although I have nothing specific for
WebObjects, here are some comments and resources you might find helpful.
- welcome to ACRONYM HELL If you thought programmers were bad for their own
terminology, you have not seen anything. Health Informatics (HI) is absolutely
awash in crazy terminology. You may want to start a personal reference doc to
stick definitions and notes.
- the HL7 v3 standard is a large rambling mess (IMO) and many node definitions
can conflict with others within the same document! For example, it is possible
to have a node like <person> defined several times within the same document,
but with different structure. Or it can have the same concept like person but
create nodes named <person1> <person2> ... <person12> each can have different
structures.
- HL7 v2 is NOT XML. This is important because the majority of existing
systems are v2. Even the newer variations like CDA or XDS often have HL7 v2
content embedded as values. Here is an example
<rim:ExternalIdentifier
id="urn:uuid:9df60c92-2d25-49dd-a1d0-595bd002e37e"
lid="urn:uuid:9df60c92-2d25-49dd-a1d0-595bd002e37e"
registryObject="urn:uuid:5aa6ac81-cd1f-4725-8cf5-14bb740ef2e3"
identificationScheme="urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427"
value="100000001^^^&1.2.8.26224.2012.4.5&ISO">
<rim:Name>
<rim:LocalizedString value="XDSDocumentEntry.patientId"/>
</rim:Name>
<rim:VersionInfo versionName="1.1"/>
</rim:ExternalIdentifier>
- you will also need to understand the code systems and terminology. For
example
<patient1 classCode="PAT">
<id root="2.16.840.1.112882.2.122.1.1.5" extension="5298"/>
this is the patient identifier. The root attribute identified the
source and the extension identifies the value. You need to be able to
distinguish between a root that represents a Drivers License, vs a Hospital vs
an Insurance Carrier vs a Provincial Health Service .... or this
<relatedDocument typeCode="APND">
<parentDocument>
<id extension="C7F36C19-64F0-4a8d-859B-2404F07A2434"
root="2.16.840.1.113883.3.933"/>
<code code="34140-4"
codeSystem="2.16.840.1.113883.6.1"/>
So what is this related document? Thats easy :)
2.16.840.1.113883.6.1 = LOINC (Logical Observation Identifier Names
and Code)
34140-4 = Referral
No problem .. right. Its the referral request.
My suggestion is to stay VERY tightly focused on only the messages you must
support, and initially only on the PORTION of the message that you need.
Useful links
HL7.org
You might as well be confused by the vary source of the crazy :)
http://www.hl7.org/index.cfm
Terminology References
SNOMED-CT
http://en.wikipedia.org/wiki/SNOMED_CT
http://www.nlm.nih.gov/research/umls/Snomed/snomed_main.html
http://www.ihtsdo.org/snomed-ct/
Mohawk College
http://www.mohawkcollege.ca/about/research/marc.html
MARC-HI Everest Framework (Java reference framework HL7 v3)
http://te.marc-hi.ca/view.aspx?project=af66d54ed41e4ac18b44d0d3ca6cabf0
The OpenHealth Foundation
http://www.openehealth.org/display/OEHF/Foundation
Java IPF (Integration Platform Framework)
https://github.com/krasserm/ipf
Learn the RIM (Reference Information Model)
The RIM is the base building block for all the subsequent XML
structures. It's nasty :)
http://motorcycleguy.blogspot.ca/2010/04/quick-overview-of-ebxml-rim-objects-in.html
https://tl7.intelliware.ca/public/messages/dataTypes/index.faces
HAPI (v2 HL7 only????)
Opensource HL7 parser and Library, but as far as I know it is HL7 v2
ONLY
http://hl7api.sourceforge.net/
Test Level 7
This is the only test site for HL7 v3 I have found. It is not cheap
but the initial client registry search is free. Sorry, client registry may
not be correct terminology, the correct name is Find candidates query and the
HL7 message is PRPA_IN101103CA and the response is PRPA_IN101104CA
https://tl7.intelliware.ca/index.faces
http://i-proving.com/2010/12/13/hl7-message-processing-statistics/
Enjoy
David
---
David Aspinall
Senior IT Consultant
Global Village Consulting Inc.
E: [email protected]
P: 1-647-927-7442
Global Village Consulting ranks 76th in 24th annual PROFIT 200 ranking of
Canada’s Fastest-Growing Companies by PROFIT Magazine!
On 2012-06-07, at 9:35 AM, Paul Yu wrote:
> If HL7 is a markup language like HTML, XML, and others, than I would think
> using WO to create HL7 could just be putting the markup in the WO .html file
> and the generating the response as NSData and send it.
>
> Parsing HL7 would be you would take their HL7 java library and link it in and
> parse the HL7 documents that you receive with it.
>
> --
> Paul Yu
> Sent with Sparrow
>
> On Thursday, June 7, 2012 at 9:32 AM, Calven Eggert wrote:
>
>> I will be doing two things:
>>
>> 1) receiving HL7 messages and parsing the data
>> 2) creating and sending HL7 messages
>>
>>
>> On 2012-06-07, at 9:30 AM, Paul Yu wrote:
>>
>>> What are you trying to do with HL7?
>>>
>>> --
>>> Paul Yu
>>> Sent with Sparrow
>>>
>>> On Thursday, June 7, 2012 at 9:20 AM, Calven Eggert wrote:
>>>
>>>> Good morning,
>>>>
>>>> Anyone worked with HL7? Any advice using it with Webobjects?
>>>>
>>>> Calven
>>>>
>>>>
>>>> _______________________________________________
>>>> Do not post admin requests to the list. They will be ignored.
>>>> Webobjects-dev mailing list ([email protected])
>>>> Help/Unsubscribe/Update your Subscription:
>>>> https://lists.apple.com/mailman/options/webobjects-dev/pyu%40mac.com
>>>>
>>>> This email sent to [email protected]
>>>
>>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list ([email protected])
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/daspinall%40global-village.net
>
> This email sent to [email protected]
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]