R4 Draft for Comment

This page is part of the FHIR Specification (v3.2.0: R4 Ballot 1). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

4.11 Resource ExpansionProfile - Content

Vocabulary Work GroupMaturity Level: 2 Trial Use Compartments: Not linked to any defined compartments

Resource to define constraints on the Expansion of a FHIR ValueSet.

The purpose of the expansion profile is to allow a client that is using a terminology service to configure the behaviour of the terminology server in regard to how it builds expansions - and, in a similar manner, how it validates codes in value set. ExpansionProfiles are used for the following operations:

The ExpansionProfile can be passed either directly, or as a reference by its canonical URL.

The ExpansionProfile is used to configure the behaviour of a terminology server when it processes ValueSet resources. As such, there is a tight relationship between the two resources; ValueSets specify what codes are in the value set, while ExpansionProfile affect run time behaviour.

ExpansionProfiles do not change what codes are in a defined value set. They can never add codes to the value set. They can be used to reduce the number of codes returned in an expansion, but this is a reduced view of the value set, not a change in the value set itself. Note, though, the discussion about overriding versions below.

This resource is referenced by terminologycapabilities

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ExpansionProfile TUDomainResourceDefines behaviour and contraints on the ValueSet Expansion operation
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... url Σ0..1uriLogical URI to reference this expansion profile (globally unique)
... identifier Σ0..1IdentifierAdditional identifier for the expansion profile
... version Σ0..1stringBusiness version of the expansion profile
... name Σ0..1stringName for this expansion profile (computer friendly)
... status ?!Σ1..1codedraft | active | retired | unknown
PublicationStatus (Required)
... experimental ?!Σ0..1booleanFor testing purposes, not real usage
... date Σ0..1dateTimeDate this was last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description 0..1markdownNatural language description of the expansion profile
... useContext Σ0..*UsageContextContext the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for expansion profile (if applicable)
Jurisdiction ValueSet (Extensible)
... fixedVersion Σ0..*BackboneElementFix use of a code system to a particular version
.... system Σ1..1uriSystem to have its version fixed
.... version Σ1..1stringSpecific version of the code system referred to
.... mode Σ1..1codedefault | check | override
SystemVersionProcessingMode (Required)
... excludedSystem Σ0..1BackboneElementSystems/Versions to be exclude
.... system Σ1..1uriThe specific code system to be excluded
.... version Σ0..1stringSpecific version of the code system referred to
... includeDesignations Σ0..1booleanWhether the expansion should include concept designations
... designation Σ0..1BackboneElementWhen the expansion profile imposes designation contraints
.... include Σ0..1BackboneElementDesignations to be included
..... designation ΣI0..*BackboneElementThe designation to be included
+ SHALL have at least one of language or use
...... language Σ0..1codeHuman language of the designation to be included
Common Languages (Extensible but limited to All Languages)
...... use Σ0..1CodingWhat kind of Designation to include
Designation Use (Required)
.... exclude Σ0..1BackboneElementDesignations to be excluded
..... designation ΣI0..*BackboneElementThe designation to be excluded
+ SHALL have at least one of language or use
...... language Σ0..1codeHuman language of the designation to be excluded
Common Languages (Extensible but limited to All Languages)
...... use Σ0..1CodingWhat kind of Designation to exclude
Designation Use (Required)
... includeDefinition Σ0..1booleanInclude or exclude the value set definition in the expansion
... activeOnly Σ0..1booleanInclude or exclude inactive concepts in the expansion
... excludeNested Σ0..1booleanNested codes in the expansion or not
... excludeNotForUI Σ0..1booleanInclude or exclude codes which cannot be rendered in user interfaces in the value set expansion
... excludePostCoordinated Σ0..1booleanInclude or exclude codes which are post coordinated expressions in the value set expansion
... displayLanguage Σ0..1codeSpecify the language for the display element of codes in the value set expansion
Common Languages (Extensible but limited to All Languages)
... limitedExpansion Σ0..1booleanControls behaviour of the value set expand operation when value sets are too large to be completely expanded

doco Documentation for this format

UML Diagram (Legend)

