blob: 2249f37536dd5f1d10bfb3e2e260e510550f4f6e [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2011+, HL7, Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of HL7 nor the names of its contributors may be used to
endorse or promote products derived from this software without specific
prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Generated on Thu, Dec 27, 2018 22:37+1100 for FHIR v4.0.0
Note: the schemas &amp; schematrons do not contain all of the rules about what makes resources
valid. Implementers will still need to be familiar with the content of the specification and with
any profiles that apply to the resources in order to make a conformant implementation.
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://hl7.org/fhir" xmlns:xhtml="http://www.w3.org/1999/xhtml" targetNamespace="http://hl7.org/fhir" elementFormDefault="qualified" version="1.0">
<xs:include schemaLocation="fhir-base.xsd"/>
<xs:element name="ObservationDefinition" type="ObservationDefinition">
<xs:annotation>
<xs:documentation xml:lang="en">Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="ObservationDefinition">
<xs:annotation>
<xs:documentation xml:lang="en">Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.</xs:documentation>
<xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="DomainResource">
<xs:sequence>
<xs:element name="category" minOccurs="0" maxOccurs="unbounded" type="CodeableConcept">
<xs:annotation>
<xs:documentation xml:lang="en">A code that classifies the general type of observation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="code" minOccurs="1" maxOccurs="1" type="CodeableConcept">
<xs:annotation>
<xs:documentation xml:lang="en">Describes what will be observed. Sometimes this is called the observation &quot;name&quot;.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="identifier" minOccurs="0" maxOccurs="unbounded" type="Identifier">
<xs:annotation>
<xs:documentation xml:lang="en">A unique identifier assigned to this ObservationDefinition artifact.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="permittedDataType" minOccurs="0" maxOccurs="unbounded" type="ObservationDataType">
<xs:annotation>
<xs:documentation xml:lang="en">The data types allowed for the value element of the instance observations conforming to this ObservationDefinition.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="multipleResultsAllowed" minOccurs="0" maxOccurs="1" type="boolean">
<xs:annotation>
<xs:documentation xml:lang="en">Multiple results allowed for observations conforming to this ObservationDefinition.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="method" minOccurs="0" maxOccurs="1" type="CodeableConcept">
<xs:annotation>
<xs:documentation xml:lang="en">The method or technique used to perform the observation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="preferredReportName" minOccurs="0" maxOccurs="1" type="string">
<xs:annotation>
<xs:documentation xml:lang="en">The preferred name to be used when reporting the results of observations conforming to this ObservationDefinition.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="quantitativeDetails" type="ObservationDefinition.QuantitativeDetails" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">Characteristics for quantitative results of this observation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="qualifiedInterval" type="ObservationDefinition.QualifiedInterval" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="en">Multiple ranges of results qualified by different contexts for ordinal or continuous observations conforming to this ObservationDefinition.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="validCodedValueSet" minOccurs="0" maxOccurs="1" type="Reference">
<xs:annotation>
<xs:documentation xml:lang="en">The set of valid coded results for the observations conforming to this ObservationDefinition.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="normalCodedValueSet" minOccurs="0" maxOccurs="1" type="Reference">
<xs:annotation>
<xs:documentation xml:lang="en">The set of normal coded results for the observations conforming to this ObservationDefinition.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="abnormalCodedValueSet" minOccurs="0" maxOccurs="1" type="Reference">
<xs:annotation>
<xs:documentation xml:lang="en">The set of abnormal coded results for the observation conforming to this ObservationDefinition.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="criticalCodedValueSet" minOccurs="0" maxOccurs="1" type="Reference">
<xs:annotation>
<xs:documentation xml:lang="en">The set of critical coded results for the observation conforming to this ObservationDefinition.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ObservationDefinition.QuantitativeDetails">
<xs:annotation>
<xs:documentation xml:lang="en">Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="BackboneElement">
<xs:sequence>
<xs:element name="customaryUnit" minOccurs="0" maxOccurs="1" type="CodeableConcept">
<xs:annotation>
<xs:documentation xml:lang="en">Customary unit used to report quantitative results of observations conforming to this ObservationDefinition.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="unit" minOccurs="0" maxOccurs="1" type="CodeableConcept">
<xs:annotation>
<xs:documentation xml:lang="en">SI unit used to report quantitative results of observations conforming to this ObservationDefinition.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="conversionFactor" minOccurs="0" maxOccurs="1" type="decimal">
<xs:annotation>
<xs:documentation xml:lang="en">Factor for converting value expressed with SI unit to value expressed with customary unit.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="decimalPrecision" minOccurs="0" maxOccurs="1" type="integer">
<xs:annotation>
<xs:documentation xml:lang="en">Number of digits after decimal separator when the results of such observations are of type Quantity.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ObservationDefinition.QualifiedInterval">
<xs:annotation>
<xs:documentation xml:lang="en">Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="BackboneElement">
<xs:sequence>
<xs:element name="category" minOccurs="0" maxOccurs="1" type="ObservationRangeCategory">
<xs:annotation>
<xs:documentation xml:lang="en">The category of interval of values for continuous or ordinal observations conforming to this ObservationDefinition.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="range" minOccurs="0" maxOccurs="1" type="Range">
<xs:annotation>
<xs:documentation xml:lang="en">The low and high values determining the interval. There may be only one of the two.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="context" minOccurs="0" maxOccurs="1" type="CodeableConcept">
<xs:annotation>
<xs:documentation xml:lang="en">Codes to indicate the health context the range applies to. For example, the normal or therapeutic range.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="appliesTo" minOccurs="0" maxOccurs="unbounded" type="CodeableConcept">
<xs:annotation>
<xs:documentation xml:lang="en">Codes to indicate the target population this reference range applies to.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="gender" minOccurs="0" maxOccurs="1" type="AdministrativeGender">
<xs:annotation>
<xs:documentation xml:lang="en">Sex of the population the range applies to.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="age" minOccurs="0" maxOccurs="1" type="Range">
<xs:annotation>
<xs:documentation xml:lang="en">The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="gestationalAge" minOccurs="0" maxOccurs="1" type="Range">
<xs:annotation>
<xs:documentation xml:lang="en">The gestational age to which this reference range is applicable, in the context of pregnancy.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="condition" minOccurs="0" maxOccurs="1" type="string">
<xs:annotation>
<xs:documentation xml:lang="en">Text based condition for which the reference range is valid.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="ObservationDataType-list">
<xs:restriction base="code-primitive">
<xs:enumeration value="Quantity">
<xs:annotation>
<xs:documentation xml:lang="en">Quantity</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="CodeableConcept">
<xs:annotation>
<xs:documentation xml:lang="en">CodeableConcept</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="string">
<xs:annotation>
<xs:documentation xml:lang="en">string</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="boolean">
<xs:annotation>
<xs:documentation xml:lang="en">boolean</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="integer">
<xs:annotation>
<xs:documentation xml:lang="en">integer</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Range">
<xs:annotation>
<xs:documentation xml:lang="en">Range</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Ratio">
<xs:annotation>
<xs:documentation xml:lang="en">Ratio</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="SampledData">
<xs:annotation>
<xs:documentation xml:lang="en">SampledData</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="time">
<xs:annotation>
<xs:documentation xml:lang="en">time</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="dateTime">
<xs:annotation>
<xs:documentation xml:lang="en">dateTime</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Period">
<xs:annotation>
<xs:documentation xml:lang="en">Period</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ObservationDataType">
<xs:annotation>
<xs:documentation xml:lang="en">Permitted data type for observation value.</xs:documentation>
<xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="Element">
<xs:attribute name="value" type="ObservationDataType-list" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="ObservationRangeCategory-list">
<xs:restriction base="code-primitive">
<xs:enumeration value="reference">
<xs:annotation>
<xs:documentation xml:lang="en">reference range</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="critical">
<xs:annotation>
<xs:documentation xml:lang="en">critical range</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="absolute">
<xs:annotation>
<xs:documentation xml:lang="en">absolute range</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ObservationRangeCategory">
<xs:annotation>
<xs:documentation xml:lang="en">Codes identifying the category of observation range.</xs:documentation>
<xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="Element">
<xs:attribute name="value" type="ObservationRangeCategory-list" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>