Consolidated CDA (C-CDA)
4.0.0-ballot - STU4 Ballot United States of America flag

Consolidated CDA (C-CDA), published by Health Level Seven. This guide is not an authorized publication; it is the continuous build for version 4.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/CDA-ccda/ and changes regularly. See the Directory of published versions

Logical Model: ProductInstance - Detailed Descriptions

Draft as of 2024-12-19

Definitions for the ProductInstance logical model.

Guidance on how to interpret the contents of this table can be found here

0. ParticipantRole
Logical ContainerClinicalDocument (CDA Class)
ValidationInstance of this type are validated by templateId
XML FormatIn the XML format, this property has the namespace urn:hl7-org:v3.
2. ParticipantRole.templateId
Control1..?
SlicingThis element introduces a set of slices on ParticipantRole.templateId. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ root
  • 4. ParticipantRole.templateId:product-instance
    Slice Nameproduct-instance
    Control1..1
    6. ParticipantRole.templateId:product-instance.root
    Control1..?
    Pattern Value2.16.840.1.113883.10.20.22.4.37
    8. ParticipantRole.templateId:product-instance.extension
    Control0..0
    10. ParticipantRole.classCode
    Comments

    SHALL contain exactly one [1..1] @classCode="MANU" Manufactured Product (CodeSystem: HL7RoleClass urn:oid:2.16.840.1.113883.5.110 STATIC) (CONF:81-7900).

    Control1..?
    Fixed ValueMANU
    12. ParticipantRole.id
    Comments

    SHALL contain at least one [1..*] id (CONF:81-7902).

    Control1..?
    14. ParticipantRole.playingDevice
    Comments

    SHALL contain exactly one [1..1] playingDevice (CONF:81-7903).

    Control1..?
    Invariantsshould-code: SHOULD contain code (code.exists())
    16. ParticipantRole.playingDevice.code
    Comments

    This playingDevice SHOULD contain zero or one [0..1] code (CONF:81-16837).

    18. ParticipantRole.scopingEntity
    Comments

    SHALL contain exactly one [1..1] scopingEntity (CONF:81-7905).

    Control1..?
    20. ParticipantRole.scopingEntity.id
    Comments

    This scopingEntity SHALL contain at least one [1..*] id (CONF:81-7908).

    Control1..?

    Guidance on how to interpret the contents of this table can be found here

    0. ParticipantRole
    Definition

    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.


    Base definition for all types defined in FHIR type system.

    ShortBase for all types and resources
    Control10..1*
    Is Modifierfalse
    Logical ContainerClinicalDocument (CDA Class)
    ValidationInstance of this type are validated by templateId
    XML FormatIn the XML format, this property has the namespace urn:hl7-org:v3.
    Invariantsrole-choice: playingDevice and playingEntity are mutually exclusive ((playingDevice | playingEntity).count() <= 1)
    2. ParticipantRole.nullFlavor
    Definition

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

    Control0..1
    BindingThe codes SHALL be taken from CDANullFlavor
    (required to http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor)
    Typecode(cs: Coded Simple Value)
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    XML FormatIn the XML format, this property is represented as an attribute.
    LabelExceptional Value Detail
    4. ParticipantRole.realmCode
    Definition

    When valued in an instance, this attribute signals the imposition of realm-specific constraints. The value of this attribute identifies the realm in question

    Control0..*
    Typehttp://hl7.org/cda/stds/core/StructureDefinition/CS
    6. ParticipantRole.typeId
    Definition

    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.

    Control0..1
    Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
    InvariantsII-1: An II instance must have either a root or an nullFlavor. (root.exists() or nullFlavor.exists())
    8. ParticipantRole.typeId.nullFlavor
    Definition

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

    Control0..1
    BindingThe codes SHALL be taken from CDANullFlavor
    (required to http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor)
    Typecode(cs: Coded Simple Value)
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    XML FormatIn the XML format, this property is represented as an attribute.
    LabelExceptional Value Detail
    10. ParticipantRole.typeId.assigningAuthorityName
    Definition

    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.

    Control0..1
    Typestring(st: Character String)
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    XML FormatIn the XML format, this property is represented as an attribute.
    LabelAssigning Authority Name
    12. ParticipantRole.typeId.displayable
    Definition

    Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).

    Control0..1
    Typeboolean(bl: Boolean)
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    XML FormatIn the XML format, this property is represented as an attribute.
    LabelDisplayable
    14. ParticipantRole.typeId.root
    Definition

    Identifies the type as an HL7 Registered model

    Control1..1
    Typestring(oid: ISO Object Identifier, uuid: DCE Universal Unique Identifier, ruid: HL7 Reserved Identifier Scheme)
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    XML FormatIn the XML format, this property is represented as an attribute.
    LabelRoot
    Fixed Value2.16.840.1.113883.1.3
    16. ParticipantRole.typeId.extension
    Definition

    A character string as a unique identifier within the scope of the identifier root.

    Control1..1
    Typestring(st: Character String)
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    XML FormatIn the XML format, this property is represented as an attribute.
    LabelExtension
    18. ParticipantRole.templateId
    Definition

    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

    Control1..*
    Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
    SlicingThis element introduces a set of slices on ParticipantRole.templateId. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ root
    • 20. ParticipantRole.templateId:product-instance
      Slice Nameproduct-instance
      Definition

      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

      Control1..1
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
      22. ParticipantRole.templateId:product-instance.nullFlavor
      Definition

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

      Control0..1
      BindingThe codes SHALL be taken from CDANullFlavor
      (required to http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor)
      Typecode(cs: Coded Simple Value)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelExceptional Value Detail
      24. ParticipantRole.templateId:product-instance.assigningAuthorityName
      Definition

      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.

      Control0..1
      Typestring(st: Character String)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelAssigning Authority Name
      26. ParticipantRole.templateId:product-instance.displayable
      Definition

      Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).

      Control0..1
      Typeboolean(bl: Boolean)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelDisplayable
      28. ParticipantRole.templateId:product-instance.root
      Definition

      A unique identifier that guarantees the global uniqueness of the instance identifier. The root alone may be the entire instance identifier.

      Control1..1
      Typestring(oid: ISO Object Identifier, uuid: DCE Universal Unique Identifier, ruid: HL7 Reserved Identifier Scheme)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelRoot
      Pattern Value2.16.840.1.113883.10.20.22.4.37
      30. ParticipantRole.templateId:product-instance.extension
      Definition

      A character string as a unique identifier within the scope of the identifier root.

      Control0..0
      Typestring(st: Character String)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelExtension
      32. ParticipantRole.classCode
      Comments

      SHALL contain exactly one [1..1] @classCode="MANU" Manufactured Product (CodeSystem: HL7RoleClass urn:oid:2.16.840.1.113883.5.110 STATIC) (CONF:81-7900).

      Control1..1
      BindingThe codes SHALL be taken from CDARoleClassRoot
      (required to http://hl7.org/cda/stds/core/ValueSet/CDARoleClassRoot)
      Typecode(cs: Coded Simple Value)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      Default ValueROL
      Fixed ValueMANU
      34. ParticipantRole.id
      Comments

      SHALL contain at least one [1..*] id (CONF:81-7902).

      Control1..*
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
      36. ParticipantRole.sdtcIdentifiedBy
      Control0..*
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/IdentifiedBy
      XML FormatIn the XML format, this property has the namespace urn:hl7-org:sdtc.In the XML format, this property has the actual nameidentifiedBy.
      38. ParticipantRole.code
      Control0..1
      BindingFor example codes, see CDARoleCode
      (example to http://hl7.org/cda/stds/core/ValueSet/CDARoleCode)
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/CE
      40. ParticipantRole.addr
      Control0..*
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/AD
      42. ParticipantRole.telecom
      Control0..*
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/TEL
      44. ParticipantRole.playingDevice
      Comments

      SHALL contain exactly one [1..1] playingDevice (CONF:81-7903).

      Control1..1
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/Device
      Invariantsshould-code: SHOULD contain code (code.exists())
      46. ParticipantRole.playingDevice.nullFlavor
      Definition

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

      Control0..1
      BindingThe codes SHALL be taken from CDANullFlavor
      (required to http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor)
      Typecode(cs: Coded Simple Value)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelExceptional Value Detail
      48. ParticipantRole.playingDevice.realmCode
      Definition

      When valued in an instance, this attribute signals the imposition of realm-specific constraints. The value of this attribute identifies the realm in question

      Control0..*
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/CS
      50. ParticipantRole.playingDevice.typeId
      Definition

      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.

      Control0..1
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
      InvariantsII-1: An II instance must have either a root or an nullFlavor. (root.exists() or nullFlavor.exists())
      52. ParticipantRole.playingDevice.typeId.nullFlavor
      Definition

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

      Control0..1
      BindingThe codes SHALL be taken from CDANullFlavor
      (required to http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor)
      Typecode(cs: Coded Simple Value)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelExceptional Value Detail
      54. ParticipantRole.playingDevice.typeId.assigningAuthorityName
      Definition

      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.

      Control0..1
      Typestring(st: Character String)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelAssigning Authority Name
      56. ParticipantRole.playingDevice.typeId.displayable
      Definition

      Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).

      Control0..1
      Typeboolean(bl: Boolean)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelDisplayable
      58. ParticipantRole.playingDevice.typeId.root
      Definition

      Identifies the type as an HL7 Registered model

      Control1..1
      Typestring(oid: ISO Object Identifier, uuid: DCE Universal Unique Identifier, ruid: HL7 Reserved Identifier Scheme)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelRoot
      Fixed Value2.16.840.1.113883.1.3
      60. ParticipantRole.playingDevice.typeId.extension
      Definition

      A character string as a unique identifier within the scope of the identifier root.

      Control1..1
      Typestring(st: Character String)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelExtension
      62. ParticipantRole.playingDevice.templateId
      Definition

      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

      Control0..*
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
      64. ParticipantRole.playingDevice.classCode
      Control0..1
      BindingThe codes SHALL be taken from EntityClassDevice
      (required to http://terminology.hl7.org/ValueSet/v3-EntityClassDevice)
      Typecode(cs: Coded Simple Value)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      Default ValueDEV
      66. ParticipantRole.playingDevice.determinerCode
      Control0..1
      BindingThe codes SHALL be taken from EntityDeterminer
      (required to http://terminology.hl7.org/ValueSet/v3-EntityDeterminer)
      Typecode(cs: Coded Simple Value)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      Fixed ValueINSTANCE
      68. ParticipantRole.playingDevice.code
      Comments

      This playingDevice SHOULD contain zero or one [0..1] code (CONF:81-16837).

      Control0..1
      BindingFor example codes, see CDAEntityCode
      (example to http://hl7.org/cda/stds/core/ValueSet/CDAEntityCode)
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/CE
      70. ParticipantRole.playingDevice.manufacturerModelName
      Control0..1
      BindingFor example codes, see Manufacturer Model Name Example
      (example to http://terminology.hl7.org/ValueSet/v3-ManufacturerModelNameExample)
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/SC
      72. ParticipantRole.playingDevice.softwareName
      Control0..1
      BindingFor example codes, see Software Name Example
      (example to http://terminology.hl7.org/ValueSet/v3-SoftwareNameExample)
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/SC
      74. ParticipantRole.playingEntity
      Control0..1
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/PlayingEntity
      76. ParticipantRole.scopingEntity
      Comments

      SHALL contain exactly one [1..1] scopingEntity (CONF:81-7905).

      Control1..1
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/Entity
      78. ParticipantRole.scopingEntity.nullFlavor
      Definition

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

      Control0..1
      BindingThe codes SHALL be taken from CDANullFlavor
      (required to http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor)
      Typecode(cs: Coded Simple Value)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelExceptional Value Detail
      80. ParticipantRole.scopingEntity.realmCode
      Definition

      When valued in an instance, this attribute signals the imposition of realm-specific constraints. The value of this attribute identifies the realm in question

      Control0..*
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/CS
      82. ParticipantRole.scopingEntity.typeId
      Definition

      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.

      Control0..1
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
      InvariantsII-1: An II instance must have either a root or an nullFlavor. (root.exists() or nullFlavor.exists())
      84. ParticipantRole.scopingEntity.typeId.nullFlavor
      Definition

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

      Control0..1
      BindingThe codes SHALL be taken from CDANullFlavor
      (required to http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor)
      Typecode(cs: Coded Simple Value)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelExceptional Value Detail
      86. ParticipantRole.scopingEntity.typeId.assigningAuthorityName
      Definition

      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.

      Control0..1
      Typestring(st: Character String)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelAssigning Authority Name
      88. ParticipantRole.scopingEntity.typeId.displayable
      Definition

      Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).

      Control0..1
      Typeboolean(bl: Boolean)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelDisplayable
      90. ParticipantRole.scopingEntity.typeId.root
      Definition

      Identifies the type as an HL7 Registered model

      Control1..1
      Typestring(oid: ISO Object Identifier, uuid: DCE Universal Unique Identifier, ruid: HL7 Reserved Identifier Scheme)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelRoot
      Fixed Value2.16.840.1.113883.1.3
      92. ParticipantRole.scopingEntity.typeId.extension
      Definition

      A character string as a unique identifier within the scope of the identifier root.

      Control1..1
      Typestring(st: Character String)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelExtension
      94. ParticipantRole.scopingEntity.templateId
      Definition

      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

      Control0..*
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
      96. ParticipantRole.scopingEntity.classCode
      Control0..1
      BindingThe codes SHALL be taken from EntityClassRoot
      (required to http://terminology.hl7.org/ValueSet/v3-EntityClassRoot)
      Typecode(cs: Coded Simple Value)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      Default ValueENT
      98. ParticipantRole.scopingEntity.determinerCode
      Control0..1
      BindingThe codes SHALL be taken from EntityDeterminer
      (required to http://terminology.hl7.org/ValueSet/v3-EntityDeterminer)
      Typecode(cs: Coded Simple Value)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      Fixed ValueINSTANCE
      100. ParticipantRole.scopingEntity.id
      Comments

      This scopingEntity SHALL contain at least one [1..*] id (CONF:81-7908).

      Control1..*
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
      102. ParticipantRole.scopingEntity.code
      Control0..1
      BindingFor example codes, see CDAEntityCode
      (example to http://hl7.org/cda/stds/core/ValueSet/CDAEntityCode)
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/CE
      104. ParticipantRole.scopingEntity.desc
      Control0..1
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/ED

      Guidance on how to interpret the contents of this table can be found here

      0. ParticipantRole
      Definition

      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.

      ShortBase for all types and resources
      Control1..1
      Is Modifierfalse
      Logical ContainerClinicalDocument (CDA Class)
      ValidationInstance of this type are validated by templateId
      XML FormatIn the XML format, this property has the namespace urn:hl7-org:v3.
      Invariantsrole-choice: playingDevice and playingEntity are mutually exclusive ((playingDevice | playingEntity).count() <= 1)
      2. ParticipantRole.nullFlavor
      Definition

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

      Control0..1
      BindingThe codes SHALL be taken from CDANullFlavor
      (required to http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor)
      Typecode(cs: Coded Simple Value)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelExceptional Value Detail
      4. ParticipantRole.realmCode
      Definition

      When valued in an instance, this attribute signals the imposition of realm-specific constraints. The value of this attribute identifies the realm in question

      Control0..*
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/CS
      6. ParticipantRole.typeId
      Definition

      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.

      Control0..1
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
      InvariantsII-1: An II instance must have either a root or an nullFlavor. (root.exists() or nullFlavor.exists())
      8. ParticipantRole.typeId.nullFlavor
      Definition

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

      Control0..1
      BindingThe codes SHALL be taken from CDANullFlavor
      (required to http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor)
      Typecode(cs: Coded Simple Value)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelExceptional Value Detail
      10. ParticipantRole.typeId.assigningAuthorityName
      Definition

      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.

      Control0..1
      Typestring(st: Character String)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelAssigning Authority Name
      12. ParticipantRole.typeId.displayable
      Definition

      Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).

      Control0..1
      Typeboolean(bl: Boolean)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelDisplayable
      14. ParticipantRole.typeId.root
      Definition

      Identifies the type as an HL7 Registered model

      Control1..1
      Typestring(oid: ISO Object Identifier, uuid: DCE Universal Unique Identifier, ruid: HL7 Reserved Identifier Scheme)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelRoot
      Fixed Value2.16.840.1.113883.1.3
      16. ParticipantRole.typeId.extension
      Definition

      A character string as a unique identifier within the scope of the identifier root.

      Control1..1
      Typestring(st: Character String)
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      XML FormatIn the XML format, this property is represented as an attribute.
      LabelExtension
      18. ParticipantRole.templateId
      Definition

      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

      Control1..*
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
      SlicingThis element introduces a set of slices on ParticipantRole.templateId. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ root
      • 20. ParticipantRole.templateId:product-instance
        Slice Nameproduct-instance
        Definition

        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

        Control1..1
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
        22. ParticipantRole.templateId:product-instance.nullFlavor
        Definition

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

        Control0..1
        BindingThe codes SHALL be taken from CDANullFlavor
        (required to http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor)
        Typecode(cs: Coded Simple Value)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        LabelExceptional Value Detail
        24. ParticipantRole.templateId:product-instance.assigningAuthorityName
        Definition

        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.

        Control0..1
        Typestring(st: Character String)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        LabelAssigning Authority Name
        26. ParticipantRole.templateId:product-instance.displayable
        Definition

        Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).

        Control0..1
        Typeboolean(bl: Boolean)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        LabelDisplayable
        28. ParticipantRole.templateId:product-instance.root
        Definition

        A unique identifier that guarantees the global uniqueness of the instance identifier. The root alone may be the entire instance identifier.

        Control1..1
        Typestring(oid: ISO Object Identifier, uuid: DCE Universal Unique Identifier, ruid: HL7 Reserved Identifier Scheme)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        LabelRoot
        Pattern Value2.16.840.1.113883.10.20.22.4.37
        30. ParticipantRole.templateId:product-instance.extension
        Definition

        A character string as a unique identifier within the scope of the identifier root.

        Control0..0
        Typestring(st: Character String)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        LabelExtension
        32. ParticipantRole.classCode
        Comments

        SHALL contain exactly one [1..1] @classCode="MANU" Manufactured Product (CodeSystem: HL7RoleClass urn:oid:2.16.840.1.113883.5.110 STATIC) (CONF:81-7900).

        Control1..1
        BindingThe codes SHALL be taken from CDARoleClassRoot
        (required to http://hl7.org/cda/stds/core/ValueSet/CDARoleClassRoot)
        Typecode(cs: Coded Simple Value)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        Default ValueROL
        Fixed ValueMANU
        34. ParticipantRole.id
        Comments

        SHALL contain at least one [1..*] id (CONF:81-7902).

        Control1..*
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
        36. ParticipantRole.sdtcIdentifiedBy
        Control0..*
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/IdentifiedBy
        XML FormatIn the XML format, this property has the namespace urn:hl7-org:sdtc.In the XML format, this property has the actual nameidentifiedBy.
        38. ParticipantRole.code
        Control0..1
        BindingFor example codes, see CDARoleCode
        (example to http://hl7.org/cda/stds/core/ValueSet/CDARoleCode)
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/CE
        40. ParticipantRole.addr
        Control0..*
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/AD
        42. ParticipantRole.telecom
        Control0..*
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/TEL
        44. ParticipantRole.playingDevice
        Comments

        SHALL contain exactly one [1..1] playingDevice (CONF:81-7903).

        Control1..1
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/Device
        Invariantsshould-code: SHOULD contain code (code.exists())
        46. ParticipantRole.playingDevice.nullFlavor
        Definition

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

        Control0..1
        BindingThe codes SHALL be taken from CDANullFlavor
        (required to http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor)
        Typecode(cs: Coded Simple Value)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        LabelExceptional Value Detail
        48. ParticipantRole.playingDevice.realmCode
        Definition

        When valued in an instance, this attribute signals the imposition of realm-specific constraints. The value of this attribute identifies the realm in question

        Control0..*
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/CS
        50. ParticipantRole.playingDevice.typeId
        Definition

        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.

        Control0..1
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
        InvariantsII-1: An II instance must have either a root or an nullFlavor. (root.exists() or nullFlavor.exists())
        52. ParticipantRole.playingDevice.typeId.nullFlavor
        Definition

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

        Control0..1
        BindingThe codes SHALL be taken from CDANullFlavor
        (required to http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor)
        Typecode(cs: Coded Simple Value)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        LabelExceptional Value Detail
        54. ParticipantRole.playingDevice.typeId.assigningAuthorityName
        Definition

        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.

        Control0..1
        Typestring(st: Character String)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        LabelAssigning Authority Name
        56. ParticipantRole.playingDevice.typeId.displayable
        Definition

        Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).

        Control0..1
        Typeboolean(bl: Boolean)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        LabelDisplayable
        58. ParticipantRole.playingDevice.typeId.root
        Definition

        Identifies the type as an HL7 Registered model

        Control1..1
        Typestring(oid: ISO Object Identifier, uuid: DCE Universal Unique Identifier, ruid: HL7 Reserved Identifier Scheme)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        LabelRoot
        Fixed Value2.16.840.1.113883.1.3
        60. ParticipantRole.playingDevice.typeId.extension
        Definition

        A character string as a unique identifier within the scope of the identifier root.

        Control1..1
        Typestring(st: Character String)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        LabelExtension
        62. ParticipantRole.playingDevice.templateId
        Definition

        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

        Control0..*
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
        64. ParticipantRole.playingDevice.classCode
        Control0..1
        BindingThe codes SHALL be taken from EntityClassDevice
        (required to http://terminology.hl7.org/ValueSet/v3-EntityClassDevice)
        Typecode(cs: Coded Simple Value)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        Default ValueDEV
        66. ParticipantRole.playingDevice.determinerCode
        Control0..1
        BindingThe codes SHALL be taken from EntityDeterminer
        (required to http://terminology.hl7.org/ValueSet/v3-EntityDeterminer)
        Typecode(cs: Coded Simple Value)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        Fixed ValueINSTANCE
        68. ParticipantRole.playingDevice.code
        Comments

        This playingDevice SHOULD contain zero or one [0..1] code (CONF:81-16837).

        Control0..1
        BindingFor example codes, see CDAEntityCode
        (example to http://hl7.org/cda/stds/core/ValueSet/CDAEntityCode)
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/CE
        70. ParticipantRole.playingDevice.manufacturerModelName
        Control0..1
        BindingFor example codes, see Manufacturer Model Name Example
        (example to http://terminology.hl7.org/ValueSet/v3-ManufacturerModelNameExample)
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/SC
        72. ParticipantRole.playingDevice.softwareName
        Control0..1
        BindingFor example codes, see Software Name Example
        (example to http://terminology.hl7.org/ValueSet/v3-SoftwareNameExample)
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/SC
        74. ParticipantRole.playingEntity
        Control0..1
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/PlayingEntity
        76. ParticipantRole.scopingEntity
        Comments

        SHALL contain exactly one [1..1] scopingEntity (CONF:81-7905).

        Control1..1
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/Entity
        78. ParticipantRole.scopingEntity.nullFlavor
        Definition

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

        Control0..1
        BindingThe codes SHALL be taken from CDANullFlavor
        (required to http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor)
        Typecode(cs: Coded Simple Value)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        LabelExceptional Value Detail
        80. ParticipantRole.scopingEntity.realmCode
        Definition

        When valued in an instance, this attribute signals the imposition of realm-specific constraints. The value of this attribute identifies the realm in question

        Control0..*
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/CS
        82. ParticipantRole.scopingEntity.typeId
        Definition

        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.

        Control0..1
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
        InvariantsII-1: An II instance must have either a root or an nullFlavor. (root.exists() or nullFlavor.exists())
        84. ParticipantRole.scopingEntity.typeId.nullFlavor
        Definition

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

        Control0..1
        BindingThe codes SHALL be taken from CDANullFlavor
        (required to http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor)
        Typecode(cs: Coded Simple Value)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        LabelExceptional Value Detail
        86. ParticipantRole.scopingEntity.typeId.assigningAuthorityName
        Definition

        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.

        Control0..1
        Typestring(st: Character String)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        LabelAssigning Authority Name
        88. ParticipantRole.scopingEntity.typeId.displayable
        Definition

        Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).

        Control0..1
        Typeboolean(bl: Boolean)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        LabelDisplayable
        90. ParticipantRole.scopingEntity.typeId.root
        Definition

        Identifies the type as an HL7 Registered model

        Control1..1
        Typestring(oid: ISO Object Identifier, uuid: DCE Universal Unique Identifier, ruid: HL7 Reserved Identifier Scheme)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        LabelRoot
        Fixed Value2.16.840.1.113883.1.3
        92. ParticipantRole.scopingEntity.typeId.extension
        Definition

        A character string as a unique identifier within the scope of the identifier root.

        Control1..1
        Typestring(st: Character String)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        LabelExtension
        94. ParticipantRole.scopingEntity.templateId
        Definition

        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

        Control0..*
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
        96. ParticipantRole.scopingEntity.classCode
        Control0..1
        BindingThe codes SHALL be taken from EntityClassRoot
        (required to http://terminology.hl7.org/ValueSet/v3-EntityClassRoot)
        Typecode(cs: Coded Simple Value)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        Default ValueENT
        98. ParticipantRole.scopingEntity.determinerCode
        Control0..1
        BindingThe codes SHALL be taken from EntityDeterminer
        (required to http://terminology.hl7.org/ValueSet/v3-EntityDeterminer)
        Typecode(cs: Coded Simple Value)
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        Fixed ValueINSTANCE
        100. ParticipantRole.scopingEntity.id
        Comments

        This scopingEntity SHALL contain at least one [1..*] id (CONF:81-7908).

        Control1..*
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
        102. ParticipantRole.scopingEntity.code
        Control0..1
        BindingFor example codes, see CDAEntityCode
        (example to http://hl7.org/cda/stds/core/ValueSet/CDAEntityCode)
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/CE
        104. ParticipantRole.scopingEntity.desc
        Control0..1
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/ED