ExpansionProfile (DomainResource)An absolute URI that is used to identify this expansion profile when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this expansion profile is (or will be) publishedurl : uri [0..1]A formal identifier that is used to identify this expansion profile when it is represented in other formats, or referenced in a specification, model, design or an instanceidentifier : Identifier [0..1]The identifier that is used to identify this version of the expansion profile when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the expansion profile 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 sequenceversion : string [0..1]A natural language name identifying the expansion profile. This name should be usable as an identifier for the module by machine processing applications such as code generationname : string [0..1]The status of this expansion profile. Enables tracking the life-cycle of the content (this element modifies the meaning of other elements)status : code [1..1] « The lifecycle status of a Value Set or Concept Map. (Strength=Required)PublicationStatus! »A boolean value to indicate that this expansion profile is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage (this element modifies the meaning of other elements)experimental : boolean [0..1]The date (and optionally time) when the expansion profile 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 expansion profile changesdate : dateTime [0..1]The name of the individual or organization that published the expansion profilepublisher : string [0..1]Contact details to assist a user in finding and communicating with the publishercontact : ContactDetail [0..*]A free text natural language description of the expansion profile from a consumer's perspectivedescription : markdown [0..1]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 expansion profile instancesuseContext : UsageContext [0..*]A legal or geographic region in which the expansion profile is intended to be usedjurisdiction : CodeableConcept [0..*] « Countries and regions within which this artifact is targeted for use (Strength=Extensible)Jurisdiction ValueSet+ »Controls whether concept designations are to be included or excluded in value set expansionsincludeDesignations : boolean [0..1]Controls whether the value set definition is included or excluded in value set expansionsincludeDefinition : boolean [0..1]Controls whether inactive concepts are included or excluded in value set expansionsactiveOnly : boolean [0..1]Controls whether or not the value set expansion nests codes or not (i.e. ValueSet.expansion.contains.contains)excludeNested : boolean [0..1]Controls whether or not the value set expansion includes codes which cannot be displayed in user interfacesexcludeNotForUI : boolean [0..1]Controls whether or not the value set expansion includes post coordinated codesexcludePostCoordinated : boolean [0..1]Specifies the language to be used for description in the expansions i.e. the language to be used for ValueSet.expansion.contains.displaydisplayLanguage : code [0..1] « A human language. (Strength=Extensible)Common Languages+ »If the value set being expanded is incomplete (because it is too big to expand), return a limited expansion (a subset) with an indicator that expansion is incomplete, using the extension [http://hl7.org/fhir/StructureDefinition/valueset-toocostly](extension-valueset-toocostly.html)limitedExpansion : boolean [0..1]FixedVersionThe specific system for which to fix the versionsystem : uri [1..1]The version of the code system from which codes in the expansion should be includedversion : string [1..1]How to manage the intersection between a fixed version in a value set, and this fixed version of the system in the expansion profilemode : code [1..1] « How to manage the intersection between a fixed version in a value set, and a fixed version of the system in the expansion profile (Strength=Required)SystemVersionProcessingMode! »ExcludedSystemAn absolute URI which is the code system to be excludedsystem : uri [1..1]The version of the code system from which codes in the expansion should be excludedversion : string [0..1]DesignationDesignationIncludeDesignationIncludeDesignationThe language this designation is defined forlanguage : code [0..1] « A human language. (Strength=Extensible)Common Languages+ »Which kinds of designation to include in the expansionuse : Coding [0..1] « Details of how a designation would be used. (Strength=Required)Designation Use! »DesignationExcludeDesignationExcludeDesignationThe language this designation is defined forlanguage : code [0..1] « A human language. (Strength=Extensible)Common Languages+ »Which kinds of designation to exclude from the expansionuse : Coding [0..1] « Details of how a designation would be used. (Strength=Required)Designation Use! »Fix use of a particular code system to a particular versionfixedVersion[0..*]Code system, or a particular version of a code system to be excluded from value set expansionsexcludedSystem[0..1]A data group for each designation to be includeddesignation[0..*]Designations to be includedinclude[0..1]A data group for each designation to be excludeddesignation[0..*]Designations to be excludedexclude[0..1]A set of criteria that provide the constraints imposed on the value set expansion by including or excluding designationsdesignation[0..1]

XML Template

