<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  © HL7 (http://www.hl7.org)
  Generated on Mon, May 14, 2012 09:48+1000 for FHIR v0.01 
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.hl7.org/fhir" xmlns:xhtml="http://www.w3.org/1999/xhtml" targetNamespace="http://www.hl7.org/fhir" elementFormDefault="qualified">
  <xs:include schemaLocation="fhir-base.xsd"/>
  <xs:element name="MessageConformance" type="MessageConformance">
    <xs:annotation>
      <xs:documentation>todo</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="MessageConformance">
    <xs:sequence>
      <xs:element name="id" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Globally unique Conformance Statement Id (Must be a UUID)</xs:documentation>
        </xs:annotation>
         <xs:complexType>
           <xs:complexContent>
             <xs:extension base="id">
               <xs:attributeGroup ref="dataAbsentReason"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
      </xs:element>
      <xs:element name="date" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Date that the conformance statement is published</xs:documentation>
        </xs:annotation>
         <xs:complexType>
           <xs:complexContent>
             <xs:extension base="dateTime">
               <xs:attributeGroup ref="dataAbsentReason"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
      </xs:element>
      <xs:element name="publisher" type="MessageConformance.Publisher" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The organization that publishes this conformance statement</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="software" type="MessageConformance.Software" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The software that is covered by this conformance statement</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="profile" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Additional other profiles that apply to this conformance statement.</xs:documentation>
        </xs:annotation>
         <xs:complexType>
           <xs:complexContent>
             <xs:extension base="uri">
               <xs:attributeGroup ref="dataAbsentReason"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
      </xs:element>
      <xs:element name="event" type="MessageConformance.Event" minOccurs="1" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>An event supported by the application</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="extensions" type="Extensions" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>See Extensions</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="text" type="Narrative" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation> </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MessageConformance.Event">
    <xs:sequence>
      <xs:element name="code" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The code for the event</xs:documentation>
        </xs:annotation>
         <xs:complexType>
           <xs:complexContent>
             <xs:extension base="code">
               <xs:attributeGroup ref="dataAbsentReason"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
      </xs:element>
      <xs:element name="resource" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The focal resource for the event</xs:documentation>
        </xs:annotation>
         <xs:complexType>
           <xs:complexContent>
             <xs:extension base="code">
               <xs:attributeGroup ref="dataAbsentReason"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
      </xs:element>
      <xs:element name="mode" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The mode of this event declaration - whether application is sender or receiver</xs:documentation>
        </xs:annotation>
         <xs:complexType>
           <xs:complexContent>
             <xs:extension base="MessageConformanceEventMode">
               <xs:attributeGroup ref="dataAbsentReason"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
      </xs:element>
      <xs:element name="request" type="MessageConformance.Request" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Information about the request for this event</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="response" type="MessageConformance.Response" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Information about the response for this event</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MessageConformance.Response">
    <xs:sequence>
      <xs:element name="resource" minOccurs="1" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Constraint on a resource used in the event response</xs:documentation>
        </xs:annotation>
         <xs:complexType>
           <xs:complexContent>
             <xs:extension base="Constraint">
               <xs:attributeGroup ref="dataAbsentReason"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MessageConformance.Publisher">
    <xs:sequence>
      <xs:element name="name" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Name of Organization</xs:documentation>
        </xs:annotation>
         <xs:complexType>
           <xs:complexContent>
             <xs:extension base="string">
               <xs:attributeGroup ref="dataAbsentReason"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
      </xs:element>
      <xs:element name="address" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Address of Organization</xs:documentation>
        </xs:annotation>
         <xs:complexType>
           <xs:complexContent>
             <xs:extension base="Address">
               <xs:attributeGroup ref="dataAbsentReason"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
      </xs:element>
      <xs:element name="contact" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Contacts for Organization</xs:documentation>
        </xs:annotation>
         <xs:complexType>
           <xs:complexContent>
             <xs:extension base="Contact">
               <xs:attributeGroup ref="dataAbsentReason"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MessageConformance.Request">
    <xs:sequence>
      <xs:element name="resource" minOccurs="1" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Constraint on a resource used in the event request</xs:documentation>
        </xs:annotation>
         <xs:complexType>
           <xs:complexContent>
             <xs:extension base="Constraint">
               <xs:attributeGroup ref="dataAbsentReason"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MessageConformance.Software">
    <xs:sequence>
      <xs:element name="name" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Name software is known by</xs:documentation>
        </xs:annotation>
         <xs:complexType>
           <xs:complexContent>
             <xs:extension base="string">
               <xs:attributeGroup ref="dataAbsentReason"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
      </xs:element>
      <xs:element name="version" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Version covered by this statement</xs:documentation>
        </xs:annotation>
         <xs:complexType>
           <xs:complexContent>
             <xs:extension base="string">
               <xs:attributeGroup ref="dataAbsentReason"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
      </xs:element>
      <xs:element name="releaseDate" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Date this version released</xs:documentation>
        </xs:annotation>
         <xs:complexType>
           <xs:complexContent>
             <xs:extension base="dateTime">
               <xs:attributeGroup ref="dataAbsentReason"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MessageConformanceEventMode">
    <xs:simpleContent>
      <xs:restriction base="code">
        <xs:enumeration value="sender">
          <xs:annotation>
            <xs:documentation>The application sends requests and receives responses</xs:documentation>
          </xs:annotation>
        </xs:enumeration>
        <xs:enumeration value="receiver">
          <xs:annotation>
            <xs:documentation>The application receives requests and sends responses</xs:documentation>
          </xs:annotation>
        </xs:enumeration>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
</xs:schema>
