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

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

Resource Profile: Profile_R5_CompartmentDefinition_R3 - Detailed Descriptions

Page standards status: Trial-use Maturity Level: 0

Definitions for the profile-CompartmentDefinition resource profile.

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

0. CompartmentDefinition
Definition

A compartment definition that defines how resources are accessed on a server.

ShortCompartment Definition for a resource
Comments

In FHIR, search is not performed directly on a resource (by XML or JSON path), but on a named parameter that maps into the resource content.

Control1..1
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. CompartmentDefinition.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. CompartmentDefinition.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 CompartmentDefinition.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 6. CompartmentDefinition.extension:version
    Slice Nameversion
    Definition

    R5: CompartmentDefinition.version (new:string)

    ShortR5: Business version of the compartment definition (new)
    Comments

    Element CompartmentDefinition.version has a context of CompartmentDefinition based on following the parent source element upwards and mapping to CompartmentDefinition. Element CompartmentDefinition.version has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). There may be different compartment definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the compartment definition with the format [url]|[version]. The version SHOULD NOT contain a '#' - see Business Version.

    Control0..1
    This element is affected by the following invariants: ele-1
    TypeExtension(R5: Business version of the compartment definition (new)) (Extension Type: string)
    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. CompartmentDefinition.extension:versionAlgorithm
    Slice NameversionAlgorithm
    Definition

    R5: CompartmentDefinition.versionAlgorithm[x] (new:Coding, string)

    ShortR5: How to compare versions (new)
    Comments

    Element CompartmentDefinition.versionAlgorithm[x] has a context of CompartmentDefinition based on following the parent source element upwards and mapping to CompartmentDefinition. Element CompartmentDefinition.versionAlgorithm[x] has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). An externally-defined extension that has been mapped as the representation of FHIR R5 element CompartmentDefinition.versionAlgorithm[x]: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm. If set as a string, this is a FHIRPath expression that has two additional context variables passed in - %version1 and %version2 and will return a negative number if version1 is newer, a positive number if version2 and a 0 if the version ordering can't be successfully be determined.

    Control0..1
    TypeExtension(http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm)
    10. CompartmentDefinition.extension:title
    Slice Nametitle
    Definition

    R5: CompartmentDefinition.title (new:string)

    ShortR5: Name for this compartment definition (human friendly) (new)
    Comments

    Element CompartmentDefinition.title has a context of CompartmentDefinition based on following the parent source element upwards and mapping to CompartmentDefinition. Element CompartmentDefinition.title has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). An externally-defined extension that has been mapped as the representation of FHIR R5 element CompartmentDefinition.title: http://hl7.org/fhir/StructureDefinition/artifact-title. This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.

    Control0..1
    TypeExtension(http://hl7.org/fhir/StructureDefinition/artifact-title)
    12. CompartmentDefinition.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
    14. CompartmentDefinition.url
    Definition

    An absolute URI that is used to identify this compartment 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 compartment definition is (or will be) published. The URL SHOULD include the major version of the compartment definition. For more information see Technical and Business Versions.

    ShortLogical URI to reference this compartment 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.

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

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

    16. CompartmentDefinition.name
    Definition

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

    ShortName for this compartment 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. This is often the same as the code for the parameter, but does not need to be.

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

    Support human navigation and code generation.

    18. CompartmentDefinition.status
    Definition

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

    Shortdraft | active | retired | unknown
    Comments

    Allows filtering of compartment definitions that are appropriate for use vs. not.
    This is labeled as "Is Modifier" because applications should not use a retired compartment 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
    20. CompartmentDefinition.experimental
    Definition

    A boolean value to indicate that this compartment 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 compartment definition that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental compartment 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 compartment definition.

    22. CompartmentDefinition.code
    Definition

    Which compartment this definition describes.

    ShortPatient | Encounter | RelatedPerson | Practitioner | Device
    Comments

    Only the specification can define the compartments that can exist. Servers can choose to support them.

    Control1..1
    BindingThe codes SHALL be taken from CompartmentType .http://hl7.org/fhir/ValueSet/compartment-type|3.0.2
    (required to http://hl7.org/fhir/ValueSet/compartment-type|3.0.2)

    Which compartment a compartment definition describes

    Typecode
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    24. CompartmentDefinition.code.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 CompartmentDefinition.code.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 26. CompartmentDefinition.code.extension:code
      Slice Namecode
      Definition

      R5: CompartmentDefinition.code

      ShortR5: Patient | Encounter | RelatedPerson | Practitioner | Device | EpisodeOfCare
      Comments

      Element CompartmentDefinition.code is mapped to FHIR STU3 element CompartmentDefinition.code as SourceIsBroaderThanTarget. Only the specification can define the compartments that can exist. Servers can choose to support them.

      Control0..1
      This element is affected by the following invariants: ele-1
      TypeExtension(R5: Patient | Encounter | RelatedPerson | Practitioner | Device | EpisodeOfCare) (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())
      28. CompartmentDefinition.search
      Definition

      Whether the search syntax is supported,.

      ShortWhether the search syntax is supported
      Comments

      Servers may define and use compartments to manage logical access without implementing the compartment related syntax.

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

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

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

        R5: CompartmentDefinition.version (new:string)

        ShortR5: Business version of the compartment definition (new)
        Comments

        Element CompartmentDefinition.version has a context of CompartmentDefinition based on following the parent source element upwards and mapping to CompartmentDefinition. Element CompartmentDefinition.version has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). There may be different compartment definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the compartment definition with the format [url]|[version]. The version SHOULD NOT contain a '#' - see Business Version.

        Control0..1
        TypeExtension(R5: Business version of the compartment definition (new)) (Extension Type: string)
        6. CompartmentDefinition.extension:versionAlgorithm
        Slice NameversionAlgorithm
        Definition

        R5: CompartmentDefinition.versionAlgorithm[x] (new:Coding, string)

        ShortR5: How to compare versions (new)
        Comments

        Element CompartmentDefinition.versionAlgorithm[x] has a context of CompartmentDefinition based on following the parent source element upwards and mapping to CompartmentDefinition. Element CompartmentDefinition.versionAlgorithm[x] has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). An externally-defined extension that has been mapped as the representation of FHIR R5 element CompartmentDefinition.versionAlgorithm[x]: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm. If set as a string, this is a FHIRPath expression that has two additional context variables passed in - %version1 and %version2 and will return a negative number if version1 is newer, a positive number if version2 and a 0 if the version ordering can't be successfully be determined.

        Control0..1
        TypeExtension(http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm)
        8. CompartmentDefinition.extension:title
        Slice Nametitle
        Definition

        R5: CompartmentDefinition.title (new:string)

        ShortR5: Name for this compartment definition (human friendly) (new)
        Comments

        Element CompartmentDefinition.title has a context of CompartmentDefinition based on following the parent source element upwards and mapping to CompartmentDefinition. Element CompartmentDefinition.title has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). An externally-defined extension that has been mapped as the representation of FHIR R5 element CompartmentDefinition.title: http://hl7.org/fhir/StructureDefinition/artifact-title. This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.

        Control0..1
        TypeExtension(http://hl7.org/fhir/StructureDefinition/artifact-title)
        10. CompartmentDefinition.contact
        12. CompartmentDefinition.contact.extension
        Control0..*
        SlicingThis element introduces a set of slices on CompartmentDefinition.contact.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • 14. CompartmentDefinition.contact.extension:contact
          Slice Namecontact
          Definition

          R5: CompartmentDefinition.contact additional types (ContactDetail) additional types from child elements (name, telecom)

          ShortR5: contact additional types
          Comments

          Element CompartmentDefinition.contact is mapped to FHIR STU3 element CompartmentDefinition.contact as SourceIsBroaderThanTarget. The mappings for CompartmentDefinition.contact do not cover the following types: ContactDetail. The mappings for CompartmentDefinition.contact do not cover the following types based on type expansion: name, telecom. May be a web site, an email address, a telephone number, etc.

          See guidance around (not) making local changes to elements here.

          Control0..*
          TypeExtension(R5: contact additional types) (Complex Extension)
          16. CompartmentDefinition.code
          18. CompartmentDefinition.code.extension
          Control0..*
          SlicingThis element introduces a set of slices on CompartmentDefinition.code.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
          • value @ url
          • 20. CompartmentDefinition.code.extension:code
            Slice Namecode
            Definition

            R5: CompartmentDefinition.code

            ShortR5: Patient | Encounter | RelatedPerson | Practitioner | Device | EpisodeOfCare
            Comments

            Element CompartmentDefinition.code is mapped to FHIR STU3 element CompartmentDefinition.code as SourceIsBroaderThanTarget. Only the specification can define the compartments that can exist. Servers can choose to support them.

            Control0..1
            TypeExtension(R5: Patient | Encounter | RelatedPerson | Practitioner | Device | EpisodeOfCare) (Extension Type: code)
            22. CompartmentDefinition.resource
            24. CompartmentDefinition.resource.extension
            Control0..*
            SlicingThis element introduces a set of slices on CompartmentDefinition.resource.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
            • value @ url
            • 26. CompartmentDefinition.resource.extension:startParam
              Slice NamestartParam
              Definition

              R5: CompartmentDefinition.resource.startParam (new:uri)

              ShortR5: Search Param for interpreting $everything.start (new)
              Comments

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

              Control0..1
              TypeExtension(R5: Search Param for interpreting $everything.start (new)) (Extension Type: uri)
              28. CompartmentDefinition.resource.extension:endParam
              Slice NameendParam
              Definition

              R5: CompartmentDefinition.resource.endParam (new:uri)

              ShortR5: Search Param for interpreting $everything.end (new)
              Comments

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

              Control0..1
              TypeExtension(R5: Search Param for interpreting $everything.end (new)) (Extension Type: uri)
              30. CompartmentDefinition.resource.code
              32. CompartmentDefinition.resource.code.extension
              Control0..*
              SlicingThis element introduces a set of slices on CompartmentDefinition.resource.code.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
              • value @ url
              • 34. CompartmentDefinition.resource.code.extension:code
                Slice Namecode
                Definition

                R5: CompartmentDefinition.resource.code additional codes

                ShortR5: code additional codes
                Comments

                Element CompartmentDefinition.resource.code is mapped to FHIR STU3 element CompartmentDefinition.resource.code as RelatedTo. The mappings for CompartmentDefinition.resource.code do not allow expression of the necessary codes, per the bindings on the source and target.

                Control0..1
                TypeExtension(R5: code additional codes) (Extension Type: code)

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

                0. CompartmentDefinition
                Definition

                A compartment definition that defines how resources are accessed on a server.

                ShortCompartment Definition for a resource
                Comments

                In FHIR, search is not performed directly on a resource (by XML or JSON path), but on a named parameter that maps into the resource content.

                Control1..1
                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. CompartmentDefinition.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. CompartmentDefinition.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. CompartmentDefinition.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. CompartmentDefinition.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. CompartmentDefinition.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. CompartmentDefinition.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. CompartmentDefinition.extension
                Definition

                An Extension

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

                  R5: CompartmentDefinition.version (new:string)

                  ShortR5: Business version of the compartment definition (new)
                  Comments

                  Element CompartmentDefinition.version has a context of CompartmentDefinition based on following the parent source element upwards and mapping to CompartmentDefinition. Element CompartmentDefinition.version has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). There may be different compartment definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the compartment definition with the format [url]|[version]. The version SHOULD NOT contain a '#' - see Business Version.

                  Control0..1
                  This element is affected by the following invariants: ele-1
                  TypeExtension(R5: Business version of the compartment definition (new)) (Extension Type: string)
                  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. CompartmentDefinition.extension:versionAlgorithm
                  Slice NameversionAlgorithm
                  Definition

                  R5: CompartmentDefinition.versionAlgorithm[x] (new:Coding, string)

                  ShortR5: How to compare versions (new)
                  Comments

                  Element CompartmentDefinition.versionAlgorithm[x] has a context of CompartmentDefinition based on following the parent source element upwards and mapping to CompartmentDefinition. Element CompartmentDefinition.versionAlgorithm[x] has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). An externally-defined extension that has been mapped as the representation of FHIR R5 element CompartmentDefinition.versionAlgorithm[x]: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm. If set as a string, this is a FHIRPath expression that has two additional context variables passed in - %version1 and %version2 and will return a negative number if version1 is newer, a positive number if version2 and a 0 if the version ordering can't be successfully be determined.

                  Control0..1
                  TypeExtension(http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm)
                  20. CompartmentDefinition.extension:title
                  Slice Nametitle
                  Definition

                  R5: CompartmentDefinition.title (new:string)

                  ShortR5: Name for this compartment definition (human friendly) (new)
                  Comments

                  Element CompartmentDefinition.title has a context of CompartmentDefinition based on following the parent source element upwards and mapping to CompartmentDefinition. Element CompartmentDefinition.title has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). An externally-defined extension that has been mapped as the representation of FHIR R5 element CompartmentDefinition.title: http://hl7.org/fhir/StructureDefinition/artifact-title. This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.

                  Control0..1
                  TypeExtension(http://hl7.org/fhir/StructureDefinition/artifact-title)
                  22. CompartmentDefinition.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
                  24. CompartmentDefinition.url
                  Definition

                  An absolute URI that is used to identify this compartment 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 compartment definition is (or will be) published. The URL SHOULD include the major version of the compartment definition. For more information see Technical and Business Versions.

                  ShortLogical URI to reference this compartment 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.

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

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

                  26. CompartmentDefinition.name
                  Definition

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

                  ShortName for this compartment 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. This is often the same as the code for the parameter, but does not need to be.

                  Control1..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. CompartmentDefinition.title
                  Definition

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

                  ShortName for this compartment 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. CompartmentDefinition.status
                  Definition

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

                  Shortdraft | active | retired | unknown
                  Comments

                  Allows filtering of compartment definitions that are appropriate for use vs. not.
                  This is labeled as "Is Modifier" because applications should not use a retired compartment 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. CompartmentDefinition.experimental
                  Definition

                  A boolean value to indicate that this compartment 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 compartment definition that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental compartment 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 compartment definition.

                  34. CompartmentDefinition.date
                  Definition

                  The date (and optionally time) when the compartment 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 compartment 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 compartment definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.

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

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

                  ShortName of the publisher (organization or individual)
                  Comments

                  Usually an organization, but may be an individual. The publisher (or steward) of the compartment definition is the organization or individual primarily responsible for the maintenance and upkeep of the compartment 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 compartment 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 compartment definition. May also allow for contact.

                  38. CompartmentDefinition.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. CompartmentDefinition.contact.id
                  Definition

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

                  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.
                  42. CompartmentDefinition.contact.extension
                  Definition

                  An Extension

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

                    R5: CompartmentDefinition.contact additional types (ContactDetail) additional types from child elements (name, telecom)

                    ShortR5: contact additional types
                    Comments

                    Element CompartmentDefinition.contact is mapped to FHIR STU3 element CompartmentDefinition.contact as SourceIsBroaderThanTarget. The mappings for CompartmentDefinition.contact do not cover the following types: ContactDetail. The mappings for CompartmentDefinition.contact do not cover the following types based on type expansion: name, telecom. May be a web site, an email address, a telephone number, etc.

                    See guidance around (not) making local changes to elements here.

                    Control0..*
                    TypeExtension(R5: contact additional types) (Complex Extension)
                    46. CompartmentDefinition.contact.name
                    Definition

                    The name of an individual to contact.

                    ShortName of an individual to contact
                    Comments

                    If there is no named individual, the telecom information is for the organization as a whole.

                    Control0..1
                    Typestring
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    48. CompartmentDefinition.contact.telecom
                    Definition

                    The contact details for the individual (if a name was provided) or the organization.

                    ShortContact details for individual or organization
                    Control0..*
                    TypeContactPoint
                    Summarytrue
                    50. CompartmentDefinition.description
                    Definition

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

                    ShortNatural language description of the compartment definition
                    Comments

                    This description can be used to capture details such as why the compartment 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 compartment 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
                    52. CompartmentDefinition.purpose
                    Definition

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

                    ShortWhy this compartment definition is defined
                    Comments

                    This element does not describe the usage of the compartment 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 compartment definition.

                    Control0..1
                    Typemarkdown
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    54. CompartmentDefinition.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 compartment 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.

                    56. CompartmentDefinition.jurisdiction
                    Definition

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

                    ShortIntended jurisdiction for compartment definition (if applicable)
                    Comments

                    It may be possible for the compartment 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
                    58. CompartmentDefinition.code
                    Definition

                    Which compartment this definition describes.

                    ShortPatient | Encounter | RelatedPerson | Practitioner | Device
                    Comments

                    Only the specification can define the compartments that can exist. Servers can choose to support them.

                    Control1..1
                    BindingThe codes SHALL be taken from CompartmentType .
                    (required to http://hl7.org/fhir/ValueSet/compartment-type|3.0.2)

                    Which compartment a compartment definition describes

                    Typecode
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    60. CompartmentDefinition.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.
                    62. CompartmentDefinition.code.extension
                    Definition

                    An Extension

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

                      R5: CompartmentDefinition.code

                      ShortR5: Patient | Encounter | RelatedPerson | Practitioner | Device | EpisodeOfCare
                      Comments

                      Element CompartmentDefinition.code is mapped to FHIR STU3 element CompartmentDefinition.code as SourceIsBroaderThanTarget. Only the specification can define the compartments that can exist. Servers can choose to support them.

                      Control0..1
                      This element is affected by the following invariants: ele-1
                      TypeExtension(R5: Patient | Encounter | RelatedPerson | Practitioner | Device | EpisodeOfCare) (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())
                      66. CompartmentDefinition.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.
                      68. CompartmentDefinition.search
                      Definition

                      Whether the search syntax is supported,.

                      ShortWhether the search syntax is supported
                      Comments

                      Servers may define and use compartments to manage logical access without implementing the compartment related syntax.

                      Control1..1
                      Typeboolean
                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                      Summarytrue
                      70. CompartmentDefinition.resource
                      Definition

                      Information about how a resource is related to the compartment.

                      ShortHow a resource is related to the compartment
                      Control0..*
                      TypeBackboneElement
                      Summarytrue
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
                      72. CompartmentDefinition.resource.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.
                      74. CompartmentDefinition.resource.extension
                      Definition

                      An Extension

                      ShortExtension
                      Control0..*
                      TypeExtension
                      SlicingThis element introduces a set of slices on CompartmentDefinition.resource.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                      • value @ url
                      • 76. CompartmentDefinition.resource.extension:startParam
                        Slice NamestartParam
                        Definition

                        R5: CompartmentDefinition.resource.startParam (new:uri)

                        ShortR5: Search Param for interpreting $everything.start (new)
                        Comments

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

                        Control0..1
                        This element is affected by the following invariants: ele-1
                        TypeExtension(R5: Search Param for interpreting $everything.start (new)) (Extension Type: uri)
                        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())
                        78. CompartmentDefinition.resource.extension:endParam
                        Slice NameendParam
                        Definition

                        R5: CompartmentDefinition.resource.endParam (new:uri)

                        ShortR5: Search Param for interpreting $everything.end (new)
                        Comments

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

                        Control0..1
                        This element is affected by the following invariants: ele-1
                        TypeExtension(R5: Search Param for interpreting $everything.end (new)) (Extension Type: uri)
                        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())
                        80. CompartmentDefinition.resource.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
                        82. CompartmentDefinition.resource.code
                        Definition

                        The name of a resource supported by the server.

                        ShortName of resource type
                        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
                        84. CompartmentDefinition.resource.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.
                        86. CompartmentDefinition.resource.code.extension
                        Definition

                        An Extension

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

                          R5: CompartmentDefinition.resource.code additional codes

                          ShortR5: code additional codes
                          Comments

                          Element CompartmentDefinition.resource.code is mapped to FHIR STU3 element CompartmentDefinition.resource.code as RelatedTo. The mappings for CompartmentDefinition.resource.code do not allow expression of the necessary codes, per the bindings on the source and target.

                          Control0..1
                          This element is affected by the following invariants: ele-1
                          TypeExtension(R5: code additional codes) (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())
                          90. CompartmentDefinition.resource.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.
                          92. CompartmentDefinition.resource.param
                          Definition

                          The name of a search parameter that represents the link to the compartment. More than one may be listed because a resource may be linked to a compartment in more than one way,.

                          ShortSearch Parameter Name, or chained parameters
                          Comments

                          If no search parameters are listed, then the resource is not linked to the compartment.

                          Control0..*
                          Typestring
                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                          Summarytrue
                          94. CompartmentDefinition.resource.documentation
                          Definition

                          Additional documentation about the resource and compartment.

                          ShortAdditional documentation about the resource and compartment
                          Control0..1
                          Typestring
                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension