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

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

Resource Profile: Profile_R4_MessageDefinition_R3 - Detailed Descriptions

Page standards status: Trial-use Maturity Level: 0

Definitions for the profile-MessageDefinition resource profile.

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

0. MessageDefinition
Definition

Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted.

ShortA resource that defines a type of message that can be exchanged between systems
Comments

This would be a MIF-level artifact.

Control0..*
Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative (contained.text.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-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource (contained.where(('#'+id in %resource.descendants().reference).not()).empty())
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative (contained.text.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-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource (contained.where(('#'+id in %resource.descendants().reference).not()).empty())
2. MessageDefinition.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.

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.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Control0..1
Typeuri
Is Modifiertrue because No Modifier Reason provideed in previous versions of FHIR
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
4. MessageDefinition.extension
Definition

An Extension


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 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.

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
Alternate Namesextensions, user content
SlicingThis element introduces a set of slices on MessageDefinition.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 6. MessageDefinition.extension:graph
    Slice Namegraph
    Definition

    R4: MessageDefinition.graph (new:canonical(GraphDefinition))

    ShortR4: Canonical reference to a GraphDefinition (new)
    Comments

    Element MessageDefinition.graph has a context of MessageDefinition based on following the parent source element upwards and mapping to MessageDefinition. Element MessageDefinition.graph has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).

    Control0..*
    This element is affected by the following invariants: ele-1
    TypeExtension(R4: Canonical reference to a GraphDefinition (new)) (Extension Type: uri(Cross-version Profile for R4.GraphDefinition for use in FHIR STU3, GraphDefinition))
    Is Modifierfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    8. MessageDefinition.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. Usually modifier elements provide negation or qualification. In order 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.

    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 No Modifier Reason provideed in previous versions of FHIR
    Alternate Namesextensions, user content
    10. MessageDefinition.status
    Definition

    The status of this message definition. Enables tracking the life-cycle of the content.

    Shortdraft | active | retired | unknown
    Comments

    Allows filtering of message definitions that are appropriate for use vs. not.
    This is labeled as "Is Modifier" because applications should not use a retired message definition without due consideration.

    Control1..1
    BindingThe codes SHALL be taken from PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|3.0.2
    (required to http://hl7.org/fhir/ValueSet/publication-status|3.0.2)

    The lifecycle status of a Value Set or Concept Map.

    Typecode
    Is Modifiertrue because No Modifier Reason provideed in previous versions of FHIR
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    12. MessageDefinition.experimental
    Definition

    A boolean value to indicate that this message definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.

    ShortFor testing purposes, not real usage
    Comments

    Allows filtering of message definition that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental message definition in production.

    Control0..1
    Typeboolean
    Is Modifiertrue because No Modifier Reason provideed in previous versions of FHIR
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Requirements

    Enables experimental content to be developed following the same lifecycle that would be used for a production-level message definition.

    14. MessageDefinition.date
    Definition

    The date (and optionally time) when the message definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the message definition changes.

    ShortDate this was last changed
    Comments

    Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the message definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.

    Control1..1
    TypedateTime
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Alternate NamesRevision Date
    16. MessageDefinition.event
    Definition

    A coded identifier of a supported messaging event.

    ShortEvent type
    Control1..1
    BindingFor example codes, see MessageEventhttp://hl7.org/fhir/ValueSet/message-events|3.0.2
    (example to http://hl7.org/fhir/ValueSet/message-events|3.0.2)

    One of the message events defined as part of FHIR.

    TypeCoding
    Summarytrue
    18. MessageDefinition.event.extension
    Definition

    An Extension


    May be used to represent additional information that is not part of the basic definition of the element. In order 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.

    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
    Alternate Namesextensions, user content
    SlicingThis element introduces a set of slices on MessageDefinition.event.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 20. MessageDefinition.event.extension:event
      Slice Nameevent
      Definition

      R4: MessageDefinition.event[x] additional types (uri) additional types from child elements (value)

      ShortR4: Event code or link to the EventDefinition additional types
      Comments

      Element MessageDefinition.event[x] is mapped to FHIR STU3 element MessageDefinition.event as SourceIsBroaderThanTarget. The mappings for MessageDefinition.event[x] do not cover the following types: uri. The mappings for MessageDefinition.event[x] do not cover the following types based on type expansion: value.

      Control1..1
      TypeExtension(R4: Event code or link to the EventDefinition additional types) (Extension Type: uri)

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

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

        R4: MessageDefinition.graph (new:canonical(GraphDefinition))

        ShortR4: Canonical reference to a GraphDefinition (new)
        Comments

        Element MessageDefinition.graph has a context of MessageDefinition based on following the parent source element upwards and mapping to MessageDefinition. Element MessageDefinition.graph has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).

        Control0..*
        TypeExtension(R4: Canonical reference to a GraphDefinition (new)) (Extension Type: uri(Cross-version Profile for R4.GraphDefinition for use in FHIR STU3, GraphDefinition))
        6. MessageDefinition.base
        8. MessageDefinition.base.extension
        Control0..*
        SlicingThis element introduces a set of slices on MessageDefinition.base.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • 10. MessageDefinition.base.extension:base
          Slice Namebase
          Definition

          R4: MessageDefinition.base additional types (canonical(http://hl7.org/fhir/StructureDefinition/MessageDefinition)) additional types from child elements (value)

          ShortR4: base additional types
          Comments

          Element MessageDefinition.base is mapped to FHIR STU3 element MessageDefinition.base as SourceIsBroaderThanTarget. The mappings for MessageDefinition.base do not cover the following types: canonical. The mappings for MessageDefinition.base do not cover the following types based on type expansion: value.

          Control0..1
          TypeExtension(R4: base additional types) (Extension Type: uri(Cross-version Profile for R4.MessageDefinition for use in FHIR STU3, MessageDefinition))
          12. MessageDefinition.parent
          14. MessageDefinition.parent.extension
          Control0..*
          SlicingThis element introduces a set of slices on MessageDefinition.parent.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
          • value @ url
          • 16. MessageDefinition.parent.extension:parent
            Slice Nameparent
            Definition

            R4: MessageDefinition.parent additional types (canonical(http://hl7.org/fhir/StructureDefinition/ActivityDefinition), canonical(http://hl7.org/fhir/StructureDefinition/PlanDefinition)) additional types from child elements (value)

            ShortR4: parent additional types
            Comments

            Element MessageDefinition.parent is mapped to FHIR STU3 element MessageDefinition.parent as SourceIsBroaderThanTarget. The mappings for MessageDefinition.parent do not cover the following types: canonical. The mappings for MessageDefinition.parent do not cover the following types based on type expansion: value. It should be possible to use MessageDefinition to describe a message to be used by certain steps in a particular protocol as part of a PlanDefinition or ActivityDefinition.

            Control0..*
            TypeExtension(R4: parent additional types) (Extension Type: uri(Cross-version Profile for R4.ActivityDefinition for use in FHIR STU3, ActivityDefinition, Cross-version Profile for R4.PlanDefinition for use in FHIR STU3, PlanDefinition))
            18. MessageDefinition.replaces
            20. MessageDefinition.replaces.extension
            Control0..*
            SlicingThis element introduces a set of slices on MessageDefinition.replaces.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
            • value @ url
            • 22. MessageDefinition.replaces.extension:replaces
              Slice Namereplaces
              Definition

              R4: MessageDefinition.replaces additional types (canonical(http://hl7.org/fhir/StructureDefinition/MessageDefinition)) additional types from child elements (value)

              ShortR4: replaces additional types
              Comments

              Element MessageDefinition.replaces is mapped to FHIR STU3 element MessageDefinition.replaces as SourceIsBroaderThanTarget. The mappings for MessageDefinition.replaces do not cover the following types: canonical. The mappings for MessageDefinition.replaces do not cover the following types based on type expansion: value.

              Control0..*
              TypeExtension(R4: replaces additional types) (Extension Type: uri(Cross-version Profile for R4.MessageDefinition for use in FHIR STU3, MessageDefinition))
              24. MessageDefinition.event
              26. MessageDefinition.event.extension
              Control0..*
              SlicingThis element introduces a set of slices on MessageDefinition.event.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
              • value @ url
              • 28. MessageDefinition.event.extension:event
                Slice Nameevent
                Definition

                R4: MessageDefinition.event[x] additional types (uri) additional types from child elements (value)

                ShortR4: Event code or link to the EventDefinition additional types
                Comments

                Element MessageDefinition.event[x] is mapped to FHIR STU3 element MessageDefinition.event as SourceIsBroaderThanTarget. The mappings for MessageDefinition.event[x] do not cover the following types: uri. The mappings for MessageDefinition.event[x] do not cover the following types based on type expansion: value.

                Control0..1
                TypeExtension(R4: Event code or link to the EventDefinition additional types) (Extension Type: uri)
                30. MessageDefinition.focus
                32. MessageDefinition.focus.code
                34. MessageDefinition.focus.code.extension
                Control0..*
                SlicingThis element introduces a set of slices on MessageDefinition.focus.code.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                • value @ url
                • 36. MessageDefinition.focus.code.extension:code
                  Slice Namecode
                  Definition

                  R4: MessageDefinition.focus.code

                  ShortR4: code
                  Comments

                  Element MessageDefinition.focus.code is mapped to FHIR STU3 element MessageDefinition.focus.code as SourceIsBroaderThanTarget. Multiple focuses addressing different resources may occasionally occur. E.g. to link or unlink a resource from a particular account or encounter, etc.

                  Control0..1
                  TypeExtension(R4: code) (Extension Type: code)
                  38. MessageDefinition.focus.profile
                  40. MessageDefinition.focus.profile.extension
                  Control0..*
                  SlicingThis element introduces a set of slices on MessageDefinition.focus.profile.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                  • value @ url
                  • 42. MessageDefinition.focus.profile.extension:profile
                    Slice Nameprofile
                    Definition

                    R4: MessageDefinition.focus.profile additional types (canonical(http://hl7.org/fhir/StructureDefinition/StructureDefinition)) additional types from child elements (value)

                    ShortR4: profile additional types
                    Comments

                    Element MessageDefinition.focus.profile is mapped to FHIR STU3 element MessageDefinition.focus.profile as SourceIsBroaderThanTarget. The mappings for MessageDefinition.focus.profile do not cover the following types: canonical. The mappings for MessageDefinition.focus.profile do not cover the following types based on type expansion: value. This should be present for most message definitions. However, if the message focus is only a single resource and there is no need to include referenced resources or otherwise enforce the presence of particular elements, it can be omitted.

                    Control0..1
                    TypeExtension(R4: profile additional types) (Extension Type: uri(Cross-version Profile for R4.StructureDefinition for use in FHIR STU3, StructureDefinition))
                    44. MessageDefinition.responseRequired
                    46. MessageDefinition.responseRequired.extension
                    Control0..*
                    SlicingThis element introduces a set of slices on MessageDefinition.responseRequired.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                    • value @ url
                    • 48. MessageDefinition.responseRequired.extension:responseRequired
                      Slice NameresponseRequired
                      Definition

                      R4: MessageDefinition.responseRequired additional types (code) additional types from child elements (value)

                      ShortR4: always | on-error | never | on-success additional types
                      Comments

                      Element MessageDefinition.responseRequired is mapped to FHIR STU3 element MessageDefinition.responseRequired as SourceIsBroaderThanTarget. The mappings for MessageDefinition.responseRequired do not cover the following types: code. The mappings for MessageDefinition.responseRequired do not cover the following types based on type expansion: value. This enables the capability currently available through MSH-16 (Application Level acknowledgement) in HL7 Version 2 to declare at a message instance level whether a response is required or only upon error or success, or never.

                      Control0..1
                      TypeExtension(R4: always | on-error | never | on-success additional types) (Extension Type: code)
                      50. MessageDefinition.allowedResponse
                      52. MessageDefinition.allowedResponse.message
                      54. MessageDefinition.allowedResponse.message.extension
                      Control0..*
                      SlicingThis element introduces a set of slices on MessageDefinition.allowedResponse.message.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                      • value @ url
                      • 56. MessageDefinition.allowedResponse.message.extension:message
                        Slice Namemessage
                        Definition

                        R4: MessageDefinition.allowedResponse.message additional types (canonical(http://hl7.org/fhir/StructureDefinition/MessageDefinition)) additional types from child elements (value)

                        ShortR4: message additional types
                        Comments

                        Element MessageDefinition.allowedResponse.message is mapped to FHIR STU3 element MessageDefinition.allowedResponse.message as SourceIsBroaderThanTarget. The mappings for MessageDefinition.allowedResponse.message do not cover the following types: canonical. The mappings for MessageDefinition.allowedResponse.message do not cover the following types based on type expansion: value.

                        Control0..1
                        TypeExtension(R4: message additional types) (Extension Type: uri(Cross-version Profile for R4.MessageDefinition for use in FHIR STU3, MessageDefinition))

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

                        0. MessageDefinition
                        Definition

                        Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted.

                        ShortA resource that defines a type of message that can be exchanged between systems
                        Comments

                        This would be a MIF-level artifact.

                        Control0..*
                        Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
                        dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative (contained.text.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-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource (contained.where(('#'+id in %resource.descendants().reference).not()).empty())
                        2. MessageDefinition.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
                        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                        Summarytrue
                        4. MessageDefinition.meta
                        Definition

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

                        ShortMetadata about the resource
                        Control0..1
                        TypeMeta
                        Summarytrue
                        6. MessageDefinition.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.

                        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.

                        This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

                        Control0..1
                        Typeuri
                        Is Modifiertrue because No Modifier Reason provideed in previous versions of FHIR
                        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                        Summarytrue
                        8. MessageDefinition.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
                        BindingUnless not suitable, these codes SHALL be taken from Common Languages
                        (extensible to http://hl7.org/fhir/ValueSet/languages|3.0.2)

                        A human language.

                        Additional BindingsPurpose
                        All LanguagesMax Binding
                        Typecode
                        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                        10. MessageDefinition.text
                        Definition

                        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 "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 in formation is added later.

                        Control0..1
                        This element is affected by the following invariants: dom-1
                        TypeNarrative
                        Alternate Namesnarrative, html, xhtml, display
                        12. MessageDefinition.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.

                        Control0..*
                        TypeResource
                        Alternate Namesinline resources, anonymous resources, contained resources
                        14. MessageDefinition.extension
                        Definition

                        An Extension

                        ShortExtension
                        Control0..*
                        TypeExtension
                        SlicingThis element introduces a set of slices on MessageDefinition.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                        • value @ url
                        • 16. MessageDefinition.extension:graph
                          Slice Namegraph
                          Definition

                          R4: MessageDefinition.graph (new:canonical(GraphDefinition))

                          ShortR4: Canonical reference to a GraphDefinition (new)
                          Comments

                          Element MessageDefinition.graph has a context of MessageDefinition based on following the parent source element upwards and mapping to MessageDefinition. Element MessageDefinition.graph has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).

                          Control0..*
                          This element is affected by the following invariants: ele-1
                          TypeExtension(R4: Canonical reference to a GraphDefinition (new)) (Extension Type: uri(Cross-version Profile for R4.GraphDefinition for use in FHIR STU3, GraphDefinition))
                          Is Modifierfalse
                          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
                          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                          18. MessageDefinition.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. Usually modifier elements provide negation or qualification. In order 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.

                          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 No Modifier Reason provideed in previous versions of FHIR
                          Alternate Namesextensions, user content
                          20. MessageDefinition.url
                          Definition

                          An absolute URI that is used to identify this message definition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this message definition is (or will be) published. The URL SHOULD include the major version of the message definition. For more information see Technical and Business Versions.

                          ShortLogical URI to reference this message definition (globally unique)
                          Comments

                          Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version.

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

                          Allows the message definition to be referenced by a single globally unique identifier.

                          22. MessageDefinition.identifier
                          Definition

                          A formal identifier that is used to identify this message definition when it is represented in other formats, or referenced in a specification, model, design or an instance.

                          ShortAdditional identifier for the message definition
                          Comments

                          Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this message definition outside of FHIR, where it is not possible to use the logical URI.

                          NoteThis is a business identifier, not a resource identifier (see discussion)
                          Control0..1
                          TypeIdentifier
                          Summarytrue
                          Requirements

                          Allows externally provided and/or usable business identifiers to be easily associated with the module.

                          24. MessageDefinition.version
                          Definition

                          The identifier that is used to identify this version of the message definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the message definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.

                          ShortBusiness version of the message definition
                          Comments

                          There may be different message definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the message definition with the format [url]|[version].

                          NoteThis is a business version Id, not a resource version Id (see discussion)
                          Control0..1
                          Typestring
                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                          Summarytrue
                          26. MessageDefinition.name
                          Definition

                          A natural language name identifying the message definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.

                          ShortName for this message definition (computer friendly)
                          Comments

                          The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.

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

                          Support human navigation and code generation.

                          28. MessageDefinition.title
                          Definition

                          A short, descriptive, user-friendly title for the message definition.

                          ShortName for this message definition (human friendly)
                          Comments

                          This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.

                          Control0..1
                          Typestring
                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                          Summarytrue
                          30. MessageDefinition.status
                          Definition

                          The status of this message definition. Enables tracking the life-cycle of the content.

                          Shortdraft | active | retired | unknown
                          Comments

                          Allows filtering of message definitions that are appropriate for use vs. not.
                          This is labeled as "Is Modifier" because applications should not use a retired message definition without due consideration.

                          Control1..1
                          BindingThe codes SHALL be taken from PublicationStatus
                          (required to http://hl7.org/fhir/ValueSet/publication-status|3.0.2)

                          The lifecycle status of a Value Set or Concept Map.

                          Typecode
                          Is Modifiertrue because No Modifier Reason provideed in previous versions of FHIR
                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                          Summarytrue
                          32. MessageDefinition.experimental
                          Definition

                          A boolean value to indicate that this message definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.

                          ShortFor testing purposes, not real usage
                          Comments

                          Allows filtering of message definition that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental message definition in production.

                          Control0..1
                          Typeboolean
                          Is Modifiertrue because No Modifier Reason provideed in previous versions of FHIR
                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                          Summarytrue
                          Requirements

                          Enables experimental content to be developed following the same lifecycle that would be used for a production-level message definition.

                          34. MessageDefinition.date
                          Definition

                          The date (and optionally time) when the message definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the message definition changes.

                          ShortDate this was last changed
                          Comments

                          Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the message definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.

                          Control1..1
                          TypedateTime
                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                          Summarytrue
                          Alternate NamesRevision Date
                          36. MessageDefinition.publisher
                          Definition

                          The name of the individual or organization that published the message definition.

                          ShortName of the publisher (organization or individual)
                          Comments

                          Usually an organization, but may be an individual. The publisher (or steward) of the message definition is the organization or individual primarily responsible for the maintenance and upkeep of the message definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the message definition. This item SHOULD be populated unless the information is available from context.

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

                          Helps establish the "authority/credibility" of the message definition. May also allow for contact.

                          38. MessageDefinition.contact
                          Definition

                          Contact details to assist a user in finding and communicating with the publisher.

                          ShortContact details for the publisher
                          Comments

                          May be a web site, an email address, a telephone number, etc.

                          Control0..*
                          TypeContactDetail
                          Summarytrue
                          40. MessageDefinition.description
                          Definition

                          A free text natural language description of the message definition from a consumer's perspective.

                          ShortNatural language description of the message definition
                          Comments

                          This description can be used to capture details such as why the message definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the message definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).

                          Control0..1
                          Typemarkdown
                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                          Summarytrue
                          42. MessageDefinition.useContext
                          Definition

                          The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate message definition instances.

                          ShortContext the content is intended to support
                          Comments

                          When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.

                          Control0..*
                          TypeUsageContext
                          Summarytrue
                          Requirements

                          Assist in searching for appropriate content.

                          44. MessageDefinition.jurisdiction
                          Definition

                          A legal or geographic region in which the message definition is intended to be used.

                          ShortIntended jurisdiction for message definition (if applicable)
                          Comments

                          It may be possible for the message definition to be used in jurisdictions other than those for which it was originally designed or intended.

                          Control0..*
                          BindingUnless not suitable, these codes SHALL be taken from Jurisdiction ValueSet
                          (extensible to http://hl7.org/fhir/ValueSet/jurisdiction|3.0.2)

                          Countries and regions within which this artifact is targeted for use

                          TypeCodeableConcept
                          Summarytrue
                          46. MessageDefinition.purpose
                          Definition

                          Explaination of why this message definition is needed and why it has been designed as it has.

                          ShortWhy this message definition is defined
                          Comments

                          This element does not describe the usage of the message definition Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this message definition.

                          Control0..1
                          Typemarkdown
                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                          Summarytrue
                          48. MessageDefinition.copyright
                          Definition

                          A copyright statement relating to the message definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the message definition.

                          ShortUse and/or publishing restrictions
                          Control0..1
                          Typemarkdown
                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                          Requirements

                          Consumers must be able to determine any legal restrictions on the use of the message definition and/or its content.

                          Alternate NamesLicense, Restrictions
                          50. MessageDefinition.base
                          Definition

                          The MessageDefinition that is the basis for the contents of this resource.

                          ShortDefinition this one is based on
                          Control0..1
                          TypeReference(MessageDefinition)
                          Summarytrue
                          52. MessageDefinition.base.id
                          Definition

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

                          Shortxml:id (or equivalent in JSON)
                          Control0..1
                          Typestring
                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                          XML FormatIn the XML format, this property is represented as an attribute.
                          54. MessageDefinition.base.extension
                          Definition

                          An Extension

                          ShortExtension
                          Control0..*
                          TypeExtension
                          SlicingThis element introduces a set of slices on MessageDefinition.base.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                          • value @ url
                          • 56. MessageDefinition.base.extension:base
                            Slice Namebase
                            Definition

                            R4: MessageDefinition.base additional types (canonical(http://hl7.org/fhir/StructureDefinition/MessageDefinition)) additional types from child elements (value)

                            ShortR4: base additional types
                            Comments

                            Element MessageDefinition.base is mapped to FHIR STU3 element MessageDefinition.base as SourceIsBroaderThanTarget. The mappings for MessageDefinition.base do not cover the following types: canonical. The mappings for MessageDefinition.base do not cover the following types based on type expansion: value.

                            Control0..1
                            TypeExtension(R4: base additional types) (Extension Type: uri(Cross-version Profile for R4.MessageDefinition for use in FHIR STU3, MessageDefinition))
                            58. MessageDefinition.base.reference
                            Definition

                            A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.

                            ShortLiteral reference, Relative, internal or absolute URL
                            Comments

                            Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.

                            Control0..1
                            This element is affected by the following invariants: ref-1
                            Typestring
                            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                            Summarytrue
                            60. MessageDefinition.base.identifier
                            Definition

                            An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.

                            ShortLogical reference, when literal reference is not known
                            Comments

                            When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.

                            When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference

                            Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.

                            NoteThis is a business identifier, not a resource identifier (see discussion)
                            Control0..1
                            TypeIdentifier
                            Summarytrue
                            62. MessageDefinition.base.display
                            Definition

                            Plain text narrative that identifies the resource in addition to the resource reference.

                            ShortText alternative for the resource
                            Comments

                            This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.

                            Control0..1
                            Typestring
                            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                            Summarytrue
                            64. MessageDefinition.parent
                            Definition

                            Identifies a protocol or workflow that this MessageDefinition represents a step in.

                            ShortProtocol/workflow this is part of
                            Control0..*
                            TypeReference(ActivityDefinition, PlanDefinition)
                            Summarytrue
                            66. MessageDefinition.parent.id
                            Definition

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

                            Shortxml:id (or equivalent in JSON)
                            Control0..1
                            Typestring
                            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                            XML FormatIn the XML format, this property is represented as an attribute.
                            68. MessageDefinition.parent.extension
                            Definition

                            An Extension

                            ShortExtension
                            Control0..*
                            TypeExtension
                            SlicingThis element introduces a set of slices on MessageDefinition.parent.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                            • value @ url
                            • 70. MessageDefinition.parent.extension:parent
                              Slice Nameparent
                              Definition

                              R4: MessageDefinition.parent additional types (canonical(http://hl7.org/fhir/StructureDefinition/ActivityDefinition), canonical(http://hl7.org/fhir/StructureDefinition/PlanDefinition)) additional types from child elements (value)

                              ShortR4: parent additional types
                              Comments

                              Element MessageDefinition.parent is mapped to FHIR STU3 element MessageDefinition.parent as SourceIsBroaderThanTarget. The mappings for MessageDefinition.parent do not cover the following types: canonical. The mappings for MessageDefinition.parent do not cover the following types based on type expansion: value. It should be possible to use MessageDefinition to describe a message to be used by certain steps in a particular protocol as part of a PlanDefinition or ActivityDefinition.

                              Control0..*
                              TypeExtension(R4: parent additional types) (Extension Type: uri(Cross-version Profile for R4.ActivityDefinition for use in FHIR STU3, ActivityDefinition, Cross-version Profile for R4.PlanDefinition for use in FHIR STU3, PlanDefinition))
                              72. MessageDefinition.parent.reference
                              Definition

                              A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.

                              ShortLiteral reference, Relative, internal or absolute URL
                              Comments

                              Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.

                              Control0..1
                              This element is affected by the following invariants: ref-1
                              Typestring
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              Summarytrue
                              74. MessageDefinition.parent.identifier
                              Definition

                              An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.

                              ShortLogical reference, when literal reference is not known
                              Comments

                              When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.

                              When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference

                              Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.

                              NoteThis is a business identifier, not a resource identifier (see discussion)
                              Control0..1
                              TypeIdentifier
                              Summarytrue
                              76. MessageDefinition.parent.display
                              Definition

                              Plain text narrative that identifies the resource in addition to the resource reference.

                              ShortText alternative for the resource
                              Comments

                              This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.

                              Control0..1
                              Typestring
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              Summarytrue
                              78. MessageDefinition.replaces
                              Definition

                              A MessageDefinition that is superseded by this definition.

                              ShortTakes the place of
                              Control0..*
                              TypeReference(MessageDefinition)
                              Summarytrue
                              80. MessageDefinition.replaces.id
                              Definition

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

                              Shortxml:id (or equivalent in JSON)
                              Control0..1
                              Typestring
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              XML FormatIn the XML format, this property is represented as an attribute.
                              82. MessageDefinition.replaces.extension
                              Definition

                              An Extension

                              ShortExtension
                              Control0..*
                              TypeExtension
                              SlicingThis element introduces a set of slices on MessageDefinition.replaces.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                              • value @ url
                              • 84. MessageDefinition.replaces.extension:replaces
                                Slice Namereplaces
                                Definition

                                R4: MessageDefinition.replaces additional types (canonical(http://hl7.org/fhir/StructureDefinition/MessageDefinition)) additional types from child elements (value)

                                ShortR4: replaces additional types
                                Comments

                                Element MessageDefinition.replaces is mapped to FHIR STU3 element MessageDefinition.replaces as SourceIsBroaderThanTarget. The mappings for MessageDefinition.replaces do not cover the following types: canonical. The mappings for MessageDefinition.replaces do not cover the following types based on type expansion: value.

                                Control0..*
                                TypeExtension(R4: replaces additional types) (Extension Type: uri(Cross-version Profile for R4.MessageDefinition for use in FHIR STU3, MessageDefinition))
                                86. MessageDefinition.replaces.reference
                                Definition

                                A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.

                                ShortLiteral reference, Relative, internal or absolute URL
                                Comments

                                Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.

                                Control0..1
                                This element is affected by the following invariants: ref-1
                                Typestring
                                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                Summarytrue
                                88. MessageDefinition.replaces.identifier
                                Definition

                                An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.

                                ShortLogical reference, when literal reference is not known
                                Comments

                                When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.

                                When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference

                                Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.

                                NoteThis is a business identifier, not a resource identifier (see discussion)
                                Control0..1
                                TypeIdentifier
                                Summarytrue
                                90. MessageDefinition.replaces.display
                                Definition

                                Plain text narrative that identifies the resource in addition to the resource reference.

                                ShortText alternative for the resource
                                Comments

                                This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.

                                Control0..1
                                Typestring
                                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                Summarytrue
                                92. MessageDefinition.event
                                Definition

                                A coded identifier of a supported messaging event.

                                ShortEvent type
                                Control1..1
                                BindingFor example codes, see MessageEvent
                                (example to http://hl7.org/fhir/ValueSet/message-events|3.0.2)

                                One of the message events defined as part of FHIR.

                                TypeCoding
                                Summarytrue
                                94. MessageDefinition.event.id
                                Definition

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

                                Shortxml:id (or equivalent in JSON)
                                Control0..1
                                Typestring
                                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                XML FormatIn the XML format, this property is represented as an attribute.
                                96. MessageDefinition.event.extension
                                Definition

                                An Extension

                                ShortExtension
                                Control0..*
                                TypeExtension
                                SlicingThis element introduces a set of slices on MessageDefinition.event.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                • value @ url
                                • 98. MessageDefinition.event.extension:event
                                  Slice Nameevent
                                  Definition

                                  R4: MessageDefinition.event[x] additional types (uri) additional types from child elements (value)

                                  ShortR4: Event code or link to the EventDefinition additional types
                                  Comments

                                  Element MessageDefinition.event[x] is mapped to FHIR STU3 element MessageDefinition.event as SourceIsBroaderThanTarget. The mappings for MessageDefinition.event[x] do not cover the following types: uri. The mappings for MessageDefinition.event[x] do not cover the following types based on type expansion: value.

                                  Control1..1
                                  TypeExtension(R4: Event code or link to the EventDefinition additional types) (Extension Type: uri)
                                  100. MessageDefinition.event.system
                                  Definition

                                  The identification of the code system that defines the meaning of the symbol in the code.

                                  ShortIdentity of the terminology system
                                  Comments

                                  The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

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

                                  Need to be unambiguous about the source of the definition of the symbol.

                                  102. MessageDefinition.event.version
                                  Definition

                                  The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

                                  ShortVersion of the system - if relevant
                                  Comments

                                  Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

                                  NoteThis is a business version Id, not a resource version Id (see discussion)
                                  Control0..1
                                  Typestring
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  Summarytrue
                                  104. MessageDefinition.event.code
                                  Definition

                                  A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

                                  ShortSymbol in syntax defined by the system
                                  Control0..1
                                  Typecode
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  Summarytrue
                                  Requirements

                                  Need to refer to a particular code in the system.

                                  106. MessageDefinition.event.display
                                  Definition

                                  A representation of the meaning of the code in the system, following the rules of the system.

                                  ShortRepresentation defined by the system
                                  Control0..1
                                  Typestring
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  Summarytrue
                                  Requirements

                                  Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

                                  108. MessageDefinition.event.userSelected
                                  Definition

                                  Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).

                                  ShortIf this coding was chosen directly by the user
                                  Comments

                                  Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

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

                                  This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

                                  110. MessageDefinition.category
                                  Definition

                                  The impact of the content of the message.

                                  ShortConsequence | Currency | Notification
                                  Control0..1
                                  BindingThe codes SHALL be taken from MessageSignificanceCategory
                                  (required to http://hl7.org/fhir/ValueSet/message-significance-category|3.0.2)

                                  The impact of the content of a message.

                                  Typecode
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  Summarytrue
                                  112. MessageDefinition.focus
                                  Definition

                                  Identifies the resource (or resources) that are being addressed by the event. For example, the Encounter for an admit message or two Account records for a merge.

                                  ShortResource(s) that are the subject of the event
                                  Control0..*
                                  TypeBackboneElement
                                  Summarytrue
                                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
                                  md-1: Max must be postive int or * (max='*' or (max.toInteger() > 0))
                                  114. MessageDefinition.focus.id
                                  Definition

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

                                  Shortxml:id (or equivalent in JSON)
                                  Control0..1
                                  Typestring
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  XML FormatIn the XML format, this property is represented as an attribute.
                                  116. MessageDefinition.focus.extension
                                  Definition

                                  May be used to represent additional information that is not part of the basic definition of the element. In order 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.

                                  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
                                  Alternate Namesextensions, user content
                                  118. MessageDefinition.focus.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 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 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.

                                  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 No Modifier Reason provideed in previous versions of FHIR
                                  Summarytrue
                                  Alternate Namesextensions, user content, modifiers
                                  120. MessageDefinition.focus.code
                                  Definition

                                  The kind of resource that must be the focus for this message.

                                  ShortType of resource
                                  Comments

                                  Multiple focuses addressing different resources may occasionally occur. E.g. to link or unlink a resource from a particular account or encounter, etc.

                                  Control1..1
                                  BindingThe codes SHALL be taken from ResourceType .
                                  (required to http://hl7.org/fhir/ValueSet/resource-types|3.0.2)

                                  One of the resource types defined as part of FHIR.

                                  Typecode
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  Summarytrue
                                  122. MessageDefinition.focus.code.id
                                  Definition

                                  unique id for the element within a resource (for internal references)

                                  Shortxml:id (or equivalent in JSON)
                                  Control0..1
                                  Typestring
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  XML FormatIn the XML format, this property is represented as an attribute.
                                  124. MessageDefinition.focus.code.extension
                                  Definition

                                  An Extension

                                  ShortExtension
                                  Control0..*
                                  TypeExtension
                                  SlicingThis element introduces a set of slices on MessageDefinition.focus.code.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                  • value @ url
                                  • 126. MessageDefinition.focus.code.extension:code
                                    Slice Namecode
                                    Definition

                                    R4: MessageDefinition.focus.code

                                    ShortR4: code
                                    Comments

                                    Element MessageDefinition.focus.code is mapped to FHIR STU3 element MessageDefinition.focus.code as SourceIsBroaderThanTarget. Multiple focuses addressing different resources may occasionally occur. E.g. to link or unlink a resource from a particular account or encounter, etc.

                                    Control0..1
                                    This element is affected by the following invariants: ele-1
                                    TypeExtension(R4: code) (Extension Type: code)
                                    Is Modifierfalse
                                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
                                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                                    128. MessageDefinition.focus.code.value
                                    Definition

                                    Primitive value for code

                                    ShortPrimitive value for code
                                    Control0..1
                                    Typecode
                                    XML FormatIn the XML format, this property is represented as an attribute.
                                    130. MessageDefinition.focus.profile
                                    Definition

                                    A profile that reflects constraints for the focal resource (and potentially for related resources).

                                    ShortProfile that must be adhered to by focus
                                    Comments

                                    This should be present for most message definitions. However, if the message focus is only a single resource and there is no need to include referenced resources or otherwise enforce the presence of particular elements, it can be omitted.

                                    Control0..1
                                    TypeReference(StructureDefinition)
                                    Requirements

                                    This profile allows setting boundaries for what content must appear within the message bundle vs. outside based on the declared aggregation constraints on referenced resources on this and related profiles.

                                    132. MessageDefinition.focus.profile.id
                                    Definition

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

                                    Shortxml:id (or equivalent in JSON)
                                    Control0..1
                                    Typestring
                                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                    XML FormatIn the XML format, this property is represented as an attribute.
                                    134. MessageDefinition.focus.profile.extension
                                    Definition

                                    An Extension

                                    ShortExtension
                                    Control0..*
                                    TypeExtension
                                    SlicingThis element introduces a set of slices on MessageDefinition.focus.profile.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                    • value @ url
                                    • 136. MessageDefinition.focus.profile.extension:profile
                                      Slice Nameprofile
                                      Definition

                                      R4: MessageDefinition.focus.profile additional types (canonical(http://hl7.org/fhir/StructureDefinition/StructureDefinition)) additional types from child elements (value)

                                      ShortR4: profile additional types
                                      Comments

                                      Element MessageDefinition.focus.profile is mapped to FHIR STU3 element MessageDefinition.focus.profile as SourceIsBroaderThanTarget. The mappings for MessageDefinition.focus.profile do not cover the following types: canonical. The mappings for MessageDefinition.focus.profile do not cover the following types based on type expansion: value. This should be present for most message definitions. However, if the message focus is only a single resource and there is no need to include referenced resources or otherwise enforce the presence of particular elements, it can be omitted.

                                      Control0..1
                                      TypeExtension(R4: profile additional types) (Extension Type: uri(Cross-version Profile for R4.StructureDefinition for use in FHIR STU3, StructureDefinition))
                                      138. MessageDefinition.focus.profile.reference
                                      Definition

                                      A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.

                                      ShortLiteral reference, Relative, internal or absolute URL
                                      Comments

                                      Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.

                                      Control0..1
                                      This element is affected by the following invariants: ref-1
                                      Typestring
                                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                      Summarytrue
                                      140. MessageDefinition.focus.profile.identifier
                                      Definition

                                      An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.

                                      ShortLogical reference, when literal reference is not known
                                      Comments

                                      When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.

                                      When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference

                                      Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.

                                      NoteThis is a business identifier, not a resource identifier (see discussion)
                                      Control0..1
                                      TypeIdentifier
                                      Summarytrue
                                      142. MessageDefinition.focus.profile.display
                                      Definition

                                      Plain text narrative that identifies the resource in addition to the resource reference.

                                      ShortText alternative for the resource
                                      Comments

                                      This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.

                                      Control0..1
                                      Typestring
                                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                      Summarytrue
                                      144. MessageDefinition.focus.min
                                      Definition

                                      Identifies the minimum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition.

                                      ShortMinimum number of focuses of this type
                                      Control0..1
                                      TypeunsignedInt
                                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                      Default Value0
                                      146. MessageDefinition.focus.max
                                      Definition

                                      Identifies the maximum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition.

                                      ShortMaximum number of focuses of this type
                                      Control0..1
                                      This element is affected by the following invariants: md-1
                                      Typestring
                                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                      148. MessageDefinition.responseRequired
                                      Definition

                                      Indicates whether a response is required for this message.

                                      ShortIs a response required?
                                      Control0..1
                                      Typeboolean
                                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                      Default Valuefalse
                                      150. MessageDefinition.responseRequired.id
                                      Definition

                                      unique id for the element within a resource (for internal references)

                                      Shortxml:id (or equivalent in JSON)
                                      Control0..1
                                      Typestring
                                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                      XML FormatIn the XML format, this property is represented as an attribute.
                                      152. MessageDefinition.responseRequired.extension
                                      Definition

                                      An Extension

                                      ShortExtension
                                      Control0..*
                                      TypeExtension
                                      SlicingThis element introduces a set of slices on MessageDefinition.responseRequired.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                      • value @ url
                                      • 154. MessageDefinition.responseRequired.extension:responseRequired
                                        Slice NameresponseRequired
                                        Definition

                                        R4: MessageDefinition.responseRequired additional types (code) additional types from child elements (value)

                                        ShortR4: always | on-error | never | on-success additional types
                                        Comments

                                        Element MessageDefinition.responseRequired is mapped to FHIR STU3 element MessageDefinition.responseRequired as SourceIsBroaderThanTarget. The mappings for MessageDefinition.responseRequired do not cover the following types: code. The mappings for MessageDefinition.responseRequired do not cover the following types based on type expansion: value. This enables the capability currently available through MSH-16 (Application Level acknowledgement) in HL7 Version 2 to declare at a message instance level whether a response is required or only upon error or success, or never.

                                        Control0..1
                                        This element is affected by the following invariants: ele-1
                                        TypeExtension(R4: always | on-error | never | on-success additional types) (Extension Type: code)
                                        Is Modifierfalse
                                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
                                        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                                        156. MessageDefinition.responseRequired.value
                                        Definition

                                        The actual value

                                        ShortPrimitive value for boolean
                                        Control0..1
                                        Typeboolean
                                        XML FormatIn the XML format, this property is represented as an attribute.
                                        158. MessageDefinition.allowedResponse
                                        Definition

                                        Indicates what types of messages may be sent as an application-level response to this message.

                                        ShortResponses to this message
                                        Comments

                                        This indicates an application level response to "close" a transaction implicit in a particular request message. To define a complete workflow scenario, look to the [[PlanDefinition]] resource which allows the definition of complex orchestrations, conditionality, etc.

                                        Control0..*
                                        TypeBackboneElement
                                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
                                        160. MessageDefinition.allowedResponse.id
                                        Definition

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

                                        Shortxml:id (or equivalent in JSON)
                                        Control0..1
                                        Typestring
                                        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                        XML FormatIn the XML format, this property is represented as an attribute.
                                        162. MessageDefinition.allowedResponse.extension
                                        Definition

                                        May be used to represent additional information that is not part of the basic definition of the element. In order 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.

                                        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
                                        Alternate Namesextensions, user content
                                        164. MessageDefinition.allowedResponse.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 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 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.

                                        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 No Modifier Reason provideed in previous versions of FHIR
                                        Summarytrue
                                        Alternate Namesextensions, user content, modifiers
                                        166. MessageDefinition.allowedResponse.message
                                        Definition

                                        A reference to the message definition that must be adhered to by this supported response.

                                        ShortReference to allowed message definition response
                                        Control1..1
                                        TypeReference(MessageDefinition)
                                        168. MessageDefinition.allowedResponse.message.id
                                        Definition

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

                                        Shortxml:id (or equivalent in JSON)
                                        Control0..1
                                        Typestring
                                        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                        XML FormatIn the XML format, this property is represented as an attribute.
                                        170. MessageDefinition.allowedResponse.message.extension
                                        Definition

                                        An Extension

                                        ShortExtension
                                        Control0..*
                                        TypeExtension
                                        SlicingThis element introduces a set of slices on MessageDefinition.allowedResponse.message.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                        • value @ url
                                        • 172. MessageDefinition.allowedResponse.message.extension:message
                                          Slice Namemessage
                                          Definition

                                          R4: MessageDefinition.allowedResponse.message additional types (canonical(http://hl7.org/fhir/StructureDefinition/MessageDefinition)) additional types from child elements (value)

                                          ShortR4: message additional types
                                          Comments

                                          Element MessageDefinition.allowedResponse.message is mapped to FHIR STU3 element MessageDefinition.allowedResponse.message as SourceIsBroaderThanTarget. The mappings for MessageDefinition.allowedResponse.message do not cover the following types: canonical. The mappings for MessageDefinition.allowedResponse.message do not cover the following types based on type expansion: value.

                                          Control1..1
                                          TypeExtension(R4: message additional types) (Extension Type: uri(Cross-version Profile for R4.MessageDefinition for use in FHIR STU3, MessageDefinition))
                                          174. MessageDefinition.allowedResponse.message.reference
                                          Definition

                                          A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.

                                          ShortLiteral reference, Relative, internal or absolute URL
                                          Comments

                                          Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.

                                          Control0..1
                                          This element is affected by the following invariants: ref-1
                                          Typestring
                                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                          Summarytrue
                                          176. MessageDefinition.allowedResponse.message.identifier
                                          Definition

                                          An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.

                                          ShortLogical reference, when literal reference is not known
                                          Comments

                                          When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.

                                          When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference

                                          Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.

                                          NoteThis is a business identifier, not a resource identifier (see discussion)
                                          Control0..1
                                          TypeIdentifier
                                          Summarytrue
                                          178. MessageDefinition.allowedResponse.message.display
                                          Definition

                                          Plain text narrative that identifies the resource in addition to the resource reference.

                                          ShortText alternative for the resource
                                          Comments

                                          This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.

                                          Control0..1
                                          Typestring
                                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                          Summarytrue
                                          180. MessageDefinition.allowedResponse.situation
                                          Definition

                                          Provides a description of the circumstances in which this response should be used (as opposed to one of the alternative responses).

                                          ShortWhen should this response be used
                                          Control0..1
                                          Typemarkdown
                                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension