Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

There are a number of different standard standards available for exchanging clinical information between disparate systems. For the OpenHIE Shared Health Record (SHR) we need to choose to support the standards that make the most sense for our environment. The chosen standard will be used to help define the format of the message that get exchanged with the SHR via its interface. OpenHIE implementations will focus on middle to low income countries so that we can make the most impact. Therefore, we have some key criteria that will influence the decision of what standards would be the 'best' to support. These are as follows:

  • Easily Implementable - The standard should be easy to implement in point of care systems and within the HIE as countries will have to support and maintain these with a low number of skilled informatics specialists.
  • Size efficient - The messages should be size efficient due to possible bandwidth restrictions in low resource settings.
  • Understandable - The standard should be easily understandable and not require informatics professionals to work with the standard or understand the standard.
  • Mature tooling - The standard should have some mature tooling to assist application to implement the needed functionality.
  • We can influence the standards - It is important that we as the OpenHIE community can influence the standards development organizations such that the needs of low resource setting can be fully realised and met.

Currently, the community believes that there are a few standards that exist that we should be looking at for use within the SHR, these are:

  • Custom profiles of HL7 v2
  • HL7 Custom profiles of HL7 v3
  • IHE profiles
  • FHIR

Each of these has are described in more details below:

HL7 v2

Overview

HL7 v2 messages are very popular and are commonly used as a message exchange format. This standard has been around for a long time so it has a large number of freely available tools that developers can make use of. It consists of a large number of message types for many different use cases each with their own structure and defined syntax. For technical interoperability HL7v2 employs the MLLP protocol that build upon TCP sockets. HL7 v2 messages can be encoded in either the ER7 (pipes and bars) format or as XML. The XML format allows HL7 v2 to be used in more current day web services.

How could this standard be used in the SHR

We could make use of a specific message types that we profile ourselves so that the use of them well known. For example we could make use of the ORU_R01 message type to transmit patient encounters by using OBX segments within the message.

Pros/Cons

Pros:

  • profiles

A question has been raised about whether we should support multiple standards. The feeling of the community is that we would eventually like to support multiple standards that are deemed useful. For example, FHIR may be useful in the future for more advanced querying of the SHR data. This brings up the question of external-facing standards (the ones the users of the HIE use) and the internal-facing standards (the ones used between components of the HIE) should always be the same or if we can expect to do transformation between different standards. The feeling of the community has been that we should not do transformations between different standards and rather expose multiple standards interfaces both internally and externally if needed. the reason for this is that it can be complex mapping and transforming messages between formats. This does not mean that we will do no transformation of messages, merely, that the transformation that we expect will be needed are transformation of the base standards to a more conformant form of that same base standards. For example, enriching a HL7 message to contain additional required patient information. 

Each of the above standards are described in more detail below:

HL7 v2

Overview

HL7 v2 messages are very popular and are commonly used as a message exchange format. This standard has been around for a long time so it has a large number of freely available tools that developers can make use of. It consists of a large number of message types for many different use cases each with their own structure and defined syntax. For technical interoperability HL7v2 employs the MLLP protocol that build upon TCP sockets. HL7 v2 messages can be encoded in either the ER7 (pipes and bars) format or as XML. The XML format allows HL7 v2 to be used in more current day web services.

How could this standard be used in the SHR

We could make use of a specific message types that we profile ourselves so that the use of them well known. For example we could make use of the ORU_R01 message type to transmit patient encounters by using OBX segments within the message.

Pros/Cons

Pros:

  • Mature tooling
  • Well known and understood
  • Efficient message
  • Mature tooling
  • Well known and understood
  • Efficient message size

Cons

  • Legacy format
  • Z segments ruins interoperability
  • The base standard need to be profiled to provide actual interoperability between systems

...

