Structured Data Capture
4.0.0 - STU 4 International flag

Structured Data Capture, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 4.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/sdc/ and changes regularly. See the Directory of published versions

Resource Profile: SDCCodeSystem - Detailed Descriptions

Page standards status: Trial-use Maturity Level: 4

Definitions for the sdc-codesystem resource profile.

Guidance on how to interpret the contents of this table can be foundhere

0. CodeSystem
Definition

Sets expectations for SDC-conformant systems around value set support for representing permitted question answers.


The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content.

ShortDeclares the existence of and describes a code system or code system supplement
Control0..*
Is Modifierfalse
Summaryfalse
Invariantscsd-0: Name should be usable as an identifier for the module by machine processing applications such as code generation (name.matches('[A-Z]([A-Za-z0-9_]){0,254}'))
csd-1: Within a code system definition, all the codes SHALL be unique (concept.code.combine($this.descendants().concept.code).isDistinct())
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
dom-3: 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty())
dom-4: 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: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
dom-6: A resource should have narrative for robust management (text.`div`.exists())
sdc-2: If version is present, versionAlgorithm must be present. (version.exists() implies extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]').exists())
sdc-3: Semver is the preferred version algorithm - package machinery doesn't work well with artifacts using alternate versioning schemes (extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]').all(value.ofType(Coding).where(system='http://hl7.org/fhir/version-algorithm' and code='semver').exists()))
csd-0: Name should be usable as an identifier for the module by machine processing applications such as code generation (name.matches('[A-Z]([A-Za-z0-9_]){0,254}'))
csd-1: Within a code system definition, all the codes SHALL be unique (concept.code.combine($this.descendants().concept.code).isDistinct())
2. CodeSystem.implicitRules
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

ShortA set of rules under which this content was created
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Control0..1
Typeuri
Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. CodeSystem.extension
Definition

An Extension


