<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://indivo.org/xml/phr/labTest"
xmlns:lab="http://indivo.org/xml/phr/labTest"
xmlns:phd="http://indivo.org/xml/phr/personalHealthData"
xmlns:type="http://indivo.org/xml/phr/types"
xmlns:con="http://indivo.org/xml/phr/contact"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="unqualified">
<import namespace="http://indivo.org/xml/phr/personalHealthData"
schemaLocation="http://indivo.org/xml/phr/personalHealthData.xsd"/>
<import namespace="http://indivo.org/xml/phr/types"
schemaLocation="http://indivo.org/xml/phr/types.xsd"/>
<import namespace="http://indivo.org/xml/phr/contact"
schemaLocation="http://indivo.org/xml/phr/contact.xsd"/>
<element name="LabRoot" type="lab:LabRootType"/>
<complexType name="LabRootType">
<complexContent>
<extension base="phd:PersonalHealthDataType">
<sequence>
<element name="LaboratoryName" type="string" minOccurs="1"/>
<element name="LaboratoryContact" type="con:ConciseContactInformationType" minOccurs="0"/>
<choice>
<element ref="lab:LabGroup"/>
<element ref="lab:LabTest"/>
</choice>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="LabGroup" type="lab:LabGroupType"/>
<complexType name="LabGroupType">
<sequence>
<element name="GroupName" type="string" minOccurs="1"/>
<element name="SubGroups" type="lab:LabGroupType" minOccurs="0" maxOccurs="unbounded"/>
<element name="LabTests" type="lab:LabTestType" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<element name="LabTest" type="lab:LabTestType"/>
<complexType name="LabTestType">
<sequence>
<element name="Name" type="string" minOccurs="0"/>
<element name="Substance" type="string" minOccurs="0"/>
<element name="CollectionMethod" type="string" minOccurs="0"/>
<element name="Abbreviation" type="string" minOccurs="0"/>
<element name="Description" type="string" minOccurs="0"/>
<element name="DateTime" type="dateTime" minOccurs="1"/>
<element name="Code" type="type:CodedValueType" minOccurs="0" maxOccurs="unbounded"/>
<element name="Result" type="lab:ResultType" minOccurs="0"/>
<element name="Status" type="type:CodedValueType" minOccurs="0"/>
</sequence>
</complexType>
<complexType name="ResultType">
<sequence>
<choice>
<sequence>
<element name="Value" type="double" minOccurs="0"/>
<element name="Unit" type="type:CodedValueType" minOccurs="0"/>
<element name="ReferenceRange" type="type:DoubleRangeType" minOccurs="0"/>
<element name="ToxicRange" type="type:DoubleRangeType" minOccurs="0"/>
</sequence>
<element name="TextValue" type="string" minOccurs="0"/>
</choice>
<element name="Flag" type="type:CodedValueType" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</schema>