<ExpansionProfile xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <url value="[uri]"/><!-- 0..1 Logical URI to reference this expansion profile (globally unique) -->
 <identifier><!-- 0..1 Identifier Additional identifier for the expansion profile --></identifier>
 <version value="[string]"/><!-- 0..1 Business version of the expansion profile -->
 <name value="[string]"/><!-- 0..1 Name for this expansion profile (computer friendly) -->
 <status value="[code]"/><!-- 1..1 draft | active | retired | unknown -->
 <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->
 <date value="[dateTime]"/><!-- 0..1 Date this was last changed -->
 <publisher value="[string]"/><!-- 0..1 Name of the publisher (organization or individual) -->
 <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact>
 <description value="[markdown]"/><!-- 0..1 Natural language description of the expansion profile -->
 <useContext><!-- 0..* UsageContext Context the content is intended to support --></useContext>
 <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for expansion profile (if applicable) --></jurisdiction>
 <fixedVersion>  <!-- 0..* Fix use of a code system to a particular version -->
  <system value="[uri]"/><!-- 1..1 System to have its version fixed -->
  <version value="[string]"/><!-- 1..1 Specific version of the code system referred to -->
  <mode value="[code]"/><!-- 1..1 default | check | override -->
 </fixedVersion>
 <excludedSystem>  <!-- 0..1 Systems/Versions to be exclude -->
  <system value="[uri]"/><!-- 1..1 The specific code system to be excluded -->
  <version value="[string]"/><!-- 0..1 Specific version of the code system referred to -->
 </excludedSystem>
 <includeDesignations value="[boolean]"/><!-- 0..1 Whether the expansion should include concept designations -->
 <designation>  <!-- 0..1 When the expansion profile imposes designation contraints -->
  <include>  <!-- 0..1 Designations to be included -->
   <designation>  <!-- 0..* The designation to be included -->
    <language value="[code]"/><!-- 0..1 Human language of the designation to be included -->
    <use><!-- 0..1 Coding What kind of Designation to include --></use>
   </designation>
  </include>
  <exclude>  <!-- 0..1 Designations to be excluded -->
   <designation>  <!-- 0..* The designation to be excluded -->
    <language value="[code]"/><!-- 0..1 Human language of the designation to be excluded -->
    <use><!-- 0..1 Coding What kind of Designation to exclude --></use>
   </designation>
  </exclude>
 </designation>
 <includeDefinition value="[boolean]"/><!-- 0..1 Include or exclude the value set definition in the expansion -->
 <activeOnly value="[boolean]"/><!-- 0..1 Include or exclude inactive concepts in the expansion -->
 <excludeNested value="[boolean]"/><!-- 0..1 Nested codes in the expansion or not -->
 <excludeNotForUI value="[boolean]"/><!-- 0..1 Include or exclude codes which cannot be rendered in user interfaces in the value set expansion -->
 <excludePostCoordinated value="[boolean]"/><!-- 0..1 Include or exclude codes which are post coordinated expressions in the value set expansion -->
 <displayLanguage value="[code]"/><!-- 0..1 Specify the language for the display element of codes in the value set expansion -->
 <limitedExpansion value="[boolean]"/><!-- 0..1 Controls behaviour of the value set expand operation when value sets are too large to be completely expanded -->
</ExpansionProfile>

JSON Template

