RecordTarget
type: StructureDefinition
node role: treeRoot
id:
  v: RecordTarget
text:
  status:
    v: generated
  div: The recordTarget represents the medical record that this document belongs to. A clinical document typically has exactly one recordTarget participant. In the uncommon case where a clinical document (such as a group encounter note) is placed into more than one patient chart, more than one recordTarget participants can be stated. The recordTarget(s) of a document are stated in the header and propagate to nested content, where they cannot be overridden (see See CDA Context (§ 4.4 )). A recordTarget is represented as a relationship between a person and an organization, where the person is in a patient role (PatientRole class). The entity playing the role is a patient (Patient class). The entity scoping the role is an organization (Organization class). A patient is uniquely identified via the PatientRole.id attribute. CDA Release One allowed for additional person identifiers, corresponding to the Patient.id attribute in CDA Release Two. This attribute is included for backwards compatibility and has been deprecated because having two different ways to identify a patient can result in inconsistent usage. Further use of Patient.id is discouraged.
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/xml-name
  value: string
    v: recordTarget
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/logical-container
  value: uri
    v: http://hl7.org/cda/stds/core/StructureDefinition/ClinicalDocument
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/type-profile-style
  value: code
    v: cda
url:
  v: http://hl7.org/cda/stds/core/StructureDefinition/RecordTarget
version:
  v: 1.0.1
name:
  v: RecordTarget
title:
  v: RecordTarget (CDA Class)
status:
  v: active
experimental:
  v: false
date:
  v: 2025-10-10T09:58:30+10:00
publisher:
  v: HL7
description:
  v: The recordTarget represents the medical record that this document belongs to. A clinical document typically has exactly one recordTarget participant. In the uncommon case where a clinical document (such as a group encounter note) is placed into more than one patient chart, more than one recordTarget participants can be stated. The recordTarget(s) of a document are stated in the header and propagate to nested content, where they cannot be overridden (see See CDA Context (§ 4.4 )).
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/RecordTarget
base definition:
  v: http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot
  link: http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot
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: RecordTarget
    path:
      v: RecordTarget
    short:
      v: Base for all types and resources
    definition:
      v: Defines the basic properties of every data value. This is an abstract type, meaning that no value can be just a data value without belonging to any concrete type. Every concrete type is a specialization of this general abstract DataValue type.
    min:
      v: 1
    max:
      v: 1
    base:
      path:
        v: Base
      min:
        v: 0
      max:
        v: *
    is modifier:
      v: false
    mapping:
      identity:
        v: rim
      map:
        v: n/a
  element:
    id:
      v: RecordTarget.nullFlavor
    path:
      v: RecordTarget.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: RecordTarget.realmCode
    path:
      v: RecordTarget.realmCode
    definition:
      v: When valued in an instance, this attribute signals the imposition of realm-specific constraints. The value of this attribute identifies the realm in question
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: InfrastructureRoot.realmCode
      min:
        v: 0
      max:
        v: *
    type:
      code:
        v: http://hl7.org/cda/stds/core/StructureDefinition/CS
  element:
    id:
      v: RecordTarget.typeId
    path:
      v: RecordTarget.typeId
    definition:
      v: When valued in an instance, this attribute signals the imposition of constraints defined in an HL7-specified message type. This might be a common type (also known as CMET in the messaging communication environment), or content included within a wrapper. The value of this attribute provides a unique identifier for the type in question.
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: InfrastructureRoot.typeId
      min:
        v: 0
      max:
        v: 1
    type:
      code:
        v: http://hl7.org/cda/stds/core/StructureDefinition/II
    constraint:
      key:
        v: II-1
      severity:
        v: error
      human:
        v: An II instance must have either a root or an nullFlavor.
      expression:
        v: root.exists() or nullFlavor.exists()
      source:
        v: http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot
        link: http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot
  element:
    id:
      v: RecordTarget.typeId.nullFlavor
    path:
      v: RecordTarget.typeId.nullFlavor
    representation:
      v: xmlAttr

v: Exceptional Value Detail

v: If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.

v: 0

v: 1

path:
  v: ANY.nullFlavor
min:
  v: 0
max:
  v: 1

code:
  v: code
profile:
  v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
  link: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple

strength:
  v: required
value set:
  v: http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor
  link: http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor

id:
  v: RecordTarget.typeId.assigningAuthorityName
