HL7 v2.x Ingestion Tutorial - Smile CDR Documentation

HL7 v2.x Ingestion Tutorial

Smile CDR includes the ability to receive native HL7 v2.x messages, convert them into a FHIR transaction containing a number of appropriate FHIR resource types, and store those resources in the database.

This can be used, for example, to populate a Smile CDR instance in real-time, near real-time, or even by batch uploads using messages transmitted by an EHR/EMR system.

This is described further in the HL7 v2.x documentation. This page provides a quick taste of how this works.

Transmitting to Smile CDR

The primary use case for HL7 v2.x processing is to have an EHR/EMR transmit data in real-time or near real-time to Smile CDR. This is typically done using an interface engine, although direct connections are also possible.

To simulate this, several sample messages are shown below. In order to transmit these, you need a system that can transmit using MLLP (HL7 Minimal Lower Layer Protocol). One such tool is the HAPI TestPanel, which is a free tool for sending and receiving HL7 v2.x messages. Simply copy and paste a given message into TestPanel then transmit it to the appropriate address.

Configuring an HL7 v2.x endpoint is beyond the scope of this tutorial. However, we have provided the target URLs below. If you would like such an endpoint configured or if you would like instructions to do this yourself, please contact us.

– For the public test server, you would normally transmit to https://try.smilecdr.com:7000/.

– For a self-hosted instance, you would normally transmit to http://localhost:7000.

– For the could-hosted demo instance, you would normally transmit to something like https://example.smiledigitalhealth.com:7000/.

ORU (Observation Result) Messages

Smile CDR is able to receive and process ORU messages containing lab results, clinical notes, and other similar types of data.

The following is a sample ORU^R01 message that conforms to the Smile CDR HL7 v2.x specification: MSH|^~&|||||||ORU^R01^ORU_R01|A001|P|2.5

PID|||7000135^^^http://acme.org/mrns^MR~01238638267^^^http://acme.org/secondaryIds^SB\|\|Smith^John^Q^Jr^^^L\|\|19650322\|M\|\|\|342 Evergreen Terrace^2nd Floor^Springfield^NI^12345^USA^H||1(333)555-1234^PRN^PH||ENGLISH|I|UNKNOWN~AGNOSTIC^Agnostic^urn:test:source:religion|||||||||||||N

PV1||I|Acme Hospital^3rd Floor Room 124^6^^^^^^124 Bed 6^124 6&http://acme.org/beds\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|4736455^^^http://acme.org/visitNumbers^VN\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|20160122094430-0400\|20160122094431-0400

ORC|NW|12345^http://acme.org/diagnosticOrderIds\|\|\|\|\|\|\|\|\|\|777^Jones^Lisa^Frances^^^^^http://acme.org/clinicians\|\|\|20160210111213-0400

OBR||54321^http://acme.org/diagnosticResultIds\|\|5500-1^Blood Panel^http://acme.org/diagnosticResultCodes\|\|\|201602131000-0400\|201602131100-0400\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|F

OBX||NM|9477-3^Sodium (Plasma)^http://acme.org/observationCodes\|\|150\|mmol/L^mmol/Liter^http://unitsofmeasure.org\|0.2-333\|\|\|\|F

OBX||DT|3472-2^Fasting Date^http://acme.org/observationCodes\|\|20160213\|\|\|\|\|\|F\|\|\|20160101121314.1234-0400

NTE|||Comment Line 1~Comment Line 2

OBX||ST|17464-1^Text Comment^http://acme.org/observationCodes\|\|line 1~line 2

OBX||ST|17464-1^Text Comment^http://acme.org/observationCodes\|\|line 3~line 4

ADT (Admission/Discharge/Transfer) Messages

Smile CDR can also receive and process ADT messages. These will be mapped into an appropriate set of FHIR resources and stored in a similar manner to ORU messages.

The following is a sample ADT^A01 message that conforms to the Smile CDR HL7 v2.x specification: MSH|^~&|||||||ADT^A01^ADT_A01|A001|T|2.5

ROL||||777^Jones^Lisa^Frances^^^^^http://acme.org/clinicians\|\|\|\|\|\|\|123 Brewer Street^^Buffalo^NY^98765^USA^W|1(837)555-1978^WPN^PH

ROL|||ADM^admitter^http://hl7.org/fhir/v3/ParticipationType\|3622^Hawkins^Finnie^^^^^^http://acme.org/clinicians\|\|\|\|\|\|\|20 Canal St^^Buffalo^NY^98222^USA^W|1(837)555-2133^WPN^PH

ROL|||ATND^attender^http://hl7.org/fhir/v3/ParticipationType\|7452^May^Sadie^^^^^^http://acme.org/clinicians\|\|\|\|\|\|\|313 Fleet Street^^Cheektowaga^NY^28366^USA^W|1(837)555-6624^WPN^PH

IAM|||256259004^Pollen (Substance)^http://snomed.info/sct\|SV^^http://hl7.org/fhir/v2/0128\|Wheezing~Puking Guts Out||88344^http://acme.org/allergies\|\|\|\|\|\|20170204\|\|\|\|C^^http://hl7.org/fhir/v2/0438

OBX||NM|8302-2^Body Height^http://loinc.org\|\|51\|cm^cm^http://unitsofmeasure.org\|\|\|\|\|F\|\|\|201109031113-0400

OBX||NM|29463-7^Body Weight^http://loinc.org\|\|123.4\|kg^kg^http://unitsofmeasure.org\|\|\|\|\|F\|\|\|201109031113-0400

DG1|||193462001^Insomnia^http://snomed.info/sct

GT1||23323^^^http://acme.org/guarantors\|Smith^Fannie^Foo^Jr^^^L\|\|313 Fleet Street^^Cheektowaga^NY^28366^USA^W|1(333)555-1234^PRN^PH||19000102|M

IN1||449988^^http://acme.org/insurancePlanIds\|443322^^^http://acme.org/insurerIds\|InsurerCo\|342 Evergreen Terrace^2nd Floor^Springfield^NI^12345^USA^W|||||||||||Smith^John^Q^Jr^^^L

Custom Operations Tutorial

HL7 v2.x Ingestion Tutorial

Tutorials

Introduction Integration Testing Tutorial Custom Operations Tutorial HL7 v2.x Ingestion Tutorial Federated OAuth2/OIDC Tutorial MDM Tutorial MDM UI Tutorial MDM First Golden Resource Tutorial MDM Advanced Rule Authoring Tutorial MDM Web UI Admin Setup Tutorial CDA Import Tutorial CDA Export Tutorial CDA Export - Custom Narrative Generation Tutorial CDA Import JSON example CDA Export Template JSON example Consent Tutorial CMS-0057-F IG Setup Tutorial

Federated OAuth2/OIDC Tutorial