{doco
  "resourceType" : "ExpansionProfile",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "url" : "<uri>", // Logical URI to reference this expansion profile (globally unique)
  "identifier" : { Identifier }, // Additional identifier for the expansion profile
  "version" : "<string>", // Business version of the expansion profile
  "name" : "<string>", // Name for this expansion profile (computer friendly)
  "status" : "<code>", // R!  draft | active | retired | unknown
  "experimental" : <boolean>, // For testing purposes, not real usage
  "date" : "<dateTime>", // Date this was last changed
  "publisher" : "<string>", // Name of the publisher (organization or individual)
  "contact" : [{ ContactDetail }], // Contact details for the publisher
  "description" : "<markdown>", // Natural language description of the expansion profile
  "useContext" : [{ UsageContext }], // Context the content is intended to support
  "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for expansion profile (if applicable)
  "fixedVersion" : [{ // Fix use of a code system to a particular version
    "system" : "<uri>", // R!  System to have its version fixed
    "version" : "<string>", // R!  Specific version of the code system referred to
    "mode" : "<code>" // R!  default | check | override
  }],
  "excludedSystem" : { // Systems/Versions to be exclude
    "system" : "<uri>", // R!  The specific code system to be excluded
    "version" : "<string>" // Specific version of the code system referred to
  },
  "includeDesignations" : <boolean>, // Whether the expansion should include concept designations
  "designation" : { // When the expansion profile imposes designation contraints
    "include" : { // Designations to be included
      "designation" : [{ // The designation to be included
        "language" : "<code>", // Human language of the designation to be included
        "use" : { Coding } // What kind of Designation to include
      }]
    },
    "exclude" : { // Designations to be excluded
      "designation" : [{ // The designation to be excluded
        "language" : "<code>", // Human language of the designation to be excluded
        "use" : { Coding } // What kind of Designation to exclude
      }]
    }
  },
  "includeDefinition" : <boolean>, // Include or exclude the value set definition in the expansion
  "activeOnly" : <boolean>, // Include or exclude inactive concepts in the expansion
  "excludeNested" : <boolean>, // Nested codes in the expansion or not
  "excludeNotForUI" : <boolean>, // Include or exclude codes which cannot be rendered in user interfaces in the value set expansion
  "excludePostCoordinated" : <boolean>, // Include or exclude codes which are post coordinated expressions in the value set expansion
  "displayLanguage" : "<code>", // Specify the language for the display element of codes in the value set expansion
  "limitedExpansion" : <boolean> // Controls behaviour of the value set expand operation when value sets are too large to be completely expanded
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:ExpansionProfile;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:ExpansionProfile.url [ uri ]; # 0..1 Logical URI to reference this expansion profile (globally unique)
  fhir:ExpansionProfile.identifier [ Identifier ]; # 0..1 Additional identifier for the expansion profile
  fhir:ExpansionProfile.version [ string ]; # 0..1 Business version of the expansion profile
  fhir:ExpansionProfile.name [ string ]; # 0..1 Name for this expansion profile (computer friendly)
  fhir:ExpansionProfile.status [ code ]; # 1..1 draft | active | retired | unknown
  fhir:ExpansionProfile.experimental [ boolean ]; # 0..1 For testing purposes, not real usage
  fhir:ExpansionProfile.date [ dateTime ]; # 0..1 Date this was last changed
  fhir:ExpansionProfile.publisher [ string ]; # 0..1 Name of the publisher (organization or individual)
  fhir:ExpansionProfile.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher
  fhir:ExpansionProfile.description [ markdown ]; # 0..1 Natural language description of the expansion profile
  fhir:ExpansionProfile.useContext [ UsageContext ], ... ; # 0..* Context the content is intended to support
  fhir:ExpansionProfile.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for expansion profile (if applicable)
  fhir:ExpansionProfile.fixedVersion [ # 0..* Fix use of a code system to a particular version
    fhir:ExpansionProfile.fixedVersion.system [ uri ]; # 1..1 System to have its version fixed
    fhir:ExpansionProfile.fixedVersion.version [ string ]; # 1..1 Specific version of the code system referred to
    fhir:ExpansionProfile.fixedVersion.mode [ code ]; # 1..1 default | check | override
  ], ...;
  fhir:ExpansionProfile.excludedSystem [ # 0..1 Systems/Versions to be exclude
    fhir:ExpansionProfile.excludedSystem.system [ uri ]; # 1..1 The specific code system to be excluded
    fhir:ExpansionProfile.excludedSystem.version [ string ]; # 0..1 Specific version of the code system referred to
  ];
  fhir:ExpansionProfile.includeDesignations [ boolean ]; # 0..1 Whether the expansion should include concept designations
  fhir:ExpansionProfile.designation [ # 0..1 When the expansion profile imposes designation contraints
    fhir:ExpansionProfile.designation.include [ # 0..1 Designations to be included
      fhir:ExpansionProfile.designation.include.designation [ # 0..* The designation to be included
        fhir:ExpansionProfile.designation.include.designation.language [ code ]; # 0..1 Human language of the designation to be included
        fhir:ExpansionProfile.designation.include.designation.use [ Coding ]; # 0..1 What kind of Designation to include
      ], ...;
    ];
    fhir:ExpansionProfile.designation.exclude [ # 0..1 Designations to be excluded
      fhir:ExpansionProfile.designation.exclude.designation [ # 0..* The designation to be excluded
        fhir:ExpansionProfile.designation.exclude.designation.language [ code ]; # 0..1 Human language of the designation to be excluded
        fhir:ExpansionProfile.designation.exclude.designation.use [ Coding ]; # 0..1 What kind of Designation to exclude
      ], ...;
    ];
  ];
  fhir:ExpansionProfile.includeDefinition [ boolean ]; # 0..1 Include or exclude the value set definition in the expansion
  fhir:ExpansionProfile.activeOnly [ boolean ]; # 0..1 Include or exclude inactive concepts in the expansion
  fhir:ExpansionProfile.excludeNested [ boolean ]; # 0..1 Nested codes in the expansion or not
  fhir:ExpansionProfile.excludeNotForUI [ boolean ]; # 0..1 Include or exclude codes which cannot be rendered in user interfaces in the value set expansion
  fhir:ExpansionProfile.excludePostCoordinated [ boolean ]; # 0..1 Include or exclude codes which are post coordinated expressions in the value set expansion
  fhir:ExpansionProfile.displayLanguage [ code ]; # 0..1 Specify the language for the display element of codes in the value set expansion
  fhir:ExpansionProfile.limitedExpansion [ boolean ]; # 0..1 Controls behaviour of the value set expand operation when value sets are too large to be completely expanded
]

Changes since DSTU2

This resource did not exist in Release 2