Code Block
languagexml
titleHL7 v2 ORU_R01 in XML format
collapsetrue
<?xml version="1.0"?>
<ORU_R01 xmlns="urn:hl7-org:v2xml">
    <MSH>
        <MSH.1>|</MSH.1>
        <MSH.2>^~\&amp;amp;</MSH.2>
        <MSH.4>
            <HD.1>363</HD.1>
        </MSH.4>
        <MSH.6>
            <HD.1>Shared Health Record</HD.1>
        </MSH.6>
        <MSH.7>
            <TS.1>20120918160235</TS.1>
        </MSH.7>
        <MSH.9>
            <MSG.1>ORU</MSG.1>
            <MSG.2>R01</MSG.2>
            <MSG.3>ORU_R01</MSG.3>
        </MSH.9>
        <MSH.10>63357449-6a6c-4faa-af7a-e8843a545c31</MSH.10>
        <MSH.11>
            <PT.1>D</PT.1>
            <PT.2>C</PT.2>
        </MSH.11>
        <MSH.12>
            <VID.1>2.5</VID.1>
            <VID.2>
                <CE.1>RWA</CE.1>
            </VID.2>
        </MSH.12>
        <MSH.21>
            <EI.1>CLSM_V0.83</EI.1>
        </MSH.21>
    </MSH>
    <ORU_R01.PATIENT_RESULT>
        <ORU_R01.PATIENT>
            <PID>
                <PID.3>
                    <CX.1>1234567890456789</CX.1>
                    <CX.5>NID</CX.5>
                </PID.3>
                <PID.3>
                    <CX.1>3630NX3X-J</CX.1>
                    <CX.5>OMRS363</CX.5>
                </PID.3>
                <PID.5>
                    <XPN.1>
                        <FN.1>Umurwayi</FN.1>
                    </XPN.1>
                    <XPN.2>Test</XPN.2>
                </PID.5>
            </PID>
            <ORU_R01.VISIT>
                <PV1>
                    <PV1.2>0</PV1.2>
                    <PV1.3>
                        <PL.1>111</PL.1>
                        <PL.4>
                            <HD.1>Ruhunda</HD.1>
                        </PL.4>
                    </PV1.3>
                    <PV1.4>ANC</PV1.4>
                    <PV1.7>
                        <XCN.1>3525410</XCN.1>
                        <XCN.2>
                            <FN.1>doctor</FN.1>
                        </XCN.2>
                        <XCN.3>john</XCN.3>
                        <XCN.13>NID</XCN.13>
                    </PV1.7>
                    <PV1.44>
                        <TS.1>201209180402</TS.1>
                    </PV1.44>
                </PV1>
            </ORU_R01.VISIT>
        </ORU_R01.PATIENT>
        <ORU_R01.ORDER_OBSERVATION>
            <ORC>
                <ORC.1>RE</ORC.1>
                <ORC.9>
                    <TS.1>201209181602</TS.1>
                </ORC.9>
                <ORC.12>
                    <XCN.1>259086</XCN.1>
                </ORC.12>
                <ORC.16>
                    <CE.1>Identifier</CE.1>
                    <CE.2>Text</CE.2>
                    <CE.3>Name of Coding System</CE.3>
                </ORC.16>
            </ORC>
            <OBR>
                <OBR.1>0</OBR.1>
                <OBR.3>
                    <EI.1>1437</EI.1>
                </OBR.3>
                <OBR.4>
                    <CE.2>ANC</CE.2>
                </OBR.4>
                <OBR.7>
                    <TS.1>201209180000</TS.1>
                </OBR.7>
                <OBR.20>111</OBR.20>
                <OBR.21>Ruhunda</OBR.21>
            </OBR>
        </ORU_R01.ORDER_OBSERVATION>
        <ORU_R01.ORDER_OBSERVATION>
            <OBR>
                <OBR.1>1</OBR.1>
                <OBR.18>0</OBR.18>
                <OBR.29>
                    <EIP.2>
                        <EI.3>1437</EI.3>
                    </EIP.2>
                </OBR.29>
            </OBR>
            <ORU_R01.OBSERVATION>
                <OBX>
                    <OBX.1>0</OBX.1>
                    <OBX.2>CE</OBX.2>
                    <OBX.3>
                        <CE.1>72179-5</CE.1>
                        <CE.2>Given Sulfadoxin Pyrimethamine</CE.2>
                        <CE.3>LOINC</CE.3>
                    </OBX.3>
                    <OBX.5>
                        <CE.1>1065</CE.1>
                        <CE.2>YES</CE.2>
                        <CE.3>RWCS</CE.3>
                    </OBX.5>
                    <OBX.14>
                        <TS.1>20120918160235</TS.1>
                    </OBX.14>
                </OBX>
            </ORU_R01.OBSERVATION>
            <ORU_R01.OBSERVATION>
                <OBX>
                    <OBX.1>1</OBX.1>
                    <OBX.2>CE</OBX.2>
                    <OBX.3>
                        <CE.1>8406</CE.1>
                        <CE.2>Given Mebendazole</CE.2>
                        <CE.3>RWCS</CE.3>
                    </OBX.3>
                    <OBX.5>
                        <CE.1>1065</CE.1>
                        <CE.2>YES</CE.2>
                        <CE.3>RWCS</CE.3>
                    </OBX.5>
                    <OBX.14>
                        <TS.1>20120918160235</TS.1>
                    </OBX.14>
                </OBX>
            </ORU_R01.OBSERVATION>
            <ORU_R01.OBSERVATION>
                <OBX>
                    <OBX.1>2</OBX.1>
                    <OBX.2>CE</OBX.2>
                    <OBX.3>
                        <CE.1>72187-8</CE.1>
                        <CE.2>Given tetanus vaccine</CE.2>
                        <CE.3>LOINC</CE.3>
                    </OBX.3>
                    <OBX.5>
                        <CE.1>1065</CE.1>
                        <CE.2>YES</CE.2>
                        <CE.3>RWCS</CE.3>
                    </OBX.5>
                    <OBX.14>
                        <TS.1>20120918160235</TS.1>
                    </OBX.14>
                </OBX>
            </ORU_R01.OBSERVATION>
            <ORU_R01.OBSERVATION>
                <OBX>
                    <OBX.1>3</OBX.1>
                    <OBX.2>CE</OBX.2>
                    <OBX.3>
                        <CE.1>72180-3</CE.1>
                        <CE.2>Was the woman given iron and folic acid?</CE.2>
                        <CE.3>LOINC</CE.3>
                    </OBX.3>
                    <OBX.5>
                        <CE.1>1065</CE.1>
                        <CE.2>YES</CE.2>
                        <CE.3>RWCS</CE.3>
                    </OBX.5>
                    <OBX.14>
                        <TS.1>20120918160235</TS.1>
                    </OBX.14>
                </OBX>
            </ORU_R01.OBSERVATION>
            <ORU_R01.OBSERVATION>
                <OBX>
                    <OBX.1>4</OBX.1>
                    <OBX.2>CE</OBX.2>
                    <OBX.3>
                        <CE.1>72178-7</CE.1>
                        <CE.2>Given Mosquito Nets</CE.2>
                        <CE.3>LOINC</CE.3>
                    </OBX.3>
                    <OBX.5>
                        <CE.1>1065</CE.1>
                        <CE.2>YES</CE.2>
                        <CE.3>RWCS</CE.3>
                    </OBX.5>
                    <OBX.14>
                        <TS.1>20120918160235</TS.1>
                    </OBX.14>
                </OBX>
            </ORU_R01.OBSERVATION>
        </ORU_R01.ORDER_OBSERVATION>
    </ORU_R01.PATIENT_RESULT>
