<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://www.vetxml.org/schemas/LaboratoryReport" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.2" id="LaboratoryReport">
	<xs:element name="LabReport">
		<xs:annotation>
			<xs:documentation>Laboratory report conversation schema</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Identification">
					<xs:annotation>
						<xs:documentation>Laboratory report identification information</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="PracticeID" type="xs:string"/>
							<xs:element name="PracticeRef" type="xs:string"/>
							<xs:element name="LaboratoryID" type="xs:string"/>
							<xs:element name="LaboratoryRef" type="xs:string"/>
							<xs:element name="AnimalName" type="xs:string"/>
							<xs:element name="AnimalID" type="xs:string" minOccurs="0"/>
							<xs:element name="OwnerName" type="xs:string" minOccurs="0"/>
							<xs:element name="OwnerID" type="xs:string" minOccurs="0"/>
							<xs:element name="VetName" type="xs:string" minOccurs="0"/>
							<xs:element name="VetID" type="xs:string" minOccurs="0"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="AnimalDetails" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Laboratory report animal information</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Species" type="xs:string" minOccurs="0"/>
							<xs:element name="Breed" type="xs:string" minOccurs="0"/>
							<xs:element name="Age" type="xs:string" minOccurs="0"/>
							<xs:element name="DateOfBirth" type="xs:date" minOccurs="0"/>
							<xs:element name="Gender" type="xs:string" minOccurs="0"/>
							<xs:element name="AbbreviatedHistory" type="xs:string" minOccurs="0"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="LabRequests">
					<xs:annotation>
						<xs:documentation>Laboratory report test requests</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="LabRequest" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="TestType" type="xs:string"/>
										<xs:element name="TestCode" type="xs:string" minOccurs="0"/>
										<xs:element name="SampleRef" type="xs:string" minOccurs="0"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="LabFee" type="xs:decimal" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Laboratory report fee</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="LabResults" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Laboratory report test results</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="LabResult" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="LabResultHeader" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="TestType" type="xs:string" minOccurs="0"/>
													<xs:element name="TestCode" type="xs:string" minOccurs="0"/>
													<xs:element name="RequestDate" type="xs:dateTime" minOccurs="0"/>
													<xs:element name="Sample" minOccurs="0">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="SampleRef" type="xs:string" minOccurs="0"/>
																<xs:element name="SampleCollectionDate" type="xs:dateTime" minOccurs="0"/>
																<xs:element name="SampleReceptionDate" type="xs:dateTime" minOccurs="0"/>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
													<xs:element name="PrintDate" type="xs:dateTime" minOccurs="0"/>
													<xs:element name="RawResultData" type="xs:string" minOccurs="0"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="LabResultItems" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="LabResultItem" minOccurs="0" maxOccurs="unbounded">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="AnalyteName" type="xs:string" minOccurs="0"/>
																<xs:element name="Result" type="xs:decimal" minOccurs="0"/>
																<xs:element name="Units" type="xs:string" minOccurs="0"/>
																<xs:element name="ExtremeLowRange" type="xs:decimal" minOccurs="0"/>
																<xs:element name="ExtremeHighRange" type="xs:decimal" minOccurs="0"/>
																<xs:element name="Notes" type="xs:string" minOccurs="0"/>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="version" type="xs:string"/>
		</xs:complexType>
	</xs:element>
</xs:schema>
