View Schema

View PHR Schema

labTest.xsd

<?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>