<!-- 
    
    DECOR datatypes schema
    Copyright (C) 2009-2015 Dr. Kai U. Heitmann
    
    This program is free software; you can redistribute it and/or modify it under the terms 
    of the GNU General Public License as published by the Free Software Foundation; 
    either version 3 of the License, or (at your option) any later version.
    
    This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 
    without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
    See the GNU General Public License for more details.
    
    See http://www.gnu.org/licenses/gpl.html
    
-->
<xs:schema xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:sqf="http://www.schematron-quickfix.com/validator/process" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:simpleType name="ReleaseStatusCodeLifeCycle">
        <!-- 
            release status codes
        -->
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Life cycle of the Status Code of a Release</xs:documentation>
        </xs:annotation>
        <xs:restriction base="EnumerationToken">
            <xs:enumeration value="draft">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Ontwerp</xforms:label>
                        <xforms:label xml:lang="en-US">Draft</xforms:label>
                        <xforms:label xml:lang="de-DE">Entwurf</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Release under development (nascent). Entered primarily to encourage other users to be aware of ongoing process.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pending">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Onder revisie vóór de publicatie</xforms:label>
                        <xforms:label xml:lang="en-US">Under pre-publication review</xforms:label>
                        <xforms:label xml:lang="de-DE">Unter Revision vor der Publikation</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Release is in pre-publication review: the Release is complete, pending appropriate review.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="active">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Actief</xforms:label>
                        <xforms:label xml:lang="en-US">Active</xforms:label>
                        <xforms:label xml:lang="de-DE">Aktiv</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Release has been published by the governance group (custodian organization) and deemed fit for use. May have associated adoption and annotation metadata.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="retired">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Obsoleet</xforms:label>
                        <xforms:label xml:lang="en-US">Retired</xforms:label>
                        <xforms:label xml:lang="de-DE">Obsolet</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Release retired: No longer fit for use. Information available for historical reference.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cancelled">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Geannuleerd</xforms:label>
                        <xforms:label xml:lang="en-US">Cancelled</xforms:label>
                        <xforms:label xml:lang="de-DE">Annuliert</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Release was never published as active and is withdrawn.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="failed">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Build failed</xforms:label>
                        <xforms:label xml:lang="en-US">Build failed</xforms:label>
                        <xforms:label xml:lang="de-DE">Build failed</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Release build failed.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ItemStatusCodeLifeCycle">
        <!-- 
            o - > new- - > draft - - > final - - - > o
             \
              \  - - - > rejected
               \ - - - > cancelled
                \ - - -> deprecated
                
            
               
            (approved) and (implemented) are under approvals
        -->
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Life cycle of the Status Code of a Dataset Item</xs:documentation>
        </xs:annotation>
        <xs:restriction base="EnumerationToken">
            <xs:enumeration value="new">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Nieuw</xforms:label>
                        <xforms:label xml:lang="en-US">New</xforms:label>
                        <xforms:label xml:lang="de-DE">Neu</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Item just created and is new and work in progress to become a draft/finalized item/issue. Beyond the author, nobody should look at this
                        item/issue unless it's status code is draft or finalized.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="draft">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Ontwerp</xforms:label>
                        <xforms:label xml:lang="en-US">Draft</xforms:label>
                        <xforms:label xml:lang="de-DE">Entwurf</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Item is draft</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pending">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Onder revisie vóór de publicatie</xforms:label>
                        <xforms:label xml:lang="en-US">Under pre-publication review</xforms:label>
                        <xforms:label xml:lang="de-DE">Unter Revision vor der Publikation</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Item is in pre-publication review: the item is complete, pending appropriate review.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="final">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Definitief</xforms:label>
                        <xforms:label xml:lang="en-US">Final</xforms:label>
                        <xforms:label xml:lang="de-DE">Definitiv</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Item finalized, ready for approval</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="rejected">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Afgewezen</xforms:label>
                        <xforms:label xml:lang="en-US">Rejected</xforms:label>
                        <xforms:label xml:lang="de-DE">Abgewiesen</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Item is rejected</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cancelled">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Geannuleerd</xforms:label>
                        <xforms:label xml:lang="en-US">Cancelled</xforms:label>
                        <xforms:label xml:lang="de-DE">Annuliert</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Item is cancelled</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="deprecated">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Verouderd</xforms:label>
                        <xforms:label xml:lang="en-US">Deprecated</xforms:label>
                        <xforms:label xml:lang="de-DE">Veraltet</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Item is deprecated, i.e. item should be avoided to be used, typically because it will be or has been superseded</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="TemplateStatusCodeLifeCycle">
        <!-- 
            template status (see also HL7 Templates Business Process Requirements Analysis as of January 2012)
            
            Nascent: Under development. Metadata and template may be incomplete. Entered primarily to encourage other users to be aware of ongoing process.
            
            Active: Has been published by the custodian organization and deemed fit for use. May have associated adoption and annotation metadata.
            
            Inactive: Never recommended for use. For example, rejected, withdrawn or found another template fit for use of the one under development. 
            Will not have associated adoption metadata.
            
            Under Update (adoption metadata): adopter adds adoption metadata and/or grouping metadata: these are the only actions an adopter 
            organization can perform. The template(s) in the “under update (adoption metadata” status are unavailable for any other status or 
            metadata changes until the “under update (adoption metadata” action has been completed.
            
            Pre-publication review: the template is complete, pending appropriate review. Entered primarily to encourage other users to be 
            aware of and/or participate in the review process. The custodian organization has not given it an “Active” status (i.e. it has
            not been published); and it may still be rejected (transitioned to an inactive status). E.g. the template may be under ballot by an SDO.
            
            In Review: a post-publication state; may result in a new version or a retirement or no change at all. A new version is one that
            adds clarity but not new intent; the version number is incremented by one, but the identifier is unchanged. A retirement is a 
            template that is no longer fit for purpose, and which may be replaced by a different a template with a different identifier, 
            which is linked to the retired template.
            
            Retired: No longer fit for use. Information available for historical reference.
            
        -->
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Life cycle of the Status Code of a Template Design (Version)</xs:documentation>
        </xs:annotation>
        <xs:restriction base="EnumerationToken">
            <xs:enumeration value="draft">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Ontwerp</xforms:label>
                        <xforms:label xml:lang="en-US">Draft</xforms:label>
                        <xforms:label xml:lang="de-DE">Entwurf</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Template under development (nascent). Metadata and template may be incomplete. Entered primarily to encourage other users to be aware of ongoing
                        process.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="active">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Actief</xforms:label>
                        <xforms:label xml:lang="en-US">Active</xforms:label>
                        <xforms:label xml:lang="de-DE">Aktiv</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Template has been published by the governance group (custodian organization) and deemed fit for use. May have associated adoption and annotation metadata.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="retired">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Obsoleet</xforms:label>
                        <xforms:label xml:lang="en-US">Retired</xforms:label>
                        <xforms:label xml:lang="de-DE">Obsolet</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Template retired: No longer fit for use. Information available for historical reference.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <!-- 
                the following states are not really used by template repositories but serve as template registry metadata
            -->
            <xs:enumeration value="rejected">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Afgewezen</xforms:label>
                        <xforms:label xml:lang="en-US">Rejected</xforms:label>
                        <xforms:label xml:lang="de-DE">Abgewiesen</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Template is rejected. During the development proces of a template design (new, draft) it was decided that
                        further development on this template will not happen.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cancelled">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Geannuleerd</xforms:label>
                        <xforms:label xml:lang="en-US">Cancelled</xforms:label>
                        <xforms:label xml:lang="de-DE">Annuliert</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Template was never published and is withdrawn.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pending">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Onder revisie vóór de publicatie</xforms:label>
                        <xforms:label xml:lang="en-US">Under pre-publication review</xforms:label>
                        <xforms:label xml:lang="de-DE">Unter Revision vor der Publikation</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Template is in pre-publication review: the template is complete, pending appropriate review. Entered primarily to encourage other users to be
                        aware of and/or participate in the review process. The governance group (custodian organization) has not given it an "active" status (i.e. it has not been published); 
                        and it may still be rejected (transitioned to an inactive status)., e.g. the template may be under ballot by an SDO.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="review">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Wordt gereviewed</xforms:label>
                        <xforms:label xml:lang="en-US">In Review</xforms:label>
                        <xforms:label xml:lang="de-DE">In Revision</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Template is in review: a post-publication state; may result in a new version or a retirement or no change at all. 
                        A new version is one that adds clarity but not new intent (new version date but identifier is unchanged).
                        A retirement is a template that is no longer fit for purpose, and which
                        may be replaced by a different a template (version), which is linked to the retired template.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <!-- begin the following states are not templates DSTU R1 -->
            <!--
            <xs:enumeration value="inactive">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Inactief</xforms:label>
                        <xforms:label xml:lang="en-US">inactive</xforms:label>
                        <xforms:label xml:lang="de-DE">Inaktiv</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Template was published but never recommended for use. For example, rejected, withdrawn or found another template fit for use of the one under development. Will not
                        have associated adoption metadata. </xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="update">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">In bewerking</xforms:label>
                        <xforms:label xml:lang="en-US">Under update</xforms:label>
                        <xforms:label xml:lang="de-DE">In Bearbeitung</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Template is undergoing an update (adoption metadata): adopter adds adoption metadata and/or grouping metadata: these are the only actions an adopter
                        organization can perform. The template(s) in the "under update (adoption metadata)" status are unavailable for any other status or metadata changes until the "under update
                        (adoption metadata)" action has been completed.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            -->
            <!-- end the following states are not templates DSTU R1 -->
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="FHIRProfileStatusCodeLifeCycle">
        <!-- The FHIR Profile Status Code Life Cycle is a subset of the TemplateStatusCodeLifeCycle -->
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Life cycle of the Status Code of a FHIR Profile</xs:documentation>
        </xs:annotation>
        <xs:restriction base="EnumerationToken">
            <xs:enumeration value="draft">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Ontwerp</xforms:label>
                        <xforms:label xml:lang="en-US">Draft</xforms:label>
                        <xforms:label xml:lang="de-DE">Entwurf</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">FHIR Profile under development (nascent). Metadata and profile may be incomplete. Entered primarily to encourage other users to be aware of ongoing
                        process.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="active">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Actief</xforms:label>
                        <xforms:label xml:lang="en-US">Active</xforms:label>
                        <xforms:label xml:lang="de-DE">Aktiv</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">FHIR Profile has been published by the governance group (custodian organization) and deemed fit for use. May have associated adoption and annotation metadata.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="retired">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Obsoleet</xforms:label>
                        <xforms:label xml:lang="en-US">Retired</xforms:label>
                        <xforms:label xml:lang="de-DE">Obsolet</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">FHIR Profile retired: No longer fit for use. Information available for historical reference.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="FHIRQuestionnaireResponseStatusCodeLifeCycle">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Life cycle of the Status Code of a FHIR Profile</xs:documentation>
        </xs:annotation>
        <xs:restriction base="EnumerationToken">
            <xs:enumeration value="in-progress">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">In bewerking</xforms:label>
                        <xforms:label xml:lang="en-US">In progress</xforms:label>
                        <xforms:label xml:lang="de-DE">im Gange</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">This QuestionnaireResponse has been partially filled out with answers but changes or additions are still expected to be made to it.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="completed">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Compleet</xforms:label>
                        <xforms:label xml:lang="en-US">Completed</xforms:label>
                        <xforms:label xml:lang="de-DE">Vollendet</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">This QuestionnaireResponse has been filled out with answers and the current content is regarded as definitive.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="amended">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Aangevuld</xforms:label>
                        <xforms:label xml:lang="en-US">Amended</xforms:label>
                        <xforms:label xml:lang="de-DE">Geändert</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">This QuestionnaireResponse has been filled out with answers, then marked as complete, yet changes or additions have been made to it afterwards.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="entered-in-error">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Foutieve invoer</xforms:label>
                        <xforms:label xml:lang="en-US">Entered in error</xforms:label>
                        <xforms:label xml:lang="de-DE">Fehlerhaft eingegeben</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">This QuestionnaireResponse was entered in error and voided.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="stopped">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Gestopt</xforms:label>
                        <xforms:label xml:lang="en-US">Stooped</xforms:label>
                        <xforms:label xml:lang="de-DE">Angehalten</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">This QuestionnaireResponse has been partially filled out with answers but has been abandoned. No subsequent changes can be made.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="IssueStatusCodeLifeCycle">
        <!-- 
            (start) - > new
            a new issue has been created, not yet finished
            
            new - > open
            a new issue has been opened, ready for action
            
            open - > inprogress
            the work on this issue is in progress
            
            open/inprogress - > feedback - > inprogress
            if further information or feedback on an issue is needed
            once the information is available the status can get back to inprogress
            
            open/inprogress - > rejected (end)
            an issue has been found to be rejected no further action is taken on the issue
            
            open/inprogress - > deferred - > inprogress
            open/inprogress - > deferred - > closed (end)
            an issue has been found to be deferred for future action and
            - further action is taken on the issue later
            - the issue is closed later
            
            open/inprogress - > referred (end)
            an issue has been found to be referred to other entities to take action on the issue
            
            cancelled
            at any time an issue may be cancelled (end)
            
            resolved
            an open/closed issue may proceed to resolved at any time
            
            the often found status "assigned" is detectable (if there is an assignee), not a status
            
        -->
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Life cycle of the status code of an issue</xs:documentation>
        </xs:annotation>
        <xs:restriction base="EnumerationToken">
            <xs:enumeration value="new">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Nieuw</xforms:label>
                        <xforms:label xml:lang="en-US">New</xforms:label>
                        <xforms:label xml:lang="de-DE">Neu</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Issue just created. It is new and will soon become a draft/open/finalized issue. Beyond the author, nobody should look at this issue unless it's
                        status code is open or beyond.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="open">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Open</xforms:label>
                        <xforms:label xml:lang="en-US">Open</xforms:label>
                        <xforms:label xml:lang="de-DE">Offen</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Issue is open, ready for actions to take on, also open for comments</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="inprogress">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">In behandeling</xforms:label>
                        <xforms:label xml:lang="en-US">In Progress</xforms:label>
                        <xforms:label xml:lang="de-DE">In Bearbeitung</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Issue is in progress</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="feedback">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Feedback nodig</xforms:label>
                        <xforms:label xml:lang="en-US">Feedback needed</xforms:label>
                        <xforms:label xml:lang="de-DE">Feedback nötig</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Issue is in progress but needs feedback from others</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="closed">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Gesloten</xforms:label>
                        <xforms:label xml:lang="en-US">Closed</xforms:label>
                        <xforms:label xml:lang="de-DE">Geschlossen</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Issue is closed including an solution</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="rejected">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Afgewezen</xforms:label>
                        <xforms:label xml:lang="en-US">Rejected</xforms:label>
                        <xforms:label xml:lang="de-DE">Abgewiesen</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Issue is rejected</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="deferred">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Uitgesteld</xforms:label>
                        <xforms:label xml:lang="en-US">Deferred</xforms:label>
                        <xforms:label xml:lang="de-DE">Zurückgestellt</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Issue is deferred</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cancelled">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Geannuleerd</xforms:label>
                        <xforms:label xml:lang="en-US">Cancelled</xforms:label>
                        <xforms:label xml:lang="de-DE">Annuliert</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Issue is cancelled</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="CodedConceptStatusCodeLifeCycle">
        <xs:annotation>
            <xs:documentation>Coded Concept Status Codes for the design phase of a code system</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="draft">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Ontwerp</xforms:label>
                        <xforms:label xml:lang="en-US">Draft</xforms:label>
                        <xforms:label xml:lang="de-DE">Entwurf</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Draft</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="active">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Active</xforms:label>
                        <xforms:label xml:lang="nl-NL">Actief</xforms:label>
                        <xforms:label xml:lang="de-DE">Aktiv</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Active</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="deprecated">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Deprecated</xforms:label>
                        <xforms:label xml:lang="nl-NL">Verouderd</xforms:label>
                        <xforms:label xml:lang="de-DE">Veraltet</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Deprecated</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="retired">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Obsoleet</xforms:label>
                        <xforms:label xml:lang="en-US">Retired</xforms:label>
                        <xforms:label xml:lang="de-DE">Obsolet</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">No longer fit for use. Information available for historical reference.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cancelled">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Geannuleerd</xforms:label>
                        <xforms:label xml:lang="en-US">Cancelled</xforms:label>
                        <xforms:label xml:lang="de-DE">Annuliert</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Never published as active and is withdrawn.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="rejected">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Afgewezen</xforms:label>
                        <xforms:label xml:lang="en-US">Rejected</xforms:label>
                        <xforms:label xml:lang="de-DE">Abgewiesen</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Rejected</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="experimental">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Experimenteel</xforms:label>
                        <xforms:label xml:lang="en-US">Experimental</xforms:label>
                        <xforms:label xml:lang="de-DE">Experimentell</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Provided for trial, but may be removed in the future</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="CodedConceptStatusCodeLifeCycleStable">
        <xs:annotation>
            <xs:documentation>Coded Concept Status Codes, for "stable" code systems, a subset of CodedConceptStatusCodeLifeCycle
                only "draft", "active", "retired" and "experimental" are valid values. If coming from a design phase code system, 
                'draft', 'active' and 'experimental' remain, 'deprecated' and 'retired' go to 'retired', 
                all others are existing only in the design phase and are not taken over at all in a stable code system, thus are eliminated.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="draft">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Ontwerp</xforms:label>
                        <xforms:label xml:lang="en-US">Draft</xforms:label>
                        <xforms:label xml:lang="de-DE">Entwurf</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Draft</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="active">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Active</xforms:label>
                        <xforms:label xml:lang="nl-NL">Actief</xforms:label>
                        <xforms:label xml:lang="de-DE">Aktiv</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Active</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="retired">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Obsoleet</xforms:label>
                        <xforms:label xml:lang="en-US">Retired</xforms:label>
                        <xforms:label xml:lang="de-DE">Obsolet</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">No longer fit for use. Information available for historical reference.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="experimental">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Experimenteel</xforms:label>
                        <xforms:label xml:lang="en-US">Experimental</xforms:label>
                        <xforms:label xml:lang="de-DE">Experimentell</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Provided for trial, but may be removed in the future</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="AddressLineType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="phone">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Telefoon</xforms:label>
                        <xforms:label xml:lang="en-US">Phone</xforms:label>
                        <xforms:label xml:lang="de-DE">Fon</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Rendering hint that addrLine is a phone number, e.g. +3170-1234567</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fax">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Fax</xforms:label>
                        <xforms:label xml:lang="en-US">Fax</xforms:label>
                        <xforms:label xml:lang="de-DE">Fax</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Rendering hint that addrLine is a fax number, e.g. +3170-1234567</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="email">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">E-mail</xforms:label>
                        <xforms:label xml:lang="en-US">Email</xforms:label>
                        <xforms:label xml:lang="de-DE">Email</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Rendering hint that addrLine is an email address, e.g. info@arg-decor.org</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="uri">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">URI</xforms:label>
                        <xforms:label xml:lang="en-US">URI</xforms:label>
                        <xforms:label xml:lang="de-DE">URI</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Rendering hint that addrLine is a URI, e.g. http://www.art-decor.org</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="twitter">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Twitter</xforms:label>
                        <xforms:label xml:lang="en-US">Twitter</xforms:label>
                        <xforms:label xml:lang="de-DE">Twitter</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Rendering hint that addrLine is a Twitter account name, e.g. art-decor</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="linkedin">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">LinkedIn</xforms:label>
                        <xforms:label xml:lang="en-US">LinkedIn</xforms:label>
                        <xforms:label xml:lang="de-DE">LinkedIn</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Rendering hint that addrLine is a LinkedIn URI, e.g. http://www.linkedin.com/groups/Nictiz-72537</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="facebook">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Facebook</xforms:label>
                        <xforms:label xml:lang="en-US">Facebook</xforms:label>
                        <xforms:label xml:lang="de-DE">Facebook</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Rendering hint that addrLine is a Facebook account name, e.g. art-decor</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="TimeStampOptionalTimezone">
        <xs:union memberTypes="xs:dateTime TimeStampNoTimezone"/>
    </xs:simpleType>
    <xs:simpleType name="TimeStampNoTimezone">
        <xs:restriction base="xs:dateTime">
            <xs:pattern value="\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DevelopmentString">
        <xs:restriction base="NonEmptyString">
            <xs:enumeration value="development"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="TimeStampNoTimezoneOrDevelopment">
        <xs:union memberTypes="TimeStampNoTimezone DevelopmentString"/>
    </xs:simpleType>
    <!-- following is borrowed from the mif-core-patterns.xsd and other mif schemas -->
    <xs:simpleType name="Years">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A list of years</xs:documentation>
        </xs:annotation>
        <xs:list itemType="Year"/>
    </xs:simpleType>
    <xs:simpleType name="Year">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A year (restricted to 20th and 21st century)</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:integer">
            <xs:pattern value="(19|20)\d{2}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="YearRanges">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A list of year ranges</xs:documentation>
        </xs:annotation>
        <xs:list itemType="YearRange"/>
    </xs:simpleType>
    <xs:simpleType name="YearRange">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A (range of) year(s) (restricted to 20th and 21st century)</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:pattern value="(19|20)\d{2}(-((19|20)\d{2})?)?"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="SingleNonNegativeInteger">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">An integer that is greater than or equal to zero, with a maximum length of 1 character</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:nonNegativeInteger">
            <xs:maxExclusive value="10"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="SmallNonNegativeInteger">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">An integer that is greater than or equal to zero, with a maximum length of 6 characters</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:nonNegativeInteger">
            <xs:maxExclusive value="1000000"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="SmallPositiveInteger">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">An integer that is greater than or equal to 1, with a maximum length of 6 characters</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:positiveInteger">
            <xs:maxExclusive value="1000000"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="PositiveDecimal">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A real number greater than 0 that is restricted to a maximum of 10 characters, and may have no more than 3 decimal places.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:decimal">
            <xs:maxExclusive value="1000000"/>
            <xs:minInclusive value=".001"/>
            <xs:fractionDigits value="3"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="NonNegativeDecimal">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A real number that is restricted to a maximum of 10 characters, and may have no more than 3 decimal places.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:decimal">
            <xs:maxExclusive value="1000000"/>
            <xs:minInclusive value="0"/>
            <xs:fractionDigits value="3"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Decimal">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A real number that is restricted to a maximum of 10 characters, and may have no more than 3 decimal places.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:decimal">
            <xs:maxExclusive value="1000000"/>
            <xs:minInclusive value=".001"/>
            <xs:fractionDigits value="3"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- Simple types used in defining various attributes -->
    <xs:simpleType name="Uuid">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Universal Unique Identifier (aka GUID). Used for identifiers</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:length value="36"/>
            <xs:pattern value="[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="HashCode">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Base64 representation of a SHA-256 hashcode</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:pattern value="([A-Za-z0-9/+]){27}="/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Oid">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">ISO Object Identifier. Used for identifiers</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:maxLength value="255"/>
            <xs:pattern value="[0-2](\.(0|[1-9][0-9]*))*"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="OidChoiceList">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Choice list of Oids</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:maxLength value="1028"/>
            <xs:pattern value="([0-2][0-9]*(\.[0-9]+)*)(\|[0-2][0-9]*(\.[0-9]+)*)*"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="StaticFlexibility">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">As an expression of static flexibility this contains simply a valid date (without the prefix "static")</xs:documentation>
        </xs:annotation>
        <xs:restriction base="TimeStampNoTimezone"/>
    </xs:simpleType>
    <xs:simpleType name="DynamicFlexibility">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Fixed string "dynamic", means most recent version of the object</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="dynamic">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">dynamic</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="StaticOrDynamicFlexibility">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Either the fixed string "dynamic" or a valid xs:date as an effective date of the version of the object</xs:documentation>
        </xs:annotation>
        <xs:union memberTypes="DynamicFlexibility StaticFlexibility"/>
    </xs:simpleType>
    <xs:simpleType name="BasicIdOrOid">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Either a string or an oid in order to identify the object</xs:documentation>
        </xs:annotation>
        <xs:union memberTypes="BasicId Oid"/>
    </xs:simpleType>
    <xs:simpleType name="DefinedContextKind">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Defines pre-defined 'contexts'. At present these consist primarily of realms.</xs:documentation>
        </xs:annotation>
        <xs:union memberTypes="AffiliateKind"/>
    </xs:simpleType>
    <xs:simpleType name="RealmKind">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Allows both pre-defined affiliates and other affiliate issued sub-realm identifiers</xs:documentation>
        </xs:annotation>
        <xs:union memberTypes="EnumerationToken DefinedContextKind"/>
    </xs:simpleType>
    <xs:simpleType name="RealmNamespaceKind">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Allows affiliate and free-form as well as OID-based namespaces to be identified for keeping content distinct</xs:documentation>
        </xs:annotation>
        <xs:union memberTypes="RealmKind Oid"/>
    </xs:simpleType>
    <xs:simpleType name="Uri">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used for references to some external resource.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:anyURI">
            <xs:maxLength value="255"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Url">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used for hypertext references. (SHALL be prefixed by "http://")</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:anyURI">
            <xs:maxLength value="255"/>
            <xs:pattern value="http(s)?://.+"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="EmailType">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used for email references. (SHALL be prefixed by "mailto:")</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:maxLength value="255"/>
            <xs:pattern value="(mailto:)?\w+([-+._']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="LocalFileReference">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used for file references. (SHALL be prefixed by "file://")</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:anyURI">
            <xs:maxLength value="255"/>
            <xs:pattern value="(file://)?([A-Za-z0-9_\-\.]+/)*[A-Za-z0-9_\-\.]+"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="NonEmptyString">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used as the base for most string datatypes. (Ensures that empty strings are not allowed.). Should never be implemented directly because it has no length
                limits.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="CMETAttributionString">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Type for CMET attribution types. Basically a length-limited lowerCamelCase string that allows dashes and has a length limit.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKEN">
            <xs:maxLength value="50"/>
            <xs:pattern value="[a-z][a-z0-9A-Z\-]*"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="LowerCamelCase">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Type for attribute and association type names. Should never be implemented directly because it has no length limits.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKEN">
            <xs:pattern value="[a-z][a-z0-9]*([A-Z][a-z0-9]*)*"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="UpperCamelCase">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Type for class and type names</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKEN">
            <xs:pattern value="([A-Z][a-z0-9_\-]*)+"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="PrefixedUpperCamelCase">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used for CMET type names. (Basically class names with a prefix separated by an underscore)</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKEN">
            <xs:maxLength value="50"/>
            <xs:pattern value="[A-Z]+_([A-Z][a-z0-9_\-]*)+"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="BasicFormalName">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used for formal names and short descriptions</xs:documentation>
        </xs:annotation>
        <xs:restriction base="NonEmptyString">
            <xs:maxLength value="120"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="FormalProperName">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used for class and type names</xs:documentation>
        </xs:annotation>
        <xs:restriction base="UpperCamelCase">
            <xs:maxLength value="60"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="AllClassName">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Choice of a class name or a CMET name</xs:documentation>
        </xs:annotation>
        <xs:union memberTypes="FormalProperName PrefixedUpperCamelCase"/>
    </xs:simpleType>
    <xs:simpleType name="FormalPropertyName">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used for attribute, association and property names</xs:documentation>
        </xs:annotation>
        <xs:restriction base="LowerCamelCase">
            <xs:maxLength value="50"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ShortDescriptiveName">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used when descriptions are intended to be very short</xs:documentation>
        </xs:annotation>
        <xs:restriction base="NonEmptyString">
            <xs:maxLength value="80"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ShortFormalName">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used when names are intended to be non-empty, short and without "weird" characters</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKEN">
            <!--
            <xs:pattern value="[A-Za-z,0-9,ä,ö,ü,ß,Ä,Ö,Ü,ó,ï,é,\.,_,\-]{1,80}"/>
            -->
            <xs:pattern value="[A-Za-z]+([A-Za-z0-9,.,\-,_])*"/>
            <xs:maxLength value="80"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="LongDescriptiveName">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used when descriptions can be potentially quite long</xs:documentation>
        </xs:annotation>
        <xs:restriction base="NonEmptyString">
            <xs:maxLength value="255"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="XDomainName">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used for x-domains</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKEN">
            <xs:maxLength value="50"/>
            <xs:pattern value="(x_)?([A-Z][a-z0-9_]*)+"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DatatypeName">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used for datatype names</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKEN">
            <xs:maxLength value="60"/>
            <xs:pattern value="[A-Z_]+(.[A-Za-z]+)*(.diffType)?"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="MimeType">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used to filter MIME type names</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:maxLength value="40"/>
            <xs:pattern value="[a-z]+/[a-z0-9\-]+"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Version">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used for version numbers</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKEN">
            <xs:minLength value="1"/>
            <xs:maxLength value="16"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="HTMLColorName">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used for indicating an HTML compatible color by name, by RGB-hex or RGB-decimal</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:pattern value="([A-Za-z]+)|(#[A-Fa-f0-9]{6})|(rgb\([0-9]{1,3},[0-9]{1,3},[0-9]{1,3}\))"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ShortString">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used for very short strings</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKEN">
            <xs:minLength value="1"/>
            <xs:maxLength value="10"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="set_ShortString">
        <xs:list itemType="ShortString"/>
    </xs:simpleType>
    <xs:simpleType name="CollapsedPackageId">
        <xs:restriction base="xs:string">
            <xs:pattern value="([A-Za-z,0-9,_,\-]{1,80}=){0,7}[A-Za-z,0-9,_,\-,\.]{1,80}">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Allows between 1 and 7 strings of length 1 to 80 characters (uppercase alpha, digits, underscore and space) where strings are separated by
                        "="</xs:documentation>
                </xs:annotation>
            </xs:pattern>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="TemplateId">
        <xs:restriction base="xs:NMTOKEN">
            <xs:pattern value="([A-Z0-9_\-]{1,80}=){0,6}[A-Z0-9_\-]{1,80}#([A-Z][a-z0-9_\-]*)+(\.[a-z][a-z0-9]*([A-Z][a-z0-9]*)*)?">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">TemplateId followed by "#" followed by a class name followed by an optional "." and attribute name</xs:documentation>
                </xs:annotation>
            </xs:pattern>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="BasicId">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used for generic identifiers</xs:documentation>
        </xs:annotation>
        <!-- Largest current valueSet name in HL7 V3 is 75 characters "RespiratoryAndOrRehabilitativeAndOrRestorativeSpecialistOrTechnologistHIPAA" -->
        <xs:restriction base="xs:NMTOKEN">
            <xs:minLength value="1"/>
            <xs:maxLength value="80"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:attributeGroup name="MultiplicityRangeRequired">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used to define multiplicty</xs:documentation>
            <xs:documentation xml:lang="en-US">UML: Corresponds to UML type MultiplicityRange, with exception that upper boundary cannot be 0</xs:documentation>
        </xs:annotation>
        <xs:attribute name="minimumMultiplicity" type="SmallNonNegativeInteger" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="en-US">Identifies the minimum number of repetitions of this element that may occur within the containing element.</xs:documentation>
                <xs:documentation xml:lang="en-US">UML: multiplicity (lower-bound)</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="maximumMultiplicity" type="UnlimitedInteger" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="en-US">Identifies the maximum number of repetitions of this element that may occur within the containing element.</xs:documentation>
                <xs:documentation xml:lang="en-US">UML: multiplicity (upper-bound)</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:attributeGroup>
    <xs:attributeGroup name="MultiplicityRangeOptional">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used to define multiplicity</xs:documentation>
            <xs:documentation xml:lang="en-US">UML: Corresponds to UML type MultiplicityRange, with exception that upper boundary cannot be 0</xs:documentation>
        </xs:annotation>
        <xs:attribute name="minimumMultiplicity" type="SmallNonNegativeInteger" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en-US">Identifies the minimum number of repetitions of this element that may occur within the containing element.</xs:documentation>
                <xs:documentation xml:lang="en-US">UML: multiplicity (lower-bound)</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="maximumMultiplicity" type="UnlimitedInteger" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en-US">Identifies the maximum number of repetitions of this element that may occur within the containing element.</xs:documentation>
                <xs:documentation xml:lang="en-US">UML: multiplicity (upper-bound)</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:attributeGroup>
    <xs:attributeGroup name="MultiplicityRangeOptionalUnknown">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used to define multiplicity</xs:documentation>
            <xs:documentation xml:lang="en-US">UML: Corresponds to UML type MultiplicityRange, with exception that upper boundary cannot be 0</xs:documentation>
        </xs:annotation>
        <xs:attribute name="minimumMultiplicity" type="SmallNonNegativeIntegerUnknown" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en-US">Identifies the minimum number of repetitions of this element that may occur within the containing element.</xs:documentation>
                <xs:documentation xml:lang="en-US">UML: multiplicity (lower-bound)</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="maximumMultiplicity" type="UnlimitedIntegerUnknown" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en-US">Identifies the maximum number of repetitions of this element that may occur within the containing element.</xs:documentation>
                <xs:documentation xml:lang="en-US">UML: multiplicity (upper-bound)</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:attributeGroup>
    <xs:simpleType name="SmallNonNegativeIntegerUnknown">
        <xs:union memberTypes="SmallNonNegativeInteger QuestionMark"/>
    </xs:simpleType>
    <xs:simpleType name="UnlimitedIntegerUnknown">
      <xs:union memberTypes="SmallNonNegativeInteger UnlimitedMultiplicity QuestionMark"/>
    </xs:simpleType>
    <xs:simpleType name="QuestionMark">
        <xs:restriction base="xs:string">
            <xs:pattern value="\?"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="UnlimitedInteger">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">UML: Corresponds to UnlimitedInteger. (Only distinction is that this type does not allow 0 while UML does)</xs:documentation>
        </xs:annotation>
        <xs:union memberTypes="SmallPositiveInteger UnlimitedMultiplicity"/>
    </xs:simpleType>
    <xs:simpleType name="UnlimitedMultiplicity">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used as a 'part' of the UnlimitedInteger type</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="*">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Unlimited</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="EnumerationToken">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used as the base class for all 'codes' which qualify or SHALL be handled as NMTOKEN</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKEN">
            <xs:maxLength value="50"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="EnumerationString">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used as the base class for all 'codes' which cannot be handled as NMTOKEN</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <!-- 2014-11-04 AH: Updated to support SNOMED-CT post coordination expressions which are currently up to 89 characters long -->
            <!--<xs:maxLength value="128"/>-->
            <xs:pattern value="\S{1,128}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="AffiliateKind">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">The list of HL7 affiliates.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="EnumerationToken">
            <xs:enumeration value="AR">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Argentina</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="AU">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Australia</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="AT">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Austria</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BR">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Brazil</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CA">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Canada</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CL">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Chile</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CN">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">China</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="HR">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Croatia</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CZ">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Czech Republic</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="DK">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Denmark</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="FI">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Finland</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="FR">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">France</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="DE">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Germany</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="GR">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Greece</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="IN">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">India</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="IE">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Ireland</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="IT">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Italy</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="JP">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Japan</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="KR">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Korea</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LT">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Lithuania</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MX">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Mexico</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="NL">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Netherlands</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="NZ">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">New Zealand</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="RO">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Romania</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SOA">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Southern Africa</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ES">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Spain</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SE">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Sweden</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CH">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Switzerland</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TW">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Taiwan</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TR">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Turkey</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="UK">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">United Kingdom</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="US">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">United States</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="UY">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Uruguay</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="UV">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Applies to all realms (unless there is a realm-specific override)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="FreeFormMarkupWithLanguage" mixed="true">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Allows unconstrained markup to identify the language in which it is expressed and when it was last translated</xs:documentation>
            <xs:documentation xml:lang="en-US">UML: Handled as 'mixed text' stored as a string, but with parallel tags identifying language</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="true">
            <xs:extension base="VariousMixedContent">
                <xs:attribute name="language" type="LanguageCode" use="optional">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">Indicates the language in which the marked up text is expressed</xs:documentation>
                        <xs:documentation xml:lang="en-US">UML: part of a complex stereotype tag</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="lastTranslated" type="TimeStampNoTimezone" use="optional">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">Indicates when this languages rendition was last translated from the original.</xs:documentation>
                        <xs:documentation xml:lang="en-US">UML: part of a complex stereotype tag</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="mimeType" type="MimeType" use="optional">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">Indicates the mime type in which the data is expressed. If not specified, applications SHALL interpret the content based on other context or
                            specific application rules. Applications that do not recognize content SHALL retain it unchanged.</xs:documentation>
                        <xs:documentation xml:lang="en-US">UML: Part of a complex tag</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="FreeFormMarkupWithLanguageCode" mixed="true">
        <xs:complexContent mixed="true">
            <xs:extension base="VariousMixedContent">
                <xs:attribute name="language" type="LanguageCodeSimple" use="optional">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">Indicates the language in which the marked up text is expressed</xs:documentation>
                        <xs:documentation xml:lang="en-US">UML: part of a complex stereotype tag</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="lastTranslated" type="TimeStampNoTimezone" use="optional">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">Indicates when this languages rendition was last translated from the original.</xs:documentation>
                        <xs:documentation xml:lang="en-US">UML: part of a complex stereotype tag</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="mimeType" type="MimeType" use="optional">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">Indicates the mime type in which the data is expressed. If not specified, applications SHALL interpret the content based on other context or
                            specific application rules. Applications that do not recognize content SHALL retain it unchanged.</xs:documentation>
                        <xs:documentation xml:lang="en-US">UML: Part of a complex tag</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="BrowsableFreeFormMarkupWithLanguageCode" mixed="true">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Identical to FreeFormMarkupWithLanguageCode but for browsable format, ie shorter attribute names.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="true">
            <xs:extension base="VariousMixedContent">
                <xs:attribute name="lang" type="LanguageCodeSimple" use="optional">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">Indicates the language in which the marked up text is expressed</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:simpleType name="LanguageCodeOrAsterisk">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Allows both a choice out of the list of selected languages or a language patterend ss-CC, or '*' indicating all/any languages</xs:documentation>
        </xs:annotation>
        <xs:union memberTypes="LanguageCode Any"/>
    </xs:simpleType>
    <xs:simpleType name="Any">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Used as a 'part' of the LanguageCodeOrAsterisk type</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="*">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Any</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="LanguageCode">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Allows both a choice out of the list of selected languages or a language patterend ss-CC</xs:documentation>
        </xs:annotation>
        <xs:union memberTypes="LanguageCodeEnum LanguageCodePattern"/>
    </xs:simpleType>
    <xs:simpleType name="LanguageCodeSimple">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Allows both a choice out of the list of selected languages or a language patterend ss-CC</xs:documentation>
        </xs:annotation>
        <xs:union memberTypes="LanguageCodeEnum LanguageCodePatternSimple"/>
    </xs:simpleType>
    <xs:simpleType name="LanguageCodeEnum">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A list of some selected languages</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:language">
            <xs:enumeration value="en-US">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Engels (VS)</xforms:label>
                        <xforms:label xml:lang="en-US">English (US)</xforms:label>
                        <xforms:label xml:lang="de-DE">English (US)</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">en-US</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nl-NL">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Nederlands (NL)</xforms:label>
                        <xforms:label xml:lang="en-US">Dutch (NL)</xforms:label>
                        <xforms:label xml:lang="de-DE">Niederländisch (NL)</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">nl-NL</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="de-DE">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Duits (DE)</xforms:label>
                        <xforms:label xml:lang="en-US">German (DE)</xforms:label>
                        <xforms:label xml:lang="de-DE">Deutsch (DE)</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">de-DE</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <!--<xs:enumeration value="it-IT">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Italiaans (IT)</xforms:label>
                        <xforms:label xml:lang="en-US">Italian (IT)</xforms:label>
                        <xforms:label xml:lang="de-DE">Italienisch (IT)</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">it-IT</xs:documentation>
                </xs:annotation>
            </xs:enumeration>-->
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="LanguageCodePattern">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A pattern for languages ss-CC</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:language">
            <xs:pattern value="[a-z][a-z]-[A-Z][A-Z]">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">A pattern for languages ss-CC</xs:documentation>
                </xs:annotation>
            </xs:pattern>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="LanguageCodePatternSimple">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A pattern for languages ss(-CC), so where country/region is optional</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:language">
            <xs:pattern value="[a-z][a-z](-[A-Z][A-Z])?">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">other</xs:documentation>
                </xs:annotation>
            </xs:pattern>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="BusinessNameWithLanguage" mixed="true">
        <xs:annotation>
            <xs:documentation>A name for the artifact that will be meaningful to business or domain experts. One artifact may have different business name translations for each realm and/or language.</xs:documentation>
            <xs:documentation>UML: tagged value on ModelElement</xs:documentation>
            <xs:documentation>DublinCore: Maps to 'Alternative'</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="language" type="LanguageCode" use="optional" default="en-US">
                    <xs:annotation>
                        <xs:documentation>Indicates the language in which the business name is expressed</xs:documentation>
                        <xs:documentation>UML: Part of a complex tag value</xs:documentation>
                        <xs:documentation>DublinCore: Language</xs:documentation>
                        <xs:documentation>Alpha</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="lastTranslated" type="TimeStampNoTimezone" use="optional">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">Indicates when this languages rendition was last translated from the original.</xs:documentation>
                        <xs:documentation xml:lang="en-US">UML: part of a complex stereotype tag</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="VariousMixedContent" mixed="true">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A type that allows unconstrained mixed-text markup</xs:documentation>
        </xs:annotation>
        <xs:sequence minOccurs="0" maxOccurs="unbounded">
            <xs:any processContents="skip"/>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="InstalledFhirEndpoints">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A type that shows installed versions of the HL7 FHIR. E.g. 1.0 (DSTU2), 3.0 (STU3), or 4.0 (R4). This information should be calculated at retrieval time.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="1.0">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">DSTU2</xforms:label>
                        <xforms:label xml:lang="en-US">DSTU2</xforms:label>
                        <xforms:label xml:lang="de-DE">DSTU2</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">DSTU2</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="3.0">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">STU3</xforms:label>
                        <xforms:label xml:lang="en-US">STU3</xforms:label>
                        <xforms:label xml:lang="de-DE">STU3</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">STU3</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="4.0">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">R4</xforms:label>
                        <xforms:label xml:lang="en-US">R4</xforms:label>
                        <xforms:label xml:lang="de-DE">R4</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">R4</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="InstalledMenuTemplates">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A type that shows installed menu templates for the server. This information should be calculated at retrieval time.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="art-menu-template.xml">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">ART Menu Template</xforms:label>
                        <xforms:label xml:lang="en-US">ART Menu Template</xforms:label>
                        <xforms:label xml:lang="de-DE">ART Menu Template</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">ART Menu Template</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="terminology-menu-template.xml">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Terminology Menu Template</xforms:label>
                        <xforms:label xml:lang="en-US">Terminology Menu Template</xforms:label>
                        <xforms:label xml:lang="de-DE">Terminology Menu Template</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Terminology Menu Template</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="SupportedOrbeonVersions">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A type that lists supported versions of Orbeon.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="3.9">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Orbeon 3.9</xforms:label>
                        <xforms:label xml:lang="en-US">Orbeon 3.9</xforms:label>
                        <xforms:label xml:lang="de-DE">Orbeon 3.9</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Orbeon 3.9</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="2018">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Orbeon 2018.x</xforms:label>
                        <xforms:label xml:lang="en-US">Orbeon 2018.x</xforms:label>
                        <xforms:label xml:lang="de-DE">Orbeon 2018.x</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Orbeon 2018.x</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="2019">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Orbeon 2019.x</xforms:label>
                        <xforms:label xml:lang="en-US">Orbeon 2019.x</xforms:label>
                        <xforms:label xml:lang="de-DE">Orbeon 2019.x</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Orbeon 2019.x</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DecorParameters">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Type to support labels and other useful info on decor-parameters. The parameters have been stripped off their 0|1 suffix to match more UI friendly names but are otherwise the same as their counterparts in decor-parameters.xsd</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="switchCreateSchematron">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Maak Schematron</xforms:label>
                        <xforms:label xml:lang="en-US">Create Schematron</xforms:label>
                        <xforms:label xml:lang="de-DE">Schematron erstellen</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Should the publication process create the ISO schematron runtime environment.</xs:documentation>
                    <xs:documentation xml:lang="nl-NL">Moet het publicatieproces de ISO schematron runtime-omgeving aanmaken.</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Soll der Publikationsprozess die ISO-Schematron-Umgebung erstellen.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="switchCreateSchematronWithWrapperIncludes">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Maak Schematron met wrapper includes</xforms:label>
                        <xforms:label xml:lang="en-US">Create Schematron with wrapper includes</xforms:label>
                        <xforms:label xml:lang="de-DE">Schematron erstellen met wrapper Einschlüsse</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Should the publication process add HL7 V3 wrapper schematrons for your locale if available in the ISO schematron runtime environment(not recommended).</xs:documentation>
                    <xs:documentation xml:lang="nl-NL">Moet het publicatieproces HL7v3 wrapper schematron-includes indien beschikbaar voor uw locale, toevoegen aan de ISO schematron runtime-omgeving (niet aanbevolen).</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Soll der Publikationsprozess HL7 V3-Wrapper-Schematrons falls verfügbar für Ihr Gebietsschema hinzufügen, in der ISO-Schematron-Laufzeitumgebung (nicht empfohlen).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="switchCreateSchematronWithWarningsOnOpen">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Maak Schematron met validatiewaarschuwingen bij onbekende inhoud</xforms:label>
                        <xforms:label xml:lang="en-US">Create Schematron with validation warnings upon unknown contents</xforms:label>
                        <xforms:label xml:lang="de-DE">Schematron erstellen mit Validierungswarnungen bei unbekanntem Inhalt</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Should the publication process create Schematron that warns during validation on instance content that is not part of the definition even when the definition is 'open' (allows for undefined contents). This setting is useful for the creation of qualification control schematrons, while the default schematrons could be leveraged for production use. If the conversion process should just run with whatever is specified this switch needs to be off.</xs:documentation>
                    <xs:documentation xml:lang="nl-NL">Moet het publicatieproces Schematron aanmaken die waarschuwt bij valideren tegen instance-inhoud die niet is gedefinieerd zelfs indien de definitie 'open' is (onbekende inhoud toestaat). Deze instelling is nuttig voor het maken van schematrons voor kwalificatie/kwaliteitscontrole, terwijl de standaard-schematrons voor productie gebruik inzetbaar zijn. De schematrons die via deze instelling zijn gemaakt, zijn niet geschikt voor productie.</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Soll der Publikationsprozess Schematron erstellen, das während der Validierung vor Instanzinhalten die nicht Teil der Definition sind warnt, selbst wenn die Definition 'offen' ist (undefinierte Inhalte zulässt). Diese Einstellung ist für die Erstellung von Qualifizierungskontrollschematrons nützlich, während die Standardschematrons für die Produktionsverwendung genutzt werden könnten. Wenn der Konvertierungsprozess nur mit den angegebenen Daten ausgeführt werden soll, muss dieser Schalter ausgeschaltet sein.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="switchCreateSchematronClosed">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Maak Schematron met validatiefouten bij onbekende inhoud</xforms:label>
                        <xforms:label xml:lang="en-US">Create Schematron with validation errors upon unknown contents</xforms:label>
                        <xforms:label xml:lang="de-DE">Schematron erstellen mit Validierungsfehler bei unbekanntem Inhalt</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Should the publication process create Schematron that errors during validation on instance content that is not part of the definition even when the definition is 'open' (allows for undefined contents). This setting is useful for the creation of qualification control schematrons, while the default schematrons could be leveraged for production use. If the conversion process should just run with whatever is specified this switch needs to be off.</xs:documentation>
                    <xs:documentation xml:lang="nl-NL">Moet het publicatieproces Schematron aanmaken die fouten geeft bij valideren tegen instance-inhoud die niet is gedefinieerd zelfs indien de definitie 'open' is (onbekende inhoud toestaat). Deze instelling is nuttig voor het maken van schematrons voor kwalificatie/kwaliteitscontrole, terwijl de standaard-schematrons voor productie gebruik inzetbaar zijn. De schematrons die via deze instelling zijn gemaakt, zijn niet geschikt voor productie.</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Soll der Publikationsprozess Schematron erstellen, dass bei Validierung vor Instanzinhalten die nicht Teil der Definition sind Fehler gibt, selbst wenn die Definition 'offen' ist (undefinierte Inhalte zulässt). Diese Einstellung ist für die Erstellung von Qualifizierungskontrollschematrons nützlich, während die Standardschematrons für die Produktionsverwendung genutzt werden könnten. Wenn der Konvertierungsprozess nur mit den angegebenen Daten ausgeführt werden soll, muss dieser Schalter ausgeschaltet sein.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="switchCreateSchematronWithExplicitIncludes">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Maak Schematron met expliciet gedefinieerde inclusies</xforms:label>
                        <xforms:label xml:lang="en-US">Create Schematron with only explicitly defined inclusions</xforms:label>
                        <xforms:label xml:lang="de-DE">Schematron nur mit explizit definierten Einschlüssen erstellen</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="nl-NL">Moet het publicatieproces Schematron maken met includes voor iedere template in scope van het DECOR-project ongeacht of deze expliciet direct of indirect is gekoppeld aan de betreffende template.</xs:documentation>
                    <xs:documentation xml:lang="en-US">Should the publication process create Schematron with includes for any in scope template of this DECOR project, regardless whether they are associated directly or indirectly to the current template.</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Soll der Publikationsprozess Schematron mit Einschlüssen für alle Templates dieses DECOR-Projekts erstellen, unabhängig davon, ob sie direkt oder indirekt mit der aktuellen Vorlage verknüpft sind.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="switchCreateDocHTML">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Maak HTML</xforms:label>
                        <xforms:label xml:lang="en-US">Create HTML</xforms:label>
                        <xforms:label xml:lang="de-DE">HTML erstellen</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Should the publication process create HTML based documentation.</xs:documentation>
                    <xs:documentation xml:lang="nl-NL">Moet het publicatieproces HTML-gebaseerde documentatie aanmaken.</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Soll der Publikationsprozess HTML-basierte Dokumentation erstellen.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="switchCreateDocSVG">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Maak HTML met SVG</xforms:label>
                        <xforms:label xml:lang="en-US">Create HTML with SVG</xforms:label>
                        <xforms:label xml:lang="de-DE">HTML mit SVG erstellen</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Should the publication process create HTML based documentation with SVG images where applicable.</xs:documentation>
                    <xs:documentation xml:lang="nl-NL">Moet het publicatieproces HTML-gebaseerde documentatie aanmaken met SVG afbeeldingen waar van toepassing.</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Soll der Publikationsprozess HTML-basierte Dokumentation erstellen met SVG-Bildern, falls zutreffend.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="switchCreateDocDocbook">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Maak DocBook</xforms:label>
                        <xforms:label xml:lang="en-US">Create DocBook</xforms:label>
                        <xforms:label xml:lang="de-DE">DocBook erstellen</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Should the publication process create DocBook based documentation.</xs:documentation>
                    <xs:documentation xml:lang="nl-NL">Moet het publicatieproces DocBook-gebaseerde documentatie aanmaken.</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Soll der Publikationsprozess DocBook-basierte Dokumentation erstellen.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="switchCreateDocPDF">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Maak PDF</xforms:label>
                        <xforms:label xml:lang="en-US">Create PDF</xforms:label>
                        <xforms:label xml:lang="de-DE">PDF erstellen</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Should the publication process create PDF based documentation and if so what should be included: d, s, n, t, r, and/or i for respectively datasets, scenarios, identifiers, terminologies, rules and issues</xs:documentation>
                    <xs:documentation xml:lang="nl-NL">Moet het publicatieproces PDF-gebaseerde documentatie aanmaken en zo ja wat: d, s, n, t, r, en/of i om respectievelijk datasets, scenario's, identificaties, terminologie, regels en/of issues.</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Soll der Publikationsprozess PDF-basierte Dokumentation erstellen und wenn ja, was sollte enthalten sein: d, s, n, t, r und/oder i für jeweils Datensätze, Szenarien, Identifikatoren, Terminologien, Regeln und Probleme</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="useLocalAssets">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Maak HTML met lokale assets-map</xforms:label>
                        <xforms:label xml:lang="en-US">Create HTML with local assets folder</xforms:label>
                        <xforms:label xml:lang="de-DE">HTML erstellen mit Lokalen assets-Ordner</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Should the publication process create HTML based documentation using a local assets folder (scripts, css etc.) or use the online assets at https://assets.art-decor.org/ADAR/rv</xs:documentation>
                    <xs:documentation xml:lang="nl-NL">Moet het publicatieproces HTML-gebaseerde documentatie aanmaken met een lokale assets-map (scripts, css etc.) of de online assets gebruiken van https://assets.art-decor.org/ADAR/rv.</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Soll der Publikationsprozess HTML-basierte Dokumentation mit einem lokalen assets-Ordner (Skripte, CSS usw.) erstellen oder die online assets-Ordner unter https://assets.art-decor.org/ADAR/rv verwenden.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="useLocalLogos">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Maak HTML met lokale logos-map</xforms:label>
                        <xforms:label xml:lang="en-US">Create HTML with local logos folder</xforms:label>
                        <xforms:label xml:lang="de-DE">HTML erstellen mit lokalen logos-Ordner</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Should the publication process create HTML based documentation using a local [prefix]-logos folder or use the online logos on the DECOR-server this project came from.</xs:documentation>
                    <xs:documentation xml:lang="nl-NL">Moet het publicatieproces HTML-gebaseerde documentatie aanmaken met een lokale map [prefix]-logos of juist de online logos op de DECOR-server waar dit project vandaan kwam.</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Soll der Publikationsprozess HTML-basierte Dokumentation mit einem lokalen [Präfix]-Logos-Ordner erstellen oder die Online-Logos auf dem DECOR-Server verwenden, von dem dieses Projekt stammt.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="useCustomLogo">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Maak HTML met aangepast logo</xforms:label>
                        <xforms:label xml:lang="en-US">Create HTML with custom logo</xforms:label>
                        <xforms:label xml:lang="de-DE">HTML erstellen mit benutzerdefiniertem Logo</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Should the publication process create HTML based documentation with a custom logo (src) optionally with a link on it (href) on the page. Defaults to the project specified logo. Src may be a relative local path, e.g. ../[prefix]-logos/myLogo.png, or full URL, e.g. http://project.art-decor.org/[prefix]-logos/myLogo.png, to the logo file. Please use a web supported format like jpg, gif, or png.</xs:documentation>
                    <xs:documentation xml:lang="nl-NL">Moet het publicatieproces HTML-gebaseerde documentatie aanmaken met een aangepast logo (src), optioneel met link (href) op de pagina. Standaard wordt het in het project ingestelde logo en link gebruikt. Src mag een relatief pad zijn, bijv. ../[prefix]-logos/myLogo.png of een absolute url, bijv. http://project.art-decor.org/[prefix]-logos/myLogo.png. Gebruik een web-compatible formaat zoals jpg, gif, of png.</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Soll der Publikationsprozess HTML-basierte Dokumentation mit einem benutzerdefinierten Logo (src) erstellen, optional mit einem Link darauf (href) auf der Seite. Standardmäßig wird das im Projekt angegebene Logo verwendet. Src kann ein relativer lokaler Pfad sein, z.B. ../[prefix]-logos/myLogo.png, oder vollständige URL, z.B. http://project.art-decor.org/[prefix]-logos/myLogo.png, zur Logo-Datei. Bitte verwenden Sie ein webunterstütztes Format wie jpg, gif oder png.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="useLatestDecorVersion">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Maak HTML met links naar nieuwste publicatie</xforms:label>
                        <xforms:label xml:lang="en-US">Create HTML links to latest publication</xforms:label>
                        <xforms:label xml:lang="de-DE">HTML-Links erstellen zur neuesten Publikation</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Should the publication process create HTML based documentation with links to the live version of this project, or the version that is currently being published (recommended).</xs:documentation>
                    <xs:documentation xml:lang="nl-NL">Moet het publicatieproces HTML-gebaseerde documentatie aanmaken met links naar de live versie van dit project, of de versie die op dit moment wordt gepubliceerd (aanbevolen).</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Soll der Publikationsprozess HTML-basierte Dokumentation mit Links zur Live-Version dieses Projekts oder der aktuell veröffentlichten Version (empfohlen) erstellen.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="inDevelopment">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Maak publicaties in 'development' mappen</xforms:label>
                        <xforms:label xml:lang="en-US">Create publications in 'development' folders</xforms:label>
                        <xforms:label xml:lang="de-DE">Publikationen erstellen 'development'-Ordnern</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Should the publication process create publications (e.g. HTML, Schematron) in folders with 'development' in the name because we are just testing the publication at this time.</xs:documentation>
                    <xs:documentation xml:lang="nl-NL">Moet het publicatieproces HTML-gebaseerde documentatie (bijv. HTML, Schematron) aanmaken in mappen met 'development' in de naam omdat we de publicatie op dit moment alleen nog maar testen.</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Soll der Publikationsprozess Publikationen (z.B. HTML, Schematron) in Ordnern mit 'Entwicklung' im Namen erstellen, weil wir die Publikation gerade testen.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="defaultLanguage">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Gebruik deze projecttaal in output</xforms:label>
                        <xforms:label xml:lang="en-US">Use this project language in output</xforms:label>
                        <xforms:label xml:lang="de-DE">Diese Projektsprache verwenden in der Ausgabe</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Use this language by default when multiple languages are available in the project. If not specified the project default language is used.</xs:documentation>
                    <xs:documentation xml:lang="nl-NL">Gebruik standaard deze taal als er meerdere talen in het project aanwezig zijn. Indien niet gespecificeerd, wordt de standaard projecttaal gebruikt.</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Verwenden Sie diese Sprache standardmäßig, wenn im Projekt mehrere Sprachen verfügbar sind. Wenn nicht angegeben, wird die Standardsprache des Projekts verwendet.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="switchCreateDatatypeChecks">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Maak Schematron met datatype-validatie</xforms:label>
                        <xforms:label xml:lang="en-US">Create Schematron with data type validation</xforms:label>
                        <xforms:label xml:lang="de-DE">Schematron erstellen mit Datentypvalidierung</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="nl-NL">Moet het publicatieproces Schematron maken met datatype-validatie (aanbevolen).</xs:documentation>
                    <xs:documentation xml:lang="en-US">Should the publication process create Schematron with datatype validation (recommended).</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Soll der Publikationsprozess Schematron mit Datentypvalidierung erstellen (empfohlen).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="createDefaultInstancesForRepresentingTemplates">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Maak standaardinstances voor transacties</xforms:label>
                        <xforms:label xml:lang="en-US">Create default instances for transactions</xforms:label>
                        <xforms:label xml:lang="de-DE">Standardinstanzen erstellen für Transaktionen</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="nl-NL">Moet het publicatieproces standaardinstances maken met alle transacties (aanbevolen).</xs:documentation>
                    <xs:documentation xml:lang="en-US">Should the publication process create default instances of every transaction including community mappings (if any) (recommended).</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Soll der Publikationsprozess Standardinstanzen jeder Transaktion erstellen, einschließlich Community-Mappings (falls vorhanden) (empfohlen).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="useCustomRetrieve">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Aangepaste RetrieveTransaction parameter hidecolumns</xforms:label>
                        <xforms:label xml:lang="en-US">Custom RetrieveTransaction parameter hidecolumns</xforms:label>
                        <xforms:label xml:lang="de-DE">Benutzerdefinierter RetrieveTransaction-Parameter hidecolumns</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="nl-NL">Moet het publicatieproces HTML maken met aangepaste links naar RetrieveTransaction. Deze krijgen standaard de parameter hidecolumns=45ghi mee. Dit is de aanbevolen instelling.</xs:documentation>
                    <xs:documentation xml:lang="en-US">Should the publication process create HTML with custom links to RetrieveTransaction. These use parameter hidecolumns=45ghi by default. This is the recommended setting.</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Soll der Publikationsprozess HTML mit benutzerdefinierten Links zu RetrieveTransaction erstellen. Diese verwenden standardmäßig den Parameter hidecolumns=45ghi. Dies ist die empfohlene Einstellung.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="logLevel">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Niveau van logging</xforms:label>
                        <xforms:label xml:lang="en-US">Log level</xforms:label>
                        <xforms:label xml:lang="de-DE">Niveau des Logs</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">What level of logging should be in used in the publication process. Defaults to INFO. Other options are ALL, DEBUG, WARN, ERROR, FATAL and OFF</xs:documentation>
                    <xs:documentation xml:lang="nl-NL">Bepaalt het niveau van logging in het publicatieprocess. Standaardwaarde is INFO. Andere opties zijn ALL, DEBUG, WARN, ERROR, FATAL en OFF</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Welche Niveau des Logs sollte im Publikationsprozess verwendet werden. Standardmäßig INFO. Andere Optionen sind ALLE, DEBUG, WARN, ERROR, FATAL und OFF</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="artdecordeeplinkprefix">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Niveau van logging</xforms:label>
                        <xforms:label xml:lang="en-US">Log level</xforms:label>
                        <xforms:label xml:lang="de-DE">Niveau des Logs</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">URI for ART-DECOR, e.g. https://art-decor.org/art-decor/. MUST end with a /. The value is used to build the URI to the live project for example to get to full issue details. If you do not set it here, the process will try decor/@deeplinkprefix which gets set through project compilation. If that has no value either then links will not work.</xs:documentation>
                    <xs:documentation xml:lang="nl-NL">URI voor ART-DECOR, e.g.https://art-decor.org/art-decor/. MOET eindigen op /. De waarde wordt gebruikt voor het maken van de URI richting het live project, bijvoorbeeld voor details van issues. Als deze hier niet wordt gezet, dan wordt het gelezen van decor/@deeplinkprefix welke in het compilatieproces wordt gezet. Als die ook geen waarde heeft, zullen links niet werken.</xs:documentation>
                    <xs:documentation xml:lang="de-DE">URI für ART-DECOR, z.B. https://art-decor.org/art-decor/. MUSS mit einem / enden. Der Wert wird verwendet, um den URI zum Live-Projekt zu erstellen, um beispiel zu vollständigen Problemdetails zu gelangen. Wenn Sie es hier nicht festlegen, versucht der Prozess decor/@deeplinkprefix, das durch die Projektkompilierung festgelegt wird. Wenn auch das keinen Wert hat, funktionieren die Links nicht.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bindingBehavior">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Schematron binding-gedrag</xforms:label>
                        <xforms:label xml:lang="en-US">Schematron binding-behavior</xforms:label>
                        <xforms:label xml:lang="de-DE">Schematron-Bindungsverhalten</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Als het publicatieproces Schematron maakt, wat is hierbij het gedrag van de terminologiebindings. "freeze" (standaard) of "preserve". Bij "freeze" wordt voor dynamische bindings de meeste recente versie bij publicatie gebruikt als verder statische versie. Bij "preserve" is voor validatie van dynamische terminologiebindings een terminologieserver nodig.</xs:documentation>
                    <xs:documentation xml:lang="nl-NL">If the publicatieproces creates Schematron, what is the desired behavior for terminology bindings. "freeze" (default) or "preserve". For "freeze" the most recent version available at publication time is used for static validation. For "preserve" a terminology server is required to validate dynamic terminology bindings.</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Wenn der Publikationsprozess Schematron erstellt, was ist das gewünschte Verhalten für Terminologiebindungen. "freeze" (Standard) oder "preserve". Für "freeze" wird die zum Zeitpunkt der Veröffentlichung aktuellste Version zur statischen Validierung verwendet. Für "preserve" ist ein Terminologieserver erforderlich, um dynamische Terminologiebindungen zu validieren.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="switchCreateTreeTableHtml">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Maak HTML met treetable tabellen</xforms:label>
                        <xforms:label xml:lang="en-US">Create HTML with treetable tables</xforms:label>
                        <xforms:label xml:lang="de-DE">HTML-Links erstellen mit treetable Tabellen</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Should the publication process create HTML based documentation with 'treetable.js' based tables (recommended, except for wiki) or traditional style tables.</xs:documentation>
                    <xs:documentation xml:lang="nl-NL">Moet het publicatieproces HTML-gebaseerde documentatie met 'treetable.js' tabellen (aanbevolen, behalve voor wiki) of met traditionele tabellen.</xs:documentation>
                    <xs:documentation xml:lang="de-DE">Soll der Publikationsprozess HTML-basierte Dokumentation mit 'treetable.js'-basierte Tabellen (empfohlen, aber nicht für Wiki) oder Tabellen im traditionellen Stil erstellen.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="TimeDuringDay">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A time during the day in the format hh:mm:ss, the time "24:00" SHALL NOT be used, a time zone SHALL NOT be present.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:time">
            <xs:pattern value="([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">A time during the day in the format hh:mm:ss</xs:documentation>
                </xs:annotation>
            </xs:pattern>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="FullOrPartialDate">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A date, or partial date.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:date">
            <xs:pattern value="([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">A date, or partial date (e.g. just year or year + month) as used in human communication. The format is YYYY, YYYY-MM, or YYYY-MM-DD, e.g. 2018, 1973-06, or 1905-08-23. There SHALL be no time zone. Dates SHALL be valid dates</xs:documentation>
                </xs:annotation>
            </xs:pattern>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="InstantInTime">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">An instant in time in the format YYYY-MM-DDThh:mm:ss.sss+zz:zz (e.g. 2015-02-07T13:28:17.239+02:00 or 2017-01-01T00:00:00Z). The time SHALL specified at least to the second and SHALL include a time zone.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:dateTime">
            <xs:pattern value="([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">An instant in time</xs:documentation>
                </xs:annotation>
            </xs:pattern>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="QuestionnaireTypeOfItemType">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Distinguishes groups from questions and display text and indicates data type for questions.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="group">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Group</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">An item with no direct answer but should have at least one child item.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="display">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Display</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Text for display that will not capture an answer or have child items.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="question">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Question</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">An item that defines a specific answer to be captured, and which may have child items. (the answer provided in the QuestionnaireResponse should be of the defined datatype).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="boolean">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Boolean</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Question with a yes/no answer (valueBoolean).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="decimal">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Decimal</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Question with is a real number answer (valueDecimal).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="integer">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Integer</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Question with an integer answer (valueInteger).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="date">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Date</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Question with a date answer (valueDate).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="dateTime">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Date Time</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Question with a date and time answer (valueDateTime).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="time">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Time</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Question with a time (hour:minute:second) answer independent of date. (valueTime).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="string">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">String</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Question with a short (few words to short sentence) free-text entry answer (valueString).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="text">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Text</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Question with a long (potentially multi-paragraph) free-text entry answer (valueString).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="url">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Url</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Question with a URL (website, FTP site, etc.) answer (valueUri).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="choice">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Choice</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Question with a Coding drawn from a list of possible answers (specified in either the answerOption property, or via the valueset referenced in the answerValueSet property) as an answer (valueCoding).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="open-choice">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Open Choice</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Answer is a Coding drawn from a list of possible answers (as with the choice type) or a free-text entry in a string (valueCoding or valueString).
                    </xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="attachment">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Attachment</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Question with binary content such as an image, PDF, etc. as an answer (valueAttachment).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="reference">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Reference</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Question with a reference to another resource (practitioner, organization, etc.) as an answer (valueReference).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="quantity">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Quantity</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Question with a combination of a numeric value and unit, potentially with a comparator (&lt;, &gt;, etc.) as an answer. (valueQuantity) There is an extension 'http://hl7.org/fhir/StructureDefinition/questionnaire-unit' that can be used to define what unit should be captured (or the unit that has a ucum conversion from the provided unit).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="FHIRResourceType">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Distinguishes groups from questions and display text and indicates data type for questions.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="Account">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Account</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ActivityDefinition">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ActivityDefinition</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="AdverseEvent">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">AdverseEvent</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Actual or potential/avoided event causing unintended physical injury resulting from or contributed to by medical care, a research study or other healthcare setting factors that requires additional monitoring, treatment, or hospitalization, or that results in death.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="AllergyIntolerance">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">AllergyIntolerance</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Appointment">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Appointment</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="AppointmentResponse">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">AppointmentResponse</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="AuditEvent">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">AuditEvent</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Basic">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Basic</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Binary">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Binary</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A resource that represents the data of a single raw artifact as digital content accessible in its native format. A Binary resource can contain any content, whether text, image, pdf, zip archive, etc.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BiologicallyDerivedProduct">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">BiologicallyDerivedProduct</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BodyStructure">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">BodyStructure</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Record details about an anatomical structure. This resource may be used when a coded concept does not provide the necessary detail needed for the use case.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Bundle">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Bundle</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A container for a collection of resources.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CapabilityStatement">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">CapabilityStatement</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CarePlan">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">CarePlan</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CareTeam">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">CareTeam</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CatalogEntry">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">CatalogEntry</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Catalog entries are wrappers that contextualize items included in a catalog.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ChargeItem">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ChargeItem</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost
                        allocation.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ChargeItemDefinition">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ChargeItemDefinition</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Claim">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Claim</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ClaimResponse">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ClaimResponse</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">This resource provides the adjudication details from the processing of a Claim resource.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ClinicalImpression">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ClinicalImpression</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is
                        called \"ClinicalImpression\" rather than \"ClinicalAssessment\" to avoid confusion with the recording of assessment tools such as Apgar score.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CodeSystem">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">CodeSystem</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Communication">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Communication</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency that was notified about a reportable condition.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CommunicationRequest">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">CommunicationRequest</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CompartmentDefinition">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">CompartmentDefinition</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A compartment definition that defines how resources are accessed on a server.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Composition">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Composition</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a
                        Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ConceptMap">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ConceptMap</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Condition">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Condition</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Consent">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Consent</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A record of a healthcare consumerâ€™s choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Contract">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Contract</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Coverage">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Coverage</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CoverageEligibilityRequest">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">CoverageEligibilityRequest</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CoverageEligibilityResponse">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">CoverageEligibilityResponse</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="DetectedIssue">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">DetectedIssue</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Device">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Device</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="DeviceDefinition">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">DeviceDefinition</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The characteristics, operational status and capabilities of a medical-related component of a medical device.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="DeviceMetric">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">DeviceMetric</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Describes a measurement, calculation or setting capability of a medical device.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="DeviceRequest">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">DeviceRequest</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Represents a request for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="DeviceUseStatement">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">DeviceUseStatement</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A record of a device being used by a patient where the record is the result of a report from the patient or another clinician.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="DiagnosticReport">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">DiagnosticReport</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The findings and interpretation of diagnostic tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of
                        diagnostic reports.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="DocumentManifest">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">DocumentManifest</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A collection of documents compiled for a purpose together with metadata that applies to the collection.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="DocumentReference">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">DocumentReference</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A reference to a document of any kind for any purpose. Provides metadata about the document so that the document can be discovered and managed. The scope of a document is any seralized object with a mime-type, so includes formal patient centric documents (CDA), cliical notes, scanned paper, and non-patient specific documents like policy text.">
                    </xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="DomainResource">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">DomainResource</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A resource that includes narrative, extensions, and contained resources.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EffectEvidenceSynthesis">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">EffectEvidenceSynthesis</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The EffectEvidenceSynthesis resource describes the difference in an outcome between exposures states in a population where the effect estimate is derived from a combination of research studies.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Encounter">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Encounter</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Endpoint">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Endpoint</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b or a REST endpoint for another FHIR server. This may include any security context information.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EnrollmentRequest">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">EnrollmentRequest</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">This resource provides the insurance enrollment details to the insurer regarding a specified coverage.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EnrollmentResponse">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">EnrollmentResponse</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EpisodeOfCare">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">EpisodeOfCare</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EventDefinition">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">EventDefinition</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The EventDefinition resource provides a reusable description of when a particular event can occur.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Evidence">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Evidence</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The Evidence resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EvidenceVariable">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">EvidenceVariable</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The EvidenceVariable resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ExampleScenario">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ExampleScenario</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Example of workflow instance.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ExplanationOfBenefit">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ExplanationOfBenefit</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="FamilyMemberHistory">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">FamilyMemberHistory</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Significant health conditions for a person related to the patient relevant in the context of care for the patient.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Flag">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Flag</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Prospective warnings of potential issues when providing care to the patient.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Goal">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Goal</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="GraphDefinition">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">GraphDefinition</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Group">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Group</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="GuidanceResponse">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">GuidanceResponse</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="HealthcareService">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">HealthcareService</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The details of a healthcare service available at a location.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ImagingStudy">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ImagingStudy</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of
                        different modalities.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Immunization">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Immunization</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ImmunizationEvaluation">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ImmunizationEvaluation</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Describes a comparison of an immunization event against published recommendations to determine if the administration is \"valid\" in relation to those recommendations.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ImmunizationRecommendation">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ImmunizationRecommendation</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ImplementationGuide">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ImplementationGuide</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="InsurancePlan">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">InsurancePlan</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Details of a Health Insurance product/plan provided by an organization.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Invoice">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Invoice</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Library">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Library</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Linkage">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Linkage</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\".</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="List">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">List</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A list is a curated collection of resources.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Location">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Location</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Measure">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Measure</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The Measure resource provides the definition of a quality measure.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MeasureReport">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MeasureReport</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Media">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Media</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Medication">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Medication</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">This resource is primarily used for the identification and definition of a medication for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MedicationAdministration">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MedicationAdministration</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MedicationDispense">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MedicationDispense</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MedicationKnowledge">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MedicationKnowledge</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Information about a medication that is used to support knowledge.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MedicationRequest">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MedicationRequest</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with
                        workflow patterns.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MedicationStatement">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MedicationStatement</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a
                        clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains. \n\nThe primary difference between a medication statement and a
                        medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medication statement is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported
                        the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is
                        more formal and is not missing detailed information.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MedicinalProduct">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MedicinalProduct</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MedicinalProductAuthorization">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MedicinalProductAuthorization</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The regulatory authorization of a medicinal product.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MedicinalProductContraindication">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MedicinalProductContraindication</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MedicinalProductIndication">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MedicinalProductIndication</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Indication for the Medicinal Product.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MedicinalProductIngredient">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MedicinalProductIngredient</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">An ingredient of a manufactured item or pharmaceutical product.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MedicinalProductInteraction">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MedicinalProductInteraction</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The interactions of the medicinal product with other medicinal products, or other forms of interactions.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MedicinalProductManufactured">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MedicinalProductManufactured</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The manufactured item as contained in the packaged medicinal product.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MedicinalProductPackaged">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MedicinalProductPackaged</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A medicinal product in a container or package.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MedicinalProductPharmaceutical">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MedicinalProductPharmaceutical</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A pharmaceutical product described in terms of its composition and dose form.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MedicinalProductUndesirableEffect">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MedicinalProductUndesirableEffect</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Describe the undesirable effects of the medicinal product.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MessageDefinition">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MessageDefinition</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MessageHeader">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MessageHeader</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MolecularSequence">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">MolecularSequence</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Raw data describing a biological sequence.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="NamingSystem">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">NamingSystem</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a \"System\" used within the Identifier and Coding data types.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="NutritionOrder">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">NutritionOrder</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Observation">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Observation</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Measurements and simple assertions made about a patient, device or other subject.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ObservationDefinition">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ObservationDefinition</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">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:enumeration>
            <xs:enumeration value="OperationDefinition">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">OperationDefinition</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="OperationOutcome">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">OperationOutcome</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A collection of error, warning, or information messages that result from a system action.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Organization">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Organization</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="OrganizationAffiliation">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">OrganizationAffiliation</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Parameters">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Parameters</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Patient">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Patient</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Demographics and other administrative information about an individual or animal receiving care or other health-related services.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="PaymentNotice">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">PaymentNotice</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">This resource provides the status of the payment for goods and services rendered, and the request and response resource references.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="PaymentReconciliation">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">PaymentReconciliation</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">This resource provides the details including amount of a payment and allocates the payment items being paid.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Person">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Person</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Demographics and administrative information about a person independent of a specific health-related context.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="PlanDefinition">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">PlanDefinition</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Practitioner">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Practitioner</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A person who is directly or indirectly involved in the provisioning of healthcare.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="PractitionerRole">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">PractitionerRole</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Procedure">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Procedure</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">An action that is or was performed on or for a patient. This can be a physical intervention like an operation, or less invasive like long term services, counseling, or hypnotherapy.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Provenance">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Provenance</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become
                        important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Questionnaire">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Questionnaire</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="QuestionnaireResponse">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">QuestionnaireResponse</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="RelatedPerson">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">RelatedPerson</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="RequestGroup">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">RequestGroup</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A group of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\".</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ResearchDefinition">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ResearchDefinition</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The ResearchDefinition resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ResearchElementDefinition">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ResearchElementDefinition</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The ResearchElementDefinition resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ResearchStudy">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ResearchStudy</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge. This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques. A ResearchStudy
                        involves the gathering of information about human or animal subjects.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ResearchSubject">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ResearchSubject</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A physical entity which is the primary unit of operational and/or administrative interest in a study.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Resource">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Resource</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">This is the base resource type for everything.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="RiskAssessment">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">RiskAssessment</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="RiskEvidenceSynthesis">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">RiskEvidenceSynthesis</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The RiskEvidenceSynthesis resource describes the likelihood of an outcome in a population plus exposure state where the risk estimate is derived from a combination of research studies.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Schedule">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Schedule</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A container for slots of time that may be available for booking appointments.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SearchParameter">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">SearchParameter</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A search parameter that defines a named search item that can be used to search/filter on a resource.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ServiceRequest">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ServiceRequest</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Slot">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Slot</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A slot of time on a schedule that may be available for booking appointments.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Specimen">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Specimen</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A sample to be used for analysis.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SpecimenDefinition">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">SpecimenDefinition</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A kind of specimen with associated set of requirements.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="StructureDefinition">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">StructureDefinition</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="StructureMap">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">StructureMap</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A Map of relationships between 2 structures that can be used to transform data.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Subscription">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Subscription</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The subscription resource is used to define a push-based subscription from a server to another system. Once a subscription is registered with the server, the server checks every resource that is created or updated, and if the resource matches the given criteria, it sends a message on the defined \"channel\" so that another system can take an
                        appropriate action.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Substance">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Substance</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A homogeneous material with a definite composition.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SubstanceNucleicAcid">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">SubstanceNucleicAcid</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5â€™-3â€™ direction.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SubstancePolymer">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">SubstancePolymer</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Todo.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SubstanceProtein">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">SubstanceProtein</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of
                        elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SubstanceReferenceInformation">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">SubstanceReferenceInformation</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Todo.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SubstanceSourceMaterial">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">SubstanceSourceMaterial</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled
                        vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the
                        Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SubstanceSpecification">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">SubstanceSpecification</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">The detailed description of a substance, typically at a level beyond what is used for prescribing.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SupplyDelivery">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">SupplyDelivery</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Record of delivery of what is supplied.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SupplyRequest">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">SupplyRequest</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A record of a request for a medication, substance or device used in the healthcare setting.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Task">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">Task</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A task to be performed.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TerminologyCapabilities">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">TerminologyCapabilities</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TestReport">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">TestReport</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A summary of information based on the results of executing a TestScript.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TestScript">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">TestScript</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ValueSet">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">ValueSet</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="VerificationResult">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">VerificationResult</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">Describes validation requirements, source(s), status and dates for one or more elements.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="VisionPrescription">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="en-US">VisionPrescription</xforms:label>
                    </xs:appinfo>
                    <xs:documentation xml:lang="en-US">An authorization for the provision of glasses and/or contact lenses to a patient.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="BoundaryType">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Upper/Lower boundary data types for an object</xs:documentation>
        </xs:annotation>
        <xs:union memberTypes="xs:date TimeStampOptionalTimezone TimeStampNoTimezone TimeDuringDay InstantInTime Decimal xs:integer"/>
    </xs:simpleType>
    <xs:complexType name="ValueCodeType">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A simple code, e.g. in FHIR</xs:documentation>
        </xs:annotation>
        <xs:attribute name="code" type="EnumerationString"/>
    </xs:complexType>
    <xs:complexType name="ValueCodingType">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A coding, e.g. in FHIR</xs:documentation>
        </xs:annotation>
        <xs:attribute name="code" type="EnumerationString"/>
        <xs:attribute name="codeSystem" type="Oid"/>
        <xs:attribute name="codeSystemName" type="ShortDescriptiveName" use="optional"/>
        <xs:attribute ref="displayName" use="optional"/>
        <xs:attribute name="canonicalUri" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="ValueCodeableConceptType">
        <xs:annotation>
            <xs:documentation>A CodeableConcept represents a value that is usually supplied by providing a reference to one or more terminologies or ontologies but may also be defined by the provision of text. This is a common pattern in healthcare data, e.g. in FHIR</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="coding" type="ValueCodingType" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="text" type="BusinessNameWithLanguage" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ValueStringType">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A string in a value attribute, e.g. in FHIR</xs:documentation>
        </xs:annotation>
        <xs:attribute name="language" type="LanguageCode" use="optional"/>
        <xs:attribute name="value" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="ValueUriType">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A uri in a value attribute, e.g. in FHIR</xs:documentation>
        </xs:annotation>
        <xs:attribute name="value" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="ValueQuantityType">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A quantity with some attribute, e.g. in FHIR</xs:documentation>
        </xs:annotation>
        <xs:attribute name="value" type="xs:decimal" use="optional"/>
        <xs:attribute name="comparator" type="QuantityComparatorType" use="optional"/>
        <xs:attribute name="unit" type="NonEmptyString" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en-US">Display unit</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="code" type="EnumerationString" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en-US">Coded unit, normally UCUM</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="codeSystem" type="Oid" default="2.16.840.1.113883.6.8" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en-US">Code system for coded unit, normally UCUM = 2.16.840.1.113883.6.8</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="codeSystemName" type="ShortDescriptiveName" use="optional"/>
        <xs:attribute name="canonicalUri" type="xs:anyURI" use="optional"/>
    </xs:complexType>
    <xs:complexType name="ValueIntegerType">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">An integer in a value attribute, e.g. in FHIR</xs:documentation>
        </xs:annotation>
        <xs:attribute name="value" type="xs:integer"/>
    </xs:complexType>
    <xs:complexType name="ValueBooleanType">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A boolean in a value attribute, e.g. in FHIR</xs:documentation>
        </xs:annotation>
        <xs:attribute name="value" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="ValueDateType">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A date stamp in a value attribute</xs:documentation>
        </xs:annotation>
        <xs:attribute name="value" type="FullOrPartialDate"/>
    </xs:complexType>
    <xs:complexType name="ValueDateTimeType">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A date time stamp in a value attribute</xs:documentation>
        </xs:annotation>
        <xs:attribute name="value" type="TimeStampOptionalTimezone"/>
    </xs:complexType>
    <xs:complexType name="ValueDecimalType">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A decimal number in a value attribute, e.g. in FHIR</xs:documentation>
        </xs:annotation>
        <xs:attribute name="value" type="xs:decimal"/>
    </xs:complexType>
    <xs:complexType name="ValueRangeType">
        <xs:annotation>
            <xs:documentation>A set of ordered Quantity values defined by a low and high limit.
                
                A Range specifies a set of possible values; usually, one value from the range applies (e.g. "give the patient between 2 and 4 tablets"). Ranges are typically used in instructions., e.g. in FHIR</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="low" type="ValueQuantityType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="high" type="ValueQuantityType" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ValuePeriodType">
        <xs:annotation>
            <xs:documentation>A time period defined by a start and end date/time.
                
                A period specifies a range of times. The context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the period applies (e.g. "give to the patient between 2 and 4 pm on 24-Jun 2013")., e.g. in FHIR</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="start" type="xs:dateTime" minOccurs="0" maxOccurs="1"/>
            <xs:element name="end" type="xs:dateTime" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ValueReferenceType">
        <xs:annotation>
            <xs:documentation>The Reference type contains at least one of a reference (literal reference), an identifier (logical reference), and a display (text description of target). In addition, it may contain a target type., e.g. in FHIR</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="identifier" type="ValueIdentifierType" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="reference" type="xs:anyURI" use="optional"/>
        <xs:attribute name="type" type="FHIRResourceType" use="optional"/>
        <xs:attribute name="display" type="NonEmptyString" use="optional"/>
        <xs:attribute name="system" type="Oid" use="optional"/>
        <xs:attribute name="value" type="NonEmptyString" use="optional"/>
        <xs:attribute ref="canonicalUri" use="optional"/>
    </xs:complexType>
    <xs:simpleType name="IdentifierUseType">
        <xs:annotation>
            <xs:documentation>Identifies the purpose for this identifier, if known .</xs:documentation>
        </xs:annotation>
        <xs:restriction base="EnumerationString">
            <xs:enumeration value="usual">
                <xs:annotation>
                    <xs:documentation>The identifier recommended for display and use in real-world interactions which should be used when such identifier is different from the "official" identifier.</xs:documentation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Gebruikelijk</xforms:label>
                        <xforms:label xml:lang="en-US">Usual</xforms:label>
                        <xforms:label xml:lang="de-DE">Usual</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="official">
                <xs:annotation>
                    <xs:documentation>The identifier considered to be most trusted for the identification of this item. Sometimes also known as "primary" and "main". The determination of "official" is subjective and implementation guides often provide additional guidelines for use.</xs:documentation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Officieel</xforms:label>
                        <xforms:label xml:lang="en-US">Offical</xforms:label>
                        <xforms:label xml:lang="de-DE">Official</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="temp">
                <xs:annotation>
                    <xs:documentation>A temporary identifier.</xs:documentation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Tijdelijk</xforms:label>
                        <xforms:label xml:lang="en-US">Temp</xforms:label>
                        <xforms:label xml:lang="de-DE">Temp</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="secondary">
                <xs:annotation>
                    <xs:documentation>An identifier that was assigned in secondary use - it serves to identify the object in a relative context, but cannot be consistently assigned to the same object again in a different context.</xs:documentation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Secundair</xforms:label>
                        <xforms:label xml:lang="en-US">Secondary</xforms:label>
                        <xforms:label xml:lang="de-DE">Secundary</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="old">
                <xs:annotation>
                    <xs:documentation>The identifier id no longer considered valid, but may be relevant for search purposes. E.g. Changes to identifier schemes, account merges, etc.</xs:documentation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Oud</xforms:label>
                        <xforms:label xml:lang="en-US">Old</xforms:label>
                        <xforms:label xml:lang="de-DE">Alt</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="ValueIdentifierType">
        <xs:annotation>
            <xs:documentation>The Reference type contains at least one of a reference (literal reference), an identifier (logical reference), and a display (text description of target). In addition, it may contain a target type., e.g. in FHIR</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="use" type="IdentifierUseType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="type" type="ValueCodeableConceptType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="period" type="ValuePeriodType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="assigner" type="ValueReferenceType" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="use" type="IdentifierUseType" use="optional"/>
        <xs:attribute name="display" type="NonEmptyString" use="optional"/>
    </xs:complexType>
    <xs:complexType name="ValueTimeType">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A time during the day in a value attribute, in the format hh:mm:ss, e.g. in FHIR.</xs:documentation>
        </xs:annotation>
        <xs:attribute name="value" type="TimeDuringDay"/> 
    </xs:complexType>
    <xs:complexType name="ValueUsageContextType">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">The UsageContext structure defines the context of use for a module, e.g. in FHIR.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="code" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>See ValueUsageContextCodeTypeExtensible. Type of context being specified</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attribute name="code" type="ValueUsageContextCodeType"/>
                    <xs:attribute name="codeSystem" type="Oid" default="2.16.840.1.113883.4.642.1.1068"/>
                    <xs:attribute name="codeSystemName" type="ShortDescriptiveName" use="optional"/>
                    <xs:attribute ref="displayName" use="optional"/>
                    <xs:attribute name="canonicalUri" type="xs:anyURI" use="optional">
                        <xs:annotation>
                            <xs:documentation>Default value when oid is .1068 = http://terminology.hl7.org/CodeSystem/usage-context-type</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <!-- CodeableConcept and Reference are in the official set but that is too complex for now -->
            <xs:choice minOccurs="1" maxOccurs="1">
                <xs:element name="valueCoding" type="ValueCodingType" minOccurs="0"/>
                <!--<xs:element name="valueCodeableConcept" type="ValueCodeableConceptType" minOccurs="0"/>-->
                <xs:element name="valueQuantity" type="ValueQuantityType" minOccurs="0"/>
                <xs:element name="valueRange" type="ValueRangeType" minOccurs="0"/>
                <!--<xs:element name="valueReference" type="ValueReferenceType" minOccurs="0"/>-->
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="ValueUsageContextCodeTypeExtensible">
        <xs:union memberTypes="ValueUsageContextCodeType EnumerationString"/>
    </xs:simpleType>
    <xs:simpleType name="ValueUsageContextCodeType">
        <xs:restriction base="EnumerationString">
            <xs:enumeration value="gender">
                <xs:annotation>
                    <xs:documentation>The gender of the patient. For this context type, appropriate values can be found in the http://hl7.org/fhir/ValueSet/administrative-gender value set.</xs:documentation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Gender</xforms:label>
                        <xforms:label xml:lang="en-US">Gender</xforms:label>
                        <xforms:label xml:lang="de-DE">Gender</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>

            <xs:enumeration value="age">
                <xs:annotation>
                    <xs:documentation>The age of the patient. For this context type, the value could be a range that specifies the applicable ages or a code from an appropriate value set such as the MeSH value set http://terminology.hl7.org/ValueSet/v3-AgeGroupObservationValue.</xs:documentation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Age Range</xforms:label>
                        <xforms:label xml:lang="en-US">Age Range</xforms:label>
                        <xforms:label xml:lang="de-DE">Age Range</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>

            <xs:enumeration value="focus">
                <xs:annotation>
                    <xs:documentation>The clinical concept(s) addressed by the artifact. For example, disease, diagnostic test interpretation, medication ordering as in http://hl7.org/fhir/ValueSet/condition-code.</xs:documentation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Clinical Focus</xforms:label>
                        <xforms:label xml:lang="en-US">Clinical Focus</xforms:label>
                        <xforms:label xml:lang="de-DE">Clinical Focus</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>

            <xs:enumeration value="user">
                <xs:annotation>
                    <xs:documentation>The clinical specialty of the context in which the patient is being treated - For example, PCP, Patient, Cardiologist, Behavioral Professional, Oral Health Professional, Prescriber, etc... taken from a specialty value set such as the NUCC Health Care provider taxonomy value set http://hl7.org/fhir/ValueSet/provider-taxonomy.</xs:documentation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">User Type</xforms:label>
                        <xforms:label xml:lang="en-US">User Type</xforms:label>
                        <xforms:label xml:lang="de-DE">User Type</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>

            <xs:enumeration value="workflow">
                <xs:annotation>
                    <xs:documentation>The settings in which the artifact is intended for use. For example, admission, pre-op, etc. For example, the ActEncounterCode value set http://terminology.hl7.org/ValueSet/v3-ActEncounterCode.</xs:documentation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Workflow Setting</xforms:label>
                        <xforms:label xml:lang="en-US">Workflow Setting</xforms:label>
                        <xforms:label xml:lang="de-DE">Workflow Setting</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>

            <xs:enumeration value="task">
                <xs:annotation>
                    <xs:documentation>The context for the clinical task(s) represented by this artifact. For example, this could be any task context represented by the HL7 ActTaskCode value set http://terminology.hl7.org/ValueSet/v3-ActTaskCode. General categories include: order entry, patient documentation and patient information review.</xs:documentation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Workflow Task</xforms:label>
                        <xforms:label xml:lang="en-US">Workflow Task</xforms:label>
                        <xforms:label xml:lang="de-DE">Workflow Task</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>

            <xs:enumeration value="venue">
                <xs:annotation>
                    <xs:documentation>The venue in which an artifact could be used. For example, Outpatient, Inpatient, Home, Nursing home. The code value may originate from the HL7 ServiceDeliveryLocationRoleType value set (http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType).</xs:documentation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Clinical Venue</xforms:label>
                        <xforms:label xml:lang="en-US">Clinical Venue</xforms:label>
                        <xforms:label xml:lang="de-DE">Clinical Venue</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>

            <xs:enumeration value="species">
                <xs:annotation>
                    <xs:documentation>The species to which an artifact applies. For example, SNOMED - 387961004 | Kingdom Animalia (organism).</xs:documentation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Species</xforms:label>
                        <xforms:label xml:lang="en-US">Species</xforms:label>
                        <xforms:label xml:lang="de-DE">Species</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>

            <xs:enumeration value="program">
                <xs:annotation>
                    <xs:documentation>A program/project of work for which this artifact is applicable.</xs:documentation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">Program</xforms:label>
                        <xforms:label xml:lang="en-US">Program</xforms:label>
                        <xforms:label xml:lang="de-DE">Program</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="Expression">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">The Expression structure defines an expression that generates a value. The expression is provided in a specifed language (by mime type). The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used. </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="desc" minOccurs="0" maxOccurs="unbounded" type="FreeFormMarkupWithLanguage">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Natural language description of the expression</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="name" type="NonEmptyString" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en-US">Short name assigned to expression for reuse</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="expressionlanguage" type="MimeType" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="en-US">ExpressionLanguage text/cql | text/fhirpath | application/x-fhir-query (Extensible but limited to http://www.rfc-editor.org/bcp/bcp13.txt )</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="expression" type="NonEmptyString" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en-US">Expression in specified language</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="reference" type="Uri" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en-US">Where the expression is found</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:simpleType name="QuantityComparatorType">
        <xs:annotation>
            <xs:appinfo>
                <xforms:label xml:lang="nl-NL">Quantity Comparator Type</xforms:label>
                <xforms:label xml:lang="en-US">Quantity Comparator Type</xforms:label>
                <xforms:label xml:lang="de-DE">Quantity Comparator Type</xforms:label>
            </xs:appinfo>
            <xs:documentation xml:lang="en-US">Quantity Comparator Type</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="&lt;=">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">kleiner-dan-of-gelijk</xforms:label>
                        <xforms:label xml:lang="en-US">less-than-or-equal</xforms:label>
                        <xforms:label xml:lang="de-DE">less-than-or-equal</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value=">=">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">groter-dan-of-gelijk</xforms:label>
                        <xforms:label xml:lang="en-US">greater-than-or-equal</xforms:label>
                        <xforms:label xml:lang="de-DE">greater-than-or-equal</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="&lt;">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">kleiner</xforms:label>
                        <xforms:label xml:lang="en-US">less</xforms:label>
                        <xforms:label xml:lang="de-DE">less</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value=">">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">groter</xforms:label>
                        <xforms:label xml:lang="en-US">greater</xforms:label>
                        <xforms:label xml:lang="de-DE">greater</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ad">
                <xs:annotation>
                    <xs:appinfo>
                        <xforms:label xml:lang="nl-NL">genoeg om deze totale hoeveelheid te bereiken</xforms:label>
                        <xforms:label xml:lang="en-US">sufficient to achieve this total quantity</xforms:label>
                        <xforms:label xml:lang="de-DE">sufficient to achieve this total quantity</xforms:label>
                    </xs:appinfo>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:attribute name="canonicalUri" type="xs:anyURI">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">HL7® FHIR® canonical URI. Logical URI to reference this StructureDefinition, logical model, value set, etc. (globally unique)</xs:documentation>
            <xs:documentation xml:lang="de-DE">HL7® FHIR® canonical URI. Logical URI to reference this StructureDefinition, logical model, value set, etc. (globally unique)</xs:documentation>
            <xs:documentation xml:lang="nl-NL">HL7® FHIR® kanonieke URI. Logische URI om te verwijzen naar deze StructureDefinition, dit logisch model, waardelijst, etc. (wereldwijd uniek)</xs:documentation>
        </xs:annotation>
    </xs:attribute>
    <xs:attribute name="displayName" type="NonEmptyString">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A description/designation string</xs:documentation>
        </xs:annotation>
    </xs:attribute>
</xs:schema>