Healthwise by WebMD Ignite Patient Education EMR Module

EMR Version 2.0.179 | miewebchart | miewebchart.emr | 14.2


Patient Education Summary Message (Disposition)

The application supports the ability to add information to the patient record that captures which documents were given to the patient. This information is called the patient education summary. When a user prints documents, the application will either 1) show the summary on the screen that can be pasted into the patient record, or 2) send a message to a web service with the patient education summary.

This figure shows the message flow between a calling application (EHR) and the EMR Module :

In order to enable the application to send patient education summary messages (step 4), the following three integration tasks must be done :

Passing URL on Launch Request

The patient education summary message will be sent if a URL is passed into the launch message. If no URL is provided, no messages will be posted and the summary must be added to the EMR system manually by the clinician.

Attribute name Attribute value Comments
id.root 2.16.840.1.113883.3.342.1 Healthwise OID
id.extension https://webservice The URL of the web service receiving the message. Must be URL escaped. Note: when escaped, &hw.key=(application key) translates to %26hw.key%3d(application key) (in the example(s) below)

Full URL : /launch/index?id.root=2.16.840.1.113883.3.342.1&id.extension=https%3a%2f%2fwebservice&hw.key=(application key)

Secure URL : <a href="/launch/index?id.root=2.16.840.1.113883.3.342.1&id.extension=https%3a%2f%2fwebservice&hw.key=AECHY7SHQJ47ZLMIYLUEMADCM77TGNXIRPQFFY6SXTVTWWHQ72QQCH3QTIZPCCDHTHQFDX5ADWFFTC">/launch/index?id.root=2.16.840.1.113883.3.342.1&id.extension=https%3a%2f%2fwebservice&hw.key=(application key)</a>

Note that outgoing requests from the EMR Module hosted by Healthwise will by default only work with standard port numbers (80 for http and 443 for https). Using URLs with non-standard port numbers (e.g. https://some.hostname.com:4000/service) requires notifying Healthwise in order to work.

Patient Identification

It is up to the EMR application to determine what is necessary to identify a patient. A patient id could be used, or a temporary session id that maps to a patient. The healthwise application will persist any information sent as part of the launch request for the duration of the session, but not beyond that.

There are two basic ways an id can be passed to the application: it can passed in as part of the URL, or it can be passed into the recordtarget attribute.

Attribute name Attribute value Comments
id.root 2.16.840.1.113883.3.342.1
id.extension https://webservice/method?sessionid=x The URL contains a session or patient id. Must be URL escaped. Note: when escaped, sessionid%3dx translates to sessionid=x and &hw.key=(application key) translates to %26hw.key%3d(application key) (in the example(s) below)

Full URL : /launch/index?id.root=2.16.840.1.113883.3.342.1&id.extension=https%3a%2f%2fwebservice%2fmethod%3fsessionid%3dx&hw.key=(application key)

Secure URL : <a href="/launch/index?id.root=2.16.840.1.113883.3.342.1&id.extension=https%3a%2f%2fwebservice%2fmethod%3fsessionid%3dx&hw.key=AECHY7SHQJ47ZLMIYLUEMADCM77TGNXIRPQFFY6SXTVTWWHQ72QQCH3QTIZPCCDHTHQFDX5ADWFFTC">/launch/index?id.root=2.16.840.1.113883.3.342.1&id.extension=https%3a%2f%2fwebservice%2fmethod%3fsessionid%3dx&hw.key=(application key)</a>

Alternatively, patient or session information can be provided using the recordtarget attribute. This is a standard HL7 field. If a recordtarget is provided in the launch request, the record target information will be added to the patient education summary XML message. For example:

Attribute name Attribute value Comments
id.root 2.16.840.1.113883.3.342.1
id.extension https://webservice Must be URL escaped. Note: when escaped, &hw.key=(application key) translates to %26hw.key%3d(application key) (in the example(s) below)
recordTarget.patientRole.id 5434566 The id is set by the EMR

Full URL : /launch/index?id.root=2.16.840.1.113883.3.342.1&id.extension=https%3a%2f%2fwebservice&recordTarget.patientRole.id=5434566&hw.key=(application key)

Secure URL : <a href="/launch/index?id.root=2.16.840.1.113883.3.342.1&id.extension=https%3a%2f%2fwebservice&recordTarget.patientRole.id=5434566&hw.key=AECHY7SHQJ47ZLMIYLUEMADCM77TGNXIRPQFFY6SXTVTWWHQ72QQCH3QTIZPCCDHTHQFDX5ADWFFTC">/launch/index?id.root=2.16.840.1.113883.3.342.1&id.extension=https%3a%2f%2fwebservice&recordTarget.patientRole.id=5434566&hw.key=(application key)</a>

In this example, the patient summary message posted to the web service will contain the following node :

          <recordTarget>
            <v3:patientRole xmlns:v3="urn:hl7-org:v3">
              <v3:id>5434566</v3:id>
            </v3:patientRole>
          </recordTarget>
    

Patient Education Summary Message Format

The message will be sent using HTTP POST to the web service. The message is formatted as XML in HL7 CDA format. There is also a hash of this message send on the query string in the "hw.hash" key value this hash can be used to verify that the Patient Education Summary Message has not been tampered with in transit. The hashing algorithm used is SHA512 and the xml used is UTF8 Encoded. Below is an example of how to create the hash from the Patient EducationSummary Message:<br />public static string Create(string source) //Source is a string representation of the Patient Education Summary Message <br />{<br /> SHA512 sha512 = SHA512.Create();<br /> byte[] bytes = Encoding.UTF8.GetBytes(source.ToLower());<br /> return BitConverter.ToString(sha512.ComputeHash(bytes)).Replace("-", "");<br />}<br />Documentation about the message format can be found here :

The EMR web service must interpret this message and store it in the patient's record .

Back to overview