FHIR Release 3 (STU) Current Build

4.7 4.8 Resource CodeSystem - Content

Vocabulary Work Group Maturity Level : 5 N   Trial Use Normative (from v4.0.0) Security Category : Anonymous Compartments : Not linked to any defined compartments

A code system

The CodeSystem resource specifies a set is used to declare the existence of codes drawn from one and describe a code system or more code systems. system supplement and its key properties, and optionally define a part or all of its content.

The FHIR terminology specification is based on two key concepts, originally defined in HL7 v3 Core Principles :

  • code system - declares the existence of and describes a code system or code system supplement and its key properties, and optionally defines a set part or all of codes with meanings (also its content. Also known as enumeration, terminology, classification, and/or ontology) Ontology, Terminology, or Enumeration
  • value set - selects specifies a set of codes drawn from those defined by one or more code systems systems, intended for use in a particular context. Value sets link between CodeSystem definitions and their use in coded elements

Code systems define which codes (symbols and/or expressions) exist, and how they are understood. Value Sets sets select a set of codes from one or more code systems to specify which codes can be used in a particular context.

The CodeSystem resource is used to declare the existence of a code system, and its key properties:

  • Identifying URL and version
  • Description, Copyright, publication date, and other metadata
  • Some key properties of the code system itself - e.g. whether it's case sensitive, version safe, and it exhibits concept permanence, whether it defines a compositional grammar grammar, and whether the codes that it defines are case sensitive
  • What filters can be used in value sets that use the code system in a ValueSet.compose element
  • What concept properties the concepts are defined by the code system

In addition, the CodeSystem resource may list some or all of the concepts in the code system, along with their basic properties (code, display, definition), designations, and additional properties. Code System resources may also be used to define supplements, which extend an existing code system with additional designations and properties.

The CodeSystem resource is not intended to support the process of maintaining a code system. systems. Instead, the focus is on publishing the properties and optionally the content of a code system for use throughout the FHIR eco-system, such as to support value set expansion and validation. Note that the important existing (large) code systems (SNOMED CT, LOINC, RxNorm, ICD family, etc) etc.) all have their own maintenance systems and distribution formats, and there is no intent that the CodeSystem resource be used for distributing these kind of terminologies. Instead, it is intended generally not an efficient way to be distribute their content, though it is used for distributing as one way of declaring the smaller ad-hoc filters and properties associated with those code systems that are ubiqutiously encountered through out the healthcare process. systems.

  • Code systems are used in ValueSet resources
  • The Coding data type refers to CodeSystem resources by their canonical URL
  • The CodeSystem resource design is based based, in part, on the code system functionality described in the OMG HL7 CTS 2 specification. CodeSystem resources A CTS2 server can be converted used to CTS2 maintain code systems which are then published using the CodeSystem resource
  • The CodeSystem resource documents the inherent structure and capabilities of code system, whereas the TerminologyCapabilities resource documents what a server hosting the code system resources. is capable of

The CodeSystem resource defines declares the content existence of a code system, system and also its key properties including its preferred identifier. The NamingSystem resource identifies the existence of a code or identifier system, and its possible and preferred identifiers. The key difference between the resources is who creates and manages them - CodeSystem resources are managed by the owner or publisher of the code system resource, system, who can properly define the code system features and content of the code system. content. NamingSystem resources, on the other hand, are frequently defined by 3rd parties that encounter the code system in use, and need to describe the use, but do not have the authority to define the features and content. Additionally, there may be multiple authoritative NamingSystem resources for a code systemn, system, but ideally there should only would be only one authoritative CodeSystem resource. resource (identified by its canonical URL) that is provided by the code system publisher, with multiple copies distributed on additional FHIR servers or elsewhere and used where needed.

Both Code System supplements and Concept Maps may be used to define relationships between concepts in different systems. ConceptMaps are assertions of the relationships between different concepts that are associated with particular contexts of use, while CodeSystem supplements are used to define inherent properties and semantics of the concepts in the code system

When using code systems and value sets, proper differentiation between a code system and a value set is important. This is one very common area where significant clinical safety risks occur in practice. Implementers should be familiar with the content in Using Codes in resources Resources .

Each A code system has 2 different URLs that three identifiers. The first two can be used to reference it - its logical identifier, and its location. the code system in the FHIR context:

  • CodeSystem.id : The location of logical id on the code system that holds the CodeSystem resource instance - this typically is expected to change as the resource moves from server to server. The location URI is constructed by appending the logical id to the server base address where the instance is found and the resource type. This URI should be a resolvable URL by which it the resource instance may be retrieved, usually from a FHIR server, and it may be a relative reference typically to a the server base URL.
  • CodeSystem.url : The canonical URL that never changes for this code system on - it is the same server. in every copy. The logical identifier element is in named url rather than uri for legacy reasons and to strongly encourage providing a resolvable URL as the code system itself, in CodeSystem.url . identifier whenever possible. This is the logical identity (sometimes called the canonical URL) that refers URL is used to refer to all instances of this particular code system across all servers and systems. Ideally, the URL this URI should also be a URL which resolves to the location of the master version of the code system, though this is not always possible.

For example, the code systems published as part of the FHIR specification all have a logical URL which is also a location by ("literal") URI which is the URL where they may be accessed in the FHIR specification itself. However, while a new version of the FHIR Specification specification is being prepared, code systems that are published in the drafts will not be found in the current FHIR specification. specification version.

Because it is common practice to copy (cache) code systems locally, most references to code systems can be use either a logical the canonical URL or a literal the location ("literal") URL.

4.7.3.1 CodeSystem Identification

A code system has 3 identifiers: CodeSystem.id : the logical id on the system that holds the The third code system - this changes as it moves from server to server (this id, with the server address prepended, identifier is called the 'literal identity' of the resource) CodeSystem.url : the canonical URL that never changes used typically for this external references to the code system - it is the same in every copy. Ideally, the URL should also be the location of the master version outside of the code system, though this is not always possible FHIR:

  • CodeSystem.identifier : A system/value pair that is used to identify the code system in other contexts (such as an OID in an HL7 v3 specification)

For further information regarding resource identification, see Resource Identity .

This means that each code system has 2 different URLs URIs that can be used to reference it - its canonical URL (the url , element), and its local location from which it may be retrieved. retrieved (which includes the id element). Because it is common practice to copy (cache) code systems locally, most references to code systems use the canonical URL.

For example, the code systems published as part of FHIR all have a canonical URL which is also a location by which they may be accessed in the FHIR specification itself. Note, though, that while a new version of the FHIR Specification is being prepared, code systems that are published in the drafts will not be found in the published FHIR specification at their canonical URL.

Alternatively, the identifier and version elements may be used to reference this code system in a design, a profile, a CDA template or HL7 v3 message (in the CD data type codeSystem and codeSystemVersion properties). These different contexts may make additional restrictions on the possible values of these elements. The identifier is generally not needed when using code systems in a FHIR context, where the canonical URL is always the focus.

This resource is referenced by Coding , itself, ConceptMap , TerminologyCapabilities and ValueSet

Structure

