Evidence Based Medicine on FHIR Implementation Guide
1.0.0-ballot - ballot International flag

This page is part of the Evidence Based Medicine on FHIR Implementation Guide (v1.0.0-ballot: STU1 Ballot 1) based on FHIR (HL7® FHIR® Standard) v5.0.0. . For a full list of available versions, see the Directory of published versions

Resource Profile: DataDictionary

Official URL: http://hl7.org/fhir/uv/ebm/StructureDefinition/data-dictionary Version: 1.0.0-ballot
Standards status: Draft Maturity Level: 1 Computable Name: DataDictionary

Profile of CodeSystem for Evidence Based Medicine IG. The DataDictionary Profile is used for a code key for variable names in a dataset.

Usage:

Formal Views of Profile Content

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

This structure is derived from CodeSystem

NameFlagsCard.TypeDescription & Constraintsdoco
.. CodeSystem 0..*CodeSystemDeclares the existence of and describes a code system or code system supplement
... url 1..1uriCanonical identifier for this code system, represented as a URI (globally unique) (Coding.system)
... topic 0..0

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. CodeSystem C0..*CodeSystemDeclares the existence of and describes a code system or code system supplement
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... hierarchyMeaning ΣC0..1codegrouped-by | is-a | part-of | classified-with
Binding: CodeSystemHierarchyMeaning (required): The meaning of the hierarchy of concepts in a code system.