</ORU_R01>

 

HL7 v3

Overview

HL7v3 attempts to solve the semantic interoperability problem by employing the use of a generic reference information model (the RIM) that all HL7v3 message must conform to. This, however, led to the message size growing very large and made HL7v3 difficult to understand and implement due to the generality of the data model. HL7v3 requires that one restricts the base standard down to a usable subset that is to be used. For low resource setting this becomes difficult due to the limited number of informatics experts available to do this and the time required to do so. HL7v3 messages take the form of large structured XML messages.

...

  • Very large message size
  • HL& v3 needs extensive work by informatics specialists to be usable for a domain
  • Not a large amount of tooling support
  • Difficult to understand and use

Sample messages

??

Resources

...

Code Block
languagexml
titleSample simple HL7 v3 message
collapsetrue
<PRPA_IN403001 xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.

...

IHE Profiles

Overview

Integrating the Healthcare Enterprise (IHE) is an initiative that attempts to improve the way in which health information systems share information. IHE produce technical specifications for health information systems interoperability. Specifications that relate to a particular problem are grouped in an IHE profile. Standardised IHE profiles such as XDS or PIX describe and restrict the use of other standards in order to achieve full system, syntactic and semantic interoperability. IHE profiles are pragmatic as they attempt to make use of existing standard that already have wide adoption so that integration of the IHE profile into existing systems can be simplified. IHE profiles are also very use case specific. This has the benefit of allowing them to clearly specify exactly how semantic interoperability can be achieved, however, it also mean that different IHE profiles are needed for each different use cases. IHE covers many of the priority use cases, however, it is difficult to cover all use cases due to the many different uses of health system information exchange world-wide.

How could this standard be used in the SHR

We could identify certain profiles that could achieve the goals needed for a SHR (transmitting structured and unstructured clinical information). For example, we could make use of the XDS profile to convey documents and make use of defined CDA document types to ensure semantic interoperability.

Pros/Cons

Pros:

  • Standards are tested in the field
  • Highly specified transaction and message formats

Cons

  • IHE profiles concentrate on specific use cases and are not by definition general use, you have to implement a profile for each use cases you would like to support
  • Each profile could make use of a variety of different standards.

