Structured Data Capture - Data Element Exchange 2.0 (STU2)

This page is part of the Structured Data Capture - Data Element Exchange Specification (v2.0: STU 2) based on FHIR R3. This is the current published version. For a full list of available versions, see the Directory of published versions

The official URL for this profile is:

http://hl7.org/fhir/us/sdcde/StructureDefinition/sdcde-codesystem

This profile sets expectations for use of the CodeSystem resource within the Structured Data Capture Data Element Exchange implementation guide. This includes identifying which core elements and extensions must be supported.

For the purposes of this profile, Supported means that clients SHALL be capable of processing the element/extension and use the information to control the display and information capture associated with the CodeSystem. It means that servers SHALL be capable of persisting those elements and returning them in response to requests. For systems rendering Questionnaires, these Supported elements and extensions must be supported in the rendering of allowed choices associated with questions.

This profile relies on the use of the codesystem-extensions profile which defines a number of less common properties for code systems, several of which are mandated for this profile. It also makes use of the rendering-extensions which defines rendering information for display names and labels of codes.

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

This structure is derived from CodeSystem

Summary

Mandatory: 3 elements
Must-Support: 20 elements

Extensions

This structure refers to these extensions:

NameFlagsCard.TypeDescription & Constraintsdoco
.. CodeSystem I0..*A set of codes drawn from one or more code systems
... 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: Common Languages (extensible)
... text I0..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 SΣ0..1uriLogical URI to reference this code system (globally unique) (Coding.system)
... identifier SΣ0..1IdentifierAdditional identifier for the code system
... version SΣ0..1stringBusiness version of the code system (Coding.version)
... name SΣ1..1stringName for this code system (computer friendly)
... title Σ0..1stringName for this code system (human friendly)
... status ?!SΣ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required)
... experimental ?!SΣ0..1booleanFor testing purposes, not real usage
... date SΣ0..1dateTimeDate this was last changed
... publisher SΣ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description S1..1markdownNatural language description of the code system
... useContext SΣ0..*UsageContextContext the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for code system (if applicable)
Binding: Jurisdiction ValueSet (extensible)
... purpose 0..1markdownWhy this code system is defined
... copyright 0..1markdownUse and/or publishing restrictions
... caseSensitive SΣ1..1booleanIf code comparison is case sensitive
... valueSet Σ0..1uriCanonical URL for value set with entire code system
... hierarchyMeaning Σ0..1codegrouped-by | is-a | part-of | classified-with
Binding: CodeSystemHierarchyMeaning (required)
... compositional SΣ0..1booleanIf code system defines a post-composition grammar
... versionNeeded SΣ0..1booleanIf definitions are not stable
... content SΣ1..1codenot-present | example | fragment | complete
Binding: CodeSystemContentMode (required)
... count Σ0..1unsignedIntTotal concepts in the code system
... filter ΣI0..*BackboneElementFilter that can be used in a value set
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... code Σ1..1codeCode that identifies the filter
.... description Σ0..1stringHow or why the filter is used
.... operator Σ1..*codeOperators that can be used with filter
Binding: FilterOperator (required)
.... value Σ1..1stringWhat to use for the value
... property ΣI0..*BackboneElementAdditional information supplied about each concept
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... 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
Binding: PropertyType (required)
... concept SI0..*BackboneElementConcepts in the code system
.... id 0..1stringxml:id (or equivalent in JSON)
.... valueset-conceptOrder SI0..1integerExtension
URL: http://hl7.org/fhir/StructureDefinition/valueset-conceptOrder
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... code S1..1codeCode that identifies concept
.... display S0..1stringText to display to the user
.... definition S0..1stringFormal definition
.... designation I0..*BackboneElementAdditional representations for the concept
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... language 0..1codeHuman language of the designation
Binding: Common Languages (extensible)
..... use 0..1CodingDetails how this designation would be used
Binding: Designation Use (extensible)
..... value 1..1stringThe text value for this designation
.... property I0..*BackboneElementProperty value for the concept
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... code 1..1codeReference to CodeSystem.property.code
..... value[x] 1..1code, Coding, string, integer, boolean, dateTimeValue of the property for this concept
.... concept S0..*Unknown reference to #CodeSystem:sdcdecodesystem.concept
Child Concepts (is-a/contains/categorizes)

doco Documentation for this format

This structure is derived from CodeSystem

Summary

Mandatory: 3 elements
Must-Support: 20 elements

Extensions

