HL7

From BC$ MobileTV Wiki
Jump to: navigation, search

Health Level 7 (HL7) is a global data standard for Healthcare and the wider Medical & Pharmaceutical Industries designed for messaging between EHRs, Patient Record Systems, Drug Information Systems. The name HL7 comes from the fact that the standard is based on the 7-Layer ISO Model, and that the messaging is meant to take place strictly at the seventh layer, Application-layer, in order to ensure all messaging occurs within the software size not elsewhere in the infrastructure.[1]

In Canada in particular, HL7 v3.x is now replacing any legacy pan–Canadian Electronic Drug Messaging Standard (CeRx) and National Electronic Claims Messaging STandard (NeCST) systems. Rx is the abbreviation commonly used by physicians to represent a Drug, Dosage or simply as a symbol for a Pharmacy (though it has no quantifiable unit or measurable value).

CeRx is now becoming a customized HL7 3.x-compatible messaging standard, that encourages but does not mandate the use of SNOMED CT for medical terminology and vocabulary.



Specifications


HL7 Messages

2.x

HL7 v2.x was a basic TSV format for delimiting separate fields of basic patient and clinical data including address, phone number, patient name, date of birth, treatments and diagnosis. It is still in wide use but is being phased out, due to its incompleteness, the difficulty of parsing TSV where some data is missing or optional, and the lack of extensibility to support other types of patient, clinical, provider or event data.

The following is a basic example of HL7 v2.x:

MSH|^~\&|EPIC|EPICADT|SMS|SMSADT|199912271408|CHARRIS|ADT^A04|1817457|D|2.5|
PID||0493575^^^2^ID 1|454721||DOE^JOHN^^^^|DOE^JOHN^^^^|19480203|M||B|254 MYSTREET AVE^^MYTOWN^OH^44123^USA||(216)123-4567|||M|NON|400003403~1129086|
NK1||ROE^MARIE^^^^|SPO||(216)123-4567||EC|||||||||||||||||||||||||||
PV1||O|168 ~219~C~PMA^^^^^^^^^||||277^ALLEN MYLASTNAME^BONNIE^^^^|||||||||| ||2688684|||||||||||||||||||||||||199912271408||||||002376853

[5]


The following is a more complex example of v2.x with all fields filled in:

MSH|^~\\&|HIS|RIH|EKG|EKG|199904140038||ADT^A01|12345|P|2.2103
PID|0001|00009874|00001122|A00977|SMITH^JOHN^M|MOM|19581119|F|NOTREAL^LINDA^M|C|564 SPRING ST^^NEEDHAM^MA^02494^US|0002|(818)565-1551|(425)828-3344|E|S|C|0000444444|252-00-4414||||SA|||SA||||NONE|V1|0001|I|D.ER^50A^M110^01|ER|P00055|11B^M011^02|070615^BATMAN^GEORGE^L|555888^NOTREAL^BOB^K^DR^MD|777889^NOTREAL^SAM^T^DR^MD^PHD|ER|D.WT^1A^M010^01|||ER|AMB|02|070615^NOTREAL^BILL^L|ER|000001916994|D||||||||||||||||GDD|WA|NORM|02|O|02|E.IN^02D^M090^01|E.IN^01D^M080^01|199904072124|199904101200|199904101200||||5555112333|||666097^NOTREAL^MANNY^P
104
NK1|0222555|NOTREAL^JAMES^R|FA|STREET^OTHER STREET^CITY^ST^55566|(222)111-3333|(888)999-0000|||||||ORGANIZATION 105PV1|0001|I|D.ER^1F^M950^01|ER|P000998|11B^M011^02|070615^BATMAN^GEORGE^L|555888^OKNEL^BOB^K^DR^MD|777889^NOTREAL^SAM^T^DR^MD^PHD|ER|D.WT^1A^M010^01|||ER|AMB|02|070615^VOICE^BILL^L|ER|000001916994|D||||||||||||||||GDD|WA|NORM|02|O|02|E.IN^02D^M090^01|E.IN^01D^M080^01|199904072124|199904101200|||||5555112333|||666097^DNOTREAL^MANNY^P
106
PV2|||0112^TESTING|55555^PATIENT IS NORMAL|NONE|||19990225|19990226|1|1|TESTING|555888^NOTREAL^BOB^K^DR^MD||||||||||PROD^003^099|02|ER||NONE|19990225|19990223|19990316|NONE\r"
107
AL1||SEV|001^POLLEN
108
GT1||0222PL|NOTREAL^BOB^B||STREET^OTHER STREET^CITY^ST^77787|(444)999-3333|(222)777-5555||||MO|111-33-5555||||NOTREAL GILL N|STREET^OTHER STREET^CITY^ST^99999|(111)222-3333
109
IN1||022254P|4558PD|BLUE CROSS|STREET^OTHER STREET^CITY^ST^00990||(333)333-6666||221K|LENIX|||19980515|19990515|||PATIENT01 TEST D||||||||||||||||||02LL|022LP554

