RelatedSubject
type: StructureDefinition
node role: treeRoot
id:
  v: RelatedSubject
text:
  status:
    v: generated
  div: A subject is a person playing one of several possible roles (RelatedSubject class). The entity playing the role is a person (SubjectPerson class).
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: relatedSubject
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/RelatedSubject
version:
  v: 1.0.1
name:
  v: RelatedSubject
title:
  v: RelatedSubject (CDA Class)
status:
  v: active
experimental:
  v: false
date:
  v: 2025-10-10T09:58:30+10:00
publisher:
  v: HL7
description:
  v: A subject is a person playing one of several possible roles (RelatedSubject class). The entity playing the role is a person (SubjectPerson class).
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/RelatedSubject
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: RelatedSubject
    path:
      v: RelatedSubject
    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: RelatedSubject.nullFlavor
    path:
      v: RelatedSubject.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: RelatedSubject.realmCode
    path:
      v: RelatedSubject.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: RelatedSubject.typeId
    path:
      v: RelatedSubject.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: RelatedSubject.typeId.nullFlavor
    path:
      v: RelatedSubject.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: RelatedSubject.typeId.assigningAuthorityName
path:
  v: RelatedSubject.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: RelatedSubject.typeId.displayable
path:
  v: RelatedSubject.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: RelatedSubject.typeId.root
path:
  v: RelatedSubject.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: RelatedSubject.typeId.extension
path:
  v: RelatedSubject.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: RelatedSubject.templateId
path:
  v: RelatedSubject.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: RelatedSubject.classCode
path:
  v: RelatedSubject.classCode
representation:
  v: xmlAttr
min:
  v: 0
max:
  v: 1
base:
  path:
    v: RelatedSubject.classCode
  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
default value: code
  v: PRS

id:
  v: RelatedSubject.sdtcId
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/xml-namespace
  value: uri
    v: urn:hl7-org:sdtc
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/xml-name
  value: string
    v: id
path:
  v: RelatedSubject.sdtcId
definition:
  v: A CDA Document identifies each participant through the application of a role identifier. This identifier can be used to trace the participation of an entity in a given role, but cannot necessarily be used to determine that two entities are the same. While more role identities could be provided whose intended use is to unify the entities, this is better modeled through the use of an entity identifier. Therefore, to facilitate this capability, this guide defines an extension to CDA Release 2.0 that allows the person or organization playing the role to be uniquely identified, by the inclusion of an identifier on the entity.
min:
  v: 0
max:
  v: *
base:
  path:
    v: RelatedSubject.sdtcId
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/II

id:
  v: RelatedSubject.code
path:
  v: RelatedSubject.code
min:
  v: 0
max:
  v: 1
base:
  path:
    v: RelatedSubject.code
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/CE
binding:
  strength:
    v: example
  value set:
    v: http://terminology.hl7.org/ValueSet/v3-PersonalRelationshipRoleType
    link: http://terminology.hl7.org/ValueSet/v3-PersonalRelationshipRoleType

id:
  v: RelatedSubject.addr
path:
  v: RelatedSubject.addr
min:
  v: 0
max:
  v: *
base:
  path:
    v: RelatedSubject.addr
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/AD

id:
  v: RelatedSubject.telecom
path:
  v: RelatedSubject.telecom
min:
  v: 0
max:
  v: *
base:
  path:
    v: RelatedSubject.telecom
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/TEL

id:
  v: RelatedSubject.subject
path:
  v: RelatedSubject.subject
min:
  v: 0
max:
  v: 1
base:
  path:
    v: RelatedSubject.subject
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/SubjectPerson

element:
  id:
    v: RelatedSubject
  path:
    v: RelatedSubject
  min:
    v: 1
  max:
    v: 1
element:
  id:
    v: RelatedSubject.classCode
  path:
    v: RelatedSubject.classCode
  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
  default value: code
    v: PRS
element:
  id:
    v: RelatedSubject.sdtcId
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/xml-namespace
    value: uri
      v: urn:hl7-org:sdtc
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/xml-name
    value: string
      v: id
  path:
    v: RelatedSubject.sdtcId
  definition:
    v: A CDA Document identifies each participant through the application of a role identifier. This identifier can be used to trace the participation of an entity in a given role, but cannot necessarily be used to determine that two entities are the same. While more role identities could be provided whose intended use is to unify the entities, this is better modeled through the use of an entity identifier. Therefore, to facilitate this capability, this guide defines an extension to CDA Release 2.0 that allows the person or organization playing the role to be uniquely identified, by the inclusion of an identifier on the entity.
  min:
    v: 0
  max:
    v: *
  type:
    code:
      v: http://hl7.org/cda/stds/core/StructureDefinition/II
element:
  id:
    v: RelatedSubject.code
  path:
    v: RelatedSubject.code
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: http://hl7.org/cda/stds/core/StructureDefinition/CE
  binding:
    strength:
      v: example
    value set:
      v: http://terminology.hl7.org/ValueSet/v3-PersonalRelationshipRoleType
      link: http://terminology.hl7.org/ValueSet/v3-PersonalRelationshipRoleType
element:
  id:
    v: RelatedSubject.addr
  path:
    v: RelatedSubject.addr
  min:
    v: 0
  max:
    v: *
  type:
    code:
      v: http://hl7.org/cda/stds/core/StructureDefinition/AD
element:
  id:
    v: RelatedSubject.telecom
  path:
    v: RelatedSubject.telecom
  min:
    v: 0
  max:
    v: *
  type:
    code:
      v: http://hl7.org/cda/stds/core/StructureDefinition/TEL
element:
  id:
    v: RelatedSubject.subject
  path:
    v: RelatedSubject.subject
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: http://hl7.org/cda/stds/core/StructureDefinition/SubjectPerson