Extensions for Using Data Elements from FHIR STU3 in FHIR R4B
0.1.0 - STU International flag

Extensions for Using Data Elements from FHIR STU3 in FHIR R4B - Downloaded Version null See the Directory of published versions

Resource Profile: Profile_R3_Subscription_R4B - Detailed Descriptions

Page standards status: Trial-use Maturity Level: 0

Definitions for the profile-Subscription resource profile.

Guidance on how to interpret the contents of this table can be foundhere

0. Subscription
Definition

The subscription resource is used to define a push-based subscription from a server to another system. Once a subscription is registered with the server, the server checks every resource that is created or updated, and if the resource matches the given criteria, it sends a message on the defined "channel" so that another system can take an appropriate action.

ShortServer push subscription criteria
Control0..*
Is Modifierfalse
Must Supportfalse
Summaryfalse
Alternate NamesWebHook, Hook, Routing Rule
Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource (contained.where(((id.exists() and ('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url)))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(uri) = '#').exists()).not()).trace('unmatched', id).empty())
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated (contained.meta.versionId.empty() and contained.meta.lastUpdated.empty())
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
dom-6: A resource should have narrative for robust management (text.`div`.exists())
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource (contained.where(((id.exists() and ('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url)))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(uri) = '#').exists()).not()).trace('unmatched', id).empty())
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated (contained.meta.versionId.empty() and contained.meta.lastUpdated.empty())
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
dom-6: A resource should have narrative for robust management (text.`div`.exists())
2. Subscription.implicitRules
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

ShortA set of rules under which this content was created
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Control0..1
Typeuri
Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. Subscription.extension
Definition

An Extension


May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ShortExtensionAdditional content defined by implementations
Comments

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 level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifierfalse
Must Supportfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
SlicingThis element introduces a set of slices on Subscription.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 6. Subscription.extension:tag
    Slice Nametag
    Definition

    STU3: Subscription.tag (new:Coding)

    ShortSTU3: A tag to add to matching resources (new)
    Comments

    Element Subscription.tag has a context of Subscription based on following the parent source element upwards and mapping to Subscription. Element Subscription.tag has no mapping targets in FHIR R4B. Typically, this is because the element has been added (is a new element). So that other systems can tell which resources have been the subject of a notification.

    Control0..*
    This element is affected by the following invariants: ele-1
    TypeExtension(STU3: A tag to add to matching resources (new)) (Extension Type: Coding)
    Is Modifierfalse
    Must Supportfalse
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children unless an empty Parameters resource (hasValue() or (children().count() > id.count()) or $this is Parameters)
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    8. Subscription.modifierExtension
    Definition

    May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

    ShortExtensions that cannot be ignored
    Comments

    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 level of simplicity for everyone.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
    Must Supportfalse
    Summaryfalse
    Requirements

    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

    Alternate Namesextensions, user content
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    10. Subscription.status
    Definition

    The status of the subscription, which marks the server state for managing the subscription.

    Shortrequested | active | error | off
    Comments

    A client can only submit subscription resources in the requested or off state. Only the server can move a subscription from requested to active, and then to error. Either the server or the client can turn a subscription off.

    This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.

    Control1..1
    BindingThe codes SHALL be taken from SubscriptionStatusCodeshttp://hl7.org/fhir/ValueSet/subscription-status|4.3.0
    (required to http://hl7.org/fhir/ValueSet/subscription-status|4.3.0)

    The status of a subscription.

    Typecode
    Is Modifiertrue because This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supportfalse
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    12. Subscription.reason
    Definition

    A description of why this subscription is defined.

    ShortDescription of why this subscription was created
    Control1..1
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supportfalse
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    14. Subscription.criteria
    Definition

    The rules that the server should use to determine when to generate notifications for this subscription.

    ShortRule for server push
    Comments

    The rules are search criteria (without the [base] part). Like Bundle.entry.request.url, it has no leading "/".

    Control1..1
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supportfalse
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    16. Subscription.channel
    Definition

    Details where to send notifications when resources are received that meet the criteria.

    ShortThe channel on which to report matches to the criteria
    Control1..1
    TypeBackboneElement
    Is Modifierfalse
    Must Supportfalse
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children unless an empty Parameters resource (hasValue() or (children().count() > id.count()) or $this is Parameters)
    ele-1: All FHIR elements must have a @value or children unless an empty Parameters resource (hasValue() or (children().count() > id.count()) or $this is Parameters)
    18. Subscription.channel.modifierExtension
    Definition

    May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    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 level of simplicity for everyone.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    20. Subscription.channel.type
    Definition

    The type of channel to send notifications on.

    Shortrest-hook | websocket | email | sms | message
    Control1..1
    BindingThe codes SHALL be taken from SubscriptionChannelTypehttp://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0
    (required to http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0)

    The type of method used to execute a subscription.

    Typecode
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supportfalse
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))

    Guidance on how to interpret the contents of this table can be foundhere

    0. Subscription
    2. Subscription.meta
    4. Subscription.meta.extension
    Control0..*
    SlicingThis element introduces a set of slices on Subscription.meta.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 6. Subscription.meta.extension:meta
      Slice Namemeta
      Definition

      STU3: Subscription.meta additional types (Meta) additional types from child elements (lastUpdated, profile, security, tag, versionId)

      ShortSTU3: meta additional types
      Comments

      Element Subscription.meta is mapped to FHIR R4B element Subscription.meta as SourceIsBroaderThanTarget. The mappings for Subscription.meta do not cover the following types: Meta. The mappings for Subscription.meta do not cover the following types based on type expansion: lastUpdated, profile, security, tag, versionId.

      Control0..1
      TypeExtension(STU3: meta additional types) (Complex Extension)
      8. Subscription.text
      10. Subscription.text.extension
      Control0..*
      SlicingThis element introduces a set of slices on Subscription.text.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ url
      • 12. Subscription.text.extension:text
        Slice Nametext
        Definition

        STU3: Subscription.text additional types (Narrative) additional types from child elements (div, status)

        ShortSTU3: text additional types
        Comments

        Element Subscription.text is mapped to FHIR R4B element Subscription.text as SourceIsBroaderThanTarget. The mappings for Subscription.text do not cover the following types: Narrative. The mappings for Subscription.text do not cover the following types based on type expansion: div, status. Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

        Control0..1
        TypeExtension(STU3: text additional types) (Complex Extension)
        14. Subscription.extension
        Control0..*
        SlicingThis element introduces a set of slices on Subscription.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • 16. Subscription.extension:tag
          Slice Nametag
          Definition

          STU3: Subscription.tag (new:Coding)

          ShortSTU3: A tag to add to matching resources (new)
          Comments

          Element Subscription.tag has a context of Subscription based on following the parent source element upwards and mapping to Subscription. Element Subscription.tag has no mapping targets in FHIR R4B. Typically, this is because the element has been added (is a new element). So that other systems can tell which resources have been the subject of a notification.

          Control0..*
          TypeExtension(STU3: A tag to add to matching resources (new)) (Extension Type: Coding)
          18. Subscription.contact
          20. Subscription.contact.extension
          Control0..*
          SlicingThis element introduces a set of slices on Subscription.contact.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
          • value @ url
          • 22. Subscription.contact.extension:contact
            Slice Namecontact
            Definition

            STU3: Subscription.contact additional types (ContactPoint) additional types from child elements (period, rank, system, use, value)

            ShortSTU3: contact additional types
            Comments

            Element Subscription.contact is mapped to FHIR R4B element Subscription.contact as SourceIsBroaderThanTarget. The mappings for Subscription.contact do not cover the following types: ContactPoint. The mappings for Subscription.contact do not cover the following types based on type expansion: period, rank, system, use, value.

            Control0..*
            TypeExtension(STU3: contact additional types) (Extension Type: ContactPoint)

            Guidance on how to interpret the contents of this table can be foundhere

            0. Subscription
            Definition

            The subscription resource is used to define a push-based subscription from a server to another system. Once a subscription is registered with the server, the server checks every resource that is created or updated, and if the resource matches the given criteria, it sends a message on the defined "channel" so that another system can take an appropriate action.

            ShortServer push subscription criteria
            Control0..*
            Is Modifierfalse
            Must Supportfalse
            Summaryfalse
            Alternate NamesWebHook, Hook, Routing Rule
            Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
            dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource (contained.where(((id.exists() and ('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url)))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(uri) = '#').exists()).not()).trace('unmatched', id).empty())
            dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated (contained.meta.versionId.empty() and contained.meta.lastUpdated.empty())
            dom-5: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
            dom-6: A resource should have narrative for robust management (text.`div`.exists())
            2. Subscription.id
            Definition

            The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

            ShortLogical id of this artifact
            Comments

            The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

            Control0..1
            Typeid
            Is Modifierfalse
            Must Supportfalse
            Summarytrue
            4. Subscription.meta
            Definition

            The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

            ShortMetadata about the resource
            Control0..1
            TypeMeta
            Is Modifierfalse
            Must Supportfalse
            Summarytrue
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            6. Subscription.meta.id
            Definition

            Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

            ShortUnique id for inter-element referencing
            Control0..1
            Typeid
            Is Modifierfalse
            XML FormatIn the XML format, this property is represented as an attribute.
            Summaryfalse
            8. Subscription.meta.extension
            Definition

            An Extension

            ShortExtension
            Control0..*
            TypeExtension
            Is Modifierfalse
            Summaryfalse
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            SlicingThis element introduces a set of slices on Subscription.meta.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
            • value @ url
            • 10. Subscription.meta.extension:meta
              Slice Namemeta
              Definition

              STU3: Subscription.meta additional types (Meta) additional types from child elements (lastUpdated, profile, security, tag, versionId)

              ShortSTU3: meta additional types
              Comments

              Element Subscription.meta is mapped to FHIR R4B element Subscription.meta as SourceIsBroaderThanTarget. The mappings for Subscription.meta do not cover the following types: Meta. The mappings for Subscription.meta do not cover the following types based on type expansion: lastUpdated, profile, security, tag, versionId.

              Control0..1
              TypeExtension(STU3: meta additional types) (Complex Extension)
              Is Modifierfalse
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
              12. Subscription.meta.versionId
              Definition

              The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.

              ShortVersion specific identifier
              Comments

              The server assigns this value, and ignores what the client specifies, except in the case that the server is imposing version integrity on updates/deletes.

              Control0..1
              Typeid
              Is Modifierfalse
              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
              Summarytrue
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              14. Subscription.meta.lastUpdated
              Definition

              When the resource last changed - e.g. when the version changed.

              ShortWhen the resource version last changed
              Comments

              This value is always populated except when the resource is first being created. The server / resource manager sets this value; what a client provides is irrelevant. This is equivalent to the HTTP Last-Modified and SHOULD have the same value on a read interaction.

              Control0..1
              Typeinstant
              Is Modifierfalse
              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
              Summarytrue
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              16. Subscription.meta.source
              Definition

              A uri that identifies the source system of the resource. This provides a minimal amount of Provenance information that can be used to track or differentiate the source of information in the resource. The source may identify another FHIR server, document, message, database, etc.

              ShortIdentifies where the resource comes from
              Comments

              In the provenance resource, this corresponds to Provenance.entity.what[x]. The exact use of the source (and the implied Provenance.entity.role) is left to implementer discretion. Only one nominated source is allowed; for additional provenance details, a full Provenance resource should be used.

              This element can be used to indicate where the current master source of a resource that has a canonical URL if the resource is no longer hosted at the canonical URL.

              Control0..1
              Typeuri
              Is Modifierfalse
              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
              Summarytrue
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              18. Subscription.meta.profile
              Definition

              A list of profiles (references to StructureDefinition resources) that this resource claims to conform to. The URL is a reference to StructureDefinition.url.

              ShortProfiles this resource claims to conform to
              Comments

              It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time. The list of profile URLs is a set.

              Control0..*
              Typecanonical(StructureDefinition)
              Is Modifierfalse
              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
              Summarytrue
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              20. Subscription.meta.security
              Definition

              Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.

              ShortSecurity Labels applied to this resource
              Comments

              The security labels can be updated without changing the stated version of the resource. The list of security labels is a set. Uniqueness is based the system/code, and version and display are ignored.

              Control0..*
              BindingUnless not suitable, these codes SHALL be taken from All Security Labels
              (extensible to http://hl7.org/fhir/ValueSet/security-labels|4.3.0)
              TypeCoding
              Is Modifierfalse
              Summarytrue
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              22. Subscription.meta.tag
              Definition

              Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.

              ShortTags applied to this resource
              Comments

              The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored.

              Control0..*
              BindingFor example codes, see CommonTags
              (example to http://hl7.org/fhir/ValueSet/common-tags|4.3.0)
              TypeCoding
              Is Modifierfalse
              Summarytrue
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              24. Subscription.implicitRules
              Definition

              A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

              ShortA set of rules under which this content was created
              Comments

              Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

              Control0..1
              Typeuri
              Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
              Must Supportfalse
              Summarytrue
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              26. Subscription.language
              Definition

              The base language in which the resource is written.

              ShortLanguage of the resource content
              Comments

              Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

              Control0..1
              BindingThe codes SHOULD be taken from CommonLanguages
              (preferred to http://hl7.org/fhir/ValueSet/languages|4.3.0)

              IETF language tag

              Additional BindingsPurpose
              AllLanguagesMax Binding
              Typecode
              Is Modifierfalse
              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
              Must Supportfalse
              Summaryfalse
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              28. Subscription.text
              Definition

              A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

              ShortText summary of the resource, for human interpretation
              Comments

              Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

              Control0..1
              TypeNarrative
              Is Modifierfalse
              Must Supportfalse
              Summaryfalse
              Alternate Namesnarrative, html, xhtml, display
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              30. Subscription.text.id
              Definition

              Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

              ShortUnique id for inter-element referencing
              Control0..1
              Typeid
              Is Modifierfalse
              XML FormatIn the XML format, this property is represented as an attribute.
              Summaryfalse
              32. Subscription.text.extension
              Definition

              An Extension

              ShortExtension
              Control0..*
              TypeExtension
              Is Modifierfalse
              Summaryfalse
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
              SlicingThis element introduces a set of slices on Subscription.text.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
              • value @ url
              • 34. Subscription.text.extension:text
                Slice Nametext
                Definition

                STU3: Subscription.text additional types (Narrative) additional types from child elements (div, status)

                ShortSTU3: text additional types
                Comments

                Element Subscription.text is mapped to FHIR R4B element Subscription.text as SourceIsBroaderThanTarget. The mappings for Subscription.text do not cover the following types: Narrative. The mappings for Subscription.text do not cover the following types based on type expansion: div, status. Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

                Control0..1
                TypeExtension(STU3: text additional types) (Complex Extension)
                Is Modifierfalse
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                36. Subscription.text.status
                Definition

                The status of the narrative - whether it's entirely generated (from just the defined data or the extensions too), or whether a human authored it and it may contain additional data.

                Shortgenerated | extensions | additional | empty
                Control1..1
                BindingThe codes SHALL be taken from NarrativeStatus
                (required to http://hl7.org/fhir/ValueSet/narrative-status|4.3.0)
                Typecode
                Is Modifierfalse
                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                Summaryfalse
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                38. Subscription.text.div
                Definition

                The actual narrative content, a stripped down version of XHTML.

                ShortLimited xhtml content
                Comments

                The contents of the html element are an XHTML fragment containing only the basic html formatting elements described in chapters 7-11 and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained stylesheets. The XHTML content SHALL NOT contain a head, a body, external stylesheet references, scripts, forms, base/link/xlink, frames, iframes and objects.

                Control1..1
                Typexhtml
                Is Modifierfalse
                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                Summaryfalse
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                txt-1: The narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes (htmlChecks())
                txt-2: The narrative SHALL have some non-whitespace content (htmlChecks())
                40. Subscription.contained
                Definition

                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.

                ShortContained, inline Resources
                Comments

                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. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

                Control0..*
                TypeResource
                Is Modifierfalse
                Must Supportfalse
                Summaryfalse
                Alternate Namesinline resources, anonymous resources, contained resources
                Invariantsdom-r4b: Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems (($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic))
                42. Subscription.extension
                Definition

                An Extension

                ShortExtension
                Control0..*
                TypeExtension
                Is Modifierfalse
                Must Supportfalse
                Summaryfalse
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                SlicingThis element introduces a set of slices on Subscription.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                • value @ url
                • 44. Subscription.extension:tag
                  Slice Nametag
                  Definition

                  STU3: Subscription.tag (new:Coding)

                  ShortSTU3: A tag to add to matching resources (new)
                  Comments

                  Element Subscription.tag has a context of Subscription based on following the parent source element upwards and mapping to Subscription. Element Subscription.tag has no mapping targets in FHIR R4B. Typically, this is because the element has been added (is a new element). So that other systems can tell which resources have been the subject of a notification.

                  Control0..*
                  This element is affected by the following invariants: ele-1
                  TypeExtension(STU3: A tag to add to matching resources (new)) (Extension Type: Coding)
                  Is Modifierfalse
                  Must Supportfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children unless an empty Parameters resource (hasValue() or (children().count() > id.count()) or $this is Parameters)
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  46. Subscription.modifierExtension
                  Definition

                  May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

                  Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                  ShortExtensions that cannot be ignored
                  Comments

                  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 level of simplicity for everyone.

                  Control0..*
                  TypeExtension
                  Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
                  Must Supportfalse
                  Summaryfalse
                  Requirements

                  Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                  Alternate Namesextensions, user content
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  48. Subscription.status
                  Definition

                  The status of the subscription, which marks the server state for managing the subscription.

                  Shortrequested | active | error | off
                  Comments

                  A client can only submit subscription resources in the requested or off state. Only the server can move a subscription from requested to active, and then to error. Either the server or the client can turn a subscription off.

                  This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.

                  Control1..1
                  BindingThe codes SHALL be taken from SubscriptionStatusCodes
                  (required to http://hl7.org/fhir/ValueSet/subscription-status|4.3.0)

                  The status of a subscription.

                  Typecode
                  Is Modifiertrue because This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Must Supportfalse
                  Summarytrue
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  50. Subscription.contact
                  Definition

                  Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting.

                  ShortContact details for source (e.g. troubleshooting)
                  Control0..*
                  TypeContactPoint
                  Is Modifierfalse
                  Must Supportfalse
                  Summarytrue
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  52. Subscription.contact.id
                  Definition

                  Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                  ShortUnique id for inter-element referencing
                  Control0..1
                  Typeid
                  Is Modifierfalse
                  XML FormatIn the XML format, this property is represented as an attribute.
                  Summaryfalse
                  54. Subscription.contact.extension
                  Definition

                  An Extension

                  ShortExtension
                  Control0..*
                  TypeExtension
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  SlicingThis element introduces a set of slices on Subscription.contact.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                  • value @ url
                  • 56. Subscription.contact.extension:contact
                    Slice Namecontact
                    Definition

                    STU3: Subscription.contact additional types (ContactPoint) additional types from child elements (period, rank, system, use, value)

                    ShortSTU3: contact additional types
                    Comments

                    Element Subscription.contact is mapped to FHIR R4B element Subscription.contact as SourceIsBroaderThanTarget. The mappings for Subscription.contact do not cover the following types: ContactPoint. The mappings for Subscription.contact do not cover the following types based on type expansion: period, rank, system, use, value.

                    Control0..*
                    TypeExtension(STU3: contact additional types) (Extension Type: ContactPoint)
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    58. Subscription.contact.system
                    Definition

                    Telecommunications form for contact point - what communications system is required to make use of the contact.

                    Shortphone | fax | email | pager | url | sms | other
                    Control0..1
                    This element is affected by the following invariants: cpt-2
                    BindingThe codes SHALL be taken from ContactPointSystem
                    (required to http://hl7.org/fhir/ValueSet/contact-point-system|4.3.0)
                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    60. Subscription.contact.value
                    Definition

                    The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address).

                    ShortThe actual contact point details
                    Comments

                    Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value.

                    Control0..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Requirements

                    Need to support legacy numbers that are not in a tightly controlled format.

                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    62. Subscription.contact.use
                    Definition

                    Identifies the purpose for the contact point.

                    Shorthome | work | temp | old | mobile - purpose of this contact point
                    Comments

                    Applications can assume that a contact is current unless it explicitly says that it is temporary or old.

                    Control0..1
                    BindingThe codes SHALL be taken from ContactPointUse
                    (required to http://hl7.org/fhir/ValueSet/contact-point-use|4.3.0)
                    Typecode
                    Is Modifiertrue because This is labeled as "Is Modifier" because applications should not mistake a temporary or old contact etc.for a current/permanent one
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Requirements

                    Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose.

                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    64. Subscription.contact.rank
                    Definition

                    Specifies a preferred order in which to use a set of contacts. ContactPoints with lower rank values are more preferred than those with higher rank values.

                    ShortSpecify preferred order of use (1 = highest)
                    Comments

                    Note that rank does not necessarily follow the order in which the contacts are represented in the instance.

                    Control0..1
                    TypepositiveInt
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    66. Subscription.contact.period
                    Definition

                    Time period when the contact point was/is in use.

                    ShortTime period when the contact point was/is in use
                    Control0..1
                    TypePeriod
                    Is Modifierfalse
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    68. Subscription.end
                    Definition

                    The time for the server to turn the subscription off.

                    ShortWhen to automatically delete the subscription
                    Comments

                    The server is permitted to deviate from this time but should observe it.

                    Control0..1
                    Typeinstant
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supportfalse
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    70. Subscription.reason
                    Definition

                    A description of why this subscription is defined.

                    ShortDescription of why this subscription was created
                    Control1..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supportfalse
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    72. Subscription.criteria
                    Definition

                    The rules that the server should use to determine when to generate notifications for this subscription.

                    ShortRule for server push
                    Comments

                    The rules are search criteria (without the [base] part). Like Bundle.entry.request.url, it has no leading "/".

                    Control1..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supportfalse
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    74. Subscription.error
                    Definition

                    A record of the last error that occurred when the server processed a notification.

                    ShortLatest error note
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supportfalse
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    76. Subscription.channel
                    Definition

                    Details where to send notifications when resources are received that meet the criteria.

                    ShortThe channel on which to report matches to the criteria
                    Control1..1
                    TypeBackboneElement
                    Is Modifierfalse
                    Must Supportfalse
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children unless an empty Parameters resource (hasValue() or (children().count() > id.count()) or $this is Parameters)
                    78. Subscription.channel.id
                    Definition

                    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                    ShortUnique id for inter-element referencing
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    XML FormatIn the XML format, this property is represented as an attribute.
                    Summaryfalse
                    80. Subscription.channel.extension
                    Definition

                    May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                    ShortAdditional content defined by implementations
                    Comments

                    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 level of simplicity for everyone.

                    Control0..*
                    TypeExtension
                    Is Modifierfalse
                    Summaryfalse
                    Alternate Namesextensions, user content
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    82. Subscription.channel.modifierExtension
                    Definition

                    May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

                    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                    ShortExtensions that cannot be ignored even if unrecognized
                    Comments

                    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 level of simplicity for everyone.

                    Control0..*
                    TypeExtension
                    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                    Summarytrue
                    Requirements

                    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                    Alternate Namesextensions, user content, modifiers
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    84. Subscription.channel.type
                    Definition

                    The type of channel to send notifications on.

                    Shortrest-hook | websocket | email | sms | message
                    Control1..1
                    BindingThe codes SHALL be taken from SubscriptionChannelType
                    (required to http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0)

                    The type of method used to execute a subscription.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supportfalse
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    86. Subscription.channel.endpoint
                    Definition

                    The url that describes the actual end-point to send messages to.

                    ShortWhere the channel points to
                    Comments

                    For rest-hook, and websocket, the end-point must be an http: or https: URL; for email, a mailto: url, for sms, a tel: url, and for message the endpoint can be in any form of url the server understands (usually, http: or mllp:). The URI is allowed to be relative; in which case, it is relative to the server end-point (since there may be more than one, clients should avoid using relative URIs).

                    Control0..1
                    Typeurl
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supportfalse
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    88. Subscription.channel.payload
                    Definition

                    The mime type to send the payload in - either application/fhir+xml, or application/fhir+json. If the payload is not present, then there is no payload in the notification, just a notification. The mime type "text/plain" may also be used for Email and SMS subscriptions.

                    ShortMIME type to send, or omit for no payload
                    Comments

                    Sending the payload has obvious security implications. The server is responsible for ensuring that the content is appropriately secured.

                    Control0..1
                    BindingThe codes SHALL be taken from Mime Types
                    (required to http://hl7.org/fhir/ValueSet/mimetypes|4.3.0)

                    BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supportfalse
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    90. Subscription.channel.header
                    Definition

                    Additional headers / information to send as part of the notification.

                    ShortUsage depends on the channel type
                    Comments

                    Exactly what these mean depend on the channel type. They can convey additional information to the recipient and/or meet security requirements; for example, support of multiple headers in the outgoing notifications for rest-hook type subscriptions.

                    Control0..*
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supportfalse
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))