FHIR Extensions Pack
5.4.0 - May 2026 International flag

FHIR Extensions Pack, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 5.4.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-extensions/ and changes regularly. See the Directory of published versions

Extension: Additional Resource Compartment

Official URL: http://hl7.org/fhir/StructureDefinition/additional-resource-compartment Version: 5.4.0
Standards status: Trial-use Maturity Level: 1 Computable Name: AdditionalResourceCompartment
Other Identifiers: OID:2.16.840.1.113883.4.642.40.97.42.78

Allows the definition of an additional resource to indicate the resource is a candidate for inclusion in a compartment by the implementing server.

Context of Use

This extension may be used on the following element(s)

Usage info

Usages:

  • This Extension is not used by any profiles in this Specification

You can also check for usages in the FHIR IG Statistics

Changes since version 5.3.0:

  • No changes
  • Formal Views of Extension Content

    Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

    This structure is derived from Extension

    Summary

    Complex Extension: Allows the definition of an additional resource to indicate the resource is a candidate for inclusion in a compartment by the implementing server.

    • compartment: canonical: Reference to the compartment this resource would like to be included in.
    • param: string: Search Parameter Name, or chained parameters.
    • documentation: string: Additional documentation about the resource and compartment.
    • startParam: canonical: Search Parameter for interpreting $everything.start
    • endParam: canonical: Search Parameter for interpreting $everything.end

    Maturity: 1

    This structure is derived from Extension

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Extension 0..* Extension Compartment for an additional resource
    Extension.Slices for extension Content/Rules for all slices
    Extension.Slices for extension.extension:compartment 1..1 Extension Reference to the compartment this resource would like to be included in
    Extension.Slices for extension.extension:compartment.extension 0..0 Extension
    Extension.Slices for extension.extension:compartment.url 1..1 uri "compartment"
    Extension.Slices for extension.extension:compartment.value[x] 1..1 canonical(CompartmentDefinition) Value of extension
    Extension.Slices for extension.extension:param 1..* Extension Search Parameter Name, or chained parameters
    Extension.Slices for extension.extension:param.extension 0..0 Extension
    Extension.Slices for extension.extension:param.url 1..1 uri "param"
    Extension.Slices for extension.extension:param.value[x] 1..1 string Value of extension
    Extension.Slices for extension.extension:documentation 0..1 Extension Additional documentation about the resource and compartment
    Extension.Slices for extension.extension:documentation.extension 0..0 Extension
    Extension.Slices for extension.extension:documentation.url 1..1 uri "documentation"
    Extension.Slices for extension.extension:documentation.value[x] 1..1 string Value of extension
    Extension.Slices for extension.extension:startParam 0..1 Extension Search Parameter for interpreting $everything.start
    Extension.Slices for extension.extension:startParam.extension 0..0 Extension
    Extension.Slices for extension.extension:startParam.url 1..1 uri "startParam"
    Extension.Slices for extension.extension:startParam.value[x] 1..1 canonical(SearchParameter) Value of extension
    Extension.Slices for extension.extension:endParam 0..1 Extension Search Parameter for interpreting $everything.end
    Extension.Slices for extension.extension:endParam.extension 0..0 Extension
    Extension.Slices for extension.extension:endParam.url 1..1 uri "endParam"
    Extension.Slices for extension.extension:endParam.value[x] 1..1 canonical(SearchParameter) Value of extension
    Extension.url 1..1 uri "http://hl7.org/fhir/StructureDefinition/additional-resource-compartment"
    Extension.value[x] 0..0 Value of extension

    doco Documentation for this format
    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Extension 0..* Extension Compartment for an additional resource
    Extension.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension 2..* Extension Additional content defined by implementations
    Slice: Unordered, Open by value:url
    Extension.Slices for extension.extension:compartment 1..1 Extension Reference to the compartment this resource would like to be included in
    Extension.Slices for extension.extension:compartment.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:compartment.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:compartment.url 1..1 uri "compartment"
    Extension.Slices for extension.extension:compartment.value[x] 1..1 canonical(CompartmentDefinition) Value of extension
    Extension.Slices for extension.extension:param 1..* Extension Search Parameter Name, or chained parameters
    Extension.Slices for extension.extension:param.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:param.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:param.url 1..1 uri "param"
    Extension.Slices for extension.extension:param.value[x] 1..1 string Value of extension
    Extension.Slices for extension.extension:documentation 0..1 Extension Additional documentation about the resource and compartment
    Extension.Slices for extension.extension:documentation.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:documentation.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:documentation.url 1..1 uri "documentation"
    Extension.Slices for extension.extension:documentation.value[x] 1..1 string Value of extension
    Extension.Slices for extension.extension:startParam 0..1 Extension Search Parameter for interpreting $everything.start
    Extension.Slices for extension.extension:startParam.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:startParam.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:startParam.url 1..1 uri "startParam"
    Extension.Slices for extension.extension:startParam.value[x] 1..1 canonical(SearchParameter) Value of extension
    Extension.Slices for extension.extension:endParam 0..1 Extension Search Parameter for interpreting $everything.end
    Extension.Slices for extension.extension:endParam.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:endParam.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:endParam.url 1..1 uri "endParam"
    Extension.Slices for extension.extension:endParam.value[x] 1..1 canonical(SearchParameter) Value of extension
    Extension.url 1..1 uri "http://hl7.org/fhir/StructureDefinition/additional-resource-compartment"

    doco Documentation for this format

    This structure is derived from Extension

    Summary

    Complex Extension: Allows the definition of an additional resource to indicate the resource is a candidate for inclusion in a compartment by the implementing server.

    • compartment: canonical: Reference to the compartment this resource would like to be included in.
    • param: string: Search Parameter Name, or chained parameters.
    • documentation: string: Additional documentation about the resource and compartment.
    • startParam: canonical: Search Parameter for interpreting $everything.start
    • endParam: canonical: Search Parameter for interpreting $everything.end

    Maturity: 1

    Differential View

    This structure is derived from Extension

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Extension 0..* Extension Compartment for an additional resource
    Extension.Slices for extension Content/Rules for all slices
    Extension.Slices for extension.extension:compartment 1..1 Extension Reference to the compartment this resource would like to be included in
    Extension.Slices for extension.extension:compartment.extension 0..0 Extension
    Extension.Slices for extension.extension:compartment.url 1..1 uri "compartment"
    Extension.Slices for extension.extension:compartment.value[x] 1..1 canonical(CompartmentDefinition) Value of extension
    Extension.Slices for extension.extension:param 1..* Extension Search Parameter Name, or chained parameters
    Extension.Slices for extension.extension:param.extension 0..0 Extension
    Extension.Slices for extension.extension:param.url 1..1 uri "param"
    Extension.Slices for extension.extension:param.value[x] 1..1 string Value of extension
    Extension.Slices for extension.extension:documentation 0..1 Extension Additional documentation about the resource and compartment
    Extension.Slices for extension.extension:documentation.extension 0..0 Extension
    Extension.Slices for extension.extension:documentation.url 1..1 uri "documentation"
    Extension.Slices for extension.extension:documentation.value[x] 1..1 string Value of extension
    Extension.Slices for extension.extension:startParam 0..1 Extension Search Parameter for interpreting $everything.start
    Extension.Slices for extension.extension:startParam.extension 0..0 Extension
    Extension.Slices for extension.extension:startParam.url 1..1 uri "startParam"
    Extension.Slices for extension.extension:startParam.value[x] 1..1 canonical(SearchParameter) Value of extension
    Extension.Slices for extension.extension:endParam 0..1 Extension Search Parameter for interpreting $everything.end
    Extension.Slices for extension.extension:endParam.extension 0..0 Extension
    Extension.Slices for extension.extension:endParam.url 1..1 uri "endParam"
    Extension.Slices for extension.extension:endParam.value[x] 1..1 canonical(SearchParameter) Value of extension
    Extension.url 1..1 uri "http://hl7.org/fhir/StructureDefinition/additional-resource-compartment"
    Extension.value[x] 0..0 Value of extension

    doco Documentation for this format

    Snapshot View

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Extension 0..* Extension Compartment for an additional resource
    Extension.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension 2..* Extension Additional content defined by implementations
    Slice: Unordered, Open by value:url
    Extension.Slices for extension.extension:compartment 1..1 Extension Reference to the compartment this resource would like to be included in
    Extension.Slices for extension.extension:compartment.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:compartment.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:compartment.url 1..1 uri "compartment"
    Extension.Slices for extension.extension:compartment.value[x] 1..1 canonical(CompartmentDefinition) Value of extension
    Extension.Slices for extension.extension:param 1..* Extension Search Parameter Name, or chained parameters
    Extension.Slices for extension.extension:param.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:param.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:param.url 1..1 uri "param"
    Extension.Slices for extension.extension:param.value[x] 1..1 string Value of extension
    Extension.Slices for extension.extension:documentation 0..1 Extension Additional documentation about the resource and compartment
    Extension.Slices for extension.extension:documentation.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:documentation.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:documentation.url 1..1 uri "documentation"
    Extension.Slices for extension.extension:documentation.value[x] 1..1 string Value of extension
    Extension.Slices for extension.extension:startParam 0..1 Extension Search Parameter for interpreting $everything.start
    Extension.Slices for extension.extension:startParam.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:startParam.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:startParam.url 1..1 uri "startParam"
    Extension.Slices for extension.extension:startParam.value[x] 1..1 canonical(SearchParameter) Value of extension
    Extension.Slices for extension.extension:endParam 0..1 Extension Search Parameter for interpreting $everything.end
    Extension.Slices for extension.extension:endParam.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:endParam.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:endParam.url 1..1 uri "endParam"
    Extension.Slices for extension.extension:endParam.value[x] 1..1 canonical(SearchParameter) Value of extension
    Extension.url 1..1 uri "http://hl7.org/fhir/StructureDefinition/additional-resource-compartment"

    doco Documentation for this format

     

    Other representations of profile: CSV, Excel, Schematron

    Constraints

    Id Grade Path(s) Description Expression
    ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
    ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

    R4B

    The extension is unchanged in R4B

    R4

    The extension is unchanged in R4

    R3

    The extension is represented a little differently in R3:

    • Map the type canonical to uri on the element Extension.extension:compartment.value[x]
    • Map the type canonical to uri on the element Extension.extension:startParam.value[x]
    • Map the type canonical to uri on the element Extension.extension:endParam.value[x]
    • Note: Extensions that have been modified for R3 are still draft while real-world experience is collected
    Name Flags Card. Type Description & Constraints      Filter: doco
    Extension 0..* Extension Compartment for an additional resource
    Extension. Slices for extension Content/Rules for all slices
    Extension.Slices for extension. extension:compartment 1..1 Extension Reference to the compartment this resource would like to be included in
    Extension.Slices for extension.extension:compartment. extension 0 .. 0 Extension
    Extension.Slices for extension.extension:compartment. url 1 .. 1 uri "compartment"
    Extension.Slices for extension.extension:compartment. value[x] 1.. 1 uri Value of extension
    Extension.Slices for extension. extension:param 1..* Extension Search Parameter Name, or chained parameters
    Extension.Slices for extension.extension:param. extension 0 .. 0 Extension
    Extension.Slices for extension.extension:param. url 1 .. 1 uri "param"
    Extension.Slices for extension.extension:param. value[x] 1.. 1 string Value of extension
    Extension.Slices for extension. extension:documentation 0..1 Extension Additional documentation about the resource and compartment
    Extension.Slices for extension.extension:documentation. extension 0 .. 0 Extension
    Extension.Slices for extension.extension:documentation. url 1 .. 1 uri "documentation"
    Extension.Slices for extension.extension:documentation. value[x] 1.. 1 string Value of extension
    Extension.Slices for extension. extension:startParam 0..1 Extension Search Parameter for interpreting $everything.start
    Extension.Slices for extension.extension:startParam. extension 0 .. 0 Extension
    Extension.Slices for extension.extension:startParam. url 1 .. 1 uri "startParam"
    Extension.Slices for extension.extension:startParam. value[x] 1.. 1 uri Value of extension
    Extension.Slices for extension. extension:endParam 0..1 Extension Search Parameter for interpreting $everything.end
    Extension.Slices for extension.extension:endParam. extension 0 .. 0 Extension
    Extension.Slices for extension.extension:endParam. url 1 .. 1 uri "endParam"
    Extension.Slices for extension.extension:endParam. value[x] 1.. 1 uri Value of extension
    Extension. url 1 .. 1 uri "http://hl7.org/fhir/StructureDefinition/additional-resource-compartment"
    Extension. value[x] 0 .. 0 Value of extension

    doco Documentation for this format

    Search Parameters for this Extension

    (none found)