Name Flags Card. Type Description & Constraints doco
. . CodeSystem I N DomainResource A set Declares the existence of codes drawn from one and describes a code system or more code systems system supplement
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation
+ Rule: Within a code system definition, all the codes SHALL be unique
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . url Σ 0..1 uri Logical URI to reference Canonical identifier for this code system system, represented as a URI (globally unique) (Coding.system)
. . . identifier Σ 0..1 0..* Identifier Additional identifier for the code system (business identifier)
. . . version Σ 0..1 string Business version of the code system (Coding.version)
. . . name Σ I 0..1 string Name for this code system (computer friendly)
. . . title Σ 0..1 string Name for this code system (human friendly)
. . . status ?! Σ 1..1 code draft | active | retired | unknown
PublicationStatus ( Required )
. . . experimental ?! Σ 0..1 boolean For testing purposes, not real usage
. . . date Σ 0..1 dateTime Date this was last changed
. . . publisher Σ 0..1 string Name of the publisher (organization or individual)
. . . contact Σ 0..* ContactDetail Contact details for the publisher
. . . description 0..1 markdown Natural language description of the code system
. . . useContext Σ TU 0..* UsageContext Context The context that the content is intended to support
. . . jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for code system (if applicable)
Jurisdiction ValueSet ( Extensible )
. . . purpose 0..1 markdown Why this code system is defined
. . . copyright 0..1 markdown Use and/or publishing restrictions
. . . caseSensitive Σ 0..1 boolean If code comparison is case sensitive
. . . valueSet Σ 0..1 uri canonical ( ValueSet ) Canonical URL for reference to the value set with entire code system
. . . hierarchyMeaning Σ 0..1 code grouped-by | is-a | part-of | classified-with
CodeSystemHierarchyMeaning ( Required )
. . . compositional Σ 0..1 boolean If code system defines a post-composition compositional grammar
. . . versionNeeded Σ 0..1 boolean If definitions are not stable
. . . content Σ 1..1 code not-present | example | fragment | complete | supplement
CodeSystemContentMode ( Required )
. . . supplements Σ 0..1 canonical ( CodeSystem ) Canonical URL of Code System this adds designations and properties to
.. . count Σ 0..1 unsignedInt Total concepts in the code system
. . . filter Σ 0..* BackboneElement Filter that can be used in a value set
. . . . code Σ 1..1 code Code that identifies the filter
. . . . description Σ 0..1 string How or why the filter is used
. . . . operator Σ 1..* code Operators that can be used with filter
FilterOperator ( Required )
. . . . value Σ 1..1 string What to use for the value
. . . property Σ 0..* BackboneElement Additional information supplied about each concept
. . . . code Σ 1..1 code Identifies the property on the concepts, and when referred to in operations
. . . . uri Σ 0..1 uri Formal identifier for the property
. . . . description Σ 0..1 string Why the property is defined, and/or what it conveys
. . . . type Σ 1..1 code code | Coding | string | integer | boolean | dateTime | decimal
PropertyType ( Required )
. . . concept 0..* BackboneElement Concepts in the code system
. . . . code 1..1 code Code that identifies concept
. . . . display 0..1 string Text to display to the user
. . . . definition 0..1 string Formal definition
. . . . designation 0..* BackboneElement Additional representations for the concept
. . . . . language 0..1 code Human language of the designation
Common Languages ( Extensible Preferred but limited to All Languages AllLanguages )
. . . . . use 0..1 Coding Details how this designation would be used
Designation Use ( Extensible )
. . . . . value 1..1 string The text value for this designation
. . . . property 0..* BackboneElement Property value for the concept
. . . . . code 1..1 code Reference to CodeSystem.property.code
. . . . . value[x] 1..1 Value of the property for this concept
. . . . . . valueCode code
. . . . . . valueCoding Coding
. . . . . . valueString string
. . . . . . valueInteger integer
. . . . . . valueBoolean boolean
. . . . . . valueDateTime dateTime
. . . . . . valueDecimal decimal
. . . . concept 0..* see concept Child Concepts (is-a/contains/categorizes)

doco Documentation for this format

UML Diagram ( Legend )