Sample messages

Code Block
titleProvide and Register Document Set-b transaction (with full metadata)
collapsetrue
POST /tf6/services/xdsrepositoryb HTTP/1.1
Content-Type: multipart/related; boundary=MIMEBoundaryurn_uuid_566EAD10FEBB55C5A61257193478449; type="application/xop+xml"; start="<0.urn:uuid:566EAD10FEBB55C5A61257193478450@apache.org>"; start-info="application/soap+xml"; action="urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b"
User-Agent: Axis2
Host: localhost:5000
--MIMEBoundaryurn_uuid_566EAD10FEBB55C5A61257193478449
Content-Type: application/xop+xml; charset=UTF-8; type="application/soap+xml"
Content-Transfer-Encoding: binary
Content-ID: <0.urn:uuid:566EAD10FEBB55C5A61257193478450@apache.org>
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
    xmlns:wsa="http://www.w3.org/2005/08/addressing">
    <soapenv:Header>
        <wsa:To>http://localhost:5000/tf6/services/xdsrepositoryb</wsa:To>w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hl7-org:v3 PRPA_IN403001.xsd">
   <id root="1.1.2.3.4.5" extension="5929" assigningAuthorityName="Litware Inc."/>
   <creationTime value="20050303180027"/>
   <versionCode code="V3PR1"/>
   <interactionId root="1.1.6.7.8" extension="PRPA_IN403001" assigningAuthorityName="HL7"/>
   <processingCode code="D"/>
   <processingModeCode code="T"/>
   <acceptAckCode code="AL"/>
   <receiver typeCode="RCV">
     <device classCode="DEV" determinerCode="INSTANCE">
       <id root="1.4.7.8.3"/>
     </device>
   </receiver>
   <sender typeCode="SND">
     <device classCode="DEV" determinerCode="INSTANCE">
       <id root="1.45.6.7.98"/>
     </device>
   </sender>
   <controlActProcess classCode="CACT" moodCode="EVN">
     <subject typeCode="SUBJ" contextConductionInd="false">
       <encounterEvent classCode="ENC" moodCode="EVN">
         <id root="1.56.3.4.7.5" extension="122345" assigningAuthorityName="Maple Hospital Emergency"/>
        <wsa:MessageID soapenv:mustUnderstand="true">urn:uuid:566EAD10FEBB55C5A61257193478400</wsa:MessageID>
  <code code="EMER" codeSystem="2.16.840.1.113883.5.4"/>
       <wsa:Action>urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b</wsa:Action>
   <statusCode </soapenv:Header>code="active"/>
    <soapenv:Body>
        <xdsb:ProvideAndRegisterDocumentSetRequest xmlns:xdsb="urn:ihe:iti:xds-b:2007<subject contextControlCode="OP">
            <lcm:SubmitObjectsRequest xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0<patient classCode="PAT">
                <rim:RegistryObjectList xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
    <id root="1.56.3.4.7.9" extension="55321" assigningAuthorityName="Maple Hospital Patients"/>
                <rim:ExtrinsicObject id<patientPerson classCode="Document01PSN" mimeTypedeterminerCode="text/plainINSTANCE">
               <name>
         objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1">
        <given>Rob</given>
                <rim:Slot name="creationTime"> <given>P</given>
                 <family>Young</family>
            <rim:ValueList>
   </name>
               <administrativeGenderCode code="M" codeSystem="2.16.840.1.113883.5.1"/>
            <rim:Value>20051224</rim:Value>
   <birthTime value="19800309"/>
             </patientPerson>
           </rim:ValueList>patient>
         </subject>
       </encounterEvent>
     </subject>
   </controlActProcess>
</PRPA_IN403001>

Resources

IHE Profiles

Overview

Integrating the Healthcare Enterprise (IHE) is an initiative that attempts to improve the way in which health information systems share information. IHE produce technical specifications for health information systems interoperability. Specifications that relate to a particular problem are grouped in an IHE profile. Standardised IHE profiles such as XDS or PIX describe and restrict the use of other standards in order to achieve full system, syntactic and semantic interoperability. IHE profiles are pragmatic as they attempt to make use of existing standard that already have wide adoption so that integration of the IHE profile into existing systems can be simplified. IHE profiles are also very use case specific. This has the benefit of allowing them to clearly specify exactly how semantic interoperability can be achieved, however, it also means that different IHE profiles are needed for each different use case. IHE covers many of the priority use cases, however, it is difficult to cover all use cases due to the many different uses of health system information exchange world-wide.

How could this standard be used in the SHR

