<?xml version="1.0" encoding="utf-8"?>
<!--Bug 12287 - Added TB columns to TEDSProgAssign-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" id="Preencounter_Trans_20121119">
	<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="optional">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:maxLength value="16"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="DateOfBirth" type="date" use="optional"/>
												<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="optional"/>
												<xs:attribute name="PreferredLanguage" type="codeList" use="optional"/>
												<xs:attribute name="MaritalStatus" type="codeList" use="optional"/>
												<xs:attribute name="EmploymentStatus" type="codeList" use="optional"/>
												<xs:attribute name="Occupation" type="codeList" use="optional"/>
												<xs:attribute name="HomePhone" type="phone" use="optional"/>
												<xs:attribute name="WorkPhone" type="phone" 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">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="TEDSProgAssign" minOccurs="0">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="TEDSProgAssignPubAsst" minOccurs="0" maxOccurs="unbounded">
																	<xs:complexType>
																		<xs:attribute name="PublicAssistance" type="codeList" use="required"/>
																	</xs:complexType>
																</xs:element>
																<xs:element name="TEDSProgAssignMeds" minOccurs="0" maxOccurs="unbounded">
																	<xs:complexType>
																		<xs:attribute name="MedicationPrescribed" type="codeList" use="required"/>
																	</xs:complexType>
																</xs:element>
															</xs:sequence>
															<xs:attribute name="ProviderSiteID" 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="DateInfoReceivedfromConsumer" type="date" use="required"/>
															<xs:attribute name="PrimarySubstanceAbused" type="codeList" use="required"/>
															<xs:attribute name="PrimarySAFrequency" type="codeList" use="required"/>
															<xs:attribute name="PrimarySARoute" type="codeList" use="required"/>
															<xs:attribute name="PrimarySAAgeFirstUsed" type="codeList" use="required"/>
															<xs:attribute name="SecondarySubstanceAbused" type="codeList" use="required"/>
															<xs:attribute name="SecondarySAFrequency" type="codeList" use="required"/>
															<xs:attribute name="SecondarySARoute" type="codeList" use="required"/>
															<xs:attribute name="SecondarySAAgeFirstUsed" type="codeList" use="required"/>
															<xs:attribute name="TertiarySubstanceAbused" type="codeList" use="required"/>
															<xs:attribute name="TertiarySAFrequency" type="codeList" use="required"/>
															<xs:attribute name="TertiarySARoute" type="codeList" use="required"/>
															<xs:attribute name="TertiarySAAgeFirstUsed" type="codeList" use="required"/>
															<xs:attribute name="TreatmentCounty" type="codeList" use="required"/>
															<xs:attribute name="PsychologicalProblemIndicator" type="yesno" use="required"/>
															<xs:attribute name="DevelopmentProblemIndicator" 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="yesNoUnknown" use="required"/>
															<xs:attribute name="PriorDetox" type="codeList" use="required"/>
															<xs:attribute name="PriorResidential" type="codeList" use="required"/>
															<xs:attribute name="PriorOutpatient" type="codeList" use="required"/>
															<xs:attribute name="NumberofArrests" type="codeList" use="required"/>
															<xs:attribute name="NumberofDUIArrests" type="codeList" 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:attribute name="GradePointAverage" type="codeList" use="optional"/>
															<xs:attribute name="PrimaryHealthInsurance" type="codeList" use="required"/>
															<xs:attribute name="MaritalStatus" type="codeList" use="required"/>
															<xs:attribute name="EmploymentStatus" type="codeList" use="required"/>
															<xs:attribute name="Occupation" type="codeList" use="required"/>
															<xs:attribute name="SelfHelpFrequency" type="codeList" use="required"/>
															<xs:attribute name="NumberOfChildrenInYourCare" type="codeList" use="required"/>
															<xs:attribute name="ChildrenRemovedFromCustody" type="codeList" use="required"/>
															<xs:attribute name="Comment" type="xs:string" use="optional"/>
															<xs:attribute name="HIVTest" type="codeList" use="optional"/>
															<xs:attribute name="NumberOfLiveBirths" type="codeList" use="optional"/>
															<xs:attribute name="NumberOfDrugFreeBirths" type="codeList" use="optional"/>
															<xs:attribute name="ReasonForDrugExposure" type="codeList" use="optional"/>
															<xs:attribute name="NumberOfChildrenReturned" type="codeList" use="optional"/>
															<xs:attribute name="ReferredForTBTesting" type="yesno" use="required"/>
															<xs:attribute name="TBTestDate" type="date" use="optional"/>
															<xs:attribute name="ReceivedTBCounseling" type="yesno" use="optional"/>
															<xs:attribute name="TBTestPositive" type="yesNoUnknown" use="optional"/>
														</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:attribute name="CurrentlyPregnant" type="codeList" use="optional"/>
												<xs:attribute name="IVDrugUser" type="codeList" 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:attribute name="DOCID" use="optional">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:minLength value="7"/>
												<xs:maxLength value="7"/>
												<xs:pattern value="\d{7}"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="InitialContactDate" type="date" use="optional"/>
									<xs:attribute name="DOCHighRisk" type="yesno" 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:simpleType name="phone">
		<xs:restriction base="xs:string">
			<xs:pattern value="\d{10}"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
