PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.core@1.4.0
    http://hl7.org/fhir/StructureDefinition/CodeSystem
description: Base StructureDefinition for CodeSystem Resource
package_name: hl7.fhir.core
derivation: specialization
name: CodeSystem
type: null
elements:
  description: {short: Human language description of the code system, comments: 'The description is not intended to describe the semantics of the Code System - there are no intrinsic semantics separate from the codes contained in its expansion. The description should capture its intended use, which is needed for ensuring integrity for its use in models across future changes. A description should be provided unless the code system is a contained resource (e.g. an anonymous code system in a profile). Most registries will require a description.', type: string, isSummary: true, index: 11}
  requirements: {type: string, short: Why needed, comments: 'This element does not describe the usage of the code system (that is done in comments), rather it''s for traceability of ''''why'''' the element is either needed or ''''why'''' the constraints exist as they do.  This may be used to point to source materials or specifications that drove the structure of this data element.', index: 13}
  date: {short: Date for given status, 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.', type: dateTime, isSummary: true, index: 10}
  versionNeeded: {type: boolean, short: If 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''.', isSummary: true, index: 18}
  publisher: {short: Name of the publisher (organization or individual), comments: 'Usually an organization, but may be an individual. This item SHOULD be populated unless the information is available from context.', type: string, isSummary: true, index: 6}
  content: {type: code, short: not-present | examplar | fragment | complete, isSummary: true, index: 19}
  property:
    type: BackboneElement
    short: Additional information supplied about each concept
    isSummary: true
    array: true
    index: 26
    elements:
      code: {type: code, short: 'Identifies the property, both internally and externally', isSummary: true, index: 27}
      description: {type: string, short: 'Why the property is defined, and/or what it conveys', isSummary: true, index: 28}
      type: {type: code, short: code | Coding | string | integer | boolean | dateTime, isSummary: true, index: 29}
    required: [type, code]
  name: {short: Informal name for this code system, comments: The name is not expected to be unique. A name should be provided unless the code system is a contained resource (e.g. an anonymous code system in a profile). Most registries will require a name., type: string, isSummary: true, index: 3}
  useContext: {short: Content intends to support these contexts, type: CodeableConcept, array: true, isSummary: true, index: 12}
  copyright: {type: string, short: Use and/or publishing restrictions, comments: 'Frequently, the copyright differs between the code system and the codes that are included. The copyright statement should clearly differentiate between these when required.', index: 14}
  experimental: {short: 'If for testing purposes, not real usage', comments: Allows filtering of code systems that are appropriate for use vs. not., type: boolean, isSummary: true, index: 5}
  filter:
    type: BackboneElement
    short: Filter that can be used in a value set
    isSummary: true
    array: true
    index: 21
    elements:
      code: {type: code, short: Code that identifies the filter, isSummary: true, index: 22}
      description: {type: string, short: How or why the filter is used, isSummary: true, index: 23}
      operator: {type: code, short: Operators that can be used with filter, isSummary: true, array: true, min: 1, index: 24}
      value: {type: string, short: What to use for the value, isSummary: true, index: 25}
    required: [operator, value, code]
  compositional: {short: If code system defines a post-composition grammar, comments: 'Note that the code system resource does not define what the compositional grammar is, only whether or not there is one.', type: boolean, isSummary: true, index: 17}
  status: {isModifier: true, short: draft | active | retired, comments: Allows filtering of code system instances that are appropriate (or not) for use., type: code, isSummary: true, index: 4}
  valueSet: {type: uri, short: Canonical URL for value set with entire code system, isSummary: true, index: 16}
  count: {type: unsignedInt, short: Total 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 value.', isSummary: true, index: 20}
  url: {type: uri, short: Globally unique logical identifier for  code system (Coding.system), isSummary: true, index: 0}
  identifier: {short: Additional identifier for the code system (e.g. HL7 v2 / CDA), comments: 'Typically, this is used for values that can go in an HL7 v3 II data type.', type: Identifier, isSummary: true, index: 1}
  concept:
    short: Concepts 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.
    type: BackboneElement
    array: true
    index: 30
    elements:
      code: {type: code, short: Code that identifies concept, index: 31}
      display: {type: string, short: Text to display to the user, index: 32}
      definition: {type: string, short: Formal definition, index: 33}
      designation:
        type: BackboneElement
        short: Additional representations for the concept
        array: true
        index: 34
        elements:
          language: {type: code, short: Human language of the designation, comments: 'In the absence of a language, the resource language applies.', index: 35}
          use: {type: Coding, short: Details 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.', index: 36}
          value: {type: string, short: The text value for this designation, index: 37}
        required: [value]
      property:
        type: BackboneElement
        short: Property value for the concept
        array: true
        index: 38
        elements:
          code: {type: code, short: Reference to CodeSystem.property.code, index: 39}
          value:
            short: Value of the property for this concept
            choices: [valueCode, valueCoding, valueString, valueInteger, valueBoolean, valueDateTime]
            index: 41
          valueCode: {type: code, short: Value of the property for this concept, choiceOf: value, index: 42}
          valueCoding: {type: Coding, short: Value of the property for this concept, choiceOf: value, index: 43}
          valueString: {type: string, short: Value of the property for this concept, choiceOf: value, index: 44}
          valueInteger: {type: integer, short: Value of the property for this concept, choiceOf: value, index: 45}
          valueBoolean: {type: boolean, short: Value of the property for this concept, choiceOf: value, index: 46}
          valueDateTime: {type: dateTime, short: Value of the property for this concept, choiceOf: value, index: 47}
        required: [valueCoding, valueString, valueCode, valueDateTime, value, valueBoolean, code, valueInteger]
      concept:
        short: Child Concepts (is-a/contains/categorizes)
        elementReference: ['http://hl7.org/fhir/StructureDefinition/CodeSystem']
        array: true
        index: 48
    required: [code]
  caseSensitive: {type: boolean, short: If 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.', isSummary: true, index: 15}
  version: {short: Logical identifier for this version (Coding.version), comments: There may be multiple resource versions of the code system that have the same identifier., type: string, isSummary: true, index: 2}
  contact:
    type: BackboneElement
    short: Contact details of the publisher
    comments: May be a web site, an email address, a telephone number, etc.
    isSummary: true
    array: true
    index: 7
    elements:
      name: {type: string, short: Name of an individual to contact, comments: 'If there is no named individual, the telecom is for the organization as a whole.', isSummary: true, index: 8}
      telecom: {type: ContactPoint, short: Contact details for individual or publisher, isSummary: true, array: true, index: 9}
package_version: 1.4.0
class: resource
kind: resource
url: http://hl7.org/fhir/StructureDefinition/CodeSystem
base: http://hl7.org/fhir/StructureDefinition/DomainResource
version: null
required: [status, content]