This page is part of the FHIR Specification (v0.0.82: DSTU 1). 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
StructureDefinition for Coding
<StructureDefinition xmlns="http://hl7.org/fhir"> <id value="Coding"/> <text> <status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml"><!-- Snipped for brevity --></div> </text> <url value="http://hl7.org/fhir/StructureDefinition/Coding"/> <name value="Coding"/> <publisher value="HL7 FHIR Standard"/> <contact> <telecom> <system value="url"/> <value value="http://hl7.org/fhir"/> </telecom> </contact> <description value="Base StructureDefinition for Coding Resource"/> <requirements value="References to codes are very common in healthcare models."/> <status value="draft"/> <date value="2015-03-27T00:13:00+11:00"/> <mapping> <identity value="v2"/> <uri value="http://hl7.org/v2"/> <name value="HL7 v2"/> </mapping> <mapping> <identity value="rim"/> <uri value="http://hl7.org/v3"/> <name value="RIM"/> </mapping> <type value="type"/> <abstract value="false"/> <base value="http://hl7.org/fhir/StructureDefinition/Element"/> <snapshot> <element> <path value="Coding"/> <short value="A reference to a code defined by a terminology system"/> <definition value="A reference to a code defined by a terminology system."/> <comments value="Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the V3 Core Principles for more information."/> <requirements value="References to codes are very common in healthcare models."/> <min value="1"/> <max value="1"/> <type> <code value="Coding"/> </type> <constraint> <key value="cod-1"/> <name value="Value set doesn't substitute for system"/> <severity value="error"/> <human value="If a valueSet is provided, a system URI Is required"/> <xpath value="not (exists(f:valueSet) and exists(f:code)) or exists(f:system)"/> </constraint> <mapping> <identity value="v2"/> <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"/> </mapping> <mapping> <identity value="rim"/> <map value="CV"/> </mapping> </element> <element> <path value="Coding.id"/> <representation value="xmlAttr"/> <short value="xml:id (or equivalent in JSON)"/> <definition value="unique id for the element within a resource (for internal references)."/> <min value="0"/> <max value="1"/> <type> <code value="id"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Coding.extension"/> <short value="Additional Content defined by implementations"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/> <comments value="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 value="extensions"/> <alias value="user content"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Coding.system"/> <short value="Identity of the terminology system"/> <definition value="The identification of the code system that defines the meaning of the symbol in the code."/> <comments value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously."/> <requirements value="Need to be unambiguous about the source of the definition of the symbol."/> <min value="0"/> <max value="1"/> <type> <code value="uri"/> </type> <mapping> <identity value="v2"/> <map value="C*E.3"/> </mapping> <mapping> <identity value="rim"/> <map value="./codeSystem"/> </mapping> </element> <element> <path value="Coding.version"/> <short value="Version of the system - if relevant"/> <definition value="The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged."/> <comments value="Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> <mapping> <identity value="v2"/> <map value="C*E.7"/> </mapping> <mapping> <identity value="rim"/> <map value="./codeSystemVersion"/> </mapping> </element> <element> <path value="Coding.code"/> <short value="Symbol in syntax defined by the system"/> <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)."/> <requirements value="Need to refer to a particular code in the system."/> <min value="0"/> <max value="1"/> <type> <code value="code"/> </type> <mapping> <identity value="v2"/> <map value="C*E.1"/> </mapping> <mapping> <identity value="rim"/> <map value="./code"/> </mapping> </element> <element> <path value="Coding.display"/> <short value="Representation defined by the system"/> <definition value="A representation of the meaning of the code in the system, following the rules of the system."/> <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know the system."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> <mapping> <identity value="v2"/> <map value="C*E.2 - but note this is not well followed"/> </mapping> <mapping> <identity value="rim"/> <map value="CV.displayName"/> </mapping> </element> <element> <path value="Coding.primary"/> <short value="If this code was chosen directly by the user"/> <definition value="Indicates that this code was chosen by a user directly - i.e. off a pick list of available items (codes or displays)."/> <comments value="Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations."/> <requirements value="This has been identified as a clinical safety criterium - that this exact code was chosen explicitly, rather than inferred by the system based on some rules or language processing."/> <min value="0"/> <max value="1"/> <type> <code value="boolean"/> </type> <mapping> <identity value="v2"/> <map value="Sometimes implied by being first"/> </mapping> <mapping> <identity value="rim"/> <map value="CD.codingRationale"/> </mapping> </element> </snapshot> <differential> <element> <path value="Coding"/> <short value="A reference to a code defined by a terminology system"/> <definition value="A reference to a code defined by a terminology system."/> <comments value="Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the V3 Core Principles for more information."/> <requirements value="References to codes are very common in healthcare models."/> <min value="1"/> <max value="1"/> <type> <code value="Element"/> </type> <constraint> <key value="cod-1"/> <name value="Value set doesn't substitute for system"/> <severity value="error"/> <human value="If a valueSet is provided, a system URI Is required"/> <xpath value="not (exists(f:valueSet) and exists(f:code)) or exists(f:system)"/> </constraint> <mapping> <identity value="v2"/> <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"/> </mapping> <mapping> <identity value="rim"/> <map value="CV"/> </mapping> </element> <element> <path value="Coding.system"/> <short value="Identity of the terminology system"/> <definition value="The identification of the code system that defines the meaning of the symbol in the code."/> <comments value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously."/> <requirements value="Need to be unambiguous about the source of the definition of the symbol."/> <min value="0"/> <max value="1"/> <type> <code value="uri"/> </type> <mapping> <identity value="v2"/> <map value="C*E.3"/> </mapping> <mapping> <identity value="rim"/> <map value="./codeSystem"/> </mapping> </element> <element> <path value="Coding.version"/> <short value="Version of the system - if relevant"/> <definition value="The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged."/> <comments value="Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> <mapping> <identity value="v2"/> <map value="C*E.7"/> </mapping> <mapping> <identity value="rim"/> <map value="./codeSystemVersion"/> </mapping> </element> <element> <path value="Coding.code"/> <short value="Symbol in syntax defined by the system"/> <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)."/> <requirements value="Need to refer to a particular code in the system."/> <min value="0"/> <max value="1"/> <type> <code value="code"/> </type> <mapping> <identity value="v2"/> <map value="C*E.1"/> </mapping> <mapping> <identity value="rim"/> <map value="./code"/> </mapping> </element> <element> <path value="Coding.display"/> <short value="Representation defined by the system"/> <definition value="A representation of the meaning of the code in the system, following the rules of the system."/> <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know the system."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> <mapping> <identity value="v2"/> <map value="C*E.2 - but note this is not well followed"/> </mapping> <mapping> <identity value="rim"/> <map value="CV.displayName"/> </mapping> </element> <element> <path value="Coding.primary"/> <short value="If this code was chosen directly by the user"/> <definition value="Indicates that this code was chosen by a user directly - i.e. off a pick list of available items (codes or displays)."/> <comments value="Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations."/> <requirements value="This has been identified as a clinical safety criterium - that this exact code was chosen explicitly, rather than inferred by the system based on some rules or language processing."/> <min value="0"/> <max value="1"/> <type> <code value="boolean"/> </type> <mapping> <identity value="v2"/> <map value="Sometimes implied by being first"/> </mapping> <mapping> <identity value="rim"/> <map value="CD.codingRationale"/> </mapping> </element> </differential> </StructureDefinition>
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.