<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://www.vetxml.org/schemas/LaboratoryReport" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.vetxml.org/schemas/LaboratoryReport" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.3" 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="ReportType" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Identifies LabReport type as being a result or request</xs:documentation>
								</xs:annotation>
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="Result"/>
										<xs:enumeration value="Request"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="PracticeID" type="xs:string">
								<xs:annotation>
									<xs:documentation>Unique practice identifier</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="PracticeRef" type="xs:string">
								<xs:annotation>
									<xs:documentation>Practice reference number for LabReport</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="LaboratoryID" type="xs:string">
								<xs:annotation>
									<xs:documentation>Unique laboratory identifier</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="LaboratoryRef" type="xs:string">
								<xs:annotation>
									<xs:documentation>Laboratory reference number for LabReport</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="OwnerName" type="xs:string" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Patient owner name</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="OwnerID" type="xs:string" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Unique owner identifier</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="VetName" type="xs:string" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Veterinarian name</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="VetID" type="xs:string" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Unique veterinarian identifier</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="BillingType" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Identifies the party being billed for the services</xs:documentation>
								</xs:annotation>
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="Practice"/>
										<xs:enumeration value="AnimalOwner"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="PIMSName" type="xs:string" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Name of practice information management software system used by practice</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="PIMSVersion" type="xs:string" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Version of practice information management software system used by practice</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="ReportNotes" type="xs:string" minOccurs="0">
								<xs:annotation>
									<xs:documentation>A short narrative regarding the LabReport</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="AnimalDetails">
					<xs:annotation>
						<xs:documentation>Laboratory report animal information</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="AnimalID" type="xs:string" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Unique patient identifier</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="AnimalName" type="xs:string">
								<xs:annotation>
									<xs:documentation>Patient name</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="Gender" type="xs:string" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Gender of patient</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="Species" type="xs:string">
								<xs:annotation>
									<xs:documentation>Species name of patient</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="Breed" type="xs:string" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Breed name of patient</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="Age" type="xs:string" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Age of patient</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="DateOfBirth" type="xs:date" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Date of birth for patient</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="AbbreviatedHistory" type="xs:string" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Short narrative of patient medical condition or medical history</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="LabRequests" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Laboratory report test requests</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="LabRequest" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>Information for an individual test service being requested</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="TestCode" type="xs:string" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Unique identifier for the test service</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="TestName" type="xs:string" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Name of test service</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="TestType" type="xs:string">
											<xs:annotation>
												<xs:documentation>Type of test service</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="Sample" minOccurs="0" maxOccurs="unbounded">
											<xs:annotation>
												<xs:documentation>Information for the sample utilized for the test service (supports multiple samples per service)</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="SampleRef" type="xs:string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Information about the sample type submitted for the test service</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="SampleCollectionDate" type="xs:dateTime" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Date the sample was collected</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="SampleReceptionDate" type="xs:dateTime" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Date the sample was received</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="SampleNotes" type="xs:string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>A short narritive regarding the sample submitted</xs:documentation>
														</xs:annotation>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="RequestDate" type="xs:dateTime" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Date the test service was requested</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="RequestStatus" type="xs:string" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Status identifier for the test service requested</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="RequestNotes" type="xs:string" minOccurs="0">
											<xs:annotation>
												<xs:documentation>A short narrative regarding the test service requested</xs:documentation>
											</xs:annotation>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</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" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>Information for an individual test service result</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="LabResultHeader">
											<xs:annotation>
												<xs:documentation>Laboratory result identification information for a test service</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="TestCode" type="xs:string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Unique identifier for the test service</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="TestName" type="xs:string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Name of test service</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="TestType" type="xs:string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Type of test service</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="ResultDate" type="xs:dateTime" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Date of the test service result (Replaces PrintDate)</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="ResultStatus" type="xs:string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Status identifier for the result of the test service</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="ResultNotes" type="xs:string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>A short narrative regarding the result of the test service</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="RawResultData" type="xs:string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>A textual dump of the result data (Deprecated: This field is present to support backwards compatibility)</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="Sample" minOccurs="0" maxOccurs="unbounded">
														<xs:annotation>
															<xs:documentation>Information for the sample utilized for the test service (supports multiple samples per service)</xs:documentation>
														</xs:annotation>
														<xs:complexType>
															<xs:sequence>
																<xs:element name="SampleRef" type="xs:string" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>Information about the sample type submitted for the test service</xs:documentation>
																	</xs:annotation>
																</xs:element>
																<xs:element name="SampleCollectionDate" type="xs:dateTime" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>Date the sample was collected</xs:documentation>
																	</xs:annotation>
																</xs:element>
																<xs:element name="SampleReceptionDate" type="xs:dateTime" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>Date the sample was received</xs:documentation>
																	</xs:annotation>
																</xs:element>
																<xs:element name="SampleNotes" type="xs:string" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>A short narritive regarding the sample submitted</xs:documentation>
																	</xs:annotation>
																</xs:element>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="LabResultItems" minOccurs="0">
											<xs:annotation>
												<xs:documentation>The collection of reportable analytes for a test service</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="LabResultItem" maxOccurs="unbounded">
														<xs:annotation>
															<xs:documentation>Result information for an individual analyte</xs:documentation>
														</xs:annotation>
														<xs:complexType>
															<xs:sequence>
																<xs:element name="AnalyteCode" type="xs:string" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>Unique identifier for the analyte for which a result is being reported</xs:documentation>
																	</xs:annotation>
																</xs:element>
																<xs:element name="AnalyteName" type="xs:string" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>Name of the analyte for which a result is being reported</xs:documentation>
																	</xs:annotation>
																</xs:element>
																<xs:element name="Result" type="xs:decimal" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>Numeric result value for analyte</xs:documentation>
																	</xs:annotation>
																</xs:element>
																<xs:element name="ResultText" type="xs:string" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>Alphanumeric result value for analyte</xs:documentation>
																	</xs:annotation>
																</xs:element>
																<xs:element name="Units" type="xs:string" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>Unit of measure for analyte result</xs:documentation>
																	</xs:annotation>
																</xs:element>
																<xs:element name="LowRange" type="xs:decimal" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>The low reference range value for the analyte being reported</xs:documentation>
																	</xs:annotation>
																</xs:element>
																<xs:element name="HighRange" type="xs:decimal" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>The high reference range value for the analyte being reported</xs:documentation>
																	</xs:annotation>
																</xs:element>
																<xs:element name="ExtremeLowRange" type="xs:decimal" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>The extreme low reference range value for the analyte being reported</xs:documentation>
																	</xs:annotation>
																</xs:element>
																<xs:element name="ExtremeHighRange" type="xs:decimal" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>The extreme high reference range value for the analyte being reported</xs:documentation>
																	</xs:annotation>
																</xs:element>
																<xs:element name="PathologistName" type="xs:string" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>The pathologist identified with the result for the analyte being reported</xs:documentation>
																	</xs:annotation>
																</xs:element>
																<xs:element name="PathologistTitle" type="xs:string" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>The title of the pathologist identified with the result for the analyte being reported</xs:documentation>
																	</xs:annotation>
																</xs:element>
																<xs:element name="Notes" type="xs:string" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>A short narrative regarding the result being reported for the analyte</xs:documentation>
																	</xs:annotation>
																</xs:element>
															</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:element name="LabFee" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Laboratory report fee</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Currency" type="xs:string">
								<xs:annotation>
									<xs:documentation>The currency identifier associated with the LabReport Fee</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="Fee" type="xs:decimal" use="required">
							<xs:annotation>
								<xs:documentation>Numeric value of the cost of the LabReport</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="version" type="xs:string" use="required">
				<xs:annotation>
					<xs:documentation>Version number of report message</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
</xs:schema>