This analysis is available as XML or JSON.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ExpansionProfile TUDomainResourceDefines behaviour and contraints on the ValueSet Expansion operation
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... url Σ0..1uriLogical URI to reference this expansion profile (globally unique)
... identifier Σ0..1IdentifierAdditional identifier for the expansion profile
... version Σ0..1stringBusiness version of the expansion profile
... name Σ0..1stringName for this expansion profile (computer friendly)
... status ?!Σ1..1codedraft | active | retired | unknown
PublicationStatus (Required)
... experimental ?!Σ0..1booleanFor testing purposes, not real usage
... date Σ0..1dateTimeDate this was last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description 0..1markdownNatural language description of the expansion profile
... useContext Σ0..*UsageContextContext the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for expansion profile (if applicable)
Jurisdiction ValueSet (Extensible)
... fixedVersion Σ0..*BackboneElementFix use of a code system to a particular version
.... system Σ1..1uriSystem to have its version fixed
.... version Σ1..1stringSpecific version of the code system referred to
.... mode Σ1..1codedefault | check | override
SystemVersionProcessingMode (Required)
... excludedSystem Σ0..1BackboneElementSystems/Versions to be exclude
.... system Σ1..1uriThe specific code system to be excluded
.... version Σ0..1stringSpecific version of the code system referred to
... includeDesignations Σ0..1booleanWhether the expansion should include concept designations
... designation Σ0..1BackboneElementWhen the expansion profile imposes designation contraints
.... include Σ0..1BackboneElementDesignations to be included
..... designation ΣI0..*BackboneElementThe designation to be included
+ SHALL have at least one of language or use
...... language Σ0..1codeHuman language of the designation to be included
Common Languages (Extensible but limited to All Languages)
...... use Σ0..1CodingWhat kind of Designation to include
Designation Use (Required)
.... exclude Σ0..1BackboneElementDesignations to be excluded
..... designation ΣI0..*BackboneElementThe designation to be excluded
+ SHALL have at least one of language or use
...... language Σ0..1codeHuman language of the designation to be excluded
Common Languages (Extensible but limited to All Languages)
...... use Σ0..1CodingWhat kind of Designation to exclude
Designation Use (Required)
... includeDefinition Σ0..1booleanInclude or exclude the value set definition in the expansion
... activeOnly Σ0..1booleanInclude or exclude inactive concepts in the expansion
... excludeNested Σ0..1booleanNested codes in the expansion or not
... excludeNotForUI Σ0..1booleanInclude or exclude codes which cannot be rendered in user interfaces in the value set expansion
... excludePostCoordinated Σ0..1booleanInclude or exclude codes which are post coordinated expressions in the value set expansion
... displayLanguage Σ0..1codeSpecify the language for the display element of codes in the value set expansion
Common Languages (Extensible but limited to All Languages)
... limitedExpansion Σ0..1booleanControls behaviour of the value set expand operation when value sets are too large to be completely expanded

doco Documentation for this format

UML Diagram (Legend)

ExpansionProfile (DomainResource)An absolute URI that is used to identify this expansion profile when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this expansion profile is (or will be) publishedurl : uri [0..1]A formal identifier that is used to identify this expansion profile when it is represented in other formats, or referenced in a specification, model, design or an instanceidentifier : Identifier [0..1]The identifier that is used to identify this version of the expansion profile when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the expansion profile 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 sequenceversion : string [0..1]A natural language name identifying the expansion profile. This name should be usable as an identifier for the module by machine processing applications such as code generationname : string [0..1]The status of this expansion profile. Enables tracking the life-cycle of the content (this element modifies the meaning of other elements)status : code [1..1] « The lifecycle status of a Value Set or Concept Map. (Strength=Required)PublicationStatus! »A boolean value to indicate that this expansion profile is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage (this element modifies the meaning of other elements)experimental : boolean [0..1]The date (and optionally time) when the expansion profile 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 expansion profile changesdate : dateTime [0..1]The name of the individual or organization that published the expansion profilepublisher : string [0..1]Contact details to assist a user in finding and communicating with the publishercontact : ContactDetail [0..*]A free text natural language description of the expansion profile from a consumer's perspectivedescription : markdown [0..1]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 expansion profile instancesuseContext : UsageContext [0..*]A legal or geographic region in which the expansion profile is intended to be usedjurisdiction : CodeableConcept [0..*] « Countries and regions within which this artifact is targeted for use (Strength=Extensible)Jurisdiction ValueSet+ »Controls whether concept designations are to be included or excluded in value set expansionsincludeDesignations : boolean [0..1]Controls whether the value set definition is included or excluded in value set expansionsincludeDefinition : boolean [0..1]Controls whether inactive concepts are included or excluded in value set expansionsactiveOnly : boolean [0..1]Controls whether or not the value set expansion nests codes or not (i.e. ValueSet.expansion.contains.contains)excludeNested : boolean [0..1]Controls whether or not the value set expansion includes codes which cannot be displayed in user interfacesexcludeNotForUI : boolean [0..1]Controls whether or not the value set expansion includes post coordinated codesexcludePostCoordinated : boolean [0..1]Specifies the language to be used for description in the expansions i.e. the language to be used for ValueSet.expansion.contains.displaydisplayLanguage : code [0..1] « A human language. (Strength=Extensible)Common Languages+ »If the value set being expanded is incomplete (because it is too big to expand), return a limited expansion (a subset) with an indicator that expansion is incomplete, using the extension [http://hl7.org/fhir/StructureDefinition/valueset-toocostly](extension-valueset-toocostly.html)limitedExpansion : boolean [0..1]FixedVersionThe specific system for which to fix the versionsystem : uri [1..1]The version of the code system from which codes in the expansion should be includedversion : string [1..1]How to manage the intersection between a fixed version in a value set, and this fixed version of the system in the expansion profilemode : code [1..1] « How to manage the intersection between a fixed version in a value set, and a fixed version of the system in the expansion profile (Strength=Required)SystemVersionProcessingMode! »ExcludedSystemAn absolute URI which is the code system to be excludedsystem : uri [1..1]The version of the code system from which codes in the expansion should be excludedversion : string [0..1]DesignationDesignationIncludeDesignationIncludeDesignationThe language this designation is defined forlanguage : code [0..1] « A human language. (Strength=Extensible)Common Languages+ »Which kinds of designation to include in the expansionuse : Coding [0..1] « Details of how a designation would be used. (Strength=Required)Designation Use! »DesignationExcludeDesignationExcludeDesignationThe language this designation is defined forlanguage : code [0..1] « A human language. (Strength=Extensible)Common Languages+ »Which kinds of designation to exclude from the expansionuse : Coding [0..1] « Details of how a designation would be used. (Strength=Required)Designation Use! »Fix use of a particular code system to a particular versionfixedVersion[0..*]Code system, or a particular version of a code system to be excluded from value set expansionsexcludedSystem[0..1]A data group for each designation to be includeddesignation[0..*]Designations to be includedinclude[0..1]A data group for each designation to be excludeddesignation[0..*]Designations to be excludedexclude[0..1]A set of criteria that provide the constraints imposed on the value set expansion by including or excluding designationsdesignation[0..1]

