CR
type: StructureDefinition
node role: treeRoot
id:
  v: CR
text:
  status:
    v: generated
  div: A concept qualifier code with optionally named role. Both qualifier role and value codes must be defined by the coding system. For example, if SNOMED RT defines a concept "leg", a role relation "has-laterality", and another concept "left", the concept role relation allows to add the qualifier "has-laterality: left" to a primary code "leg" to construct the meaning "left leg".
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/logical-target
  value: boolean
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/data-absent-reason
      value: code
        v: not-applicable
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/xml-namespace
  value: uri
    v: urn:hl7-org:v3
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/logical-container
  value: uri
    v: http://hl7.org/cda/stds/core/StructureDefinition/ClinicalDocument
url:
  v: http://hl7.org/cda/stds/core/StructureDefinition/CR
version:
  v: 1.0.1
name:
  v: CR
title:
  v: CR: ConceptRole (V3 Data Type)
status:
  v: active
experimental:
  v: false
date:
  v: 2025-10-10T09:58:30+10:00
publisher:
  v: HL7
description:
  v: A concept qualifier code with optionally named role. Both qualifier role and value codes must be defined by the coding system of the CD containing the concept qualifier. For example, if SNOMED RT defines a concept "leg", a role relation "has-laterality", and another concept "left", the concept role relation allows to add the qualifier "has-laterality: left" to a primary code "leg" to construct the meaning "left leg".
fhir version:
  v: 5.0.0
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
  name:
    v: RIM Mapping
kind:
  v: logical
abstract:
  v: false
type:
  v: http://hl7.org/cda/stds/core/StructureDefinition/CR
base definition:
  v: http://hl7.org/cda/stds/core/StructureDefinition/ANY
  link: http://hl7.org/cda/stds/core/StructureDefinition/ANY
derivation:
  v: specialization
snapshot:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version
    value: string
      v: 1.0.1
  element:
    id:
      v: CR
    path:
      v: CR
    short:
      v: Base for all types and resources
    definition:
      v: A concept qualifier code with optionally named role. Both qualifier role and value codes must be defined by the coding system. For example, if SNOMED RT defines a concept "leg", a role relation "has-laterality", and another concept "left", the concept role relation allows to add the qualifier "has-laterality: left" to a primary code "leg" to construct the meaning "left leg".
    min:
      v: 1
    max:
      v: *
    base:
      path:
        v: Base
      min:
        v: 0
      max:
        v: *
    constraint:
      key:
        v: value-null-cr
      severity:
        v: error
      human:
        v: Must contain value or nullFlavor. If nullFlavor is present, name and value must not be present.
      expression:
        v: (value.exists() or nullFlavor.exists()) and (nullFlavor.exists() implies (name | value).empty())
    is modifier:
      v: false
    mapping:
      identity:
        v: rim
      map:
        v: n/a
  element:
    id:
      v: CR.nullFlavor
    path:
      v: CR.nullFlavor
    representation:
      v: xmlAttr
    label:
      v: Exceptional Value Detail
    definition:
      v: If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: ANY.nullFlavor
      min:
        v: 0
      max:
        v: 1
    type:
      code:
        v: code
      profile:
        v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
        link: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
    binding:
      strength:
        v: required
      value set:
        v: http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor
        link: http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor
  element:
    id:
      v: CR.inverted
    path:
      v: CR.inverted
    representation:
      v: xmlAttr
    label:
      v: Inversion Indicator
    definition:
      v: Indicates if the sense of the role name is inverted. This can be used in cases where the underlying code system defines inversion but does not provide reciprocal pairs of role names. By default, inverted is false.
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: CR.inverted
      min:
        v: 0
      max:
        v: 1
    type:
      code:
        v: boolean
      profile:
        v: http://hl7.org/cda/stds/core/StructureDefinition/bn
        link: http://hl7.org/cda/stds/core/StructureDefinition/bn
  element:
    id:
      v: CR.name
    path:
      v: CR.name
    label:
      v: Name
    definition:
      v: Specifies the manner in which the concept role value contributes to the meaning of a code phrase. For example, if SNOMED RT defines a concept "leg", a role relation "has-laterality", and another concept "left", the concept role relation allows to add the qualifier "has-laterality: left" to a primary code "leg" to construct the meaning "left leg". In this example "has-laterality" is the CR.name.
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: CR.name
      min:
        v: 0
      max:
        v: 1
    type:
      code:
        v: http://hl7.org/cda/stds/core/StructureDefinition/CV
  element:
    id:
      v: CR.value
    path:
      v: CR.value
    label:
      v: Value
    definition:
      v: The concept that modifies the primary code of a code phrase through the role relation. For example, if SNOMED RT defines a concept "leg", a role relation "has-laterality", and another concept "left", the concept role relation allows adding the qualifier "has-laterality: left" to a primary code "leg" to construct the meaning "left leg". In this example "left" is the CR.value.
    min:
      v: 0

v: 1

path:
  v: CR.value
min:
  v: 0
max:
  v: 1

element:
  id:
    v: CR
  path:
    v: CR
  definition:
    v: A concept qualifier code with optionally named role. Both qualifier role and value codes must be defined by the coding system. For example, if SNOMED RT defines a concept "leg", a role relation "has-laterality", and another concept "left", the concept role relation allows to add the qualifier "has-laterality: left" to a primary code "leg" to construct the meaning "left leg".
  min:
    v: 1
  max:
    v: *
  constraint:
    key:
      v: value-null-cr
    severity:
      v: error
    human:
      v: Must contain value or nullFlavor. If nullFlavor is present, name and value must not be present.
    expression:
      v: (value.exists() or nullFlavor.exists()) and (nullFlavor.exists() implies (name | value).empty())
element:
  id:
    v: CR.inverted
  path:
    v: CR.inverted
  representation:
    v: xmlAttr
  label:
    v: Inversion Indicator
  definition:
    v: Indicates if the sense of the role name is inverted. This can be used in cases where the underlying code system defines inversion but does not provide reciprocal pairs of role names. By default, inverted is false.
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: boolean
    profile:
      v: http://hl7.org/cda/stds/core/StructureDefinition/bn
      link: http://hl7.org/cda/stds/core/StructureDefinition/bn
element:
  id:
    v: CR.name
  path:
    v: CR.name
  label:
    v: Name
  definition:
    v: Specifies the manner in which the concept role value contributes to the meaning of a code phrase. For example, if SNOMED RT defines a concept "leg", a role relation "has-laterality", and another concept "left", the concept role relation allows to add the qualifier "has-laterality: left" to a primary code "leg" to construct the meaning "left leg". In this example "has-laterality" is the CR.name.
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: http://hl7.org/cda/stds/core/StructureDefinition/CV
element:
  id:
    v: CR.value
  path:
    v: CR.value
  label:
    v: Value
  definition:
    v: The concept that modifies the primary code of a code phrase through the role relation. For example, if SNOMED RT defines a concept "leg", a role relation "has-laterality", and another concept "left", the concept role relation allows adding the qualifier "has-laterality: left" to a primary code "leg" to construct the meaning "left leg". In this example "left" is the CR.value.
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: http://hl7.org/cda/stds/core/StructureDefinition/CD