<?xml version="1.0" encoding="UTF-8"?>
<!-- 
 * #%L
 * org.hl7.fhir.r5
 * %%
 * Copyright (C) 2014 - 2019 Health Level 7
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */

/*
  Copyright (c) 2011+, HL7, Inc.
  All rights reserved.
  
  Redistribution and use in source and binary forms, with or without modification, 
  are permitted provided that the following conditions are met:
  
   * Redistributions of source code must retain the above copyright notice, this 
     list of conditions and the following disclaimer.
   * Redistributions in binary form must reproduce the above copyright notice, 
     this list of conditions and the following disclaimer in the documentation 
     and/or other materials provided with the distribution.
   * Neither the name of HL7 nor the names of its contributors may be used to 
     endorse or promote products derived from this software without specific 
     prior written permission.
  
  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
  POSSIBILITY OF SUCH DAMAGE.
  

  Generated on Sun, Jun 21, 2026 23:26+0000 for FHIR v6.0.0-ballot4 

  Note: the schemas &amp; schematrons do not contain all of the rules about what makes resources
  valid. Implementers will still need to be familiar with the content of the specification and with
  any profiles that apply to the resources in order to make a conformant implementation.

-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://hl7.org/fhir" xmlns:xhtml="http://www.w3.org/1999/xhtml" targetNamespace="http://hl7.org/fhir" elementFormDefault="qualified" version="1.0">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
  <xs:import namespace="http://www.w3.org/1999/xhtml" schemaLocation="fhir-xhtml.xsd"/>
  <xs:include schemaLocation="fhir-all.xsd"/>

  <xs:simpleType name="FHIRTypesEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="Base">
        <xs:annotation>
          <xs:documentation xml:lang="en">Base</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Element">
        <xs:annotation>
          <xs:documentation xml:lang="en">Element</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BackboneElement">
        <xs:annotation>
          <xs:documentation xml:lang="en">BackboneElement</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DataType">
        <xs:annotation>
          <xs:documentation xml:lang="en">DataType</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Address">
        <xs:annotation>
          <xs:documentation xml:lang="en">Address</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Annotation">
        <xs:annotation>
          <xs:documentation xml:lang="en">Annotation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Attachment">
        <xs:annotation>
          <xs:documentation xml:lang="en">Attachment</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Availability">
        <xs:annotation>
          <xs:documentation xml:lang="en">Availability</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BackboneType">
        <xs:annotation>
          <xs:documentation xml:lang="en">BackboneType</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Dosage">
        <xs:annotation>
          <xs:documentation xml:lang="en">Dosage</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DosageCondition">
        <xs:annotation>
          <xs:documentation xml:lang="en">DosageCondition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DosageDetails">
        <xs:annotation>
          <xs:documentation xml:lang="en">DosageDetails</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DosageSafety">
        <xs:annotation>
          <xs:documentation xml:lang="en">DosageSafety</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ElementDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ElementDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MarketingStatus">
        <xs:annotation>
          <xs:documentation xml:lang="en">MarketingStatus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ProductShelfLife">
        <xs:annotation>
          <xs:documentation xml:lang="en">ProductShelfLife</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RelativeTime">
        <xs:annotation>
          <xs:documentation xml:lang="en">RelativeTime</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Timing">
        <xs:annotation>
          <xs:documentation xml:lang="en">Timing</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CodeableConcept">
        <xs:annotation>
          <xs:documentation xml:lang="en">CodeableConcept</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CodeableReference">
        <xs:annotation>
          <xs:documentation xml:lang="en">CodeableReference</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Coding">
        <xs:annotation>
          <xs:documentation xml:lang="en">Coding</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ContactDetail">
        <xs:annotation>
          <xs:documentation xml:lang="en">ContactDetail</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ContactPoint">
        <xs:annotation>
          <xs:documentation xml:lang="en">ContactPoint</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DataRequirement">
        <xs:annotation>
          <xs:documentation xml:lang="en">DataRequirement</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Expression">
        <xs:annotation>
          <xs:documentation xml:lang="en">Expression</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ExtendedContactDetail">
        <xs:annotation>
          <xs:documentation xml:lang="en">ExtendedContactDetail</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Extension">
        <xs:annotation>
          <xs:documentation xml:lang="en">Extension</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HumanName">
        <xs:annotation>
          <xs:documentation xml:lang="en">HumanName</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Identifier">
        <xs:annotation>
          <xs:documentation xml:lang="en">Identifier</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Meta">
        <xs:annotation>
          <xs:documentation xml:lang="en">Meta</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MonetaryComponent">
        <xs:annotation>
          <xs:documentation xml:lang="en">MonetaryComponent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Money">
        <xs:annotation>
          <xs:documentation xml:lang="en">Money</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Narrative">
        <xs:annotation>
          <xs:documentation xml:lang="en">Narrative</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ParameterDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ParameterDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Period">
        <xs:annotation>
          <xs:documentation xml:lang="en">Period</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PrimitiveType">
        <xs:annotation>
          <xs:documentation xml:lang="en">PrimitiveType</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="base64Binary">
        <xs:annotation>
          <xs:documentation xml:lang="en">base64Binary</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="boolean">
        <xs:annotation>
          <xs:documentation xml:lang="en">boolean</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="date">
        <xs:annotation>
          <xs:documentation xml:lang="en">date</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dateTime">
        <xs:annotation>
          <xs:documentation xml:lang="en">dateTime</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="decimal">
        <xs:annotation>
          <xs:documentation xml:lang="en">decimal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="instant">
        <xs:annotation>
          <xs:documentation xml:lang="en">instant</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="integer">
        <xs:annotation>
          <xs:documentation xml:lang="en">integer</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="positiveInt">
        <xs:annotation>
          <xs:documentation xml:lang="en">positiveInt</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unsignedInt">
        <xs:annotation>
          <xs:documentation xml:lang="en">unsignedInt</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="integer64">
        <xs:annotation>
          <xs:documentation xml:lang="en">integer64</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="string">
        <xs:annotation>
          <xs:documentation xml:lang="en">string</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="code">
        <xs:annotation>
          <xs:documentation xml:lang="en">code</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="id">
        <xs:annotation>
          <xs:documentation xml:lang="en">id</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="markdown">
        <xs:annotation>
          <xs:documentation xml:lang="en">markdown</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="time">
        <xs:annotation>
          <xs:documentation xml:lang="en">time</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="uri">
        <xs:annotation>
          <xs:documentation xml:lang="en">uri</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="canonical">
        <xs:annotation>
          <xs:documentation xml:lang="en">canonical</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="oid">
        <xs:annotation>
          <xs:documentation xml:lang="en">oid</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="url">
        <xs:annotation>
          <xs:documentation xml:lang="en">url</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="uuid">
        <xs:annotation>
          <xs:documentation xml:lang="en">uuid</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="xhtml">
        <xs:annotation>
          <xs:documentation xml:lang="en">xhtml</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Quantity">
        <xs:annotation>
          <xs:documentation xml:lang="en">Quantity</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Age">
        <xs:annotation>
          <xs:documentation xml:lang="en">Age</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Count">
        <xs:annotation>
          <xs:documentation xml:lang="en">Count</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Distance">
        <xs:annotation>
          <xs:documentation xml:lang="en">Distance</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Duration">
        <xs:annotation>
          <xs:documentation xml:lang="en">Duration</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Range">
        <xs:annotation>
          <xs:documentation xml:lang="en">Range</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Ratio">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ratio</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RatioRange">
        <xs:annotation>
          <xs:documentation xml:lang="en">RatioRange</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Reference">
        <xs:annotation>
          <xs:documentation xml:lang="en">Reference</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RelatedArtifact">
        <xs:annotation>
          <xs:documentation xml:lang="en">RelatedArtifact</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SampledData">
        <xs:annotation>
          <xs:documentation xml:lang="en">SampledData</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Signature">
        <xs:annotation>
          <xs:documentation xml:lang="en">Signature</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TriggerDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">TriggerDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="UsageContext">
        <xs:annotation>
          <xs:documentation xml:lang="en">UsageContext</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VirtualServiceDetail">
        <xs:annotation>
          <xs:documentation xml:lang="en">VirtualServiceDetail</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Resource">
        <xs:annotation>
          <xs:documentation xml:lang="en">Resource</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Binary">
        <xs:annotation>
          <xs:documentation xml:lang="en">Binary</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Bundle">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bundle</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DomainResource">
        <xs:annotation>
          <xs:documentation xml:lang="en">DomainResource</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Account">
        <xs:annotation>
          <xs:documentation xml:lang="en">Account</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ActivityDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ActivityDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ActorDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ActorDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AdministrableProductDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">AdministrableProductDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AdverseEvent">
        <xs:annotation>
          <xs:documentation xml:lang="en">AdverseEvent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AllergyIntolerance">
        <xs:annotation>
          <xs:documentation xml:lang="en">AllergyIntolerance</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Appointment">
        <xs:annotation>
          <xs:documentation xml:lang="en">Appointment</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AppointmentResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">AppointmentResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ArtifactAssessment">
        <xs:annotation>
          <xs:documentation xml:lang="en">ArtifactAssessment</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AuditEvent">
        <xs:annotation>
          <xs:documentation xml:lang="en">AuditEvent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Basic">
        <xs:annotation>
          <xs:documentation xml:lang="en">Basic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BiologicallyDerivedProduct">
        <xs:annotation>
          <xs:documentation xml:lang="en">BiologicallyDerivedProduct</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BodyStructure">
        <xs:annotation>
          <xs:documentation xml:lang="en">BodyStructure</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CanonicalResource">
        <xs:annotation>
          <xs:documentation xml:lang="en">CanonicalResource</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CapabilityStatement">
        <xs:annotation>
          <xs:documentation xml:lang="en">CapabilityStatement</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CarePlan">
        <xs:annotation>
          <xs:documentation xml:lang="en">CarePlan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CareTeam">
        <xs:annotation>
          <xs:documentation xml:lang="en">CareTeam</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Claim">
        <xs:annotation>
          <xs:documentation xml:lang="en">Claim</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ClaimResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">ClaimResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ClinicalUseDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ClinicalUseDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CodeSystem">
        <xs:annotation>
          <xs:documentation xml:lang="en">CodeSystem</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Communication">
        <xs:annotation>
          <xs:documentation xml:lang="en">Communication</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CommunicationRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">CommunicationRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CompartmentDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">CompartmentDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Composition">
        <xs:annotation>
          <xs:documentation xml:lang="en">Composition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ConceptMap">
        <xs:annotation>
          <xs:documentation xml:lang="en">ConceptMap</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Condition">
        <xs:annotation>
          <xs:documentation xml:lang="en">Condition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Consent">
        <xs:annotation>
          <xs:documentation xml:lang="en">Consent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Contract">
        <xs:annotation>
          <xs:documentation xml:lang="en">Contract</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Coverage">
        <xs:annotation>
          <xs:documentation xml:lang="en">Coverage</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CoverageEligibilityRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">CoverageEligibilityRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CoverageEligibilityResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">CoverageEligibilityResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DetectedIssue">
        <xs:annotation>
          <xs:documentation xml:lang="en">DetectedIssue</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Device">
        <xs:annotation>
          <xs:documentation xml:lang="en">Device</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceAlert">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceAlert</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceAssociation">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceAssociation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceMetric">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceMetric</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DiagnosticReport">
        <xs:annotation>
          <xs:documentation xml:lang="en">DiagnosticReport</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DocumentReference">
        <xs:annotation>
          <xs:documentation xml:lang="en">DocumentReference</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Encounter">
        <xs:annotation>
          <xs:documentation xml:lang="en">Encounter</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Endpoint">
        <xs:annotation>
          <xs:documentation xml:lang="en">Endpoint</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EnrollmentRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">EnrollmentRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EnrollmentResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">EnrollmentResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EpisodeOfCare">
        <xs:annotation>
          <xs:documentation xml:lang="en">EpisodeOfCare</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EventDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">EventDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Evidence">
        <xs:annotation>
          <xs:documentation xml:lang="en">Evidence</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EvidenceVariable">
        <xs:annotation>
          <xs:documentation xml:lang="en">EvidenceVariable</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ExampleScenario">
        <xs:annotation>
          <xs:documentation xml:lang="en">ExampleScenario</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ExplanationOfBenefit">
        <xs:annotation>
          <xs:documentation xml:lang="en">ExplanationOfBenefit</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="FamilyMemberHistory">
        <xs:annotation>
          <xs:documentation xml:lang="en">FamilyMemberHistory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Flag">
        <xs:annotation>
          <xs:documentation xml:lang="en">Flag</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Goal">
        <xs:annotation>
          <xs:documentation xml:lang="en">Goal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Group">
        <xs:annotation>
          <xs:documentation xml:lang="en">Group</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GuidanceResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">GuidanceResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HealthcareService">
        <xs:annotation>
          <xs:documentation xml:lang="en">HealthcareService</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ImagingSelection">
        <xs:annotation>
          <xs:documentation xml:lang="en">ImagingSelection</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ImagingStudy">
        <xs:annotation>
          <xs:documentation xml:lang="en">ImagingStudy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Immunization">
        <xs:annotation>
          <xs:documentation xml:lang="en">Immunization</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ImplementationGuide">
        <xs:annotation>
          <xs:documentation xml:lang="en">ImplementationGuide</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Ingredient">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ingredient</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="InsurancePlan">
        <xs:annotation>
          <xs:documentation xml:lang="en">InsurancePlan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="InsuranceProduct">
        <xs:annotation>
          <xs:documentation xml:lang="en">InsuranceProduct</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Invoice">
        <xs:annotation>
          <xs:documentation xml:lang="en">Invoice</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Library">
        <xs:annotation>
          <xs:documentation xml:lang="en">Library</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="List">
        <xs:annotation>
          <xs:documentation xml:lang="en">List</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Location">
        <xs:annotation>
          <xs:documentation xml:lang="en">Location</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ManufacturedItemDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ManufacturedItemDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Measure">
        <xs:annotation>
          <xs:documentation xml:lang="en">Measure</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MeasureReport">
        <xs:annotation>
          <xs:documentation xml:lang="en">MeasureReport</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Medication">
        <xs:annotation>
          <xs:documentation xml:lang="en">Medication</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationAdministration">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationAdministration</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationDispense">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationDispense</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationStatement">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationStatement</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicinalProductDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicinalProductDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MessageDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">MessageDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MessageHeader">
        <xs:annotation>
          <xs:documentation xml:lang="en">MessageHeader</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MetadataResource">
        <xs:annotation>
          <xs:documentation xml:lang="en">MetadataResource</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NamingSystem">
        <xs:annotation>
          <xs:documentation xml:lang="en">NamingSystem</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NutritionIntake">
        <xs:annotation>
          <xs:documentation xml:lang="en">NutritionIntake</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NutritionOrder">
        <xs:annotation>
          <xs:documentation xml:lang="en">NutritionOrder</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NutritionProduct">
        <xs:annotation>
          <xs:documentation xml:lang="en">NutritionProduct</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Observation">
        <xs:annotation>
          <xs:documentation xml:lang="en">Observation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ObservationDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ObservationDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OperationDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">OperationDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OperationOutcome">
        <xs:annotation>
          <xs:documentation xml:lang="en">OperationOutcome</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Organization">
        <xs:annotation>
          <xs:documentation xml:lang="en">Organization</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OrganizationAffiliation">
        <xs:annotation>
          <xs:documentation xml:lang="en">OrganizationAffiliation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PackagedProductDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">PackagedProductDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Patient">
        <xs:annotation>
          <xs:documentation xml:lang="en">Patient</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PaymentNotice">
        <xs:annotation>
          <xs:documentation xml:lang="en">PaymentNotice</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PaymentReconciliation">
        <xs:annotation>
          <xs:documentation xml:lang="en">PaymentReconciliation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Person">
        <xs:annotation>
          <xs:documentation xml:lang="en">Person</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PlanDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">PlanDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Practitioner">
        <xs:annotation>
          <xs:documentation xml:lang="en">Practitioner</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PractitionerRole">
        <xs:annotation>
          <xs:documentation xml:lang="en">PractitionerRole</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Procedure">
        <xs:annotation>
          <xs:documentation xml:lang="en">Procedure</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Provenance">
        <xs:annotation>
          <xs:documentation xml:lang="en">Provenance</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Questionnaire">
        <xs:annotation>
          <xs:documentation xml:lang="en">Questionnaire</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QuestionnaireResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">QuestionnaireResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RegulatedAuthorization">
        <xs:annotation>
          <xs:documentation xml:lang="en">RegulatedAuthorization</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RelatedPerson">
        <xs:annotation>
          <xs:documentation xml:lang="en">RelatedPerson</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RequestOrchestration">
        <xs:annotation>
          <xs:documentation xml:lang="en">RequestOrchestration</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Requirements">
        <xs:annotation>
          <xs:documentation xml:lang="en">Requirements</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ResearchStudy">
        <xs:annotation>
          <xs:documentation xml:lang="en">ResearchStudy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ResearchSubject">
        <xs:annotation>
          <xs:documentation xml:lang="en">ResearchSubject</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RiskAssessment">
        <xs:annotation>
          <xs:documentation xml:lang="en">RiskAssessment</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Schedule">
        <xs:annotation>
          <xs:documentation xml:lang="en">Schedule</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SearchParameter">
        <xs:annotation>
          <xs:documentation xml:lang="en">SearchParameter</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ServiceRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">ServiceRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Slot">
        <xs:annotation>
          <xs:documentation xml:lang="en">Slot</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Specimen">
        <xs:annotation>
          <xs:documentation xml:lang="en">Specimen</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SpecimenDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">SpecimenDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="StructureDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">StructureDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="StructureMap">
        <xs:annotation>
          <xs:documentation xml:lang="en">StructureMap</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Subscription">
        <xs:annotation>
          <xs:documentation xml:lang="en">Subscription</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SubscriptionStatus">
        <xs:annotation>
          <xs:documentation xml:lang="en">SubscriptionStatus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SubscriptionTopic">
        <xs:annotation>
          <xs:documentation xml:lang="en">SubscriptionTopic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Substance">
        <xs:annotation>
          <xs:documentation xml:lang="en">Substance</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SubstanceDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">SubstanceDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Task">
        <xs:annotation>
          <xs:documentation xml:lang="en">Task</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TerminologyCapabilities">
        <xs:annotation>
          <xs:documentation xml:lang="en">TerminologyCapabilities</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ValueSet">
        <xs:annotation>
          <xs:documentation xml:lang="en">ValueSet</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VisionPrescription">
        <xs:annotation>
          <xs:documentation xml:lang="en">VisionPrescription</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Parameters">
        <xs:annotation>
          <xs:documentation xml:lang="en">Parameters</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="FHIRTypes">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="FHIRTypesEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="FHIRPathTypesEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="http://hl7.org/fhirpath/System.String">
        <xs:annotation>
          <xs:documentation xml:lang="en">String</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="http://hl7.org/fhirpath/System.Boolean">
        <xs:annotation>
          <xs:documentation xml:lang="en">Boolean</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="http://hl7.org/fhirpath/System.Date">
        <xs:annotation>
          <xs:documentation xml:lang="en">Date</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="http://hl7.org/fhirpath/System.DateTime">
        <xs:annotation>
          <xs:documentation xml:lang="en">DateTime</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="http://hl7.org/fhirpath/System.Decimal">
        <xs:annotation>
          <xs:documentation xml:lang="en">Decimal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="http://hl7.org/fhirpath/System.Integer">
        <xs:annotation>
          <xs:documentation xml:lang="en">Integer</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="http://hl7.org/fhirpath/System.Long">
        <xs:annotation>
          <xs:documentation xml:lang="en">Long</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="http://hl7.org/fhirpath/System.Time">
        <xs:annotation>
          <xs:documentation xml:lang="en">Time</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="FHIRPathTypes">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="FHIRPathTypesEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ResourceTypeEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="Account">
        <xs:annotation>
          <xs:documentation xml:lang="en">Account</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ActivityDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ActivityDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ActorDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ActorDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AdministrableProductDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">AdministrableProductDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AdverseEvent">
        <xs:annotation>
          <xs:documentation xml:lang="en">AdverseEvent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AllergyIntolerance">
        <xs:annotation>
          <xs:documentation xml:lang="en">AllergyIntolerance</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Appointment">
        <xs:annotation>
          <xs:documentation xml:lang="en">Appointment</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AppointmentResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">AppointmentResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ArtifactAssessment">
        <xs:annotation>
          <xs:documentation xml:lang="en">ArtifactAssessment</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AuditEvent">
        <xs:annotation>
          <xs:documentation xml:lang="en">AuditEvent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Basic">
        <xs:annotation>
          <xs:documentation xml:lang="en">Basic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Binary">
        <xs:annotation>
          <xs:documentation xml:lang="en">Binary</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BiologicallyDerivedProduct">
        <xs:annotation>
          <xs:documentation xml:lang="en">BiologicallyDerivedProduct</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BodyStructure">
        <xs:annotation>
          <xs:documentation xml:lang="en">BodyStructure</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Bundle">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bundle</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CapabilityStatement">
        <xs:annotation>
          <xs:documentation xml:lang="en">CapabilityStatement</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CarePlan">
        <xs:annotation>
          <xs:documentation xml:lang="en">CarePlan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CareTeam">
        <xs:annotation>
          <xs:documentation xml:lang="en">CareTeam</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Claim">
        <xs:annotation>
          <xs:documentation xml:lang="en">Claim</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ClaimResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">ClaimResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ClinicalUseDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ClinicalUseDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CodeSystem">
        <xs:annotation>
          <xs:documentation xml:lang="en">CodeSystem</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Communication">
        <xs:annotation>
          <xs:documentation xml:lang="en">Communication</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CommunicationRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">CommunicationRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CompartmentDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">CompartmentDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Composition">
        <xs:annotation>
          <xs:documentation xml:lang="en">Composition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ConceptMap">
        <xs:annotation>
          <xs:documentation xml:lang="en">ConceptMap</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Condition">
        <xs:annotation>
          <xs:documentation xml:lang="en">Condition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Consent">
        <xs:annotation>
          <xs:documentation xml:lang="en">Consent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Contract">
        <xs:annotation>
          <xs:documentation xml:lang="en">Contract</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Coverage">
        <xs:annotation>
          <xs:documentation xml:lang="en">Coverage</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CoverageEligibilityRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">CoverageEligibilityRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CoverageEligibilityResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">CoverageEligibilityResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DetectedIssue">
        <xs:annotation>
          <xs:documentation xml:lang="en">DetectedIssue</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Device">
        <xs:annotation>
          <xs:documentation xml:lang="en">Device</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceAlert">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceAlert</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceAssociation">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceAssociation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceMetric">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceMetric</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DiagnosticReport">
        <xs:annotation>
          <xs:documentation xml:lang="en">DiagnosticReport</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DocumentReference">
        <xs:annotation>
          <xs:documentation xml:lang="en">DocumentReference</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Encounter">
        <xs:annotation>
          <xs:documentation xml:lang="en">Encounter</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Endpoint">
        <xs:annotation>
          <xs:documentation xml:lang="en">Endpoint</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EnrollmentRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">EnrollmentRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EnrollmentResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">EnrollmentResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EpisodeOfCare">
        <xs:annotation>
          <xs:documentation xml:lang="en">EpisodeOfCare</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EventDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">EventDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Evidence">
        <xs:annotation>
          <xs:documentation xml:lang="en">Evidence</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EvidenceVariable">
        <xs:annotation>
          <xs:documentation xml:lang="en">EvidenceVariable</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ExampleScenario">
        <xs:annotation>
          <xs:documentation xml:lang="en">ExampleScenario</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ExplanationOfBenefit">
        <xs:annotation>
          <xs:documentation xml:lang="en">ExplanationOfBenefit</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="FamilyMemberHistory">
        <xs:annotation>
          <xs:documentation xml:lang="en">FamilyMemberHistory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Flag">
        <xs:annotation>
          <xs:documentation xml:lang="en">Flag</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Goal">
        <xs:annotation>
          <xs:documentation xml:lang="en">Goal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Group">
        <xs:annotation>
          <xs:documentation xml:lang="en">Group</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GuidanceResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">GuidanceResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HealthcareService">
        <xs:annotation>
          <xs:documentation xml:lang="en">HealthcareService</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ImagingSelection">
        <xs:annotation>
          <xs:documentation xml:lang="en">ImagingSelection</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ImagingStudy">
        <xs:annotation>
          <xs:documentation xml:lang="en">ImagingStudy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Immunization">
        <xs:annotation>
          <xs:documentation xml:lang="en">Immunization</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ImplementationGuide">
        <xs:annotation>
          <xs:documentation xml:lang="en">ImplementationGuide</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Ingredient">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ingredient</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="InsurancePlan">
        <xs:annotation>
          <xs:documentation xml:lang="en">InsurancePlan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="InsuranceProduct">
        <xs:annotation>
          <xs:documentation xml:lang="en">InsuranceProduct</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Invoice">
        <xs:annotation>
          <xs:documentation xml:lang="en">Invoice</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Library">
        <xs:annotation>
          <xs:documentation xml:lang="en">Library</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="List">
        <xs:annotation>
          <xs:documentation xml:lang="en">List</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Location">
        <xs:annotation>
          <xs:documentation xml:lang="en">Location</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ManufacturedItemDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ManufacturedItemDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Measure">
        <xs:annotation>
          <xs:documentation xml:lang="en">Measure</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MeasureReport">
        <xs:annotation>
          <xs:documentation xml:lang="en">MeasureReport</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Medication">
        <xs:annotation>
          <xs:documentation xml:lang="en">Medication</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationAdministration">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationAdministration</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationDispense">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationDispense</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationStatement">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationStatement</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicinalProductDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicinalProductDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MessageDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">MessageDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MessageHeader">
        <xs:annotation>
          <xs:documentation xml:lang="en">MessageHeader</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NamingSystem">
        <xs:annotation>
          <xs:documentation xml:lang="en">NamingSystem</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NutritionIntake">
        <xs:annotation>
          <xs:documentation xml:lang="en">NutritionIntake</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NutritionOrder">
        <xs:annotation>
          <xs:documentation xml:lang="en">NutritionOrder</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NutritionProduct">
        <xs:annotation>
          <xs:documentation xml:lang="en">NutritionProduct</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Observation">
        <xs:annotation>
          <xs:documentation xml:lang="en">Observation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ObservationDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ObservationDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OperationDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">OperationDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OperationOutcome">
        <xs:annotation>
          <xs:documentation xml:lang="en">OperationOutcome</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Organization">
        <xs:annotation>
          <xs:documentation xml:lang="en">Organization</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OrganizationAffiliation">
        <xs:annotation>
          <xs:documentation xml:lang="en">OrganizationAffiliation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PackagedProductDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">PackagedProductDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Parameters">
        <xs:annotation>
          <xs:documentation xml:lang="en">Parameters</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Patient">
        <xs:annotation>
          <xs:documentation xml:lang="en">Patient</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PaymentNotice">
        <xs:annotation>
          <xs:documentation xml:lang="en">PaymentNotice</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PaymentReconciliation">
        <xs:annotation>
          <xs:documentation xml:lang="en">PaymentReconciliation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Person">
        <xs:annotation>
          <xs:documentation xml:lang="en">Person</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PlanDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">PlanDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Practitioner">
        <xs:annotation>
          <xs:documentation xml:lang="en">Practitioner</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PractitionerRole">
        <xs:annotation>
          <xs:documentation xml:lang="en">PractitionerRole</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Procedure">
        <xs:annotation>
          <xs:documentation xml:lang="en">Procedure</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Provenance">
        <xs:annotation>
          <xs:documentation xml:lang="en">Provenance</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Questionnaire">
        <xs:annotation>
          <xs:documentation xml:lang="en">Questionnaire</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QuestionnaireResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">QuestionnaireResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RegulatedAuthorization">
        <xs:annotation>
          <xs:documentation xml:lang="en">RegulatedAuthorization</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RelatedPerson">
        <xs:annotation>
          <xs:documentation xml:lang="en">RelatedPerson</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RequestOrchestration">
        <xs:annotation>
          <xs:documentation xml:lang="en">RequestOrchestration</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Requirements">
        <xs:annotation>
          <xs:documentation xml:lang="en">Requirements</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ResearchStudy">
        <xs:annotation>
          <xs:documentation xml:lang="en">ResearchStudy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ResearchSubject">
        <xs:annotation>
          <xs:documentation xml:lang="en">ResearchSubject</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RiskAssessment">
        <xs:annotation>
          <xs:documentation xml:lang="en">RiskAssessment</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Schedule">
        <xs:annotation>
          <xs:documentation xml:lang="en">Schedule</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SearchParameter">
        <xs:annotation>
          <xs:documentation xml:lang="en">SearchParameter</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ServiceRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">ServiceRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Slot">
        <xs:annotation>
          <xs:documentation xml:lang="en">Slot</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Specimen">
        <xs:annotation>
          <xs:documentation xml:lang="en">Specimen</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SpecimenDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">SpecimenDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="StructureDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">StructureDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="StructureMap">
        <xs:annotation>
          <xs:documentation xml:lang="en">StructureMap</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Subscription">
        <xs:annotation>
          <xs:documentation xml:lang="en">Subscription</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SubscriptionStatus">
        <xs:annotation>
          <xs:documentation xml:lang="en">SubscriptionStatus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SubscriptionTopic">
        <xs:annotation>
          <xs:documentation xml:lang="en">SubscriptionTopic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Substance">
        <xs:annotation>
          <xs:documentation xml:lang="en">Substance</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SubstanceDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">SubstanceDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Task">
        <xs:annotation>
          <xs:documentation xml:lang="en">Task</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TerminologyCapabilities">
        <xs:annotation>
          <xs:documentation xml:lang="en">TerminologyCapabilities</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ValueSet">
        <xs:annotation>
          <xs:documentation xml:lang="en">ValueSet</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VisionPrescription">
        <xs:annotation>
          <xs:documentation xml:lang="en">VisionPrescription</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ResourceType">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="ResourceTypeEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="RequestResourceTypesEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="Appointment">
        <xs:annotation>
          <xs:documentation xml:lang="en">Appointment</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CarePlan">
        <xs:annotation>
          <xs:documentation xml:lang="en">CarePlan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Claim">
        <xs:annotation>
          <xs:documentation xml:lang="en">Claim</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CommunicationRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">CommunicationRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CoverageEligibilityRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">CoverageEligibilityRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EnrollmentRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">EnrollmentRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NutritionOrder">
        <xs:annotation>
          <xs:documentation xml:lang="en">NutritionOrder</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RequestOrchestration">
        <xs:annotation>
          <xs:documentation xml:lang="en">RequestOrchestration</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ServiceRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">ServiceRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Task">
        <xs:annotation>
          <xs:documentation xml:lang="en">Task</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VisionPrescription">
        <xs:annotation>
          <xs:documentation xml:lang="en">VisionPrescription</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="RequestResourceTypes">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="RequestResourceTypesEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="EventResourceTypesEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="AdverseEvent">
        <xs:annotation>
          <xs:documentation xml:lang="en">AdverseEvent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AuditEvent">
        <xs:annotation>
          <xs:documentation xml:lang="en">AuditEvent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ClaimResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">ClaimResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Communication">
        <xs:annotation>
          <xs:documentation xml:lang="en">Communication</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Composition">
        <xs:annotation>
          <xs:documentation xml:lang="en">Composition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Consent">
        <xs:annotation>
          <xs:documentation xml:lang="en">Consent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Contract">
        <xs:annotation>
          <xs:documentation xml:lang="en">Contract</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Coverage">
        <xs:annotation>
          <xs:documentation xml:lang="en">Coverage</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CoverageEligibilityResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">CoverageEligibilityResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DetectedIssue">
        <xs:annotation>
          <xs:documentation xml:lang="en">DetectedIssue</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceAlert">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceAlert</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DiagnosticReport">
        <xs:annotation>
          <xs:documentation xml:lang="en">DiagnosticReport</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DocumentReference">
        <xs:annotation>
          <xs:documentation xml:lang="en">DocumentReference</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Encounter">
        <xs:annotation>
          <xs:documentation xml:lang="en">Encounter</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EnrollmentResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">EnrollmentResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EpisodeOfCare">
        <xs:annotation>
          <xs:documentation xml:lang="en">EpisodeOfCare</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ExplanationOfBenefit">
        <xs:annotation>
          <xs:documentation xml:lang="en">ExplanationOfBenefit</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="FamilyMemberHistory">
        <xs:annotation>
          <xs:documentation xml:lang="en">FamilyMemberHistory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GuidanceResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">GuidanceResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ImagingSelection">
        <xs:annotation>
          <xs:documentation xml:lang="en">ImagingSelection</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ImagingStudy">
        <xs:annotation>
          <xs:documentation xml:lang="en">ImagingStudy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Immunization">
        <xs:annotation>
          <xs:documentation xml:lang="en">Immunization</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Invoice">
        <xs:annotation>
          <xs:documentation xml:lang="en">Invoice</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationAdministration">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationAdministration</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationDispense">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationDispense</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationStatement">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationStatement</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MessageHeader">
        <xs:annotation>
          <xs:documentation xml:lang="en">MessageHeader</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NutritionIntake">
        <xs:annotation>
          <xs:documentation xml:lang="en">NutritionIntake</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Observation">
        <xs:annotation>
          <xs:documentation xml:lang="en">Observation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PaymentNotice">
        <xs:annotation>
          <xs:documentation xml:lang="en">PaymentNotice</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PaymentReconciliation">
        <xs:annotation>
          <xs:documentation xml:lang="en">PaymentReconciliation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Procedure">
        <xs:annotation>
          <xs:documentation xml:lang="en">Procedure</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Provenance">
        <xs:annotation>
          <xs:documentation xml:lang="en">Provenance</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QuestionnaireResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">QuestionnaireResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RiskAssessment">
        <xs:annotation>
          <xs:documentation xml:lang="en">RiskAssessment</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="EventResourceTypes">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="EventResourceTypesEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="DefinitionResourceTypesEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="ActivityDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ActivityDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ClinicalUseDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ClinicalUseDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EventDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">EventDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Measure">
        <xs:annotation>
          <xs:documentation xml:lang="en">Measure</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MessageDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">MessageDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ObservationDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ObservationDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OperationDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">OperationDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PlanDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">PlanDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Questionnaire">
        <xs:annotation>
          <xs:documentation xml:lang="en">Questionnaire</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Requirements">
        <xs:annotation>
          <xs:documentation xml:lang="en">Requirements</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SubscriptionTopic">
        <xs:annotation>
          <xs:documentation xml:lang="en">SubscriptionTopic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DefinitionResourceTypes">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="DefinitionResourceTypesEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ParticipantResourceTypesEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="CareTeam">
        <xs:annotation>
          <xs:documentation xml:lang="en">CareTeam</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Device">
        <xs:annotation>
          <xs:documentation xml:lang="en">Device</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Group">
        <xs:annotation>
          <xs:documentation xml:lang="en">Group</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HealthcareService">
        <xs:annotation>
          <xs:documentation xml:lang="en">HealthcareService</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Location">
        <xs:annotation>
          <xs:documentation xml:lang="en">Location</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Organization">
        <xs:annotation>
          <xs:documentation xml:lang="en">Organization</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Patient">
        <xs:annotation>
          <xs:documentation xml:lang="en">Patient</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Practitioner">
        <xs:annotation>
          <xs:documentation xml:lang="en">Practitioner</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PractitionerRole">
        <xs:annotation>
          <xs:documentation xml:lang="en">PractitionerRole</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RelatedPerson">
        <xs:annotation>
          <xs:documentation xml:lang="en">RelatedPerson</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParticipantResourceTypes">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="ParticipantResourceTypesEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="EvidenceVariableEventEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="study-start">
        <xs:annotation>
          <xs:documentation xml:lang="en">Study Start</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="treatment-start">
        <xs:annotation>
          <xs:documentation xml:lang="en">Start of Treatment</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="condition-detection">
        <xs:annotation>
          <xs:documentation xml:lang="en">Detection of Condition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="condition-treatment">
        <xs:annotation>
          <xs:documentation xml:lang="en">Treatment of Condition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hospital-admission">
        <xs:annotation>
          <xs:documentation xml:lang="en">Hospital Admission</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hospital-discharge">
        <xs:annotation>
          <xs:documentation xml:lang="en">Hospital Discharge</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="operative-procedure">
        <xs:annotation>
          <xs:documentation xml:lang="en">Operative Procedure</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="EvidenceVariableEvent">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="EvidenceVariableEventEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ConcreteFHIRTypesEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="Account">
        <xs:annotation>
          <xs:documentation xml:lang="en">Account</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ActivityDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ActivityDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ActorDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ActorDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Address">
        <xs:annotation>
          <xs:documentation xml:lang="en">Address</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AdministrableProductDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">AdministrableProductDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AdverseEvent">
        <xs:annotation>
          <xs:documentation xml:lang="en">AdverseEvent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Age">
        <xs:annotation>
          <xs:documentation xml:lang="en">Age</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AllergyIntolerance">
        <xs:annotation>
          <xs:documentation xml:lang="en">AllergyIntolerance</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Annotation">
        <xs:annotation>
          <xs:documentation xml:lang="en">Annotation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Appointment">
        <xs:annotation>
          <xs:documentation xml:lang="en">Appointment</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AppointmentResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">AppointmentResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ArtifactAssessment">
        <xs:annotation>
          <xs:documentation xml:lang="en">ArtifactAssessment</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Attachment">
        <xs:annotation>
          <xs:documentation xml:lang="en">Attachment</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AuditEvent">
        <xs:annotation>
          <xs:documentation xml:lang="en">AuditEvent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Availability">
        <xs:annotation>
          <xs:documentation xml:lang="en">Availability</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="base64Binary">
        <xs:annotation>
          <xs:documentation xml:lang="en">base64Binary</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Basic">
        <xs:annotation>
          <xs:documentation xml:lang="en">Basic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Binary">
        <xs:annotation>
          <xs:documentation xml:lang="en">Binary</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BiologicallyDerivedProduct">
        <xs:annotation>
          <xs:documentation xml:lang="en">BiologicallyDerivedProduct</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BodyStructure">
        <xs:annotation>
          <xs:documentation xml:lang="en">BodyStructure</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="boolean">
        <xs:annotation>
          <xs:documentation xml:lang="en">boolean</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Bundle">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bundle</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="canonical">
        <xs:annotation>
          <xs:documentation xml:lang="en">canonical</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CapabilityStatement">
        <xs:annotation>
          <xs:documentation xml:lang="en">CapabilityStatement</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CarePlan">
        <xs:annotation>
          <xs:documentation xml:lang="en">CarePlan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CareTeam">
        <xs:annotation>
          <xs:documentation xml:lang="en">CareTeam</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Claim">
        <xs:annotation>
          <xs:documentation xml:lang="en">Claim</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ClaimResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">ClaimResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ClinicalUseDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ClinicalUseDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="code">
        <xs:annotation>
          <xs:documentation xml:lang="en">code</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CodeableConcept">
        <xs:annotation>
          <xs:documentation xml:lang="en">CodeableConcept</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CodeableReference">
        <xs:annotation>
          <xs:documentation xml:lang="en">CodeableReference</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CodeSystem">
        <xs:annotation>
          <xs:documentation xml:lang="en">CodeSystem</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Coding">
        <xs:annotation>
          <xs:documentation xml:lang="en">Coding</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Communication">
        <xs:annotation>
          <xs:documentation xml:lang="en">Communication</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CommunicationRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">CommunicationRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CompartmentDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">CompartmentDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Composition">
        <xs:annotation>
          <xs:documentation xml:lang="en">Composition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ConceptMap">
        <xs:annotation>
          <xs:documentation xml:lang="en">ConceptMap</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Condition">
        <xs:annotation>
          <xs:documentation xml:lang="en">Condition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Consent">
        <xs:annotation>
          <xs:documentation xml:lang="en">Consent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ContactDetail">
        <xs:annotation>
          <xs:documentation xml:lang="en">ContactDetail</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ContactPoint">
        <xs:annotation>
          <xs:documentation xml:lang="en">ContactPoint</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Contract">
        <xs:annotation>
          <xs:documentation xml:lang="en">Contract</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Count">
        <xs:annotation>
          <xs:documentation xml:lang="en">Count</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Coverage">
        <xs:annotation>
          <xs:documentation xml:lang="en">Coverage</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CoverageEligibilityRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">CoverageEligibilityRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CoverageEligibilityResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">CoverageEligibilityResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DataRequirement">
        <xs:annotation>
          <xs:documentation xml:lang="en">DataRequirement</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="date">
        <xs:annotation>
          <xs:documentation xml:lang="en">date</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dateTime">
        <xs:annotation>
          <xs:documentation xml:lang="en">dateTime</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="decimal">
        <xs:annotation>
          <xs:documentation xml:lang="en">decimal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DetectedIssue">
        <xs:annotation>
          <xs:documentation xml:lang="en">DetectedIssue</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Device">
        <xs:annotation>
          <xs:documentation xml:lang="en">Device</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceAlert">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceAlert</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceAssociation">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceAssociation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceMetric">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceMetric</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DiagnosticReport">
        <xs:annotation>
          <xs:documentation xml:lang="en">DiagnosticReport</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Distance">
        <xs:annotation>
          <xs:documentation xml:lang="en">Distance</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DocumentReference">
        <xs:annotation>
          <xs:documentation xml:lang="en">DocumentReference</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Dosage">
        <xs:annotation>
          <xs:documentation xml:lang="en">Dosage</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DosageCondition">
        <xs:annotation>
          <xs:documentation xml:lang="en">DosageCondition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DosageDetails">
        <xs:annotation>
          <xs:documentation xml:lang="en">DosageDetails</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DosageSafety">
        <xs:annotation>
          <xs:documentation xml:lang="en">DosageSafety</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Duration">
        <xs:annotation>
          <xs:documentation xml:lang="en">Duration</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ElementDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ElementDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Encounter">
        <xs:annotation>
          <xs:documentation xml:lang="en">Encounter</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Endpoint">
        <xs:annotation>
          <xs:documentation xml:lang="en">Endpoint</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EnrollmentRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">EnrollmentRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EnrollmentResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">EnrollmentResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EpisodeOfCare">
        <xs:annotation>
          <xs:documentation xml:lang="en">EpisodeOfCare</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EventDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">EventDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Evidence">
        <xs:annotation>
          <xs:documentation xml:lang="en">Evidence</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EvidenceVariable">
        <xs:annotation>
          <xs:documentation xml:lang="en">EvidenceVariable</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ExampleScenario">
        <xs:annotation>
          <xs:documentation xml:lang="en">ExampleScenario</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ExplanationOfBenefit">
        <xs:annotation>
          <xs:documentation xml:lang="en">ExplanationOfBenefit</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Expression">
        <xs:annotation>
          <xs:documentation xml:lang="en">Expression</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ExtendedContactDetail">
        <xs:annotation>
          <xs:documentation xml:lang="en">ExtendedContactDetail</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Extension">
        <xs:annotation>
          <xs:documentation xml:lang="en">Extension</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="FamilyMemberHistory">
        <xs:annotation>
          <xs:documentation xml:lang="en">FamilyMemberHistory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Flag">
        <xs:annotation>
          <xs:documentation xml:lang="en">Flag</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Goal">
        <xs:annotation>
          <xs:documentation xml:lang="en">Goal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Group">
        <xs:annotation>
          <xs:documentation xml:lang="en">Group</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GuidanceResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">GuidanceResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HealthcareService">
        <xs:annotation>
          <xs:documentation xml:lang="en">HealthcareService</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HumanName">
        <xs:annotation>
          <xs:documentation xml:lang="en">HumanName</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="id">
        <xs:annotation>
          <xs:documentation xml:lang="en">id</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Identifier">
        <xs:annotation>
          <xs:documentation xml:lang="en">Identifier</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ImagingSelection">
        <xs:annotation>
          <xs:documentation xml:lang="en">ImagingSelection</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ImagingStudy">
        <xs:annotation>
          <xs:documentation xml:lang="en">ImagingStudy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Immunization">
        <xs:annotation>
          <xs:documentation xml:lang="en">Immunization</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ImplementationGuide">
        <xs:annotation>
          <xs:documentation xml:lang="en">ImplementationGuide</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Ingredient">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ingredient</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="instant">
        <xs:annotation>
          <xs:documentation xml:lang="en">instant</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="InsurancePlan">
        <xs:annotation>
          <xs:documentation xml:lang="en">InsurancePlan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="InsuranceProduct">
        <xs:annotation>
          <xs:documentation xml:lang="en">InsuranceProduct</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="integer">
        <xs:annotation>
          <xs:documentation xml:lang="en">integer</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="integer64">
        <xs:annotation>
          <xs:documentation xml:lang="en">integer64</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Invoice">
        <xs:annotation>
          <xs:documentation xml:lang="en">Invoice</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Library">
        <xs:annotation>
          <xs:documentation xml:lang="en">Library</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="List">
        <xs:annotation>
          <xs:documentation xml:lang="en">List</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Location">
        <xs:annotation>
          <xs:documentation xml:lang="en">Location</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ManufacturedItemDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ManufacturedItemDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="markdown">
        <xs:annotation>
          <xs:documentation xml:lang="en">markdown</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MarketingStatus">
        <xs:annotation>
          <xs:documentation xml:lang="en">MarketingStatus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Measure">
        <xs:annotation>
          <xs:documentation xml:lang="en">Measure</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MeasureReport">
        <xs:annotation>
          <xs:documentation xml:lang="en">MeasureReport</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Medication">
        <xs:annotation>
          <xs:documentation xml:lang="en">Medication</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationAdministration">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationAdministration</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationDispense">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationDispense</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationStatement">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationStatement</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicinalProductDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicinalProductDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MessageDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">MessageDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MessageHeader">
        <xs:annotation>
          <xs:documentation xml:lang="en">MessageHeader</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Meta">
        <xs:annotation>
          <xs:documentation xml:lang="en">Meta</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MonetaryComponent">
        <xs:annotation>
          <xs:documentation xml:lang="en">MonetaryComponent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Money">
        <xs:annotation>
          <xs:documentation xml:lang="en">Money</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NamingSystem">
        <xs:annotation>
          <xs:documentation xml:lang="en">NamingSystem</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Narrative">
        <xs:annotation>
          <xs:documentation xml:lang="en">Narrative</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NutritionIntake">
        <xs:annotation>
          <xs:documentation xml:lang="en">NutritionIntake</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NutritionOrder">
        <xs:annotation>
          <xs:documentation xml:lang="en">NutritionOrder</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NutritionProduct">
        <xs:annotation>
          <xs:documentation xml:lang="en">NutritionProduct</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Observation">
        <xs:annotation>
          <xs:documentation xml:lang="en">Observation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ObservationDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ObservationDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="oid">
        <xs:annotation>
          <xs:documentation xml:lang="en">oid</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OperationDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">OperationDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OperationOutcome">
        <xs:annotation>
          <xs:documentation xml:lang="en">OperationOutcome</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Organization">
        <xs:annotation>
          <xs:documentation xml:lang="en">Organization</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OrganizationAffiliation">
        <xs:annotation>
          <xs:documentation xml:lang="en">OrganizationAffiliation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PackagedProductDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">PackagedProductDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ParameterDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ParameterDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Parameters">
        <xs:annotation>
          <xs:documentation xml:lang="en">Parameters</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Patient">
        <xs:annotation>
          <xs:documentation xml:lang="en">Patient</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PaymentNotice">
        <xs:annotation>
          <xs:documentation xml:lang="en">PaymentNotice</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PaymentReconciliation">
        <xs:annotation>
          <xs:documentation xml:lang="en">PaymentReconciliation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Period">
        <xs:annotation>
          <xs:documentation xml:lang="en">Period</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Person">
        <xs:annotation>
          <xs:documentation xml:lang="en">Person</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PlanDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">PlanDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="positiveInt">
        <xs:annotation>
          <xs:documentation xml:lang="en">positiveInt</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Practitioner">
        <xs:annotation>
          <xs:documentation xml:lang="en">Practitioner</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PractitionerRole">
        <xs:annotation>
          <xs:documentation xml:lang="en">PractitionerRole</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Procedure">
        <xs:annotation>
          <xs:documentation xml:lang="en">Procedure</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ProductShelfLife">
        <xs:annotation>
          <xs:documentation xml:lang="en">ProductShelfLife</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Provenance">
        <xs:annotation>
          <xs:documentation xml:lang="en">Provenance</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Quantity">
        <xs:annotation>
          <xs:documentation xml:lang="en">Quantity</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Questionnaire">
        <xs:annotation>
          <xs:documentation xml:lang="en">Questionnaire</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QuestionnaireResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">QuestionnaireResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Range">
        <xs:annotation>
          <xs:documentation xml:lang="en">Range</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Ratio">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ratio</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RatioRange">
        <xs:annotation>
          <xs:documentation xml:lang="en">RatioRange</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Reference">
        <xs:annotation>
          <xs:documentation xml:lang="en">Reference</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RegulatedAuthorization">
        <xs:annotation>
          <xs:documentation xml:lang="en">RegulatedAuthorization</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RelatedArtifact">
        <xs:annotation>
          <xs:documentation xml:lang="en">RelatedArtifact</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RelatedPerson">
        <xs:annotation>
          <xs:documentation xml:lang="en">RelatedPerson</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RelativeTime">
        <xs:annotation>
          <xs:documentation xml:lang="en">RelativeTime</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RequestOrchestration">
        <xs:annotation>
          <xs:documentation xml:lang="en">RequestOrchestration</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Requirements">
        <xs:annotation>
          <xs:documentation xml:lang="en">Requirements</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ResearchStudy">
        <xs:annotation>
          <xs:documentation xml:lang="en">ResearchStudy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ResearchSubject">
        <xs:annotation>
          <xs:documentation xml:lang="en">ResearchSubject</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RiskAssessment">
        <xs:annotation>
          <xs:documentation xml:lang="en">RiskAssessment</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SampledData">
        <xs:annotation>
          <xs:documentation xml:lang="en">SampledData</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Schedule">
        <xs:annotation>
          <xs:documentation xml:lang="en">Schedule</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SearchParameter">
        <xs:annotation>
          <xs:documentation xml:lang="en">SearchParameter</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ServiceRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">ServiceRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Signature">
        <xs:annotation>
          <xs:documentation xml:lang="en">Signature</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Slot">
        <xs:annotation>
          <xs:documentation xml:lang="en">Slot</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Specimen">
        <xs:annotation>
          <xs:documentation xml:lang="en">Specimen</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SpecimenDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">SpecimenDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="string">
        <xs:annotation>
          <xs:documentation xml:lang="en">string</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="StructureDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">StructureDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="StructureMap">
        <xs:annotation>
          <xs:documentation xml:lang="en">StructureMap</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Subscription">
        <xs:annotation>
          <xs:documentation xml:lang="en">Subscription</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SubscriptionStatus">
        <xs:annotation>
          <xs:documentation xml:lang="en">SubscriptionStatus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SubscriptionTopic">
        <xs:annotation>
          <xs:documentation xml:lang="en">SubscriptionTopic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Substance">
        <xs:annotation>
          <xs:documentation xml:lang="en">Substance</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SubstanceDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">SubstanceDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Task">
        <xs:annotation>
          <xs:documentation xml:lang="en">Task</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TerminologyCapabilities">
        <xs:annotation>
          <xs:documentation xml:lang="en">TerminologyCapabilities</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="time">
        <xs:annotation>
          <xs:documentation xml:lang="en">time</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Timing">
        <xs:annotation>
          <xs:documentation xml:lang="en">Timing</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TriggerDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">TriggerDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unsignedInt">
        <xs:annotation>
          <xs:documentation xml:lang="en">unsignedInt</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="uri">
        <xs:annotation>
          <xs:documentation xml:lang="en">uri</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="url">
        <xs:annotation>
          <xs:documentation xml:lang="en">url</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="UsageContext">
        <xs:annotation>
          <xs:documentation xml:lang="en">UsageContext</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="uuid">
        <xs:annotation>
          <xs:documentation xml:lang="en">uuid</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ValueSet">
        <xs:annotation>
          <xs:documentation xml:lang="en">ValueSet</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VirtualServiceDetail">
        <xs:annotation>
          <xs:documentation xml:lang="en">VirtualServiceDetail</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VisionPrescription">
        <xs:annotation>
          <xs:documentation xml:lang="en">VisionPrescription</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="xhtml">
        <xs:annotation>
          <xs:documentation xml:lang="en">xhtml</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ConcreteFHIRTypes">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="ConcreteFHIRTypesEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AllResourceTypesEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="Account">
        <xs:annotation>
          <xs:documentation xml:lang="en">Account</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ActivityDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ActivityDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ActorDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ActorDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AdministrableProductDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">AdministrableProductDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AdverseEvent">
        <xs:annotation>
          <xs:documentation xml:lang="en">AdverseEvent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AllergyIntolerance">
        <xs:annotation>
          <xs:documentation xml:lang="en">AllergyIntolerance</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Appointment">
        <xs:annotation>
          <xs:documentation xml:lang="en">Appointment</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AppointmentResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">AppointmentResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ArtifactAssessment">
        <xs:annotation>
          <xs:documentation xml:lang="en">ArtifactAssessment</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AuditEvent">
        <xs:annotation>
          <xs:documentation xml:lang="en">AuditEvent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Basic">
        <xs:annotation>
          <xs:documentation xml:lang="en">Basic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Binary">
        <xs:annotation>
          <xs:documentation xml:lang="en">Binary</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BiologicallyDerivedProduct">
        <xs:annotation>
          <xs:documentation xml:lang="en">BiologicallyDerivedProduct</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BodyStructure">
        <xs:annotation>
          <xs:documentation xml:lang="en">BodyStructure</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Bundle">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bundle</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CanonicalResource">
        <xs:annotation>
          <xs:documentation xml:lang="en">CanonicalResource</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CapabilityStatement">
        <xs:annotation>
          <xs:documentation xml:lang="en">CapabilityStatement</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CarePlan">
        <xs:annotation>
          <xs:documentation xml:lang="en">CarePlan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CareTeam">
        <xs:annotation>
          <xs:documentation xml:lang="en">CareTeam</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Claim">
        <xs:annotation>
          <xs:documentation xml:lang="en">Claim</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ClaimResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">ClaimResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ClinicalUseDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ClinicalUseDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CodeSystem">
        <xs:annotation>
          <xs:documentation xml:lang="en">CodeSystem</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Communication">
        <xs:annotation>
          <xs:documentation xml:lang="en">Communication</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CommunicationRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">CommunicationRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CompartmentDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">CompartmentDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Composition">
        <xs:annotation>
          <xs:documentation xml:lang="en">Composition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ConceptMap">
        <xs:annotation>
          <xs:documentation xml:lang="en">ConceptMap</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Condition">
        <xs:annotation>
          <xs:documentation xml:lang="en">Condition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Consent">
        <xs:annotation>
          <xs:documentation xml:lang="en">Consent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Contract">
        <xs:annotation>
          <xs:documentation xml:lang="en">Contract</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Coverage">
        <xs:annotation>
          <xs:documentation xml:lang="en">Coverage</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CoverageEligibilityRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">CoverageEligibilityRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CoverageEligibilityResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">CoverageEligibilityResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DetectedIssue">
        <xs:annotation>
          <xs:documentation xml:lang="en">DetectedIssue</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Device">
        <xs:annotation>
          <xs:documentation xml:lang="en">Device</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceAlert">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceAlert</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceAssociation">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceAssociation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceMetric">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceMetric</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">DeviceRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DiagnosticReport">
        <xs:annotation>
          <xs:documentation xml:lang="en">DiagnosticReport</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DocumentReference">
        <xs:annotation>
          <xs:documentation xml:lang="en">DocumentReference</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DomainResource">
        <xs:annotation>
          <xs:documentation xml:lang="en">DomainResource</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Encounter">
        <xs:annotation>
          <xs:documentation xml:lang="en">Encounter</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Endpoint">
        <xs:annotation>
          <xs:documentation xml:lang="en">Endpoint</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EnrollmentRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">EnrollmentRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EnrollmentResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">EnrollmentResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EpisodeOfCare">
        <xs:annotation>
          <xs:documentation xml:lang="en">EpisodeOfCare</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EventDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">EventDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Evidence">
        <xs:annotation>
          <xs:documentation xml:lang="en">Evidence</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EvidenceVariable">
        <xs:annotation>
          <xs:documentation xml:lang="en">EvidenceVariable</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ExampleScenario">
        <xs:annotation>
          <xs:documentation xml:lang="en">ExampleScenario</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ExplanationOfBenefit">
        <xs:annotation>
          <xs:documentation xml:lang="en">ExplanationOfBenefit</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="FamilyMemberHistory">
        <xs:annotation>
          <xs:documentation xml:lang="en">FamilyMemberHistory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Flag">
        <xs:annotation>
          <xs:documentation xml:lang="en">Flag</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Goal">
        <xs:annotation>
          <xs:documentation xml:lang="en">Goal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Group">
        <xs:annotation>
          <xs:documentation xml:lang="en">Group</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GuidanceResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">GuidanceResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HealthcareService">
        <xs:annotation>
          <xs:documentation xml:lang="en">HealthcareService</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ImagingSelection">
        <xs:annotation>
          <xs:documentation xml:lang="en">ImagingSelection</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ImagingStudy">
        <xs:annotation>
          <xs:documentation xml:lang="en">ImagingStudy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Immunization">
        <xs:annotation>
          <xs:documentation xml:lang="en">Immunization</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ImplementationGuide">
        <xs:annotation>
          <xs:documentation xml:lang="en">ImplementationGuide</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Ingredient">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ingredient</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="InsurancePlan">
        <xs:annotation>
          <xs:documentation xml:lang="en">InsurancePlan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="InsuranceProduct">
        <xs:annotation>
          <xs:documentation xml:lang="en">InsuranceProduct</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Invoice">
        <xs:annotation>
          <xs:documentation xml:lang="en">Invoice</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Library">
        <xs:annotation>
          <xs:documentation xml:lang="en">Library</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="List">
        <xs:annotation>
          <xs:documentation xml:lang="en">List</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Location">
        <xs:annotation>
          <xs:documentation xml:lang="en">Location</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ManufacturedItemDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ManufacturedItemDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Measure">
        <xs:annotation>
          <xs:documentation xml:lang="en">Measure</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MeasureReport">
        <xs:annotation>
          <xs:documentation xml:lang="en">MeasureReport</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Medication">
        <xs:annotation>
          <xs:documentation xml:lang="en">Medication</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationAdministration">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationAdministration</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationDispense">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationDispense</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicationStatement">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicationStatement</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MedicinalProductDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">MedicinalProductDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MessageDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">MessageDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MessageHeader">
        <xs:annotation>
          <xs:documentation xml:lang="en">MessageHeader</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MetadataResource">
        <xs:annotation>
          <xs:documentation xml:lang="en">MetadataResource</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NamingSystem">
        <xs:annotation>
          <xs:documentation xml:lang="en">NamingSystem</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NutritionIntake">
        <xs:annotation>
          <xs:documentation xml:lang="en">NutritionIntake</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NutritionOrder">
        <xs:annotation>
          <xs:documentation xml:lang="en">NutritionOrder</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NutritionProduct">
        <xs:annotation>
          <xs:documentation xml:lang="en">NutritionProduct</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Observation">
        <xs:annotation>
          <xs:documentation xml:lang="en">Observation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ObservationDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">ObservationDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OperationDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">OperationDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OperationOutcome">
        <xs:annotation>
          <xs:documentation xml:lang="en">OperationOutcome</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Organization">
        <xs:annotation>
          <xs:documentation xml:lang="en">Organization</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OrganizationAffiliation">
        <xs:annotation>
          <xs:documentation xml:lang="en">OrganizationAffiliation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PackagedProductDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">PackagedProductDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Parameters">
        <xs:annotation>
          <xs:documentation xml:lang="en">Parameters</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Patient">
        <xs:annotation>
          <xs:documentation xml:lang="en">Patient</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PaymentNotice">
        <xs:annotation>
          <xs:documentation xml:lang="en">PaymentNotice</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PaymentReconciliation">
        <xs:annotation>
          <xs:documentation xml:lang="en">PaymentReconciliation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Person">
        <xs:annotation>
          <xs:documentation xml:lang="en">Person</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PlanDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">PlanDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Practitioner">
        <xs:annotation>
          <xs:documentation xml:lang="en">Practitioner</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PractitionerRole">
        <xs:annotation>
          <xs:documentation xml:lang="en">PractitionerRole</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Procedure">
        <xs:annotation>
          <xs:documentation xml:lang="en">Procedure</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Provenance">
        <xs:annotation>
          <xs:documentation xml:lang="en">Provenance</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Questionnaire">
        <xs:annotation>
          <xs:documentation xml:lang="en">Questionnaire</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QuestionnaireResponse">
        <xs:annotation>
          <xs:documentation xml:lang="en">QuestionnaireResponse</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RegulatedAuthorization">
        <xs:annotation>
          <xs:documentation xml:lang="en">RegulatedAuthorization</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RelatedPerson">
        <xs:annotation>
          <xs:documentation xml:lang="en">RelatedPerson</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RequestOrchestration">
        <xs:annotation>
          <xs:documentation xml:lang="en">RequestOrchestration</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Requirements">
        <xs:annotation>
          <xs:documentation xml:lang="en">Requirements</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ResearchStudy">
        <xs:annotation>
          <xs:documentation xml:lang="en">ResearchStudy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ResearchSubject">
        <xs:annotation>
          <xs:documentation xml:lang="en">ResearchSubject</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Resource">
        <xs:annotation>
          <xs:documentation xml:lang="en">Resource</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RiskAssessment">
        <xs:annotation>
          <xs:documentation xml:lang="en">RiskAssessment</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Schedule">
        <xs:annotation>
          <xs:documentation xml:lang="en">Schedule</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SearchParameter">
        <xs:annotation>
          <xs:documentation xml:lang="en">SearchParameter</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ServiceRequest">
        <xs:annotation>
          <xs:documentation xml:lang="en">ServiceRequest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Slot">
        <xs:annotation>
          <xs:documentation xml:lang="en">Slot</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Specimen">
        <xs:annotation>
          <xs:documentation xml:lang="en">Specimen</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SpecimenDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">SpecimenDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="StructureDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">StructureDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="StructureMap">
        <xs:annotation>
          <xs:documentation xml:lang="en">StructureMap</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Subscription">
        <xs:annotation>
          <xs:documentation xml:lang="en">Subscription</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SubscriptionStatus">
        <xs:annotation>
          <xs:documentation xml:lang="en">SubscriptionStatus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SubscriptionTopic">
        <xs:annotation>
          <xs:documentation xml:lang="en">SubscriptionTopic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Substance">
        <xs:annotation>
          <xs:documentation xml:lang="en">Substance</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SubstanceDefinition">
        <xs:annotation>
          <xs:documentation xml:lang="en">SubstanceDefinition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Task">
        <xs:annotation>
          <xs:documentation xml:lang="en">Task</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TerminologyCapabilities">
        <xs:annotation>
          <xs:documentation xml:lang="en">TerminologyCapabilities</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ValueSet">
        <xs:annotation>
          <xs:documentation xml:lang="en">ValueSet</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VisionPrescription">
        <xs:annotation>
          <xs:documentation xml:lang="en">VisionPrescription</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AllResourceTypes">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="AllResourceTypesEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AdministrativeGenderEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="male">
        <xs:annotation>
          <xs:documentation xml:lang="en">Male</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="female">
        <xs:annotation>
          <xs:documentation xml:lang="en">Female</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation xml:lang="en">Other</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation xml:lang="en">Unknown</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AdministrativeGender">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="AdministrativeGenderEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AgeUnitsEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="min">
        <xs:annotation>
          <xs:documentation xml:lang="en">min</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="h">
        <xs:annotation>
          <xs:documentation xml:lang="en">h</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="d">
        <xs:annotation>
          <xs:documentation xml:lang="en">d</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="wk">
        <xs:annotation>
          <xs:documentation xml:lang="en">wk</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mo">
        <xs:annotation>
          <xs:documentation xml:lang="en">mo</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="a">
        <xs:annotation>
          <xs:documentation xml:lang="en">a</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AgeUnits">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="AgeUnitsEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="BindingStrengthEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="required">
        <xs:annotation>
          <xs:documentation xml:lang="en">Required</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="extensible">
        <xs:annotation>
          <xs:documentation xml:lang="en">Extensible</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="preferred">
        <xs:annotation>
          <xs:documentation xml:lang="en">Preferred</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="example">
        <xs:annotation>
          <xs:documentation xml:lang="en">Example</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="descriptive">
        <xs:annotation>
          <xs:documentation xml:lang="en">descriptive</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="BindingStrength">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="BindingStrengthEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ConceptMapRelationshipEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="related-to">
        <xs:annotation>
          <xs:documentation xml:lang="en">Related To</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="equivalent">
        <xs:annotation>
          <xs:documentation xml:lang="en">Equivalent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="source-is-narrower-than-target">
        <xs:annotation>
          <xs:documentation xml:lang="en">Source Is Narrower Than Target</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="source-is-broader-than-target">
        <xs:annotation>
          <xs:documentation xml:lang="en">Source Is Broader Than Target</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="not-related-to">
        <xs:annotation>
          <xs:documentation xml:lang="en">Not Related To</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ConceptMapRelationship">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="ConceptMapRelationshipEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="DocumentReferenceStatusEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="current">
        <xs:annotation>
          <xs:documentation xml:lang="en">Current</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="superseded">
        <xs:annotation>
          <xs:documentation xml:lang="en">Superseded</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="entered-in-error">
        <xs:annotation>
          <xs:documentation xml:lang="en">Entered in Error</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation xml:lang="en">Unknown</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DocumentReferenceStatus">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="DocumentReferenceStatusEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="FHIRVersionEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="0.01">
        <xs:annotation>
          <xs:documentation xml:lang="en">0.01</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="0.05">
        <xs:annotation>
          <xs:documentation xml:lang="en">0.05</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="0.06">
        <xs:annotation>
          <xs:documentation xml:lang="en">0.06</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="0.11">
        <xs:annotation>
          <xs:documentation xml:lang="en">0.11</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="0.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">0.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="0.0.80">
        <xs:annotation>
          <xs:documentation xml:lang="en">0.0.80</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="0.0.81">
        <xs:annotation>
          <xs:documentation xml:lang="en">0.0.81</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="0.0.82">
        <xs:annotation>
          <xs:documentation xml:lang="en">0.0.82</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="0.4">
        <xs:annotation>
          <xs:documentation xml:lang="en">0.4</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="0.4.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">0.4.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="0.5">
        <xs:annotation>
          <xs:documentation xml:lang="en">0.5</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="0.5.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">0.5.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">1.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1.0.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">1.0.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1.0.1">
        <xs:annotation>
          <xs:documentation xml:lang="en">1.0.1</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1.0.2">
        <xs:annotation>
          <xs:documentation xml:lang="en">1.0.2</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1.1">
        <xs:annotation>
          <xs:documentation xml:lang="en">1.1</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1.1.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">1.1.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1.4">
        <xs:annotation>
          <xs:documentation xml:lang="en">1.4</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1.4.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">1.4.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1.6">
        <xs:annotation>
          <xs:documentation xml:lang="en">1.6</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1.6.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">1.6.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1.8">
        <xs:annotation>
          <xs:documentation xml:lang="en">1.8</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1.8.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">1.8.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="3.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">3.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="3.0.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">3.0.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="3.0.1">
        <xs:annotation>
          <xs:documentation xml:lang="en">3.0.1</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="3.0.2">
        <xs:annotation>
          <xs:documentation xml:lang="en">3.0.2</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="3.3">
        <xs:annotation>
          <xs:documentation xml:lang="en">3.3</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="3.3.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">3.3.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="3.5">
        <xs:annotation>
          <xs:documentation xml:lang="en">3.5</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="3.5.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">3.5.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">4.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4.0.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">4.0.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4.0.1">
        <xs:annotation>
          <xs:documentation xml:lang="en">4.0.1</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4.1">
        <xs:annotation>
          <xs:documentation xml:lang="en">4.1</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4.1.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">4.1.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4.2">
        <xs:annotation>
          <xs:documentation xml:lang="en">4.2</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4.2.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">4.2.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4.3">
        <xs:annotation>
          <xs:documentation xml:lang="en">4.3</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4.3.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">4.3.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4.3.0-cibuild">
        <xs:annotation>
          <xs:documentation xml:lang="en">4.3.0-cibuild</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4.3.0-snapshot1">
        <xs:annotation>
          <xs:documentation xml:lang="en">4.3.0-snapshot1</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4.4">
        <xs:annotation>
          <xs:documentation xml:lang="en">4.4</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4.4.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">4.4.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4.5">
        <xs:annotation>
          <xs:documentation xml:lang="en">4.5</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4.5.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">4.5.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4.6">
        <xs:annotation>
          <xs:documentation xml:lang="en">4.6</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4.6.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">4.6.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="5.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">5.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="5.0.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">5.0.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="5.0.0-cibuild">
        <xs:annotation>
          <xs:documentation xml:lang="en">5.0.0-cibuild</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="5.0.0-snapshot1">
        <xs:annotation>
          <xs:documentation xml:lang="en">5.0.0-snapshot1</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="5.0.0-snapshot2">
        <xs:annotation>
          <xs:documentation xml:lang="en">5.0.0-snapshot2</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="5.0.0-ballot">
        <xs:annotation>
          <xs:documentation xml:lang="en">5.0.0-ballot</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="5.0.0-snapshot3">
        <xs:annotation>
          <xs:documentation xml:lang="en">5.0.0-snapshot3</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="5.0.0-draft-final">
        <xs:annotation>
          <xs:documentation xml:lang="en">5.0.0-draft-final</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="6.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">6.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="6.0.0">
        <xs:annotation>
          <xs:documentation xml:lang="en">6.0.0</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="6.0.0-ballot1">
        <xs:annotation>
          <xs:documentation xml:lang="en">6.0.0-ballot1</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="6.0.0-ballot2">
        <xs:annotation>
          <xs:documentation xml:lang="en">6.0.0-ballot2</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="6.0.0-ballot3">
        <xs:annotation>
          <xs:documentation xml:lang="en">6.0.0-ballot3</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="6.0.0-ballot4">
        <xs:annotation>
          <xs:documentation xml:lang="en">6.0.0-ballot4</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="FHIRVersion">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="FHIRVersionEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="PatchMimeTypesEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="application/fhir+xml">
        <xs:annotation>
          <xs:documentation xml:lang="en">application/fhir+xml</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="application/fhir+json">
        <xs:annotation>
          <xs:documentation xml:lang="en">application/fhir+json</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="application/fhir+turtle">
        <xs:annotation>
          <xs:documentation xml:lang="en">application/fhir+turtle</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="application/json-patch+json">
        <xs:annotation>
          <xs:documentation xml:lang="en">application/json-patch+json</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="application/xml-patch+xml">
        <xs:annotation>
          <xs:documentation xml:lang="en">application/xml-patch+xml</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PatchMimeTypes">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="PatchMimeTypesEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="NoteTypeEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="display">
        <xs:annotation>
          <xs:documentation xml:lang="en">Display</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="print">
        <xs:annotation>
          <xs:documentation xml:lang="en">Print (Form)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="printoper">
        <xs:annotation>
          <xs:documentation xml:lang="en">Print (Operator)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="NoteType">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="NoteTypeEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="PublicationStatusEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="draft">
        <xs:annotation>
          <xs:documentation xml:lang="en">Draft</xs:documentation>
          <xs:documentation xml:lang="ru">черновик</xs:documentation>
          <xs:documentation xml:lang="nl">ontwerp</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="active">
        <xs:annotation>
          <xs:documentation xml:lang="en">Active</xs:documentation>
          <xs:documentation xml:lang="ru">активный</xs:documentation>
          <xs:documentation xml:lang="nl">actief</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="retired">
        <xs:annotation>
          <xs:documentation xml:lang="en">Retired</xs:documentation>
          <xs:documentation xml:lang="ru">удалён</xs:documentation>
          <xs:documentation xml:lang="nl">verouderd</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation xml:lang="en">Unknown</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PublicationStatus">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="PublicationStatusEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="RemittanceOutcomeEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="complete">
        <xs:annotation>
          <xs:documentation xml:lang="en">Complete</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="error">
        <xs:annotation>
          <xs:documentation xml:lang="en">Error</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="partial">
        <xs:annotation>
          <xs:documentation xml:lang="en">Partial</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="RemittanceOutcome">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="RemittanceOutcomeEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="SearchParamTypeEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="number">
        <xs:annotation>
          <xs:documentation xml:lang="en">Number</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="date">
        <xs:annotation>
          <xs:documentation xml:lang="en">Date/DateTime</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="string">
        <xs:annotation>
          <xs:documentation xml:lang="en">String</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="token">
        <xs:annotation>
          <xs:documentation xml:lang="en">Token</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="reference">
        <xs:annotation>
          <xs:documentation xml:lang="en">Reference</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="composite">
        <xs:annotation>
          <xs:documentation xml:lang="en">Composite</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="quantity">
        <xs:annotation>
          <xs:documentation xml:lang="en">Quantity</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="uri">
        <xs:annotation>
          <xs:documentation xml:lang="en">URI</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="special">
        <xs:annotation>
          <xs:documentation xml:lang="en">Special</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="resource">
        <xs:annotation>
          <xs:documentation xml:lang="en">Resource</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SearchParamType">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="SearchParamTypeEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="JurisdictionValueSetEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="AD">
        <xs:annotation>
          <xs:documentation xml:lang="en">Andorra</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AE">
        <xs:annotation>
          <xs:documentation xml:lang="en">United Arab Emirates</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF">
        <xs:annotation>
          <xs:documentation xml:lang="en">Afghanistan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Antigua and Barbuda</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Anguilla</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Albania</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Armenia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Angola</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AQ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Antarctica</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Argentina</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AS">
        <xs:annotation>
          <xs:documentation xml:lang="en">American Samoa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Austria</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Australia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AW">
        <xs:annotation>
          <xs:documentation xml:lang="en">Aruba</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AX">
        <xs:annotation>
          <xs:documentation xml:lang="en">Åland Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Azerbaijan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bosnia and Herzegovina</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Barbados</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BD">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bangladesh</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Belgium</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BF">
        <xs:annotation>
          <xs:documentation xml:lang="en">Burkina Faso</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bulgaria</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BH">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bahrain</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Burundi</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BJ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Benin</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Barthélemy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bermuda</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Brunei Darussalam</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bolivia, Plurinational State of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BQ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bonaire, Sint Eustatius and Saba</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Brazil</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BS">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bahamas</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bhutan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BV">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bouvet Island</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BW">
        <xs:annotation>
          <xs:documentation xml:lang="en">Botswana</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BY">
        <xs:annotation>
          <xs:documentation xml:lang="en">Belarus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Belize</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Canada</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CC">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cocos (Keeling) Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CD">
        <xs:annotation>
          <xs:documentation xml:lang="en">Congo, the Democratic Republic of the</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CF">
        <xs:annotation>
          <xs:documentation xml:lang="en">Central African Republic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Congo</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CH">
        <xs:annotation>
          <xs:documentation xml:lang="en">Switzerland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Côte d'Ivoire</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cook Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Chile</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cameroon</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CN">
        <xs:annotation>
          <xs:documentation xml:lang="en">China</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Colombia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Costa Rica</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cuba</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CV">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cabo Verde</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CW">
        <xs:annotation>
          <xs:documentation xml:lang="en">Curaçao</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CX">
        <xs:annotation>
          <xs:documentation xml:lang="en">Christmas Island</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CY">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cyprus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Czechia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Germany</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DJ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Djibouti</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Denmark</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Dominica</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Dominican Republic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Algeria</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EC">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ecuador</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Estonia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Egypt</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EH">
        <xs:annotation>
          <xs:documentation xml:lang="en">Western Sahara</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ER">
        <xs:annotation>
          <xs:documentation xml:lang="en">Eritrea</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ES">
        <xs:annotation>
          <xs:documentation xml:lang="en">Spain</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ET">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ethiopia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="FI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Finland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="FJ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Fiji</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="FK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Falkland Islands (Malvinas)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="FM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Micronesia, Federated States of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="FO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Faroe Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="FR">
        <xs:annotation>
          <xs:documentation xml:lang="en">France</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Gabon</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GB">
        <xs:annotation>
          <xs:documentation xml:lang="en">United Kingdom of Great Britain and Northern Ireland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GD">
        <xs:annotation>
          <xs:documentation xml:lang="en">Grenada</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Georgia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GF">
        <xs:annotation>
          <xs:documentation xml:lang="en">French Guiana</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guernsey</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GH">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ghana</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Gibraltar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Greenland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Gambia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guinea</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GP">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guadeloupe</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GQ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Equatorial Guinea</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Greece</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GS">
        <xs:annotation>
          <xs:documentation xml:lang="en">South Georgia and the South Sandwich Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guatemala</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guam</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GW">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guinea-Bissau</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GY">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guyana</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Hong Kong</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Heard Island and McDonald Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Honduras</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Croatia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Haiti</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Hungary</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ID">
        <xs:annotation>
          <xs:documentation xml:lang="en">Indonesia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="IE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ireland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="IL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Israel</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="IM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Isle of Man</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="IN">
        <xs:annotation>
          <xs:documentation xml:lang="en">India</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="IO">
        <xs:annotation>
          <xs:documentation xml:lang="en">British Indian Ocean Territory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="IQ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Iraq</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="IR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Iran, Islamic Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="IS">
        <xs:annotation>
          <xs:documentation xml:lang="en">Iceland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="IT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Italy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="JE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Jersey</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="JM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Jamaica</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="JO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Jordan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="JP">
        <xs:annotation>
          <xs:documentation xml:lang="en">Japan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kenya</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kyrgyzstan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KH">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cambodia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kiribati</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Comoros</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Kitts and Nevis</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KP">
        <xs:annotation>
          <xs:documentation xml:lang="en">Korea, Democratic People's Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Korea, Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KW">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kuwait</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KY">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cayman Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kazakhstan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Lao People's Democratic Republic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Lebanon</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LC">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Lucia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Liechtenstein</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sri Lanka</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Liberia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LS">
        <xs:annotation>
          <xs:documentation xml:lang="en">Lesotho</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Lithuania</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Luxembourg</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LV">
        <xs:annotation>
          <xs:documentation xml:lang="en">Latvia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LY">
        <xs:annotation>
          <xs:documentation xml:lang="en">Libya</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Morocco</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MC">
        <xs:annotation>
          <xs:documentation xml:lang="en">Monaco</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MD">
        <xs:annotation>
          <xs:documentation xml:lang="en">Moldova, Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ME">
        <xs:annotation>
          <xs:documentation xml:lang="en">Montenegro</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MF">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Martin (French part)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Madagascar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MH">
        <xs:annotation>
          <xs:documentation xml:lang="en">Marshall Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Macedonia, the former Yugoslav Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ML">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mali</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Myanmar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mongolia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Macao</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MP">
        <xs:annotation>
          <xs:documentation xml:lang="en">Northern Mariana Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MQ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Martinique</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mauritania</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MS">
        <xs:annotation>
          <xs:documentation xml:lang="en">Montserrat</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Malta</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mauritius</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MV">
        <xs:annotation>
          <xs:documentation xml:lang="en">Maldives</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MW">
        <xs:annotation>
          <xs:documentation xml:lang="en">Malawi</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MX">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mexico</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MY">
        <xs:annotation>
          <xs:documentation xml:lang="en">Malaysia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mozambique</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Namibia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NC">
        <xs:annotation>
          <xs:documentation xml:lang="en">New Caledonia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Niger</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NF">
        <xs:annotation>
          <xs:documentation xml:lang="en">Norfolk Island</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Nigeria</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Nicaragua</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Netherlands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Norway</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NP">
        <xs:annotation>
          <xs:documentation xml:lang="en">Nepal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Nauru</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Niue</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">New Zealand</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Oman</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Panama</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Peru</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PF">
        <xs:annotation>
          <xs:documentation xml:lang="en">French Polynesia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Papua New Guinea</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PH">
        <xs:annotation>
          <xs:documentation xml:lang="en">Philippines</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Pakistan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Poland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Pierre and Miquelon</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Pitcairn</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Puerto Rico</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PS">
        <xs:annotation>
          <xs:documentation xml:lang="en">Palestine, State of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Portugal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PW">
        <xs:annotation>
          <xs:documentation xml:lang="en">Palau</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PY">
        <xs:annotation>
          <xs:documentation xml:lang="en">Paraguay</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Qatar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Réunion</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Romania</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RS">
        <xs:annotation>
          <xs:documentation xml:lang="en">Serbia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Russian Federation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RW">
        <xs:annotation>
          <xs:documentation xml:lang="en">Rwanda</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saudi Arabia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Solomon Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SC">
        <xs:annotation>
          <xs:documentation xml:lang="en">Seychelles</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SD">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sudan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sweden</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Singapore</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SH">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Helena, Ascension and Tristan da Cunha</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Slovenia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SJ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Svalbard and Jan Mayen</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Slovakia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sierra Leone</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SM">
        <xs:annotation>
          <xs:documentation xml:lang="en">San Marino</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Senegal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Somalia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Suriname</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SS">
        <xs:annotation>
          <xs:documentation xml:lang="en">South Sudan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ST">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sao Tome and Principe</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SV">
        <xs:annotation>
          <xs:documentation xml:lang="en">El Salvador</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SX">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sint Maarten (Dutch part)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SY">
        <xs:annotation>
          <xs:documentation xml:lang="en">Syrian Arab Republic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Swaziland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TC">
        <xs:annotation>
          <xs:documentation xml:lang="en">Turks and Caicos Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TD">
        <xs:annotation>
          <xs:documentation xml:lang="en">Chad</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TF">
        <xs:annotation>
          <xs:documentation xml:lang="en">French Southern Territories</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Togo</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TH">
        <xs:annotation>
          <xs:documentation xml:lang="en">Thailand</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TJ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tajikistan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tokelau</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Timor-Leste</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Turkmenistan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tunisia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tonga</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Turkey</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Trinidad and Tobago</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TV">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tuvalu</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TW">
        <xs:annotation>
          <xs:documentation xml:lang="en">Taiwan, Province of China</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tanzania, United Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="UA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ukraine</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="UG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Uganda</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="UM">
        <xs:annotation>
          <xs:documentation xml:lang="en">United States Minor Outlying Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="US">
        <xs:annotation>
          <xs:documentation xml:lang="en">United States of America</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="UY">
        <xs:annotation>
          <xs:documentation xml:lang="en">Uruguay</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="UZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Uzbekistan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Holy See</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VC">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Vincent and the Grenadines</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Venezuela, Bolivarian Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Virgin Islands, British</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Virgin Islands, U.S.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Viet Nam</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Vanuatu</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="WF">
        <xs:annotation>
          <xs:documentation xml:lang="en">Wallis and Futuna</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="WS">
        <xs:annotation>
          <xs:documentation xml:lang="en">Samoa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="YE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Yemen</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="YT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mayotte</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ZA">
        <xs:annotation>
          <xs:documentation xml:lang="en">South Africa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ZM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Zambia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ZW">
        <xs:annotation>
          <xs:documentation xml:lang="en">Zimbabwe</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AA">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QM">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QN">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QO">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QP">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QQ">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QR">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QS">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QT">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QU">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QV">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QW">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QX">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QY">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XA">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XB">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XC">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XD">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XE">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XF">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XG">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XH">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XI">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XJ">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kosovo</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XL">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XM">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XN">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XO">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XP">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XQ">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XR">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XS">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XT">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XU">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XV">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XW">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XX">
        <xs:annotation>
          <xs:documentation xml:lang="en">Unknown</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XY">
        <xs:annotation>
          <xs:documentation xml:lang="en">User-assigned</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">International Waters</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ZZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Unknown or Invalid Territory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ABW">
        <xs:annotation>
          <xs:documentation xml:lang="en">Aruba</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AFG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Afghanistan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AGO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Angola</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AIA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Anguilla</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ALA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Åland Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ALB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Albania</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AND">
        <xs:annotation>
          <xs:documentation xml:lang="en">Andorra</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ARE">
        <xs:annotation>
          <xs:documentation xml:lang="en">United Arab Emirates</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ARG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Argentina</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ARM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Armenia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ASM">
        <xs:annotation>
          <xs:documentation xml:lang="en">American Samoa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ATA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Antarctica</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ATF">
        <xs:annotation>
          <xs:documentation xml:lang="en">French Southern Territories</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ATG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Antigua and Barbuda</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AUS">
        <xs:annotation>
          <xs:documentation xml:lang="en">Australia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AUT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Austria</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AZE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Azerbaijan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BDI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Burundi</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BEL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Belgium</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BEN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Benin</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BES">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bonaire, Sint Eustatius and Saba</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BFA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Burkina Faso</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BGD">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bangladesh</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BGR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bulgaria</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BHR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bahrain</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BHS">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bahamas</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BIH">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bosnia and Herzegovina</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BLM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Barthélemy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BLR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Belarus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BLZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Belize</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BMU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bermuda</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BOL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bolivia, Plurinational State of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BRA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Brazil</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BRB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Barbados</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BRN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Brunei Darussalam</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BTN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bhutan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BVT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bouvet Island</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BWA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Botswana</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CAF">
        <xs:annotation>
          <xs:documentation xml:lang="en">Central African Republic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CAN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Canada</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CCK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cocos (Keeling) Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CHE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Switzerland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CHL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Chile</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CHN">
        <xs:annotation>
          <xs:documentation xml:lang="en">China</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CIV">
        <xs:annotation>
          <xs:documentation xml:lang="en">Côte d'Ivoire</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CMR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cameroon</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="COD">
        <xs:annotation>
          <xs:documentation xml:lang="en">Congo, the Democratic Republic of the</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="COG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Congo</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="COK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cook Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="COL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Colombia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="COM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Comoros</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CPV">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cabo Verde</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CRI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Costa Rica</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CUB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cuba</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CUW">
        <xs:annotation>
          <xs:documentation xml:lang="en">Curaçao</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CXR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Christmas Island</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CYM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cayman Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CYP">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cyprus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CZE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Czechia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DEU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Germany</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DJI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Djibouti</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DMA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Dominica</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DNK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Denmark</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DOM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Dominican Republic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Algeria</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ECU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ecuador</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EGY">
        <xs:annotation>
          <xs:documentation xml:lang="en">Egypt</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ERI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Eritrea</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ESH">
        <xs:annotation>
          <xs:documentation xml:lang="en">Western Sahara</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ESP">
        <xs:annotation>
          <xs:documentation xml:lang="en">Spain</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EST">
        <xs:annotation>
          <xs:documentation xml:lang="en">Estonia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ETH">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ethiopia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="FIN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Finland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="FJI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Fiji</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="FLK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Falkland Islands (Malvinas)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="FRA">
        <xs:annotation>
          <xs:documentation xml:lang="en">France</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="FRO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Faroe Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="FSM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Micronesia, Federated States of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GAB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Gabon</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GBR">
        <xs:annotation>
          <xs:documentation xml:lang="en">United Kingdom</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GEO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Georgia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GGY">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guernsey</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GHA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ghana</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GIB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Gibraltar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GIN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guinea</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GLP">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guadeloupe</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GMB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Gambia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GNB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guinea-Bissau</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GNQ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Equatorial Guinea</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GRC">
        <xs:annotation>
          <xs:documentation xml:lang="en">Greece</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GRD">
        <xs:annotation>
          <xs:documentation xml:lang="en">Grenada</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GRL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Greenland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GTM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guatemala</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GUF">
        <xs:annotation>
          <xs:documentation xml:lang="en">French Guiana</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GUM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guam</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="GUY">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guyana</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HKG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Hong Kong</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HMD">
        <xs:annotation>
          <xs:documentation xml:lang="en">Heard Island and McDonald Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HND">
        <xs:annotation>
          <xs:documentation xml:lang="en">Honduras</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HRV">
        <xs:annotation>
          <xs:documentation xml:lang="en">Croatia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HTI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Haiti</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HUN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Hungary</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="IDN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Indonesia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="IMN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Isle of Man</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="IND">
        <xs:annotation>
          <xs:documentation xml:lang="en">India</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="IOT">
        <xs:annotation>
          <xs:documentation xml:lang="en">British Indian Ocean Territory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="IRL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ireland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="IRN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Iran, Islamic Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="IRQ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Iraq</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ISL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Iceland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ISR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Israel</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ITA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Italy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="JAM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Jamaica</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="JEY">
        <xs:annotation>
          <xs:documentation xml:lang="en">Jersey</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="JOR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Jordan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="JPN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Japan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KAZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kazakhstan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KEN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kenya</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KGZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kyrgyzstan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KHM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cambodia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KIR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kiribati</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KNA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Kitts and Nevis</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KOR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Korea, Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="KWT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kuwait</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LAO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Lao People's Democratic Republic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LBN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Lebanon</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LBR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Liberia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LBY">
        <xs:annotation>
          <xs:documentation xml:lang="en">Libya</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LCA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Lucia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LIE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Liechtenstein</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LKA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sri Lanka</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LSO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Lesotho</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LTU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Lithuania</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LUX">
        <xs:annotation>
          <xs:documentation xml:lang="en">Luxembourg</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="LVA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Latvia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MAC">
        <xs:annotation>
          <xs:documentation xml:lang="en">Macao</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MAF">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Martin (French part)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MAR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Morocco</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MCO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Monaco</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MDA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Moldova, Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MDG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Madagascar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MDV">
        <xs:annotation>
          <xs:documentation xml:lang="en">Maldives</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MEX">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mexico</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MHL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Marshall Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MKD">
        <xs:annotation>
          <xs:documentation xml:lang="en">Macedonia, the former Yugoslav Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MLI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mali</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MLT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Malta</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MMR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Myanmar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MNE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Montenegro</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MNG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mongolia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MNP">
        <xs:annotation>
          <xs:documentation xml:lang="en">Northern Mariana Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MOZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mozambique</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MRT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mauritania</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MSR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Montserrat</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MTQ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Martinique</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MUS">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mauritius</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MWI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Malawi</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MYS">
        <xs:annotation>
          <xs:documentation xml:lang="en">Malaysia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MYT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mayotte</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NAM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Namibia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NCL">
        <xs:annotation>
          <xs:documentation xml:lang="en">New Caledonia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NER">
        <xs:annotation>
          <xs:documentation xml:lang="en">Niger</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NFK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Norfolk Island</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NGA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Nigeria</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NIC">
        <xs:annotation>
          <xs:documentation xml:lang="en">Nicaragua</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NIU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Niue</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NLD">
        <xs:annotation>
          <xs:documentation xml:lang="en">Netherlands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NOR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Norway</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NPL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Nepal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NRU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Nauru</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NZL">
        <xs:annotation>
          <xs:documentation xml:lang="en">New Zealand</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OMN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Oman</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PAK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Pakistan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PAN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Panama</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PCN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Pitcairn</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PER">
        <xs:annotation>
          <xs:documentation xml:lang="en">Peru</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PHL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Philippines</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PLW">
        <xs:annotation>
          <xs:documentation xml:lang="en">Palau</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PNG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Papua New Guinea</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="POL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Poland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PRI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Puerto Rico</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PRK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Korea, Democratic People's Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PRT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Portugal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PRY">
        <xs:annotation>
          <xs:documentation xml:lang="en">Paraguay</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PSE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Palestine, State of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PYF">
        <xs:annotation>
          <xs:documentation xml:lang="en">French Polynesia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="QAT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Qatar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="REU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Réunion</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ROU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Romania</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RUS">
        <xs:annotation>
          <xs:documentation xml:lang="en">Russian Federation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RWA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Rwanda</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SAU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saudi Arabia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SDN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sudan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SEN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Senegal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SGP">
        <xs:annotation>
          <xs:documentation xml:lang="en">Singapore</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SGS">
        <xs:annotation>
          <xs:documentation xml:lang="en">South Georgia and the South Sandwich Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SHN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Helena, Ascension and Tristan da Cunha</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SJM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Svalbard and Jan Mayen</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SLB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Solomon Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SLE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sierra Leone</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SLV">
        <xs:annotation>
          <xs:documentation xml:lang="en">El Salvador</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SMR">
        <xs:annotation>
          <xs:documentation xml:lang="en">San Marino</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SOM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Somalia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SPM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Pierre and Miquelon</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SRB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Serbia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SSD">
        <xs:annotation>
          <xs:documentation xml:lang="en">South Sudan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="STP">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sao Tome and Principe</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SUR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Suriname</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SVK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Slovakia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SVN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Slovenia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SWE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sweden</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SWZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Swaziland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SXM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sint Maarten (Dutch part)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SYC">
        <xs:annotation>
          <xs:documentation xml:lang="en">Seychelles</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SYR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Syrian Arab Republic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TCA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Turks and Caicos Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TCD">
        <xs:annotation>
          <xs:documentation xml:lang="en">Chad</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TGO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Togo</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="THA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Thailand</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TJK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tajikistan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TKL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tokelau</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TKM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Turkmenistan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TLS">
        <xs:annotation>
          <xs:documentation xml:lang="en">Timor-Leste</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TON">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tonga</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TTO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Trinidad and Tobago</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TUN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tunisia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TUR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Turkey</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TUV">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tuvalu</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TWN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Taiwan, Province of China</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TZA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tanzania, United Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="UGA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Uganda</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="UKR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ukraine</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="UMI">
        <xs:annotation>
          <xs:documentation xml:lang="en">United States Minor Outlying Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="URY">
        <xs:annotation>
          <xs:documentation xml:lang="en">Uruguay</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="USA">
        <xs:annotation>
          <xs:documentation xml:lang="en">United States of America</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="UZB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Uzbekistan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VAT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Holy See</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VCT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Vincent and the Grenadines</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VEN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Venezuela, Bolivarian Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VGB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Virgin Islands, British</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VIR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Virgin Islands, U.S.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VNM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Viet Nam</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VUT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Vanuatu</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="WLF">
        <xs:annotation>
          <xs:documentation xml:lang="en">Wallis and Futuna</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="WSM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Samoa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="YEM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Yemen</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ZAF">
        <xs:annotation>
          <xs:documentation xml:lang="en">South Africa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ZMB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Zambia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ZWE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Zimbabwe</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="004">
        <xs:annotation>
          <xs:documentation xml:lang="en">Afghanistan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="008">
        <xs:annotation>
          <xs:documentation xml:lang="en">Albania</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="010">
        <xs:annotation>
          <xs:documentation xml:lang="en">Antarctica</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="012">
        <xs:annotation>
          <xs:documentation xml:lang="en">Algeria</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="016">
        <xs:annotation>
          <xs:documentation xml:lang="en">American Samoa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="020">
        <xs:annotation>
          <xs:documentation xml:lang="en">Andorra</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="024">
        <xs:annotation>
          <xs:documentation xml:lang="en">Angola</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="028">
        <xs:annotation>
          <xs:documentation xml:lang="en">Antigua and Barbuda</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="031">
        <xs:annotation>
          <xs:documentation xml:lang="en">Azerbaijan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="032">
        <xs:annotation>
          <xs:documentation xml:lang="en">Argentina</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="036">
        <xs:annotation>
          <xs:documentation xml:lang="en">Australia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="040">
        <xs:annotation>
          <xs:documentation xml:lang="en">Austria</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="044">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bahamas</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="048">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bahrain</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="050">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bangladesh</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="051">
        <xs:annotation>
          <xs:documentation xml:lang="en">Armenia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="052">
        <xs:annotation>
          <xs:documentation xml:lang="en">Barbados</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="056">
        <xs:annotation>
          <xs:documentation xml:lang="en">Belgium</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="060">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bermuda</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="064">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bhutan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="068">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bolivia, Plurinational State of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="070">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bosnia and Herzegovina</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="072">
        <xs:annotation>
          <xs:documentation xml:lang="en">Botswana</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="074">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bouvet Island</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="076">
        <xs:annotation>
          <xs:documentation xml:lang="en">Brazil</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="084">
        <xs:annotation>
          <xs:documentation xml:lang="en">Belize</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="086">
        <xs:annotation>
          <xs:documentation xml:lang="en">British Indian Ocean Territory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="090">
        <xs:annotation>
          <xs:documentation xml:lang="en">Solomon Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="092">
        <xs:annotation>
          <xs:documentation xml:lang="en">Virgin Islands, British</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="096">
        <xs:annotation>
          <xs:documentation xml:lang="en">Brunei Darussalam</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="100">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bulgaria</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="104">
        <xs:annotation>
          <xs:documentation xml:lang="en">Myanmar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="108">
        <xs:annotation>
          <xs:documentation xml:lang="en">Burundi</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="112">
        <xs:annotation>
          <xs:documentation xml:lang="en">Belarus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="116">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cambodia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="120">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cameroon</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="124">
        <xs:annotation>
          <xs:documentation xml:lang="en">Canada</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="132">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cabo Verde</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="136">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cayman Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="140">
        <xs:annotation>
          <xs:documentation xml:lang="en">Central African Republic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="144">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sri Lanka</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="148">
        <xs:annotation>
          <xs:documentation xml:lang="en">Chad</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="152">
        <xs:annotation>
          <xs:documentation xml:lang="en">Chile</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="156">
        <xs:annotation>
          <xs:documentation xml:lang="en">China</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="158">
        <xs:annotation>
          <xs:documentation xml:lang="en">Taiwan, Province of China</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="162">
        <xs:annotation>
          <xs:documentation xml:lang="en">Christmas Island</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="166">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cocos (Keeling) Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="170">
        <xs:annotation>
          <xs:documentation xml:lang="en">Colombia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="174">
        <xs:annotation>
          <xs:documentation xml:lang="en">Comoros</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="175">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mayotte</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="178">
        <xs:annotation>
          <xs:documentation xml:lang="en">Congo</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="180">
        <xs:annotation>
          <xs:documentation xml:lang="en">Congo, the Democratic Republic of the</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="184">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cook Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="188">
        <xs:annotation>
          <xs:documentation xml:lang="en">Costa Rica</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="191">
        <xs:annotation>
          <xs:documentation xml:lang="en">Croatia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="192">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cuba</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="196">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cyprus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="203">
        <xs:annotation>
          <xs:documentation xml:lang="en">Czechia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="204">
        <xs:annotation>
          <xs:documentation xml:lang="en">Benin</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="208">
        <xs:annotation>
          <xs:documentation xml:lang="en">Denmark</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="212">
        <xs:annotation>
          <xs:documentation xml:lang="en">Dominica</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="214">
        <xs:annotation>
          <xs:documentation xml:lang="en">Dominican Republic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="218">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ecuador</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="222">
        <xs:annotation>
          <xs:documentation xml:lang="en">El Salvador</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="226">
        <xs:annotation>
          <xs:documentation xml:lang="en">Equatorial Guinea</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="231">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ethiopia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="232">
        <xs:annotation>
          <xs:documentation xml:lang="en">Eritrea</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="233">
        <xs:annotation>
          <xs:documentation xml:lang="en">Estonia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="234">
        <xs:annotation>
          <xs:documentation xml:lang="en">Faroe Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="238">
        <xs:annotation>
          <xs:documentation xml:lang="en">Falkland Islands (Malvinas)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="239">
        <xs:annotation>
          <xs:documentation xml:lang="en">South Georgia and the South Sandwich Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="242">
        <xs:annotation>
          <xs:documentation xml:lang="en">Fiji</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="246">
        <xs:annotation>
          <xs:documentation xml:lang="en">Finland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="248">
        <xs:annotation>
          <xs:documentation xml:lang="en">Åland Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="250">
        <xs:annotation>
          <xs:documentation xml:lang="en">France</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="254">
        <xs:annotation>
          <xs:documentation xml:lang="en">French Guiana</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="258">
        <xs:annotation>
          <xs:documentation xml:lang="en">French Polynesia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="260">
        <xs:annotation>
          <xs:documentation xml:lang="en">French Southern Territories</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="262">
        <xs:annotation>
          <xs:documentation xml:lang="en">Djibouti</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="266">
        <xs:annotation>
          <xs:documentation xml:lang="en">Gabon</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="268">
        <xs:annotation>
          <xs:documentation xml:lang="en">Georgia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="270">
        <xs:annotation>
          <xs:documentation xml:lang="en">Gambia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="275">
        <xs:annotation>
          <xs:documentation xml:lang="en">Palestine, State of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="276">
        <xs:annotation>
          <xs:documentation xml:lang="en">Germany</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="288">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ghana</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="292">
        <xs:annotation>
          <xs:documentation xml:lang="en">Gibraltar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="296">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kiribati</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="300">
        <xs:annotation>
          <xs:documentation xml:lang="en">Greece</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="304">
        <xs:annotation>
          <xs:documentation xml:lang="en">Greenland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="308">
        <xs:annotation>
          <xs:documentation xml:lang="en">Grenada</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="312">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guadeloupe</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="316">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guam</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="320">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guatemala</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="324">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guinea</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="328">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guyana</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="332">
        <xs:annotation>
          <xs:documentation xml:lang="en">Haiti</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="334">
        <xs:annotation>
          <xs:documentation xml:lang="en">Heard Island and McDonald Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="336">
        <xs:annotation>
          <xs:documentation xml:lang="en">Holy See</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="340">
        <xs:annotation>
          <xs:documentation xml:lang="en">Honduras</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="344">
        <xs:annotation>
          <xs:documentation xml:lang="en">Hong Kong</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="348">
        <xs:annotation>
          <xs:documentation xml:lang="en">Hungary</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="352">
        <xs:annotation>
          <xs:documentation xml:lang="en">Iceland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="356">
        <xs:annotation>
          <xs:documentation xml:lang="en">India</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="360">
        <xs:annotation>
          <xs:documentation xml:lang="en">Indonesia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="364">
        <xs:annotation>
          <xs:documentation xml:lang="en">Iran, Islamic Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="368">
        <xs:annotation>
          <xs:documentation xml:lang="en">Iraq</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="372">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ireland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="376">
        <xs:annotation>
          <xs:documentation xml:lang="en">Israel</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="380">
        <xs:annotation>
          <xs:documentation xml:lang="en">Italy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="384">
        <xs:annotation>
          <xs:documentation xml:lang="en">Côte d'Ivoire</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="388">
        <xs:annotation>
          <xs:documentation xml:lang="en">Jamaica</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="392">
        <xs:annotation>
          <xs:documentation xml:lang="en">Japan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="398">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kazakhstan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="400">
        <xs:annotation>
          <xs:documentation xml:lang="en">Jordan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="404">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kenya</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="408">
        <xs:annotation>
          <xs:documentation xml:lang="en">Korea, Democratic People's Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="410">
        <xs:annotation>
          <xs:documentation xml:lang="en">Korea, Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="414">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kuwait</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="417">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kyrgyzstan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="418">
        <xs:annotation>
          <xs:documentation xml:lang="en">Lao People's Democratic Republic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="422">
        <xs:annotation>
          <xs:documentation xml:lang="en">Lebanon</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="426">
        <xs:annotation>
          <xs:documentation xml:lang="en">Lesotho</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="428">
        <xs:annotation>
          <xs:documentation xml:lang="en">Latvia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="430">
        <xs:annotation>
          <xs:documentation xml:lang="en">Liberia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="434">
        <xs:annotation>
          <xs:documentation xml:lang="en">Libya</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="438">
        <xs:annotation>
          <xs:documentation xml:lang="en">Liechtenstein</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="440">
        <xs:annotation>
          <xs:documentation xml:lang="en">Lithuania</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="442">
        <xs:annotation>
          <xs:documentation xml:lang="en">Luxembourg</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="446">
        <xs:annotation>
          <xs:documentation xml:lang="en">Macao</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="450">
        <xs:annotation>
          <xs:documentation xml:lang="en">Madagascar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="454">
        <xs:annotation>
          <xs:documentation xml:lang="en">Malawi</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="458">
        <xs:annotation>
          <xs:documentation xml:lang="en">Malaysia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="462">
        <xs:annotation>
          <xs:documentation xml:lang="en">Maldives</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="466">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mali</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="470">
        <xs:annotation>
          <xs:documentation xml:lang="en">Malta</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="474">
        <xs:annotation>
          <xs:documentation xml:lang="en">Martinique</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="478">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mauritania</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="480">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mauritius</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="484">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mexico</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="492">
        <xs:annotation>
          <xs:documentation xml:lang="en">Monaco</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="496">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mongolia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="498">
        <xs:annotation>
          <xs:documentation xml:lang="en">Moldova, Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="499">
        <xs:annotation>
          <xs:documentation xml:lang="en">Montenegro</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="500">
        <xs:annotation>
          <xs:documentation xml:lang="en">Montserrat</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="504">
        <xs:annotation>
          <xs:documentation xml:lang="en">Morocco</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="508">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mozambique</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="512">
        <xs:annotation>
          <xs:documentation xml:lang="en">Oman</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="516">
        <xs:annotation>
          <xs:documentation xml:lang="en">Namibia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="520">
        <xs:annotation>
          <xs:documentation xml:lang="en">Nauru</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="524">
        <xs:annotation>
          <xs:documentation xml:lang="en">Nepal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="528">
        <xs:annotation>
          <xs:documentation xml:lang="en">Netherlands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="531">
        <xs:annotation>
          <xs:documentation xml:lang="en">Curaçao</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="533">
        <xs:annotation>
          <xs:documentation xml:lang="en">Aruba</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="534">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sint Maarten (Dutch part)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="535">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bonaire, Sint Eustatius and Saba</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="540">
        <xs:annotation>
          <xs:documentation xml:lang="en">New Caledonia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="548">
        <xs:annotation>
          <xs:documentation xml:lang="en">Vanuatu</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="554">
        <xs:annotation>
          <xs:documentation xml:lang="en">New Zealand</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="558">
        <xs:annotation>
          <xs:documentation xml:lang="en">Nicaragua</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="562">
        <xs:annotation>
          <xs:documentation xml:lang="en">Niger</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="566">
        <xs:annotation>
          <xs:documentation xml:lang="en">Nigeria</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="570">
        <xs:annotation>
          <xs:documentation xml:lang="en">Niue</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="574">
        <xs:annotation>
          <xs:documentation xml:lang="en">Norfolk Island</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="578">
        <xs:annotation>
          <xs:documentation xml:lang="en">Norway</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="580">
        <xs:annotation>
          <xs:documentation xml:lang="en">Northern Mariana Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="581">
        <xs:annotation>
          <xs:documentation xml:lang="en">United States Minor Outlying Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="583">
        <xs:annotation>
          <xs:documentation xml:lang="en">Micronesia, Federated States of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="584">
        <xs:annotation>
          <xs:documentation xml:lang="en">Marshall Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="585">
        <xs:annotation>
          <xs:documentation xml:lang="en">Palau</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="586">
        <xs:annotation>
          <xs:documentation xml:lang="en">Pakistan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="591">
        <xs:annotation>
          <xs:documentation xml:lang="en">Panama</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="598">
        <xs:annotation>
          <xs:documentation xml:lang="en">Papua New Guinea</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="600">
        <xs:annotation>
          <xs:documentation xml:lang="en">Paraguay</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="604">
        <xs:annotation>
          <xs:documentation xml:lang="en">Peru</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="608">
        <xs:annotation>
          <xs:documentation xml:lang="en">Philippines</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="612">
        <xs:annotation>
          <xs:documentation xml:lang="en">Pitcairn</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="616">
        <xs:annotation>
          <xs:documentation xml:lang="en">Poland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="620">
        <xs:annotation>
          <xs:documentation xml:lang="en">Portugal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="624">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guinea-Bissau</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="626">
        <xs:annotation>
          <xs:documentation xml:lang="en">Timor-Leste</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="630">
        <xs:annotation>
          <xs:documentation xml:lang="en">Puerto Rico</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="634">
        <xs:annotation>
          <xs:documentation xml:lang="en">Qatar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="638">
        <xs:annotation>
          <xs:documentation xml:lang="en">Réunion</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="642">
        <xs:annotation>
          <xs:documentation xml:lang="en">Romania</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="643">
        <xs:annotation>
          <xs:documentation xml:lang="en">Russian Federation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="646">
        <xs:annotation>
          <xs:documentation xml:lang="en">Rwanda</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="652">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Barthélemy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="654">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Helena, Ascension and Tristan da Cunha</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="659">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Kitts and Nevis</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="660">
        <xs:annotation>
          <xs:documentation xml:lang="en">Anguilla</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="662">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Lucia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="663">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Martin (French part)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="666">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Pierre and Miquelon</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="670">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Vincent and the Grenadines</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="674">
        <xs:annotation>
          <xs:documentation xml:lang="en">San Marino</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="678">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sao Tome and Principe</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="682">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saudi Arabia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="686">
        <xs:annotation>
          <xs:documentation xml:lang="en">Senegal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="688">
        <xs:annotation>
          <xs:documentation xml:lang="en">Serbia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="690">
        <xs:annotation>
          <xs:documentation xml:lang="en">Seychelles</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="694">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sierra Leone</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="702">
        <xs:annotation>
          <xs:documentation xml:lang="en">Singapore</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="703">
        <xs:annotation>
          <xs:documentation xml:lang="en">Slovakia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="704">
        <xs:annotation>
          <xs:documentation xml:lang="en">Viet Nam</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="705">
        <xs:annotation>
          <xs:documentation xml:lang="en">Slovenia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="706">
        <xs:annotation>
          <xs:documentation xml:lang="en">Somalia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="710">
        <xs:annotation>
          <xs:documentation xml:lang="en">South Africa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="716">
        <xs:annotation>
          <xs:documentation xml:lang="en">Zimbabwe</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="724">
        <xs:annotation>
          <xs:documentation xml:lang="en">Spain</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="728">
        <xs:annotation>
          <xs:documentation xml:lang="en">South Sudan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="729">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sudan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="732">
        <xs:annotation>
          <xs:documentation xml:lang="en">Western Sahara</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="740">
        <xs:annotation>
          <xs:documentation xml:lang="en">Suriname</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="744">
        <xs:annotation>
          <xs:documentation xml:lang="en">Svalbard and Jan Mayen</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="748">
        <xs:annotation>
          <xs:documentation xml:lang="en">Swaziland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="752">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sweden</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="756">
        <xs:annotation>
          <xs:documentation xml:lang="en">Switzerland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="760">
        <xs:annotation>
          <xs:documentation xml:lang="en">Syrian Arab Republic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="762">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tajikistan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="764">
        <xs:annotation>
          <xs:documentation xml:lang="en">Thailand</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="768">
        <xs:annotation>
          <xs:documentation xml:lang="en">Togo</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="772">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tokelau</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="776">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tonga</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="780">
        <xs:annotation>
          <xs:documentation xml:lang="en">Trinidad and Tobago</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="784">
        <xs:annotation>
          <xs:documentation xml:lang="en">United Arab Emirates</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="788">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tunisia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="792">
        <xs:annotation>
          <xs:documentation xml:lang="en">Turkey</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="795">
        <xs:annotation>
          <xs:documentation xml:lang="en">Turkmenistan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="796">
        <xs:annotation>
          <xs:documentation xml:lang="en">Turks and Caicos Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="798">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tuvalu</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="800">
        <xs:annotation>
          <xs:documentation xml:lang="en">Uganda</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="804">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ukraine</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="807">
        <xs:annotation>
          <xs:documentation xml:lang="en">Macedonia, the former Yugoslav Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="818">
        <xs:annotation>
          <xs:documentation xml:lang="en">Egypt</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="826">
        <xs:annotation>
          <xs:documentation xml:lang="en">United Kingdom</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="831">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guernsey</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="832">
        <xs:annotation>
          <xs:documentation xml:lang="en">Jersey</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="833">
        <xs:annotation>
          <xs:documentation xml:lang="en">Isle of Man</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="834">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tanzania, United Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="840">
        <xs:annotation>
          <xs:documentation xml:lang="en">United States of America</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="850">
        <xs:annotation>
          <xs:documentation xml:lang="en">Virgin Islands, U.S.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="854">
        <xs:annotation>
          <xs:documentation xml:lang="en">Burkina Faso</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="858">
        <xs:annotation>
          <xs:documentation xml:lang="en">Uruguay</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="860">
        <xs:annotation>
          <xs:documentation xml:lang="en">Uzbekistan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="862">
        <xs:annotation>
          <xs:documentation xml:lang="en">Venezuela, Bolivarian Republic of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="876">
        <xs:annotation>
          <xs:documentation xml:lang="en">Wallis and Futuna</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="882">
        <xs:annotation>
          <xs:documentation xml:lang="en">Samoa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="887">
        <xs:annotation>
          <xs:documentation xml:lang="en">Yemen</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="894">
        <xs:annotation>
          <xs:documentation xml:lang="en">Zambia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-BAL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Balkh</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-BAM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bāmyān</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-BDG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bādghīs</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-BDS">
        <xs:annotation>
          <xs:documentation xml:lang="en">Badakhshān</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-BGL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Baghlān</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-DAY">
        <xs:annotation>
          <xs:documentation xml:lang="en">Dāykundī</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-FRA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Farāh</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-FYB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Fāryāb</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-GHA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ghaznī</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-GHO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ghōr</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-HEL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Helmand</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-HER">
        <xs:annotation>
          <xs:documentation xml:lang="en">Herāt</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-JOW">
        <xs:annotation>
          <xs:documentation xml:lang="en">Jowzjān</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-KAB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kābul</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-KAN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kandahār</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-KAP">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kāpīsā</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-KDZ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kunduz</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-KHO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Khōst</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-KNR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kunar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-LAG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Laghmān</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-LOG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Lōgar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-NAN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Nangarhār</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-NIM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Nīmrōz</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-NUR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Nūristān</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-PAN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Panjshayr</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-PAR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Parwān</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-PIA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Paktiyā</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-PKA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Paktīkā</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-SAM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Samangān</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-SAR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sar-e Pul</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-TAK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Takhār</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-URU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Uruzgān</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-WAR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Wardak</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AF-ZAB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Zābul</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AX-AX">
        <xs:annotation>
          <xs:documentation xml:lang="en">Åland Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-01">
        <xs:annotation>
          <xs:documentation xml:lang="en">Berat</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-02">
        <xs:annotation>
          <xs:documentation xml:lang="en">Durrës</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-03">
        <xs:annotation>
          <xs:documentation xml:lang="en">Elbasan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-04">
        <xs:annotation>
          <xs:documentation xml:lang="en">Fier</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-05">
        <xs:annotation>
          <xs:documentation xml:lang="en">Gjirokastër</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-06">
        <xs:annotation>
          <xs:documentation xml:lang="en">Korçë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-07">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kukës</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-08">
        <xs:annotation>
          <xs:documentation xml:lang="en">Lezhë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-09">
        <xs:annotation>
          <xs:documentation xml:lang="en">Dibër</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-10">
        <xs:annotation>
          <xs:documentation xml:lang="en">Shkodër</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-11">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tiranë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-12">
        <xs:annotation>
          <xs:documentation xml:lang="en">Vlorë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-BR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Berat</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-BU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bulqizë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-DI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Dibër</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-DL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Delvinë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-DR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Durrës</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-DV">
        <xs:annotation>
          <xs:documentation xml:lang="en">Devoll</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-EL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Elbasan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-ER">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kolonjë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-FR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Fier</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-GJ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Gjirokastër</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-GR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Gramsh</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-HA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Has</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-KA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kavajë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-KB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kurbin</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-KC">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kuçovë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-KO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Korçë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-KR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Krujë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-KU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kukës</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-LB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Librazhd</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-LE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Lezhë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-LU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Lushnjë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-MK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mallakastër</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-MM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Malësi e Madhe</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-MR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mirditë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-MT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mat</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-PG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Pogradec</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-PQ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Peqin</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-PR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Përmet</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-PU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Pukë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-SH">
        <xs:annotation>
          <xs:documentation xml:lang="en">Shkodër</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-SK">
        <xs:annotation>
          <xs:documentation xml:lang="en">Skrapar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-SR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sarandë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-TE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tepelenë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-TP">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tropojë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-TR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tiranë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AL-VL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Vlorë</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-01">
        <xs:annotation>
          <xs:documentation xml:lang="en">Adrar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-02">
        <xs:annotation>
          <xs:documentation xml:lang="en">Chlef</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-03">
        <xs:annotation>
          <xs:documentation xml:lang="en">Laghouat</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-04">
        <xs:annotation>
          <xs:documentation xml:lang="en">Oum el Bouaghi</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-05">
        <xs:annotation>
          <xs:documentation xml:lang="en">Batna</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-06">
        <xs:annotation>
          <xs:documentation xml:lang="en">Béjaïa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-07">
        <xs:annotation>
          <xs:documentation xml:lang="en">Biskra</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-08">
        <xs:annotation>
          <xs:documentation xml:lang="en">Béchar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-09">
        <xs:annotation>
          <xs:documentation xml:lang="en">Blida</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-10">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bouira</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-11">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tamanrasset</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-12">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tébessa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-13">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tlemcen</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-14">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tiaret</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-15">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tizi Ouzou</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-16">
        <xs:annotation>
          <xs:documentation xml:lang="en">Alger</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-17">
        <xs:annotation>
          <xs:documentation xml:lang="en">Djelfa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-18">
        <xs:annotation>
          <xs:documentation xml:lang="en">Jijel</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-19">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sétif</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-20">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saïda</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-21">
        <xs:annotation>
          <xs:documentation xml:lang="en">Skikda</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-22">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sidi Bel Abbès</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-23">
        <xs:annotation>
          <xs:documentation xml:lang="en">Annaba</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-24">
        <xs:annotation>
          <xs:documentation xml:lang="en">Guelma</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-25">
        <xs:annotation>
          <xs:documentation xml:lang="en">Constantine</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-26">
        <xs:annotation>
          <xs:documentation xml:lang="en">Médéa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-27">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mostaganem</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-28">
        <xs:annotation>
          <xs:documentation xml:lang="en">Msila</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-29">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mascara</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-30">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ouargla</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-31">
        <xs:annotation>
          <xs:documentation xml:lang="en">Oran</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-32">
        <xs:annotation>
          <xs:documentation xml:lang="en">El Bayadh</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-33">
        <xs:annotation>
          <xs:documentation xml:lang="en">Illizi</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-34">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bordj Bou Arréridj</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-35">
        <xs:annotation>
          <xs:documentation xml:lang="en">Boumerdès</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-36">
        <xs:annotation>
          <xs:documentation xml:lang="en">El Tarf</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-37">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tindouf</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-38">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tissemsilt</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-39">
        <xs:annotation>
          <xs:documentation xml:lang="en">El Oued</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-40">
        <xs:annotation>
          <xs:documentation xml:lang="en">Khenchela</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-41">
        <xs:annotation>
          <xs:documentation xml:lang="en">Souk Ahras</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-42">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tipaza</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-43">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mila</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-44">
        <xs:annotation>
          <xs:documentation xml:lang="en">Aïn Defla</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-45">
        <xs:annotation>
          <xs:documentation xml:lang="en">Naama</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-46">
        <xs:annotation>
          <xs:documentation xml:lang="en">Aïn Témouchent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-47">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ghardaïa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DZ-48">
        <xs:annotation>
          <xs:documentation xml:lang="en">Relizane</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AS-AS">
        <xs:annotation>
          <xs:documentation xml:lang="en">American Samoa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AD-02">
        <xs:annotation>
          <xs:documentation xml:lang="en">Canillo</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AD-03">
        <xs:annotation>
          <xs:documentation xml:lang="en">Encamp</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AD-04">
        <xs:annotation>
          <xs:documentation xml:lang="en">La Massana</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AD-05">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ordino</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AD-06">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sant Julià de Lòria</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AD-07">
        <xs:annotation>
          <xs:documentation xml:lang="en">Andorra la Vella</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AD-08">
        <xs:annotation>
          <xs:documentation xml:lang="en">Escaldes-Engordany</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO-BGO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bengo</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO-BGU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Benguela</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO-BIE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bié</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO-CAB">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cabinda</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO-CCU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kuando Kubango</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO-CNN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Cunene</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO-CNO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kwanza Norte</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO-CUS">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kwanza Sul</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO-HUA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Huambo</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO-HUI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Huíla</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO-LNO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Lunda Norte</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO-LSU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Lunda Sul</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO-LUA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Luanda</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO-MAL">
        <xs:annotation>
          <xs:documentation xml:lang="en">Malange</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO-MOX">
        <xs:annotation>
          <xs:documentation xml:lang="en">Moxico</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO-NAM">
        <xs:annotation>
          <xs:documentation xml:lang="en">Namibe</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO-UIG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Uíge</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AO-ZAI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Zaire</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AI-AI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Anguilla</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AQ-AQ">
        <xs:annotation>
          <xs:documentation xml:lang="en">Antarctica</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AG-03">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint George</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AG-04">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint John</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AG-05">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Mary</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AG-06">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Paul</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AG-07">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Peter</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AG-08">
        <xs:annotation>
          <xs:documentation xml:lang="en">Saint Philip</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AG-10">
        <xs:annotation>
          <xs:documentation xml:lang="en">Barbuda</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AG-11">
        <xs:annotation>
          <xs:documentation xml:lang="en">Redonda</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-A">
        <xs:annotation>
          <xs:documentation xml:lang="en">Salta</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-B">
        <xs:annotation>
          <xs:documentation xml:lang="en">Buenos Aires</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-C">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ciudad Autónoma de Buenos Aires</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-D">
        <xs:annotation>
          <xs:documentation xml:lang="en">San Luis</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-E">
        <xs:annotation>
          <xs:documentation xml:lang="en">Entre Ríos</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-F">
        <xs:annotation>
          <xs:documentation xml:lang="en">La Rioja</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-G">
        <xs:annotation>
          <xs:documentation xml:lang="en">Santiago del Estero</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-H">
        <xs:annotation>
          <xs:documentation xml:lang="en">Chaco</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-J">
        <xs:annotation>
          <xs:documentation xml:lang="en">San Juan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-K">
        <xs:annotation>
          <xs:documentation xml:lang="en">Catamarca</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-L">
        <xs:annotation>
          <xs:documentation xml:lang="en">La Pampa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-M">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mendoza</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-N">
        <xs:annotation>
          <xs:documentation xml:lang="en">Misiones</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-P">
        <xs:annotation>
          <xs:documentation xml:lang="en">Formosa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-Q">
        <xs:annotation>
          <xs:documentation xml:lang="en">Neuquén</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-R">
        <xs:annotation>
          <xs:documentation xml:lang="en">Río Negro</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-S">
        <xs:annotation>
          <xs:documentation xml:lang="en">Santa Fe</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-T">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tucumán</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-U">
        <xs:annotation>
          <xs:documentation xml:lang="en">Chubut</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-V">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tierra del Fuego</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-W">
        <xs:annotation>
          <xs:documentation xml:lang="en">Corrientes</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-X">
        <xs:annotation>
          <xs:documentation xml:lang="en">Córdoba</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-Y">
        <xs:annotation>
          <xs:documentation xml:lang="en">Jujuy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AR-Z">
        <xs:annotation>
          <xs:documentation xml:lang="en">Santa Cruz</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AM-AG">
        <xs:annotation>
          <xs:documentation xml:lang="en">Aragac̣otn</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AM-AR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ararat</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AM-AV">
        <xs:annotation>
          <xs:documentation xml:lang="en">Armavir</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AM-ER">
        <xs:annotation>
          <xs:documentation xml:lang="en">Erevan</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AM-GR">
        <xs:annotation>
          <xs:documentation xml:lang="en">Geġark'unik'</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AM-KT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Kotayk'</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AM-LO">
        <xs:annotation>
          <xs:documentation xml:lang="en">Loṙi</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AM-SH">
        <xs:annotation>
          <xs:documentation xml:lang="en">Širak</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AM-SU">
        <xs:annotation>
          <xs:documentation xml:lang="en">Syunik'</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AM-TV">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tavuš</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AM-VD">
        <xs:annotation>
          <xs:documentation xml:lang="en">Vayoć Jor</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AW-AW">
        <xs:annotation>
          <xs:documentation xml:lang="en">Aruba</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AU-ACT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Australian Capital Territory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AU-NSW">
        <xs:annotation>
          <xs:documentation xml:lang="en">New South Wales</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AU-NT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Northern Territory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AU-QLD">
        <xs:annotation>
          <xs:documentation xml:lang="en">Queensland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AU-SA">
        <xs:annotation>
          <xs:documentation xml:lang="en">South Australia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AU-TAS">
        <xs:annotation>
          <xs:documentation xml:lang="en">Tasmania</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AU-VIC">
        <xs:annotation>
          <xs:documentation xml:lang="en">Victoria</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AU-WA">
        <xs:annotation>
          <xs:documentation xml:lang="en">Western Australia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="JurisdictionValueSet">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="JurisdictionValueSetEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="IngredientManufacturerRoleEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="allowed">
        <xs:annotation>
          <xs:documentation xml:lang="en">Manufacturer is specifically allowed for this ingredient</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="possible">
        <xs:annotation>
          <xs:documentation xml:lang="en">Manufacturer is known to make this ingredient in general</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="actual">
        <xs:annotation>
          <xs:documentation xml:lang="en">Manufacturer actually makes this particular ingredient</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="IngredientManufacturerRole">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="IngredientManufacturerRoleEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="SpecimenCombinedEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="grouped">
        <xs:annotation>
          <xs:documentation xml:lang="en">Grouped</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pooled">
        <xs:annotation>
          <xs:documentation xml:lang="en">Pooled</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SpecimenCombined">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="SpecimenCombinedEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="date-primitive">
    <xs:restriction>
      <xs:simpleType>
        <xs:union memberTypes="xs:gYear xs:gYearMonth xs:date"/>
      </xs:simpleType>
      <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[0-9]|[1-2][0-9]|3[0-1]))?)?"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="date">
    <xs:annotation>
      <xs:documentation xml:lang="en">A date or partial date (e.g. just year or year + month). There is no UTC offset. The format is a union of the schema types gYear, gYearMonth and date.  Dates SHALL be valid dates.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="date-primitive" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="dateTime-primitive">
    <xs:restriction>
      <xs:simpleType>
        <xs:union memberTypes="xs:gYear xs:gYearMonth xs:date xs:dateTime"/>
      </xs:simpleType>
      <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[0-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:restriction>
  </xs:simpleType>
  <xs:complexType name="dateTime">
    <xs:annotation>
      <xs:documentation xml:lang="en">A date, date-time or partial date (e.g. just year or year + month).  If hours and minutes are specified, a UTC offset SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored.                 Dates SHALL be valid dates.</xs:documentation>
      <xs:documentation xml:lang="en">UTC offset is allowed for dates and partial dates</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="dateTime-primitive" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="code-primitive">
    <xs:restriction base="xs:token">
      <xs:minLength value="1"/>
      <xs:pattern value="[^\s]+( [^\s]+)*"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="code">
    <xs:annotation>
      <xs:documentation xml:lang="en">A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="code-primitive"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="string-primitive">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="string">
    <xs:annotation>
      <xs:documentation xml:lang="en">A sequence of Unicode characters</xs:documentation>
      <xs:documentation xml:lang="en">Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="string-primitive" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="integer64-primitive">
    <xs:restriction base="xs:long">
      <xs:pattern value="[0]|[-+]?[1-9][0-9]*"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="integer64">
    <xs:annotation>
      <xs:documentation xml:lang="en">A very large whole number</xs:documentation>
      <xs:documentation xml:lang="en">Typically this is used for record counters (e.g. database keys)</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="integer64-primitive" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="integer-primitive">
    <xs:restriction base="xs:int">
      <xs:pattern value="[0]|[-+]?[1-9][0-9]*"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="integer">
    <xs:annotation>
      <xs:documentation xml:lang="en">A whole number</xs:documentation>
      <xs:documentation xml:lang="en">32 bit number; for values larger than this, use decimal</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="integer-primitive" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="oid-primitive">
    <xs:restriction base="xs:anyURI">
      <xs:pattern value="urn:oid:[0-2](\.(0|[1-9][0-9]*))+"/>
      <xs:minLength value="1"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="oid">
    <xs:annotation>
      <xs:documentation xml:lang="en">An OID represented as a URI</xs:documentation>
      <xs:documentation xml:lang="en">RFC 3001. See also ISO/IEC 8824:1990 €</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="oid-primitive"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="canonical-primitive">
    <xs:restriction base="xs:anyURI">
      <xs:pattern value="\S*"/>
      <xs:minLength value="1"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="canonical">
    <xs:annotation>
      <xs:documentation xml:lang="en">A URI that is a reference to a canonical URL on a FHIR resource</xs:documentation>
      <xs:documentation xml:lang="en">see [Canonical References](references.html#canonical)</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="canonical-primitive"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="uri-primitive">
    <xs:restriction base="xs:anyURI">
      <xs:pattern value="\S*"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="uri">
    <xs:annotation>
      <xs:documentation xml:lang="en">String of characters used to identify a name or a resource</xs:documentation>
      <xs:documentation xml:lang="en">see http://en.wikipedia.org/wiki/Uniform_resource_identifier</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="uri-primitive" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="uuid-primitive">
    <xs:restriction base="xs:anyURI">
      <xs:pattern value="urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"/>
      <xs:minLength value="1"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="uuid">
    <xs:annotation>
      <xs:documentation xml:lang="en">A UUID, represented as a URI</xs:documentation>
      <xs:documentation xml:lang="en">See The Open Group, CDE 1.1 Remote Procedure Call specification, Appendix A.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="uuid-primitive"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="url-primitive">
    <xs:restriction base="xs:anyURI">
      <xs:pattern value="\S*"/>
      <xs:minLength value="1"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="url">
    <xs:annotation>
      <xs:documentation xml:lang="en">A URI that is a literal reference</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="url-primitive"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="instant-primitive">
    <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]{1,9})?(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="instant">
    <xs:annotation>
      <xs:documentation xml:lang="en">An instant in time - known at least to the second</xs:documentation>
      <xs:documentation xml:lang="en">Note: This is intended for where precisely observed times are required, typically system logs etc., and not human-reported times - for them, see date and dateTime (which can be as precise as instant, but is not required to be) below. UTC offset is always required</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="instant-primitive" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="boolean-primitive">
    <xs:restriction base="xs:boolean">
      <xs:pattern value="true|false"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="boolean">
    <xs:annotation>
      <xs:documentation xml:lang="en">Value of &quot;true&quot; or &quot;false&quot;</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="boolean-primitive" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="base64Binary-primitive">
    <xs:restriction base="xs:base64Binary">
      <xs:pattern value="([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="base64Binary">
    <xs:annotation>
      <xs:documentation xml:lang="en">A stream of bytes</xs:documentation>
      <xs:documentation xml:lang="en">A stream of bytes, base64 encoded</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="base64Binary-primitive" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="unsignedInt-primitive">
    <xs:restriction base="xs:nonNegativeInteger">
      <xs:pattern value="[0]|([1-9][0-9]*)"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="unsignedInt">
    <xs:annotation>
      <xs:documentation xml:lang="en">An integer with a value that is not negative (e.g. &gt;= 0)</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="unsignedInt-primitive"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="markdown-primitive">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:pattern value="[\s\S]+"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="markdown">
    <xs:annotation>
      <xs:documentation xml:lang="en">A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine</xs:documentation>
      <xs:documentation xml:lang="en">Systems are not required to have markdown support, so the text should be readable without markdown processing. The markdown syntax is GFM - see https://github.github.com/gfm/</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="markdown-primitive"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="time-primitive">
    <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:restriction>
  </xs:simpleType>
  <xs:complexType name="time">
    <xs:annotation>
      <xs:documentation xml:lang="en">A time during the day, with no date specified</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="time-primitive" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="id-primitive">
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Za-z0-9\-\.]{1,64}"/>
      <xs:minLength value="1"/>
      <xs:maxLength value="64"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="id">
    <xs:annotation>
      <xs:documentation xml:lang="en">Any combination of letters, numerals, &quot;-&quot; and &quot;.&quot;, with a length limit of 64 characters.  (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.)  Ids are case-insensitive.</xs:documentation>
      <xs:documentation xml:lang="en">RFC 4122</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="id-primitive"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="positiveInt-primitive">
    <xs:restriction base="xs:positiveInteger">
      <xs:pattern value="[1-9][0-9]*"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="positiveInt">
    <xs:annotation>
      <xs:documentation xml:lang="en">An integer with a value that is positive (e.g. &gt;0)</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="positiveInt-primitive"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="decimal-primitive">
    <xs:union memberTypes="xs:decimal xs:double"/>
  </xs:simpleType>
  <xs:complexType name="decimal">
    <xs:annotation>
      <xs:documentation xml:lang="en">A rational number with implicit precision</xs:documentation>
      <xs:documentation xml:lang="en">Do not use an IEEE type floating point type, instead use something that works like a true decimal, with inbuilt precision (e.g. Java BigInteger)</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="decimal-primitive" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="ResourceContainer">
    <xs:choice>
      <xs:element ref="Account"/>
      <xs:element ref="ActivityDefinition"/>
      <xs:element ref="ActorDefinition"/>
      <xs:element ref="AdministrableProductDefinition"/>
      <xs:element ref="AdverseEvent"/>
      <xs:element ref="AllergyIntolerance"/>
      <xs:element ref="Appointment"/>
      <xs:element ref="AppointmentResponse"/>
      <xs:element ref="ArtifactAssessment"/>
      <xs:element ref="AuditEvent"/>
      <xs:element ref="Basic"/>
      <xs:element ref="Binary"/>
      <xs:element ref="BiologicallyDerivedProduct"/>
      <xs:element ref="BodyStructure"/>
      <xs:element ref="Bundle"/>
      <xs:element ref="CapabilityStatement"/>
      <xs:element ref="CarePlan"/>
      <xs:element ref="CareTeam"/>
      <xs:element ref="Claim"/>
      <xs:element ref="ClaimResponse"/>
      <xs:element ref="ClinicalUseDefinition"/>
      <xs:element ref="CodeSystem"/>
      <xs:element ref="Communication"/>
      <xs:element ref="CommunicationRequest"/>
      <xs:element ref="CompartmentDefinition"/>
      <xs:element ref="Composition"/>
      <xs:element ref="ConceptMap"/>
      <xs:element ref="Condition"/>
      <xs:element ref="Consent"/>
      <xs:element ref="Contract"/>
      <xs:element ref="Coverage"/>
      <xs:element ref="CoverageEligibilityRequest"/>
      <xs:element ref="CoverageEligibilityResponse"/>
      <xs:element ref="DetectedIssue"/>
      <xs:element ref="Device"/>
      <xs:element ref="DeviceAlert"/>
      <xs:element ref="DeviceAssociation"/>
      <xs:element ref="DeviceDefinition"/>
      <xs:element ref="DeviceMetric"/>
      <xs:element ref="DeviceRequest"/>
      <xs:element ref="DiagnosticReport"/>
      <xs:element ref="DocumentReference"/>
      <xs:element ref="Encounter"/>
      <xs:element ref="Endpoint"/>
      <xs:element ref="EnrollmentRequest"/>
      <xs:element ref="EnrollmentResponse"/>
      <xs:element ref="EpisodeOfCare"/>
      <xs:element ref="EventDefinition"/>
      <xs:element ref="Evidence"/>
      <xs:element ref="EvidenceVariable"/>
      <xs:element ref="ExampleScenario"/>
      <xs:element ref="ExplanationOfBenefit"/>
      <xs:element ref="FamilyMemberHistory"/>
      <xs:element ref="Flag"/>
      <xs:element ref="Goal"/>
      <xs:element ref="Group"/>
      <xs:element ref="GuidanceResponse"/>
      <xs:element ref="HealthcareService"/>
      <xs:element ref="ImagingSelection"/>
      <xs:element ref="ImagingStudy"/>
      <xs:element ref="Immunization"/>
      <xs:element ref="ImplementationGuide"/>
      <xs:element ref="Ingredient"/>
      <xs:element ref="InsurancePlan"/>
      <xs:element ref="InsuranceProduct"/>
      <xs:element ref="Invoice"/>
      <xs:element ref="Library"/>
      <xs:element ref="List"/>
      <xs:element ref="Location"/>
      <xs:element ref="ManufacturedItemDefinition"/>
      <xs:element ref="Measure"/>
      <xs:element ref="MeasureReport"/>
      <xs:element ref="Medication"/>
      <xs:element ref="MedicationAdministration"/>
      <xs:element ref="MedicationDispense"/>
      <xs:element ref="MedicationRequest"/>
      <xs:element ref="MedicationStatement"/>
      <xs:element ref="MedicinalProductDefinition"/>
      <xs:element ref="MessageDefinition"/>
      <xs:element ref="MessageHeader"/>
      <xs:element ref="NamingSystem"/>
      <xs:element ref="NutritionIntake"/>
      <xs:element ref="NutritionOrder"/>
      <xs:element ref="NutritionProduct"/>
      <xs:element ref="Observation"/>
      <xs:element ref="ObservationDefinition"/>
      <xs:element ref="OperationDefinition"/>
      <xs:element ref="OperationOutcome"/>
      <xs:element ref="Organization"/>
      <xs:element ref="OrganizationAffiliation"/>
      <xs:element ref="PackagedProductDefinition"/>
      <xs:element ref="Patient"/>
      <xs:element ref="PaymentNotice"/>
      <xs:element ref="PaymentReconciliation"/>
      <xs:element ref="Person"/>
      <xs:element ref="PlanDefinition"/>
      <xs:element ref="Practitioner"/>
      <xs:element ref="PractitionerRole"/>
      <xs:element ref="Procedure"/>
      <xs:element ref="Provenance"/>
      <xs:element ref="Questionnaire"/>
      <xs:element ref="QuestionnaireResponse"/>
      <xs:element ref="RegulatedAuthorization"/>
      <xs:element ref="RelatedPerson"/>
      <xs:element ref="RequestOrchestration"/>
      <xs:element ref="Requirements"/>
      <xs:element ref="ResearchStudy"/>
      <xs:element ref="ResearchSubject"/>
      <xs:element ref="RiskAssessment"/>
      <xs:element ref="Schedule"/>
      <xs:element ref="SearchParameter"/>
      <xs:element ref="ServiceRequest"/>
      <xs:element ref="Slot"/>
      <xs:element ref="Specimen"/>
      <xs:element ref="SpecimenDefinition"/>
      <xs:element ref="StructureDefinition"/>
      <xs:element ref="StructureMap"/>
      <xs:element ref="Subscription"/>
      <xs:element ref="SubscriptionStatus"/>
      <xs:element ref="SubscriptionTopic"/>
      <xs:element ref="Substance"/>
      <xs:element ref="SubstanceDefinition"/>
      <xs:element ref="Task"/>
      <xs:element ref="TerminologyCapabilities"/>
      <xs:element ref="ValueSet"/>
      <xs:element ref="VisionPrescription"/>
      <xs:element ref="Parameters"/>
    </xs:choice>
  </xs:complexType>
  <xs:complexType name="Extension">
    <xs:annotation>
      <xs:documentation xml:lang="en">Optional Extension Element - found in all resources.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
        <xs:choice minOccurs="0" maxOccurs="1">
           <xs:annotation>
             <xs:documentation xml:lang="en">Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).</xs:documentation>
           </xs:annotation>
           <xs:element name="valueBase64Binary" type="base64Binary"/>
           <xs:element name="valueBoolean" type="boolean"/>
           <xs:element name="valueCanonical" type="canonical"/>
           <xs:element name="valueCode" type="code"/>
           <xs:element name="valueDate" type="date"/>
           <xs:element name="valueDateTime" type="dateTime"/>
           <xs:element name="valueDecimal" type="decimal"/>
           <xs:element name="valueId" type="id"/>
           <xs:element name="valueInstant" type="instant"/>
           <xs:element name="valueInteger" type="integer"/>
           <xs:element name="valueInteger64" type="integer64"/>
           <xs:element name="valueMarkdown" type="markdown"/>
           <xs:element name="valueOid" type="oid"/>
           <xs:element name="valuePositiveInt" type="positiveInt"/>
           <xs:element name="valueString" type="string"/>
           <xs:element name="valueTime" type="time"/>
           <xs:element name="valueUnsignedInt" type="unsignedInt"/>
           <xs:element name="valueUri" type="uri"/>
           <xs:element name="valueUrl" type="url"/>
           <xs:element name="valueUuid" type="uuid"/>
           <xs:element name="valueAddress" type="Address"/>
           <xs:element name="valueAge" type="Age"/>
           <xs:element name="valueAnnotation" type="Annotation"/>
           <xs:element name="valueAttachment" type="Attachment"/>
           <xs:element name="valueCodeableConcept" type="CodeableConcept"/>
           <xs:element name="valueCodeableReference" type="CodeableReference"/>
           <xs:element name="valueCoding" type="Coding"/>
           <xs:element name="valueContactPoint" type="ContactPoint"/>
           <xs:element name="valueCount" type="Count"/>
           <xs:element name="valueDistance" type="Distance"/>
           <xs:element name="valueDuration" type="Duration"/>
           <xs:element name="valueHumanName" type="HumanName"/>
           <xs:element name="valueIdentifier" type="Identifier"/>
           <xs:element name="valueMoney" type="Money"/>
           <xs:element name="valuePeriod" type="Period"/>
           <xs:element name="valueQuantity" type="Quantity"/>
           <xs:element name="valueRange" type="Range"/>
           <xs:element name="valueRatio" type="Ratio"/>
           <xs:element name="valueRatioRange" type="RatioRange"/>
           <xs:element name="valueReference" type="Reference"/>
           <xs:element name="valueSampledData" type="SampledData"/>
           <xs:element name="valueSignature" type="Signature"/>
           <xs:element name="valueTiming" type="Timing"/>
           <xs:element name="valueContactDetail" type="ContactDetail"/>
           <xs:element name="valueDataRequirement" type="DataRequirement"/>
           <xs:element name="valueExpression" type="Expression"/>
           <xs:element name="valueParameterDefinition" type="ParameterDefinition"/>
           <xs:element name="valueRelatedArtifact" type="RelatedArtifact"/>
           <xs:element name="valueTriggerDefinition" type="TriggerDefinition"/>
           <xs:element name="valueUsageContext" type="UsageContext"/>
           <xs:element name="valueAvailability" type="Availability"/>
           <xs:element name="valueExtendedContactDetail" type="ExtendedContactDetail"/>
           <xs:element name="valueVirtualServiceDetail" type="VirtualServiceDetail"/>
           <xs:element name="valueDosage" type="Dosage"/>
           <xs:element name="valueMeta" type="Meta"/>
         </xs:choice>
        </xs:sequence>
        <xs:attribute name="url" type="uri-primitive" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="BackboneElement">
    <xs:annotation>
      <xs:documentation xml:lang="en">Base definition for all elements that are defined inside a resource - but not those in a data type.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:sequence>
          <xs:element name="modifierExtension" type="Extension" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Narrative">
    <xs:annotation>
      <xs:documentation xml:lang="en">A human-readable summary of the resource conveying the essential clinical and business information for the resource.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="status" type="NarrativeStatus" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The status of the narrative - whether it's entirely generated (from just the defined data or the extensions too), or whether a human authored it and it may contain additional data.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element ref="xhtml:div" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The actual narrative content, a stripped down version of XHTML.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="NarrativeStatusEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="generated">
        <xs:annotation>
          <xs:documentation xml:lang="en">Generated</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="extensions">
        <xs:annotation>
          <xs:documentation xml:lang="en">Extensions</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="additional">
        <xs:annotation>
          <xs:documentation xml:lang="en">Additional</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="empty">
        <xs:annotation>
          <xs:documentation xml:lang="en">Empty</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="NarrativeStatus">
    <xs:annotation>
      <xs:documentation xml:lang="en">The status of a resource narrative.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="NarrativeStatusEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Element">
    <xs:annotation>
      <xs:documentation xml:lang="en">Base definition for all elements in a resource.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Base">
        <xs:sequence>
          <xs:element name="extension" type="Extension" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="id" type="string-primitive" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DataType">
    <xs:annotation>
      <xs:documentation xml:lang="en">The base class for all re-useable types defined as part of the FHIR Specification.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:sequence>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PrimitiveType">
    <xs:annotation>
      <xs:documentation xml:lang="en">The base type for all re-useable types defined that have a simple property.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="BackboneType">
    <xs:annotation>
      <xs:documentation xml:lang="en">Base definition for the few data types that are allowed to carry modifier extensions.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="modifierExtension" type="Extension" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Base">
    <xs:annotation>
      <xs:documentation xml:lang="en">Base definition for all types defined in FHIR type system.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
        <xs:sequence>
        </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Meta">
    <xs:annotation>
      <xs:documentation xml:lang="en">The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="versionId" type="id" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="lastUpdated" type="instant" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">When the resource last changed - e.g. when the version changed.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="source" type="uri" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A uri that identifies the data source of the resource. This provides a minimal amount of [[[Provenance]]] information that can be used to track or differentiate the source of information in the resource. The source may identify another server, document, message, database, etc.  It can also refer to portions of a structure, such as a section, segment, row, etc.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="profile" type="canonical" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">A list of profiles (references to [[[StructureDefinition]]] resources) that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]].</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="security" type="Coding" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="tag" type="Coding" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Address">
    <xs:annotation>
      <xs:documentation xml:lang="en">An address expressed using postal conventions (as opposed to GPS or other location definition formats).  This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery.  There are a variety of postal address formats defined around the world.
The ISO21090-codedString may be used to provide a coded representation of the contents of strings in an Address.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="use" type="AddressUse" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The purpose of this address.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="type" type="AddressType" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Distinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="text" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Specifies the entire address as it should be displayed e.g. on a postal label, using a newline delimiter for each line (e.g., \n). This may be provided instead of or as well as the specific parts.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="line" type="string" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">This component contains the house number, apartment number, street name, street direction,  P.O. Box number, delivery hints, and similar address information.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="city" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The name of the city, town, suburb, village or other community or delivery center.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="district" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The name of the administrative area (county).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="state" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (e.g. US 2 letter state codes).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="postalCode" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A postal code designating a region defined by the postal service.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="country" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Country - a nation as commonly understood or generally accepted.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="period" type="Period" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Time period when address was/is in use.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AddressUseEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="home">
        <xs:annotation>
          <xs:documentation xml:lang="en">Home</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="work">
        <xs:annotation>
          <xs:documentation xml:lang="en">Work</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="temp">
        <xs:annotation>
          <xs:documentation xml:lang="en">Temporary</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="old">
        <xs:annotation>
          <xs:documentation xml:lang="en">Old / Incorrect</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="billing">
        <xs:annotation>
          <xs:documentation xml:lang="en">Billing</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AddressUse">
    <xs:annotation>
      <xs:documentation xml:lang="en">The use of an address.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="AddressUseEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AddressTypeEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="postal">
        <xs:annotation>
          <xs:documentation xml:lang="en">Postal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="physical">
        <xs:annotation>
          <xs:documentation xml:lang="en">Physical</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="both">
        <xs:annotation>
          <xs:documentation xml:lang="en">Postal &amp; Physical</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AddressType">
    <xs:annotation>
      <xs:documentation xml:lang="en">The type of an address (physical / postal).</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="AddressTypeEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Attachment">
    <xs:annotation>
      <xs:documentation xml:lang="en">For referring to data content defined in other formats.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="contentType" type="code" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Identifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriate.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="language" type="code" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The human language of the content. The value can be any valid value according to BCP 47.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="data" type="base64Binary" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The actual data of the attachment - a sequence of bytes, base64 encoded.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="url" type="url" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A location where the data can be accessed.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="size" type="integer64" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The number of bytes of data that make up this attachment (before base64 encoding, if that is done).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="hash" type="base64Binary" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The calculated hash of the data using SHA-1. Represented using base64.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="title" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A label or set of text to display in place of the data.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="creation" type="dateTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The date that the attachment was first created.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="height" type="positiveInt" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Height of the image in pixels (photo/video).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="width" type="positiveInt" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Width of the image in pixels (photo/video).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="frames" type="positiveInt" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is required.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="duration" type="decimal" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The duration of the recording in seconds - for audio and video.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="pages" type="positiveInt" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The number of pages when printed.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Count">
    <xs:annotation>
      <xs:documentation xml:lang="en">A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Quantity">
        <xs:sequence>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DataRequirement">
    <xs:annotation>
      <xs:documentation xml:lang="en">Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="type" type="code" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profile.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="profile" type="canonical" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">The profile of the required data, specified as the uri of the profile definition.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:choice minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The intended subjects of the data requirement. If this element is not provided, a Patient subject is assumed.</xs:documentation>
            </xs:annotation>
           <xs:element name="subjectCodeableConcept" type="CodeableConcept"  maxOccurs="1"/>
           <xs:element name="subjectReference" type="Reference"  maxOccurs="1"/>
          </xs:choice>
          <xs:element name="mustSupport" type="string" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available. 

The value of mustSupport SHALL be a FHIRPath resolvable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="codeFilter" type="DataRequirement.CodeFilter" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the data. Each code filter defines an additional constraint on the data, i.e. code filters are AND'ed, not OR'ed.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="dateFilter" type="DataRequirement.DateFilter" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="valueFilter" type="DataRequirement.ValueFilter" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Value filters specify additional constraints on the data for elements other than code-valued or date-valued. Each value filter specifies an additional constraint on the data (i.e. valueFilters are AND'ed, not OR'ed).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="limit" type="positiveInt" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Specifies a maximum number of results that are required (uses the _count search parameter).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="sort" type="DataRequirement.Sort" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Specifies the order of the results to be returned.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DataRequirement.CodeFilter">
    <xs:annotation>
      <xs:documentation xml:lang="en">Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="path" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The code-valued attribute of the filter. The specified path SHALL be a FHIRPath resolvable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of type code, Coding, or CodeableConcept.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="searchParam" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A token parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type code, Coding, or CodeableConcept.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="valueSet" type="canonical" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The valueset for the code filter. The valueSet and code elements are additive. If valueSet is specified, the filter will return only those data items for which the value of the code-valued element specified in the path is a member of the specified valueset.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="code" type="Coding" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">The codes for the code filter. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified codes. If codes are specified in addition to a value set, the filter returns items matching a code in the value set or one of the specified codes.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DataRequirement.ValueFilter">
    <xs:annotation>
      <xs:documentation xml:lang="en">Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="path" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The attribute of the filter. The specified path SHALL be a FHIRPath resolvable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of a type that is comparable to the valueFilter.value[x] element for the filter.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="searchParam" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A search parameter defined on the specified type of the DataRequirement, and which searches on elements of a type compatible with the type of the valueFilter.value[x] for the filter.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="comparator" type="code" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The comparator to be used to determine whether the value is matching.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:choice minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The value of the filter.</xs:documentation>
            </xs:annotation>
           <xs:element name="valueDateTime" type="dateTime"  maxOccurs="1"/>
           <xs:element name="valuePeriod" type="Period"  maxOccurs="1"/>
           <xs:element name="valueDuration" type="Duration"  maxOccurs="1"/>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DataRequirement.DateFilter">
    <xs:annotation>
      <xs:documentation xml:lang="en">Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="path" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The date-valued attribute of the filter. The specified path SHALL be a FHIRPath resolvable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of type date, dateTime, Period, Schedule, or Timing.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="searchParam" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A date parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type date, dateTime, Period, Schedule, or Timing.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:choice minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration before now.</xs:documentation>
            </xs:annotation>
           <xs:element name="valueDateTime" type="dateTime"  maxOccurs="1"/>
           <xs:element name="valuePeriod" type="Period"  maxOccurs="1"/>
           <xs:element name="valueDuration" type="Duration"  maxOccurs="1"/>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DataRequirement.Sort">
    <xs:annotation>
      <xs:documentation xml:lang="en">Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="path" type="string" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The attribute of the sort. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="direction" type="SortDirection" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The direction of the sort, ascending or descending.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="SortDirectionEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="ascending">
        <xs:annotation>
          <xs:documentation xml:lang="en">Ascending</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="descending">
        <xs:annotation>
          <xs:documentation xml:lang="en">Descending</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SortDirection">
    <xs:annotation>
      <xs:documentation xml:lang="en">The possible sort directions, ascending or descending.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="SortDirectionEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Dosage">
    <xs:annotation>
      <xs:documentation xml:lang="en">Indicates how the medication is/was taken or should be taken by the patient.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="condition" type="DosageCondition" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Whether the dosage applies (e.g. as a whole). The Disage applies if any of the conditions are true.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="text" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Free text dosage instructions e.g. SIG.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="additionalInstruction" type="CodeableConcept" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Supplemental instructions to the patient on how to take the medication  (e.g. &quot;with meals&quot; or&quot;take half to one hour before food&quot;) or warnings for the patient about the medication (e.g. &quot;may cause drowsiness&quot; or &quot;avoid exposure of skin to direct sunlight or sunlamps&quot;).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="patientInstruction" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Instructions in terms that are understood by the patient or consumer.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="timing" type="Timing" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">When medication should be administered.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="asNeeded" type="boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="asNeededFor" type="CodeableConcept" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates whether the Medication is only taken based on a precondition for taking the Medication (CodeableConcept).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="site" type="CodeableReference_BodyStructure" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Body site to administer to.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="route" type="CodeableConcept" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">How drug should enter body.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="method" type="CodeableConcept" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Technique for administering medication.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="doseAndRate" type="Dosage.DoseAndRate" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Depending on the resource,this is the amount of medication administered, to  be administered or typical amount to be administered.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="safety" type="DosageSafety" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Safety Information about the this dosage instructions.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Dosage.DoseAndRate">
    <xs:annotation>
      <xs:documentation xml:lang="en">Indicates how the medication is/was taken or should be taken by the patient.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="type" type="CodeableConcept" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The kind of dose or rate specified, for example, ordered or calculated.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:choice minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Amount of medication per dose.</xs:documentation>
            </xs:annotation>
           <xs:element name="doseRange" type="Range"  maxOccurs="1"/>
           <xs:element name="doseQuantity" type="Quantity"  maxOccurs="1"/>
           <xs:element name="doseExpression" type="Expression"  maxOccurs="1"/>
          </xs:choice>
          <xs:choice minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Amount of medication per unit of time.</xs:documentation>
            </xs:annotation>
           <xs:element name="rateRatio" type="Ratio"  maxOccurs="1"/>
           <xs:element name="rateRange" type="Range"  maxOccurs="1"/>
           <xs:element name="rateQuantity" type="Quantity"  maxOccurs="1"/>
           <xs:element name="rateExpression" type="Expression"  maxOccurs="1"/>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="RelativeTime">
    <xs:annotation>
      <xs:documentation xml:lang="en">RelativeTime expresses a time or time period as relative to the time of an event defined in data types other than dateTime.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="contextReference" type="Reference" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The specific event occurrence or resource context used as a base point (reference point) in time.  This establishes the context in which the 'path' is evaluated.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="contextDefinition" type="canonical" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The type of event used as a base point.  Instances of this definition will establish the context for evaluating the path to determine the base time for the offset.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="contextPath" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Path to the element defining the basis for the relative time. Any valid FHIRPath expression.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="contextCode" type="CodeableConcept" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Coded representation of the event used as a base point (reference point) in time.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:choice minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">An offset or offset range before (negative values) or after (positive values) the event. Range is limited to time-valued quantities (Durations).</xs:documentation>
            </xs:annotation>
           <xs:element name="offsetDuration" type="Duration"  maxOccurs="1"/>
           <xs:element name="offsetRange" type="Range"  maxOccurs="1"/>
          </xs:choice>
          <xs:element name="text" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Free-text (human-readable) description.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MonetaryComponent">
    <xs:annotation>
      <xs:documentation xml:lang="en">Financial line items use this datatype to commonly categorize the value, and other factors that may effect how the value should be interpreted.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="type" type="code" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The type of monetary component, what the value is to be used for and how that should be applied in its context. e.g. A surchange would increase the cost, a deduction would reduce the cost.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="code" type="CodeableConcept" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A codable breakdown of the type of monetary component. e.g. State Tax, Federal Tax, VIP-Discount.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="factor" type="decimal" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The factor that has been applied to the base price (in another monetary component value) when performing calculations.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="amount" type="Money" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The explicit value amount of the component (based on type/code).</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Money">
    <xs:annotation>
      <xs:documentation xml:lang="en">An amount of economic utility in some recognized currency.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="value" type="decimal" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Numerical value (with implicit precision).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="currency" type="code" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">ISO 4217 Currency Code.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="HumanName">
    <xs:annotation>
      <xs:documentation xml:lang="en">A name, normally of a human, that can be used for other living entities (e.g. animals but not organizations) that have been assigned names by a human and may need the use of name parts or the need for usage information.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="use" type="NameUse" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Identifies the purpose for this name.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="text" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Specifies the entire name as it should be displayed e.g. on an application UI. This may be provided instead of or as well as the specific parts.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="family" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="given" type="string" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Given name.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="prefix" type="string" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="suffix" type="string" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="period" type="Period" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates the period of time when this name was valid for the named person.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="NameUseEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="usual">
        <xs:annotation>
          <xs:documentation xml:lang="en">Usual</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="official">
        <xs:annotation>
          <xs:documentation xml:lang="en">Official</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="temp">
        <xs:annotation>
          <xs:documentation xml:lang="en">Temp</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nickname">
        <xs:annotation>
          <xs:documentation xml:lang="en">Nickname</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="anonymous">
        <xs:annotation>
          <xs:documentation xml:lang="en">Anonymous</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="old">
        <xs:annotation>
          <xs:documentation xml:lang="en">Old</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="maiden">
        <xs:annotation>
          <xs:documentation xml:lang="en">Name changed for Marriage</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="NameUse">
    <xs:annotation>
      <xs:documentation xml:lang="en">The use of a human name.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="NameUseEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ContactPoint">
    <xs:annotation>
      <xs:documentation xml:lang="en">Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="system" type="ContactPointSystem" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Telecommunications form for contact point - what communications system is required to make use of the contact.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="value" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="use" type="ContactPointUse" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Identifies the purpose for the contact point.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="rank" type="positiveInt" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Specifies a preferred order in which to use a set of contacts. ContactPoints with lower rank values are more preferred than those with higher rank values.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="period" type="Period" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Time period when the contact point was/is in use.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ContactPointSystemEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="phone">
        <xs:annotation>
          <xs:documentation xml:lang="en">Phone</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fax">
        <xs:annotation>
          <xs:documentation xml:lang="en">Fax</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="email">
        <xs:annotation>
          <xs:documentation xml:lang="en">Email</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pager">
        <xs:annotation>
          <xs:documentation xml:lang="en">Pager</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="url">
        <xs:annotation>
          <xs:documentation xml:lang="en">URL</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sms">
        <xs:annotation>
          <xs:documentation xml:lang="en">SMS</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation xml:lang="en">Other</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ContactPointSystem">
    <xs:annotation>
      <xs:documentation xml:lang="en">Telecommunications form for contact point.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="ContactPointSystemEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ContactPointUseEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="home">
        <xs:annotation>
          <xs:documentation xml:lang="en">Home</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="work">
        <xs:annotation>
          <xs:documentation xml:lang="en">Work</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="temp">
        <xs:annotation>
          <xs:documentation xml:lang="en">Temp</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="old">
        <xs:annotation>
          <xs:documentation xml:lang="en">Old</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mobile">
        <xs:annotation>
          <xs:documentation xml:lang="en">Mobile</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ContactPointUse">
    <xs:annotation>
      <xs:documentation xml:lang="en">Use of contact point.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="ContactPointUseEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MarketingStatus">
    <xs:annotation>
      <xs:documentation xml:lang="en">The marketing status describes the date when an item is actually put on the market or the date as of which it is no longer available.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="country" type="CodeableConcept" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The country in which the marketing status applies.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="jurisdiction" type="CodeableConcept" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The jurisdiction in which the marketing status applies.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="status" type="CodeableConcept" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">This attribute provides information on the status of the marketing of the item.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="dateRange" type="Period" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The dates that the item is made available on the market by the owner (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction. Note that “on the market” refers to the release of the item into the distribution chain.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="restoreDate" type="dateTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The date when the item is due to be placed back on the market by the owner, manufacturer or distributor, after a suspension.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Identifier">
    <xs:annotation>
      <xs:documentation xml:lang="en">An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="use" type="IdentifierUse" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The purpose of this identifier.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="type" type="CodeableConcept" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="system" type="uri" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Establishes the namespace for the value - that is, an absolute URL that describes a set values that are unique.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="value" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The portion of the identifier typically relevant to the user and which is unique within the context of the system.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="period" type="Period" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Time period during which identifier is/was valid for use.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="assigner" type="Reference" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Organization that issued/manages the identifier.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="IdentifierUseEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="usual">
        <xs:annotation>
          <xs:documentation xml:lang="en">Usual</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="official">
        <xs:annotation>
          <xs:documentation xml:lang="en">Official</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="temp">
        <xs:annotation>
          <xs:documentation xml:lang="en">Temp</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="secondary">
        <xs:annotation>
          <xs:documentation xml:lang="en">Secondary</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="old">
        <xs:annotation>
          <xs:documentation xml:lang="en">Old</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="IdentifierUse">
    <xs:annotation>
      <xs:documentation xml:lang="en">Identifies the purpose for this identifier, if known .</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="IdentifierUseEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="RatioRange">
    <xs:annotation>
      <xs:documentation xml:lang="en">A range of ratios expressed as a low and high numerator and a denominator.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="lowNumerator" type="Quantity" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The value of the low limit numerator.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="highNumerator" type="Quantity" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The value of the high limit numerator.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="denominator" type="Quantity" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The value of the denominator.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Coding">
    <xs:annotation>
      <xs:documentation xml:lang="en">A reference to a code defined by a terminology system.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="system" type="uri" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The identification of the code system that defines the meaning of the symbol in the code.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="version" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="code" type="code" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="display" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A representation of the meaning of the code in the system, following the rules of the system.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="userSelected" type="boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DosageSafety">
    <xs:annotation>
      <xs:documentation xml:lang="en">Safety Details about the usage of the medication.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="doseLimit" type="DosageSafety.DoseLimit" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">A dose limit for safe use of the medication.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="ifExceeded" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">What to do if the instructions lead to exceeding the dose limits.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DosageSafety.DoseLimit">
    <xs:annotation>
      <xs:documentation xml:lang="en">Safety Details about the usage of the medication.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:choice minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Quantity that is safe to use.</xs:documentation>
            </xs:annotation>
           <xs:element name="valueInteger" type="integer"  maxOccurs="1"/>
           <xs:element name="valueQuantity" type="Quantity"  maxOccurs="1"/>
           <xs:element name="valueExpression" type="Expression"  maxOccurs="1"/>
          </xs:choice>
          <xs:element name="scope" type="code" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">dosage | period | administration | lifetime - The scope of the dose limitation.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="period" type="Duration" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The period over which the quantity is safe to use (if scope = period).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="text" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Additional notes about the dose limit.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SampledData">
    <xs:annotation>
      <xs:documentation xml:lang="en">A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="origin" type="Quantity" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The base quantity that a measured value of zero represents. In addition, this provides the units of the entire measurement series.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="interval" type="decimal" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Amount of intervalUnits between samples, e.g. milliseconds for time-based sampling.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="intervalUnit" type="code" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The measurement unit in which the sample interval is expressed.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="factor" type="decimal" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A correction factor that is applied to the sampled data points before they are added to the origin.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="lowerLimit" type="decimal" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The lower limit of detection of the measured points. This is needed if any of the data points have the value &quot;L&quot; (lower than detection limit).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="upperLimit" type="decimal" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The upper limit of detection of the measured points. This is needed if any of the data points have the value &quot;U&quot; (higher than detection limit).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="dimensions" type="positiveInt" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The number of sample points at each time point. If this value is greater than one, then the dimensions will be interlaced - all the sample points for a point in time will be recorded at once.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="codeMap" type="canonical" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Reference to ConceptMap that defines the codes used in the data.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="offsets" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A series of increasing decimal values separated by a single space (character u20), which represent the offset from the logical start point. Offset values may be negative. The units in which the offsets are expressed are found in intervalUnit.  The absolute point at which the measurements begin SHALL be conveyed outside the scope of this datatype, e.g. Observation.effectiveDateTime for a timing offset.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="data" type="SampledDataDataType" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A series of data points which are decimal values or codes separated by a single space (character u20). The special codes &quot;E&quot; (error), &quot;L&quot; (below detection limit) and &quot;U&quot; (above detection limit) are also defined for used in place of decimal values.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="SampledDataDataType-primitive">
     <xs:restriction base="xs:string">
      <xs:pattern value="((-{0,1}\d*\.{0,1}\d+)|[EUL])( ((-{0,1}\d*\.{0,1}\d+)|[EUL]))*"/>
    </xs:restriction>
  </xs:simpleType>
    <xs:complexType name="SampledDataDataType">
      <xs:complexContent>
        <xs:extension base="Element">
          <xs:attribute name="value" type="SampledDataDataType-primitive" use="optional"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>

  <xs:complexType name="Ratio">
    <xs:annotation>
      <xs:documentation xml:lang="en">A relationship of two Quantity values - expressed as a numerator and a denominator.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="numerator" type="Quantity" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The value of the numerator.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="denominator" type="Quantity" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The value of the denominator.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ElementDefinition">
    <xs:annotation>
      <xs:documentation xml:lang="en">Captures constraints on each element within the resource, profile, or extension.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="path" type="string" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The path identifies the element and is expressed as a &quot;.&quot;-separated list of ancestor elements, beginning with the name of the resource or extension.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="representation" type="PropertyRepresentation" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Codes that define how this element is represented in instances, when the deviation varies from the normal case. No extensions are allowed on elements with a representation of 'xmlAttr', no matter what FHIR serialization format is used.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="sliceName" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The name of this element definition slice, when slicing is working. The name must be a token with no dots or spaces. This is a unique name referring to a specific set of constraints applied to this element, used to provide a name to different slices of the same element.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="sliceIsConstraining" type="boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">If true, indicates that this slice definition is constraining a slice definition with the same name in an inherited profile. If false, the slice is not overriding any slice in an inherited profile. If missing, the slice might or might not be overriding a slice in an inherited profile, depending on the sliceName.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="label" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A single preferred label which is the text to display beside the element indicating its meaning or to use to prompt for the element in a user display or form.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="code" type="Coding" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">A code that has the same meaning as the element in a particular terminology.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="slicing" type="ElementDefinition.Slicing" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates that the element is sliced into a set of alternative definitions (i.e. in a structure definition, there are multiple different constraints on a single element in the base resource). Slicing can be used in any resource that has cardinality ..* on the base resource, or any resource with a choice of types. The set of slices is any elements that come after this in the element sequence that have the same path, until a shorter path occurs (the shorter path terminates the set).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="short" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A concise description of what this element means (e.g. for use in autogenerated summaries).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="definition" type="markdown" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Provides a complete explanation of the meaning of the data element for human readability.  For the case of elements derived from existing elements (e.g. constraints), the definition SHALL be consistent with the base definition, but convey the meaning of the element in the particular context of use of the resource. (Note: The text you are reading is specified in ElementDefinition.definition).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="comment" type="markdown" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Explanatory notes and implementation guidance about the data element, including notes about how to use the data properly, exceptions to proper use, etc. (Note: The text you are reading is specified in ElementDefinition.comment).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="requirements" type="markdown" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">This element is for traceability of why the element was created and why the constraints exist as they do. This may be used to point to source materials or specifications that drove the structure of this element.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="alias" type="string" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Identifies additional names by which this element might also be known.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="min" type="unsignedInt" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The minimum number of times this element SHALL appear in the instance.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="max" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The maximum number of times this element is permitted to appear in the instance.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="base" type="ElementDefinition.Base" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Information about the base definition of the element, provided to make it unnecessary for tools to trace the deviation of the element through the derived and related profiles. When the element definition is not the original definition of an element - e.g. either in a constraint on another type, or for elements from a super type in a snap shot - then the information in provided in the element definition may be different to the base definition. On the original definition of the element, it will be same.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="contentReference" type="uri" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Identifies an element defined elsewhere in the definition whose content rules should be applied to the current element. ContentReferences bring across all the rules that are in the ElementDefinition for the element, including definitions, cardinality constraints, bindings, invariants etc.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="type" type="ElementDefinition.Type" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">The data type or resource that the value of this element is permitted to be.</xs:documentation>
            </xs:annotation>
          </xs:element>
        <xs:choice minOccurs="0" maxOccurs="1">
           <xs:annotation>
             <xs:documentation xml:lang="en">The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').</xs:documentation>
           </xs:annotation>
           <xs:element name="defaultValueBase64Binary" type="base64Binary"/>
           <xs:element name="defaultValueBoolean" type="boolean"/>
           <xs:element name="defaultValueCanonical" type="canonical"/>
           <xs:element name="defaultValueCode" type="code"/>
           <xs:element name="defaultValueDate" type="date"/>
           <xs:element name="defaultValueDateTime" type="dateTime"/>
           <xs:element name="defaultValueDecimal" type="decimal"/>
           <xs:element name="defaultValueId" type="id"/>
           <xs:element name="defaultValueInstant" type="instant"/>
           <xs:element name="defaultValueInteger" type="integer"/>
           <xs:element name="defaultValueInteger64" type="integer64"/>
           <xs:element name="defaultValueMarkdown" type="markdown"/>
           <xs:element name="defaultValueOid" type="oid"/>
           <xs:element name="defaultValuePositiveInt" type="positiveInt"/>
           <xs:element name="defaultValueString" type="string"/>
           <xs:element name="defaultValueTime" type="time"/>
           <xs:element name="defaultValueUnsignedInt" type="unsignedInt"/>
           <xs:element name="defaultValueUri" type="uri"/>
           <xs:element name="defaultValueUrl" type="url"/>
           <xs:element name="defaultValueUuid" type="uuid"/>
           <xs:element name="defaultValueAddress" type="Address"/>
           <xs:element name="defaultValueAge" type="Age"/>
           <xs:element name="defaultValueAnnotation" type="Annotation"/>
           <xs:element name="defaultValueAttachment" type="Attachment"/>
           <xs:element name="defaultValueCodeableConcept" type="CodeableConcept"/>
           <xs:element name="defaultValueCodeableReference" type="CodeableReference"/>
           <xs:element name="defaultValueCoding" type="Coding"/>
           <xs:element name="defaultValueContactPoint" type="ContactPoint"/>
           <xs:element name="defaultValueCount" type="Count"/>
           <xs:element name="defaultValueDistance" type="Distance"/>
           <xs:element name="defaultValueDuration" type="Duration"/>
           <xs:element name="defaultValueHumanName" type="HumanName"/>
           <xs:element name="defaultValueIdentifier" type="Identifier"/>
           <xs:element name="defaultValueMoney" type="Money"/>
           <xs:element name="defaultValuePeriod" type="Period"/>
           <xs:element name="defaultValueQuantity" type="Quantity"/>
           <xs:element name="defaultValueRange" type="Range"/>
           <xs:element name="defaultValueRatio" type="Ratio"/>
           <xs:element name="defaultValueRatioRange" type="RatioRange"/>
           <xs:element name="defaultValueReference" type="Reference"/>
           <xs:element name="defaultValueSampledData" type="SampledData"/>
           <xs:element name="defaultValueSignature" type="Signature"/>
           <xs:element name="defaultValueTiming" type="Timing"/>
           <xs:element name="defaultValueContactDetail" type="ContactDetail"/>
           <xs:element name="defaultValueDataRequirement" type="DataRequirement"/>
           <xs:element name="defaultValueExpression" type="Expression"/>
           <xs:element name="defaultValueParameterDefinition" type="ParameterDefinition"/>
           <xs:element name="defaultValueRelatedArtifact" type="RelatedArtifact"/>
           <xs:element name="defaultValueTriggerDefinition" type="TriggerDefinition"/>
           <xs:element name="defaultValueUsageContext" type="UsageContext"/>
           <xs:element name="defaultValueAvailability" type="Availability"/>
           <xs:element name="defaultValueExtendedContactDetail" type="ExtendedContactDetail"/>
           <xs:element name="defaultValueVirtualServiceDetail" type="VirtualServiceDetail"/>
           <xs:element name="defaultValueDosage" type="Dosage"/>
           <xs:element name="defaultValueMeta" type="Meta"/>
         </xs:choice>
          <xs:element name="meaningWhenMissing" type="markdown" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The Implicit meaning that is to be understood when this element is missing (e.g. 'when this element is missing, the period is ongoing').</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="orderMeaning" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">If present, indicates that the order of the repeating element has meaning and describes what that meaning is.  If absent, it means that the order of the element has no meaning.</xs:documentation>
            </xs:annotation>
          </xs:element>
        <xs:choice minOccurs="0" maxOccurs="1">
           <xs:annotation>
             <xs:documentation xml:lang="en">Specifies a value that SHALL be exactly the value  for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.</xs:documentation>
           </xs:annotation>
           <xs:element name="fixedBase64Binary" type="base64Binary"/>
           <xs:element name="fixedBoolean" type="boolean"/>
           <xs:element name="fixedCanonical" type="canonical"/>
           <xs:element name="fixedCode" type="code"/>
           <xs:element name="fixedDate" type="date"/>
           <xs:element name="fixedDateTime" type="dateTime"/>
           <xs:element name="fixedDecimal" type="decimal"/>
           <xs:element name="fixedId" type="id"/>
           <xs:element name="fixedInstant" type="instant"/>
           <xs:element name="fixedInteger" type="integer"/>
           <xs:element name="fixedInteger64" type="integer64"/>
           <xs:element name="fixedMarkdown" type="markdown"/>
           <xs:element name="fixedOid" type="oid"/>
           <xs:element name="fixedPositiveInt" type="positiveInt"/>
           <xs:element name="fixedString" type="string"/>
           <xs:element name="fixedTime" type="time"/>
           <xs:element name="fixedUnsignedInt" type="unsignedInt"/>
           <xs:element name="fixedUri" type="uri"/>
           <xs:element name="fixedUrl" type="url"/>
           <xs:element name="fixedUuid" type="uuid"/>
           <xs:element name="fixedAddress" type="Address"/>
           <xs:element name="fixedAge" type="Age"/>
           <xs:element name="fixedAnnotation" type="Annotation"/>
           <xs:element name="fixedAttachment" type="Attachment"/>
           <xs:element name="fixedCodeableConcept" type="CodeableConcept"/>
           <xs:element name="fixedCodeableReference" type="CodeableReference"/>
           <xs:element name="fixedCoding" type="Coding"/>
           <xs:element name="fixedContactPoint" type="ContactPoint"/>
           <xs:element name="fixedCount" type="Count"/>
           <xs:element name="fixedDistance" type="Distance"/>
           <xs:element name="fixedDuration" type="Duration"/>
           <xs:element name="fixedHumanName" type="HumanName"/>
           <xs:element name="fixedIdentifier" type="Identifier"/>
           <xs:element name="fixedMoney" type="Money"/>
           <xs:element name="fixedPeriod" type="Period"/>
           <xs:element name="fixedQuantity" type="Quantity"/>
           <xs:element name="fixedRange" type="Range"/>
           <xs:element name="fixedRatio" type="Ratio"/>
           <xs:element name="fixedRatioRange" type="RatioRange"/>
           <xs:element name="fixedReference" type="Reference"/>
           <xs:element name="fixedSampledData" type="SampledData"/>
           <xs:element name="fixedSignature" type="Signature"/>
           <xs:element name="fixedTiming" type="Timing"/>
           <xs:element name="fixedContactDetail" type="ContactDetail"/>
           <xs:element name="fixedDataRequirement" type="DataRequirement"/>
           <xs:element name="fixedExpression" type="Expression"/>
           <xs:element name="fixedParameterDefinition" type="ParameterDefinition"/>
           <xs:element name="fixedRelatedArtifact" type="RelatedArtifact"/>
           <xs:element name="fixedTriggerDefinition" type="TriggerDefinition"/>
           <xs:element name="fixedUsageContext" type="UsageContext"/>
           <xs:element name="fixedAvailability" type="Availability"/>
           <xs:element name="fixedExtendedContactDetail" type="ExtendedContactDetail"/>
           <xs:element name="fixedVirtualServiceDetail" type="VirtualServiceDetail"/>
           <xs:element name="fixedDosage" type="Dosage"/>
           <xs:element name="fixedMeta" type="Meta"/>
         </xs:choice>
        <xs:choice minOccurs="0" maxOccurs="1">
           <xs:annotation>
             <xs:documentation xml:lang="en">Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example.  

When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.

When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.

When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,

1. If primitive: it must match exactly the pattern value
2. If a complex object: it must match (recursively) the pattern value
3. If an array: it must match (recursively) the pattern value

If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions.  If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.</xs:documentation>
           </xs:annotation>
           <xs:element name="patternBase64Binary" type="base64Binary"/>
           <xs:element name="patternBoolean" type="boolean"/>
           <xs:element name="patternCanonical" type="canonical"/>
           <xs:element name="patternCode" type="code"/>
           <xs:element name="patternDate" type="date"/>
           <xs:element name="patternDateTime" type="dateTime"/>
           <xs:element name="patternDecimal" type="decimal"/>
           <xs:element name="patternId" type="id"/>
           <xs:element name="patternInstant" type="instant"/>
           <xs:element name="patternInteger" type="integer"/>
           <xs:element name="patternInteger64" type="integer64"/>
           <xs:element name="patternMarkdown" type="markdown"/>
           <xs:element name="patternOid" type="oid"/>
           <xs:element name="patternPositiveInt" type="positiveInt"/>
           <xs:element name="patternString" type="string"/>
           <xs:element name="patternTime" type="time"/>
           <xs:element name="patternUnsignedInt" type="unsignedInt"/>
           <xs:element name="patternUri" type="uri"/>
           <xs:element name="patternUrl" type="url"/>
           <xs:element name="patternUuid" type="uuid"/>
           <xs:element name="patternAddress" type="Address"/>
           <xs:element name="patternAge" type="Age"/>
           <xs:element name="patternAnnotation" type="Annotation"/>
           <xs:element name="patternAttachment" type="Attachment"/>
           <xs:element name="patternCodeableConcept" type="CodeableConcept"/>
           <xs:element name="patternCodeableReference" type="CodeableReference"/>
           <xs:element name="patternCoding" type="Coding"/>
           <xs:element name="patternContactPoint" type="ContactPoint"/>
           <xs:element name="patternCount" type="Count"/>
           <xs:element name="patternDistance" type="Distance"/>
           <xs:element name="patternDuration" type="Duration"/>
           <xs:element name="patternHumanName" type="HumanName"/>
           <xs:element name="patternIdentifier" type="Identifier"/>
           <xs:element name="patternMoney" type="Money"/>
           <xs:element name="patternPeriod" type="Period"/>
           <xs:element name="patternQuantity" type="Quantity"/>
           <xs:element name="patternRange" type="Range"/>
           <xs:element name="patternRatio" type="Ratio"/>
           <xs:element name="patternRatioRange" type="RatioRange"/>
           <xs:element name="patternReference" type="Reference"/>
           <xs:element name="patternSampledData" type="SampledData"/>
           <xs:element name="patternSignature" type="Signature"/>
           <xs:element name="patternTiming" type="Timing"/>
           <xs:element name="patternContactDetail" type="ContactDetail"/>
           <xs:element name="patternDataRequirement" type="DataRequirement"/>
           <xs:element name="patternExpression" type="Expression"/>
           <xs:element name="patternParameterDefinition" type="ParameterDefinition"/>
           <xs:element name="patternRelatedArtifact" type="RelatedArtifact"/>
           <xs:element name="patternTriggerDefinition" type="TriggerDefinition"/>
           <xs:element name="patternUsageContext" type="UsageContext"/>
           <xs:element name="patternAvailability" type="Availability"/>
           <xs:element name="patternExtendedContactDetail" type="ExtendedContactDetail"/>
           <xs:element name="patternVirtualServiceDetail" type="VirtualServiceDetail"/>
           <xs:element name="patternDosage" type="Dosage"/>
           <xs:element name="patternMeta" type="Meta"/>
         </xs:choice>
          <xs:element name="example" type="ElementDefinition.Example" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">A sample value for this element demonstrating the type of information that would typically be found in the element.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:choice minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.</xs:documentation>
            </xs:annotation>
           <xs:element name="minValueDate" type="date"  maxOccurs="1"/>
           <xs:element name="minValueDateTime" type="dateTime"  maxOccurs="1"/>
           <xs:element name="minValueInstant" type="instant"  maxOccurs="1"/>
           <xs:element name="minValueTime" type="time"  maxOccurs="1"/>
           <xs:element name="minValueDecimal" type="decimal"  maxOccurs="1"/>
           <xs:element name="minValueInteger" type="integer"  maxOccurs="1"/>
           <xs:element name="minValueInteger64" type="integer64"  maxOccurs="1"/>
           <xs:element name="minValuePositiveInt" type="positiveInt"  maxOccurs="1"/>
           <xs:element name="minValueUnsignedInt" type="unsignedInt"  maxOccurs="1"/>
           <xs:element name="minValueQuantity" type="Quantity"  maxOccurs="1"/>
          </xs:choice>
          <xs:choice minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.</xs:documentation>
            </xs:annotation>
           <xs:element name="maxValueDate" type="date"  maxOccurs="1"/>
           <xs:element name="maxValueDateTime" type="dateTime"  maxOccurs="1"/>
           <xs:element name="maxValueInstant" type="instant"  maxOccurs="1"/>
           <xs:element name="maxValueTime" type="time"  maxOccurs="1"/>
           <xs:element name="maxValueDecimal" type="decimal"  maxOccurs="1"/>
           <xs:element name="maxValueInteger" type="integer"  maxOccurs="1"/>
           <xs:element name="maxValueInteger64" type="integer64"  maxOccurs="1"/>
           <xs:element name="maxValuePositiveInt" type="positiveInt"  maxOccurs="1"/>
           <xs:element name="maxValueUnsignedInt" type="unsignedInt"  maxOccurs="1"/>
           <xs:element name="maxValueQuantity" type="Quantity"  maxOccurs="1"/>
          </xs:choice>
          <xs:element name="maxLength" type="integer" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element. ```maxLength``` SHOULD only be used on primitive data types that have a have a length (see [Tupe Characteristics](datatypes.html#other) and [[[http://hl7.org/fhir/StructureDefinition/structuredefinition-type-characteristics]]]).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="condition" type="id" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">A reference to an invariant that may make additional statements about the cardinality or value in the instance.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="constraint" type="ElementDefinition.Constraint" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="mustHaveValue" type="boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Specifies for a primitive data type that the value of the data type cannot be replaced by an extension.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="valueAlternatives" type="canonical" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Specifies a list of extensions that can appear in place of a primitive value.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="mustSupport" type="boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">If true, implementations that produce or consume resources SHALL provide &quot;support&quot; for the element in some meaningful way. Note that this is being phased out and replaced by obligations (see below).  If false, the element may be ignored and not supported. If false, whether to populate or use the data element in any way is at the discretion of the implementation.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="isModifier" type="boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">If true, the value of this element affects the interpretation of the element or resource that contains it, and the value of the element cannot be ignored. Typically, this is used for status, negation and qualification codes. The effect of this is that the element cannot be ignored by systems: they SHALL either recognize the element and process it, and/or a pre-determination has been made that it is not relevant to their particular system. When used on the root element in an extension definition, this indicates whether or not the extension is a modifier extension.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="isModifierReason" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Explains how that element affects the interpretation of the resource or element that contains it.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="isSummary" type="boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Whether the element should be included if a client requests a search with the parameter _summary=true.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="binding" type="ElementDefinition.Binding" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Binds to a value set if this element is coded (code, Coding, CodeableConcept, Quantity), or the data types (string, uri).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="mapping" type="ElementDefinition.Mapping" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Identifies a concept from an external specification that roughly corresponds to this element.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ElementDefinition.Constraint">
    <xs:annotation>
      <xs:documentation xml:lang="en">Captures constraints on each element within the resource, profile, or extension.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="key" type="id" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Allows identification of which elements have their cardinalities impacted by the constraint.  Will not be referenced for constraints that do not affect cardinality.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="requirements" type="markdown" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Description of why this constraint is necessary or appropriate.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="severity" type="ConstraintSeverity" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Identifies the impact constraint violation has on the conformance of the instance.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="suppress" type="boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">If true, indicates that the warning or best practice guideline should be suppressed.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="human" type="string" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Text that can be used to describe the constraint in messages identifying that the constraint has been violated.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="expression" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A [FHIRPath](fhirpath.html) expression of constraint that can be executed to see if this constraint is met.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="source" type="canonical" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A reference to the original source of the constraint, for traceability purposes.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ElementDefinition.Mapping">
    <xs:annotation>
      <xs:documentation xml:lang="en">Captures constraints on each element within the resource, profile, or extension.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="identity" type="id" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">An internal reference to the definition of a mapping.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="language" type="code" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Identifies the computable language in which mapping.map is expressed.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="map" type="string" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Expresses what part of the target specification corresponds to this element.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="comment" type="markdown" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Comments that provide information about the mapping or its use.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ElementDefinition.Base">
    <xs:annotation>
      <xs:documentation xml:lang="en">Captures constraints on each element within the resource, profile, or extension.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="path" type="string" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The Path that identifies the base element - this matches the ElementDefinition.path for that element. Across FHIR, there is only one base definition of any element - that is, an element definition on a [[[StructureDefinition]]] without a StructureDefinition.base.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="min" type="unsignedInt" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Minimum cardinality of the base element identified by the path.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="max" type="string" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Maximum cardinality of the base element identified by the path.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ElementDefinition.Type">
    <xs:annotation>
      <xs:documentation xml:lang="en">Captures constraints on each element within the resource, profile, or extension.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="code" type="uri" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">URL of Data type or Resource that is a(or the) type used for this element. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition e.g. &quot;string&quot; is a reference to http://hl7.org/fhir/StructureDefinition/string. Absolute URLs are only allowed in logical models.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="profile" type="canonical" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Identifies a profile structure or implementation Guide that applies to the datatype this element refers to. If any profiles are specified, then the content must conform to at least one of them. The URL can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the type SHALL conform to at least one profile defined in the implementation guide.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="targetProfile" type="canonical" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Used when the type is &quot;Reference&quot; or &quot;canonical&quot;, and identifies a profile structure or implementation Guide that applies to the target of the reference this element refers to. If any profiles are specified, then the content must conform to at least one of them. The URL can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the target resource SHALL conform to at least one profile defined in the implementation guide.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="aggregation" type="AggregationMode" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">If the type is a reference to another resource, how the resource is or can be aggregated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="versioning" type="ReferenceVersionRules" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Whether this reference needs to be version specific or version independent, or whether either can be used.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ElementDefinition.Example">
    <xs:annotation>
      <xs:documentation xml:lang="en">Captures constraints on each element within the resource, profile, or extension.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="label" type="string" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Describes the purpose of this example among the set of examples.</xs:documentation>
            </xs:annotation>
          </xs:element>
        <xs:choice minOccurs="1" maxOccurs="1">
           <xs:annotation>
             <xs:documentation xml:lang="en">The actual value for the element, which must be one of the types allowed for this element.</xs:documentation>
           </xs:annotation>
           <xs:element name="valueBase64Binary" type="base64Binary"/>
           <xs:element name="valueBoolean" type="boolean"/>
           <xs:element name="valueCanonical" type="canonical"/>
           <xs:element name="valueCode" type="code"/>
           <xs:element name="valueDate" type="date"/>
           <xs:element name="valueDateTime" type="dateTime"/>
           <xs:element name="valueDecimal" type="decimal"/>
           <xs:element name="valueId" type="id"/>
           <xs:element name="valueInstant" type="instant"/>
           <xs:element name="valueInteger" type="integer"/>
           <xs:element name="valueInteger64" type="integer64"/>
           <xs:element name="valueMarkdown" type="markdown"/>
           <xs:element name="valueOid" type="oid"/>
           <xs:element name="valuePositiveInt" type="positiveInt"/>
           <xs:element name="valueString" type="string"/>
           <xs:element name="valueTime" type="time"/>
           <xs:element name="valueUnsignedInt" type="unsignedInt"/>
           <xs:element name="valueUri" type="uri"/>
           <xs:element name="valueUrl" type="url"/>
           <xs:element name="valueUuid" type="uuid"/>
           <xs:element name="valueAddress" type="Address"/>
           <xs:element name="valueAge" type="Age"/>
           <xs:element name="valueAnnotation" type="Annotation"/>
           <xs:element name="valueAttachment" type="Attachment"/>
           <xs:element name="valueCodeableConcept" type="CodeableConcept"/>
           <xs:element name="valueCodeableReference" type="CodeableReference"/>
           <xs:element name="valueCoding" type="Coding"/>
           <xs:element name="valueContactPoint" type="ContactPoint"/>
           <xs:element name="valueCount" type="Count"/>
           <xs:element name="valueDistance" type="Distance"/>
           <xs:element name="valueDuration" type="Duration"/>
           <xs:element name="valueHumanName" type="HumanName"/>
           <xs:element name="valueIdentifier" type="Identifier"/>
           <xs:element name="valueMoney" type="Money"/>
           <xs:element name="valuePeriod" type="Period"/>
           <xs:element name="valueQuantity" type="Quantity"/>
           <xs:element name="valueRange" type="Range"/>
           <xs:element name="valueRatio" type="Ratio"/>
           <xs:element name="valueRatioRange" type="RatioRange"/>
           <xs:element name="valueReference" type="Reference"/>
           <xs:element name="valueSampledData" type="SampledData"/>
           <xs:element name="valueSignature" type="Signature"/>
           <xs:element name="valueTiming" type="Timing"/>
           <xs:element name="valueContactDetail" type="ContactDetail"/>
           <xs:element name="valueDataRequirement" type="DataRequirement"/>
           <xs:element name="valueExpression" type="Expression"/>
           <xs:element name="valueParameterDefinition" type="ParameterDefinition"/>
           <xs:element name="valueRelatedArtifact" type="RelatedArtifact"/>
           <xs:element name="valueTriggerDefinition" type="TriggerDefinition"/>
           <xs:element name="valueUsageContext" type="UsageContext"/>
           <xs:element name="valueAvailability" type="Availability"/>
           <xs:element name="valueExtendedContactDetail" type="ExtendedContactDetail"/>
           <xs:element name="valueVirtualServiceDetail" type="VirtualServiceDetail"/>
           <xs:element name="valueDosage" type="Dosage"/>
           <xs:element name="valueMeta" type="Meta"/>
         </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ElementDefinition.Slicing">
    <xs:annotation>
      <xs:documentation xml:lang="en">Captures constraints on each element within the resource, profile, or extension.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="discriminator" type="ElementDefinition.Discriminator" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Designates which child elements are used to discriminate between the slices when processing an instance. If one or more discriminators are provided, the values of the child elements in the instance data SHALL completely distinguish which slice the element in the resource matches based on the allowed values for those elements in each of the slices.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="description" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A human-readable text description of how the slicing works. If there is no discriminator, this is required to be present to provide whatever information is possible about how the slices can be differentiated.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="ordered" type="boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">If the matching elements have to occur in the same order as defined in the profile.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="rules" type="SlicingRules" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Whether additional slices are allowed or not. When the slices are ordered, profile authors can also say that additional slices are only allowed at the end.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ElementDefinition.Binding">
    <xs:annotation>
      <xs:documentation xml:lang="en">Captures constraints on each element within the resource, profile, or extension.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="strength" type="BindingStrength" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="description" type="markdown" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Free-text guidance on the codes that are appropriate for this element.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="valueSet" type="canonical" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Refers to the value set that identifies the set of codes the binding refers to.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="additional" type="ElementDefinition.Additional" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Additional bindings that help applications implementing this element. Additional bindings do not replace the main binding but provide more information and/or context.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ElementDefinition.Additional">
    <xs:annotation>
      <xs:documentation xml:lang="en">Captures constraints on each element within the resource, profile, or extension.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="key" type="id" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A unique identifier for the additional binding within the element that allows additional bindings to be matched across profiles.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="purpose" type="code" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The use of this additional binding.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="valueSet" type="canonical" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The valueSet that is being bound for the purpose.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="documentation" type="markdown" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Documentation of the purpose of use of the binding, providing additional information about how it is intended to be used.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="shortDoco" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Concise documentation - for summary tables.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="usage" type="UsageContext" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Qualifies the usage of the binding. Typically bindings are qualified by jurisdiction, but they may also be qualified by gender, workflow status, clinical domain etc. The information to decide whether a usage context applies is usually outside the resource, determined by context, and this might present challenges for validation tooling.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="any" type="boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Whether the binding applies to all repeats, or just to any one of them. This is only relevant for elements that can repeat.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ElementDefinition.Discriminator">
    <xs:annotation>
      <xs:documentation xml:lang="en">Captures constraints on each element within the resource, profile, or extension.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="type" type="DiscriminatorType" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">How the element value is interpreted when discrimination is evaluated.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="path" type="string" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A FHIRPath expression, using [the simple subset of FHIRPath](fhirpath.html#simple), that is used to identify the element on which discrimination is based.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="PropertyRepresentationEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="xmlAttr">
        <xs:annotation>
          <xs:documentation xml:lang="en">XML Attribute</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="xmlText">
        <xs:annotation>
          <xs:documentation xml:lang="en">XML Text</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="typeAttr">
        <xs:annotation>
          <xs:documentation xml:lang="en">Type Attribute</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cdaText">
        <xs:annotation>
          <xs:documentation xml:lang="en">CDA Text Format</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="xhtml">
        <xs:annotation>
          <xs:documentation xml:lang="en">XHTML</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PropertyRepresentation">
    <xs:annotation>
      <xs:documentation xml:lang="en">How a property is represented when serialized.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="PropertyRepresentationEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ConstraintSeverityEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="error">
        <xs:annotation>
          <xs:documentation xml:lang="en">Error</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="warning">
        <xs:annotation>
          <xs:documentation xml:lang="en">Warning</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ConstraintSeverity">
    <xs:annotation>
      <xs:documentation xml:lang="en">SHALL applications comply with this constraint?</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="ConstraintSeverityEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AggregationModeEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="contained">
        <xs:annotation>
          <xs:documentation xml:lang="en">Contained</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="referenced">
        <xs:annotation>
          <xs:documentation xml:lang="en">Referenced</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bundled">
        <xs:annotation>
          <xs:documentation xml:lang="en">Bundled</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AggregationMode">
    <xs:annotation>
      <xs:documentation xml:lang="en">How resource references can be aggregated.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="AggregationModeEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ReferenceVersionRulesEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="either">
        <xs:annotation>
          <xs:documentation xml:lang="en">Either Specific or independent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="independent">
        <xs:annotation>
          <xs:documentation xml:lang="en">Version independent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="specific">
        <xs:annotation>
          <xs:documentation xml:lang="en">Version Specific</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ReferenceVersionRules">
    <xs:annotation>
      <xs:documentation xml:lang="en">Whether a reference needs to be version specific or version independent, or whether either can be used.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="ReferenceVersionRulesEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="SlicingRulesEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="closed">
        <xs:annotation>
          <xs:documentation xml:lang="en">Closed</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="open">
        <xs:annotation>
          <xs:documentation xml:lang="en">Open</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="openAtEnd">
        <xs:annotation>
          <xs:documentation xml:lang="en">Open at End</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SlicingRules">
    <xs:annotation>
      <xs:documentation xml:lang="en">How slices are interpreted when evaluating an instance.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="SlicingRulesEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="DiscriminatorTypeEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="value">
        <xs:annotation>
          <xs:documentation xml:lang="en">Value</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="exists">
        <xs:annotation>
          <xs:documentation xml:lang="en">Exists</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pattern">
        <xs:annotation>
          <xs:documentation xml:lang="en">Pattern</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="type">
        <xs:annotation>
          <xs:documentation xml:lang="en">Type</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="profile">
        <xs:annotation>
          <xs:documentation xml:lang="en">Profile</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="position">
        <xs:annotation>
          <xs:documentation xml:lang="en">Position</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DiscriminatorType">
    <xs:annotation>
      <xs:documentation xml:lang="en">How an element value is interpreted when discrimination is evaluated.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="DiscriminatorTypeEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Distance">
    <xs:annotation>
      <xs:documentation xml:lang="en">A length - a value with a unit that is a physical distance.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Quantity">
        <xs:sequence>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Age">
    <xs:annotation>
      <xs:documentation xml:lang="en">A duration of time during which an organism (or a process) has existed.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Quantity">
        <xs:sequence>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="VirtualServiceDetail">
    <xs:annotation>
      <xs:documentation xml:lang="en">The set of values required to describe a virtual service's connection details, including some limitations of the service.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="channelType" type="Coding" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The type of virtual service to connect to (i.e. Teams, Zoom, Specific VMR technology, WhatsApp).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:choice minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">What address or number needs to be used for a user to connect to the virtual service to join. The channelType informs as to which datatype is appropriate to use (requires knowledge of the specific type).</xs:documentation>
            </xs:annotation>
           <xs:element name="addressUrl" type="url"  maxOccurs="1"/>
           <xs:element name="addressString" type="string"  maxOccurs="1"/>
           <xs:element name="addressContactPoint" type="ContactPoint"  maxOccurs="1"/>
           <xs:element name="addressExtendedContactDetail" type="ExtendedContactDetail"  maxOccurs="1"/>
          </xs:choice>
          <xs:element name="additionalInfo" type="url" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">A web address that provides additional details on the call, such as alternative/regional call in numbers, or other associated services.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="maxParticipants" type="positiveInt" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Maximum number of participants supported by the virtual service where there are limitations imposed.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="sessionKey" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Some systems require an additional factor/value be provided to access the service.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Availability">
    <xs:annotation>
      <xs:documentation xml:lang="en">Availability data for an {item}, declaring what days/times are available, and any exceptions. The exceptions could be textual only, e.g. Public holidays, or could be time period specific and indicate a specific years dates.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="period" type="Period" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The period of time when the availability is applicable.  For example, you might use this property to indicate the period during the holiday season when you close an hour early.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="availableTime" type="Availability.AvailableTime" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">A collection of times that the {item} is available.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="notAvailableTime" type="Availability.NotAvailableTime" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">The {item} is not available during this period of time due to the provided reason.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Availability.AvailableTime">
    <xs:annotation>
      <xs:documentation xml:lang="en">Availability data for an {item}, declaring what days/times are available, and any exceptions. The exceptions could be textual only, e.g. Public holidays, or could be time period specific and indicate a specific years dates.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="daysOfWeek" type="code" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates which days of the week are available between the start and end Times.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="allDay" type="boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Is this always available? (hence times are irrelevant) i.e. 24 hour service.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="availableStartTime" type="time" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The opening time of day. Note: If the AllDay flag is set, then this time is ignored.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="availableEndTime" type="time" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The closing time of day. Note: If the AllDay flag is set, then this time is ignored.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Availability.NotAvailableTime">
    <xs:annotation>
      <xs:documentation xml:lang="en">Availability data for an {item}, declaring what days/times are available, and any exceptions. The exceptions could be textual only, e.g. Public holidays, or could be time period specific and indicate a specific years dates.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="description" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The reason that can be presented to the user as to why this time is not available.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="during" type="Period" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The {item} is not available (seasonally or for a public holiday) during this period.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Reference">
    <xs:annotation>
      <xs:documentation xml:lang="en">A reference from one resource to another.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="reference" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="type" type="uri" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.

The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. &quot;Patient&quot; is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="identifier" type="Identifier" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="display" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Plain text narrative that identifies the resource in addition to the resource reference.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TriggerDefinition">
    <xs:annotation>
      <xs:documentation xml:lang="en">A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="type" type="TriggerType" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The type of triggering event.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="name" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A formal name for the event. This may be an absolute URI that identifies the event formally (e.g. from a trigger registry), or a simple relative URI that identifies the event in a local context.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="code" type="CodeableConcept" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A code that identifies the event.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="subscriptionTopic" type="canonical" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A reference to a SubscriptionTopic resource that defines the event. If this element is provided, no other information about the trigger definition may be supplied.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:choice minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The timing of the event (if this is a periodic trigger).</xs:documentation>
            </xs:annotation>
           <xs:element name="timingTiming" type="Timing"  maxOccurs="1"/>
           <xs:element name="timingDate" type="date"  maxOccurs="1"/>
           <xs:element name="timingDateTime" type="dateTime"  maxOccurs="1"/>
          </xs:choice>
          <xs:element name="data" type="DataRequirement" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">The triggering data of the event (if this is a data trigger). If more than one data is requirement is specified, then all the data requirements must be true.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="condition" type="Expression" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A boolean-valued expression that is evaluated in the context of the container of the trigger definition and returns whether or not the trigger fires.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="TriggerTypeEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="named-event">
        <xs:annotation>
          <xs:documentation xml:lang="en">Named Event</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="periodic">
        <xs:annotation>
          <xs:documentation xml:lang="en">Periodic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="data-changed">
        <xs:annotation>
          <xs:documentation xml:lang="en">Data Changed</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="data-added">
        <xs:annotation>
          <xs:documentation xml:lang="en">Data Added</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="data-modified">
        <xs:annotation>
          <xs:documentation xml:lang="en">Data Updated</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="data-removed">
        <xs:annotation>
          <xs:documentation xml:lang="en">Data Removed</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="data-accessed">
        <xs:annotation>
          <xs:documentation xml:lang="en">Data Accessed</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="data-access-ended">
        <xs:annotation>
          <xs:documentation xml:lang="en">Data Access Ended</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="subscription-topic">
        <xs:annotation>
          <xs:documentation xml:lang="en">Subscription Topic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TriggerType">
    <xs:annotation>
      <xs:documentation xml:lang="en">The type of trigger.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="TriggerTypeEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Quantity">
    <xs:annotation>
      <xs:documentation xml:lang="en">A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="value" type="decimal" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The value of the measured amount. The value includes an implicit precision in the presentation of the value.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="comparator" type="QuantityComparator" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is &quot;&lt;&quot; , then the real value is &lt; stated value.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="unit" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A human-readable form of the unit.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="system" type="uri" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The identification of the system that provides the coded form of the unit.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="code" type="code" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A computer processable form of the unit in some unit representation system.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="QuantityComparatorEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="&lt;">
        <xs:annotation>
          <xs:documentation xml:lang="en">Less than</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="&lt;=">
        <xs:annotation>
          <xs:documentation xml:lang="en">Less or Equal to</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="&gt;=">
        <xs:annotation>
          <xs:documentation xml:lang="en">Greater or Equal to</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="&gt;">
        <xs:annotation>
          <xs:documentation xml:lang="en">Greater than</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ad">
        <xs:annotation>
          <xs:documentation xml:lang="en">Sufficient to achieve this total quantity</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="QuantityComparator">
    <xs:annotation>
      <xs:documentation xml:lang="en">How the Quantity should be understood and represented.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="QuantityComparatorEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Period">
    <xs:annotation>
      <xs:documentation xml:lang="en">A time period defined by a start and end date and optionally time.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="start" type="dateTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The start of the period. The boundary is inclusive.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="end" type="dateTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Duration">
    <xs:annotation>
      <xs:documentation xml:lang="en">A length of time.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Quantity">
        <xs:sequence>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Range">
    <xs:annotation>
      <xs:documentation xml:lang="en">A set of ordered Quantities defined by a low and high limit.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="low" type="Quantity" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The low limit. The boundary is inclusive.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="high" type="Quantity" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The high limit. The boundary is inclusive.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="RelatedArtifact">
    <xs:annotation>
      <xs:documentation xml:lang="en">Related artifacts such as dependencies, components, additional documentation, justification, or bibliographic references.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="type" type="RelatedArtifactType" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The type of relationship to the related artifact.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="label" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A short label that can be used to reference the citation from elsewhere in the containing artifact, such as a footnote index.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="display" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A brief description of the document or knowledge resource being referenced, suitable for display to a consumer.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="citation" type="markdown" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Deprecated in favor of the new artifact[x] element. A bibliographic citation for the related artifact. This text SHOULD be formatted according to an accepted citation format.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="document" type="Attachment" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Deprecated in favor of the new artifact[x] element. The document being referenced, represented as an attachment. This is exclusive with the resource element.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="resource" type="canonical" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Deprecated in favor of the new artifact[x] element. The related artifact, such as a library, value set, profile, or other knowledge resource.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="resourceReference" type="Reference" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Deprecated in favor of the new artifact[x] element. The related artifact, if the artifact is not a canonical resource, or a resource reference to a canonical resource.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:choice minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The related artifact represented as a canonical or direct reference to a FHIR resource, an Attachment, or directly inline as markdown.</xs:documentation>
            </xs:annotation>
           <xs:element name="artifactMarkdown" type="markdown"  maxOccurs="1"/>
           <xs:element name="artifactAttachment" type="Attachment"  maxOccurs="1"/>
           <xs:element name="artifactCanonical" type="canonical"  maxOccurs="1"/>
           <xs:element name="artifactReference" type="Reference"  maxOccurs="1"/>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="RelatedArtifactTypeEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="documentation">
        <xs:annotation>
          <xs:documentation xml:lang="en">Documentation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="justification">
        <xs:annotation>
          <xs:documentation xml:lang="en">Justification</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="citation">
        <xs:annotation>
          <xs:documentation xml:lang="en">Citation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="predecessor">
        <xs:annotation>
          <xs:documentation xml:lang="en">Predecessor</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="successor">
        <xs:annotation>
          <xs:documentation xml:lang="en">Successor</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="derived-from">
        <xs:annotation>
          <xs:documentation xml:lang="en">Derived From</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="depends-on">
        <xs:annotation>
          <xs:documentation xml:lang="en">Depends On</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="composed-of">
        <xs:annotation>
          <xs:documentation xml:lang="en">Composed Of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="part-of">
        <xs:annotation>
          <xs:documentation xml:lang="en">Part Of</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="RelatedArtifactType">
    <xs:annotation>
      <xs:documentation xml:lang="en">The type of relationship to the related artifact.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="RelatedArtifactTypeEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Annotation">
    <xs:annotation>
      <xs:documentation xml:lang="en">A  text note which also  contains information about who made the statement and when.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:choice minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The individual responsible for making the annotation.</xs:documentation>
            </xs:annotation>
           <xs:element name="authorReference" type="Reference"  maxOccurs="1"/>
           <xs:element name="authorString" type="string"  maxOccurs="1"/>
          </xs:choice>
          <xs:element name="time" type="dateTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates when this particular annotation was made.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="text" type="markdown" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The text of the annotation in markdown format.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ProductShelfLife">
    <xs:annotation>
      <xs:documentation xml:lang="en">The shelf-life and storage information for a medicinal product item or container can be described using this class.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="type" type="CodeableConcept" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">This describes the shelf life, taking into account various scenarios such as shelf life of the packaged Medicinal Product itself, shelf life after transformation where necessary and shelf life after the first opening of a bottle, etc. The shelf life type shall be specified using an appropriate controlled vocabulary The controlled term and the controlled term identifier shall be specified.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:choice minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The shelf life time period can be specified using a numerical value for the period of time and its unit of time measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used.</xs:documentation>
            </xs:annotation>
           <xs:element name="periodDuration" type="Duration"  maxOccurs="1"/>
           <xs:element name="periodString" type="string"  maxOccurs="1"/>
          </xs:choice>
          <xs:element name="specialPrecautionsForStorage" type="CodeableConcept" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Special precautions for storage, if any, can be specified using an appropriate controlled vocabulary The controlled term and the controlled term identifier shall be specified.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ContactDetail">
    <xs:annotation>
      <xs:documentation xml:lang="en">Specifies contact information for a person or organization.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="name" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The name of an individual to contact.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="telecom" type="ContactPoint" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">The contact details for the individual (if a name was provided) or the organization.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DosageCondition">
    <xs:annotation>
      <xs:documentation xml:lang="en">DosageCondition expresses a time or time period as relative to the time of an event defined in data types other than dateTime.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="code" type="CodeableConcept" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The specific event occurrence or resource context used as a base point (reference point) in time.  This establishes the context in which the 'path' is evaluated.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="details" type="CodeableConcept" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Additional details about the event - depends on the code.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="operation" type="code" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">How the value is tested.</xs:documentation>
            </xs:annotation>
          </xs:element>
        <xs:choice minOccurs="0" maxOccurs="1">
           <xs:annotation>
             <xs:documentation xml:lang="en">The value for this critera.</xs:documentation>
           </xs:annotation>
           <xs:element name="valueBase64Binary" type="base64Binary"/>
           <xs:element name="valueBoolean" type="boolean"/>
           <xs:element name="valueCanonical" type="canonical"/>
           <xs:element name="valueCode" type="code"/>
           <xs:element name="valueDate" type="date"/>
           <xs:element name="valueDateTime" type="dateTime"/>
           <xs:element name="valueDecimal" type="decimal"/>
           <xs:element name="valueId" type="id"/>
           <xs:element name="valueInstant" type="instant"/>
           <xs:element name="valueInteger" type="integer"/>
           <xs:element name="valueInteger64" type="integer64"/>
           <xs:element name="valueMarkdown" type="markdown"/>
           <xs:element name="valueOid" type="oid"/>
           <xs:element name="valuePositiveInt" type="positiveInt"/>
           <xs:element name="valueString" type="string"/>
           <xs:element name="valueTime" type="time"/>
           <xs:element name="valueUnsignedInt" type="unsignedInt"/>
           <xs:element name="valueUri" type="uri"/>
           <xs:element name="valueUrl" type="url"/>
           <xs:element name="valueUuid" type="uuid"/>
           <xs:element name="valueAddress" type="Address"/>
           <xs:element name="valueAge" type="Age"/>
           <xs:element name="valueAnnotation" type="Annotation"/>
           <xs:element name="valueAttachment" type="Attachment"/>
           <xs:element name="valueCodeableConcept" type="CodeableConcept"/>
           <xs:element name="valueCodeableReference" type="CodeableReference"/>
           <xs:element name="valueCoding" type="Coding"/>
           <xs:element name="valueContactPoint" type="ContactPoint"/>
           <xs:element name="valueCount" type="Count"/>
           <xs:element name="valueDistance" type="Distance"/>
           <xs:element name="valueDuration" type="Duration"/>
           <xs:element name="valueHumanName" type="HumanName"/>
           <xs:element name="valueIdentifier" type="Identifier"/>
           <xs:element name="valueMoney" type="Money"/>
           <xs:element name="valuePeriod" type="Period"/>
           <xs:element name="valueQuantity" type="Quantity"/>
           <xs:element name="valueRange" type="Range"/>
           <xs:element name="valueRatio" type="Ratio"/>
           <xs:element name="valueRatioRange" type="RatioRange"/>
           <xs:element name="valueReference" type="Reference"/>
           <xs:element name="valueSampledData" type="SampledData"/>
           <xs:element name="valueSignature" type="Signature"/>
           <xs:element name="valueTiming" type="Timing"/>
           <xs:element name="valueContactDetail" type="ContactDetail"/>
           <xs:element name="valueDataRequirement" type="DataRequirement"/>
           <xs:element name="valueExpression" type="Expression"/>
           <xs:element name="valueParameterDefinition" type="ParameterDefinition"/>
           <xs:element name="valueRelatedArtifact" type="RelatedArtifact"/>
           <xs:element name="valueTriggerDefinition" type="TriggerDefinition"/>
           <xs:element name="valueUsageContext" type="UsageContext"/>
           <xs:element name="valueAvailability" type="Availability"/>
           <xs:element name="valueExtendedContactDetail" type="ExtendedContactDetail"/>
           <xs:element name="valueVirtualServiceDetail" type="VirtualServiceDetail"/>
           <xs:element name="valueDosage" type="Dosage"/>
           <xs:element name="valueMeta" type="Meta"/>
         </xs:choice>
          <xs:element name="text" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Free-text (human-readable) description.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="UsageContext">
    <xs:annotation>
      <xs:documentation xml:lang="en">Specifies clinical/business/etc. metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care).</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="code" type="Coding" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A code that identifies the type of context being specified by this usage context.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:choice minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A value that defines the context specified in this context of use. The interpretation of the value is defined by the code.</xs:documentation>
            </xs:annotation>
           <xs:element name="valueCodeableConcept" type="CodeableConcept"  maxOccurs="1"/>
           <xs:element name="valueQuantity" type="Quantity"  maxOccurs="1"/>
           <xs:element name="valueRange" type="Range"  maxOccurs="1"/>
           <xs:element name="valueReference" type="Reference"  maxOccurs="1"/>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Expression">
    <xs:annotation>
      <xs:documentation xml:lang="en">A expression that is evaluated in a specified context and returns a value. 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:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="description" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A brief, natural language description of the condition that effectively communicates the intended semantics.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="name" type="code" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A short name assigned to the expression to allow for multiple reuse of the expression in the context where it is defined.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="language" type="code" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The media type of the language for the expression.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="expression" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">An expression in the specified language that returns a value.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="reference" type="uri" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A URI that defines where the expression is found.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="CodeableReference">
    <xs:annotation>
      <xs:documentation xml:lang="en">A reference to a resource (by instance), or instead, a reference to a concept defined in a terminology or ontology (by class).</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="concept" type="CodeableConcept" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A reference to a concept - e.g. the information is identified by its general class to the degree of precision found in the terminology.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="reference" type="Reference" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A reference to a resource the provides exact details about the information being referenced.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Signature">
    <xs:annotation>
      <xs:documentation xml:lang="en">A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="type" type="Coding" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">An indication of the reason that the entity signed this document. This may be explicitly included as part of the signature information and can be used when determining accountability for various actions concerning the document.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="when" type="instant" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">When the digital signature was signed.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="who" type="Reference" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A reference to an application-usable description of the identity that signed  (e.g. the signature used their private key).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="onBehalfOf" type="Reference" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A reference to an application-usable description of the identity that is represented by the signature.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="targetFormat" type="code" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A mime type that indicates the technical format of the target resources signed by the signature.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="sigFormat" type="code" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A mime type that indicates the technical format of the signature. Important mime types are application/signature+xml for X ML DigSig, application/jose for JWS, and image/* for a graphical image of a signature, etc.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="data" type="base64Binary" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The base64 encoding of the Signature content. When signature is not recorded electronically this element would be empty.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Timing">
    <xs:annotation>
      <xs:documentation xml:lang="en">Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="event" type="dateTime" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Identifies specific times when the event occurs.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="repeat" type="Timing.Repeat" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A set of rules that describe when the event is scheduled.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="code" type="CodeableConcept" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A code for the timing schedule (or just text in code.text). Some codes such as BID are ubiquitous, but many institutions define their own additional codes. If a code is provided, the code is understood to be a complete statement of whatever is specified in the structured timing data, and either the code or the data may be used to interpret the Timing, with the exception that .repeat.bounds still applies over the code (and is not contained in the code).</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Timing.Repeat">
    <xs:annotation>
      <xs:documentation xml:lang="en">Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:choice minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule.</xs:documentation>
            </xs:annotation>
           <xs:element name="boundsDuration" type="Duration"  maxOccurs="1"/>
           <xs:element name="boundsRange" type="Range"  maxOccurs="1"/>
           <xs:element name="boundsPeriod" type="Period"  maxOccurs="1"/>
          </xs:choice>
          <xs:element name="count" type="positiveInt" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A total count of the desired number of repetitions across the duration of the entire timing specification. If countMax is present, this element indicates the lower bound of the allowed range of count values.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="countMax" type="positiveInt" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">If present, indicates that the count is a range - so to perform the action between [count] and [countMax] times.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="duration" type="decimal" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">How long this thing happens for when it happens. If durationMax is present, this element indicates the lower bound of the allowed range of the duration.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="durationMax" type="decimal" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">If present, indicates that the duration is a range - so to perform the action between [duration] and [durationMax] time length.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="durationUnit" type="UnitsOfTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The units of time for the duration, in UCUM units
Normal practice is to use the 'mo' code as a calendar month when calculating the next occurrence.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="frequency" type="positiveInt" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The number of times to repeat the action within the specified period. If frequencyMax is present, this element indicates the lower bound of the allowed range of the frequency.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="frequencyMax" type="positiveInt" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">If present, indicates that the frequency is a range - so to repeat between [frequency] and [frequencyMax] times within the period or period range.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="period" type="decimal" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates the duration of time over which repetitions are to occur; e.g. to express &quot;3 times per day&quot;, 3 would be the frequency and &quot;1 day&quot; would be the period. If periodMax is present, this element indicates the lower bound of the allowed range of the period length.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="periodMax" type="decimal" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">If present, indicates that the period is a range from [period] to [periodMax], allowing expressing concepts such as &quot;do this once every 3-5 days.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="periodUnit" type="UnitsOfTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The units of time for the period in UCUM units
Normal practice is to use the 'mo' code as a calendar month when calculating the next occurrence.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="startOffset" type="Quantity" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates that the events within the period of the repeat do not start until startOffset has elapsed.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="endOffset" type="Quantity" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates that the events within the period of the repeat step endOffset before the period ends.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="dayOfWeek" type="code" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">If one or more days of week is provided, then the action happens only on the specified day(s).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="timeOfDay" type="time" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">Specified time of day for action to take place.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="when" type="EventTiming" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">An approximate time period during the day, potentially linked to an event of daily living that indicates when the action should occur.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="offset" type="unsignedInt" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The number of minutes from the event. If the event code does not indicate whether the minutes is before or after the event, then the offset is assumed to be after the event.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="UnitsOfTimeEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="s">
        <xs:annotation>
          <xs:documentation xml:lang="en">s</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="min">
        <xs:annotation>
          <xs:documentation xml:lang="en">min</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="h">
        <xs:annotation>
          <xs:documentation xml:lang="en">h</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="d">
        <xs:annotation>
          <xs:documentation xml:lang="en">d</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="wk">
        <xs:annotation>
          <xs:documentation xml:lang="en">wk</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mo">
        <xs:annotation>
          <xs:documentation xml:lang="en">mo</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="a">
        <xs:annotation>
          <xs:documentation xml:lang="en">a</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="UnitsOfTime">
    <xs:annotation>
      <xs:documentation xml:lang="en">A unit of time (units from UCUM).</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="UnitsOfTimeEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="EventTimingEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="MORN">
        <xs:annotation>
          <xs:documentation xml:lang="en">Morning</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MORN.early">
        <xs:annotation>
          <xs:documentation xml:lang="en">Early Morning</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MORN.late">
        <xs:annotation>
          <xs:documentation xml:lang="en">Late Morning</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NOON">
        <xs:annotation>
          <xs:documentation xml:lang="en">Noon</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AFT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Afternoon</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AFT.early">
        <xs:annotation>
          <xs:documentation xml:lang="en">Early Afternoon</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AFT.late">
        <xs:annotation>
          <xs:documentation xml:lang="en">Late Afternoon</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EVE">
        <xs:annotation>
          <xs:documentation xml:lang="en">Evening</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EVE.early">
        <xs:annotation>
          <xs:documentation xml:lang="en">Early Evening</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EVE.late">
        <xs:annotation>
          <xs:documentation xml:lang="en">Late Evening</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NIGHT">
        <xs:annotation>
          <xs:documentation xml:lang="en">Night</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PHS">
        <xs:annotation>
          <xs:documentation xml:lang="en">After Sleep</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="IMD">
        <xs:annotation>
          <xs:documentation xml:lang="en">Immediate</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HS">
        <xs:annotation>
          <xs:documentation xml:lang="en">HS</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="WAKE">
        <xs:annotation>
          <xs:documentation xml:lang="en">WAKE</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="C">
        <xs:annotation>
          <xs:documentation xml:lang="en">C</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CM">
        <xs:annotation>
          <xs:documentation xml:lang="en">CM</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CD">
        <xs:annotation>
          <xs:documentation xml:lang="en">CD</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CV">
        <xs:annotation>
          <xs:documentation xml:lang="en">CV</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AC">
        <xs:annotation>
          <xs:documentation xml:lang="en">AC</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ACM">
        <xs:annotation>
          <xs:documentation xml:lang="en">ACM</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ACD">
        <xs:annotation>
          <xs:documentation xml:lang="en">ACD</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ACV">
        <xs:annotation>
          <xs:documentation xml:lang="en">ACV</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PC">
        <xs:annotation>
          <xs:documentation xml:lang="en">PC</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PCM">
        <xs:annotation>
          <xs:documentation xml:lang="en">PCM</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PCD">
        <xs:annotation>
          <xs:documentation xml:lang="en">PCD</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PCV">
        <xs:annotation>
          <xs:documentation xml:lang="en">PCV</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="EventTiming">
    <xs:annotation>
      <xs:documentation xml:lang="en">Real-world event relating to the schedule.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
       <xs:extension base="Element">
         <xs:attribute name="value" type="EventTimingEnum" use="optional"/>
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ExtendedContactDetail">
    <xs:annotation>
      <xs:documentation xml:lang="en">Specifies contact information for a specific purpose over a period of time, might be handled/monitored by a specific named person or organization.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="purpose" type="CodeableConcept" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The purpose/type of contact.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="name" type="HumanName" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">The name of an individual to contact, some types of contact detail are usually blank.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="telecom" type="ContactPoint" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">The contact details application for the purpose defined.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="address" type="Address" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Address for the contact.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="organization" type="Reference" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">This contact detail is handled/monitored by a specific organization. If the name is provided in the contact, then it is referring to the named individual within this organization.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="period" type="Period" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Period that this contact was valid for usage.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DosageDetails">
    <xs:annotation>
      <xs:documentation xml:lang="en">Indicates how the medication is/was taken or should be taken by the patient.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="renderedInstruction" type="markdown" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The full representation of the dose of the medication included in all dosage instructions. The renderedInstructions element must always be present to ensure the full dosage intent is communicated in every case.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="step" type="DosageDetails.Step" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">One step in a sequence of steps that comprise the dosage course.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="safety" type="DosageSafety" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Safety Information about the combined dose course.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DosageDetails.Step">
    <xs:annotation>
      <xs:documentation xml:lang="en">Indicates how the medication is/was taken or should be taken by the patient.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneType">
        <xs:sequence>
          <xs:element name="start" type="RelativeTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">When the step starts. In the absence of a linked event, the step is assumed to start immediately (or after the previous step).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="end" type="RelativeTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">When the step ends. In the absence of a linked event, the step is assumed to end when the internal timing schedule termnates.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="count" type="integer" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">How many times to do this step (if not 1).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="component" type="Dosage" minOccurs="1" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">A dosage details that is part of this step.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="safety" type="DosageSafety" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Safety Information about this step of the dose course.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="CodeableConcept">
    <xs:annotation>
      <xs:documentation xml:lang="en">A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="coding" type="Coding" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">A reference to a code defined by a terminology system.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="text" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ParameterDefinition">
    <xs:annotation>
      <xs:documentation xml:lang="en">The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataType">
        <xs:sequence>
          <xs:element name="name" type="code" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The name of the parameter used to allow access to the value of the parameter in evaluation contexts.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="use" type="code" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">Whether the parameter is input or output for the module.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="min" type="integer" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The minimum number of times this parameter SHALL appear in the request or response.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="max" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The maximum number of times this element is permitted to appear in the request or response.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="documentation" type="string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A brief discussion of what the parameter is for and how it is used by the module.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="type" type="code" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The type of the parameter.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="profile" type="canonical" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">If specified, this indicates a profile that the input data must conform to, or that the output data will conform to.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MetadataResource">
    <xs:annotation>
      <xs:documentation xml:lang="en">Common Interface declaration for conformance and knowledge artifact resources.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="CanonicalResource">
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DomainResource">
    <xs:annotation>
      <xs:documentation xml:lang="en">A resource that includes narrative, extensions, and contained resources.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Resource">
        <xs:sequence>
          <xs:element name="text" type="Narrative" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it &quot;clinically safe&quot; for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="contained" type="ResourceContainer" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="extension" type="Extension" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="modifierExtension" type="Extension" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Resource">
    <xs:annotation>
      <xs:documentation xml:lang="en">This is the base resource type for everything.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Base">
        <xs:sequence>
          <xs:element name="id" type="id" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="meta" type="Meta" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="implicitRules" type="uri" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. For DomainResources, if more than one implicitRules policy applies, additional policies may be conveyed using the [additionalImplicitRules](https://build.fhir.org/ig/HL7/fhir-extensions/StructureDefinition-additionalImplicitRules.html) extension.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="language" type="code" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation xml:lang="en">The base language in which the resource is written.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="CanonicalResource">
    <xs:annotation>
      <xs:documentation xml:lang="en">Common Interface declaration for conformance and knowledge artifact resources.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DomainResource">
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:schema>
