STU 3 Ballot

This page is part of the FHIR Specification (v1.6.0: STU 3 Ballot 4). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

4.11.13.2 StructureDefinition: ShareableCodeSystem

The official URL for this profile is:

http://hl7.org/fhir/StructureDefinition/shareablecodesystem

Enforces the minimum information set for the value set metadata required by HL7 and other organisations that share and publish value sets

This profile was published on [no date] as a draft by HL7.

4.11.13.2.1 Formal Views of Profile Content

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

This structure is derived from CodeSystem.

Summary

Mandatory: 12 elements

NameFlagsCard.TypeDescription & Constraintsdoco
.. CodeSystem I1..1A set of codes drawn from one or more code systems
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
csd-1: Within a code system definition, all the codes SHALL be unique
... 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 ∑1..1uriGlobally unique logical identifier for code system (Coding.system)
... identifier ∑0..1IdentifierAdditional identifier for the code system (e.g. HL7 v2 / CDA)
... version ∑1..1stringLogical identifier for this version (Coding.version)
... name ∑1..1stringInformal name for this code system
... status ?!∑1..1codedraft | active | retired
Binding: ConformanceResourceStatus (required)
... experimental ∑1..1booleanIf for testing purposes, not real usage
... publisher ∑1..1stringName of the publisher (organization or individual)
... contact ∑0..*BackboneElementContact details of the publisher
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... name ∑0..1stringName of an individual to contact
.... telecom ∑0..*ContactPointContact details for individual or publisher
... date ∑0..1dateTimeDate for given status
... description ∑1..1markdownHuman language description of the code system
... useContext ∑0..*CodeableConceptContent intends to support these contexts
Binding: Context of Use ValueSet (extensible)
... requirements 0..1markdownWhy needed
... copyright 0..1stringUse and/or publishing restrictions
... caseSensitive ∑1..1booleanIf code comparison is case sensitive
... valueSet ∑0..1uriCanonical URL for value set with entire code system
... hierarchyMeaning ∑0..1codegrouped-by | subsumes | part-of | classified-with
Binding: CodeSystemHierarchyMeaning (required)
... compositional ∑0..1booleanIf code system defines a post-composition grammar
... versionNeeded ∑0..1booleanIf definitions are not stable
... content ∑1..1codenot-present | examplar | fragment | complete
Binding: CodeSystemContentMode (required)
... count ∑0..1unsignedIntTotal concepts in the code system
... filter ∑0..*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 ∑0..*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 1..*BackboneElementConcepts in the code system
.... 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 concept
.... display 1..1stringText to display to the user
.... definition 1..1stringFormal definition
.... designation 0..*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 0..*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 0..*Unknown reference to #CodeSystem:shareablecodesystem.concept
Child Concepts (is-a/contains/categorizes)

doco Documentation for this format

todo

This structure is derived from CodeSystem.

Summary

Mandatory: 12 elements

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CodeSystem I1..1A set of codes drawn from one or more code systems
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
csd-1: Within a code system definition, all the codes SHALL be unique
... 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 ∑1..1uriGlobally unique logical identifier for code system (Coding.system)
... identifier ∑0..1IdentifierAdditional identifier for the code system (e.g. HL7 v2 / CDA)
... version ∑1..1stringLogical identifier for this version (Coding.version)
... name ∑1..1stringInformal name for this code system
... status ?!∑1..1codedraft | active | retired
Binding: ConformanceResourceStatus (required)
... experimental ∑1..1booleanIf for testing purposes, not real usage
... publisher ∑1..1stringName of the publisher (organization or individual)
... contact ∑0..*BackboneElementContact details of the publisher
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... name ∑0..1stringName of an individual to contact
.... telecom ∑0..*ContactPointContact details for individual or publisher
... date ∑0..1dateTimeDate for given status
... description ∑1..1markdownHuman language description of the code system
... useContext ∑0..*CodeableConceptContent intends to support these contexts
Binding: Context of Use ValueSet (extensible)
... requirements 0..1markdownWhy needed
... copyright 0..1stringUse and/or publishing restrictions
... caseSensitive ∑1..1booleanIf code comparison is case sensitive
... valueSet ∑0..1uriCanonical URL for value set with entire code system
... hierarchyMeaning ∑0..1codegrouped-by | subsumes | part-of | classified-with
Binding: CodeSystemHierarchyMeaning (required)
... compositional ∑0..1booleanIf code system defines a post-composition grammar
... versionNeeded ∑0..1booleanIf definitions are not stable
... content ∑1..1codenot-present | examplar | fragment | complete
Binding: CodeSystemContentMode (required)
... count ∑0..1unsignedIntTotal concepts in the code system
... filter ∑0..*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 ∑0..*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 1..*BackboneElementConcepts in the code system
.... 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 concept
.... display 1..1stringText to display to the user
.... definition 1..1stringFormal definition
.... designation 0..*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 0..*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 0..*Unknown reference to #CodeSystem:shareablecodesystem.concept
Child Concepts (is-a/contains/categorizes)

doco Documentation for this format

XML Template

JSON Template

todo

 

Other representations of profile: Schematron

4.11.13.2.2 Terminology Bindings

PathNameConformanceValueSet
CodeSystem.languageCommon LanguagesextensibleCommon Languages
CodeSystem.statusConformanceResourceStatusrequiredConformanceResourceStatus
CodeSystem.useContextContext of Use ValueSetextensibleContext of Use ValueSet
CodeSystem.hierarchyMeaningCodeSystemHierarchyMeaningrequiredCodeSystemHierarchyMeaning
CodeSystem.contentCodeSystemContentModerequiredCodeSystemContentMode
CodeSystem.filter.operatorFilterOperatorrequiredFilterOperator
CodeSystem.property.typePropertyTyperequiredPropertyType
CodeSystem.concept.designation.languageCommon LanguagesextensibleCommon Languages
CodeSystem.concept.designation.useDesignation UseextensibleDesignation Use

4.11.13.2.3 Constraints

IdPathDetailsRequirements
dom-2CodeSystemIf the resource is contained in another resource, it SHALL NOT contain nested Resources
XPath: not(parent::f:contained and f:contained)
dom-1CodeSystemIf the resource is contained in another resource, it SHALL NOT contain any narrative
XPath: not(parent::f:contained and f:text)
dom-4CodeSystemIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
XPath: not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))
dom-3CodeSystemIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
XPath: not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))
csd-1CodeSystemWithin a code system definition, all the codes SHALL be unique
XPath: count(distinct-values(descendant::f:concept/f:code/@value))=count(descendant::f:concept)
.