<?xml version="1.0" encoding="UTF-8"?>
<!--
== Generated by hyperModel (www.XMLmodeling.com) Wed Dec 05 13:40:38 MST 2007
== Model: VHIM
== Package: Basedatatypes
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:basedatatypes="Basedatatypes" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="Basedatatypes">
  <!-- ================================================== -->
  <!-- =====  Complex Type Definitions  -->
  <!-- ================================================== -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  HL72CodedElement  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="HL72CodedElement">
    <xsd:sequence>
      <xsd:element minOccurs="0" name="code" type="xsd:string"/>
      <xsd:element minOccurs="0" name="displayText" type="xsd:string"/>
      <xsd:element minOccurs="0" name="codingSystem" type="xsd:string"/>
      <xsd:element minOccurs="0" name="alternateCode" type="xsd:string"/>
      <xsd:element minOccurs="0" name="alternateDisplayText" type="xsd:string"/>
      <xsd:element minOccurs="0" name="alternateCodingSystem" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  HL72CodedElementLite  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="HL72CodedElementLite">
    <xsd:sequence>
      <xsd:element minOccurs="0" name="code" type="xsd:string"/>
      <xsd:element minOccurs="0" name="displayText" type="xsd:string"/>
      <xsd:element minOccurs="0" name="codingSystem" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  HL72EntityIdentifier  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="HL72EntityIdentifier">
    <xsd:sequence>
      <xsd:element minOccurs="0" name="identity" type="xsd:string"/>
      <xsd:element name="namespaceId" type="xsd:string"/>
      <xsd:element minOccurs="0" name="universalId" type="xsd:string"/>
      <xsd:element minOccurs="0" name="universalIdType" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  HL72LocationIdentifier  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="HL72LocationIdentifier">
    <xsd:sequence>
      <xsd:element name="pointOfCare" type="xsd:string"/>
      <xsd:element name="room" type="xsd:string"/>
      <xsd:element minOccurs="0" name="bed" type="xsd:string"/>
      <xsd:element minOccurs="0" name="facilityNamespaceId" type="xsd:string"/>
      <xsd:element minOccurs="0" name="facilityUniversalId" type="xsd:string"/>
      <xsd:element name="facilityUniversalIdType" type="xsd:string"/>
      <xsd:element minOccurs="0" name="personLocationType" type="xsd:string"/>
      <xsd:element name="locationDescription" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  HL72ObservationIdentifier  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="HL72ObservationIdentifier">
    <xsd:sequence>
      <xsd:element minOccurs="0" name="code" type="xsd:string"/>
      <xsd:element minOccurs="0" name="displayText" type="xsd:string"/>
      <xsd:element minOccurs="0" name="codingSystem" type="xsd:string"/>
      <xsd:element minOccurs="0" name="codingSystemVersion" type="xsd:double"/>
      <xsd:element minOccurs="0" name="alternateCode" type="xsd:string"/>
      <xsd:element minOccurs="0" name="alternateDisplayText" type="xsd:string"/>
      <xsd:element minOccurs="0" name="alternateCodingSystem" type="xsd:string"/>
      <xsd:element minOccurs="0" name="alternateCodingSystemVersion" type="xsd:double"/>
      <xsd:element minOccurs="0" name="originalText" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  HL72OrganizationIdentifier  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="HL72OrganizationIdentifier">
    <xsd:sequence>
      <xsd:element minOccurs="0" name="identity" type="xsd:string"/>
      <xsd:element name="name" type="xsd:string"/>
      <xsd:element minOccurs="0" name="assigningAuthority" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  HL72PersonIdentifier  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="HL72PersonIdentifier">
    <xsd:sequence>
      <xsd:element name="identity" type="xsd:string"/>
      <xsd:element name="assigningFacility" type="xsd:string"/>
      <xsd:element minOccurs="0" name="assigningAuthority" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  HL72PersonName  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="HL72PersonName">
    <xsd:sequence>
      <xsd:element minOccurs="0" name="prefix" type="xsd:string"/>
      <xsd:element minOccurs="0" name="given" type="xsd:string"/>
      <xsd:element minOccurs="0" name="middle" type="xsd:string"/>
      <xsd:element minOccurs="0" name="family" type="xsd:string"/>
      <xsd:element minOccurs="0" name="suffix" type="xsd:string"/>
      <xsd:element minOccurs="0" name="title" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  HL72VisitIdentifier  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="HL72VisitIdentifier">
    <xsd:sequence>
      <xsd:element name="identity" type="xsd:string"/>
      <xsd:element minOccurs="0" name="assigningAuthority" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  MailingAddress  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType abstract="true" name="MailingAddress">
    <xsd:sequence>
      <xsd:element minOccurs="0" name="line1" type="xsd:string"/>
      <xsd:element minOccurs="0" name="city" type="xsd:string"/>
      <xsd:element minOccurs="0" name="postalCode" type="xsd:string"/>
      <xsd:element name="vistaCountry" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  Money  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="Money">
    <xsd:sequence>
      <xsd:element minOccurs="0" name="currency" type="basedatatypes:HL72CodedElementLite"/>
      <xsd:element name="value" type="xsd:double"/>
    </xsd:sequence>
  </xsd:complexType>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  PhysicalQuantity  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="PhysicalQuantity">
    <xsd:sequence>
      <xsd:element name="value" type="xsd:double"/>
      <xsd:element minOccurs="0" name="unit" type="basedatatypes:HL72CodedElementLite"/>
    </xsd:sequence>
  </xsd:complexType>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  PointInTime  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="PointInTime">
    <xsd:sequence>
      <xsd:element name="literal" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  TimeQuantity  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="TimeQuantity">
    <xsd:sequence>
      <xsd:element name="value" type="xsd:double"/>
      <xsd:element minOccurs="0" name="unit" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  UsMailingAddress  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="UsMailingAddress">
    <xsd:complexContent>
      <xsd:extension base="basedatatypes:MailingAddress">
        <xsd:sequence>
          <xsd:element name="vistaState" type="xsd:string"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
</xsd:schema>
