FHIR Application Feature Framework Implementation Guide, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 1.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/capstmt/ and changes regularly. See the Directory of published versions
Official URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/FeatureDefinition | Version: 1.0.0-ballot | |||
Standards status: Trial-use | Maturity Level: 1 | Computable Name: FeatureDefinition |
A definition of a feature that applications may implement, or be required to implement. Features are an aspect of a an applications implementation that generally impacts on the handling of data received from or provided to from the application, which makes it worth declaring. Once declared,
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from CanonicalResource
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
FeatureDefinition | 1..1 | CanonicalResource | Elements defined in Ancestors:id, meta, implicitRules, language, text, contained, extension, modifierExtension, url, identifier, version, versionAlgorithm[x], name, title, status, experimental, date, publisher, contact, description, useContext, jurisdiction, purpose, copyright, copyrightLabel Feature Definition Instances of this logical model are not marked to be the target of a Reference | |
valueType | 1..1 | code | Type of value associated with the feature Binding: FHIRTypes (required) | |
valueSet | 0..1 | canonical(ValueSet) | ValueSet that controls what coded value are allowed | |
context | 0..* | url | The FHIR elements on which this feature can be defined | |
qualifier | 0..* | BackboneElement | A qualifier that might provided more information about a feature implementation | |
name | 1..1 | code | The name of the feature | |
description | 0..1 | string | A human-readable description of the qualifier. | |
valueType | 1..1 | code | Type of value associated with the feature Binding: FHIRTypes (required) | |
optional | 1..1 | boolean | Whether the feature is optional, or must always be present | |
Documentation for this format |
Path | Conformance | ValueSet | URI |
FeatureDefinition.valueType | required | FHIRTypeshttp://hl7.org/fhir/ValueSet/data-types from the FHIR Standard | |
FeatureDefinition.qualifier.valueType | required | FHIRTypeshttp://hl7.org/fhir/ValueSet/data-types from the FHIR Standard |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
FeatureDefinition | C | 1..1 | CanonicalResource | Elements defined in Ancestors:id, meta, implicitRules, language, text, contained, extension, modifierExtension, url, identifier, version, versionAlgorithm[x], name, title, status, experimental, date, publisher, contact, description, useContext, jurisdiction, purpose, copyright, copyrightLabel Feature Definition Instances of this logical model are not marked to be the target of a Reference |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
contained | 0..* | Resource | Contained, inline Resources | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. |
valueType | 1..1 | code | Type of value associated with the feature Binding: FHIRTypes (required) | |
valueSet | 0..1 | canonical(ValueSet) | ValueSet that controls what coded value are allowed | |
context | 0..* | url | The FHIR elements on which this feature can be defined | |
qualifier | 0..* | BackboneElement | A qualifier that might provided more information about a feature implementation | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
name | 1..1 | code | The name of the feature | |
description | 0..1 | string | A human-readable description of the qualifier. | |
valueType | 1..1 | code | Type of value associated with the feature Binding: FHIRTypes (required) | |
optional | 1..1 | boolean | Whether the feature is optional, or must always be present | |
Documentation for this format |
Path | Conformance | ValueSet | URI |
FeatureDefinition.status | required | PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|5.0.0 from the FHIR Standard | |
FeatureDefinition.valueType | required | FHIRTypeshttp://hl7.org/fhir/ValueSet/data-types from the FHIR Standard | |
FeatureDefinition.qualifier.valueType | required | FHIRTypeshttp://hl7.org/fhir/ValueSet/data-types from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
cnl-0 | warning | FeatureDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$') | |
dom-2 | error | FeatureDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | FeatureDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | FeatureDefinition | 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-5 | error | FeatureDefinition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | FeatureDefinition | A resource should have narrative for robust management : text.`div`.exists() | |
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() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
FeatureDefinition | C | 1..1 | CanonicalResource | Elements defined in Ancestors:id, meta, implicitRules, language, text, contained, extension, modifierExtension, url, identifier, version, versionAlgorithm[x], name, title, status, experimental, date, publisher, contact, description, useContext, jurisdiction, purpose, copyright, copyrightLabel Feature Definition Instances of this logical model are not marked to be the target of a Reference | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
url | ΣC | 0..1 | uri | Canonical identifier for this {{title}}, represented as an absolute URI (globally unique) | ||||
identifier | Σ | 0..* | Identifier | Additional identifier for the {{title}} | ||||
version | Σ | 0..1 | string | Business version of the {{title}} | ||||
versionAlgorithm[x] | Σ | 0..1 | How to compare versions Binding: VersionAlgorithm (extensible) | |||||
versionAlgorithmString | string | |||||||
versionAlgorithmCoding | Coding | |||||||
name | ΣC | 0..1 | string | Name for this {{title}} (computer friendly) | ||||
title | Σ | 0..1 | string | Name for this {{title}} (human friendly) | ||||
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. | ||||
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage | ||||
date | Σ | 0..1 | dateTime | Date last changed | ||||
publisher | Σ | 0..1 | string | Name of the publisher/steward (organization or individual) | ||||
contact | Σ | 0..* | ContactDetail | Contact details for the publisher | ||||
description | 0..1 | markdown | Natural language description of the {{title}} | |||||
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support | ||||
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for {{title}} (if applicable) Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use. | ||||
purpose | 0..1 | markdown | Why this {{title}} is defined | |||||
copyright | 0..1 | markdown | Use and/or publishing restrictions | |||||
copyrightLabel | 0..1 | string | Copyright holder and year(s) | |||||
valueType | 1..1 | code | Type of value associated with the feature Binding: FHIRTypes (required) | |||||
valueSet | 0..1 | canonical(ValueSet) | ValueSet that controls what coded value are allowed | |||||
context | 0..* | url | The FHIR elements on which this feature can be defined | |||||
qualifier | 0..* | BackboneElement | A qualifier that might provided more information about a feature implementation | |||||
@id | 0..1 | id | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
name | 1..1 | code | The name of the feature | |||||
description | 0..1 | string | A human-readable description of the qualifier. | |||||
valueType | 1..1 | code | Type of value associated with the feature Binding: FHIRTypes (required) | |||||
optional | 1..1 | boolean | Whether the feature is optional, or must always be present | |||||
Documentation for this format |
Path | Conformance | ValueSet | URI |
FeatureDefinition.language | required | AllLanguageshttp://hl7.org/fhir/ValueSet/all-languages|5.0.0 from the FHIR Standard | |
FeatureDefinition.versionAlgorithm[x] | extensible | VersionAlgorithmhttp://hl7.org/fhir/ValueSet/version-algorithm from the FHIR Standard | |
FeatureDefinition.status | required | PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|5.0.0 from the FHIR Standard | |
FeatureDefinition.jurisdiction | extensible | JurisdictionValueSethttp://hl7.org/fhir/ValueSet/jurisdiction from the FHIR Standard | |
FeatureDefinition.valueType | required | FHIRTypeshttp://hl7.org/fhir/ValueSet/data-types from the FHIR Standard | |
FeatureDefinition.qualifier.valueType | required | FHIRTypeshttp://hl7.org/fhir/ValueSet/data-types from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
cnl-0 | warning | FeatureDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$') | |
cnl-1 | warning | FeatureDefinition.url | URL should not contain | or # - these characters make processing canonical references problematic : exists() implies matches('^[^|# ]+$') | |
dom-2 | error | FeatureDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | FeatureDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | FeatureDefinition | 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-5 | error | FeatureDefinition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | FeatureDefinition | A resource should have narrative for robust management : text.`div`.exists() | |
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() |
This structure is derived from CanonicalResource
Differential View
This structure is derived from CanonicalResource
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
FeatureDefinition | 1..1 | CanonicalResource | Elements defined in Ancestors:id, meta, implicitRules, language, text, contained, extension, modifierExtension, url, identifier, version, versionAlgorithm[x], name, title, status, experimental, date, publisher, contact, description, useContext, jurisdiction, purpose, copyright, copyrightLabel Feature Definition Instances of this logical model are not marked to be the target of a Reference | |
valueType | 1..1 | code | Type of value associated with the feature Binding: FHIRTypes (required) | |
valueSet | 0..1 | canonical(ValueSet) | ValueSet that controls what coded value are allowed | |
context | 0..* | url | The FHIR elements on which this feature can be defined | |
qualifier | 0..* | BackboneElement | A qualifier that might provided more information about a feature implementation | |
name | 1..1 | code | The name of the feature | |
description | 0..1 | string | A human-readable description of the qualifier. | |
valueType | 1..1 | code | Type of value associated with the feature Binding: FHIRTypes (required) | |
optional | 1..1 | boolean | Whether the feature is optional, or must always be present | |
Documentation for this format |
Path | Conformance | ValueSet | URI |
FeatureDefinition.valueType | required | FHIRTypeshttp://hl7.org/fhir/ValueSet/data-types from the FHIR Standard | |
FeatureDefinition.qualifier.valueType | required | FHIRTypeshttp://hl7.org/fhir/ValueSet/data-types from the FHIR Standard |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
FeatureDefinition | C | 1..1 | CanonicalResource | Elements defined in Ancestors:id, meta, implicitRules, language, text, contained, extension, modifierExtension, url, identifier, version, versionAlgorithm[x], name, title, status, experimental, date, publisher, contact, description, useContext, jurisdiction, purpose, copyright, copyrightLabel Feature Definition Instances of this logical model are not marked to be the target of a Reference |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
contained | 0..* | Resource | Contained, inline Resources | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. |
valueType | 1..1 | code | Type of value associated with the feature Binding: FHIRTypes (required) | |
valueSet | 0..1 | canonical(ValueSet) | ValueSet that controls what coded value are allowed | |
context | 0..* | url | The FHIR elements on which this feature can be defined | |
qualifier | 0..* | BackboneElement | A qualifier that might provided more information about a feature implementation | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
name | 1..1 | code | The name of the feature | |
description | 0..1 | string | A human-readable description of the qualifier. | |
valueType | 1..1 | code | Type of value associated with the feature Binding: FHIRTypes (required) | |
optional | 1..1 | boolean | Whether the feature is optional, or must always be present | |
Documentation for this format |
Path | Conformance | ValueSet | URI |
FeatureDefinition.status | required | PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|5.0.0 from the FHIR Standard | |
FeatureDefinition.valueType | required | FHIRTypeshttp://hl7.org/fhir/ValueSet/data-types from the FHIR Standard | |
FeatureDefinition.qualifier.valueType | required | FHIRTypeshttp://hl7.org/fhir/ValueSet/data-types from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
cnl-0 | warning | FeatureDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$') | |
dom-2 | error | FeatureDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | FeatureDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | FeatureDefinition | 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-5 | error | FeatureDefinition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | FeatureDefinition | A resource should have narrative for robust management : text.`div`.exists() | |
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() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
FeatureDefinition | C | 1..1 | CanonicalResource | Elements defined in Ancestors:id, meta, implicitRules, language, text, contained, extension, modifierExtension, url, identifier, version, versionAlgorithm[x], name, title, status, experimental, date, publisher, contact, description, useContext, jurisdiction, purpose, copyright, copyrightLabel Feature Definition Instances of this logical model are not marked to be the target of a Reference | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
url | ΣC | 0..1 | uri | Canonical identifier for this {{title}}, represented as an absolute URI (globally unique) | ||||
identifier | Σ | 0..* | Identifier | Additional identifier for the {{title}} | ||||
version | Σ | 0..1 | string | Business version of the {{title}} | ||||
versionAlgorithm[x] | Σ | 0..1 | How to compare versions Binding: VersionAlgorithm (extensible) | |||||
versionAlgorithmString | string | |||||||
versionAlgorithmCoding | Coding | |||||||
name | ΣC | 0..1 | string | Name for this {{title}} (computer friendly) | ||||
title | Σ | 0..1 | string | Name for this {{title}} (human friendly) | ||||
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. | ||||
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage | ||||
date | Σ | 0..1 | dateTime | Date last changed | ||||
publisher | Σ | 0..1 | string | Name of the publisher/steward (organization or individual) | ||||
contact | Σ | 0..* | ContactDetail | Contact details for the publisher | ||||
description | 0..1 | markdown | Natural language description of the {{title}} | |||||
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support | ||||
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for {{title}} (if applicable) Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use. | ||||
purpose | 0..1 | markdown | Why this {{title}} is defined | |||||
copyright | 0..1 | markdown | Use and/or publishing restrictions | |||||
copyrightLabel | 0..1 | string | Copyright holder and year(s) | |||||
valueType | 1..1 | code | Type of value associated with the feature Binding: FHIRTypes (required) | |||||
valueSet | 0..1 | canonical(ValueSet) | ValueSet that controls what coded value are allowed | |||||
context | 0..* | url | The FHIR elements on which this feature can be defined | |||||
qualifier | 0..* | BackboneElement | A qualifier that might provided more information about a feature implementation | |||||
@id | 0..1 | id | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
name | 1..1 | code | The name of the feature | |||||
description | 0..1 | string | A human-readable description of the qualifier. | |||||
valueType | 1..1 | code | Type of value associated with the feature Binding: FHIRTypes (required) | |||||
optional | 1..1 | boolean | Whether the feature is optional, or must always be present | |||||
Documentation for this format |
Path | Conformance | ValueSet | URI |
FeatureDefinition.language | required | AllLanguageshttp://hl7.org/fhir/ValueSet/all-languages|5.0.0 from the FHIR Standard | |
FeatureDefinition.versionAlgorithm[x] | extensible | VersionAlgorithmhttp://hl7.org/fhir/ValueSet/version-algorithm from the FHIR Standard | |
FeatureDefinition.status | required | PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|5.0.0 from the FHIR Standard | |
FeatureDefinition.jurisdiction | extensible | JurisdictionValueSethttp://hl7.org/fhir/ValueSet/jurisdiction from the FHIR Standard | |
FeatureDefinition.valueType | required | FHIRTypeshttp://hl7.org/fhir/ValueSet/data-types from the FHIR Standard | |
FeatureDefinition.qualifier.valueType | required | FHIRTypeshttp://hl7.org/fhir/ValueSet/data-types from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
cnl-0 | warning | FeatureDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$') | |
cnl-1 | warning | FeatureDefinition.url | URL should not contain | or # - these characters make processing canonical references problematic : exists() implies matches('^[^|# ]+$') | |
dom-2 | error | FeatureDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | FeatureDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | FeatureDefinition | 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-5 | error | FeatureDefinition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | FeatureDefinition | A resource should have narrative for robust management : text.`div`.exists() | |
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() |
This structure is derived from CanonicalResource
IG © 2023+ HL7 International / FHIR Infrastructure. Package hl7.fhir.uv.application-feature#1.0.0-ballot based on FHIR 5.0.0. Generated 2024-11-22
Links: Table of Contents |
QA Report
| Version History |
|
Propose a change