<?xml version="1.0" encoding="UTF-8"?>
<!--
== Generated by hyperModel (www.XMLmodeling.com) Wed Dec 05 13:41:03 MST 2007
== Model: VHIM
== Package: Common
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:basedatatypes="Basedatatypes" xmlns:common="Common" xmlns:pharmacy="Pharmacy" targetNamespace="Common" elementFormDefault="unqualified" attributeFormDefault="unqualified">
	<xsd:import namespace="Basedatatypes" schemaLocation="Basedatatypes.xsd"/>
	<xsd:import namespace="Pharmacy" schemaLocation="Pharmacy.xsd"/>
	<!-- ================================================== -->
	<!-- =====  Complex Type Definitions  -->
	<!-- ================================================== -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  ClinicalDataPatient  <<vHIMClass>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="ClinicalDataPatient">
		<xsd:sequence>
			<xsd:element name="outpatientMedicationPromises" type="pharmacy:OutpatientMedicationPromise"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  CommentEvent  <<vHIMClass, act>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="CommentEvent">
		<xsd:sequence>
			<xsd:element name="commentType" type="basedatatypes:HL72CodedElementLite"/>
			<xsd:element name="comment" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  Device  <<vHIMClass, device>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="Device">
		<xsd:sequence>
			<xsd:element name="identifier" type="basedatatypes:HL72EntityIdentifier" minOccurs="0"/>
			<xsd:element name="name" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  Division  <<vHIMClass, role>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="Division">
		<xsd:sequence>
			<xsd:element name="divisionId" type="basedatatypes:HL72CodedElementLite"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  GenericRequest  <<vHIMClass, act>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="GenericRequest">
		<xsd:sequence>
			<xsd:element name="identifier" type="basedatatypes:HL72EntityIdentifier"/>
			<xsd:element name="author" type="common:PractitionerParticipationLite"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  HospitalLocation  <<vHIMClass, role>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="HospitalLocation">
		<xsd:sequence>
			<xsd:element name="identifier" type="basedatatypes:HL72LocationIdentifier"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  Institution  <<vHIMClass, role>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="Institution">
		<xsd:sequence>
			<xsd:element name="identifier" type="basedatatypes:HL72OrganizationIdentifier"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  Manufacturer  <<vHIMClass, role>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="Manufacturer">
		<xsd:sequence>
			<xsd:element name="name" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  Medicine  <<vHIMClass, manufacturedMaterial>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="Medicine">
		<xsd:sequence>
			<xsd:element name="cmopDrugCode" type="basedatatypes:HL72CodedElementLite" minOccurs="0"/>
			<xsd:element name="manufacturerName" type="xsd:string"/>
			<xsd:element name="medicationCode" type="basedatatypes:HL72CodedElement"/>
			<xsd:element name="otcCode" type="basedatatypes:HL72CodedElementLite" minOccurs="0"/>
			<xsd:element name="tradeName" type="basedatatypes:HL72CodedElementLite" minOccurs="0"/>
			<xsd:element name="manufacturer" type="common:Manufacturer"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  NullifyAct  <<vHIMClass, controlAct>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="NullifyAct">
		<xsd:sequence>
			<xsd:element name="author" type="common:PractitionerParticipationLite"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  PatientInformation  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="PatientInformation">
		<xsd:sequence>
			<xsd:element name="administrativeGenderCode" type="basedatatypes:HL72CodedElementLite" minOccurs="0"/>
			<xsd:element name="birthDate" type="basedatatypes:PointInTime" minOccurs="0"/>
			<xsd:element name="ethnicGroup" type="basedatatypes:HL72CodedElementLite"/>
			<xsd:element name="patientName" type="basedatatypes:HL72PersonName" minOccurs="0"/>
			<xsd:element name="race" type="basedatatypes:HL72CodedElementLite"/>
			<xsd:element name="zipPlus4" type="xsd:string" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  PharmacyDivision  <<vHIMClass, role>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="PharmacyDivision">
		<xsd:sequence>
			<xsd:element name="divisionId" type="basedatatypes:HL72CodedElementLite"/>
			<xsd:element name="ncpdpId" type="basedatatypes:HL72CodedElementLite"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  PharmacyOrderableItem  <<vHIMClass, manufacturedMaterial>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="PharmacyOrderableItem">
		<xsd:sequence>
			<xsd:element name="itemCode" type="basedatatypes:HL72CodedElementLite"/>
			<xsd:element name="dosageFormCode" type="basedatatypes:HL72CodedElementLite" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  PractitionerLite  <<vHIMClass, role>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="PractitionerLite">
		<xsd:sequence>
			<xsd:element name="identifier" type="basedatatypes:HL72PersonIdentifier" minOccurs="0"/>
			<xsd:element name="idSourceTable" type="xsd:string" minOccurs="0"/>
			<xsd:element name="name" type="basedatatypes:HL72PersonName" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  PractitionerParticipationLite  <<vHIMClass, participation>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="PractitionerParticipationLite">
		<xsd:sequence>
			<xsd:element name="comment" type="xsd:string" minOccurs="0"/>
			<xsd:element name="time" type="basedatatypes:PointInTime" minOccurs="0"/>
			<xsd:element name="practitioner" type="common:PractitionerLite"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  Specialty  <<role, vHIMClass>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="Specialty">
		<xsd:sequence>
			<xsd:element name="specialtyCode" type="basedatatypes:HL72CodedElement"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!--  TreatmentFactor  <<vHIMClass, act>>  -->
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<xsd:complexType name="TreatmentFactor">
		<xsd:sequence>
			<xsd:element name="factor" type="basedatatypes:HL72CodedElementLite"/>
			<xsd:element name="factorValue" type="basedatatypes:HL72CodedElementLite"/>
		</xsd:sequence>
	</xsd:complexType>
</xsd:schema>
