This page is part of the FHIR Specification (v0.0.82: DSTU 1). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

Profile.profile.xml

Profile for profile

Raw XML

<Profile xmlns="http://hl7.org/fhir">
  <text>
    <status value="generated"/><div xmlns="http://www.w3.org/1999/xhtml"><pre>
&lt;<a class="dict" href="profile-definitions.html#Profile" title="A Resource Profile - a statement of use of one or more FHIR Resources.  It may include
         constraints on Resources and Data Types, Terminology Binding Statements and Extension
         Definitions."><b>Profile</b></a> xmlns=&quot;http://hl7.org/fhir&quot;&gt; <span style="float: right"><a href="formats.html" title="Documentation for this format"><img alt="doco" src="help.png"/></a></span>
 &lt;!-- from <a href="resources.html">Resource</a>: <a href="extensibility.html">extension</a>, <a href="extensibility.html#modifierExtension">modifierExtension</a>, language, <a href="narrative.html#Narrative">text</a>, and <a href="references.html#contained">contained</a> --&gt;
 &lt;<a class="dict" href="profile-definitions.html#Profile.identifier" title="The identifier that is used to identify this profile when it is referenced in a specification,
         model, design or an instance  (should be globally unique OID, UUID, or URI)."><b>identifier</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">Logical id to reference this profile<span style="color: Navy" title="This element is included in a summary view (See Search/Query)"> §</span></span><span style="color: Gray"> --&gt;</span>
 &lt;<a class="dict" href="profile-definitions.html#Profile.version" title="The identifier that is used to identify this version of the profile when it is referenced
         in a specification, model, design or instance. This is an arbitrary value managed by the
         profile author manually and the value should be a timestamp."><b>version</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">Logical id for this version of the profile<span style="color: Navy" title="This element is included in a summary view (See Search/Query)"> §</span></span><span style="color: Gray"> --&gt;</span>
 &lt;<a class="dict" href="profile-definitions.html#Profile.name" title="A free text natural language name identifying the Profile."><b>name</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy">Informal name for this profile<span style="color: Navy" title="This element is included in a summary view (See Search/Query)"> §</span></span><span style="color: Gray"> --&gt;</span>
 &lt;<a class="dict" href="profile-definitions.html#Profile.publisher" title="Details of the individual or organization who accepts responsibility for publishing the
         profile."><b>publisher</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">Name of the publisher (Organization or individual)<span style="color: Navy" title="This element is included in a summary view (See Search/Query)"> §</span></span><span style="color: Gray"> --&gt;</span>
 &lt;<a class="dict" href="profile-definitions.html#Profile.telecom" title="Contact details to assist a user in finding and communicating with the publisher."><b>telecom</b></a>&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..*</b></span> <span style="color: darkgreen"><a href="datatypes.html#Contact">Contact</a></span> <span style="color: navy">Contact information of the publisher<span style="color: Navy" title="This element is included in a summary view (See Search/Query)"> §</span></span><span style="color: Gray"> --&gt;</span>&lt;/telecom&gt;
 &lt;<a class="dict" href="profile-definitions.html#Profile.description" title="A free text natural language description of the profile and its use."><b>description</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">Natural language description of the profile<span style="color: Navy" title="This element is included in a summary view (See Search/Query)"> §</span></span><span style="color: Gray"> --&gt;</span>
 &lt;<a class="dict" href="profile-definitions.html#Profile.code" title="A set of terms from external terminologies that may be used to assist with indexing and
         searching of templates."><b>code</b></a>&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..*</b></span> <span style="color: darkgreen"><a href="datatypes.html#Coding">Coding</a></span> <span style="color: navy">Assist with indexing and finding<span style="color: Navy" title="This element is included in a summary view (See Search/Query)"> §</span></span><span style="color: Gray"> --&gt;</span>&lt;/code&gt;
 &lt;<a class="dict" href="profile-definitions.html#Profile.status" title="The status of the profile (this element modifies the meaning of other elements)"><span style="text-decoration: underline"><b>status</b></span></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#code">code</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy"><a href="resource-profile-status.html" style="color: navy">draft | active | retired<span style="color: Navy" title="This element is included in a summary view (See Search/Query)"> §</span></a></span><span style="color: Gray"> --&gt;</span>
 &lt;<a class="dict" href="profile-definitions.html#Profile.experimental" title="This profile was authored for testing purposes (or education/evaluation/marketing), and
         is not intended to be used for genuine usage."><b>experimental</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#boolean">boolean</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">If for testing purposes, not real usage<span style="color: Navy" title="This element is included in a summary view (See Search/Query)"> §</span></span><span style="color: Gray"> --&gt;</span>
 &lt;<a class="dict" href="profile-definitions.html#Profile.date" title="The date that this version of the profile was published."><b>date</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#dateTime">dateTime</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">Date for this version of the profile<span style="color: Navy" title="This element is included in a summary view (See Search/Query)"> §</span></span><span style="color: Gray"> --&gt;</span>
 &lt;<a class="dict" href="profile-definitions.html#Profile.requirements" title="The Scope and Usage that this profile was created to meet."><b>requirements</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">Scope and Usage this profile is for</span><span style="color: Gray"> --&gt;</span>
 &lt;<a class="dict" href="profile-definitions.html#Profile.fhirVersion" title="The version of the FHIR specification on which this profile is based."><b>fhirVersion</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#id">id</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">FHIR Version this profile targets<span style="color: Navy" title="This element is included in a summary view (See Search/Query)"> §</span></span><span style="color: Gray"> --&gt;</span>
 &lt;<a class="dict" href="profile-definitions.html#Profile.mapping" title="An external specification that the content is mapped to."><b>mapping</b></a>&gt;  <span style="color: Gray">&lt;!-- <span style="color: brown"><b>0..*</b></span> External specification that the content is mapped to --&gt;</span>
  &lt;<a class="dict" href="profile-definitions.html#Profile.mapping.identity" title="An Internal id that is used to identify this mapping set when specific mappings are made."><b>identity</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#id">id</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy">Internal id when this mapping is used</span><span style="color: Gray"> --&gt;</span>
  &lt;<a class="dict" href="profile-definitions.html#Profile.mapping.uri" title="A URI that identifies the specification that this mapping is expressed to."><b>uri</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#uri">uri</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown" title="Inv-26: Must have at a name or a uri (or both)"><b><img alt="??" src="lock.png"/> 0..1</b></span> <span style="color: navy">Identifies what this mapping refers to</span><span style="color: Gray"> --&gt;</span>
  &lt;<a class="dict" href="profile-definitions.html#Profile.mapping.name" title="A name for the specification that is being mapped to."><b>name</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown" title="Inv-26: Must have at a name or a uri (or both)"><b><img alt="??" src="lock.png"/> 0..1</b></span> <span style="color: navy">Names what this mapping refers to</span><span style="color: Gray"> --&gt;</span>
  &lt;<a class="dict" href="profile-definitions.html#Profile.mapping.comments" title="Comments about this mapping, including version notes, issues, scope limitations, and other
         important notes for usage."><b>comments</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">Versions, Issues, Scope limitations etc</span><span style="color: Gray"> --&gt;</span>
 &lt;/mapping&gt;
 &lt;<a class="dict" href="profile-definitions.html#Profile.structure" title="A constraint statement about what contents a resource or data type may have."><b>structure</b></a>&gt;  <span style="color: Gray">&lt;!-- <span style="color: brown" title="Inv-8: SHALL define at least one structure constraint or extension definition"><b><img alt="??" src="lock.png"/> 0..*</b></span> A constraint on a resource or a data type --&gt;</span>
  &lt;<a class="dict" href="profile-definitions.html#Profile.structure.type" title="The Resource or Data type being described."><b>type</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#code">code</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown" title="Inv-12: Only complex types can be constrained, not primitive types such as string etc."><b><img alt="??" src="lock.png"/> 1..1</b></span> <span style="color: navy"><a href="defined-types.html" style="color: navy">The Resource or Data Type being described</a></span><span style="color: Gray"> --&gt;</span>
  &lt;<a class="dict" href="profile-definitions.html#Profile.structure.name" title="The name of this resource constraint statement (to refer to it from other resource constraints
         - from Profile.structure.element.definition.type.profile)."><b>name</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">Name for this particular structure (reference target)</span><span style="color: Gray"> --&gt;</span>
  &lt;<a class="dict" href="profile-definitions.html#Profile.structure.publish" title="This definition of a profile on a structure is published as a formal statement. Some structural
         definitions might be defined purely for internal use within the profile, and not intended
         to be used outside that context."><b>publish</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#boolean">boolean</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">This definition is published (i.e. for validation)</span><span style="color: Gray"> --&gt;</span>
  &lt;<a class="dict" href="profile-definitions.html#Profile.structure.purpose" title="Human summary: why describe this resource?."><b>purpose</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">Human summary: why describe this resource?</span><span style="color: Gray"> --&gt;</span>
  &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element" title="Captures constraints on each element within the resource."><b>element</b></a>&gt;  <span style="color: Gray">&lt;!-- <span style="color: brown"><b>0..*</b></span> Definition of elements in the resource (if no profile) --&gt;</span>
   &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.path" title="The path identifies the element and is expressed as a &quot;.&quot;-separated list of
         ancestor elements, beginning with the name of the resource."><b>path</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy">The path of the element (see the formal definitions)</span><span style="color: Gray"> --&gt;</span>
   &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.representation" title="Codes that define how this element is represented in instances, when the deviation varies
         from the normal case."><b>representation</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#code">code</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..*</b></span> <span style="color: navy"><a href="property-representation.html" style="color: navy">How this element is represented in instances</a></span><span style="color: Gray"> --&gt;</span>
   &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.name" title="The name of this element definition (to refer to it from other element definitions using
         Profile.structure.element.definition.nameReference). This is a unique name referring to
         a specific set of constraints applied to this element. One use of this is to provide a
         name to different slices of the same element."><b>name</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">Name for this particular element definition (reference target)</span><span style="color: Gray"> --&gt;</span>
   &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.slicing" title="Indicates that the element is sliced into a set of alternative definitions (there are
         multiple definitions on a single element in the base resource). 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)."><b>slicing</b></a>&gt;  <span style="color: Gray">&lt;!-- <span style="color: brown"><b>0..1</b></span> This element is sliced - slices follow --&gt;</span>
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.slicing.discriminator" title="Designates which child element is used to discriminate between the slices when processing
         an instance. The value of the child element in the instance SHALL completely distinguish
         which slice the element in the resource matches based on the allowed values for that element
         in each of the slices."><b>discriminator</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#id">id</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy">Element that used to distinguish the slices</span><span style="color: Gray"> --&gt;</span>
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.slicing.ordered" title="If the matching elements have to occur in the same order as defined in the profile."><b>ordered</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#boolean">boolean</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy">If elements must be in same order as slices</span><span style="color: Gray"> --&gt;</span>
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.slicing.rules" title="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."><b>rules</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#code">code</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy"><a href="resource-slicing-rules.html" style="color: navy">closed | open | openAtEnd</a></span><span style="color: Gray"> --&gt;</span>
   &lt;/slicing&gt;
   &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition" title="Definition of the content of the element to provide a more specific definition than that
         contained for the element in the base resource."><b>definition</b></a>&gt;  <span style="color: Gray">&lt;!-- <span style="color: brown"><b>0..1</b></span> More specific definition of the element --&gt;</span>
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.short" title="A concise definition that  is shown in the generated XML format that summarizes profiles
         (used throughout the specification)."><b>short</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy">Concise definition for xml presentation</span><span style="color: Gray"> --&gt;</span>
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.formal" title="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."><b>formal</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy">Full formal definition in human language</span><span style="color: Gray"> --&gt;</span>
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.comments" title="Comments about the use of the element, including notes about how to use the data properly,
         exceptions to proper use, etc."><b>comments</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">Comments about the use of this element</span><span style="color: Gray"> --&gt;</span>
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.requirements" title="Explains why this element is needed and why it's been constrained as it has."><b>requirements</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">Why is this needed?</span><span style="color: Gray"> --&gt;</span>
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.synonym" title="Identifies additional names by which this element might also be known."><b>synonym</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..*</b></span> <span style="color: navy">Other names</span><span style="color: Gray"> --&gt;</span>
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.min" title="The minimum number of times this element SHALL appear in the instance."><b>min</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#integer">integer</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy">Minimum Cardinality</span><span style="color: Gray"> --&gt;</span>
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.max" title="The maximum number of times this element is permitted to appear in the instance."><b>max</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown" title="Inv-6: Max SHALL be a number or &quot;*&quot;"><b><img alt="??" src="lock.png"/> 1..1</b></span> <span style="color: navy">Maximum Cardinality (a number or *)</span><span style="color: Gray"> --&gt;</span>
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.type" title="The data type or resource that the value of this element is permitted to be."><b>type</b></a>&gt;  <span style="color: Gray">&lt;!-- <span style="color: brown"><b>0..*</b></span> Data type and Profile for this element --&gt;</span>
     &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.type.code" title="Name of Data type or Resource."><b>code</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#code">code</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy"><a href="data-types.html" style="color: navy">Name of Data type or Resource</a></span><span style="color: Gray"> --&gt;</span>
     &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.type.profile" title="Identifies a profile that SHALL hold for resources or datatypes referenced as the type
         of this element. Can be a local reference - to another structure in this profile, or a
         reference to a structure in another profile."><b>profile</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#uri">uri</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown" title="Inv-8: SHALL define at least one structure constraint or extension definition"><b><img alt="??" src="lock.png"/> 0..1</b></span> <span style="color: navy">Profile.structure to apply</span><span style="color: Gray"> --&gt;</span>
     &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.type.aggregation" title="If the type is a reference to another resource, how the resource is or can be aggreated
         - is it a contained resource, or a reference, and if the context is a bundle, is it included
         in the bundle."><b>aggregation</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#code">code</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown" title="Inv-9: Aggregation may only be specified if one of the allowed types for the element is
         a resource"><b><img alt="??" src="lock.png"/> 0..*</b></span> <span style="color: navy"><a href="resource-aggregation-mode.html" style="color: navy">contained | referenced | bundled - how aggregated</a></span><span style="color: Gray"> --&gt;</span>
    &lt;/type&gt;
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.nameReference" title="Identifies the name of a slice defined elsewhere in the profile whose constraints should
         be applied to the current element."><b>nameReference</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown" title="Inv-2: Either a namereference or a fixed value (but not both) is permitted"><b><img alt="??" src="lock.png"/> 0..1</b></span> <span style="color: navy">To another element constraint (by element.name)</span><span style="color: Gray"> --&gt;</span>
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.value_x_" title="Specifies a primitive value that SHALL hold for this element in the instance."><b>value[x]</b></a>&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown" title="Inv-2: Either a namereference or a fixed value (but not both) is permitted; Inv-10: Value
         may only be specified if the type consists of a single repetition that has a type corresponding
         to one of the primitive data types."><b><img alt="??" src="lock.png"/> 0..1</b></span> <span style="color: darkgreen"><a href="datatypes.html#open">*</a></span> <span style="color: navy">Fixed value: [as defined for a primitive type]</span><span style="color: Gray"> --&gt;</span>&lt;/value[x]&gt;
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.example_x_" title="An example value for this element."><b>example[x]</b></a>&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: darkgreen"><a href="datatypes.html#open">*</a></span> <span style="color: navy">Example value: [as defined for type]</span><span style="color: Gray"> --&gt;</span>&lt;/example[x]&gt;
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.maxLength" title="Indicates the shortest length that SHALL be supported by conformant instances without
         truncation."><b>maxLength</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#integer">integer</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">Length for strings</span><span style="color: Gray"> --&gt;</span>
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.condition" title="A reference to an invariant that may make additional statements about the cardinality
         or value in the instance."><b>condition</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#id">id</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..*</b></span> <span style="color: navy">Reference to invariant about presence</span><span style="color: Gray"> --&gt;</span>
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.constraint" title="Formal constraints such as co-occurrence and other constraints that can be computationally
         evaluated within the context of the instance."><b>constraint</b></a>&gt;  <span style="color: Gray">&lt;!-- <span style="color: brown"><b>0..*</b></span> Condition that must evaluate to true --&gt;</span>
     &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.constraint.key" title="Allows identification of which elements have their cardinalities impacted by the constraint.
          Will not be referenced for constraints that do not affect cardinality."><b>key</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#id">id</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy">Target of 'condition' reference above</span><span style="color: Gray"> --&gt;</span>
     &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.constraint.name" title="Used to label the constraint in OCL or in short displays incapable of displaying the full
         human description."><b>name</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">Short human label</span><span style="color: Gray"> --&gt;</span>
     &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.constraint.severity" title="Identifies the impact constraint violation has on the conformance of the instance."><b>severity</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#code">code</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy"><a href="constraint-severity.html" style="color: navy">error | warning</a></span><span style="color: Gray"> --&gt;</span>
     &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.constraint.human" title="Text that can be used to describe the constraint in messages identifying that the constraint
         has been violated."><b>human</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy">Human description of constraint</span><span style="color: Gray"> --&gt;</span>
     &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.constraint.xpath" title="XPath expression of constraint."><b>xpath</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy">XPath expression of constraint</span><span style="color: Gray"> --&gt;</span>
    &lt;/constraint&gt;
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.mustSupport" title="If true, conformant resource authors SHALL be capable of providing a value for the element
         and resource consumers SHALL be capable of extracting and doing something useful with
         the data element.  If false, the element may be ignored and not supported."><b>mustSupport</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#boolean">boolean</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">If the element must supported</span><span style="color: Gray"> --&gt;</span>
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.isModifier" title="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."><b>isModifier</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#boolean">boolean</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy">If this modifies the meaning of other elements</span><span style="color: Gray"> --&gt;</span>
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.binding" title="Binds to a value set if this element is coded (code, Coding, CodeableConcept)."><b>binding</b></a>&gt;  <span style="color: Gray">&lt;!-- <span style="color: brown" title="Inv-12: Only complex types can be constrained, not primitive types such as string etc."><b><img alt="??" src="lock.png"/> 0..1</b></span> ValueSet details if this is coded --&gt;</span>
     &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.binding.name" title="A descriptive name for this - can be useful for generating implementation artifacts."><b>name</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown" title="Inv-11: Must have either a slice or a definition, but not both"><b><img alt="??" src="lock.png"/> 1..1</b></span> <span style="color: navy">Descriptive Name</span><span style="color: Gray"> --&gt;</span>
     &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.binding.isExtensible" title="If true, then conformant systems may use additional codes or (where the data type permits)
         text alone to convey concepts not covered by the set of codes identified in the binding.
          If false, then conformant systems are constrained to the provided codes alone."><b>isExtensible</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#boolean">boolean</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown" title="Inv-14: Example value sets are always extensible"><b><img alt="??" src="lock.png"/> 1..1</b></span> <span style="color: navy">Can additional codes be used?</span><span style="color: Gray"> --&gt;</span>
     &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.binding.conformance" title="Indicates the degree of conformance expectations associated with this binding."><b>conformance</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#code">code</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown" title="Inv-14: Example value sets are always extensible"><b><img alt="??" src="lock.png"/> 0..1</b></span> <span style="color: navy"><a href="binding-conformance.html" style="color: navy">required | preferred | example</a></span><span style="color: Gray"> --&gt;</span>
     &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.binding.description" title="Describes the intended use of this particular set of codes."><b>description</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown" title="Inv-3: provide either a reference or a description (or both)"><b><img alt="??" src="lock.png"/> 0..1</b></span> <span style="color: navy">Human explanation of the value set</span><span style="color: Gray"> --&gt;</span>
     &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.binding.reference_x_" title="Points to the value set or external definition that identifies the set of codes to be
         used."><b>reference[x]</b></a>&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown" title="Inv-3: provide either a reference or a description (or both)"><b><img alt="??" src="lock.png"/> 0..1</b></span> <span style="color: darkgreen"><a href="datatypes.html#uri">uri</a>|<a href="references.html#Resource">Resource</a>(<a href="valueset.html#ValueSet">ValueSet</a>)</span> <span style="color: navy">Source of value set</span><span style="color: Gray"> --&gt;</span>&lt;/reference[x]&gt;
    &lt;/binding&gt;
    &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.mapping" title="Identifies a concept from an external specification that roughly corresponds to this element."><b>mapping</b></a>&gt;  <span style="color: Gray">&lt;!-- <span style="color: brown"><b>0..*</b></span> Map element to another set of definitions --&gt;</span>
     &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.mapping.identity" title="An internal reference to the definition of a mapping."><b>identity</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#id">id</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown" title="Inv-26: Must have at a name or a uri (or both)"><b><img alt="??" src="lock.png"/> 1..1</b></span> <span style="color: navy">Reference to mapping declaration</span><span style="color: Gray"> --&gt;</span>
     &lt;<a class="dict" href="profile-definitions.html#Profile.structure.element.definition.mapping.map" title="Expresses what part of the target specification corresponds to this element."><b>map</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy">Details of the mapping</span><span style="color: Gray"> --&gt;</span>
    &lt;/mapping&gt;
   &lt;/definition&gt;
  &lt;/element&gt;
  &lt;<a class="dict" href="profile-definitions.html#Profile.structure.searchParam" title="Additional search parameters for implementations to support and/or make use of."><b>searchParam</b></a>&gt;  <span style="color: Gray">&lt;!-- <span style="color: brown"><b>0..*</b></span> Search params defined --&gt;</span>
   &lt;<a class="dict" href="profile-definitions.html#Profile.structure.searchParam.name" title="The name of the standard or custom search parameter."><b>name</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy">Name of search parameter</span><span style="color: Gray"> --&gt;</span>
   &lt;<a class="dict" href="profile-definitions.html#Profile.structure.searchParam.type" title="The type of value a search parameter refers to, and how the content is interpreted."><b>type</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#code">code</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy"><a href="search-param-type.html" style="color: navy">number | date | string | token | reference | composite | quantity</a></span><span style="color: Gray"> --&gt;</span>
   &lt;<a class="dict" href="profile-definitions.html#Profile.structure.searchParam.documentation" title="A specification for search parameters. For standard parameters, provides additional information
         on how the parameter is used in this solution.  For custom parameters, provides a description
         of what the parameter does."><b>documentation</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy">Contents and meaning of search parameter</span><span style="color: Gray"> --&gt;</span>
   &lt;<a class="dict" href="profile-definitions.html#Profile.structure.searchParam.xpath" title="An XPath expression that returns a set of elements for the search parameter."><b>xpath</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">XPath that extracts the parameter set</span><span style="color: Gray"> --&gt;</span>
   &lt;<a class="dict" href="profile-definitions.html#Profile.structure.searchParam.target" title="Types of resource (if a resource is referenced)."><b>target</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#code">code</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..*</b></span> <span style="color: navy"><a href="resource-types.html" style="color: navy">Types of resource (if a resource reference)</a></span><span style="color: Gray"> --&gt;</span>
  &lt;/searchParam&gt;
 &lt;/structure&gt;
 &lt;<a class="dict" href="profile-definitions.html#Profile.extensionDefn" title="An extension defined as part of the profile."><b>extensionDefn</b></a>&gt;  <span style="color: Gray">&lt;!-- <span style="color: brown" title="Inv-8: SHALL define at least one structure constraint or extension definition"><b><img alt="??" src="lock.png"/> 0..*</b></span> Definition of an extension --&gt;</span>
  &lt;<a class="dict" href="profile-definitions.html#Profile.extensionDefn.code" title="A unique code (within the profile) used to identify the extension."><b>code</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#code">code</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown" title="Inv-5: Codes SHALL be unique in the context of a profile"><b><img alt="??" src="lock.png"/> 1..1</b></span> <span style="color: navy">Identifies the extension in this profile</span><span style="color: Gray"> --&gt;</span>
  &lt;<a class="dict" href="profile-definitions.html#Profile.extensionDefn.display" title="Defined so that applications can use this name when displaying the value of the extension
         to the user."><b>display</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..1</b></span> <span style="color: navy">Use this name when displaying the value</span><span style="color: Gray"> --&gt;</span>
  &lt;<a class="dict" href="profile-definitions.html#Profile.extensionDefn.contextType" title="Identifies the type of context to which the extension applies."><b>contextType</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#code">code</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy"><a href="extension-context.html" style="color: navy">resource | datatype | mapping | extension</a></span><span style="color: Gray"> --&gt;</span>
  &lt;<a class="dict" href="profile-definitions.html#Profile.extensionDefn.context" title="Identifies the types of resource or data type elements to which the extension can be applied."><b>context</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..*</b></span> <span style="color: navy">Where the extension can be used in instances</span><span style="color: Gray"> --&gt;</span>
  &lt;<a class="dict" href="profile-definitions.html#Profile.extensionDefn.definition" title="Definition of the extension and its content."><b>definition</b></a>&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: darkgreen">Content as for Profile.structure.element.definition</span> <span style="color: navy">Definition of the extension and its content</span><span style="color: Gray"> --&gt;</span>&lt;/definition&gt;
 &lt;/extensionDefn&gt;
 &lt;<a class="dict" href="profile-definitions.html#Profile.query" title="Definition of a named query and its parameters and their meaning."><b>query</b></a>&gt;  <span style="color: Gray">&lt;!-- <span style="color: brown"><b>0..*</b></span> Definition of a named query --&gt;</span>
  &lt;<a class="dict" href="profile-definitions.html#Profile.query.name" title="The name of a query, which is used in the URI from Conformance statements declaring use
         of the query.  Typically this will also be the name for the _query parameter when the
         query is called, though in some cases it may be aliased by a server to avoid collisions."><b>name</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy">Special named queries (_query=)</span><span style="color: Gray"> --&gt;</span>
  &lt;<a class="dict" href="profile-definitions.html#Profile.query.documentation" title="Description of the query - the functionality it offers, and considerations about how it
         functions and to use it."><b>documentation</b></a> value=&quot;[<span style="color: darkgreen"><a href="datatypes.html#string">string</a></span>]&quot;/&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>1..1</b></span> <span style="color: navy">Describes the named query</span><span style="color: Gray"> --&gt;</span>
  &lt;<a class="dict" href="profile-definitions.html#Profile.query.parameter" title="A parameter of a named query."><b>parameter</b></a>&gt;<span style="color: Gray">&lt;!--</span> <span style="color: brown"><b>0..*</b></span> <span style="color: darkgreen">Content as for Profile.structure.searchParam</span> <span style="color: navy">Parameter for the named query</span><span style="color: Gray"> --&gt;</span>&lt;/parameter&gt;
 &lt;/query&gt;
