Release 5 Ballot

This page is part of the FHIR Specification (v5.0.0-ballot: FHIR R5 Ballot Preview). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

Example StructureDefinition/CodeableConcept (JSON)

Modeling and Methodology Work GroupMaturity Level: N/AStandards Status: Informative

Raw JSON (canonical form + also see JSON Format Specification)

StructureDefinition for CodeableConcept

{
  "resourceType" : "StructureDefinition",
  "id" : "CodeableConcept",
  "text" : {
    "status" : "generated",
    "div" : "<div>!-- Snipped for Brevity --></div>"
  },
  "extension" : [{
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
    "valueCode" : "normative"
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version",
    "valueCode" : "4.0.0"
  }],
  "url" : "http://hl7.org/fhir/StructureDefinition/CodeableConcept",
  "version" : "5.0.0-ballot",
  "name" : "CodeableConcept",
  "status" : "active",
  "experimental" : false,
  "date" : "2022-09-07T10:58:29+10:00",
  "publisher" : "HL7 FHIR Standard",
  "contact" : [{
    "telecom" : [{
      "system" : "url",
      "value" : "http://hl7.org/fhir"
    }]
  }],
  "description" : "CodeableConcept Type: A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.",
  "purpose" : "This is a common pattern in healthcare - a concept that may be defined by one or more codes from formal definitions including LOINC and SNOMED CT, and/or defined by the provision of text that captures a human sense of the concept.",
  "fhirVersion" : "5.0.0-ballot",
  "mapping" : [{
    "identity" : "v2",
    "uri" : "http://hl7.org/v2",
    "name" : "HL7 v2 Mapping"
  },
  {
    "identity" : "rim",
    "uri" : "http://hl7.org/v3",
    "name" : "RIM Mapping"
  },
  {
    "identity" : "orim",
    "uri" : "http://hl7.org/orim",
    "name" : "Ontological RIM Mapping"
  }],
  "kind" : "complex-type",
  "abstract" : false,
  "type" : "CodeableConcept",
  "baseDefinition" : "http://hl7.org/fhir/StructureDefinition/DataType",
  "derivation" : "specialization",
  "snapshot" : {
    "element" : [{
      "id" : "CodeableConcept",
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
        "valueCode" : "normative"
      },
      {
        "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version",
        "valueCode" : "4.0.0"
      }],
      "path" : "CodeableConcept",
      "short" : "Concept - reference to a terminology or just  text",
      "definition" : "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.",
      "comment" : "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "CodeableConcept",
        "min" : 0,
        "max" : "*"
      },
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "http://hl7.org/fhir/StructureDefinition/Element"
      }],
      "isModifier" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      },
      {
        "identity" : "v2",
        "map" : "CE/CNE/CWE"
      },
      {
        "identity" : "rim",
        "map" : "CD"
      },
      {
        "identity" : "orim",
        "map" : "fhir:CodeableConcept rdfs:subClassOf dt:CD"
      }]
    },
    {
      "id" : "CodeableConcept.id",
      "path" : "CodeableConcept.id",
      "representation" : ["xmlAttr"],
      "short" : "Unique id for inter-element referencing",
      "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "Element.id",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
          "valueUrl" : "id"
        }],
        "code" : "http://hl7.org/fhirpath/System.String"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      }]
    },
    {
      "id" : "CodeableConcept.extension",
      "path" : "CodeableConcept.extension",
      "slicing" : {
        "discriminator" : [{
          "type" : "value",
          "path" : "url"
        }],
        "description" : "Extensions are always sliced by (at least) url",
        "rules" : "open"
      },
      "short" : "Additional content defined by implementations",
      "definition" : "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
      "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
      "alias" : ["extensions",
      "user content"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "Element.extension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "http://hl7.org/fhir/StructureDefinition/Element"
      },
      {
        "key" : "ext-1",
        "severity" : "error",
        "human" : "Must have either extensions or value[x], not both",
        "expression" : "extension.exists() != value.exists()",
        "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
        "source" : "http://hl7.org/fhir/StructureDefinition/Extension"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      }]
    },
    {
      "id" : "CodeableConcept.coding",
      "path" : "CodeableConcept.coding",
      "short" : "Code defined by a terminology system",
      "definition" : "A reference to a code defined by a terminology system.",
      "comment" : "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.",
      "requirements" : "Allows for alternative encodings within a code system, and translations to other code systems.",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "CodeableConcept.coding",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Coding"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "http://hl7.org/fhir/StructureDefinition/Element"
      }],
      "isModifier" : false,
      "isSummary" : true,
      "mapping" : [{
        "identity" : "v2",
        "map" : "C*E.1-8, C*E.10-22"
      },
      {
        "identity" : "rim",
        "map" : "union(., ./translation)"
      },
      {
        "identity" : "orim",
        "map" : "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
      }]
    },
    {
      "id" : "CodeableConcept.text",
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
        "valueBoolean" : true
      },
      {
        "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
        "valueBoolean" : true
      }],
      "path" : "CodeableConcept.text",
      "short" : "Plain text representation of the concept",
      "definition" : "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
      "comment" : "Very often the text is the same as a displayName of one of the codings.",
      "requirements" : "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "CodeableConcept.text",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "string"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "http://hl7.org/fhir/StructureDefinition/Element"
      }],
      "isModifier" : false,
      "isSummary" : true,
      "mapping" : [{
        "identity" : "v2",
        "map" : "C*E.9. But note many systems use C*E.2 for this"
      },
      {
        "identity" : "rim",
        "map" : "./originalText[mediaType/code=\"text/plain\"]/data"
      },
      {
        "identity" : "orim",
        "map" : "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
      }]
    }]
  },
  "differential" : {
    "element" : [{
      "id" : "CodeableConcept",
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
        "valueCode" : "normative"
      },
      {
        "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version",
        "valueCode" : "4.0.0"
      }],
      "path" : "CodeableConcept",
      "short" : "Concept - reference to a terminology or just  text",
      "definition" : "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.",
      "comment" : "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
      "min" : 0,
      "max" : "*",
      "mapping" : [{
        "identity" : "v2",
        "map" : "CE/CNE/CWE"
      },
      {
        "identity" : "rim",
        "map" : "CD"
      },
      {
        "identity" : "orim",
        "map" : "fhir:CodeableConcept rdfs:subClassOf dt:CD"
      }]
    },
    {
      "id" : "CodeableConcept.coding",
      "path" : "CodeableConcept.coding",
      "short" : "Code defined by a terminology system",
      "definition" : "A reference to a code defined by a terminology system.",
      "comment" : "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.",
      "requirements" : "Allows for alternative encodings within a code system, and translations to other code systems.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "Coding"
      }],
      "isSummary" : true,
      "mapping" : [{
        "identity" : "v2",
        "map" : "C*E.1-8, C*E.10-22"
      },
      {
        "identity" : "rim",
        "map" : "union(., ./translation)"
      },
      {
        "identity" : "orim",
        "map" : "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
      }]
    },
    {
      "id" : "CodeableConcept.text",
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
        "valueBoolean" : true
      },
      {
        "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
        "valueBoolean" : true
      }],
      "path" : "CodeableConcept.text",
      "short" : "Plain text representation of the concept",
      "definition" : "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
      "comment" : "Very often the text is the same as a displayName of one of the codings.",
      "requirements" : "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "string"
      }],
      "isSummary" : true,
      "mapping" : [{
        "identity" : "v2",
        "map" : "C*E.9. But note many systems use C*E.2 for this"
      },
      {
        "identity" : "rim",
        "map" : "./originalText[mediaType/code=\"text/plain\"]/data"
      },
      {
        "identity" : "orim",
        "map" : "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
      }]
    }]
  }
}

Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.