path:
  v: RecordTarget.typeId.assigningAuthorityName
representation:
  v: xmlAttr
label:
  v: Assigning Authority Name
definition:
  v: A human readable name or mnemonic for the assigning authority. The Assigning Authority Name has no computational value. The purpose of a Assigning Authority Name is to assist an unaided human interpreter of an II value to interpret the authority. Note: no automated processing must depend on the assigning authority name to be present in any form.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: II.assigningAuthorityName
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/st-simple
    link: http://hl7.org/cda/stds/core/StructureDefinition/st-simple

id:
  v: RecordTarget.typeId.displayable
path:
  v: RecordTarget.typeId.displayable
representation:
  v: xmlAttr
label:
  v: Displayable
definition:
  v: Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: II.displayable
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/bl-simple
    link: http://hl7.org/cda/stds/core/StructureDefinition/bl-simple

id:
  v: RecordTarget.typeId.root
path:
  v: RecordTarget.typeId.root
representation:
  v: xmlAttr
label:
  v: Root
definition:
  v: Identifies the type as an HL7 Registered model
min:
  v: 1
max:
  v: 1
base:
  path:
    v: II.root
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/oid
    link: http://hl7.org/cda/stds/core/StructureDefinition/oid
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/uuid
    link: http://hl7.org/cda/stds/core/StructureDefinition/uuid
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/ruid
    link: http://hl7.org/cda/stds/core/StructureDefinition/ruid
fixed: string
  v: 2.16.840.1.113883.1.3

id:
  v: RecordTarget.typeId.extension
path:
  v: RecordTarget.typeId.extension
representation:
  v: xmlAttr
label:
  v: Extension
definition:
  v: A character string as a unique identifier within the scope of the identifier root.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: II.extension
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/st-simple
    link: http://hl7.org/cda/stds/core/StructureDefinition/st-simple

id:
  v: RecordTarget.templateId
path:
  v: RecordTarget.templateId
definition:
  v: When valued in an instance, this attribute signals the imposition of a set of template-defined constraints. The value of this attribute provides a unique identifier for the templates in question
min:
  v: 0
max:
  v: *
base:
  path:
    v: InfrastructureRoot.templateId
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/II

id:
  v: RecordTarget.typeCode
path:
  v: RecordTarget.typeCode
representation:
  v: xmlAttr
min:
  v: 0
max:
  v: 1
base:
  path:
    v: RecordTarget.typeCode
  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
fixed: code
  v: RCT
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/cda/stds/core/ValueSet/CDAParticipationType
    link: http://hl7.org/cda/stds/core/ValueSet/CDAParticipationType

id:
  v: RecordTarget.contextControlCode
path:
  v: RecordTarget.contextControlCode
representation:
  v: xmlAttr
min:
  v: 0
max:
  v: 1
base:
  path:
    v: RecordTarget.contextControlCode
  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
fixed: code
  v: OP
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/cda/stds/core/ValueSet/CDAContextControl
    link: http://hl7.org/cda/stds/core/ValueSet/CDAContextControl

id:
  v: RecordTarget.patientRole
path:
  v: RecordTarget.patientRole
min:
  v: 1
max:
  v: 1
base:
  path:
    v: RecordTarget.patientRole
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/PatientRole

element:
  id:
    v: RecordTarget
  path:
    v: RecordTarget
  min:
    v: 1
  max:
    v: 1
element:
  id:
    v: RecordTarget.typeCode
  path:
    v: RecordTarget.typeCode
  representation:
    v: xmlAttr
  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
  fixed: code
    v: RCT
  binding:
    strength:
      v: required
    value set:
      v: http://hl7.org/cda/stds/core/ValueSet/CDAParticipationType
      link: http://hl7.org/cda/stds/core/ValueSet/CDAParticipationType
element:
  id:
    v: RecordTarget.contextControlCode
  path:
    v: RecordTarget.contextControlCode
  representation:
    v: xmlAttr
  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
  fixed: code
    v: OP
  binding:
    strength:
      v: required
    value set:
      v: http://hl7.org/cda/stds/core/ValueSet/CDAContextControl
      link: http://hl7.org/cda/stds/core/ValueSet/CDAContextControl
element:
  id:
    v: RecordTarget.patientRole
  path:
    v: RecordTarget.patientRole
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: http://hl7.org/cda/stds/core/StructureDefinition/PatientRole