This structure refers to these extensions:

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CodeSystem I0..*A set of codes drawn from one or more code systems
... 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: Common Languages (extensible)
... text I0..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 SΣ0..1uriLogical URI to reference this code system (globally unique) (Coding.system)
... identifier SΣ0..1IdentifierAdditional identifier for the code system
... version SΣ0..1stringBusiness version of the code system (Coding.version)
... name SΣ1..1stringName for this code system (computer friendly)
... title Σ0..1stringName for this code system (human friendly)
... status ?!SΣ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required)
... experimental ?!SΣ0..1booleanFor testing purposes, not real usage
... date SΣ0..1dateTimeDate this was last changed
... publisher SΣ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description S1..1markdownNatural language description of the code system
... useContext SΣ0..*UsageContextContext the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for code system (if applicable)
Binding: Jurisdiction ValueSet (extensible)
... purpose 0..1markdownWhy this code system is defined
... copyright 0..1markdownUse and/or publishing restrictions
... caseSensitive SΣ1..1booleanIf code comparison is case sensitive
... valueSet Σ0..1uriCanonical URL for value set with entire code system
... hierarchyMeaning Σ0..1codegrouped-by | is-a | part-of | classified-with
Binding: CodeSystemHierarchyMeaning (required)
... compositional SΣ0..1booleanIf code system defines a post-composition grammar
... versionNeeded SΣ0..1booleanIf definitions are not stable
... content SΣ1..1codenot-present | example | fragment | complete
Binding: CodeSystemContentMode (required)
... count Σ0..1unsignedIntTotal concepts in the code system
... filter ΣI0..*BackboneElementFilter that can be used in a value set
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... code Σ1..1codeCode that identifies the filter
.... description Σ0..1stringHow or why the filter is used
.... operator Σ1..*codeOperators that can be used with filter
Binding: FilterOperator (required)
.... value Σ1..1stringWhat to use for the value
... property ΣI0..*BackboneElementAdditional information supplied about each concept
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... 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
Binding: PropertyType (required)
... concept SI0..*BackboneElementConcepts in the code system
.... id 0..1stringxml:id (or equivalent in JSON)
.... valueset-conceptOrder SI0..1integerExtension
URL: http://hl7.org/fhir/StructureDefinition/valueset-conceptOrder
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... code S1..1codeCode that identifies concept
.... display S0..1stringText to display to the user
.... definition S0..1stringFormal definition
.... designation I0..*BackboneElementAdditional representations for the concept
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... language 0..1codeHuman language of the designation
Binding: Common Languages (extensible)
..... use 0..1CodingDetails how this designation would be used
Binding: Designation Use (extensible)
..... value 1..1stringThe text value for this designation
.... property I0..*BackboneElementProperty value for the concept
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... code 1..1codeReference to CodeSystem.property.code
..... value[x] 1..1code, Coding, string, integer, boolean, dateTimeValue of the property for this concept
.... concept S0..*Unknown reference to #CodeSystem:sdcdecodesystem.concept
Child Concepts (is-a/contains/categorizes)

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

PathNameConformanceValueSet
CodeSystem.languageCommon LanguagesextensibleCommon Languages
CodeSystem.statusPublicationStatusrequiredPublicationStatus
CodeSystem.jurisdictionJurisdiction ValueSetextensibleJurisdiction ValueSet
CodeSystem.hierarchyMeaningCodeSystemHierarchyMeaningrequiredCodeSystemHierarchyMeaning
CodeSystem.contentCodeSystemContentModerequiredCodeSystemContentMode
CodeSystem.filter.operatorFilterOperatorrequiredFilterOperator
CodeSystem.property.typePropertyTyperequiredPropertyType
CodeSystem.concept.designation.languageCommon LanguagesextensibleCommon Languages
CodeSystem.concept.designation.useDesignation UseextensibleDesignation Use

Constraints

IdPathDetailsRequirements
dom-2CodeSystemIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1CodeSystemIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-4CodeSystemIf 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-3CodeSystemIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
csd-1CodeSystemWithin a code system definition, all the codes SHALL be unique
: (concept.code | descendants().concept.code).isDistinct()
ele-1CodeSystem.filterAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1CodeSystem.propertyAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1CodeSystem.conceptAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1CodeSystem.concept.extensionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1CodeSystem.concept.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1CodeSystem.concept.extensionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1CodeSystem.concept.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1CodeSystem.concept.designationAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1CodeSystem.concept.propertyAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())