CodeSystem ( DomainResource ) An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance. instance; also called its canonical identifier. This SHALL be a URL, SHOULD be globally unique, unique and SHOULD be an a literal address at which at which an authoritative instance of this code system is (or will be) published. The This URL SHOULD include can be the major version target of a canonical reference. It SHALL remain the same when the code system. For more information see [Technical and Business Versions](resource.html#versions). system is stored on different servers. This is used in [Coding]{datatypes.html#Coding}.system [Coding](datatypes.html#Coding).system url : uri [0..1] 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 identifier : Identifier [0..1] [0..*] 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]{datatypes.html#Coding}.version [Coding](datatypes.html#Coding).version version : string [0..1] 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 name : string [0..1] A short, descriptive, user-friendly title for the code system title : string [0..1] The status of this code system. Enables tracking the life-cycle of date (and optionally time) when the content code system resource was created or revised (this element modifies the meaning of other elements) status : code [1..1] « The lifecycle status of a Value Set or Concept Map. an artifact. (Strength=Required) PublicationStatus ! » A boolean Boolean value to indicate that this code system is authored for testing purposes (or education/evaluation/marketing), education/evaluation/marketing) and is not intended to be used for genuine usage (this element modifies the meaning of other elements) experimental : boolean [0..1] The date (and optionally time) when the code system was published. The date must change if and 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 date : dateTime [0..1] The name of the individual or organization or individual that published the code system publisher : string [0..1] Contact details to assist a user in finding and communicating with the publisher contact : ContactDetail [0..*] A free text natural language description of the code system from a consumer's perspective description : markdown [0..1] The content was developed with a focus and intent of supporting the contexts that are listed. These terms 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 useContext : UsageContext [0..*] A legal or geographic region in which the code system is intended to be used jurisdiction : CodeableConcept [0..*] « Countries and regions within which this artifact is targeted for use use. (Strength=Extensible) Jurisdiction ValueSet + » Explaination Explanation of why this code system is needed and why it has been designed as it has purpose : markdown [0..1] 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 copyright : markdown [0..1] If code comparison is case sensitive when codes within this system are compared to each other caseSensitive : boolean [0..1] Canonical URL of reference to the value set that contains the entire code system valueSet : uri canonical [0..1] « ValueSet » The meaning of the hierarchy of concepts as represented in this resource hierarchyMeaning : code [0..1] « The meaning of the hierarchy of concepts in a code system system. (Strength=Required) CodeSystemHierarchyMeaning ! » True If The code system defines a post-composition compositional (post-coordination) grammar compositional : boolean [0..1] This flag is used to signify that the code system has not (or does not) maintain the definitions, and not commit to concept permanence across versions. If true, a version must be specified when referencing this code system versionNeeded : boolean [0..1] How much The extent of the content of the code system - the (the concepts and codes it defines - defines) are represented in this resource instance content : code [1..1] « How much The extent of the content of the code system - the (the concepts and codes it defines - defines) are represented in a code system resource resource. (Strength=Required) CodeSystemContentMode ! » The canonical URL of the code system that this code system supplement is adding designations and properties to supplements : canonical [0..1] « CodeSystem » The total number of concepts defined by the code system. Where the code system has a compositional grammar, the basis of this count refers to is defined by the number of base (primitive) concepts system steward count : unsignedInt [0..1] Filter The code that identifies this filter when it is used as a filter in the instance [[[ValueSet]]].compose.include.filter code : code [1..1] A description of how or why the filter is used description : string [0..1] A list of operators that can be used with the filter operator : code [1..*] « The kind of operation to perform as a part of a property based filter. (Strength=Required) FilterOperator ! » A description of what the value for the filter should be value : string [1..1] Property 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 code : code [1..1] Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system uri : uri [0..1] A description of the property- why it is defined, and how its value might be used description : string [0..1] The type of the property value. Properties of type "code" contain a code defined by the code system (e.g. a reference to anotherr another defined concept) type : code [1..1] « The type of a property value value. (Strength=Required) PropertyType ! » ConceptDefinition A code - a text symbol - that uniquely identifies the concept within the code system code : code [1..1] A human readable string that is the recommended default way to present this concept to a user display : string [0..1] 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 definition : string [0..1] Designation The language this designation is defined for language : code [0..1] « A human language. (Strength=Extensible) (Strength=Preferred) Common Languages CommonLanguages + ? » A code that details how this designation would be used use : Coding [0..1] « Details of how a designation would be used. (Strength=Extensible) Designation Use DesignationUse + » The text value for this designation value : string [1..1] ConceptProperty A code that is a reference to CodeSystem.property.code code : code [1..1] The value of this property value[x] : Type [1..1] « code | Coding | string | integer | boolean | dateTime | decimal » A filter that can be used in a value set compose statement when selecting concepts using a filter filter [0..*] A property defines an additional slot through which additional information can be provided about a concept property [0..*] Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc designation [0..*] A property value for this concept property [0..*] Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) - see hierarchyMeaning concept [0..*] Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meaning meanings of the hierarchical relationships are concept [0..*]

XML Template

<CodeSystem xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <
 <</identifier>
 <
 <

 <url value="[uri]"/><!-- 0..1 Canonical identifier for this code system, represented as a URI (globally unique) (Coding.system) -->
 <identifier><!-- 0..* Identifier Additional identifier for the code system (business identifier) --></identifier>
 <version value="[string]"/><!-- 0..1 Business version of the code system (Coding.version) -->
 <name value="[string]"/><!-- ?? 0..1 Name for this code system (computer friendly) -->

 <title value="[string]"/><!-- 0..1 Name for this code system (human friendly) -->
 <
 <
 <
 <

 <status value="[code]"/><!-- 1..1 draft | active | retired | unknown -->
 <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->
 <date value="[dateTime]"/><!-- 0..1 Date last changed -->
 <publisher value="[string]"/><!-- 0..1 Name of the publisher (organization or individual) -->

 <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact>
 <description value="[markdown]"/><!-- 0..1 Natural language description of the code system -->
 <</useContext>

 <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext>

 <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for code system (if applicable) --></jurisdiction>
 <

 <purpose value="[markdown]"/><!-- 0..1 Why this code system is defined -->

 <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions -->
 <caseSensitive value="[boolean]"/><!-- 0..1 If code comparison is case sensitive -->
 <
 <
 <
 <
 <
 <

 <valueSet><!-- 0..1 canonical(ValueSet) Canonical reference to the value set with entire code system --></valueSet>
 <hierarchyMeaning value="[code]"/><!-- 0..1 grouped-by | is-a | part-of | classified-with -->
 <compositional value="[boolean]"/><!-- 0..1 If code system defines a compositional grammar -->
 <versionNeeded value="[boolean]"/><!-- 0..1 If definitions are not stable -->
 <content value="[code]"/><!-- 1..1 not-present | example | fragment | complete | supplement -->
 <supplements><!-- 0..1 canonical(CodeSystem) Canonical URL of Code System this adds designations and properties to --></supplements>
 <count value="[unsignedInt]"/><!-- 0..1 Total concepts in the code system -->

 <filter>  <!-- 0..* Filter that can be used in a value set -->
  <

  <code value="[code]"/><!-- 1..1 Code that identifies the filter -->

  <description value="[string]"/><!-- 0..1 How or why the filter is used -->
  <operator value="[code]"/><!-- 1..* Operators that can be used with filter -->
  <value value="[string]"/><!-- 1..1 What to use for the value -->
 </filter>
 <property>  <!-- 0..* Additional information supplied about each concept -->
  <code value="[code]"/><!-- 1..1 Identifies the property on the concepts, and when referred to in operations -->
  <uri value="[uri]"/><!-- 0..1 Formal identifier for the property -->
  <description value="[string]"/><!-- 0..1 Why the property is defined, and/or what it conveys -->
  <

  <type value="[code]"/><!-- 1..1 code | Coding | string | integer | boolean | dateTime | decimal -->

 </property>
 <

 <concept>  <!-- 0..* Concepts in the code system -->

  <code value="[code]"/><!-- 1..1 Code that identifies concept -->
  <display value="[string]"/><!-- 0..1 Text to display to the user -->
  <definition value="[string]"/><!-- 0..1 Formal definition -->
  <designation>  <!-- 0..* Additional representations for the concept -->
   <language value="[code]"/><!-- 0..1 Human language of the designation -->
   <use><!-- 0..1 Coding Details how this designation would be used --></use>
   <value value="[string]"/><!-- 1..1 The text value for this designation -->
  </designation>
  <property>  <!-- 0..* Property value for the concept -->
   <code value="[code]"/><!-- 1..1 Reference to CodeSystem.property.code -->
   <</value[x]>

   <value[x]><!-- 1..1 code|Coding|string|integer|boolean|dateTime|decimal Value of the property for this concept --></value[x]>

  </property>
  <concept><!-- 0..* Content as for CodeSystem.concept Child Concepts (is-a/contains/categorizes) --></concept>
 </concept>
</CodeSystem>

JSON Template

{doco
  "resourceType" : "",

  "resourceType" : "CodeSystem",

  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "
  "
  "
  "

  "url" : "<uri>", // Canonical identifier for this code system, represented as a URI (globally unique) (Coding.system)
  "identifier" : [{ Identifier }], // Additional identifier for the code system (business identifier)
  "version" : "<string>", // Business version of the code system (Coding.version)
  "name" : "<string>", // C? Name for this code system (computer friendly)

  "title" : "<string>", // Name for this code system (human friendly)
  "
  "
  "
  "

  "status" : "<code>", // R!  draft | active | retired | unknown
  "experimental" : <boolean>, // For testing purposes, not real usage
  "date" : "<dateTime>", // Date last changed
  "publisher" : "<string>", // Name of the publisher (organization or individual)

  "contact" : [{ ContactDetail }], // Contact details for the publisher
  "description" : "<markdown>", // Natural language description of the code system
  "

  "useContext" : [{ UsageContext }], // The context that the content is intended to support

  "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for code system (if applicable)
  "

  "purpose" : "<markdown>", // Why this code system is defined

  "copyright" : "<markdown>", // Use and/or publishing restrictions
  "caseSensitive" : <boolean>, // If code comparison is case sensitive
  "
  "
  "
  "
  "
  "

  "valueSet" : { canonical(ValueSet) }, // Canonical reference to the value set with entire code system
  "hierarchyMeaning" : "<code>", // grouped-by | is-a | part-of | classified-with
  "compositional" : <boolean>, // If code system defines a compositional grammar
  "versionNeeded" : <boolean>, // If definitions are not stable
  "content" : "<code>", // R!  not-present | example | fragment | complete | supplement
  "supplements" : { canonical(CodeSystem) }, // Canonical URL of Code System this adds designations and properties to
  "count" : "<unsignedInt>", // Total concepts in the code system

  "filter" : [{ // Filter that can be used in a value set
    "

    "code" : "<code>", // R!  Code that identifies the filter

    "description" : "<string>", // How or why the filter is used
    "operator" : ["<code>"], // R!  Operators that can be used with filter
    "value" : "<string>" // R!  What to use for the value
  }],
  "property" : [{ // Additional information supplied about each concept
    "code" : "<code>", // R!  Identifies the property on the concepts, and when referred to in operations
    "uri" : "<uri>", // Formal identifier for the property
    "description" : "<string>", // Why the property is defined, and/or what it conveys
    "

    "type" : "<code>" // R!  code | Coding | string | integer | boolean | dateTime | decimal

  }],
  "

  "concept" : [{ // Concepts in the code system

    "code" : "<code>", // R!  Code that identifies concept
    "display" : "<string>", // Text to display to the user
    "definition" : "<string>", // Formal definition
    "designation" : [{ // Additional representations for the concept
      "language" : "<code>", // Human language of the designation
      "use" : { Coding }, // Details how this designation would be used
      "value" : "<string>" // R!  The text value for this designation
    }],
    "property" : [{ // Property value for the concept
      "code" : "<code>", // R!  Reference to CodeSystem.property.code
      

      // value[x]: Value of the property for this concept. One of these 7:
      "valueCode" : "<code>"
      "valueCoding" : { Coding }
      "valueString" : "<string>"
      "valueInteger" : <integer>
      "valueBoolean" : <boolean>
      "valueDateTime" : "<dateTime>"
      "valueDecimal" : <decimal>

    }],
    "concept" : [{ Content as for CodeSystem.concept }] // Child Concepts (is-a/contains/categorizes)
  }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco
[ a fhir:;

[ a fhir:CodeSystem;

  fhir:nodeRole fhir:treeRoot; # if this is the parser root
  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:
  fhir:
  fhir:

  fhir:CodeSystem.url [ uri ]; # 0..1 Canonical identifier for this code system, represented as a URI (globally unique) (Coding.system)
  fhir:CodeSystem.identifier [ Identifier ], ... ; # 0..* Additional identifier for the code system (business identifier)
  fhir:CodeSystem.version [ string ]; # 0..1 Business version of the code system (Coding.version)

  fhir:CodeSystem.name [ string ]; # 0..1 Name for this code system (computer friendly)
  fhir:CodeSystem.title [ string ]; # 0..1 Name for this code system (human friendly)
  fhir:
  fhir:
  fhir:
  fhir:

  fhir:CodeSystem.status [ code ]; # 1..1 draft | active | retired | unknown
  fhir:CodeSystem.experimental [ boolean ]; # 0..1 For testing purposes, not real usage
  fhir:CodeSystem.date [ dateTime ]; # 0..1 Date last changed
  fhir:CodeSystem.publisher [ string ]; # 0..1 Name of the publisher (organization or individual)

  fhir:CodeSystem.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher
  fhir:CodeSystem.description [ markdown ]; # 0..1 Natural language description of the code system
  fhir:

  fhir:CodeSystem.useContext [ UsageContext ], ... ; # 0..* The context that the content is intended to support

  fhir:CodeSystem.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for code system (if applicable)
  fhir:

  fhir:CodeSystem.purpose [ markdown ]; # 0..1 Why this code system is defined

  fhir:CodeSystem.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions
  fhir:CodeSystem.caseSensitive [ boolean ]; # 0..1 If code comparison is case sensitive
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:

  fhir:CodeSystem.valueSet [ canonical(ValueSet) ]; # 0..1 Canonical reference to the value set with entire code system
  fhir:CodeSystem.hierarchyMeaning [ code ]; # 0..1 grouped-by | is-a | part-of | classified-with
  fhir:CodeSystem.compositional [ boolean ]; # 0..1 If code system defines a compositional grammar
  fhir:CodeSystem.versionNeeded [ boolean ]; # 0..1 If definitions are not stable
  fhir:CodeSystem.content [ code ]; # 1..1 not-present | example | fragment | complete | supplement
  fhir:CodeSystem.supplements [ canonical(CodeSystem) ]; # 0..1 Canonical URL of Code System this adds designations and properties to
  fhir:CodeSystem.count [ unsignedInt ]; # 0..1 Total concepts in the code system

  fhir:CodeSystem.filter [ # 0..* Filter that can be used in a value set
    fhir:

    fhir:CodeSystem.filter.code [ code ]; # 1..1 Code that identifies the filter

    fhir:CodeSystem.filter.description [ string ]; # 0..1 How or why the filter is used
    fhir:CodeSystem.filter.operator [ code ], ... ; # 1..* Operators that can be used with filter
    fhir:CodeSystem.filter.value [ string ]; # 1..1 What to use for the value
  ], ...;
  fhir:CodeSystem.property [ # 0..* Additional information supplied about each concept
    fhir:CodeSystem.property.code [ code ]; # 1..1 Identifies the property on the concepts, and when referred to in operations
    fhir:CodeSystem.property.uri [ uri ]; # 0..1 Formal identifier for the property
    fhir:CodeSystem.property.description [ string ]; # 0..1 Why the property is defined, and/or what it conveys
    fhir:

    fhir:CodeSystem.property.type [ code ]; # 1..1 code | Coding | string | integer | boolean | dateTime | decimal

  ], ...;
  fhir:

  fhir:CodeSystem.concept [ # 0..* Concepts in the code system

    fhir:CodeSystem.concept.code [ code ]; # 1..1 Code that identifies concept
    fhir:CodeSystem.concept.display [ string ]; # 0..1 Text to display to the user
    fhir:CodeSystem.concept.definition [ string ]; # 0..1 Formal definition
    fhir:CodeSystem.concept.designation [ # 0..* Additional representations for the concept
      fhir:CodeSystem.concept.designation.language [ code ]; # 0..1 Human language of the designation
      fhir:CodeSystem.concept.designation.use [ Coding ]; # 0..1 Details how this designation would be used
      fhir:CodeSystem.concept.designation.value [ string ]; # 1..1 The text value for this designation
    ], ...;
    fhir:CodeSystem.concept.property [ # 0..* Property value for the concept
      fhir:CodeSystem.concept.property.code [ code ]; # 1..1 Reference to CodeSystem.property.code
      # . One of these 6

      # CodeSystem.concept.property.value[x] : 1..1 Value of the property for this concept. One of these 7

        fhir:CodeSystem.concept.property.valueCode [ code ]
        fhir:CodeSystem.concept.property.valueCoding [ Coding ]
        fhir:CodeSystem.concept.property.valueString [ string ]
        fhir:CodeSystem.concept.property.valueInteger [ integer ]
        fhir:CodeSystem.concept.property.valueBoolean [ boolean ]
        fhir:CodeSystem.concept.property.valueDateTime [ dateTime ]
        fhir:CodeSystem.concept.property.valueDecimal [ decimal ]

    ], ...;
    fhir:CodeSystem.concept.concept [ See CodeSystem.concept ], ... ; # 0..* Child Concepts (is-a/contains/categorizes)
  ], ...;
]

Changes since DSTU2 R3

CodeSystem
CodeSystem.identifier
  • Max Cardinality changed from 1 to *
CodeSystem.status
  • Change value set from http://hl7.org/fhir/ValueSet/publication-status to http://hl7.org/fhir/ValueSet/publication-status|4.0.0
CodeSystem.experimental
  • No longer marked as Modifier
CodeSystem.valueSet
  • Type changed from uri to canonical(ValueSet)
CodeSystem.hierarchyMeaning
  • Change value set from http://hl7.org/fhir/ValueSet/codesystem-hierarchy-meaning to http://hl7.org/fhir/ValueSet/codesystem-hierarchy-meaning|4.0.0
CodeSystem.content
  • Change value set from http://hl7.org/fhir/ValueSet/codesystem-content-mode to http://hl7.org/fhir/ValueSet/codesystem-content-mode|4.0.0
CodeSystem.supplements
  • Added Element
CodeSystem.filter.operator
  • Change value set from http://hl7.org/fhir/ValueSet/filter-operator to http://hl7.org/fhir/ValueSet/filter-operator|4.0.0
CodeSystem.property.type
  • Change value set from http://hl7.org/fhir/ValueSet/concept-property-type to http://hl7.org/fhir/ValueSet/concept-property-type|4.0.0
CodeSystem.concept.designation.language
  • Change binding strength from extensible to preferred
CodeSystem.concept.property.value[x]
  • Add Type decimal

This resource did not exist in Release 2 See the Full Difference for further information

This analysis is available as XML or JSON .

See R3 <--> R4 Conversion Maps (status = 4 tests that all execute ok. All tests pass round-trip testing and 3 r3 resources are invalid (0 errors). )

Structure

Name Flags Card. Type Description & Constraints doco
. . CodeSystem I N DomainResource A set Declares the existence of codes drawn from one and describes a code system or more code systems system supplement
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation
+ Rule: Within a code system definition, all the codes SHALL be unique
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . url Σ 0..1 uri Logical URI to reference Canonical identifier for this code system system, represented as a URI (globally unique) (Coding.system)
. . . identifier Σ 0..1 0..* Identifier Additional identifier for the code system (business identifier)
. . . version Σ 0..1 string Business version of the code system (Coding.version)
. . . name Σ I 0..1 string Name for this code system (computer friendly)
. . . title Σ 0..1 string Name for this code system (human friendly)
. . . status ?! Σ 1..1 code draft | active | retired | unknown
PublicationStatus ( Required )
. . . experimental ?! Σ 0..1 boolean For testing purposes, not real usage
. . . date Σ 0..1 dateTime Date this was last changed
. . . publisher Σ 0..1 string Name of the publisher (organization or individual)
. . . contact Σ 0..* ContactDetail Contact details for the publisher
. . . description 0..1 markdown Natural language description of the code system
. . . useContext Σ TU 0..* UsageContext Context The context that the content is intended to support
. . . jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for code system (if applicable)
Jurisdiction ValueSet ( Extensible )
. . . purpose 0..1 markdown Why this code system is defined
. . . copyright 0..1 markdown Use and/or publishing restrictions
. . . caseSensitive Σ 0..1 boolean If code comparison is case sensitive
. . . valueSet Σ 0..1 uri canonical ( ValueSet ) Canonical URL for reference to the value set with entire code system
. . . hierarchyMeaning Σ 0..1 code grouped-by | is-a | part-of | classified-with
CodeSystemHierarchyMeaning ( Required )
. . . compositional Σ 0..1 boolean If code system defines a post-composition compositional grammar
. . . versionNeeded Σ 0..1 boolean If definitions are not stable
. . . content Σ 1..1 code not-present | example | fragment | complete | supplement
CodeSystemContentMode ( Required )
. . . supplements Σ 0..1 canonical ( CodeSystem ) Canonical URL of Code System this adds designations and properties to
.. . count Σ 0..1 unsignedInt Total concepts in the code system
. . . filter Σ 0..* BackboneElement Filter that can be used in a value set
. . . . code Σ 1..1 code Code that identifies the filter
. . . . description Σ 0..1 string How or why the filter is used
. . . . operator Σ 1..* code Operators that can be used with filter
FilterOperator ( Required )
. . . . value Σ 1..1 string What to use for the value
. . . property Σ 0..* BackboneElement Additional information supplied about each concept
. . . . code Σ 1..1 code Identifies the property on the concepts, and when referred to in operations
. . . . uri Σ 0..1 uri Formal identifier for the property
. . . . description Σ 0..1 string Why the property is defined, and/or what it conveys
. . . . type Σ 1..1 code code | Coding | string | integer | boolean | dateTime | decimal
PropertyType ( Required )
. . . concept 0..* BackboneElement Concepts in the code system
. . . . code 1..1 code Code that identifies concept
. . . . display 0..1 string Text to display to the user
. . . . definition 0..1 string Formal definition
. . . . designation 0..* BackboneElement Additional representations for the concept
. . . . . language 0..1 code Human language of the designation
Common Languages ( Extensible Preferred but limited to All Languages AllLanguages )
. . . . . use 0..1 Coding Details how this designation would be used
Designation Use ( Extensible )
. . . . . value 1..1 string The text value for this designation
. . . . property 0..* BackboneElement Property value for the concept
. . . . . code 1..1 code Reference to CodeSystem.property.code
. . . . . value[x] 1..1 Value of the property for this concept
. . . . . . valueCode code
. . . . . . valueCoding Coding
. . . . . . valueString string
. . . . . . valueInteger integer
. . . . . . valueBoolean boolean
. . . . . . valueDateTime dateTime
. . . . . . valueDecimal decimal
. . . . concept 0..* see concept Child Concepts (is-a/contains/categorizes)

doco Documentation for this format

UML Diagram ( Legend )

CodeSystem ( DomainResource ) An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance. instance; also called its canonical identifier. This SHALL be a URL, SHOULD be globally unique, unique and SHOULD be an a literal address at which at which an authoritative instance of this code system is (or will be) published. The This URL SHOULD include can be the major version target of a canonical reference. It SHALL remain the same when the code system. For more information see [Technical and Business Versions](resource.html#versions). system is stored on different servers. This is used in [Coding]{datatypes.html#Coding}.system [Coding](datatypes.html#Coding).system url : uri [0..1] 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 identifier : Identifier [0..1] [0..*] 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]{datatypes.html#Coding}.version [Coding](datatypes.html#Coding).version version : string [0..1] 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 name : string [0..1] A short, descriptive, user-friendly title for the code system title : string [0..1] The status of this code system. Enables tracking the life-cycle of date (and optionally time) when the content code system resource was created or revised (this element modifies the meaning of other elements) status : code [1..1] « The lifecycle status of a Value Set or Concept Map. an artifact. (Strength=Required) PublicationStatus ! » A boolean Boolean value to indicate that this code system is authored for testing purposes (or education/evaluation/marketing), education/evaluation/marketing) and is not intended to be used for genuine usage (this element modifies the meaning of other elements) experimental : boolean [0..1] The date (and optionally time) when the code system was published. The date must change if and 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 date : dateTime [0..1] The name of the individual or organization or individual that published the code system publisher : string [0..1] Contact details to assist a user in finding and communicating with the publisher contact : ContactDetail [0..*] A free text natural language description of the code system from a consumer's perspective description : markdown [0..1] The content was developed with a focus and intent of supporting the contexts that are listed. These terms 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 useContext : UsageContext [0..*] A legal or geographic region in which the code system is intended to be used jurisdiction : CodeableConcept [0..*] « Countries and regions within which this artifact is targeted for use use. (Strength=Extensible) Jurisdiction ValueSet + » Explaination Explanation of why this code system is needed and why it has been designed as it has purpose : markdown [0..1] 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 copyright : markdown [0..1] If code comparison is case sensitive when codes within this system are compared to each other caseSensitive : boolean [0..1] Canonical URL of reference to the value set that contains the entire code system valueSet : uri canonical [0..1] « ValueSet » The meaning of the hierarchy of concepts as represented in this resource hierarchyMeaning : code [0..1] « The meaning of the hierarchy of concepts in a code system system. (Strength=Required) CodeSystemHierarchyMeaning ! » True If The code system defines a post-composition compositional (post-coordination) grammar compositional : boolean [0..1] This flag is used to signify that the code system has not (or does not) maintain the definitions, and not commit to concept permanence across versions. If true, a version must be specified when referencing this code system versionNeeded : boolean [0..1] How much The extent of the content of the code system - the (the concepts and codes it defines - defines) are represented in this resource instance content : code [1..1] « How much The extent of the content of the code system - the (the concepts and codes it defines - defines) are represented in a code system resource resource. (Strength=Required) CodeSystemContentMode ! » The canonical URL of the code system that this code system supplement is adding designations and properties to supplements : canonical [0..1] « CodeSystem » The total number of concepts defined by the code system. Where the code system has a compositional grammar, the basis of this count refers to is defined by the number of base (primitive) concepts system steward count : unsignedInt [0..1] Filter The code that identifies this filter when it is used as a filter in the instance [[[ValueSet]]].compose.include.filter code : code [1..1] A description of how or why the filter is used description : string [0..1] A list of operators that can be used with the filter operator : code [1..*] « The kind of operation to perform as a part of a property based filter. (Strength=Required) FilterOperator ! » A description of what the value for the filter should be value : string [1..1] Property 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 code : code [1..1] Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system uri : uri [0..1] A description of the property- why it is defined, and how its value might be used description : string [0..1] The type of the property value. Properties of type "code" contain a code defined by the code system (e.g. a reference to anotherr another defined concept) type : code [1..1] « The type of a property value value. (Strength=Required) PropertyType ! » ConceptDefinition A code - a text symbol - that uniquely identifies the concept within the code system code : code [1..1] A human readable string that is the recommended default way to present this concept to a user display : string [0..1] 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 definition : string [0..1] Designation The language this designation is defined for language : code [0..1] « A human language. (Strength=Extensible) (Strength=Preferred) Common Languages CommonLanguages + ? » A code that details how this designation would be used use : Coding [0..1] « Details of how a designation would be used. (Strength=Extensible) Designation Use DesignationUse + » The text value for this designation value : string [1..1] ConceptProperty A code that is a reference to CodeSystem.property.code code : code [1..1] The value of this property value[x] : Type [1..1] « code | Coding | string | integer | boolean | dateTime | decimal » A filter that can be used in a value set compose statement when selecting concepts using a filter filter [0..*] A property defines an additional slot through which additional information can be provided about a concept property [0..*] Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc designation [0..*] A property value for this concept property [0..*] Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) - see hierarchyMeaning concept [0..*] Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meaning meanings of the hierarchical relationships are concept [0..*]

XML Template

<CodeSystem xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <
 <</identifier>
 <
 <

 <url value="[uri]"/><!-- 0..1 Canonical identifier for this code system, represented as a URI (globally unique) (Coding.system) -->
 <identifier><!-- 0..* Identifier Additional identifier for the code system (business identifier) --></identifier>
 <version value="[string]"/><!-- 0..1 Business version of the code system (Coding.version) -->
 <name value="[string]"/><!-- ?? 0..1 Name for this code system (computer friendly) -->

 <title value="[string]"/><!-- 0..1 Name for this code system (human friendly) -->
 <
 <
 <
 <

 <status value="[code]"/><!-- 1..1 draft | active | retired | unknown -->
 <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->
 <date value="[dateTime]"/><!-- 0..1 Date last changed -->
 <publisher value="[string]"/><!-- 0..1 Name of the publisher (organization or individual) -->

 <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact>
 <description value="[markdown]"/><!-- 0..1 Natural language description of the code system -->
 <</useContext>

 <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext>

 <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for code system (if applicable) --></jurisdiction>
 <

 <purpose value="[markdown]"/><!-- 0..1 Why this code system is defined -->

 <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions -->
 <caseSensitive value="[boolean]"/><!-- 0..1 If code comparison is case sensitive -->
 <
 <
 <
 <
 <
 <

 <valueSet><!-- 0..1 canonical(ValueSet) Canonical reference to the value set with entire code system --></valueSet>
 <hierarchyMeaning value="[code]"/><!-- 0..1 grouped-by | is-a | part-of | classified-with -->
 <compositional value="[boolean]"/><!-- 0..1 If code system defines a compositional grammar -->
 <versionNeeded value="[boolean]"/><!-- 0..1 If definitions are not stable -->
 <content value="[code]"/><!-- 1..1 not-present | example | fragment | complete | supplement -->
 <supplements><!-- 0..1 canonical(CodeSystem) Canonical URL of Code System this adds designations and properties to --></supplements>
 <count value="[unsignedInt]"/><!-- 0..1 Total concepts in the code system -->

 <filter>  <!-- 0..* Filter that can be used in a value set -->
  <

  <code value="[code]"/><!-- 1..1 Code that identifies the filter -->

  <description value="[string]"/><!-- 0..1 How or why the filter is used -->
  <operator value="[code]"/><!-- 1..* Operators that can be used with filter -->
  <value value="[string]"/><!-- 1..1 What to use for the value -->
 </filter>
 <property>  <!-- 0..* Additional information supplied about each concept -->
  <code value="[code]"/><!-- 1..1 Identifies the property on the concepts, and when referred to in operations -->
  <uri value="[uri]"/><!-- 0..1 Formal identifier for the property -->
  <description value="[string]"/><!-- 0..1 Why the property is defined, and/or what it conveys -->
  <

  <type value="[code]"/><!-- 1..1 code | Coding | string | integer | boolean | dateTime | decimal -->

 </property>
 <

 <concept>  <!-- 0..* Concepts in the code system -->

  <code value="[code]"/><!-- 1..1 Code that identifies concept -->
  <display value="[string]"/><!-- 0..1 Text to display to the user -->
  <definition value="[string]"/><!-- 0..1 Formal definition -->
  <designation>  <!-- 0..* Additional representations for the concept -->
   <language value="[code]"/><!-- 0..1 Human language of the designation -->
   <use><!-- 0..1 Coding Details how this designation would be used --></use>
   <value value="[string]"/><!-- 1..1 The text value for this designation -->
  </designation>
  <property>  <!-- 0..* Property value for the concept -->
   <code value="[code]"/><!-- 1..1 Reference to CodeSystem.property.code -->
   <</value[x]>

   <value[x]><!-- 1..1 code|Coding|string|integer|boolean|dateTime|decimal Value of the property for this concept --></value[x]>

  </property>
  <concept><!-- 0..* Content as for CodeSystem.concept Child Concepts (is-a/contains/categorizes) --></concept>
 </concept>
</CodeSystem>

JSON Template

{doco
  "resourceType" : "",

  "resourceType" : "CodeSystem",

  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "
  "
  "
  "

  "url" : "<uri>", // Canonical identifier for this code system, represented as a URI (globally unique) (Coding.system)
  "identifier" : [{ Identifier }], // Additional identifier for the code system (business identifier)
  "version" : "<string>", // Business version of the code system (Coding.version)
  "name" : "<string>", // C? Name for this code system (computer friendly)

  "title" : "<string>", // Name for this code system (human friendly)
  "
  "
  "
  "

  "status" : "<code>", // R!  draft | active | retired | unknown
  "experimental" : <boolean>, // For testing purposes, not real usage
  "date" : "<dateTime>", // Date last changed
  "publisher" : "<string>", // Name of the publisher (organization or individual)

  "contact" : [{ ContactDetail }], // Contact details for the publisher
  "description" : "<markdown>", // Natural language description of the code system
  "

  "useContext" : [{ UsageContext }], // The context that the content is intended to support

  "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for code system (if applicable)
  "

  "purpose" : "<markdown>", // Why this code system is defined

  "copyright" : "<markdown>", // Use and/or publishing restrictions
  "caseSensitive" : <boolean>, // If code comparison is case sensitive
  "
  "
  "
  "
  "
  "

  "valueSet" : { canonical(ValueSet) }, // Canonical reference to the value set with entire code system
  "hierarchyMeaning" : "<code>", // grouped-by | is-a | part-of | classified-with
  "compositional" : <boolean>, // If code system defines a compositional grammar
  "versionNeeded" : <boolean>, // If definitions are not stable
  "content" : "<code>", // R!  not-present | example | fragment | complete | supplement
  "supplements" : { canonical(CodeSystem) }, // Canonical URL of Code System this adds designations and properties to
  "count" : "<unsignedInt>", // Total concepts in the code system

  "filter" : [{ // Filter that can be used in a value set
    "

    "code" : "<code>", // R!  Code that identifies the filter

    "description" : "<string>", // How or why the filter is used
    "operator" : ["<code>"], // R!  Operators that can be used with filter
    "value" : "<string>" // R!  What to use for the value
  }],
  "property" : [{ // Additional information supplied about each concept
    "code" : "<code>", // R!  Identifies the property on the concepts, and when referred to in operations
    "uri" : "<uri>", // Formal identifier for the property
    "description" : "<string>", // Why the property is defined, and/or what it conveys
    "

    "type" : "<code>" // R!  code | Coding | string | integer | boolean | dateTime | decimal

  }],
  "

  "concept" : [{ // Concepts in the code system

    "code" : "<code>", // R!  Code that identifies concept
    "display" : "<string>", // Text to display to the user
    "definition" : "<string>", // Formal definition
    "designation" : [{ // Additional representations for the concept
      "language" : "<code>", // Human language of the designation
      "use" : { Coding }, // Details how this designation would be used
      "value" : "<string>" // R!  The text value for this designation
    }],
    "property" : [{ // Property value for the concept
      "code" : "<code>", // R!  Reference to CodeSystem.property.code
      

      // value[x]: Value of the property for this concept. One of these 7:
      "valueCode" : "<code>"
      "valueCoding" : { Coding }
      "valueString" : "<string>"
      "valueInteger" : <integer>
      "valueBoolean" : <boolean>
      "valueDateTime" : "<dateTime>"
      "valueDecimal" : <decimal>

    }],
    "concept" : [{ Content as for CodeSystem.concept }] // Child Concepts (is-a/contains/categorizes)
  }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco
[ a fhir:;

[ a fhir:CodeSystem;

  fhir:nodeRole fhir:treeRoot; # if this is the parser root
  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:
  fhir:
  fhir:

  fhir:CodeSystem.url [ uri ]; # 0..1 Canonical identifier for this code system, represented as a URI (globally unique) (Coding.system)
  fhir:CodeSystem.identifier [ Identifier ], ... ; # 0..* Additional identifier for the code system (business identifier)
  fhir:CodeSystem.version [ string ]; # 0..1 Business version of the code system (Coding.version)

  fhir:CodeSystem.name [ string ]; # 0..1 Name for this code system (computer friendly)
  fhir:CodeSystem.title [ string ]; # 0..1 Name for this code system (human friendly)
  fhir:
  fhir:
  fhir:
  fhir:

  fhir:CodeSystem.status [ code ]; # 1..1 draft | active | retired | unknown
  fhir:CodeSystem.experimental [ boolean ]; # 0..1 For testing purposes, not real usage
  fhir:CodeSystem.date [ dateTime ]; # 0..1 Date last changed
  fhir:CodeSystem.publisher [ string ]; # 0..1 Name of the publisher (organization or individual)

  fhir:CodeSystem.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher
  fhir:CodeSystem.description [ markdown ]; # 0..1 Natural language description of the code system
  fhir:

  fhir:CodeSystem.useContext [ UsageContext ], ... ; # 0..* The context that the content is intended to support

  fhir:CodeSystem.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for code system (if applicable)
  fhir:

  fhir:CodeSystem.purpose [ markdown ]; # 0..1 Why this code system is defined

  fhir:CodeSystem.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions
  fhir:CodeSystem.caseSensitive [ boolean ]; # 0..1 If code comparison is case sensitive
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:

  fhir:CodeSystem.valueSet [ canonical(ValueSet) ]; # 0..1 Canonical reference to the value set with entire code system
  fhir:CodeSystem.hierarchyMeaning [ code ]; # 0..1 grouped-by | is-a | part-of | classified-with
  fhir:CodeSystem.compositional [ boolean ]; # 0..1 If code system defines a compositional grammar
  fhir:CodeSystem.versionNeeded [ boolean ]; # 0..1 If definitions are not stable
  fhir:CodeSystem.content [ code ]; # 1..1 not-present | example | fragment | complete | supplement
  fhir:CodeSystem.supplements [ canonical(CodeSystem) ]; # 0..1 Canonical URL of Code System this adds designations and properties to
  fhir:CodeSystem.count [ unsignedInt ]; # 0..1 Total concepts in the code system

  fhir:CodeSystem.filter [ # 0..* Filter that can be used in a value set
    fhir:

    fhir:CodeSystem.filter.code [ code ]; # 1..1 Code that identifies the filter

    fhir:CodeSystem.filter.description [ string ]; # 0..1 How or why the filter is used
    fhir:CodeSystem.filter.operator [ code ], ... ; # 1..* Operators that can be used with filter
    fhir:CodeSystem.filter.value [ string ]; # 1..1 What to use for the value
  ], ...;
  fhir:CodeSystem.property [ # 0..* Additional information supplied about each concept
    fhir:CodeSystem.property.code [ code ]; # 1..1 Identifies the property on the concepts, and when referred to in operations
    fhir:CodeSystem.property.uri [ uri ]; # 0..1 Formal identifier for the property
    fhir:CodeSystem.property.description [ string ]; # 0..1 Why the property is defined, and/or what it conveys
    fhir:

    fhir:CodeSystem.property.type [ code ]; # 1..1 code | Coding | string | integer | boolean | dateTime | decimal

  ], ...;
  fhir:

  fhir:CodeSystem.concept [ # 0..* Concepts in the code system

    fhir:CodeSystem.concept.code [ code ]; # 1..1 Code that identifies concept
    fhir:CodeSystem.concept.display [ string ]; # 0..1 Text to display to the user
    fhir:CodeSystem.concept.definition [ string ]; # 0..1 Formal definition
    fhir:CodeSystem.concept.designation [ # 0..* Additional representations for the concept
      fhir:CodeSystem.concept.designation.language [ code ]; # 0..1 Human language of the designation
      fhir:CodeSystem.concept.designation.use [ Coding ]; # 0..1 Details how this designation would be used
      fhir:CodeSystem.concept.designation.value [ string ]; # 1..1 The text value for this designation
    ], ...;
    fhir:CodeSystem.concept.property [ # 0..* Property value for the concept
      fhir:CodeSystem.concept.property.code [ code ]; # 1..1 Reference to CodeSystem.property.code
      # . One of these 6

      # CodeSystem.concept.property.value[x] : 1..1 Value of the property for this concept. One of these 7

        fhir:CodeSystem.concept.property.valueCode [ code ]
        fhir:CodeSystem.concept.property.valueCoding [ Coding ]
        fhir:CodeSystem.concept.property.valueString [ string ]
        fhir:CodeSystem.concept.property.valueInteger [ integer ]
        fhir:CodeSystem.concept.property.valueBoolean [ boolean ]
        fhir:CodeSystem.concept.property.valueDateTime [ dateTime ]
        fhir:CodeSystem.concept.property.valueDecimal [ decimal ]

    ], ...;
    fhir:CodeSystem.concept.concept [ See CodeSystem.concept ], ... ; # 0..* Child Concepts (is-a/contains/categorizes)
  ], ...;
]

Changes since DSTU2 Release 3

CodeSystem
CodeSystem.identifier
  • Max Cardinality changed from 1 to *
CodeSystem.status
  • Change value set from http://hl7.org/fhir/ValueSet/publication-status to http://hl7.org/fhir/ValueSet/publication-status|4.0.0
CodeSystem.experimental
  • No longer marked as Modifier
CodeSystem.valueSet
  • Type changed from uri to canonical(ValueSet)
CodeSystem.hierarchyMeaning
  • Change value set from http://hl7.org/fhir/ValueSet/codesystem-hierarchy-meaning to http://hl7.org/fhir/ValueSet/codesystem-hierarchy-meaning|4.0.0
CodeSystem.content
  • Change value set from http://hl7.org/fhir/ValueSet/codesystem-content-mode to http://hl7.org/fhir/ValueSet/codesystem-content-mode|4.0.0
CodeSystem.supplements
  • Added Element
CodeSystem.filter.operator
  • Change value set from http://hl7.org/fhir/ValueSet/filter-operator to http://hl7.org/fhir/ValueSet/filter-operator|4.0.0
CodeSystem.property.type
  • Change value set from http://hl7.org/fhir/ValueSet/concept-property-type to http://hl7.org/fhir/ValueSet/concept-property-type|4.0.0
CodeSystem.concept.designation.language
  • Change binding strength from extensible to preferred
CodeSystem.concept.property.value[x]
  • Add Type decimal

This resource did not exist in Release 2 See the Full Difference for further information

This analysis is available as XML or JSON .

See R3 <--> R4 Conversion Maps (status = 4 tests that all execute ok. All tests pass round-trip testing and 3 r3 resources are invalid (0 errors). )

 

Alternate See the Profiles & Extensions and the alternate definitions: Master Definition ( XML , + JSON ), , XML Schema / Schematron (for ) + JSON Schema , ShEx (for Turtle ) + see the extensions & the dependency analysis

Path Definition Type Reference
CodeSystem.status The lifecycle status of a Value Set or Concept Map. an artifact. Required PublicationStatus
CodeSystem.jurisdiction Countries and regions within which this artifact is targeted for use use. Extensible Jurisdiction ValueSet
CodeSystem.hierarchyMeaning The meaning of the hierarchy of concepts in a code system system. Required CodeSystemHierarchyMeaning
CodeSystem.content How much The extent of the content of the code system - the (the concepts and codes it defines - defines) are represented in a code system resource resource. Required CodeSystemContentMode
CodeSystem.filter.operator The kind of operation to perform as a part of a property based filter. Required FilterOperator
CodeSystem.property.type The type of a property value value. Required PropertyType
CodeSystem.concept.designation.language A human language. Extensible Preferred , but limited to All Languages AllLanguages Common Languages CommonLanguages
CodeSystem.concept.designation.use Details of how a designation would be used. Extensible Designation Use DesignationUse

id Level Location Description Expression
csd-0 Warning (base) 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 : Rule (base) Within a code system definition, all the codes SHALL be unique ( expression : (concept.code | descendants().concept.code).isDistinct() concept.code.combine($this.descendants().concept.code).isDistinct() )

Most code systems evolve over time, due to corrections, clarifications, and changes to approach or underlying knowledge or reality. If these changes lead to the meanings of existing codes changing significantly, then the interpretation of the code system becomes version dependent. This significantly complicates implementation based on the code system, to the point where it is not clear that safety can be assured, so changing the meaning of an existing code SHOULD be avoided whenever possible. It is preferable to assign a new identifier to a code system when any concepts in it have a significant change in meaning (for example, the German diagnostic classification code system ICD10GM2009 has a different system to ICD10GM2008), but this also can have substantial impact on implementation, so is often not practical - for instance, SNOMED CT has a complex version release framework, which may lead to variations in meaning of concepts, but there is only one identifier for SNOMED CT.

For this reason, a code system MAY provide a version identifier which can be specified in CodeSystem.version . The version specific identifier SHOULD be provided whenever there are potentially significant changes in meaning across multiple releases of a code system. There is no particular format requirement for the version identifier, though HL7 recommends a date based date-based approach.

When the CodeSystem.versionNeeded is 'true', then the version identifier SHALL be used in Coding instances that refer to the code system.

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use as the version string the date (expressed in FHIR date format) on which the version of the code system that is being used was officially published.

The simple case for a code system is that the entire code system - all the concepts and their codes, designations and properties are distributed in a single CodeSystem resource. However, for a variety of reasons, code systems may be distributed by the code system authority in a set of fragments, and other authorities may issue additional designations and properties in supplements.

If the CodeSystem.content value is fragment , then the resource describes part of a code system.

Code Systems may be distributed in fragments for the following reasons:

  • Different IP distribution rules for different parts of the code system
  • Special purpose modules for specific purposes
  • Distribution of proposed content for evaluation

The following rules apply to code system fragments:

  • All fragments SHALL have the same CodeSystem.url
  • Fragments can only be published by the code system authority, or according to a process defined by the authority, if they have defined one
  • Fragments cannot contain any codes, concepts or properties that would not be found in a complete representation of the code system, if one exists
  • Publishing a code system in multiple fragments can create confusion for terminology servers and terminology service consumers. Code System authorities that publish fragments should be careful and communicate their intent clearly

If the CodeSystem.content value is supplement , then the resource describes a code system supplement. The following rules apply to code system supplements:

  • The CodeSystem.supplements element SHALL have a value, which is the URL of the code system being supplemented
  • The CodeSystem.url for a supplement SHALL never appear in a Coding.system
  • The CodeSystem.url for a supplement must be under the control of the authority creating or publishing the supplement (e.g. not in the same space as the code system being supplemented, unless the supplement is being issued by the same authority as the original code system
  • A codesystem supplement cannot define any new CodeSystem.concept.code. i.e.: all CodeSystem.concept.code in the supplement must be a code from the "supplemented" code system

If a supplement needs to define new concepts/codes to use as property values, it can be paired with a new (possibly contained) Code System and use the Coding type for the property values.

The impact of Code System supplements on value set expansion - and therefore value set validation - is subject to ongoing experimentation and implementation testing, and further clarification and additional rules might be proposed in future versions of this specification.

Concepts have both a display and a definition . The display is a short text that represents the meaning of the concept to human users, while the definition is a more formal statement of the meaning of the concept, which is often longer. All concepts SHOULD have a display and a definition , though it is not mandatory because there are many cases where no such properties are provided, in spite of their utility and importance for clear and safe communication.

In addition to the display and definition, a concept can have one or more designation elements. The display is equivalent to a special designation with an implied designation.use meaning "primary code/designation" and a language equal to the Resource Language . The designations can provide additional displays for other language, as well as designations for other purposes. When using concepts, applications use the display and designation unless the language or usage in context provides a reason to use one of the designations.

Each code system can have define one or more concept properties. Each concept defined by the code system may have one or more values for each concept property defined by the code system. Typical uses for properties include:

  • Tracking administrative status (inactive, deprecation date)
  • Providing additional statements about the meaning of the concept
  • Defining structured relationships with other concepts in the code system
  • Assigning scoring values to the concepts

Properties are identified by their master URI ( CodeSystem.property.uri ), and then, by their code ( CodeSystem.property.code ), which is used both internally within the code system resource ( CodeSystem.concept.property.code ) and also externally, in the following places:

  • ConceptMap : ConceptMap.element.target.dependsOn.property and ConceptMap.element.target.product.property
  • ValueSet : ValueSet.compose.include.filter.property can refer to any defined code system property
  • $lookup operation : In Parameters.parameter.name when returning information about a code
  • $translate operation : In Parameters.parameter.part.name for dependencies and products
  • $compose $find-matches operation : In Parameters.parameter.name when providing codes, and in Parameters.parameter.name when asking for codes

Properties are defined using the following elements:

Name Details Description
code code Used to identify the property, as enumerated in the places shown in the list immediately above this table
uri optional uri Reference to the formal meaning of the property. One possible source of meaning is the Concept Properties code system. This part of the definition is optional, but is recommended to provide an additional level of definitional consistency
description optional string A description of the property- why it is defined, and how its value might be used
type code | Coding | string | integer | boolean | dateTime The type of the property value. Properties of type "code" contain a code defined by the code system (e.g. a reference to anotherr another defined concept)

Note that properties provide a common view of concept relationships that is common across all code systems. Some code systems define properties with more sophistication, such as groups of properties, or subsumption relationships between properties (e.g. SNOMED CT). Servers providing support for these code systems will need to know full details about the underlying relationships in order to provide the correct information about concepts and their properties, but this information does not surface in the resources or operations defined by the FHIR specification.

Many Code Systems have a 'status' associated with the concept. This may categorise categorize the concept as:

  • Experimental - provided for trial, but may be removed in the future
  • Active - in normal use
  • Deprecated - planned to be removed from use
  • Retired - still present for historical reasons, but no longer allowed to be used

There is wide variation in the life cycles supported by the different code systems, the words they use to describe the various status values they use, and some code systems have additional status values. HL7 uses Active and Retired. In addition to these status codes, concepts may be also be labeled as "Abstract' (not to be used in some circumstances), and have dates associated with their retirement or deprecation. All this information is represented as properties of the concepts. In order to assist with consistency between code systems, the following basic property URIs are defined:

http://hl7.org/fhir/concept-properties#status : code A property that indicates the status of the concept. If the property is identified by this URL, then it SHALL use at least these status values (where appropriate):
  • active - the concept is for normal use (this is the default value)
  • experimental - provided for trial, but may be removed in the future
  • deprecated - planned to be removed from use
  • retired - still present for historical reasons, but no longer allowed to be used
The HL7 defined code systems (whether defined by the FHIR project, the V3 framework, or the V2 standard) all use this property to define their status. HL7 uses "active" (and considers this the default status), and deprecated and retired (= inactive)
http://hl7.org/fhir/concept-properties#retirementDate : date Date Concept was retired
http://hl7.org/fhir/concept-properties#deprecationDate : date Date Concept was deprecated
http://hl7.org/fhir/concept-properties#parent : code An immediate parent of the concept in the hierarchy
http://hl7.org/fhir/concept-properties#child : code An immediate child of the concept in the hierarchy
http://hl7.org/fhir/concept-properties#notSelectable : boolean This concept is a grouping concept and not intended to be used in the normal use of the code system (though my may be used for filters etc). etc.). This is also known as 'Abstract'

Typically, The parent and child properties are used when performing concept lookup (using the $lookup operation), and when using properties to indicate parent/child relationships (see below).

Code systems are may be presented hierachically, hierarchically, using nested concept elements, where the hierachy hierarchy has a defined meaning specified in hierarchyMeaning . For this reason, the parent and child properties are mostly The code system hierarchy is a single tree, where concepts have only used when performing concept lookup. Note that in some one parent.

Some code systems, systems define concepts may that have multiple parents, so the parent property may repeat. These parents. If a code systems system has concepts like this (typically, concepts that are not usually presented in a hierachical fashion subsumed by more than one other concept), the code system SHOULD NOT be represented using the hierarchy structure in the Code System resource, and the relationships between concepts should be defined using properties . If the hierarchy is used, implementers SHALL use a CodeSystem if they property to indicate additional parents that are not represented in a CodeSystem at all. If they are, then the subsumes extension must be used. structural (nested concepts) hierarchy.

Operations based on the codeSystem resource SHALL have the same result whether or not the relationships are represented explicitly as properties or implicitly using the CodeSystem resource hierarchy.

The words 'subsume', 'subsumes', 'subsumed' and 'subsumption' are defined in terms of relation to the CodeSystem type of hierarchy (i.e. the value of CodeSystem.hierarchyMeaning ). ) identified for the code system that is being represented by the CodeSystem resource. Concept A is considered to be subsumed by Concept B if it comes under Concept B in the hierarchy, or if subsumption a parent/child relationship is declared explicitly using in the subsumes extension ). properties, and the hierarchyMeaning is "is-a").

Where a CodeSystem does not declare its hierarchy meaning directly, then the code system documentation must be consulted manually to determinw determine how subsumption is determined. If there is no definition, none of the subsumption based features can be used with the code system.

Subsumption based logic arises explicitly or implicitly in the following places in the FHIR specification:

The following filters are defined for all code systems:

Property Name Operation Value Definition Notes
[property] = [string] Includes all codes that have a property value equal to the specified string, where [property] is the code for any defined property
[property] in [string,string...] Includes all codes that have a property value equal to one of the specified strings, where [property] is the code for any defined property The values cannot include ",", since it is being used as a delimited delimiter

This draft section about the relationships between rich terminologies and structured content is still undergoing review.

Sometimes Some other parts of the FHIR infrastructure define set of concepts that may also be treated as code systems. This is most useful when mapping between systems may using Concept Maps , but might also be used useful for other code system related functionality (e.g. subsetting use Value Sets ). This table summarizes how to treat these items as a terminology:

StructureDefinition The StructureDefinition.url (canonical URL) is the system . Each .snapshot.element.id in the snapshot is a code in the code system
Questionnaire The Questionnaire.url (canonical URL) is the system . Each .item.linkId in the snapshot is a code in the code system. Items with no linkId cannot be addressed
Medication Medication resources are a bit different, since they don't have a canonical URL, and there are not multiple items in a resource. So to refer to a medication resource, the system is [base]/Medication, where base is the server address. The Logical Id of the resource is the code

The use of these implicit code systems is not yet well tested, so this section remains informative.

For medications, the relationship between the code system and the medication resource is complex. Many medication related code systems (e.g. RxNorm, DM+D, AMT, etc.) represent more complex information than just code, display name and code system. For example, a code system of drug information which contains These often contain information about the content of the medication (e.g., RxNorm), or A similar principle applies to observation definitions, which overlap significantly with LOINC and other related code systems, which contain a set of observation types, definitions, that contain methods, units, etc. (e.g., LOINC). Other similar arrangements exist for Location and many other kinds of resource.

In FHIR, these are handled by splitting the concept into two distinct parts - the Terminology, ( Code System & ValueSet resources) is used to manage the codes, display names and relationships. A separate "detail" resource (e.g., Medication resource instances for drugs, DataElement RxNorm code details, ObservationDefinition instances for observation types, LOINC code details, or Location for location, , etc.) is used to convey detailed information (dose form & strength, allowed data type or permitted values, address & hours of operation, etc.). One "detail" resource instance is created for each code.

This division accomplishes several things:

  • It allows generic systems that support terminology management to perform standard terminology operations on code systems dealing with complex structures - code lookup, validation, subsumption testing, mapping and translation.
  • It allows information to be exchanged about individual medications, data elements and locations. Codes can't be retrieved individually in FHIR - it is necessary to retrieve the entire resource. By packaging the detailed information in separate resources, independent retrieval and update is possible.
  • It supports use-cases for sharing medication, location, observation type and similar information in circumstances where the code may be unknown, unavailable or occasionally non-existent (e.g., custom compounds, non-registered locations). Having a distinct resource supports these capabilities, which would not be possible using CodeSystem / ValueSet .

Note that this division in FHIR does not imply that a similar division is required in the internal representation used by systems exposing a FHIR interface. Similarly, some systems may choose to only expose or maintain one aspect of such information types (i.e. only the discrete resource instances or only the value set).

The linkage between the "detail" resource and the Terminology resources is accomplished via the code element (or equivalent) on the detail resource. As well, the "name" or "title" on the detail resource generally corresponds with the display name on the matching code. Most detail resources will also have an "identifier" element. This can be set to the same value and namespace as the code, but if the only identifier a resource has is its defining code, it may be better to omit the identifier entirely. For further information, see Implicit Code Systems . .

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

Name Type Description Expression In Common
code TU token A code defined in the code system CodeSystem.concept.code
content-mode TU token not-present | example | fragment | complete | supplement CodeSystem.content
context TU token A use context assigned to the code system (CodeSystem.useContext.value as CodeableConcept)
context-quantity TU quantity A quantity- or range-valued use context assigned to the code system (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range)
context-type TU token A type of use context assigned to the code system CodeSystem.useContext.code
context-type-quantity TU composite A use context type and quantity- or range-based value assigned to the code system On CodeSystem.useContext:
  context-type: code
  context-quantity: value.as(Quantity) | value.as(Range)
context-type-value TU composite A use context type and value assigned to the code system On CodeSystem.useContext:
  context-type: code
  context: value.as(CodeableConcept)
date TU date The code system publication date CodeSystem.date
description TU string The description of the code system CodeSystem.description
identifier TU token External identifier for the code system CodeSystem.identifier
jurisdiction TU token Intended jurisdiction for the code system CodeSystem.jurisdiction
language TU token A language in which a designation is provided CodeSystem.concept.designation.language
name TU string Computationally friendly name of the code system CodeSystem.name
publisher TU string Name of the publisher of the code system CodeSystem.publisher
status TU token The current status of the code system CodeSystem.status
supplements TU reference Find code system supplements for the referenced code system CodeSystem.supplements
( CodeSystem )
system TU uri The system for any codes defined by this code system (same as 'url') CodeSystem.url
title TU string The human-friendly name of the code system CodeSystem.title
url TU uri The uri that identifies the code system CodeSystem.url
version TU token The business version of the code system CodeSystem.version