May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ShortExtensionAdditional content defined by implementations
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
SlicingThis element introduces a set of slices on CodeSystem.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 6. CodeSystem.extension:versionAlgorithm
    Slice NameversionAlgorithm
    Definition

    Optional Extension Element - found in all resources.

    ShortOptional Extensions Element
    Control0..1
    This element is affected by the following invariants: ele-1
    TypeExtension(http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm%5Bx%5D)
    Is Modifierfalse
    Must Supporttrue
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    8. CodeSystem.modifierExtension
    Definition

    An Extension


    May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

    ShortExtensionExtensions that cannot be ignored
    Comments

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
    Summaryfalse
    Requirements

    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

    Alternate Namesextensions, user content
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    SlicingThis element introduces a set of slices on CodeSystem.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 10. CodeSystem.modifierExtension:rendering-criticalExtension
      Slice Namerendering-criticalExtension
      Definition

      Indicates an extension that must be supported by the system presenting the instance for data capture or end-user consumption. If a system does not recognize the extension or cannot implement the functionality defined by the extension, it should display an error message or warning and refrain from presenting the instance to the user or using it when capturing data.

      ShortExtension that must be supported
      Comments

      This may point to extensions that control the appearance of data elements, control what value elements have, what elements are or are not available, what elements can or cannot be edited, or rules about how editing may occur. This extension does NOT apply when simply rendering a resource for publication purposes or for other purposes not intended for end-user data capture or data consumption.

      Control0..*
      This element is affected by the following invariants: ele-1
      TypeExtension(Rendering Critical Extension) (Extension Type: canonical)
      Is Modifiertrue because Indicates that the Questionnaire can't be safely rendered in certain situations
      Must Supporttrue
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      12. CodeSystem.url
      Definition

      An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in Coding.system.

      ShortCanonical identifier for this code system, represented as a URI (globally unique) (Coding.system)
      Comments

      Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version.

      The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in Technical and Business Versions.

      In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the meta.source element to indicate where the current master source of the resource can be found.

      Control0..1
      Typeuri
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Summarytrue
      Requirements

      Allows the code system to be referenced by a single globally unique identifier.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      14. CodeSystem.version
      Definition

      The identifier that is used to identify this version of the code system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the code system 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 sequence. This is used in Coding.version.

      ShortBusiness version of the code system (Coding.version)
      Comments

      There may be different code system instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the code system with the format [url]|[version].

      NoteThis is a business version Id, not a resource version Id (see discussion)
      Control0..1
      Typestring
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      16. CodeSystem.name
      Definition

      A natural language name identifying the code system. This name should be usable as an identifier for the module by machine processing applications such as code generation.

      ShortName for this code system (computer friendly)
      Comments

      The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly.

      Control0..1
      This element is affected by the following invariants: inv-0
      Typestring
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summarytrue
      Requirements

      Support human navigation and code generation.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      18. CodeSystem.status
      Definition

      The date (and optionally time) when the code system resource was created or revised.

      Shortdraft | active | retired | unknown
      Comments

      Allows filtering of code systems that are appropriate for use versus not.

      Control1..1
      BindingThe codes SHALL be taken from PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|4.0.1
      (required to http://hl7.org/fhir/ValueSet/publication-status|4.0.1)

      The lifecycle status of an artifact.

      Typecode
      Is Modifiertrue because This is labeled as "Is Modifier" because applications should not use a retired {{title}} without due consideration
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      20. CodeSystem.experimental
      Definition

      A Boolean value to indicate that this code system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.

      ShortFor testing purposes, not real usage
      Comments

      Allows filtering of code systems that are appropriate for use versus not.

      Control0..1
      Typeboolean
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Summarytrue
      Requirements

      Enables experimental content to be developed following the same lifecycle that would be used for a production-level code system.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      22. CodeSystem.date
      Definition

      The date (and optionally time) when the code system was published. The date must change 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 code system changes.

      ShortDate last changed
      Comments

      Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the code system. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.

      Control0..1
      TypedateTime
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Summarytrue
      Alternate NamesRevision Date
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      24. CodeSystem.description
      Definition

      A free text natural language description of the code system from a consumer's perspective.

      ShortNatural language description of the code system
      Comments

      This description can be used to capture details such as why the code system was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the code system as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the code system is presumed to be the predominant language in the place the code system was created).

      Control0..1
      Typemarkdown
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Summaryfalse
      Alternate NamesScope, Purpose
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      26. CodeSystem.caseSensitive
      Definition

      If code comparison is case sensitive when codes within this system are compared to each other.

      ShortIf code comparison is case sensitive
      Comments

      If this value is missing, then it is not specified whether a code system is case sensitive or not. When the rule is not known, Postel's law should be followed: produce codes with the correct case, and accept codes in any case. This element is primarily provided to support validation software.

      Control10..1
      Typeboolean
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      28. CodeSystem.compositional
      Definition

      The code system defines a compositional (post-coordination) grammar.

      ShortIf code system defines a compositional grammar
      Comments

      Note that the code system resource does not define what the compositional grammar is, only whether or not there is one.

      Control0..01
      Typeboolean
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summarytrue
      Alternate Namesgrammar
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      30. CodeSystem.versionNeeded
      Definition

      This flag is used to signify that the code system does not commit to concept permanence across versions. If true, a version must be specified when referencing this code system.

      ShortIf definitions are not stable
      Comments

      Best practice is that code systems do not redefine concepts, or that if concepts are redefined, a new code system definition is created. But this is not always possible, so some code systems may be defined as 'versionNeeded'.

      Most code systems occasionally refine the displays defined for concepts between versions. Contexts in which the concept display values are validated may require that the version be specified for some code systems irrespective of the value of this property.

      Control0..01
      Typeboolean
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      32. CodeSystem.content
      Definition

      The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance.

      Shortnot-present | example | fragment | complete | supplement
      Control1..1
      BindingThe codes SHALL be taken from CodeSystemContentModehttp://hl7.org/fhir/ValueSet/codesystem-content-mode|4.0.1
      (required to http://hl7.org/fhir/ValueSet/codesystem-content-mode|4.0.1)

      The extent of the content of the code system (the concepts and codes it defines) are represented in a code system resource.

      Typecode
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      34. CodeSystem.property
      Definition

      A property defines an additional slot through which additional information can be provided about a concept.

      ShortAdditional information supplied about each concept
      Control0..*
      TypeBackboneElement
      Is Modifierfalse
      Must Supporttrue
      Summarytrue
      Requirements

      ... Property is mustSupport because it is used to express weights as well as elements that may be relevant for rendering or performing logic on codes

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      36. CodeSystem.property.modifierExtension
      Definition

      May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

      Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

      ShortExtensions that cannot be ignored even if unrecognized
      Comments

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TypeExtension
      Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
      Summarytrue
      Requirements

      Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

      Alternate Namesextensions, user content, modifiers
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      38. CodeSystem.property.code
      Definition

      A code that is used to identify the property. The code is used internally (in CodeSystem.concept.property.code) and also externally, such as in property filters.

      ShortIdentifies the property on the concepts, and when referred to in operations
      Control1..1
      Typecode
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      40. CodeSystem.property.uri
      Definition

      Reference to the formal meaning of the property. One possible source of meaning is the Concept Properties code system.


      Reference to the formal meaning of the property. One possible source of meaning is the Concept Properties code system.

      ShortFormal identifier for the property
      Control0..1
      Typeuri
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      42. CodeSystem.property.type
      Definition

      The type of the property value. Properties of type "code" contain a code defined by the code system (e.g. a reference to another defined concept).

      Shortcode | Coding | string | integer | boolean | dateTime | decimal
      Control1..1
      BindingThe codes SHALL be taken from PropertyTypehttp://hl7.org/fhir/ValueSet/concept-property-type|4.0.1
      (required to http://hl7.org/fhir/ValueSet/concept-property-type|4.0.1)

      The type of a property value.

      Typecode
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      44. CodeSystem.concept
      Definition

      Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meanings of the hierarchical relationships are.

      ShortConcepts in the code system
      Comments

      If this is empty, it means that the code system resource does not represent the content of the code system.

      Control0..*
      TypeBackboneElement
      Is Modifierfalse
      Must Supporttrue
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      46. CodeSystem.concept.modifierExtension
      Definition

      May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

      Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

      ShortExtensions that cannot be ignored even if unrecognized
      Comments

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TypeExtension
      Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
      Summarytrue
      Requirements

      Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

      Alternate Namesextensions, user content, modifiers
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      48. CodeSystem.concept.code
      Definition

      A code - a text symbol - that uniquely identifies the concept within the code system.

      ShortCode that identifies concept
      Control1..1
      Typecode
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      50. CodeSystem.concept.display
      Definition

      A human readable string that is the recommended default way to present this concept to a user.

      ShortText to display to the user
      Control0..1
      Typestring
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      52. CodeSystem.concept.display.extension
      Definition

      An Extension


      May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

      ShortExtensionAdditional content defined by implementations
      Comments

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TypeExtension
      Is Modifierfalse
      Summaryfalse
      Alternate Namesextensions, user content
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      SlicingThis element introduces a set of slices on CodeSystem.concept.display.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ url
      • 54. CodeSystem.concept.display.extension:conceptDisplayLabel-renderingStyle
        Slice NameconceptDisplayLabel-renderingStyle
        Definition

        Indicates an HTML style that should be applied when rendering this element.

        ShortHtml style value
        Comments

        This extension would be equivalent to setting the HTML "style" attribute on the root element for the element containing the extension.

        NOTE: HTML styles can include references to external content (images, fonts, etc.), which may constitute a security issue, as resolving the link can allow tracking. See here for more detail.

        For questionnaires, see additional guidance and examples in the SDC implementation guide. This style applies to the base string. If there is also a rendering-xhtml or rendering-markdown extension, they must declare any relevant styles within those extension values.

        Setting styles on elements can be risky. It presumes knowledge of how elements are rendered "by default". For example, setting the color of an element to 'blue' to highlight it might be fine - unless the default background color for a particular renderer is already blue. As well, it's not a given that all elements will be represented by a single HTML element. One element might be referenced by a collection of table cells that span rows and columns. Setting a border style on all of those cells wouldn't give the desired results and auto-tweaking the border style on each cell (deciding whether the border is top,left, right, etc.) would require complex coding. Finally, systems might not be using HTML for their UI at all and will need to map the specified styles to their own UI mechanism. For this reason, this element is best used when: a) the default UI characteristics are already well understood (because the specification applies to a single system or to a set of systems that are already required to comply with specific UI expectations b) the set of allowed style values is tightly controlled to only those that are necessary and sensible in that context

        Control0..1
        This element is affected by the following invariants: ele-1
        TypeExtension(Rendering Style) (Extension Type: string)
        Is Modifierfalse
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        56. CodeSystem.concept.display.extension:conceptDisplayLabel-markdown
        Slice NameconceptDisplayLabel-markdown
        Definition

        This is an equivalent of the string on which the extension is sent, but includes additional markdown (see documentation about markdown. Note that using HTML xhtml can allow for greater precision of display.

        ShortString equivalent with markdown
        Control0..1
        This element is affected by the following invariants: ele-1
        TypeExtension(Markdown) (Extension Type: markdown)
        Is Modifierfalse
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        58. CodeSystem.concept.display.extension:conceptDisplayLabel-xhtml
        Slice NameconceptDisplayLabel-xhtml
        Definition

        This is an equivalent of the string on which the extension is sent, but includes additional XHTML markup, such as bold, italics, styles, tables, etc. Existing restrictions on XHTML content apply. Note that using markdown allows for greater flexibility of display.

        ShortString equivalent with html markup
        Comments

        For questionnaires, see additional guidance and examples in the SDC implementation guide.

        Control0..1
        This element is affected by the following invariants: ele-1
        TypeExtension(XHTML Representation) (Extension Type: string)
        Is Modifierfalse
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        60. CodeSystem.concept.definition
        Definition

        The formal definition of the concept. The code system resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept.

        ShortFormal definition
        Control0..1
        Typestring
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Must Supporttrue
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        62. CodeSystem.concept.property
        Definition

        A property value for this concept.

        ShortProperty value for the concept
        Control0..*
        TypeBackboneElement
        Is Modifierfalse
        Must Supporttrue
        Summaryfalse
        Requirements

        ... Property is mustSupport because it is used to express weights as well as elements that may be relevant for rendering or performing logic on codes

        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        64. CodeSystem.concept.property.modifierExtension
        Definition

        May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

        Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

        ShortExtensions that cannot be ignored even if unrecognized
        Comments

        There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

        Control0..*
        TypeExtension
        Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
        Summarytrue
        Requirements

        Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

        Alternate Namesextensions, user content, modifiers
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        66. CodeSystem.concept.property.code
        Definition

        A code that is a reference to CodeSystem.property.code.

        ShortReference to CodeSystem.property.code
        Control1..1
        Typecode
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Must Supporttrue
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        68. CodeSystem.concept.property.value[x]
        Definition

        The value of this property.

        ShortValue of the property for this concept
        Control1..1
        TypeChoice of: code, Coding, string, integer, boolean, dateTime, decimal
        [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Must Supporttrue
        Must Support TypesNo must-support rules about the choice of types/profiles
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        70. CodeSystem.concept.concept
        Definition

        Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) - see hierarchyMeaning.

        ShortChild Concepts (is-a/contains/categorizes)
        Control0..*
        TypeSeettp://hl7.org/fhir/StructureDefinition/CodeSystem#CodeSystem.concept
        Is Modifierfalse
        Must Supporttrue
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))

        Guidance on how to interpret the contents of this table can be foundhere

        0. CodeSystem
        Definition

        Sets expectations for SDC-conformant systems around value set support for representing permitted question answers.

        Invariantssdc-2: If version is present, versionAlgorithm must be present. (version.exists() implies extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]').exists())
        sdc-3: Semver is the preferred version algorithm - package machinery doesn't work well with artifacts using alternate versioning schemes (extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]').all(value.ofType(Coding).where(system='http://hl7.org/fhir/version-algorithm' and code='semver').exists()))
        2. CodeSystem.extension
        SlicingThis element introduces a set of slices on CodeSystem.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • 4. CodeSystem.extension:versionAlgorithm
          Slice NameversionAlgorithm
          Control0..1
          TypeExtension(http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm%5Bx%5D)
          Must Supporttrue
          6. CodeSystem.modifierExtension
          SlicingThis element introduces a set of slices on CodeSystem.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
          • value @ url
          • 8. CodeSystem.modifierExtension:rendering-criticalExtension
            Slice Namerendering-criticalExtension
            Control0..*
            TypeExtension(Rendering Critical Extension) (Extension Type: canonical)
            Must Supporttrue
            10. CodeSystem.url
            Must Supporttrue
            12. CodeSystem.version
            NoteThis is a business version Id, not a resource version Id (see discussion)
            Must Supporttrue
            14. CodeSystem.name
            16. CodeSystem.status
            Must Supporttrue
            18. CodeSystem.experimental
            Must Supporttrue
            20. CodeSystem.date
            Must Supporttrue
            22. CodeSystem.description
            Must Supporttrue
            24. CodeSystem.caseSensitive
            Control1..?
            Must Supporttrue
            26. CodeSystem.compositional
            Control0..0
            28. CodeSystem.versionNeeded
            Control0..0
            30. CodeSystem.content
            Must Supporttrue
            32. CodeSystem.property
            Must Supporttrue
            Requirements

            ... Property is mustSupport because it is used to express weights as well as elements that may be relevant for rendering or performing logic on codes

            34. CodeSystem.property.code
            Must Supporttrue
            36. CodeSystem.property.uri
            Must Supporttrue
            38. CodeSystem.property.type
            Must Supporttrue
            40. CodeSystem.concept
            Must Supporttrue
            42. CodeSystem.concept.code
            Must Supporttrue
            44. CodeSystem.concept.display
            Must Supporttrue
            46. CodeSystem.concept.display.extension
            SlicingThis element introduces a set of slices on CodeSystem.concept.display.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
            • value @ url
            • 48. CodeSystem.concept.display.extension:conceptDisplayLabel-renderingStyle
              Slice NameconceptDisplayLabel-renderingStyle
              Control0..1
              TypeExtension(Rendering Style) (Extension Type: string)
              50. CodeSystem.concept.display.extension:conceptDisplayLabel-markdown
              Slice NameconceptDisplayLabel-markdown
              Control0..1
              TypeExtension(Markdown) (Extension Type: markdown)
              52. CodeSystem.concept.display.extension:conceptDisplayLabel-xhtml
              Slice NameconceptDisplayLabel-xhtml
              Control0..1
              TypeExtension(XHTML Representation) (Extension Type: string)
              54. CodeSystem.concept.definition
              Must Supporttrue
              56. CodeSystem.concept.designation
              58. CodeSystem.concept.designation.value
              60. CodeSystem.concept.designation.value.extension
              SlicingThis element introduces a set of slices on CodeSystem.concept.designation.value.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
              • value @ url
              • 62. CodeSystem.concept.designation.value.extension:conceptDisplayLabel-renderingStyle
                Slice NameconceptDisplayLabel-renderingStyle
                Control0..1
                TypeExtension(Rendering Style) (Extension Type: string)
                64. CodeSystem.concept.designation.value.extension:conceptDisplayLabel-markdown
                Slice NameconceptDisplayLabel-markdown
                Control0..1
                TypeExtension(Markdown) (Extension Type: markdown)
                66. CodeSystem.concept.designation.value.extension:conceptDisplayLabel-xhtml
                Slice NameconceptDisplayLabel-xhtml
                Control0..1
                TypeExtension(XHTML Representation) (Extension Type: string)
                68. CodeSystem.concept.property
                Must Supporttrue
                Requirements

                ... Property is mustSupport because it is used to express weights as well as elements that may be relevant for rendering or performing logic on codes

                70. CodeSystem.concept.property.code
                Must Supporttrue
                72. CodeSystem.concept.property.value[x]
                [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                Must Supporttrue
                74. CodeSystem.concept.concept
                Must Supporttrue

                Guidance on how to interpret the contents of this table can be foundhere

                0. CodeSystem
                Definition

                Sets expectations for SDC-conformant systems around value set support for representing permitted question answers.

                ShortDeclares the existence of and describes a code system or code system supplement
                Control0..*
                Is Modifierfalse
                Summaryfalse
                Invariantscsd-0: Name should be usable as an identifier for the module by machine processing applications such as code generation (name.matches('[A-Z]([A-Za-z0-9_]){0,254}'))
                csd-1: Within a code system definition, all the codes SHALL be unique (concept.code.combine($this.descendants().concept.code).isDistinct())
                dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
                dom-3: 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty())
                dom-4: 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: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
                dom-6: A resource should have narrative for robust management (text.`div`.exists())
                sdc-2: If version is present, versionAlgorithm must be present. (version.exists() implies extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]').exists())
                sdc-3: Semver is the preferred version algorithm - package machinery doesn't work well with artifacts using alternate versioning schemes (extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]').all(value.ofType(Coding).where(system='http://hl7.org/fhir/version-algorithm' and code='semver').exists()))
                2. CodeSystem.id
                Definition

                The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

                ShortLogical id of this artifact
                Comments

                The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

                Control0..1
                Typeid
                Is Modifierfalse
                Summarytrue
                4. CodeSystem.meta
                Definition

                The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

                ShortMetadata about the resource
                Control0..1
                TypeMeta
                Is Modifierfalse
                Summarytrue
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                6. CodeSystem.implicitRules
                Definition

                A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

                ShortA set of rules under which this content was created
                Comments

                Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

                Control0..1
                Typeuri
                Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                Summarytrue
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                8. CodeSystem.language
                Definition

                The base language in which the resource is written.

                ShortLanguage of the resource content
                Comments

                Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

                Control0..1
                BindingThe codes SHOULD be taken from CommonLanguages
                (preferred to http://hl7.org/fhir/ValueSet/languages)

                A human language.

                Additional BindingsPurpose
                AllLanguagesMax Binding
                Typecode
                Is Modifierfalse
                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                Summaryfalse
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                10. CodeSystem.text
                Definition

                A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

                ShortText summary of the resource, for human interpretation
                Comments

                Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

                Control0..1
                TypeNarrative
                Is Modifierfalse
                Summaryfalse
                Alternate Namesnarrative, html, xhtml, display
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                12. CodeSystem.contained
                Definition

                These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

                ShortContained, inline Resources
                Comments

                This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

                Control0..*
                TypeResource
                Is Modifierfalse
                Summaryfalse
                Alternate Namesinline resources, anonymous resources, contained resources
                14. CodeSystem.extension
                Definition

                An Extension

                ShortExtension
                Control0..*
                TypeExtension
                Is Modifierfalse
                Summaryfalse
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                SlicingThis element introduces a set of slices on CodeSystem.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                • value @ url
                • 16. CodeSystem.extension:versionAlgorithm
                  Slice NameversionAlgorithm
                  Definition

                  Optional Extension Element - found in all resources.

                  ShortOptional Extensions Element
                  Control0..1
                  This element is affected by the following invariants: ele-1
                  TypeExtension(http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm%5Bx%5D)
                  Is Modifierfalse
                  Must Supporttrue
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  18. CodeSystem.modifierExtension
                  Definition

                  An Extension

                  ShortExtension
                  Control0..*
                  TypeExtension
                  Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  SlicingThis element introduces a set of slices on CodeSystem.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                  • value @ url
                  • 20. CodeSystem.modifierExtension:rendering-criticalExtension
                    Slice Namerendering-criticalExtension
                    Definition

                    Indicates an extension that must be supported by the system presenting the instance for data capture or end-user consumption. If a system does not recognize the extension or cannot implement the functionality defined by the extension, it should display an error message or warning and refrain from presenting the instance to the user or using it when capturing data.

                    ShortExtension that must be supported
                    Comments

                    This may point to extensions that control the appearance of data elements, control what value elements have, what elements are or are not available, what elements can or cannot be edited, or rules about how editing may occur. This extension does NOT apply when simply rendering a resource for publication purposes or for other purposes not intended for end-user data capture or data consumption.

                    Control0..*
                    This element is affected by the following invariants: ele-1
                    TypeExtension(Rendering Critical Extension) (Extension Type: canonical)
                    Is Modifiertrue because Indicates that the Questionnaire can't be safely rendered in certain situations
                    Must Supporttrue
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    22. CodeSystem.url
                    Definition

                    An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in Coding.system.

                    ShortCanonical identifier for this code system, represented as a URI (globally unique) (Coding.system)
                    Comments

                    Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version.

                    The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in Technical and Business Versions.

                    In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the meta.source element to indicate where the current master source of the resource can be found.

                    Control0..1
                    Typeuri
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supporttrue
                    Summarytrue
                    Requirements

                    Allows the code system to be referenced by a single globally unique identifier.

                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    24. CodeSystem.identifier
                    Definition

                    A formal identifier that is used to identify this code system when it is represented in other formats, or referenced in a specification, model, design or an instance.

                    ShortAdditional identifier for the code system (business identifier)
                    Comments

                    Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this code system outside of FHIR, where it is not possible to use the logical URI. Note that HL7 defines at least three identifiers for many of its code systems - the FHIR canonical URL, the OID and the V2 Table 0396 mnemonic code.

                    NoteThis is a business identifier, not a resource identifier (see discussion)
                    Control0..*
                    TypeIdentifier
                    Is Modifierfalse
                    Summarytrue
                    Requirements

                    Allows externally provided and/or usable business identifiers to be easily associated with the module.

                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    26. CodeSystem.version
                    Definition

                    The identifier that is used to identify this version of the code system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the code system 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 sequence. This is used in Coding.version.

                    ShortBusiness version of the code system (Coding.version)
                    Comments

                    There may be different code system instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the code system with the format [url]|[version].

                    NoteThis is a business version Id, not a resource version Id (see discussion)
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supporttrue
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    28. CodeSystem.name
                    Definition

                    A natural language name identifying the code system. This name should be usable as an identifier for the module by machine processing applications such as code generation.

                    ShortName for this code system (computer friendly)
                    Comments

                    The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly.

                    Control0..1
                    This element is affected by the following invariants: inv-0
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Requirements

                    Support human navigation and code generation.

                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    30. CodeSystem.title
                    Definition

                    A short, descriptive, user-friendly title for the code system.

                    ShortName for this code system (human friendly)
                    Comments

                    This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.

                    Control0..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    32. CodeSystem.status
                    Definition

                    The date (and optionally time) when the code system resource was created or revised.

                    Shortdraft | active | retired | unknown
                    Comments

                    Allows filtering of code systems that are appropriate for use versus not.

                    Control1..1
                    BindingThe codes SHALL be taken from PublicationStatus
                    (required to http://hl7.org/fhir/ValueSet/publication-status|4.0.1)

                    The lifecycle status of an artifact.

                    Typecode
                    Is Modifiertrue because This is labeled as "Is Modifier" because applications should not use a retired {{title}} without due consideration
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supporttrue
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    34. CodeSystem.experimental
                    Definition

                    A Boolean value to indicate that this code system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.

                    ShortFor testing purposes, not real usage
                    Comments

                    Allows filtering of code systems that are appropriate for use versus not.

                    Control0..1
                    Typeboolean
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supporttrue
                    Summarytrue
                    Requirements

                    Enables experimental content to be developed following the same lifecycle that would be used for a production-level code system.

                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    36. CodeSystem.date
                    Definition

                    The date (and optionally time) when the code system was published. The date must change 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 code system changes.

                    ShortDate last changed
                    Comments

                    Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the code system. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.

                    Control0..1
                    TypedateTime
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supporttrue
                    Summarytrue
                    Alternate NamesRevision Date
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    38. CodeSystem.publisher
                    Definition

                    The name of the organization or individual that published the code system.

                    ShortName of the publisher (organization or individual)
                    Comments

                    Usually an organization but may be an individual. The publisher (or steward) of the code system is the organization or individual primarily responsible for the maintenance and upkeep of the code system. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the code system. This item SHOULD be populated unless the information is available from context.

                    Control0..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Requirements

                    Helps establish the "authority/credibility" of the code system. May also allow for contact.

                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    40. CodeSystem.contact
                    Definition

                    Contact details to assist a user in finding and communicating with the publisher.

                    ShortContact details for the publisher
                    Comments

                    May be a web site, an email address, a telephone number, etc.

                    Control0..*
                    TypeContactDetail
                    Is Modifierfalse
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    42. CodeSystem.description
                    Definition

                    A free text natural language description of the code system from a consumer's perspective.

                    ShortNatural language description of the code system
                    Comments

                    This description can be used to capture details such as why the code system was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the code system as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the code system is presumed to be the predominant language in the place the code system was created).

                    Control0..1
                    Typemarkdown
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supporttrue
                    Summaryfalse
                    Alternate NamesScope, Purpose
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    44. CodeSystem.useContext
                    Definition

                    The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate code system instances.

                    ShortThe context that the content is intended to support
                    Comments

                    When multiple useContexts are specified, there is no expectation that all or any of the contexts apply.

                    Control0..*
                    TypeUsageContext
                    Is Modifierfalse
                    Summarytrue
                    Requirements

                    Assist in searching for appropriate content.

                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    46. CodeSystem.jurisdiction
                    Definition

                    A legal or geographic region in which the code system is intended to be used.

                    ShortIntended jurisdiction for code system (if applicable)
                    Comments

                    It may be possible for the code system to be used in jurisdictions other than those for which it was originally designed or intended.

                    Control0..*
                    BindingUnless not suitable, these codes SHALL be taken from Jurisdiction ValueSet
                    (extensible to http://hl7.org/fhir/ValueSet/jurisdiction)

                    Countries and regions within which this artifact is targeted for use.

                    TypeCodeableConcept
                    Is Modifierfalse
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    48. CodeSystem.purpose
                    Definition

                    Explanation of why this code system is needed and why it has been designed as it has.

                    ShortWhy this code system is defined
                    Comments

                    This element does not describe the usage of the code system. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this code system.

                    Control0..1
                    Typemarkdown
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    50. CodeSystem.copyright
                    Definition

                    A copyright statement relating to the code system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the code system.

                    ShortUse and/or publishing restrictions
                    Comments

                    ... Sometimes, the copyright differs between the code system and the codes that are included. The copyright statement should clearly differentiate between these when required.

                    Control0..1
                    Typemarkdown
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Requirements

                    Consumers must be able to determine any legal restrictions on the use of the code system and/or its content.

                    Alternate NamesLicense, Restrictions
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    52. CodeSystem.caseSensitive
                    Definition

                    If code comparison is case sensitive when codes within this system are compared to each other.

                    ShortIf code comparison is case sensitive
                    Comments

                    If this value is missing, then it is not specified whether a code system is case sensitive or not. When the rule is not known, Postel's law should be followed: produce codes with the correct case, and accept codes in any case. This element is primarily provided to support validation software.

                    Control1..1
                    Typeboolean
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supporttrue
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    54. CodeSystem.valueSet
                    Definition

                    Canonical reference to the value set that contains the entire code system.

                    ShortCanonical reference to the value set with entire code system
                    Comments

                    The definition of the value set SHALL include all codes from this code system and only codes from this code system, and it SHALL be immutable.

                    Control0..1
                    Typecanonical(ValueSet)
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    56. CodeSystem.hierarchyMeaning
                    Definition

                    The meaning of the hierarchy of concepts as represented in this resource.

                    Shortgrouped-by | is-a | part-of | classified-with
                    Comments

                    Note that other representations might have a different hierarchy or none at all, and represent the information using properties.

                    Control0..1
                    BindingThe codes SHALL be taken from CodeSystemHierarchyMeaning
                    (required to http://hl7.org/fhir/ValueSet/codesystem-hierarchy-meaning|4.0.1)

                    The meaning of the hierarchy of concepts in a code system.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    58. CodeSystem.compositional
                    Definition

                    The code system defines a compositional (post-coordination) grammar.

                    ShortIf code system defines a compositional grammar
                    Comments

                    Note that the code system resource does not define what the compositional grammar is, only whether or not there is one.

                    Control0..0
                    Typeboolean
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Alternate Namesgrammar
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    60. CodeSystem.versionNeeded
                    Definition

                    This flag is used to signify that the code system does not commit to concept permanence across versions. If true, a version must be specified when referencing this code system.

                    ShortIf definitions are not stable
                    Comments

                    Best practice is that code systems do not redefine concepts, or that if concepts are redefined, a new code system definition is created. But this is not always possible, so some code systems may be defined as 'versionNeeded'.

                    Most code systems occasionally refine the displays defined for concepts between versions. Contexts in which the concept display values are validated may require that the version be specified for some code systems irrespective of the value of this property.

                    Control0..0
                    Typeboolean
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    62. CodeSystem.content
                    Definition

                    The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance.

                    Shortnot-present | example | fragment | complete | supplement
                    Control1..1
                    BindingThe codes SHALL be taken from CodeSystemContentMode
                    (required to http://hl7.org/fhir/ValueSet/codesystem-content-mode|4.0.1)

                    The extent of the content of the code system (the concepts and codes it defines) are represented in a code system resource.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supporttrue
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    64. CodeSystem.supplements
                    Definition

                    The canonical URL of the code system that this code system supplement is adding designations and properties to.

                    ShortCanonical URL of Code System this adds designations and properties to
                    Comments

                    The most common use of a code system supplement is to add additional language support.

                    Control0..1
                    Typecanonical(CodeSystem)
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    66. CodeSystem.count
                    Definition

                    The total number of concepts defined by the code system. Where the code system has a compositional grammar, the basis of this count is defined by the system steward.

                    ShortTotal concepts in the code system
                    Comments

                    The count of concepts defined in this resource cannot be more than this value but may be less for several reasons - see the content element.

                    Control0..1
                    TypeunsignedInt
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    68. CodeSystem.filter
                    Definition

                    A filter that can be used in a value set compose statement when selecting concepts using a filter.

                    ShortFilter that can be used in a value set
                    Comments

                    Note that filters defined in code systems usually require custom code on the part of any terminology engine that will make them available for use in value set filters. For this reason, they are generally only seen in high value published terminologies.

                    Control0..*
                    TypeBackboneElement
                    Is Modifierfalse
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    70. CodeSystem.filter.id
                    Definition

                    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                    ShortUnique id for inter-element referencing
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    XML FormatIn the XML format, this property is represented as an attribute.
                    Summaryfalse
                    72. CodeSystem.filter.extension
                    Definition

                    May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                    ShortAdditional content defined by implementations
                    Comments

                    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                    Control0..*
                    TypeExtension
                    Is Modifierfalse
                    Summaryfalse
                    Alternate Namesextensions, user content
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    74. CodeSystem.filter.modifierExtension
                    Definition

                    May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

                    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                    ShortExtensions that cannot be ignored even if unrecognized
                    Comments

                    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                    Control0..*
                    TypeExtension
                    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                    Summarytrue
                    Requirements

                    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                    Alternate Namesextensions, user content, modifiers
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    76. CodeSystem.filter.code
                    Definition

                    The code that identifies this filter when it is used as a filter in ValueSet.compose.include.filter.

                    ShortCode that identifies the filter
                    Control1..1
                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    78. CodeSystem.filter.description
                    Definition

                    A description of how or why the filter is used.

                    ShortHow or why the filter is used
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    80. CodeSystem.filter.operator
                    Definition

                    A list of operators that can be used with the filter.

                    Short= | is-a | descendent-of | is-not-a | regex | in | not-in | generalizes | exists
                    Control1..*
                    BindingThe codes SHALL be taken from FilterOperator
                    (required to http://hl7.org/fhir/ValueSet/filter-operator|4.0.1)

                    The kind of operation to perform as a part of a property based filter.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    82. CodeSystem.filter.value
                    Definition

                    A description of what the value for the filter should be.

                    ShortWhat to use for the value
                    Control1..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    84. CodeSystem.property
                    Definition

                    A property defines an additional slot through which additional information can be provided about a concept.

                    ShortAdditional information supplied about each concept
                    Control0..*
                    TypeBackboneElement
                    Is Modifierfalse
                    Must Supporttrue
                    Summarytrue
                    Requirements

                    ... Property is mustSupport because it is used to express weights as well as elements that may be relevant for rendering or performing logic on codes

                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    86. CodeSystem.property.id
                    Definition

                    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                    ShortUnique id for inter-element referencing
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    XML FormatIn the XML format, this property is represented as an attribute.
                    Summaryfalse
                    88. CodeSystem.property.extension
                    Definition

                    May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                    ShortAdditional content defined by implementations
                    Comments

                    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                    Control0..*
                    TypeExtension
                    Is Modifierfalse
                    Summaryfalse
                    Alternate Namesextensions, user content
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    90. CodeSystem.property.modifierExtension
                    Definition

                    May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

                    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                    ShortExtensions that cannot be ignored even if unrecognized
                    Comments

                    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                    Control0..*
                    TypeExtension
                    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                    Summarytrue
                    Requirements

                    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                    Alternate Namesextensions, user content, modifiers
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    92. CodeSystem.property.code
                    Definition

                    A code that is used to identify the property. The code is used internally (in CodeSystem.concept.property.code) and also externally, such as in property filters.

                    ShortIdentifies the property on the concepts, and when referred to in operations
                    Control1..1
                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supporttrue
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    94. CodeSystem.property.uri
                    Definition

                    Reference to the formal meaning of the property. One possible source of meaning is the Concept Properties code system.

                    ShortFormal identifier for the property
                    Control0..1
                    Typeuri
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supporttrue
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    96. CodeSystem.property.description
                    Definition

                    A description of the property- why it is defined, and how its value might be used.

                    ShortWhy the property is defined, and/or what it conveys
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    98. CodeSystem.property.type
                    Definition

                    The type of the property value. Properties of type "code" contain a code defined by the code system (e.g. a reference to another defined concept).

                    Shortcode | Coding | string | integer | boolean | dateTime | decimal
                    Control1..1
                    BindingThe codes SHALL be taken from PropertyType
                    (required to http://hl7.org/fhir/ValueSet/concept-property-type|4.0.1)

                    The type of a property value.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supporttrue
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    100. CodeSystem.concept
                    Definition

                    Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meanings of the hierarchical relationships are.

                    ShortConcepts in the code system
                    Comments

                    If this is empty, it means that the code system resource does not represent the content of the code system.

                    Control0..*
                    TypeBackboneElement
                    Is Modifierfalse
                    Must Supporttrue
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    102. CodeSystem.concept.id
                    Definition

                    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                    ShortUnique id for inter-element referencing
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    XML FormatIn the XML format, this property is represented as an attribute.
                    Summaryfalse
                    104. CodeSystem.concept.extension
                    Definition

                    May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                    ShortAdditional content defined by implementations
                    Comments

                    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                    Control0..*
                    TypeExtension
                    Is Modifierfalse
                    Summaryfalse
                    Alternate Namesextensions, user content
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    106. CodeSystem.concept.modifierExtension
                    Definition

                    May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

                    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                    ShortExtensions that cannot be ignored even if unrecognized
                    Comments

                    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                    Control0..*
                    TypeExtension
                    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                    Summarytrue
                    Requirements

                    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                    Alternate Namesextensions, user content, modifiers
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    108. CodeSystem.concept.code
                    Definition

                    A code - a text symbol - that uniquely identifies the concept within the code system.

                    ShortCode that identifies concept
                    Control1..1
                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supporttrue
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    110. CodeSystem.concept.display
                    Definition

                    A human readable string that is the recommended default way to present this concept to a user.

                    ShortText to display to the user
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Must Supporttrue
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    112. CodeSystem.concept.display.id
                    Definition

                    unique id for the element within a resource (for internal references)

                    Shortxml:id (or equivalent in JSON)
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    XML FormatIn the XML format, this property is represented as an attribute.
                    Summaryfalse
                    114. CodeSystem.concept.display.extension
                    Definition

                    An Extension

                    ShortExtension
                    Control0..*
                    TypeExtension
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    SlicingThis element introduces a set of slices on CodeSystem.concept.display.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                    • value @ url
                    • 116. CodeSystem.concept.display.extension:conceptDisplayLabel-renderingStyle
                      Slice NameconceptDisplayLabel-renderingStyle
                      Definition

                      Indicates an HTML style that should be applied when rendering this element.

                      ShortHtml style value
                      Comments

                      This extension would be equivalent to setting the HTML "style" attribute on the root element for the element containing the extension.

                      NOTE: HTML styles can include references to external content (images, fonts, etc.), which may constitute a security issue, as resolving the link can allow tracking. See here for more detail.

                      For questionnaires, see additional guidance and examples in the SDC implementation guide. This style applies to the base string. If there is also a rendering-xhtml or rendering-markdown extension, they must declare any relevant styles within those extension values.

                      Setting styles on elements can be risky. It presumes knowledge of how elements are rendered "by default". For example, setting the color of an element to 'blue' to highlight it might be fine - unless the default background color for a particular renderer is already blue. As well, it's not a given that all elements will be represented by a single HTML element. One element might be referenced by a collection of table cells that span rows and columns. Setting a border style on all of those cells wouldn't give the desired results and auto-tweaking the border style on each cell (deciding whether the border is top,left, right, etc.) would require complex coding. Finally, systems might not be using HTML for their UI at all and will need to map the specified styles to their own UI mechanism. For this reason, this element is best used when: a) the default UI characteristics are already well understood (because the specification applies to a single system or to a set of systems that are already required to comply with specific UI expectations b) the set of allowed style values is tightly controlled to only those that are necessary and sensible in that context

                      Control0..1
                      This element is affected by the following invariants: ele-1
                      TypeExtension(Rendering Style) (Extension Type: string)
                      Is Modifierfalse
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                      118. CodeSystem.concept.display.extension:conceptDisplayLabel-markdown
                      Slice NameconceptDisplayLabel-markdown
                      Definition

                      This is an equivalent of the string on which the extension is sent, but includes additional markdown (see documentation about markdown. Note that using HTML xhtml can allow for greater precision of display.

                      ShortString equivalent with markdown
                      Control0..1
                      This element is affected by the following invariants: ele-1
                      TypeExtension(Markdown) (Extension Type: markdown)
                      Is Modifierfalse
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                      120. CodeSystem.concept.display.extension:conceptDisplayLabel-xhtml
                      Slice NameconceptDisplayLabel-xhtml
                      Definition

                      This is an equivalent of the string on which the extension is sent, but includes additional XHTML markup, such as bold, italics, styles, tables, etc. Existing restrictions on XHTML content apply. Note that using markdown allows for greater flexibility of display.

                      ShortString equivalent with html markup
                      Comments

                      For questionnaires, see additional guidance and examples in the SDC implementation guide.

                      Control0..1
                      This element is affected by the following invariants: ele-1
                      TypeExtension(XHTML Representation) (Extension Type: string)
                      Is Modifierfalse
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                      122. CodeSystem.concept.display.value
                      Definition

                      The actual value

                      ShortPrimitive value for string
                      Control0..1
                      Typestring
                      Is Modifierfalse
                      XML FormatIn the XML format, this property is represented as an attribute.
                      Summaryfalse
                      Max Length:1048576
                      124. CodeSystem.concept.definition
                      Definition

                      The formal definition of the concept. The code system resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept.

                      ShortFormal definition
                      Control0..1
                      Typestring
                      Is Modifierfalse
                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                      Must Supporttrue
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      126. CodeSystem.concept.designation
                      Definition

                      Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc.

                      ShortAdditional representations for the concept
                      Comments

                      Concepts have both a display and an array of designation. The display is equivalent to a special designation with an implied designation.use of "primary code" and a language equal to the Resource Language.

                      Control0..*
                      TypeBackboneElement
                      Is Modifierfalse
                      Summaryfalse
                      Requirements

                      Many concept definition systems support multiple representations, in multiple languages, and for multiple purposes.

                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      128. CodeSystem.concept.designation.id
                      Definition

                      Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                      ShortUnique id for inter-element referencing
                      Control0..1
                      Typestring
                      Is Modifierfalse
                      XML FormatIn the XML format, this property is represented as an attribute.
                      Summaryfalse
                      130. CodeSystem.concept.designation.extension
                      Definition

                      May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                      ShortAdditional content defined by implementations
                      Comments

                      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                      Control0..*
                      TypeExtension
                      Is Modifierfalse
                      Summaryfalse
                      Alternate Namesextensions, user content
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                      132. CodeSystem.concept.designation.modifierExtension
                      Definition

                      May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

                      Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                      ShortExtensions that cannot be ignored even if unrecognized
                      Comments

                      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                      Control0..*
                      TypeExtension
                      Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                      Summarytrue
                      Requirements

                      Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                      Alternate Namesextensions, user content, modifiers
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                      134. CodeSystem.concept.designation.language
                      Definition

                      The language this designation is defined for.

                      ShortHuman language of the designation
                      Comments

                      In the absence of a language, the resource language applies.

                      Control0..1
                      BindingThe codes SHOULD be taken from CommonLanguages
                      (preferred to http://hl7.org/fhir/ValueSet/languages)

                      A human language.

                      Additional BindingsPurpose
                      AllLanguagesMax Binding
                      Typecode
                      Is Modifierfalse
                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      136. CodeSystem.concept.designation.use
                      Definition

                      A code that details how this designation would be used.

                      ShortDetails how this designation would be used
                      Comments

                      If no use is provided, the designation can be assumed to be suitable for general display to a human user.

                      Control0..1
                      BindingUnless not suitable, these codes SHALL be taken from DesignationUse
                      (extensible to http://hl7.org/fhir/ValueSet/designation-use)

                      Details of how a designation would be used.

                      TypeCoding
                      Is Modifierfalse
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      138. CodeSystem.concept.designation.value
                      Definition

                      The text value for this designation.

                      ShortThe text value for this designation
                      Control1..1
                      Typestring
                      Is Modifierfalse
                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      140. CodeSystem.concept.designation.value.id
                      Definition

                      unique id for the element within a resource (for internal references)

                      Shortxml:id (or equivalent in JSON)
                      Control0..1
                      Typestring
                      Is Modifierfalse
                      XML FormatIn the XML format, this property is represented as an attribute.
                      Summaryfalse
                      142. CodeSystem.concept.designation.value.extension
                      Definition

                      An Extension

                      ShortExtension
                      Control0..*
                      TypeExtension
                      Is Modifierfalse
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                      SlicingThis element introduces a set of slices on CodeSystem.concept.designation.value.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                      • value @ url
                      • 144. CodeSystem.concept.designation.value.extension:conceptDisplayLabel-renderingStyle
                        Slice NameconceptDisplayLabel-renderingStyle
                        Definition

                        Indicates an HTML style that should be applied when rendering this element.

                        ShortHtml style value
                        Comments

                        This extension would be equivalent to setting the HTML "style" attribute on the root element for the element containing the extension.

                        NOTE: HTML styles can include references to external content (images, fonts, etc.), which may constitute a security issue, as resolving the link can allow tracking. See here for more detail.

                        For questionnaires, see additional guidance and examples in the SDC implementation guide. This style applies to the base string. If there is also a rendering-xhtml or rendering-markdown extension, they must declare any relevant styles within those extension values.

                        Setting styles on elements can be risky. It presumes knowledge of how elements are rendered "by default". For example, setting the color of an element to 'blue' to highlight it might be fine - unless the default background color for a particular renderer is already blue. As well, it's not a given that all elements will be represented by a single HTML element. One element might be referenced by a collection of table cells that span rows and columns. Setting a border style on all of those cells wouldn't give the desired results and auto-tweaking the border style on each cell (deciding whether the border is top,left, right, etc.) would require complex coding. Finally, systems might not be using HTML for their UI at all and will need to map the specified styles to their own UI mechanism. For this reason, this element is best used when: a) the default UI characteristics are already well understood (because the specification applies to a single system or to a set of systems that are already required to comply with specific UI expectations b) the set of allowed style values is tightly controlled to only those that are necessary and sensible in that context

                        Control0..1
                        This element is affected by the following invariants: ele-1
                        TypeExtension(Rendering Style) (Extension Type: string)
                        Is Modifierfalse
                        Summaryfalse
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                        146. CodeSystem.concept.designation.value.extension:conceptDisplayLabel-markdown
                        Slice NameconceptDisplayLabel-markdown
                        Definition

                        This is an equivalent of the string on which the extension is sent, but includes additional markdown (see documentation about markdown. Note that using HTML xhtml can allow for greater precision of display.

                        ShortString equivalent with markdown
                        Control0..1
                        This element is affected by the following invariants: ele-1
                        TypeExtension(Markdown) (Extension Type: markdown)
                        Is Modifierfalse
                        Summaryfalse
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                        148. CodeSystem.concept.designation.value.extension:conceptDisplayLabel-xhtml
                        Slice NameconceptDisplayLabel-xhtml
                        Definition

                        This is an equivalent of the string on which the extension is sent, but includes additional XHTML markup, such as bold, italics, styles, tables, etc. Existing restrictions on XHTML content apply. Note that using markdown allows for greater flexibility of display.

                        ShortString equivalent with html markup
                        Comments

                        For questionnaires, see additional guidance and examples in the SDC implementation guide.

                        Control0..1
                        This element is affected by the following invariants: ele-1
                        TypeExtension(XHTML Representation) (Extension Type: string)
                        Is Modifierfalse
                        Summaryfalse
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                        150. CodeSystem.concept.designation.value.value
                        Definition

                        The actual value

                        ShortPrimitive value for string
                        Control0..1
                        Typestring
                        Is Modifierfalse
                        XML FormatIn the XML format, this property is represented as an attribute.
                        Summaryfalse
                        Max Length:1048576
                        152. CodeSystem.concept.property
                        Definition

                        A property value for this concept.

                        ShortProperty value for the concept
                        Control0..*
                        TypeBackboneElement
                        Is Modifierfalse
                        Must Supporttrue
                        Summaryfalse
                        Requirements

                        ... Property is mustSupport because it is used to express weights as well as elements that may be relevant for rendering or performing logic on codes

                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        154. CodeSystem.concept.property.id
                        Definition

                        Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                        ShortUnique id for inter-element referencing
                        Control0..1
                        Typestring
                        Is Modifierfalse
                        XML FormatIn the XML format, this property is represented as an attribute.
                        Summaryfalse
                        156. CodeSystem.concept.property.extension
                        Definition

                        May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                        ShortAdditional content defined by implementations
                        Comments

                        There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                        Control0..*
                        TypeExtension
                        Is Modifierfalse
                        Summaryfalse
                        Alternate Namesextensions, user content
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                        158. CodeSystem.concept.property.modifierExtension
                        Definition

                        May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

                        Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                        ShortExtensions that cannot be ignored even if unrecognized
                        Comments

                        There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                        Control0..*
                        TypeExtension
                        Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                        Summarytrue
                        Requirements

                        Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                        Alternate Namesextensions, user content, modifiers
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                        160. CodeSystem.concept.property.code
                        Definition

                        A code that is a reference to CodeSystem.property.code.

                        ShortReference to CodeSystem.property.code
                        Control1..1
                        Typecode
                        Is Modifierfalse
                        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                        Must Supporttrue
                        Summaryfalse
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        162. CodeSystem.concept.property.value[x]
                        Definition

                        The value of this property.

                        ShortValue of the property for this concept
                        Control1..1
                        TypeChoice of: code, Coding, string, integer, boolean, dateTime, decimal
                        [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                        Is Modifierfalse
                        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                        Must Supporttrue
                        Must Support TypesNo must-support rules about the choice of types/profiles
                        Summaryfalse
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        164. CodeSystem.concept.concept
                        Definition

                        Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) - see hierarchyMeaning.

                        ShortChild Concepts (is-a/contains/categorizes)
                        Control0..*
                        TypeSeettp://hl7.org/fhir/StructureDefinition/CodeSystem#CodeSystem.concept
                        Is Modifierfalse
                        Must Supporttrue
                        Summaryfalse
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))