XML Template

<ExpansionProfile xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <url value="[uri]"/><!-- 0..1 Logical URI to reference this expansion profile (globally unique) -->
 <identifier><!-- 0..1 Identifier Additional identifier for the expansion profile --></identifier>
 <version value="[string]"/><!-- 0..1 Business version of the expansion profile -->
 <name value="[string]"/><!-- 0..1 Name for this expansion profile (computer friendly) -->
 <status value="[code]"/><!-- 1..1 draft | active | retired | unknown -->
 <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->
 <date value="[dateTime]"/><!-- 0..1 Date this was last changed -->
 <publisher value="[string]"/><!-- 0..1 Name of the publisher (organization or individual) -->
 <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact>
 <description value="[markdown]"/><!-- 0..1 Natural language description of the expansion profile -->
 <useContext><!-- 0..* UsageContext Context the content is intended to support --></useContext>
 <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for expansion profile (if applicable) --></jurisdiction>
 <fixedVersion>  <!-- 0..* Fix use of a code system to a particular version -->
  <system value="[uri]"/><!-- 1..1 System to have its version fixed -->
  <version value="[string]"/><!-- 1..1 Specific version of the code system referred to -->
  <mode value="[code]"/><!-- 1..1 default | check | override -->
 </fixedVersion>
 <excludedSystem>  <!-- 0..1 Systems/Versions to be exclude -->
  <system value="[uri]"/><!-- 1..1 The specific code system to be excluded -->
  <version value="[string]"/><!-- 0..1 Specific version of the code system referred to -->
 </excludedSystem>
 <includeDesignations value="[boolean]"/><!-- 0..1 Whether the expansion should include concept designations -->
 <designation>  <!-- 0..1 When the expansion profile imposes designation contraints -->
  <include>  <!-- 0..1 Designations to be included -->
   <designation>  <!-- 0..* The designation to be included -->
    <language value="[code]"/><!-- 0..1 Human language of the designation to be included -->
    <use><!-- 0..1 Coding What kind of Designation to include --></use>
   </designation>
  </include>
  <exclude>  <!-- 0..1 Designations to be excluded -->
   <designation>  <!-- 0..* The designation to be excluded -->
    <language value="[code]"/><!-- 0..1 Human language of the designation to be excluded -->
    <use><!-- 0..1 Coding What kind of Designation to exclude --></use>
   </designation>
  </exclude>
 </designation>
 <includeDefinition value="[boolean]"/><!-- 0..1 Include or exclude the value set definition in the expansion -->
 <activeOnly value="[boolean]"/><!-- 0..1 Include or exclude inactive concepts in the expansion -->
 <excludeNested value="[boolean]"/><!-- 0..1 Nested codes in the expansion or not -->
 <excludeNotForUI value="[boolean]"/><!-- 0..1 Include or exclude codes which cannot be rendered in user interfaces in the value set expansion -->
 <excludePostCoordinated value="[boolean]"/><!-- 0..1 Include or exclude codes which are post coordinated expressions in the value set expansion -->
 <displayLanguage value="[code]"/><!-- 0..1 Specify the language for the display element of codes in the value set expansion -->
 <limitedExpansion value="[boolean]"/><!-- 0..1 Controls behaviour of the value set expand operation when value sets are too large to be completely expanded -->
</ExpansionProfile>

JSON Template

