Page tree
Skip to end of metadata
Go to start of metadata


Owning committee name


Contributing or Reviewing Work Groups

  • CIMI
  • FHIR-Infrastructure

FHIR Resource Development Project Insight ID


Scope of coverage

ExpansionProfile allows definition constraints on the Expansion of a FHIR ValueSet. For example, constraining the expansion to specific versions of code systems, or ensuring only specific designations are present. Finally, references to resources of this type may be used as values of the 'profile' parameter to explicitly request use of an ExpansionProfile resource through the FHIR Terminology Service Value Set expansion operation.

RIM scope

ExpansionProfile is outside the RIM's scope.

Resource appropriateness

The notion of Value Set Expansion profiles is not new to FHIR – it is explicitly supported in the FHIR Terminology Service Value Set Expansion operation. However, the support is limited to specifying a URI for an expansion profile without any way to define or represent the specific constraints. An ExpansionProfile will provide both a resource and a number of common constraints. This then enables implementers to represent, manage, and share the Value Set expansion profiling constraints as FHIR resources.

Almost all users of $expand have already defined some profiling support in their implementation already. Vocab considered defining this earlier in the process, but delayed it in order to keep work load managable

Expected implementations

  • NEHTA / CSIRO (Australia) – National Clinical Terminology Service (NCTS) project
  • Health Intersections Server + Build tool internal $expand functionality
  • OHIE terminology server

Content sources

  • Value Set Authority Centre (VSAC)
  • NEHTA / CSIRO (Australia) – National Clinical Terminology Service (NCTS) project
  • Health Intersections Server / Telstra terminology server
  • Apelon server
  • CTS2

Example Scenarios

  • Restricting a ValueSet expansion to specific versions of code systems/terminologies
  • Including or excluding the definition of the ValueSet being expanded in the expansion
  • Enabling or disabling nesting of contains elements in ValueSet.expansion.contains
  • Including or excluding abstract concepts
  • Including or excluding specific designations
  • Specifying a language preference for ValueSet.expansion.contains.display elements
  • Specifying how the expand operation behaves when the expansion is too large i.e. return an error (OperationOutcome) or return a limited expansion and and indicator that the expansion is incomplete
  • Including or excluding post-coordinated codes in the expansion

Resource Relationships

  • This resource may be referenced as a value of the profile parameter of the Value Set Expansion operation
  • This resource may be included in ValueSet.expansion.parameter.value[x] – this would require a resource of type Reference to be supported
  • this resource may have overlapping functionality with the value set resource (this would equate to specifying things at design time or run time; overlaps will be thoroughly reviewed)



gForge Users

  • reuben_daniels
  • grahameg