[6]


3.x

The following is an example of HL7 v3.x's new experimental XML-based syntax:

  <?xml version="1.0" encoding="utf-8" standalone="no"?>
       <Message xmlns="urn:hl7-org:v3" 
          xmlns:xsi="http://www.w3.org/2002/XMLSchema-instance" 
          xsi:schemaLocation="urn:hl7-org:v3/MCCI_MT000101 
             MCCI_MT000101.xsd">
          <id root="2.16.840.1.113883.1122" extension="CNTRL-3456"/>
          <creation_time value="2002-08-16T14:30:35.16-06:00"/>
          <version_id>3.0</version_id>
          <interaction_id root="2.16.840.1.113883" 
             extension="POLB_IN004410"/>
                   Notification  (POLB_IN004410) source=ORU^R01-->
  <processingCode code="P"/>
  <processingModeCode code="I"/>
  <acceptAckCode code="ER"/>
  <applicationAckCode code="ER"/>
           <communicationFunctionRsp>
             <type_cd code="RSP"/>
             <telecom use="WP" url="555-555-5555"/>
             <servedBy>
                <nm xsi:type="dt:PN">
                   <dt:family>Hippocrates</dt:family>
                   <dt:given>Harold</dt:given>
                   <dt:given>H</dt:given>
                   <dt:suffix qualifier="AC">MD</dt:suffix>
                </nm>
                <telecom use="WP" url="555-555-5555"/>
             </servedBy>
          </executedByRespondToOrg>
          <executedBySendApp>
             <type_cd code="SND"/>
             <telecom value="127.127.127.255"/>
             <servedBy>
                <id extension="GHH LAB" root="2.16.840.1.113883.1122"/>
                <nm use="L">
                   <given>An Entity Name</given>
                </nm>
                <telecom value="555-555-2005" use="H"/>
                <agencyFor>
                   <representedOrganization>
                      <id nullFlavor="OTH"/>
                   </representedOrganization>
                </agencyFor>
                <presence>
                   <location>
                      <id root="2.16.840.1.113883.1122" 
                         extension="ELAB-3"/>
                      <nm xsi:type="dt:TN">GHH Lab</nm>
                   </location>
                </presence>
             </servedBy>
          </executedBySendApp>
          <executedByRcvApp>
             <type_cd code="RCV"/>
             <telecom value="127.127.127.0"/>
             <servedBy>
                <id root="2.16.840.1.113883.1122" 
                   extension="GHH OE"/>
                <nm use="L">
                   <given>An Entity Name</given>
                </nm>
                <telecom value="555-555-2005" use="H"/>
                <agencyFor>
                   <representedOrganization>
                      <id root="2.16.840.1.113883.19.3.1001"/>
                      <nm xsi:type="TN">GHH Outpatient Clinic</nm>
                   </representedOrganization>
                </agencyFor>
                <presence>
                   <location>
                      <id root="2.16.840.1.113883.1122" 
                         extension="BLDG4"/>
                      <nm xsi:type="TN">GHH Outpatient Clinic</nm>
                   </location>
                </presence>
             </servedBy>
          </executedByRcvApp>
          <has_payload_ControlActEvent xsi:type="MCAI_HD700200">
             ...
          </has_payload_ControlActEvent>
       </Message>                            

[7] [8]


FHIR 4.x

FHIR architecture

[9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25]





Tools


Resources


Tutorials


External Links