{doco
  "resourceType" : "ExpansionProfile",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "url" : "<uri>", // Logical URI to reference this expansion profile (globally unique)
  "identifier" : { Identifier }, // Additional identifier for the expansion profile
  "version" : "<string>", // Business version of the expansion profile
  "name" : "<string>", // Name for this expansion profile (computer friendly)
  "status" : "<code>", // R!  draft | active | retired | unknown
  "experimental" : <boolean>, // For testing purposes, not real usage
  "date" : "<dateTime>", // Date this was last changed
  "publisher" : "<string>", // Name of the publisher (organization or individual)
  "contact" : [{ ContactDetail }], // Contact details for the publisher
  "description" : "<markdown>", // Natural language description of the expansion profile
  "useContext" : [{ UsageContext }], // Context the content is intended to support
  "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for expansion profile (if applicable)
  "fixedVersion" : [{ // Fix use of a code system to a particular version
    "system" : "<uri>", // R!  System to have its version fixed
    "version" : "<string>", // R!  Specific version of the code system referred to
    "mode" : "<code>" // R!  default | check | override
  }],
  "excludedSystem" : { // Systems/Versions to be exclude
    "system" : "<uri>", // R!  The specific code system to be excluded
    "version" : "<string>" // Specific version of the code system referred to
  },
  "includeDesignations" : <boolean>, // Whether the expansion should include concept designations
  "designation" : { // When the expansion profile imposes designation contraints
    "include" : { // Designations to be included
      "designation" : [{ // The designation to be included
        "language" : "<code>", // Human language of the designation to be included
        "use" : { Coding } // What kind of Designation to include
      }]
    },
    "exclude" : { // Designations to be excluded
      "designation" : [{ // The designation to be excluded
        "language" : "<code>", // Human language of the designation to be excluded
        "use" : { Coding } // What kind of Designation to exclude
      }]
    }
  },
  "includeDefinition" : <boolean>, // Include or exclude the value set definition in the expansion
  "activeOnly" : <boolean>, // Include or exclude inactive concepts in the expansion
  "excludeNested" : <boolean>, // Nested codes in the expansion or not
  "excludeNotForUI" : <boolean>, // Include or exclude codes which cannot be rendered in user interfaces in the value set expansion
  "excludePostCoordinated" : <boolean>, // Include or exclude codes which are post coordinated expressions in the value set expansion
  "displayLanguage" : "<code>", // Specify the language for the display element of codes in the value set expansion
  "limitedExpansion" : <boolean> // Controls behaviour of the value set expand operation when value sets are too large to be completely expanded
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:ExpansionProfile;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:ExpansionProfile.url [ uri ]; # 0..1 Logical URI to reference this expansion profile (globally unique)
  fhir:ExpansionProfile.identifier [ Identifier ]; # 0..1 Additional identifier for the expansion profile
  fhir:ExpansionProfile.version [ string ]; # 0..1 Business version of the expansion profile
  fhir:ExpansionProfile.name [ string ]; # 0..1 Name for this expansion profile (computer friendly)
  fhir:ExpansionProfile.status [ code ]; # 1..1 draft | active | retired | unknown
  fhir:ExpansionProfile.experimental [ boolean ]; # 0..1 For testing purposes, not real usage
  fhir:ExpansionProfile.date [ dateTime ]; # 0..1 Date this was last changed
  fhir:ExpansionProfile.publisher [ string ]; # 0..1 Name of the publisher (organization or individual)
  fhir:ExpansionProfile.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher
  fhir:ExpansionProfile.description [ markdown ]; # 0..1 Natural language description of the expansion profile
  fhir:ExpansionProfile.useContext [ UsageContext ], ... ; # 0..* Context the content is intended to support
  fhir:ExpansionProfile.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for expansion profile (if applicable)
  fhir:ExpansionProfile.fixedVersion [ # 0..* Fix use of a code system to a particular version
    fhir:ExpansionProfile.fixedVersion.system [ uri ]; # 1..1 System to have its version fixed
    fhir:ExpansionProfile.fixedVersion.version [ string ]; # 1..1 Specific version of the code system referred to
    fhir:ExpansionProfile.fixedVersion.mode [ code ]; # 1..1 default | check | override
  ], ...;
  fhir:ExpansionProfile.excludedSystem [ # 0..1 Systems/Versions to be exclude
    fhir:ExpansionProfile.excludedSystem.system [ uri ]; # 1..1 The specific code system to be excluded
    fhir:ExpansionProfile.excludedSystem.version [ string ]; # 0..1 Specific version of the code system referred to
  ];
  fhir:ExpansionProfile.includeDesignations [ boolean ]; # 0..1 Whether the expansion should include concept designations
  fhir:ExpansionProfile.designation [ # 0..1 When the expansion profile imposes designation contraints
    fhir:ExpansionProfile.designation.include [ # 0..1 Designations to be included
      fhir:ExpansionProfile.designation.include.designation [ # 0..* The designation to be included
        fhir:ExpansionProfile.designation.include.designation.language [ code ]; # 0..1 Human language of the designation to be included
        fhir:ExpansionProfile.designation.include.designation.use [ Coding ]; # 0..1 What kind of Designation to include
      ], ...;
    ];
    fhir:ExpansionProfile.designation.exclude [ # 0..1 Designations to be excluded
      fhir:ExpansionProfile.designation.exclude.designation [ # 0..* The designation to be excluded
        fhir:ExpansionProfile.designation.exclude.designation.language [ code ]; # 0..1 Human language of the designation to be excluded
        fhir:ExpansionProfile.designation.exclude.designation.use [ Coding ]; # 0..1 What kind of Designation to exclude
      ], ...;
    ];
  ];
  fhir:ExpansionProfile.includeDefinition [ boolean ]; # 0..1 Include or exclude the value set definition in the expansion
  fhir:ExpansionProfile.activeOnly [ boolean ]; # 0..1 Include or exclude inactive concepts in the expansion
  fhir:ExpansionProfile.excludeNested [ boolean ]; # 0..1 Nested codes in the expansion or not
  fhir:ExpansionProfile.excludeNotForUI [ boolean ]; # 0..1 Include or exclude codes which cannot be rendered in user interfaces in the value set expansion
  fhir:ExpansionProfile.excludePostCoordinated [ boolean ]; # 0..1 Include or exclude codes which are post coordinated expressions in the value set expansion
  fhir:ExpansionProfile.displayLanguage [ code ]; # 0..1 Specify the language for the display element of codes in the value set expansion
  fhir:ExpansionProfile.limitedExpansion [ boolean ]; # 0..1 Controls behaviour of the value set expand operation when value sets are too large to be completely expanded
]

