<?xml version="1.0" encoding="UTF-8"?>
<!--
== Generated by hyperModel (www.XMLmodeling.com) Wed Dec 05 13:42:12 MST 2007
== Model: VHIM
== Package: Vitalsigns
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:basedatatypes="Basedatatypes" xmlns:common="Common" xmlns:vitalsigns="Vitalsigns" targetNamespace="Vitalsigns" elementFormDefault="unqualified" attributeFormDefault="unqualified">
	<xsd:import namespace="Basedatatypes" schemaLocation="Basedatatypes.xsd"/>
	<xsd:import namespace="Common" schemaLocation="Common.xsd"/>
	<!-- ================================================== -->
	<!-- =====  Complex Type Definitions  -->
	<!-- ================================================== -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  NullifyActReason  <<vHIMClass>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="NullifyActReason">
		<xsd:sequence>
			<xsd:element name="reason" type="basedatatypes:HL72CodedElementLite"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  OxygenAdministration  <<vHIMClass, substanceAdministration>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="OxygenAdministration">
		<xsd:sequence>
			<xsd:element name="vistaFlowRateValue" type="xsd:string" minOccurs="0"/>
			<xsd:element name="vistaFlowRateUnit" type="basedatatypes:HL72CodedElementLite" minOccurs="0"/>
			<xsd:element name="vistaConcentrationValue" type="xsd:string" minOccurs="0"/>
			<xsd:element name="vistaConcentrationUnit" type="basedatatypes:HL72CodedElementLite" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  VistaVitalSignObservation  <<vHIMClass, observation>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="VistaVitalSignObservation">
		<xsd:sequence>
			<xsd:element name="value" type="xsd:string"/>
			<xsd:element name="units" type="basedatatypes:HL72CodedElementLite" minOccurs="0"/>
			<xsd:element name="qualifier" type="vitalsigns:VistaVitalSignQualifier" minOccurs="0" maxOccurs="100"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  VistaVitalSignQualifier  <<vHIMClass, observation>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="VistaVitalSignQualifier">
		<xsd:sequence>
			<xsd:element name="value" type="basedatatypes:HL72CodedElementLite"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  VitalSignObservationEvent  <<vHIMClass, observation>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="VitalSignObservationEvent">
		<xsd:sequence>
			<xsd:element name="recordIdentifier" type="basedatatypes:HL72EntityIdentifier"/>
			<xsd:element name="patientIdentifier" type="basedatatypes:HL72PersonIdentifier"/>
			<xsd:element name="observationTime" type="basedatatypes:PointInTime"/>
			<xsd:element name="observationMethod" type="basedatatypes:HL72CodedElementLite" minOccurs="0"/>
			<xsd:element name="observedCharacteristic" type="basedatatypes:HL72CodedElementLite"/>
			<xsd:element name="collectionSessionTime" type="basedatatypes:PointInTime" minOccurs="0"/>
			<xsd:element name="status" type="xsd:string"/>
			<xsd:element name="supplementalOxygen" type="vitalsigns:OxygenAdministration" minOccurs="0"/>
			<xsd:element name="author" type="common:PractitionerParticipationLite"/>
			<xsd:element name="measurementDevice" type="common:Device" minOccurs="0"/>
			<xsd:element name="homeAppliance" type="common:Device" minOccurs="0"/>
			<xsd:element name="hospitalLocation" type="common:HospitalLocation"/>
			<xsd:element name="division" type="common:Division"/>
			<xsd:element name="orderingFacility" type="common:Institution"/>
			<xsd:element name="stopCode" type="common:ClinicStop"/>
			<xsd:choice>
				<xsd:element name="vistaVitalSignObservation" type="vitalsigns:VistaVitalSignObservation"/>
			</xsd:choice>
			<xsd:element name="nullify" type="vitalsigns:VitalsNullifyAct" minOccurs="0"/>
			<xsd:element name="patientInformation" type="common:PatientInformation"/>
			<xsd:element name="recordVersion" type="xsd:int"/>
			<xsd:element name="recordUpdateTime" type="basedatatypes:PointInTime"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  VitalsNullifyAct  <<controlAct, vHIMClass>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="VitalsNullifyAct">
		<xsd:sequence>
			<xsd:element name="nullifyActReason" type="vitalsigns:NullifyActReason" minOccurs="0" maxOccurs="100"/>
			<xsd:element name="nullify" type="common:NullifyAct"/>
		</xsd:sequence>
	</xsd:complexType>
</xsd:schema>