We could identify certain profiles that could achieve the goals needed for a SHR (transmitting structured and unstructured clinical information). For example, we could make use of the XDS profile to convey documents and make use of defined CDA document types to ensure semantic interoperability.

We could make use of the IHE Patient Care Coordination technical framework to provide specifications for the specific CDA document types that we support: http://wiki.ihe.net/index.php?title=Patient_Care_Coordination_Technical_Framework

Pros/Cons

Pros:

  • Standards are tested in the field
  • Highly specified transaction and message formats

Cons

  • IHE profiles concentrate on specific use cases and are not by definition general use, you have to implement a profile for each use cases you would like to support
  • Each profile could make use of a variety of different standards.

Sample messages

Code Block
titleProvide and Register Document Set-b transaction (with full metadata)
collapsetrue
POST /tf6/services/xdsrepositoryb HTTP/1.1
Content-Type: multipart/related; boundary=MIMEBoundaryurn_uuid_566EAD10FEBB55C5A61257193478449; type="application/xop+xml"; start="<0.urn:uuid:566EAD10FEBB55C5A61257193478450@apache.org>"; start-info="application/soap+xml"; action="urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b"
User-Agent: Axis2
Host: localhost:5000
--MIMEBoundaryurn_uuid_566EAD10FEBB55C5A61257193478449
Content-Type: application/xop+xml; charset=UTF-8; type="application/soap+xml"
Content-Transfer-Encoding: binary
Content-ID: <0.urn:uuid:566EAD10FEBB55C5A61257193478450@apache.org>
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
    xmlns:wsa="http://www.w3.org/2005/08/addressing">
    <soapenv:Header>
        <wsa:To>http://localhost:5000/tf6/services/xdsrepositoryb</wsa:To>
        <wsa:MessageID soapenv:mustUnderstand="true">urn:uuid:566EAD10FEBB55C5A61257193478400</wsa:MessageID>
        <wsa:Action>urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b</wsa:Action>
    </soapenv:Header>
    <soapenv:Body>
        <xdsb:ProvideAndRegisterDocumentSetRequest xmlns:xdsb="urn:ihe:iti:xds-b:2007">
            <lcm:SubmitObjectsRequest xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0">
                <rim:RegistryObjectList xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
                    <rim:ExtrinsicObject id="Document01" mimeType="text/plain"
                        objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1">
                        <rim:Slot name="creationTime">
                            <rim:ValueList>
                                <rim:Value>20051224</rim:Value>
                            </rim:ValueList>
                        </rim:Slot>
                        <rim:Slot name="languageCode">
                            <rim:ValueList>
                                <rim:Value>en-us</rim:Value>
                            </rim:ValueList>
     rim:Slot>
                        <rim:Slot name="languageCode">
                            <rim:ValueList>
                                <rim:Value>en-us</rim:Value>
                            </rim:ValueList>
                          </rim:Slot>
                        <rim:Slot name="serviceStartTime">
                            <rim:ValueList>
                                <rim:Value>200412230800</rim:Value>
                            </rim:ValueList>
                        </rim:Slot>
                        <rim:Slot name="serviceStopTime">
                            <rim:ValueList>
                                <rim:Value>200412230801</rim:Value>
                            </rim:ValueList>
                        </rim:Slot>
                        <rim:Slot name="sourcePatientId">
                            <rim:ValueList>
                                <rim:Value>89765a87b^^^&3.4.5&ISO</rim:Value>
                            </rim:ValueList>
                        </rim:Slot>
                        <rim:Slot name="sourcePatientInfo">
                            <rim:ValueList>
                                <rim:Value>PID-3|pid1^^^&1.2.3&ISO</rim:Value>
                                <rim:Value>PID-5|Doe^John^^^</rim:Value>
                                <rim:Value>PID-7|19560527</rim:Value>
                                <rim:Value>PID-8|M</rim:Value>
                                <rim:Value>PID-11|100 Main St^^Metropolis^Il^44130^USA</rim:Value>
                            </rim:ValueList>
                        </rim:Slot>
                        <rim:Name>
                            <rim:LocalizedString value="Physical"/>
                        </rim:Name>
                        <rim:Description/>
                        <rim:Classification
                            classificationScheme="urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d"
                            classifiedObject="Document01" nodeRepresentation=""
                            objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Classification"
                            id="id_1">
                            <rim:Slot name="authorPerson">
                                <rim:ValueList>
                                    <rim:Value>^Smitty^Gerald^^^</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                            <rim:Slot name="authorInstitution">
                                <rim:ValueList>
                                    <rim:Value>Cleveland Clinic</rim:Value>
                                    <rim:Value>Parma Community</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                            <rim:Slot name="authorRole">
                                <rim:ValueList>
                                    <rim:Value>Attending</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                            <rim:Slot name="authorSpecialty">
                                <rim:ValueList>
                                    <rim:Value>Orthopedic</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                        </rim:Classification>
                        <rim:Classification
                            classificationScheme="urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d"
                            classifiedObject="Document01" nodeRepresentation=""
                            objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Classification"
                            id="id_2">
                            <rim:Slot name="authorPerson">
                                <rim:ValueList>
                                    <rim:Value>^Dopplemeyer^Sherry^^^</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                            <rim:Slot name="authorInstitution">
                                <rim:ValueList>
                                    <rim:Value>Cleveland Clinic</rim:Value>
                                    <rim:Value>Berea Community</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                            <rim:Slot name="authorRole">
                                <rim:ValueList>
                                    <rim:Value>Primary Surgon</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                            <rim:Slot name="authorSpecialty">
                                <rim:ValueList>
                                    <rim:Value>Orthopedic</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                        </rim:Classification>
                        <rim:Classification
                            classificationScheme="urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a"
                            classifiedObject="Document01" nodeRepresentation="History and Physical"
                            objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Classification"
                            id="id_3">
                            <rim:Slot name="codingScheme">
                                <rim:ValueList>
                                    <rim:Value>Connect-a-thon classCodes</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                            <rim:Name>
                                <rim:LocalizedString value="History and Physical"/>
                            </rim:Name>
                        </rim:Classification>
                        <rim:Classification
                            classificationScheme="urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f"
                            classifiedObject="Document01"
                            nodeRepresentation="1.3.6.1.4.1.21367.2006.7.101"
                            objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Classification"
                            id="id_4">
                            <rim:Slot name="codingScheme">
                                <rim:ValueList>
                                    <rim:Value>Connect-a-thon confidentialityCodes</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                            <rim:Name>
                                <rim:LocalizedString value="Clinical-Staff"/>
                            </rim:Name>
                        </rim:Classification>
                        <rim:Classification
                            classificationScheme="urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d"
                            classifiedObject="Document01" nodeRepresentation="CDAR2/IHE 1.0"
                            objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Classification"
                            id="id_5">
                            <rim:Slot name="codingScheme">
                                <rim:ValueList>
                                    <rim:Value>Connect-a-thon formatCodes</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                            <rim:Name>
                                <rim:LocalizedString value="CDAR2/IHE 1.0"/>
                            </rim:Name>
                        </rim:Classification>
                        <rim:Classification
                            classificationScheme="urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1"
                            classifiedObject="Document01" nodeRepresentation="Outpatient"
                            objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Classification"
                            id="id_6">
                            <rim:Slot name="codingScheme">
                                <rim:ValueList>
                                    <rim:Value>Connect-a-thon
                                        healthcareFacilityTypeCodes</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                            <rim:Name>
                                <rim:LocalizedString value="Outpatient"/>
                            </rim:Name>
                        </rim:Classification>
                        <rim:Classification
                            classificationScheme="urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead"
                            classifiedObject="Document01" nodeRepresentation="General Medicine"
                            objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Classification"
                            id="id_7">
                            <rim:Slot name="codingScheme">
                                <rim:ValueList>
                                    <rim:Value>Connect-a-thon practiceSettingCodes</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                            <rim:Name>
                                <rim:LocalizedString value="General Medicine"/>
                            </rim:Name>
                        </rim:Classification>
                        <rim:Classification
                            classificationScheme="urn:uuid:f0306f51-975f-434e-a61c-c59651d33983"
                            classifiedObject="Document01" nodeRepresentation="34108-1"
                            objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Classification"
                            id="id_8">
                            <rim:Slot name="codingScheme">
                                <rim:ValueList>
                                    <rim:Value>LOINC</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                            <rim:Name>
                                <rim:LocalizedString value="Outpatient Evaluation And Management"/>
                            </rim:Name>
                        </rim:Classification>
                        <rim:ExternalIdentifier
                            identificationScheme="urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427"
                            value="76cc765a442f410^^^&1.3.6.1.4.1.21367.2005.3.7&ISO"
                            objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ExternalIdentifier"
                            id="id_9" registryObject="Document01">
                            <rim:Name>
                                <rim:LocalizedString value="XDSDocumentEntry.patientId"/>
                            </rim:Name>
                        </rim:ExternalIdentifier>
                        <rim:ExternalIdentifier
                            identificationScheme="urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab"
                            value="2009.9.1.2455"
                            objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ExternalIdentifier"
                            id="id_10" registryObject="Document01">
                            <rim:Name>
                                <rim:LocalizedString value="XDSDocumentEntry.uniqueId"/>
                            </rim:Name>
                        </rim:ExternalIdentifier>
                    </rim:ExtrinsicObject>
                    <rim:RegistryPackage id="SubmissionSet01"
                        objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:RegistryPackage">
                        <rim:Slot name="submissionTime">
                            <rim:ValueList>
                                <rim:Value>20041225235050</rim:Value>
                            </rim:ValueList>
                        </rim:Slot>
                        <rim:Name>
                            <rim:LocalizedString value="Physical"/>
                        </rim:Name>
                        <rim:Description>
                            <rim:LocalizedString value="Annual physical"/>
                        </rim:Description>
                        <rim:Classification
                            classificationScheme="urn:uuid:a7058bb9-b4e4-4307-ba5b-e3f0ab85e12d"
                            classifiedObject="SubmissionSet01" nodeRepresentation=""
                            objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Classification"
                            id="id_11">
                            <rim:Slot name="authorPerson">
                                <rim:ValueList>
                                    <rim:Value>^Dopplemeyer^Sherry^^^</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                            <rim:Slot name="authorInstitution">
                                <rim:ValueList>
                                    <rim:Value>Cleveland Clinic</rim:Value>
                                    <rim:Value>Berea Community</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                            <rim:Slot name="authorRole">
                                <rim:ValueList>
                                    <rim:Value>Primary Surgon</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                            <rim:Slot name="authorSpecialty">
                                <rim:ValueList>
                                    <rim:Value>Orthopedic</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                        </rim:Classification>
                        <rim:Classification
                            classificationScheme="urn:uuid:aa543740-bdda-424e-8c96-df4873be8500"
                            classifiedObject="SubmissionSet01"
                            nodeRepresentation="History and Physical"
                            objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Classification"
                            id="id_12">
                            <rim:Slot name="codingScheme">
                                <rim:ValueList>
                                    <rim:Value>Connect-a-thon contentTypeCodes</rim:Value>
                                </rim:ValueList>
                            </rim:Slot>
                            <rim:Name>
                                <rim:LocalizedString value="History and Physical"/>
                            </rim:Name>
                        </rim:Classification>
                        <rim:ExternalIdentifier
                            identificationScheme="urn:uuid:96fdda7c-d067-4183-912e-bf5ee74998a8"
                            value="2009.9.1.2456"
                            objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ExternalIdentifier"
                            id="id_13" registryObject="SubmissionSet01">
                            <rim:Name>
                                <rim:LocalizedString value="XDSSubmissionSet.uniqueId"/>
                            </rim:Name>
                        </rim:ExternalIdentifier>
                        <rim:ExternalIdentifier
                            identificationScheme="urn:uuid:554ac39e-e3fe-47fe-b233-965d2a147832"
                            value="1.3.6.1.4.1.21367.2009.1.2.1"
                            objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ExternalIdentifier"
                            id="id_14" registryObject="SubmissionSet01">
                            <rim:Name>
                                <rim:LocalizedString value="XDSSubmissionSet.sourceId"/>
                            </rim:Name>
                        </rim:ExternalIdentifier>
                        <rim:ExternalIdentifier
                            identificationScheme="urn:uuid:6b5aea1a-874d-4603-a4bc-96a0a7b38446"
                            value="76cc765a442f410^^^&1.3.6.1.4.1.21367.2005.3.7&ISO"
                            objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ExternalIdentifier"
                            id="id_15" registryObject="SubmissionSet01">
                            <rim:Name>
                                <rim:LocalizedString value="XDSSubmissionSet.patientId"/>
                            </rim:Name>
                        </rim:ExternalIdentifier>
                    </rim:RegistryPackage>
                    <rim:Classification classifiedObject="SubmissionSet01"
                        classificationNode="urn:uuid:a54d6aa5-d40d-43f9-88c5-b4633d873bdd"
                        id="ID_1216346_1"
                        objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Classification"/>
                    <rim:Association
                        associationType="urn:oasis:names:tc:ebxml-regrep:AssociationType:HasMember"
                        sourceObject="SubmissionSet01" targetObject="Document01" id="ID_1216346_2"
                        objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Association">
                        <rim:Slot name="SubmissionSetStatus">
                            <rim:ValueList>
                                <rim:Value>Original</rim:Value>
                            </rim:ValueList>
                        </rim:Slot>
                    </rim:Association>
                </rim:RegistryObjectList>
            </lcm:SubmitObjectsRequest>
            <xdsb:Document id="Document01">
                <xop:Include href="cid:1.urn:uuid:566EAD10FEBB55C5A61257193478499@apache.org"
                    xmlns:xop="http://www.w3.org/2004/08/xop/include"/>
            </xdsb:Document>
        </xdsb:ProvideAndRegisterDocumentSetRequest>
    </soapenv:Body>