... content ΣC1..1codenot-present | example | fragment | complete | supplement
Binding: CodeSystemContentMode (required): The extent of the content of the code system (the concepts and codes it defines) are represented in a code system resource.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
CodeSystem.statusrequiredPublicationStatus
CodeSystem.hierarchyMeaningrequiredCodeSystemHierarchyMeaning
CodeSystem.contentrequiredCodeSystemContentMode

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningCodeSystemName 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-1warningCodeSystem.urlURL should not contain | or # - these characters make processing canonical references problematic
: exists() implies matches('^[^|# ]+$')
csd-1errorCodeSystemWithin a code system definition, all the codes SHALL be unique
: concept.exists() implies concept.code.combine(%resource.concept.descendants().concept.code).isDistinct()
csd-2warningCodeSystemIf there is an explicit hierarchy, a hierarchyMeaning should be provided
: concept.concept.exists() implies hierarchyMeaning.exists()
csd-3warningCodeSystemIf there is an implicit hierarchy, a hierarchyMeaning should be provided
: concept.where(property.code = 'parent' or property.code = 'child').exists() implies hierarchyMeaning.exists()
csd-4errorCodeSystemIf the code system content = supplement, it must nominate what it's a supplement for
: CodeSystem.content = 'supplement' implies CodeSystem.supplements.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. CodeSystem C0..*CodeSystemDeclares the existence of and describes a code system or code system supplement
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguagesStarter Set
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... url ΣC1..1uriCanonical identifier for this code system, represented as a URI (globally unique) (Coding.system)
... identifier Σ0..*IdentifierAdditional identifier for the code system (business identifier)
... version Σ0..1stringBusiness version of the code system (Coding.version)
... versionAlgorithm[x] Σ0..1How to compare versions
Binding: VersionAlgorithm (extensible)
.... versionAlgorithmStringstring
.... versionAlgorithmCodingCoding
... name ΣC0..1stringName for this code system (computer friendly)
... title Σ0..1stringName for this code system (human friendly)
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental Σ0..1booleanFor testing purposes, not real usage
... date Σ0..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher/steward (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description 0..1markdownNatural language description of the code system
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for code system (if applicable)
Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1markdownWhy this code system is defined
... copyright 0..1markdownUse and/or publishing restrictions
... copyrightLabel 0..1stringCopyright holder and year(s)
... approvalDate 0..1dateWhen the CodeSystem was approved by publisher
... lastReviewDate 0..1dateWhen the CodeSystem was last reviewed by the publisher
... effectivePeriod Σ0..1PeriodWhen the CodeSystem is expected to be used
... author 0..*ContactDetailWho authored the CodeSystem
... editor 0..*ContactDetailWho edited the CodeSystem
... reviewer 0..*ContactDetailWho reviewed the CodeSystem
... endorser 0..*ContactDetailWho endorsed the CodeSystem
... relatedArtifact 0..*RelatedArtifactAdditional documentation, citations, etc
... caseSensitive Σ0..1booleanIf code comparison is case sensitive
... valueSet Σ0..1canonical(ValueSet)Canonical reference to the value set with entire code system
... hierarchyMeaning ΣC0..1codegrouped-by | is-a | part-of | classified-with
Binding: CodeSystemHierarchyMeaning (required): The meaning of the hierarchy of concepts in a code system.

... compositional Σ0..1booleanIf code system defines a compositional grammar
... versionNeeded Σ0..1booleanIf definitions are not stable
... content ΣC1..1codenot-present | example | fragment | complete | supplement
Binding: CodeSystemContentMode (required): The extent of the content of the code system (the concepts and codes it defines) are represented in a code system resource.

... supplements ΣC0..1canonical(CodeSystem)Canonical URL of Code System this adds designations and properties to
... count Σ0..1unsignedIntTotal concepts in the code system
... filter Σ0..*BackboneElementFilter that can be used in a value set
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code Σ1..1codeCode that identifies the filter
.... description Σ0..1stringHow or why the filter is used
.... operator Σ1..*code= | is-a | descendent-of | is-not-a | regex | in | not-in | generalizes | child-of | descendent-leaf | exists
Binding: FilterOperator (required): The kind of operation to perform as a part of a property based filter.


.... value Σ1..1stringWhat to use for the value
... property Σ0..*BackboneElementAdditional information supplied about each concept
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code Σ1..1codeIdentifies the property on the concepts, and when referred to in operations
.... uri Σ0..1uriFormal identifier for the property
.... description Σ0..1stringWhy the property is defined, and/or what it conveys
.... type Σ1..1codecode | Coding | string | integer | boolean | dateTime | decimal
Binding: PropertyType (required): The type of a property value.

... concept C0..*BackboneElementConcepts in the code system
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code C1..1codeCode that identifies concept
.... display 0..1stringText to display to the user
.... definition 0..1stringFormal definition
.... designation C0..*BackboneElementAdditional representations for the concept
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... language 0..1codeHuman language of the designation
Binding: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguagesStarter Set
..... use C0..1CodingDetails how this designation would be used
Binding: DesignationUse (extensible): Details of how a designation would be used.

..... additionalUse C0..*CodingAdditional ways how this designation would be used
Binding: DesignationUse (extensible): Details of how a designation would be used.


..... value 1..1stringThe text value for this designation
.... property 0..*BackboneElementProperty value for the concept
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code C1..1codeReference to CodeSystem.property.code
..... value[x] 1..1Value of the property for this concept
...... valueCodecode
...... valueCodingCoding
...... valueStringstring
...... valueIntegerinteger
...... valueBooleanboolean
...... valueDateTimedateTime
...... valueDecimaldecimal
.... concept C0..*See concept (CodeSystem)Child Concepts (is-a/contains/categorizes)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
CodeSystem.languagerequiredAllLanguages
CodeSystem.versionAlgorithm[x]extensibleVersionAlgorithm
CodeSystem.statusrequiredPublicationStatus
CodeSystem.jurisdictionextensibleJurisdictionValueSet
CodeSystem.hierarchyMeaningrequiredCodeSystemHierarchyMeaning
CodeSystem.contentrequiredCodeSystemContentMode
CodeSystem.filter.operatorrequiredFilterOperator
CodeSystem.property.typerequiredPropertyType
CodeSystem.concept.designation.languagerequiredAllLanguages
CodeSystem.concept.designation.useextensibleDesignationUse
CodeSystem.concept.designation.additionalUseextensibleDesignationUse

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningCodeSystemName 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-1warningCodeSystem.urlURL should not contain | or # - these characters make processing canonical references problematic
: exists() implies matches('^[^|# ]+$')
csd-1errorCodeSystemWithin a code system definition, all the codes SHALL be unique
: concept.exists() implies concept.code.combine(%resource.concept.descendants().concept.code).isDistinct()
csd-2warningCodeSystemIf there is an explicit hierarchy, a hierarchyMeaning should be provided
: concept.concept.exists() implies hierarchyMeaning.exists()
csd-3warningCodeSystemIf there is an implicit hierarchy, a hierarchyMeaning should be provided
: concept.where(property.code = 'parent' or property.code = 'child').exists() implies hierarchyMeaning.exists()
csd-4errorCodeSystemIf the code system content = supplement, it must nominate what it's a supplement for
: CodeSystem.content = 'supplement' implies CodeSystem.supplements.exists()
csd-5errorCodeSystem.concept.designationMust have a value for concept.designation.use if concept.designation.additionalUse is present
: additionalUse.exists() implies use.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from CodeSystem

Summary

Mandatory: 1 element
Prohibited: 1 element

Maturity: 1

Differential View

This structure is derived from CodeSystem

NameFlagsCard.TypeDescription & Constraintsdoco
.. CodeSystem 0..*CodeSystemDeclares the existence of and describes a code system or code system supplement
... url 1..1uriCanonical identifier for this code system, represented as a URI (globally unique) (Coding.system)
... topic 0..0

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CodeSystem C0..*CodeSystemDeclares the existence of and describes a code system or code system supplement
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... hierarchyMeaning ΣC0..1codegrouped-by | is-a | part-of | classified-with
Binding: CodeSystemHierarchyMeaning (required): The meaning of the hierarchy of concepts in a code system.

... content ΣC1..1codenot-present | example | fragment | complete | supplement
Binding: CodeSystemContentMode (required): The extent of the content of the code system (the concepts and codes it defines) are represented in a code system resource.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
CodeSystem.statusrequiredPublicationStatus
CodeSystem.hierarchyMeaningrequiredCodeSystemHierarchyMeaning
CodeSystem.contentrequiredCodeSystemContentMode

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningCodeSystemName 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-1warningCodeSystem.urlURL should not contain | or # - these characters make processing canonical references problematic
: exists() implies matches('^[^|# ]+$')
csd-1errorCodeSystemWithin a code system definition, all the codes SHALL be unique
: concept.exists() implies concept.code.combine(%resource.concept.descendants().concept.code).isDistinct()
csd-2warningCodeSystemIf there is an explicit hierarchy, a hierarchyMeaning should be provided
: concept.concept.exists() implies hierarchyMeaning.exists()
csd-3warningCodeSystemIf there is an implicit hierarchy, a hierarchyMeaning should be provided
: concept.where(property.code = 'parent' or property.code = 'child').exists() implies hierarchyMeaning.exists()
csd-4errorCodeSystemIf the code system content = supplement, it must nominate what it's a supplement for
: CodeSystem.content = 'supplement' implies CodeSystem.supplements.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CodeSystem C0..*CodeSystemDeclares the existence of and describes a code system or code system supplement
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguagesStarter Set
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... url ΣC1..1uriCanonical identifier for this code system, represented as a URI (globally unique) (Coding.system)
... identifier Σ0..*IdentifierAdditional identifier for the code system (business identifier)
... version Σ0..1stringBusiness version of the code system (Coding.version)
... versionAlgorithm[x] Σ0..1How to compare versions
Binding: VersionAlgorithm (extensible)
.... versionAlgorithmStringstring
.... versionAlgorithmCodingCoding
... name ΣC0..1stringName for this code system (computer friendly)
... title Σ0..1stringName for this code system (human friendly)
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental Σ0..1booleanFor testing purposes, not real usage
... date Σ0..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher/steward (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description 0..1markdownNatural language description of the code system
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for code system (if applicable)
Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1markdownWhy this code system is defined
... copyright 0..1markdownUse and/or publishing restrictions
... copyrightLabel 0..1stringCopyright holder and year(s)
... approvalDate 0..1dateWhen the CodeSystem was approved by publisher
... lastReviewDate 0..1dateWhen the CodeSystem was last reviewed by the publisher
... effectivePeriod Σ0..1PeriodWhen the CodeSystem is expected to be used
... author 0..*ContactDetailWho authored the CodeSystem
... editor 0..*ContactDetailWho edited the CodeSystem
... reviewer 0..*ContactDetailWho reviewed the CodeSystem
... endorser 0..*ContactDetailWho endorsed the CodeSystem
... relatedArtifact 0..*RelatedArtifactAdditional documentation, citations, etc
... caseSensitive Σ0..1booleanIf code comparison is case sensitive
... valueSet Σ0..1canonical(ValueSet)Canonical reference to the value set with entire code system
... hierarchyMeaning ΣC0..1codegrouped-by | is-a | part-of | classified-with
Binding: CodeSystemHierarchyMeaning (required): The meaning of the hierarchy of concepts in a code system.

... compositional Σ0..1booleanIf code system defines a compositional grammar
... versionNeeded Σ0..1booleanIf definitions are not stable
... content ΣC1..1codenot-present | example | fragment | complete | supplement
Binding: CodeSystemContentMode (required): The extent of the content of the code system (the concepts and codes it defines) are represented in a code system resource.

... supplements ΣC0..1canonical(CodeSystem)Canonical URL of Code System this adds designations and properties to
... count Σ0..1unsignedIntTotal concepts in the code system
... filter Σ0..*BackboneElementFilter that can be used in a value set
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code Σ1..1codeCode that identifies the filter
.... description Σ0..1stringHow or why the filter is used
.... operator Σ1..*code= | is-a | descendent-of | is-not-a | regex | in | not-in | generalizes | child-of | descendent-leaf | exists
Binding: FilterOperator (required): The kind of operation to perform as a part of a property based filter.


.... value Σ1..1stringWhat to use for the value
... property Σ0..*BackboneElementAdditional information supplied about each concept
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code Σ1..1codeIdentifies the property on the concepts, and when referred to in operations
.... uri Σ0..1uriFormal identifier for the property
.... description Σ0..1stringWhy the property is defined, and/or what it conveys
.... type Σ1..1codecode | Coding | string | integer | boolean | dateTime | decimal
Binding: PropertyType (required): The type of a property value.

... concept C0..*BackboneElementConcepts in the code system
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code C1..1codeCode that identifies concept
.... display 0..1stringText to display to the user
.... definition 0..1stringFormal definition
.... designation C0..*BackboneElementAdditional representations for the concept
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... language 0..1codeHuman language of the designation
Binding: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguagesStarter Set
..... use C0..1CodingDetails how this designation would be used
Binding: DesignationUse (extensible): Details of how a designation would be used.

..... additionalUse C0..*CodingAdditional ways how this designation would be used
Binding: DesignationUse (extensible): Details of how a designation would be used.


..... value 1..1stringThe text value for this designation
.... property 0..*BackboneElementProperty value for the concept
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code C1..1codeReference to CodeSystem.property.code
..... value[x] 1..1Value of the property for this concept
...... valueCodecode
...... valueCodingCoding
...... valueStringstring
...... valueIntegerinteger
...... valueBooleanboolean
...... valueDateTimedateTime
...... valueDecimaldecimal
.... concept C0..*See concept (CodeSystem)Child Concepts (is-a/contains/categorizes)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
CodeSystem.languagerequiredAllLanguages
CodeSystem.versionAlgorithm[x]extensibleVersionAlgorithm
CodeSystem.statusrequiredPublicationStatus
CodeSystem.jurisdictionextensibleJurisdictionValueSet
CodeSystem.hierarchyMeaningrequiredCodeSystemHierarchyMeaning
CodeSystem.contentrequiredCodeSystemContentMode
CodeSystem.filter.operatorrequiredFilterOperator
CodeSystem.property.typerequiredPropertyType
CodeSystem.concept.designation.languagerequiredAllLanguages
CodeSystem.concept.designation.useextensibleDesignationUse
CodeSystem.concept.designation.additionalUseextensibleDesignationUse

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningCodeSystemName 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-1warningCodeSystem.urlURL should not contain | or # - these characters make processing canonical references problematic
: exists() implies matches('^[^|# ]+$')
csd-1errorCodeSystemWithin a code system definition, all the codes SHALL be unique
: concept.exists() implies concept.code.combine(%resource.concept.descendants().concept.code).isDistinct()
csd-2warningCodeSystemIf there is an explicit hierarchy, a hierarchyMeaning should be provided
: concept.concept.exists() implies hierarchyMeaning.exists()
csd-3warningCodeSystemIf there is an implicit hierarchy, a hierarchyMeaning should be provided
: concept.where(property.code = 'parent' or property.code = 'child').exists() implies hierarchyMeaning.exists()
csd-4errorCodeSystemIf the code system content = supplement, it must nominate what it's a supplement for
: CodeSystem.content = 'supplement' implies CodeSystem.supplements.exists()
csd-5errorCodeSystem.concept.designationMust have a value for concept.designation.use if concept.designation.additionalUse is present
: additionalUse.exists() implies use.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from CodeSystem

Summary

Mandatory: 1 element
Prohibited: 1 element

Maturity: 1

 

Other representations of profile: CSV, Excel, Schematron