&lt;/Profile&gt;
</pre></div>
  </text>
  <name value="profile"/>
  <publisher value="FHIR Project"/>
  <description value="Basic Profile. A Resource Profile - a statement of use of one or more FHIR Resources.
    It may include constraints on Resources and Data Types, Terminology Binding Statements
   and Extension Definitions."/>
  <status value="draft"/>
  <date value="2014-09-30"/>
  <requirements value="Scope and Usage This specification describes a set of base resources that are used in
   many different contexts in healthcare. In order to make this manageable, applications
   and specifications need to be able to describe restrictions on how one or more resource(s)
   are used, including defining extensions, and controlling how terminology is used. These
   descriptions need to be able to be shared through repositories of profile definitions,
   and need to allow for these usage statements to be published, compared, and used as the
   basis for code, report and UI generation. All these things are done using a &quot;Profile&quot;,
   which itself is represented as a resource.   Profile resources have three main parts:
     * A metadata section the describes the profile, and supports registry searching * Structures
   that define and describe how a Resource or Data Type is used * Extension Definitions that
   define extensions that can be used in structures This page defines the profile resource,
   and describes how it is used. Note that as part of the specification itself, a full set
   of profiles for all resources and data types is published.   A FHIR RESTful server serving
   the profile resource is also a profile repository. HL7 hosts one for public registration
   of FHIR profiles at (yet to be done)."/>
  <structure>
    <type value="Profile"/>
    <publish value="true"/>
    <element>
      <path value="Profile"/>
      <definition>
        <short value="Resource Profile"/>
        <formal value="A Resource Profile - a statement of use of one or more FHIR Resources.  It may include
         constraints on Resources and Data Types, Terminology Binding Statements and Extension
         Definitions."/>
        <comments value="Often called a clinical template."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="Resource"/>
        </type>
        <constraint>
          <key value="17"/>
          <severity value="error"/>
          <human value="There can't be multiple structures with the same type and name"/>
          <xpath value="not(exists(for $structure in f:structure return $structure/preceding-sibling::f:structure[f:type/@va
          lue=$structure/f:type/@value and f:name/@value = $structure/f:name/@value]))"/>
        </constraint>
        <constraint>
          <key value="15"/>
          <severity value="error"/>
          <human value="Where multiple structures exist with the same type, they SHALL have names"/>
          <xpath value="count(f:structure[not(f:name)]) = count(distinct-values(f:structure[not(f:name)]/f:type/@value))"/>
        </constraint>
        <constraint>
          <key value="8"/>
          <severity value="error"/>
          <human value="SHALL define at least one structure constraint or extension definition"/>
          <xpath value="exists(f:structure) or exists(f:extensionDefn)"/>
        </constraint>
        <constraint>
          <key value="16"/>
          <severity value="error"/>
          <human value="Extension definition codes must be unique"/>
          <xpath value="count(f:extensionDefn) = count(distinct-values(f:extensionDefn/f:code/@value))"/>
        </constraint>
        <constraint>
          <key value="27"/>
          <severity value="error"/>
          <human value="Structure name must be unique"/>
          <xpath value="count(distinct-values(f:structure/f:name/@value)) =count(f:structure/f:name)"/>
        </constraint>
        <constraint>
          <key value="28"/>
          <severity value="error"/>
          <human value="Query name must be unique"/>
          <xpath value="count(distinct-values(f:query/f:name/@value)) =count(f:query/f:name)"/>
        </constraint>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.extension"/>
      <definition>
        <short value="Additional Content defined by implementations"/>
        <formal value="May be used to represent additional information that is not part of the basic definition
         of the resource. In order to make the use of extensions safe and manageable, there is
         a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.modifierExtension"/>
      <definition>
        <short value="Extensions that cannot be ignored"/>
        <formal value="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.
         Usually modifier elements provide negation or qualification. In order to make the use
         of extensions safe and manageable, there is a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.text"/>
      <definition>
        <short value="Text summary of the resource, for human interpretation"/>
        <formal value="A human-readable narrative that contains a summary of the resource, and may 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."/>
        <comments value="Contained resources do not have narrative. Resources that are not contained SHOULD have
         a narrative."/>
        <synonym value="narrative"/>
        <synonym value="html"/>
        <synonym value="xhtml"/>
        <synonym value="display"/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="Narrative"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.contained"/>
      <definition>
        <short value="Contained, inline Resources"/>
        <formal value="These resources do not have an independent existence apart from the resource that contains
         them - they cannot be identified independently, and nor can they have their own independent
         transaction scope."/>
        <comments value="This should never be done when the content can be identified properly, as once identification
         is lost, it is extremely difficult (and context dependent) to restore it again."/>
        <synonym value="inline resources"/>
        <synonym value="anonymous resources"/>
        <synonym value="contained resources"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Resource"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.identifier"/>
      <definition>
        <short value="Logical id to reference this profile"/>
        <formal value="The identifier that is used to identify this profile when it is referenced in a specification,
         model, design or an instance  (should be globally unique OID, UUID, or URI)."/>
        <comments value="N/A."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.version"/>
      <definition>
        <short value="Logical id for this version of the profile"/>
        <formal value="The identifier that is used to identify this version of the profile when it is referenced
         in a specification, model, design or instance. This is an arbitrary value managed by the
         profile author manually and the value should be a timestamp."/>
        <comments value="N/A."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.name"/>
      <definition>
        <short value="Informal name for this profile"/>
        <formal value="A free text natural language name identifying the Profile."/>
        <comments value="Not expected to be globally unique."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.publisher"/>
      <definition>
        <short value="Name of the publisher (Organization or individual)"/>
        <formal value="Details of the individual or organization who accepts responsibility for publishing the
         profile."/>
        <comments value="Usually an organization, but may be an individual. This item SHOULD be populated unless
         the information is available from context."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.telecom"/>
      <definition>
        <short value="Contact information of the publisher"/>
        <formal value="Contact details to assist a user in finding and communicating with the publisher."/>
        <comments value="May be a web site, an email address, a telephone number (tel:), etc."/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Contact"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.description"/>
      <definition>
        <short value="Natural language description of the profile"/>
        <formal value="A free text natural language description of the profile and its use."/>
        <comments value="This field can be used for things such as why the profile was written, comments about
         misuse, instructions for clinical use and interpretation, literature references, examples
         from the paper world, etc.  It is *not* a rendering of the profile as conveyed in Profile.text.
         This item SHOULD be populated unless the information is available from context."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.code"/>
      <definition>
        <short value="Assist with indexing and finding"/>
        <formal value="A set of terms from external terminologies that may be used to assist with indexing and
         searching of templates."/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Coding"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.status"/>
      <definition>
        <short value="draft | active | retired"/>
        <formal value="The status of the profile."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="code"/>
        </type>
        <isModifier value="true"/>
        <binding>
          <name value="ResourceProfileStatus"/>
          <isExtensible value="false"/>
          <conformance value="required"/>
          <referenceResource>
            <reference value="http://hl7.org/fhir/vs/resource-profile-status"/>
          </referenceResource>
        </binding>
      </definition>
    </element>
    <element>
      <path value="Profile.experimental"/>
      <definition>
        <short value="If for testing purposes, not real usage"/>
        <formal value="This profile was authored for testing purposes (or education/evaluation/marketing), and
         is not intended to be used for genuine usage."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="boolean"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.date"/>
      <definition>
        <short value="Date for this version of the profile"/>
        <formal value="The date that this version of the profile was published."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="dateTime"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.requirements"/>
      <definition>
        <short value="Scope and Usage this profile is for"/>
        <formal value="The Scope and Usage that this profile was created to meet."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.fhirVersion"/>
      <definition>
        <short value="FHIR Version this profile targets"/>
        <formal value="The version of the FHIR specification on which this profile is based."/>
        <comments value="A profile does not need to specify the target it applies to,as profiles will often be
         valid across multiple versions of FHIR. FHIR tooling can determine whether a profile is
         consistent with a particular profile if desired."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="id"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.mapping"/>
      <definition>
        <short value="External specification that the content is mapped to"/>
        <formal value="An external specification that the content is mapped to."/>
        <min value="0"/>
        <max value="*"/>
        <constraint>
          <key value="26"/>
          <severity value="error"/>
          <human value="Must have at a name or a uri (or both)"/>
          <xpath value="exists(f:uri) or exists(f:name)"/>
        </constraint>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.mapping.extension"/>
      <definition>
        <short value="Additional Content defined by implementations"/>
        <formal value="May be used to represent additional information that is not part of the basic definition
         of the resource. In order to make the use of extensions safe and manageable, there is
         a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.mapping.modifierExtension"/>
      <definition>
        <short value="Extensions that cannot be ignored"/>
        <formal value="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.
         Usually modifier elements provide negation or qualification. In order to make the use
         of extensions safe and manageable, there is a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.mapping.identity"/>
      <definition>
        <short value="Internal id when this mapping is used"/>
        <formal value="An Internal id that is used to identify this mapping set when specific mappings are made."/>
        <comments value="The specification is described once, with general comments, and then specific mappings
         are made that reference this declaration."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="id"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.mapping.uri"/>
      <definition>
        <short value="Identifies what this mapping refers to"/>
        <formal value="A URI that identifies the specification that this mapping is expressed to."/>
        <comments value="A formal identity for the specification being mapped to helps with identifying maps consistently."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="uri"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.mapping.name"/>
      <definition>
        <short value="Names what this mapping refers to"/>
        <formal value="A name for the specification that is being mapped to."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.mapping.comments"/>
      <definition>
        <short value="Versions, Issues, Scope limitations etc"/>
        <formal value="Comments about this mapping, including version notes, issues, scope limitations, and other
         important notes for usage."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure"/>
      <definition>
        <short value="A constraint on a resource or a data type"/>
        <formal value="A constraint statement about what contents a resource or data type may have."/>
        <min value="0"/>
        <max value="*"/>
        <constraint>
          <key value="18"/>
          <severity value="error"/>
          <human value="Element paths must be unique - or not (LM)"/>
          <xpath value="count(f:element) &gt;= count(distinct-values(f:element/f:path/@value))"/>
        </constraint>
        <constraint>
          <key value="29"/>
          <severity value="error"/>
          <human value="Parameter names must be unique within structure"/>
          <xpath value="count(distinct-values(f:searchParam/f:name/@value)) =count(f:searchParam/f:name)"/>
        </constraint>
        <constraint>
          <key value="12"/>
          <severity value="error"/>
          <human value="Only complex types can be constrained, not primitive types such as string etc."/>
          <xpath value="upper-case(substring(f:type,1,1))=substring(f:type,1,1)"/>
        </constraint>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.extension"/>
      <definition>
        <short value="Additional Content defined by implementations"/>
        <formal value="May be used to represent additional information that is not part of the basic definition
         of the resource. In order to make the use of extensions safe and manageable, there is
         a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.modifierExtension"/>
      <definition>
        <short value="Extensions that cannot be ignored"/>
        <formal value="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.
         Usually modifier elements provide negation or qualification. In order to make the use
         of extensions safe and manageable, there is a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.type"/>
      <definition>
        <short value="The Resource or Data Type being described"/>
        <formal value="The Resource or Data type being described."/>
        <comments value="Only complex types can be constrained, not primitive types such as string etc."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="code"/>
        </type>
        <isModifier value="false"/>
        <binding>
          <name value="FHIRDefinedType"/>
          <isExtensible value="false"/>
          <conformance value="required"/>
          <referenceResource>
            <reference value="http://hl7.org/fhir/defined-types"/>
          </referenceResource>
        </binding>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.name"/>
      <definition>
        <short value="Name for this particular structure (reference target)"/>
        <formal value="The name of this resource constraint statement (to refer to it from other resource constraints
         - from Profile.structure.element.definition.type.profile)."/>
        <comments value="This field is the target for a resource.profile."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.publish"/>
      <definition>
        <short value="This definition is published (i.e. for validation)"/>
        <formal value="This definition of a profile on a structure is published as a formal statement. Some structural
         definitions might be defined purely for internal use within the profile, and not intended
         to be used outside that context."/>
        <comments value="If there is more than one published structure for each type, and the URL reference to
         the profile doesn't specify which named structure to use (using a URL fragment, e.g. #...)
         then which profile to use is indeterminate, and an error should be raised."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="boolean"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.purpose"/>
      <definition>
        <short value="Human summary: why describe this resource?"/>
        <formal value="Human summary: why describe this resource?."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element"/>
      <definition>
        <short value="Definition of elements in the resource (if no profile)"/>
        <formal value="Captures constraints on each element within the resource."/>
        <min value="0"/>
        <max value="*"/>
        <constraint>
          <key value="21"/>
          <severity value="error"/>
          <human value="An element that's a slicing descriptor must not be preceded by an element that starts
           with the same path and must be followed by an element with exactly the same path."/>
          <xpath value="not(f:slicing) or (not(starts-with(preceding-sibling::f:element[1]/f:path/@value, current()/f:path/@
          value)) and following-sibling::f:element[1]/f:path/@value=current()/f:path/@value)"/>
        </constraint>
        <constraint>
          <key value="20"/>
          <severity value="error"/>
          <human value="An element must either be a definition or a slicing descriptor, never both."/>
          <xpath value="exists(f:slicing)!=exists(f:definition)"/>
        </constraint>
        <constraint>
          <key value="11"/>
          <severity value="error"/>
          <human value="Must have either a slice or a definition, but not both"/>
          <xpath value="exists(f:slicing) != exists(f:definition)"/>
        </constraint>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.extension"/>
      <definition>
        <short value="Additional Content defined by implementations"/>
        <formal value="May be used to represent additional information that is not part of the basic definition
         of the resource. In order to make the use of extensions safe and manageable, there is
         a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.modifierExtension"/>
      <definition>
        <short value="Extensions that cannot be ignored"/>
        <formal value="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.
         Usually modifier elements provide negation or qualification. In order to make the use
         of extensions safe and manageable, there is a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.path"/>
      <definition>
        <short value="The path of the element (see the formal definitions)"/>
        <formal value="The path identifies the element and is expressed as a &quot;.&quot;-separated list of
         ancestor elements, beginning with the name of the resource."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.representation"/>
      <definition>
        <short value="How this element is represented in instances"/>
        <formal value="Codes that define how this element is represented in instances, when the deviation varies
         from the normal case."/>
        <comments value="This is rarely used except for special cases where the representation deviates from the
         norml, which is done only very reluctantly, and can only be done in the base standard
         (and profiles must reproduce what the base standard does."/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="code"/>
        </type>
        <isModifier value="false"/>
        <binding>
          <name value="PropertyRepresentation"/>
          <isExtensible value="false"/>
          <conformance value="required"/>
          <referenceResource>
            <reference value="http://hl7.org/fhir/vs/property-representation"/>
          </referenceResource>
        </binding>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.name"/>
      <definition>
        <short value="Name for this particular element definition (reference target)"/>
        <formal value="The name of this element definition (to refer to it from other element definitions using
         Profile.structure.element.definition.nameReference). This is a unique name referring to
         a specific set of constraints applied to this element. One use of this is to provide a
         name to different slices of the same element."/>
        <comments value="The name SHALL be unique within the profile and all imported profiles within the context
         of the constrained resource element.  (Though to avoid confusion, uniqueness across all
         elements is recommended.)."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.slicing"/>
      <definition>
        <short value="This element is sliced - slices follow"/>
        <formal value="Indicates that the element is sliced into a set of alternative definitions (there are
         multiple definitions on a single element in the base resource). 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)."/>
        <min value="0"/>
        <max value="1"/>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.slicing.extension"/>
      <definition>
        <short value="Additional Content defined by implementations"/>
        <formal value="May be used to represent additional information that is not part of the basic definition
         of the resource. In order to make the use of extensions safe and manageable, there is
         a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.slicing.modifierExtension"/>
      <definition>
        <short value="Extensions that cannot be ignored"/>
        <formal value="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.
         Usually modifier elements provide negation or qualification. In order to make the use
         of extensions safe and manageable, there is a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.slicing.discriminator"/>
      <definition>
        <short value="Element that used to distinguish the slices"/>
        <formal value="Designates which child element is used to discriminate between the slices when processing
         an instance. The value of the child element in the instance SHALL completely distinguish
         which slice the element in the resource matches based on the allowed values for that element
         in each of the slices."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="id"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.slicing.ordered"/>
      <definition>
        <short value="If elements must be in same order as slices"/>
        <formal value="If the matching elements have to occur in the same order as defined in the profile."/>
        <comments value="Order should only be required when it is a pressing concern for presentation. Profile
         authors should consider making the order a feature of the rules about the narrative, not
         the rules about the data - requiring ordered data makes the profile much less re-usable."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="boolean"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.slicing.rules"/>
      <definition>
        <short value="closed | open | openAtEnd"/>
        <formal value="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."/>
        <comments value="Allowing additional elements makes for a much for flexible template - it's open for use
         in wider contexts, but also means that the content of the resource is not closed, and
         applications have to decide how to handle content not described by the profile."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="code"/>
        </type>
        <isModifier value="false"/>
        <binding>
          <name value="SlicingRules"/>
          <isExtensible value="false"/>
          <conformance value="required"/>
          <referenceResource>
            <reference value="http://hl7.org/fhir/vs/resource-slicing-rules"/>
          </referenceResource>
        </binding>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition"/>
      <definition>
        <short value="More specific definition of the element"/>
        <formal value="Definition of the content of the element to provide a more specific definition than that
         contained for the element in the base resource."/>
        <comments value="The definition SHALL be a proper constraint on the definition of the base resource."/>
        <min value="0"/>
        <max value="1"/>
        <constraint>
          <key value="2"/>
          <severity value="error"/>
          <human value="Either a namereference or a fixed value (but not both) is permitted"/>
          <xpath value="not(exists(f:nameReference) and exists(f:*[starts-with(local-name(.), 'value')]))"/>
        </constraint>
        <constraint>
          <key value="10"/>
          <severity value="error"/>
          <human value="Value may only be specified if the type consists of a single repetition that has a type
           corresponding to one of the primitive data types."/>
          <xpath value="not(exists(f:*[starts-with(local-name(.), 'value')])) or (count(f:type)=1 and f:type/f:code[substrin
          g(@value,1,1)=lower-case(substring(@value,1,1))])"/>
        </constraint>
        <constraint>
          <key value="7"/>
          <severity value="error"/>
          <human value="Binding can only be present for coded elements"/>
          <xpath value="not(exists(f:binding)) or f:type/f:code/@value=('code','Coding','CodeableConcept','Quantity')"/>
        </constraint>
        <constraint>
          <key value="19"/>
          <severity value="error"/>
          <human value="Element names must be unique"/>
          <xpath value="count(f:element[f:name]) = count(distinct-values(f:element/f:name/@value))"/>
        </constraint>
        <constraint>
          <key value="22"/>
          <severity value="error"/>
          <human value="If a definition has multiple types with the same code, each must specify a profile"/>
          <xpath value="count(f:type[not(f:profile)]) = count(distinct-values(f:type[not(f:profile)]/f:code/@value))"/>
        </constraint>
        <constraint>
          <key value="23"/>
          <severity value="error"/>
          <human value="Types must be unique by the combination of code and profile"/>
          <xpath value="not(exists(for $type in f:type return $type/preceding-sibling::f:type[f:code/@value=$type/f:code/@va
          lue and f:profile/@value = $type/f:profile/@value]))"/>
        </constraint>
        <constraint>
          <key value="24"/>
          <severity value="error"/>
          <human value="Constraints must be unique by key"/>
          <xpath value="count(f:constraint) = count(distinct-values(f:constraint/f:key/@value))"/>
        </constraint>
        <constraint>
          <key value="25"/>
          <severity value="error"/>
          <human value="Constraint names must be unique."/>
          <xpath value="count(f:constraint[f:name]) = count(distinct-values(f:constraint/f:name/@value))"/>
        </constraint>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.extension"/>
      <definition>
        <short value="Additional Content defined by implementations"/>
        <formal value="May be used to represent additional information that is not part of the basic definition
         of the resource. In order to make the use of extensions safe and manageable, there is
         a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.modifierExtension"/>
      <definition>
        <short value="Extensions that cannot be ignored"/>
        <formal value="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.
         Usually modifier elements provide negation or qualification. In order to make the use
         of extensions safe and manageable, there is a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.short"/>
      <definition>
        <short value="Concise definition for xml presentation"/>
        <formal value="A concise definition that  is shown in the generated XML format that summarizes profiles
         (used throughout the specification)."/>
        <comments value="May change the term to provide language more appropriate to the context of the profile
         or to reflect slicing."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.formal"/>
      <definition>
        <short value="Full formal definition in human language"/>
        <formal value="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."/>
        <comments value="It is easy for a different definition to change the meaning of an element and this can
         have nasty downstream consequences. Please be careful when providing definitions."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.comments"/>
      <definition>
        <short value="Comments about the use of this element"/>
        <formal value="Comments about the use of the element, including notes about how to use the data properly,
         exceptions to proper use, etc."/>
        <comments value="If it is possible to capture usage rules using invariants, that mechanism should be used
         in preference to this element."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.requirements"/>
      <definition>
        <short value="Why is this needed?"/>
        <formal value="Explains why this element is needed and why it's been constrained as it has."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.synonym"/>
      <definition>
        <short value="Other names"/>
        <formal value="Identifies additional names by which this element might also be known."/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.min"/>
      <definition>
        <short value="Minimum Cardinality"/>
        <formal value="The minimum number of times this element SHALL appear in the instance."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="integer"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.max"/>
      <definition>
        <short value="Maximum Cardinality (a number or *)"/>
        <formal value="The maximum number of times this element is permitted to appear in the instance."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <constraint>
          <key value="6"/>
          <severity value="error"/>
          <human value="Max SHALL be a number or &quot;*&quot;"/>
          <xpath value="@value='*' or (normalize-space(@value)!='' and normalize-space(translate(@value, '0123456789',''))='
          ')"/>
        </constraint>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.type"/>
      <definition>
        <short value="Data type and Profile for this element"/>
        <formal value="The data type or resource that the value of this element is permitted to be."/>
        <comments value="The Type of the element can be left blank, in which case the type is inherited from the
         resource. The type can only be listed in this field if it is an allowed option in the
         base resource."/>
        <min value="0"/>
        <max value="*"/>
        <constraint>
          <key value="9"/>
          <severity value="error"/>
          <human value="Aggregation may only be specified if one of the allowed types for the element is a resource"/>
          <xpath value="not(exists(f:aggregation)) or exists(f:code[starts-with(@value, 'Resource(')])"/>
        </constraint>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.type.extension"/>
      <definition>
        <short value="Additional Content defined by implementations"/>
        <formal value="May be used to represent additional information that is not part of the basic definition
         of the resource. In order to make the use of extensions safe and manageable, there is
         a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.type.modifierExtension"/>
      <definition>
        <short value="Extensions that cannot be ignored"/>
        <formal value="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.
         Usually modifier elements provide negation or qualification. In order to make the use
         of extensions safe and manageable, there is a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.type.code"/>
      <definition>
        <short value="Name of Data type or Resource"/>
        <formal value="Name of Data type or Resource."/>
        <comments value="If the element is a reference to another resource, this element contains &quot;ResourceReference&quo
        t;, and the profile element refers to the profile of the allowed target of the resource,
         which may be a reference to the general definition of a resource (e.g. http://hl7.org/fhir/profiles/
        Patient). There would be one pair of type/code for each allowed target resource type."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="code"/>
        </type>
        <isModifier value="false"/>
        <binding>
          <name value="DataType"/>
          <isExtensible value="false"/>
          <conformance value="required"/>
          <referenceResource>
            <reference value="http://hl7.org/fhir/data-types"/>
          </referenceResource>
        </binding>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.type.profile"/>
      <definition>
        <short value="Profile.structure to apply"/>
        <formal value="Identifies a profile that SHALL hold for resources or datatypes referenced as the type
         of this element. Can be a local reference - to another structure in this profile, or a
         reference to a structure in another profile."/>
        <comments value="The reference might be a simple name in the form #[name], which is a reference to another
         named constraint in a resource - where the resource contains more than one constraint,
         or a URL which is a reference to a resource Profile, with a terminal #[name] which identifies
         a specific structure entry in the profile."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="uri"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.type.aggregation"/>
      <definition>
        <short value="contained | referenced | bundled - how aggregated"/>
        <formal value="If the type is a reference to another resource, how the resource is or can be aggreated
         - is it a contained resource, or a reference, and if the context is a bundle, is it included
         in the bundle."/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="code"/>
        </type>
        <isModifier value="false"/>
        <binding>
          <name value="AggregationMode"/>
          <isExtensible value="false"/>
          <conformance value="required"/>
          <referenceResource>
            <reference value="http://hl7.org/fhir/vs/resource-aggregation-mode"/>
          </referenceResource>
        </binding>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.nameReference"/>
      <definition>
        <short value="To another element constraint (by element.name)"/>
        <formal value="Identifies the name of a slice defined elsewhere in the profile whose constraints should
         be applied to the current element."/>
        <comments value="If child components of this element are defined, they act as constraints on the referenced
         slice."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.value[x]"/>
      <definition>
        <short value="Fixed value: [as defined for a primitive type]"/>
        <formal value="Specifies a primitive value that SHALL hold for this element in the instance."/>
        <comments value="To specify a fixed value for a complex data type, include the child elements for the type
         and specify fixed values for each property independently."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="*"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.example[x]"/>
      <definition>
        <short value="Example value: [as defined for type]"/>
        <formal value="An example value for this element."/>
        <comments value="If the example value are fully populated, the publication tool can generate an instance
         automatically."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="*"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.maxLength"/>
      <definition>
        <short value="Length for strings"/>
        <formal value="Indicates the shortest length that SHALL be supported by conformant instances without
         truncation."/>
        <comments value="If not specified, there is no conformance expectation for length support."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="integer"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.condition"/>
      <definition>
        <short value="Reference to invariant about presence"/>
        <formal value="A reference to an invariant that may make additional statements about the cardinality
         or value in the instance."/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="id"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.constraint"/>
      <definition>
        <short value="Condition that must evaluate to true"/>
        <formal value="Formal constraints such as co-occurrence and other constraints that can be computationally
         evaluated within the context of the instance."/>
        <comments value="Constraints should be declared on the &quot;context&quot; element - the lowest element
         in the hierarchy that is common to all nodes referenced by the constraint."/>
        <min value="0"/>
        <max value="*"/>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.constraint.extension"/>
      <definition>
        <short value="Additional Content defined by implementations"/>
        <formal value="May be used to represent additional information that is not part of the basic definition
         of the resource. In order to make the use of extensions safe and manageable, there is
         a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.constraint.modifierExtension"/>
      <definition>
        <short value="Extensions that cannot be ignored"/>
        <formal value="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.
         Usually modifier elements provide negation or qualification. In order to make the use
         of extensions safe and manageable, there is a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.constraint.key"/>
      <definition>
        <short value="Target of 'condition' reference above"/>
        <formal value="Allows identification of which elements have their cardinalities impacted by the constraint.
          Will not be referenced for constraints that do not affect cardinality."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="id"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.constraint.name"/>
      <definition>
        <short value="Short human label"/>
        <formal value="Used to label the constraint in OCL or in short displays incapable of displaying the full
         human description."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.constraint.severity"/>
      <definition>
        <short value="error | warning"/>
        <formal value="Identifies the impact constraint violation has on the conformance of the instance."/>
        <comments value="This allows constraints to be asserted as &quot;shall&quot; (error) and &quot;should&quot;
         (warning)."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="code"/>
        </type>
        <isModifier value="false"/>
        <binding>
          <name value="ConstraintSeverity"/>
          <isExtensible value="false"/>
          <conformance value="required"/>
          <referenceResource>
            <reference value="http://hl7.org/fhir/vs/constraint-severity"/>
          </referenceResource>
        </binding>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.constraint.human"/>
      <definition>
        <short value="Human description of constraint"/>
        <formal value="Text that can be used to describe the constraint in messages identifying that the constraint
         has been violated."/>
        <comments value="Should be expressed in business terms as much as possible."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.constraint.xpath"/>
      <definition>
        <short value="XPath expression of constraint"/>
        <formal value="XPath expression of constraint."/>
        <comments value="Elements SHALL use &quot;f&quot; as the namespace prefix for the FHIR namespace, and &quot;x&quot;
         for the xhtml namespace, and SHALL not use any other prefixes."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.mustSupport"/>
      <definition>
        <short value="If the element must supported"/>
        <formal value="If true, conformant resource authors SHALL be capable of providing a value for the element
         and resource consumers SHALL be capable of extracting and doing something useful with
         the data element.  If false, the element may be ignored and not supported."/>
        <comments value="&quot;Something useful&quot; is context dependent. This flag is never set to true by the
         FHIR specification itself - it is only set to true in profiles, and when the profile sets
         it true, it SHALL describe what it means for applications to support the element. In general,
         the question is what would a reasonable observer expect of a system that explicitly claims
         to &quot;support&quot; this element?."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="boolean"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.isModifier"/>
      <definition>
        <short value="If this modifies the meaning of other elements"/>
        <formal value="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."/>
        <comments value="Only the definition of an element can set IsModifier true - either the specification itself
         or where an extension is originally defined. Once set to false, it cannot be set to true
         in derived profiles. An element/extension that has isModifier=true SHOULD also have a
         minimum cardinality of 1, so that there is no lack of clarity about what to do if it is
         missing. If it can be missing, the definition SHALL make the meaning of a missing element
         clear."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="boolean"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.binding"/>
      <definition>
        <short value="ValueSet details if this is coded"/>
        <formal value="Binds to a value set if this element is coded (code, Coding, CodeableConcept)."/>
        <min value="0"/>
        <max value="1"/>
        <constraint>
          <key value="3"/>
          <severity value="error"/>
          <human value="provide either a reference or a description (or both)"/>
          <xpath value="(exists(f:referenceUri) or exists(f:referenceResource)) or exists(f:description)"/>
        </constraint>
        <constraint>
          <key value="14"/>
          <severity value="error"/>
          <human value="Example value sets are always extensible"/>
          <xpath value="not(f:Conformance/value='example' and f:isExtensible.value='false')"/>
        </constraint>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.binding.extension"/>
      <definition>
        <short value="Additional Content defined by implementations"/>
        <formal value="May be used to represent additional information that is not part of the basic definition
         of the resource. In order to make the use of extensions safe and manageable, there is
         a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.binding.modifierExtension"/>
      <definition>
        <short value="Extensions that cannot be ignored"/>
        <formal value="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.
         Usually modifier elements provide negation or qualification. In order to make the use
         of extensions safe and manageable, there is a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.binding.name"/>
      <definition>
        <short value="Descriptive Name"/>
        <formal value="A descriptive name for this - can be useful for generating implementation artifacts."/>
        <comments value="SHALL be unique within the profile.  If the same name as an imported profile, will override
         the imported binding (and SHALL be a proper constraint on the imported binding)."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.binding.isExtensible"/>
      <definition>
        <short value="Can additional codes be used?"/>
        <formal value="If true, then conformant systems may use additional codes or (where the data type permits)
         text alone to convey concepts not covered by the set of codes identified in the binding.
          If false, then conformant systems are constrained to the provided codes alone."/>
        <comments value="When the binding use used for elements with a type of &quot;code&quot; (rather than Coding
         or CodableConcept), the binding is treated as non-extensible regardless of the value of
         this property."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="boolean"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.binding.conformance"/>
      <definition>
        <short value="required | preferred | example"/>
        <formal value="Indicates the degree of conformance expectations associated with this binding."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="code"/>
        </type>
        <isModifier value="false"/>
        <binding>
          <name value="BindingConformance"/>
          <isExtensible value="false"/>
          <conformance value="required"/>
          <referenceResource>
            <reference value="http://hl7.org/fhir/vs/binding-conformance"/>
          </referenceResource>
        </binding>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.binding.description"/>
      <definition>
        <short value="Human explanation of the value set"/>
        <formal value="Describes the intended use of this particular set of codes."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.binding.reference[x]"/>
      <definition>
        <short value="Source of value set"/>
        <formal value="Points to the value set or external definition that identifies the set of codes to be
         used."/>
        <comments value="For value sets,the referenceResource, the display can contain the value set description.
          The reference may be version-specific or not."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="uri"/>
        </type>
        <type>
          <code value="ResourceReference"/>
          <profile value="http://hl7.org/fhir/profiles/ValueSet"/>
        </type>
        <constraint>
          <key value="13"/>
          <severity value="error"/>
          <human value="uri SHALL start with http:// or https://"/>
          <xpath value="starts-with(@value, 'http:') or starts-with(@value, 'https:')"/>
        </constraint>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.mapping"/>
      <definition>
        <short value="Map element to another set of definitions"/>
        <formal value="Identifies a concept from an external specification that roughly corresponds to this element."/>
        <comments value="Mappings are not necessarily specific enough for safe translation."/>
        <min value="0"/>
        <max value="*"/>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.mapping.extension"/>
      <definition>
        <short value="Additional Content defined by implementations"/>
        <formal value="May be used to represent additional information that is not part of the basic definition
         of the resource. In order to make the use of extensions safe and manageable, there is
         a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.mapping.modifierExtension"/>
      <definition>
        <short value="Extensions that cannot be ignored"/>
        <formal value="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.
         Usually modifier elements provide negation or qualification. In order to make the use
         of extensions safe and manageable, there is a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.mapping.identity"/>
      <definition>
        <short value="Reference to mapping declaration"/>
        <formal value="An internal reference to the definition of a mapping."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="id"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.element.definition.mapping.map"/>
      <definition>
        <short value="Details of the mapping"/>
        <formal value="Expresses what part of the target specification corresponds to this element."/>
        <comments value="For most mappings, the syntax is undefined.  Syntax will be provided for mappings to the
         RIM.  Multiple mappings may be possible and may include constraints on other resource
         elements that identify when a particular mapping applies."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.searchParam"/>
      <definition>
        <short value="Search params defined"/>
        <formal value="Additional search parameters for implementations to support and/or make use of."/>
        <min value="0"/>
        <max value="*"/>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.searchParam.extension"/>
      <definition>
        <short value="Additional Content defined by implementations"/>
        <formal value="May be used to represent additional information that is not part of the basic definition
         of the resource. In order to make the use of extensions safe and manageable, there is
         a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.searchParam.modifierExtension"/>
      <definition>
        <short value="Extensions that cannot be ignored"/>
        <formal value="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.
         Usually modifier elements provide negation or qualification. In order to make the use
         of extensions safe and manageable, there is a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.searchParam.name"/>
      <definition>
        <short value="Name of search parameter"/>
        <formal value="The name of the standard or custom search parameter."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.searchParam.type"/>
      <definition>
        <short value="number | date | string | token | reference | composite | quantity"/>
        <formal value="The type of value a search parameter refers to, and how the content is interpreted."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="code"/>
        </type>
        <isModifier value="false"/>
        <binding>
          <name value="SearchParamType"/>
          <isExtensible value="false"/>
          <conformance value="required"/>
          <referenceResource>
            <reference value="http://hl7.org/fhir/vs/search-param-type"/>
          </referenceResource>
        </binding>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.searchParam.documentation"/>
      <definition>
        <short value="Contents and meaning of search parameter"/>
        <formal value="A specification for search parameters. For standard parameters, provides additional information
         on how the parameter is used in this solution.  For custom parameters, provides a description
         of what the parameter does."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.searchParam.xpath"/>
      <definition>
        <short value="XPath that extracts the parameter set"/>
        <formal value="An XPath expression that returns a set of elements for the search parameter."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.structure.searchParam.target"/>
      <definition>
        <short value="Types of resource (if a resource reference)"/>
        <formal value="Types of resource (if a resource is referenced)."/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="code"/>
        </type>
        <isModifier value="false"/>
        <binding>
          <name value="ResourceType"/>
          <isExtensible value="false"/>
          <conformance value="required"/>
          <referenceResource>
            <reference value="http://hl7.org/fhir/resource-types"/>
          </referenceResource>
        </binding>
      </definition>
    </element>
    <element>
      <path value="Profile.extensionDefn"/>
      <definition>
        <short value="Definition of an extension"/>
        <formal value="An extension defined as part of the profile."/>
        <min value="0"/>
        <max value="*"/>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.extensionDefn.extension"/>
      <definition>
        <short value="Additional Content defined by implementations"/>
        <formal value="May be used to represent additional information that is not part of the basic definition
         of the resource. In order to make the use of extensions safe and manageable, there is
         a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.extensionDefn.modifierExtension"/>
      <definition>
        <short value="Extensions that cannot be ignored"/>
        <formal value="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.
         Usually modifier elements provide negation or qualification. In order to make the use
         of extensions safe and manageable, there is a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.extensionDefn.code"/>
      <definition>
        <short value="Identifies the extension in this profile"/>
        <formal value="A unique code (within the profile) used to identify the extension."/>
        <comments value="Matches the portion of a reference to an extension after the # in the a url to the profile."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="code"/>
        </type>
        <constraint>
          <key value="5"/>
          <severity value="error"/>
          <human value="Codes SHALL be unique in the context of a profile"/>
          <xpath value="count(ancestor::f:Profile/f:extensionDefn/f:code[@value=current()/@value])=1"/>
        </constraint>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.extensionDefn.display"/>
      <definition>
        <short value="Use this name when displaying the value"/>
        <formal value="Defined so that applications can use this name when displaying the value of the extension
         to the user."/>
        <comments value="Applications don't have to use this name, but can always fall back to it."/>
        <min value="0"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.extensionDefn.contextType"/>
      <definition>
        <short value="resource | datatype | mapping | extension"/>
        <formal value="Identifies the type of context to which the extension applies."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="code"/>
        </type>
        <isModifier value="false"/>
        <binding>
          <name value="ExtensionContext"/>
          <isExtensible value="false"/>
          <conformance value="required"/>
          <referenceResource>
            <reference value="http://hl7.org/fhir/vs/extension-context"/>
          </referenceResource>
        </binding>
      </definition>
    </element>
    <element>
      <path value="Profile.extensionDefn.context"/>
      <definition>
        <short value="Where the extension can be used in instances"/>
        <formal value="Identifies the types of resource or data type elements to which the extension can be applied."/>
        <min value="1"/>
        <max value="*"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.extensionDefn.definition"/>
      <definition>
        <short value="Definition of the extension and its content"/>
        <formal value="Definition of the extension and its content."/>
        <min value="1"/>
        <max value="1"/>
        <nameReference value="Profile.structure.element.definition"/>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.query"/>
      <definition>
        <short value="Definition of a named query"/>
        <formal value="Definition of a named query and its parameters and their meaning."/>
        <min value="0"/>
        <max value="*"/>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.query.extension"/>
      <definition>
        <short value="Additional Content defined by implementations"/>
        <formal value="May be used to represent additional information that is not part of the basic definition
         of the resource. In order to make the use of extensions safe and manageable, there is
         a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.query.modifierExtension"/>
      <definition>
        <short value="Extensions that cannot be ignored"/>
        <formal value="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.
         Usually modifier elements provide negation or qualification. In order to make the use
         of extensions safe and manageable, there is a strict 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."/>
        <comments value="there can be no stigma associated with the use of extensions by any application, project,
         or standard - regardless of the institution or jurisdiction that uses or defines the extensions.
          The use of extensions is what allows the FHIR specification to retain a core simplicity
         for everyone."/>
        <synonym value="extensions"/>
        <synonym value="user content"/>
        <min value="0"/>
        <max value="*"/>
        <type>
          <code value="Extension"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.query.name"/>
      <definition>
        <short value="Special named queries (_query=)"/>
        <formal value="The name of a query, which is used in the URI from Conformance statements declaring use
         of the query.  Typically this will also be the name for the _query parameter when the
         query is called, though in some cases it may be aliased by a server to avoid collisions."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.query.documentation"/>
      <definition>
        <short value="Describes the named query"/>
        <formal value="Description of the query - the functionality it offers, and considerations about how it
         functions and to use it."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="string"/>
        </type>
        <isModifier value="false"/>
      </definition>
    </element>
    <element>
      <path value="Profile.query.parameter"/>
      <definition>
        <short value="Parameter for the named query"/>
        <formal value="A parameter of a named query."/>
        <min value="0"/>
        <max value="*"/>
        <nameReference value="Profile.structure.searchParam"/>
        <isModifier value="false"/>
      </definition>
    </element>
    <searchParam>
      <name value="_id"/>
      <type value="token"/>
      <documentation value="The logical resource id associated with the resource (must be supported by all servers)"/>
    </searchParam>
    <searchParam>
      <name value="_language"/>
      <type value="token"/>
      <documentation value="The language of the resource"/>
    </searchParam>
    <searchParam>
      <name value="code"/>
      <type value="token"/>
      <documentation value="A code for the profile in the format uri::code (server may choose to do subsumption)"/>
      <xpath value="f:Profile/f:code"/>
    </searchParam>
    <searchParam>
      <name value="date"/>
      <type value="date"/>
      <documentation value="The profile publication date"/>
      <xpath value="f:Profile/f:date"/>
    </searchParam>
    <searchParam>
      <name value="description"/>
      <type value="string"/>
      <documentation value="Text search in the description of the profile"/>
      <xpath value="f:Profile/f:description"/>
    </searchParam>
    <searchParam>
      <name value="extension"/>
      <type value="token"/>
      <documentation value="An extension code (use or definition)"/>
      <xpath value="f:Profile/f:extensionDefn/f:code"/>
    </searchParam>
    <searchParam>
      <name value="identifier"/>
      <type value="token"/>
      <documentation value="The identifier of the profile"/>
      <xpath value="f:Profile/f:identifier"/>
    </searchParam>
    <searchParam>
      <name value="name"/>
      <type value="string"/>
      <documentation value="Name of the profile"/>
      <xpath value="f:Profile/f:name"/>
    </searchParam>
    <searchParam>
      <name value="publisher"/>
      <type value="string"/>
      <documentation value="Name of the publisher of the profile"/>
      <xpath value="f:Profile/f:publisher"/>
    </searchParam>
    <searchParam>
      <name value="status"/>
      <type value="token"/>
      <documentation value="The current status of the profile"/>
      <xpath value="f:Profile/f:status"/>
    </searchParam>
    <searchParam>
      <name value="type"/>
      <type value="token"/>
      <documentation value="Type of resource that is constrained in the profile"/>
      <xpath value="f:Profile/f:structure/f:type"/>
    </searchParam>
    <searchParam>
      <name value="valueset"/>
      <type value="reference"/>
      <documentation value="A vocabulary binding code"/>
      <xpath value="f:Profile/f:structure/f:element/f:definition/f:binding/f:reference[x]"/>
    </searchParam>
    <searchParam>
      <name value="version"/>
      <type value="token"/>
      <documentation value="The version identifier of the profile"/>
      <xpath value="f:Profile/f:version"/>
    </searchParam>
  </structure>
</Profile>