Changes since DSTU2

This resource did not exist in Release 2

This analysis is available as XML or JSON.

 

Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis

PathDefinitionTypeReference
ExpansionProfile.status The lifecycle status of a Value Set or Concept Map.RequiredPublicationStatus
ExpansionProfile.jurisdiction Countries and regions within which this artifact is targeted for useExtensibleJurisdiction ValueSet
ExpansionProfile.fixedVersion.mode How to manage the intersection between a fixed version in a value set, and a fixed version of the system in the expansion profileRequiredSystemVersionProcessingMode
ExpansionProfile.designation.include.designation.language
ExpansionProfile.designation.exclude.designation.language
ExpansionProfile.displayLanguage
A human language.Extensible, but limited to All LanguagesCommon Languages
ExpansionProfile.designation.include.designation.use
ExpansionProfile.designation.exclude.designation.use
Details of how a designation would be used.RequiredDesignation Use

  • exp-3: On ExpansionProfile.designation.include.designation: SHALL have at least one of language or use (expression on ExpansionProfile.designation.include.designation: language.exists() or use.exists())
  • exp-4: On ExpansionProfile.designation.exclude.designation: SHALL have at least one of language or use (expression on ExpansionProfile.designation.exclude.designation: language.exists() or use.exists())

The ExpansionProfile resources allows a client to specify a particular version to use for a given code system, and that this version is used irrespective of any version stated in any value set. This has obvious safety issues, in that it may result in a value set expansion giving a different list of codes that is both wrong and unsafe, and implementers should only use this capability reluctantly. This feature is primarily defined to allow implementers to deal with situations where specifications have fallen into decay as time passes, and the specified versions of code systems can no longer be used at all.

In principle, well designed specifications should not be authored in a fashion that allows them to decay in this fashion, but the technical infrastructure, eco-system, and community are not yet in a position to make this a reality. For this reason, clients are allowed to override versions. Clients setting the ExpansionProfile.fixedVersion.mode to override need to ensure that this action is not unsafe in their context.

Some fields in the ExpansionProfile can result in the return of an expansion that contains a reduced set of information in the expansion. if any of these fields may alter the expansion, terminology servers SHALL mark their use in the ValueSet.expansion.parameters with the matching parameter name:

ExpansionProfile.fixedVersionfixedVersion (in addition to the normal 'version' parameter)
ExpansionProfile.activeOnlyactiveOnly
ExpansionProfile.excludeNotForUIexcludeNotForUI
ExpansionProfile.excludePostCoordinatedexcludePostCoordinated
ExpansionProfile.limitedExpansionlimitedExpansion (in addition to the extension http://hl7.org/fhir/StructureDefinition/valueset-toocostly)

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionExpressionIn Common
datedateThe expansion profile publication dateExpansionProfile.date
descriptionstringThe description of the expansion profileExpansionProfile.description
identifiertokenExternal identifier for the expansion profileExpansionProfile.identifier
jurisdictiontokenIntended jurisdiction for the expansion profileExpansionProfile.jurisdiction
namestringComputationally friendly name of the expansion profileExpansionProfile.name
publisherstringName of the publisher of the expansion profileExpansionProfile.publisher
statustokenThe current status of the expansion profileExpansionProfile.status
urluriThe uri that identifies the expansion profileExpansionProfile.url
versiontokenThe business version of the expansion profileExpansionProfile.version