blob: fe758282f66e520195eaf0d96dadd043e7e24e12 [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="BiologicallyDerivedProduct" type="BiologicallyDerivedProduct">
<xs:annotation>
<xs:documentation xml:lang="en">A material substance originating from a biological entity intended to be transplanted or infused
into another (possibly the same) biological entity.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="BiologicallyDerivedProduct">
<xs:annotation>
<xs:documentation xml:lang="en">A material substance originating from a biological entity intended to be transplanted or infused
into another (possibly the same) biological entity.</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="identifier" minOccurs="0" maxOccurs="unbounded" type="Identifier">
<xs:annotation>
<xs:documentation xml:lang="en">This records identifiers associated with this biologically derived product instance that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="productCategory" minOccurs="0" maxOccurs="1" type="BiologicallyDerivedProductCategory">
<xs:annotation>
<xs:documentation xml:lang="en">Broad category of this product.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="productCode" minOccurs="0" maxOccurs="1" type="CodeableConcept">
<xs:annotation>
<xs:documentation xml:lang="en">A code that identifies the kind of this biologically derived product (SNOMED Ctcode).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="status" minOccurs="0" maxOccurs="1" type="BiologicallyDerivedProductStatus">
<xs:annotation>
<xs:documentation xml:lang="en">Whether the product is currently available.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="request" minOccurs="0" maxOccurs="unbounded" type="Reference">
<xs:annotation>
<xs:documentation xml:lang="en">Procedure request to obtain this biologically derived product.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="quantity" minOccurs="0" maxOccurs="1" type="integer">
<xs:annotation>
<xs:documentation xml:lang="en">Number of discrete units within this product.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="parent" minOccurs="0" maxOccurs="unbounded" type="Reference">
<xs:annotation>
<xs:documentation xml:lang="en">Parent product (if any).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="collection" type="BiologicallyDerivedProduct.Collection" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">How this product was collected.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="processing" type="BiologicallyDerivedProduct.Processing" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="en">Any processing of the product during collection that does not change the fundamental nature of the product. For example adding anti-coagulants during the collection of Peripheral Blood Stem Cells.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="manipulation" type="BiologicallyDerivedProduct.Manipulation" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">Any manipulation of product post-collection that is intended to alter the product. For example a buffy-coat enrichment or CD8 reduction of Peripheral Blood Stem Cells to make it more suitable for infusion.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="storage" type="BiologicallyDerivedProduct.Storage" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="en">Product storage.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="BiologicallyDerivedProduct.Collection">
<xs:annotation>
<xs:documentation xml:lang="en">A material substance originating from a biological entity intended to be transplanted or infused
into another (possibly the same) biological entity.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="BackboneElement">
<xs:sequence>
<xs:element name="collector" minOccurs="0" maxOccurs="1" type="Reference">
<xs:annotation>
<xs:documentation xml:lang="en">Healthcare professional who is performing the collection.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="source" minOccurs="0" maxOccurs="1" type="Reference">
<xs:annotation>
<xs:documentation xml:lang="en">The patient or entity, such as a hospital or vendor in the case of a processed/manipulated/manufactured product, providing the product.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0" maxOccurs="1" >
<xs:annotation>
<xs:documentation xml:lang="en">Time of product collection.</xs:documentation>
</xs:annotation>
<xs:element name="collectedDateTime" type="dateTime"/>
<xs:element name="collectedPeriod" type="Period"/>
</xs:choice>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="BiologicallyDerivedProduct.Processing">
<xs:annotation>
<xs:documentation xml:lang="en">A material substance originating from a biological entity intended to be transplanted or infused
into another (possibly the same) biological entity.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="BackboneElement">
<xs:sequence>
<xs:element name="description" minOccurs="0" maxOccurs="1" type="string">
<xs:annotation>
<xs:documentation xml:lang="en">Description of of processing.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="procedure" minOccurs="0" maxOccurs="1" type="CodeableConcept">
<xs:annotation>
<xs:documentation xml:lang="en">Procesing code.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="additive" minOccurs="0" maxOccurs="1" type="Reference">
<xs:annotation>
<xs:documentation xml:lang="en">Substance added during processing.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0" maxOccurs="1" >
<xs:annotation>
<xs:documentation xml:lang="en">Time of processing.</xs:documentation>
</xs:annotation>
<xs:element name="timeDateTime" type="dateTime"/>
<xs:element name="timePeriod" type="Period"/>
</xs:choice>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="BiologicallyDerivedProduct.Manipulation">
<xs:annotation>
<xs:documentation xml:lang="en">A material substance originating from a biological entity intended to be transplanted or infused
into another (possibly the same) biological entity.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="BackboneElement">
<xs:sequence>
<xs:element name="description" minOccurs="0" maxOccurs="1" type="string">
<xs:annotation>
<xs:documentation xml:lang="en">Description of manipulation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0" maxOccurs="1" >
<xs:annotation>
<xs:documentation xml:lang="en">Time of manipulation.</xs:documentation>
</xs:annotation>
<xs:element name="timeDateTime" type="dateTime"/>
<xs:element name="timePeriod" type="Period"/>
</xs:choice>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="BiologicallyDerivedProduct.Storage">
<xs:annotation>
<xs:documentation xml:lang="en">A material substance originating from a biological entity intended to be transplanted or infused
into another (possibly the same) biological entity.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="BackboneElement">
<xs:sequence>
<xs:element name="description" minOccurs="0" maxOccurs="1" type="string">
<xs:annotation>
<xs:documentation xml:lang="en">Description of storage.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="temperature" minOccurs="0" maxOccurs="1" type="decimal">
<xs:annotation>
<xs:documentation xml:lang="en">Storage temperature.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="scale" minOccurs="0" maxOccurs="1" type="BiologicallyDerivedProductStorageScale">
<xs:annotation>
<xs:documentation xml:lang="en">Temperature scale used.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="duration" minOccurs="0" maxOccurs="1" type="Period">
<xs:annotation>
<xs:documentation xml:lang="en">Storage timeperiod.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="BiologicallyDerivedProductCategory-list">
<xs:restriction base="code-primitive">
<xs:enumeration value="organ">
<xs:annotation>
<xs:documentation xml:lang="en">Organ</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="tissue">
<xs:annotation>
<xs:documentation xml:lang="en">Tissue</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="fluid">
<xs:annotation>
<xs:documentation xml:lang="en">Fluid</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="cells">
<xs:annotation>
<xs:documentation xml:lang="en">Cells</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="biologicalAgent">
<xs:annotation>
<xs:documentation xml:lang="en">BiologicalAgent</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="BiologicallyDerivedProductCategory">
<xs:annotation>
<xs:documentation xml:lang="en">Biologically Derived Product Category.</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="BiologicallyDerivedProductCategory-list" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="BiologicallyDerivedProductStatus-list">
<xs:restriction base="code-primitive">
<xs:enumeration value="available">
<xs:annotation>
<xs:documentation xml:lang="en">Available</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="unavailable">
<xs:annotation>
<xs:documentation xml:lang="en">Unavailable</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="BiologicallyDerivedProductStatus">
<xs:annotation>
<xs:documentation xml:lang="en">Biologically Derived Product Status.</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="BiologicallyDerivedProductStatus-list" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="BiologicallyDerivedProductStorageScale-list">
<xs:restriction base="code-primitive">
<xs:enumeration value="farenheit">
<xs:annotation>
<xs:documentation xml:lang="en">Fahrenheit</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="celsius">
<xs:annotation>
<xs:documentation xml:lang="en">Celsius</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="kelvin">
<xs:annotation>
<xs:documentation xml:lang="en">Kelvin</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="BiologicallyDerivedProductStorageScale">
<xs:annotation>
<xs:documentation xml:lang="en">BiologicallyDerived Product Storage Scale.</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="BiologicallyDerivedProductStorageScale-list" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>