</soapenv:Envelope>

--MIMEBoundaryurn_uuid_566EAD10FEBB55C5A61257193478449
Content-Type: text/plain
Content-Transfer-Encoding: binary
Content-ID: <1.urn:uuid:566EAD10FEBB55C5A61257193478499@apache.org>
This is my document.
It is great!

--MIMEBoundaryurn_uuid_566EAD10FEBB55C5A61257193478449--

...

Code Block
languagexml
titleFHIR Observation resource
collapsetrue
<?xml version="1.0" encoding="UTF-8"?><Observation xmlns="http://hl7.org/fhir">
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">Sept 17, 2012: Blood pressure 107/65 (normal)</div>
  </text>
  <name>
    <coding>
      <system value="http://loinc.org"/>
      <code value="55284-4"/>
      <display value="Blood pressure systolic and diastolic"/>
    </coding>
  </name>
  <interpretation>
    <coding>
      <system value="http://hl7.org/fhir/v2/0078"/>
      <code value="N"/>
      <display value="Normal (applies to non-numeric results)"/>
    </coding>
  </interpretation>
  <appliesDateTime value="2012-09-17"/>
  <status value="final"/>
  <reliability value="ok"/>
  
  <identifier>
    <system value="urn:ietf:rfc:3986"/>
    <key value="187e0c12-8dd2-67e2-99b2-bf273c878281"/>
  </identifier>
  
  <subject>
    <type value="Patient"/>
    <reference value="patient/@example"/>
  </subject>
  <performer>

  <performer>
    <type value="Practitioner"/>
    <reference value="practitioner/@example"/>
  </performer>
  <component>
    <name>
      <coding>
        <system value="http://loinc.org"/>
        <code value="8480-6"/>
        <display value="Systolic blood pressure"/>
      </coding>
    </name>
    <valueQuantity>
      <value value="107"/>
      <type<units value="Practitionermm[Hg]"/>
    <reference value="practitioner/@example"/></valueQuantity>
  </performer>component>
  <component>
    <name>
      <coding>
        <system value="http://loinc.org"/>
        <code value="84808462-64"/>
        <display value="SystolicDiastolic blood pressure"/>
      </coding>
    </name>
    <valueQuantity>
      <value value="65"/>
      <units value="107mm[Hg]"/>
      <units value="mm[Hg]"/>
    </valueQuantity>
  </component>
  <component>
    <name>
      <coding>
        <system value="http://loinc.org"/>
        <code value="8462-4"/>
        <display value="Diastolic blood pressure"/>
      </coding>
    </name>
    <valueQuantity>
      <value value="65"/>
      <units value="mm[Hg]"/>
    </valueQuantity>
  </component>