References

  1. HL7 FAQ: http://www.hl7.com.au/FAQ.htm#NameMeaning
  2. Are the Different Versions of HL7 V2.x Interoperable?: http://www.hl7.com.au/HL7-V2-Compatibility.htm
  3. HL7 v2.4: http://www.johner.org/fileadmin/vorlesungen/material/medinf/hl7v24-HTML/std24/ch06.htm
  4. HL7 v3 Datatypes: http://wiki.ihe.net/index.php?title=HL7_V3_Datatypes_Implementation_Notes
  5. Example HL7 Message for testing: http://www.interfaceware.com/example_hl7_message.html
  6. Send/Receive HL7 Message in Java (example): http://hl7api.sourceforge.net/xref/ca/uhn/hl7v2/examples/SendAndReceiveAMessage.html
  7. HL7 v3 what's new: http://www.interopsante.org/offres/file_inline_src/412/412_P_15660_85.pdf
  8. Sample HL7 2.x and 3.x Messages: http://www.xmlconverters.com/tutorials/sample-hl7-v2-and-v3-messages.html
  9. wikipedia: Fast Healthcare Interoperability Resources (FHIR)
  10. FHIR foundation: http://www.fhir.org/
  11. HAPI FHIR: https://hapifhir.io/ | DOCS (complete implementation of HL7 FHIR standard for healthcare interoperability in Java)
  12. FHIR .NET API: https://fire.ly/fhir-api/
  13. What NHS (UK) Digital is doing with FHIR: https://digital.nhs.uk/services/fhir-apis
  14. Advancing API and FHIR® in Health IT: Key Industry Efforts to Spread API and FHIR® Adoption Through a Collaborative Approach: https://www.healthit.gov/sites/default/files/page/2020-02/202001ONCFASTandCollabroativesPanelSlides.pdf
  15. Heat Wave: The U.S. is Poised to Catch FHIR in 2019: https://www.healthit.gov/buzz-blog/interoperability/heat-wave-the-u-s-is-poised-to-catch-fhir-in-2019
  16. HealthIT.gov (US) -- FHIR Fact Sheet: https://www.healthit.gov/topic/standards-technology/standards/fhir-fact-sheets
  17. FHIR®: Advancing Interoperability Standards in the API Economy: https://www.healthit.gov/sites/default/files/page/2020-03/FHIRAdvancingInteroperabilityStandardsintheAPI.pdf
  18. Patient-Reported Outcomes on FHIR®Three Real-World Implementations of the HL7® FHIR PRO Implementation Guide and Other Applications: https://www.healthit.gov/sites/default/files/page/2019-09/ONC_PRO_Webinar_Slides_FINAL.PDF
  19. Infoway (CANADA) -- FHIR - A next generation standards framework created by HL7: https://infocentral.infoway-inforoute.ca/en/standards/canadian/fhir
  20. Infoway (CANADA) -- FHIR - Terminology API: https://termapi.infoway-inforoute.ca/fhir/fhir-apidocs/v1/swagger-ui/
  21. Infoway (CANADA) -- FHIR - Canadian URI Registry: https://simplifier.net/canadianuriregistry
  22. Infoway (CANADA) -- FHIR - HAPI FHIR: https://infocentral.infoway-inforoute.ca/en/tools/developer-tools/hapi-fhir
  23. Infoway (CANADA) -- FHIR - Canadian FHIR Registry: https://infocentral.infoway-inforoute.ca/en/tools/developer-tools/canadian-fhir-registry
  24. FHIR Uniform Resource Identifier (URI) : https://infocentral.infoway-inforoute.ca/en/tools/standards-tools/fhir-uri
  25. 4 Basics to Know about the Role of FHIR in Interoperability: https://healthitanalytics.com/news/4-basics-to-know-about-the-role-of-fhir-in-interoperability
  26. Implementing a Hl7 parser listener to java: http://stackoverflow.com/questions/8765703/implementing-a-hl7-parser-listener-to-java
  27. HL7 EXAMPLES (in Java): http://hl7api.sourceforge.net/devbyexample.html
  28. HL7 v3 XML parser in Java: http://www.hl7.org/documentcenter/public_temp_B09425DE-1C23-BA17-0CD6BE252D5CE703/wg/java/HL7-java.pdf
  29. python-hl7 -- Easy HL7 v2.x Parsing: http://python-hl7.readthedocs.org/en/latest/index.html#

See Also

Health | EHR | Biometrics | E-Learning