<?xml version="1.0" encoding="utf-16"?>
<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by John Morrill (State of Missouri) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0">
	<xs:element name="PreEncounter">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="SenderData">
					<xs:complexType>
						<xs:attribute name="ProviderName" use="required">
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:maxLength value="256"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
						<xs:attribute name="ProviderETIN" use="required">
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:maxLength value="11"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
						<xs:attribute name="BatchNumber" use="required">
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:maxLength value="128"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<xs:element name="DocumentFunction" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="ConsumerData" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Name" minOccurs="0">
											<xs:complexType>
												<xs:attribute name="LastName" use="required">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:maxLength value="64"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="FirstName" use="required">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:maxLength value="64"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="MiddleName" use="optional">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:maxLength value="64"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="Prefix" type="codeList" use="optional"/>
												<xs:attribute name="Suffix" type="codeList" use="optional"/>
												<xs:attribute name="Credential" type="codeList" use="optional"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="Demographics" minOccurs="0">
											<xs:complexType>
												<xs:attribute name="Gender" use="required">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:maxLength value="16"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="DateOfBirth" type="date" use="required"/>
												<xs:attribute name="SSN" use="optional">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:maxLength value="11"/>
															<xs:pattern value="\d{3}\-\d{2}\-\d{4}"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="HearingStatus" type="codeList" use="required"/>
												<xs:attribute name="PreferredLanguage" type="codeList" use="required"/>
												<xs:attribute name="MaritalStatus" type="codeList" use="optional"/>
												<xs:attribute name="EmploymentStatus" type="codeList" use="required"/>
												<xs:attribute name="Occupation" type="codeList" use="optional"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="Address" minOccurs="0">
											<xs:complexType>
												<xs:attribute name="Street1" use="required">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:maxLength value="256"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="Street2" use="optional">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:maxLength value="256"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="City" use="required">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:maxLength value="40"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="State" type="codeList" use="required"/>
												<xs:attribute name="County" type="codeList" use="required"/>
												<xs:attribute name="Zip" use="optional">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:maxLength value="10"/>
															<xs:pattern value="(\d{5})|(\d{5}\-\d{4})"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="Country" type="codeList" use="required"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="Race" minOccurs="0">
											<xs:complexType>
												<xs:attribute name="White" type="yesno" use="required"/>
												<xs:attribute name="Black_AfricanAmerican" type="yesno" use="required"/>
												<xs:attribute name="Asian" type="yesno" use="required"/>
												<xs:attribute name="NativeHawiian_PacificIslander" type="yesno" use="required"/>
												<xs:attribute name="AmIndian_NativeAlaskan" type="yesno" use="required"/>
												<xs:attribute name="OtherRace" type="yesno" use="required"/>
												<xs:attribute name="OtherRaceDesc" use="optional">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:maxLength value="256"/>
															<xs:minLength value="1"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="NotOfHispanicOrigin" type="yesno" use="required"/>
												<xs:attribute name="Hispanic_Mexican" type="yesno" use="required"/>
												<xs:attribute name="Hispanic_Cuban" type="yesno" use="required"/>
												<xs:attribute name="Hispanic_PuertoRican" type="yesno" use="required"/>
												<xs:attribute name="OtherHispanic" type="yesno" use="required"/>
												<xs:attribute name="OtherHispanicDesc" use="optional">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:maxLength value="256"/>
															<xs:minLength value="1"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
											</xs:complexType>
										</xs:element>
										<xs:element name="StandardMeansTest" minOccurs="0">
											<xs:complexType>
												<xs:attribute name="FromDate" type="date" use="required"/>
												<xs:attribute name="MonthlyAbilityToPayAmt" type="xs:decimal" use="required"/>
												<xs:attribute name="PreparedBy" use="required">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:maxLength value="64"/>
															<xs:minLength value="1"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="EpisodeCare" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Diagnosis" minOccurs="0" maxOccurs="unbounded">
											<xs:complexType>
												<xs:attribute name="Axis" use="required">
													<xs:simpleType>
														<xs:restriction base="xs:int">
															<xs:enumeration value="1"/>
															<xs:enumeration value="2"/>
															<xs:enumeration value="3"/>
															<xs:enumeration value="4"/>
															<xs:enumeration value="5"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="DiagnosisDateTime" type="dateTimeString" use="required"/>
												<xs:attribute name="DiagnosticianName" use="required">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:maxLength value="64"/>
															<xs:minLength value="1"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="DiagnosisCodeSet" use="optional">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:maxLength value="6"/>
															<xs:enumeration value="DSM-IV"/>
															<xs:enumeration value="ICD-9"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="DiagnosisCode" use="optional">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:maxLength value="16"/>
															<xs:minLength value="1"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="Status" type="codeList" use="optional"/>
												<xs:attribute name="Severity" type="codeList" use="optional"/>
												<xs:attribute name="Principal" type="yesno" use="optional"/>
												<xs:attribute name="Primary" type="yesno" use="optional"/>
												<xs:attribute name="StressorCategory" type="codeList" use="optional"/>
												<xs:attribute name="Chronicity" type="codeList" use="optional"/>
												<xs:attribute name="CurrentGAF" type="xs:int" use="optional"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="Commitments" minOccurs="0" maxOccurs="unbounded">
											<xs:complexType>
												<xs:attribute name="CommitmentType" type="codeList" use="required"/>
												<xs:attribute name="CommitmentFromDate" type="date" use="required"/>
												<xs:attribute name="CommitmentToDate" type="date" use="optional"/>
												<xs:attribute name="CommitmentCounty" type="codeList" use="required"/>
												<xs:attribute name="PrimaryIndicator" type="yesno" use="required"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="ProgramAssignment" minOccurs="0" maxOccurs="1">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="ADAProgramAssignment" minOccurs="0">
														<xs:complexType>
															<xs:attribute name="DateInfoReceivedfromConsumer" type="date" use="required"/>
															<xs:attribute name="CodependentIndicator" type="yesno" use="required"/>
															<xs:attribute name="PrimaryAbuserDMHID" type="xs:int" use="optional"/>
															<xs:attribute name="PrimarySubstanceAbused" type="codeList" use="optional"/>
															<xs:attribute name="PrimarySAFrequency" type="codeList" use="optional"/>
															<xs:attribute name="PrimarySARoute" type="codeList" use="optional"/>
															<xs:attribute name="PrimarySAAgeFirstUsed" type="xs:int" use="optional"/>
															<xs:attribute name="SecondarySubstanceAbused" type="codeList" use="optional"/>
															<xs:attribute name="SecondarySAFrequency" type="codeList" use="optional"/>
															<xs:attribute name="SecondarySARoute" type="codeList" use="optional"/>
															<xs:attribute name="SecondarySAAgeFirstUsed" type="xs:int" use="optional"/>
															<xs:attribute name="TertiarySubstanceAbused" type="codeList" use="optional"/>
															<xs:attribute name="TertiarySAFrequency" type="codeList" use="optional"/>
															<xs:attribute name="TertiarySARoute" type="codeList" use="optional"/>
															<xs:attribute name="TertiarySAAgeFirstUsed" type="xs:int" use="optional"/>
															<xs:attribute name="ServiceCounty" type="codeList" use="required"/>
															<xs:attribute name="PsychologicalProblemIndicator" type="yesno" use="required"/>
															<xs:attribute name="DevelopmentProblemIndicator" type="yesno" use="required"/>
															<xs:attribute name="TuberculosisTreatmentIndicator" type="yesno" use="required"/>
															<xs:attribute name="CurrentPregnant" type="codeList" use="optional"/>
															<xs:attribute name="VeteranStatusIndicator" type="yesno" use="required"/>
															<xs:attribute name="EnrolledInSchool" type="yesno" use="required"/>
															<xs:attribute name="PriorDetox" type="xs:int" use="required"/>
															<xs:attribute name="PriorResidential" type="xs:int" use="required"/>
															<xs:attribute name="PriorOutpatient" type="xs:int" use="required"/>
															<xs:attribute name="NumberofArrests" type="xs:int" use="required"/>
															<xs:attribute name="NumberofDUIArrests" type="xs:int" use="required"/>
															<xs:attribute name="IncomeSource" type="codeList" use="required"/>
															<xs:attribute name="PrimarySourcePayment" type="codeList" use="required"/>
															<xs:attribute name="WeeklyIncomeCode" type="codeList" use="required"/>
															<xs:attribute name="MonthlyIncomeAmt" type="xs:decimal" use="required"/>
															<xs:attribute name="LegalStatus" type="codeList" use="required"/>
															<xs:attribute name="LivingArrangement" type="codeList" use="required"/>
															<xs:attribute name="Education" type="codeList" use="required"/>
															<xs:attribute name="SpecialEducation" type="codeList" use="required"/>
														</xs:complexType>
													</xs:element>
													<xs:element name="ADAProgAssignSocialSupportRecovery" minOccurs="0" maxOccurs="unbounded">
														<xs:complexType>
															<xs:attribute name="SocialSupportRecoveryActivities" type="codeList" use="required"/>
														</xs:complexType>
													</xs:element>
													<xs:element name="ADAProgAssignPubAsst" minOccurs="0" maxOccurs="unbounded">
														<xs:complexType>
															<xs:attribute name="PublicAssistance" type="codeList" use="required"/>
														</xs:complexType>
													</xs:element>
													<xs:element name="ADAProgAssignMeds" minOccurs="0" maxOccurs="unbounded">
														<xs:complexType>
															<xs:attribute name="MedicationPrescribed" type="codeList" use="required"/>
														</xs:complexType>
													</xs:element>
													<xs:element name="ADAProgramClosure" minOccurs="0">
														<xs:complexType>
															<xs:attribute name="DateInfoReceivedfromConsumer" type="date" use="required"/>
															<xs:attribute name="CodependentIndicator" type="yesno" use="required"/>
															<xs:attribute name="PrimaryAbuserDMHID" type="xs:int" use="optional"/>
															<xs:attribute name="MethodoneUsePlan" type="yesNoUnknown" use="required"/>
															<xs:attribute name="NumArrestsInTreatment" type="xs:int" use="required"/>
															<xs:attribute name="HIVTest" type="codeList" use="required"/>
															<xs:attribute name="PrimarySubstanceAbused" type="codeList" use="optional"/>
															<xs:attribute name="PrimarySAFrequency" type="codeList" use="optional"/>
															<xs:attribute name="PrimarySARoute" type="codeList" use="optional"/>
															<xs:attribute name="PrimarySAAgeFirstUsed" type="xs:int" use="optional"/>
															<xs:attribute name="SecondarySubstanceAbused" type="codeList" use="optional"/>
															<xs:attribute name="SecondarySAFrequency" type="codeList" use="optional"/>
															<xs:attribute name="SecondarySARoute" type="codeList" use="optional"/>
															<xs:attribute name="SecondarySAAgeFirstUsed" type="xs:int" use="optional"/>
															<xs:attribute name="TertiarySubstanceAbused" type="codeList" use="optional"/>
															<xs:attribute name="TertiarySAFrequency" type="codeList" use="optional"/>
															<xs:attribute name="TertiarySARoute" type="codeList" use="optional"/>
															<xs:attribute name="TertiarySAAgeFirstUsed" type="xs:int" use="optional"/>
															<xs:attribute name="ServiceCounty" type="codeList" use="required"/>
															<xs:attribute name="PsychologicalProblemIndicator" type="yesNoUnknown" use="required"/>
															<xs:attribute name="DevelopmentProblemIndicator" type="yesNoUnknown" use="required"/>
															<xs:attribute name="TuberculosisTreatmentIndicator" type="yesNoUnknown" use="required"/>
															<xs:attribute name="CurrentPregnant" type="codeList" use="optional"/>
															<xs:attribute name="VeteranStatusIndicator" type="yesNoUnknown" use="required"/>
															<xs:attribute name="EnrolledInSchool" type="yesNoUnknown" use="required"/>
															<xs:attribute name="PriorDetox" type="xs:int" use="required"/>
															<xs:attribute name="PriorResidential" type="xs:int" use="required"/>
															<xs:attribute name="PriorOutpatient" type="xs:int" use="required"/>
															<xs:attribute name="NumberofArrests" type="xs:int" use="required"/>
															<xs:attribute name="NumberofDUIArrests" type="xs:int" use="required"/>
															<xs:attribute name="IncomeSource" type="codeList" use="required"/>
															<xs:attribute name="PrimarySourcePayment" type="codeList" use="required"/>
															<xs:attribute name="WeeklyIncomeCode" type="codeList" use="required"/>
															<xs:attribute name="MonthlyIncomeAmt" type="xs:decimal" use="required"/>
															<xs:attribute name="LegalStatus" type="codeList" use="required"/>
															<xs:attribute name="LivingArrangement" type="codeList" use="required"/>
															<xs:attribute name="Education" type="codeList" use="required"/>
															<xs:attribute name="SpecialEducation" type="codeList" use="required"/>
														</xs:complexType>
													</xs:element>
													<xs:element name="ADAProgClosureSocialSupportRecovery" minOccurs="0" maxOccurs="unbounded">
														<xs:complexType>
															<xs:attribute name="SocialSupportRecoveryActivities" type="codeList" use="required"/>
														</xs:complexType>
													</xs:element>
													<xs:element name="ADAProgClosurePubAsst" minOccurs="0" maxOccurs="unbounded">
														<xs:complexType>
															<xs:attribute name="PublicAssistance" type="codeList" use="required"/>
														</xs:complexType>
													</xs:element>
													<xs:element name="ADAProgClosureMeds" minOccurs="0" maxOccurs="unbounded">
														<xs:complexType>
															<xs:attribute name="MedicationPrescribed" type="codeList" use="required"/>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
												<xs:attribute name="Program" use="required">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:minLength value="1"/>
															<xs:maxLength value="30"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="ProgramFromDate" type="date" use="required"/>
												<xs:attribute name="ProgramFromTime" type="time" use="required"/>
												<xs:attribute name="Status" type="codeList" use="required"/>
												<xs:attribute name="LivingArrangement" type="codeList" use="optional"/>
												<xs:attribute name="ProgramToDate" type="date" use="optional"/>
												<xs:attribute name="ProgramToTime" type="time" use="optional"/>
												<xs:attribute name="ProgramLevel" type="codeList" use="optional"/>
												<xs:attribute name="ProgramLevelFromDate" type="date" use="optional"/>
												<xs:attribute name="ProgramLevelFromTime" type="time" use="optional"/>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="Division" use="required">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:maxLength value="4"/>
												<xs:enumeration value="CPS"/>
												<xs:enumeration value="ADA"/>
												<xs:enumeration value="MRDD"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="EnrollingProviderSiteName" use="required">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:maxLength value="64"/>
												<xs:minLength value="1"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="EnrollingProviderSiteID" use="required">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:maxLength value="64"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="AdmissionDateTime" type="dateTimeString" use="required"/>
									<xs:attribute name="AdmissionReason" type="codeList" use="optional"/>
									<xs:attribute name="ReferralSource" type="codeList" use="optional"/>
									<xs:attribute name="ReferralOffice" type="codeList" use="optional"/>
									<xs:attribute name="LocalChartNumber" use="optional">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:maxLength value="40"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="FamilySize" use="optional">
										<xs:simpleType>
											<xs:restriction base="xs:int"/>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="NumberOfChildrenInCare" use="optional">
										<xs:simpleType>
											<xs:restriction base="xs:int"/>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="DischargeReason" type="codeList" use="optional"/>
									<xs:attribute name="DischargeDateTime" type="dateTimeString" use="optional"/>
									<xs:attribute name="DischargeDiagnosisCode" use="optional">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:maxLength value="16"/>
												<xs:minLength value="1"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="TypeofFollowUp" type="codeList" use="optional"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="DocumentNumber" use="required">
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:maxLength value="128"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
						<xs:attribute name="DocumentFunction" use="required">
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:maxLength value="1"/>
									<xs:minLength value="1"/>
									<xs:enumeration value="0"/>
									<xs:enumeration value="1"/>
									<xs:enumeration value="2"/>
									<xs:enumeration value="3"/>
									<xs:enumeration value="4"/>
									<xs:enumeration value="5"/>
									<xs:enumeration value="6"/>
									<xs:enumeration value="7"/>
									<xs:enumeration value="8"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
						<xs:attribute name="DMHID" use="optional">
							<xs:simpleType>
								<xs:restriction base="xs:int">
									<xs:minInclusive value="1"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:simpleType name="date">
		<xs:restriction base="xs:date">
			<xs:pattern value="\d{4}-\d{2}-\d{2}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="time">
		<xs:restriction base="xs:string">
			<xs:pattern value="\d\d:\d\d(( *AM| *PM))?"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="yesno">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="1"/>
			<xs:enumeration value="0"/>
			<xs:enumeration value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="dateTimeString">
		<xs:restriction base="xs:string">
			<xs:pattern value="\d{4}-\d{2}-\d{2} *\d\d:\d\d(( *AM| *PM))?"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="yesNoUnknown">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="1"/>
			<xs:enumeration value="0"/>
			<xs:enumeration value="1"/>
			<xs:enumeration value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="codeList">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="16"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