</Observation>

Resources

...


    </valueQuantity>
  </component>
</Observation>

Resources

Our current reasoning about the choice of standards

It seems from our reading that the use of HL7 v3 in its base form is too difficult and takes a lot of health informatics experts to specify the messages that are needed. So base HL7 v3 does not seem like the way to go for our use case. FHIR looks like a good option for the future but it is currently too new, the tooling support is poor and fact that it is only now entering its trial use period makes it a poor first choice. This leaves us with profiles HL7 v2 which many people are familiar with and have used with success and IHE profiles (perhaps using HL7 v3 CDA for clinical content). With HL7v2 we will have to profile our own messages to gain semantic interoperability and this can be time consuming and would require end users to know how we profile our HL7v2 but the process is known and building and modifying HL7 v2 message is simple due to the age of the standard. IHE profiles have the benefit of being highly specified so that systems can easily interoperate 'out-of-the-box' however, only specific use cases are profiled and if the data we want to collect falls outside of these profiles then this would not work or would require custom specification.

The SHR community believes that we should support IHE profiled CDA documents as the primary mechanism for transmitting clinical content due to OpenHIEs involvement with IHE and due to the wide spread use of CDA at the moment. We also believe that HL7 v2 messages should be supported at a base level to allow legacy systems to communicate in this simpler format until such time as they can be upgraded to support CDA documents.