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
Official URL: http://hl7.org/cda/us/ccda/StructureDefinition/ProductInstance | Version: 4.0.0-ballot | |||
Draft as of 2024-11-21 | Computable Name: ProductInstance | |||
Other Identifiers: OID:2.16.840.1.113883.10.20.22.4.37 |
This clinical statement represents a particular device that was placed in a patient or used as part of a procedure or other act. This provides a record of the identifier and other details about the given product that was used. For example, it is important to have a record that indicates not just that a hip prostheses was placed in a patient but that it was a particular hip prostheses number with a unique identifier.
The FDA Amendments Act specifies the creation of a Unique Device Identification (UDI) System that requires the label of devices to bear a unique identifier that will standardize device identification and identify the device through distribution and use.
The FDA permits an issuing agency to designate that their Device Identifier (DI) + Production Identifier (PI) format qualifies as a UDI through a process of accreditation. Currently, there are three FDA-accredited issuing agencies that are allowed to call their format a UDI. These organizations are GS1, HIBCC, and ICCBBA. For additional information on technical formats that qualify as UDI from each of the issuing agencies see the UDI Appendix.
When communicating only the issuing agency device identifier (i.e., subcomponent of the UDI), the use of the issuing agency OID is appropriate. However, when communicating the unique device identifier (DI + PI), the FDA OID (2.16.840.1.113883.3.3719) must be used. When sending a UDI, populate the participantRole/id/@root with the FDA OID (2.16.840.1.113883.3.3719) and participantRole/id/@extension with the UDI.
When sending a DI, populate the participantRole/id/@root with the appropriate assigning agency OID and participantRole/id/@extension with the DI. The scopingEntity/id should correspond to FDA or the appropriate issuing agency.
Usage:
Description of Template, Differentials, Snapshots and how the different presentations work.
This structure is derived from ParticipantRole
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ParticipantRole | ParticipantRole | XML Namespace: urn:hl7-org:v3 Elements defined in Ancestors:@nullFlavor, realmCode, typeId, templateId, @classCode, id, sdtcIdentifiedBy, code, addr, telecom, playingDevice, playingEntity, scopingEntity Instance of this type are validated by templateId Logical Container: ClinicalDocument (CDA Class) | ||
Slices for templateId | 1..* | II | Slice: Unordered, Open by value:root | |
templateId:product-instance | 1..1 | II | ||
@root | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.10.20.22.4.37 | |
@extension | 0..0 | |||
@classCode | 1..1 | cs | Fixed Value: MANU | |
id | 1..* | II | ||
playingDevice | C | 1..1 | Device | should-code: SHOULD contain code |
code | 0..1 | CE | ||
scopingEntity | 1..1 | Entity | ||
id | 1..* | II | ||
Documentation for this format |
Id | Grade | Path(s) | Details | Requirements |
should-code | warning | ParticipantRole.playingDevice | SHOULD contain code : code.exists() |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ParticipantRole | C | 1..1 | ParticipantRole | XML Namespace: urn:hl7-org:v3 Elements defined in Ancestors:@nullFlavor, realmCode, typeId, templateId, @classCode, id, sdtcIdentifiedBy, code, addr, telecom, playingDevice, playingEntity, scopingEntity Base for all types and resources Instance of this type are validated by templateId Logical Container: ClinicalDocument (CDA Class) role-choice: playingDevice and playingEntity are mutually exclusive |
Slices for templateId | 1..* | II | Slice: Unordered, Open by value:root | |
templateId:product-instance | 1..1 | II | ||
@root | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.10.20.22.4.37 | |
@classCode | 1..1 | cs | Binding: CDARoleClassRoot (required) Fixed Value: MANU | |
id | 1..* | II | ||
playingDevice | C | 1..1 | Device | should-code: SHOULD contain code |
code | 0..1 | CE | Binding: CDAEntityCode (example) | |
scopingEntity | 1..1 | Entity | ||
id | 1..* | II | ||
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
ParticipantRole.classCode | required | Fixed Value: MANUhttp://hl7.org/cda/stds/core/ValueSet/CDARoleClassRoot | |
ParticipantRole.playingDevice.code | example | CDAEntityCodehttp://hl7.org/cda/stds/core/ValueSet/CDAEntityCode |
Id | Grade | Path(s) | Details | Requirements |
role-choice | error | ParticipantRole | playingDevice and playingEntity are mutually exclusive : (playingDevice | playingEntity).count() <= 1 | |
should-code | warning | ParticipantRole.playingDevice | SHOULD contain code : code.exists() |
Path | Conformance | ValueSet / Code | URI |
ParticipantRole.nullFlavor | required | CDANullFlavorhttp://hl7.org/cda/stds/core/ValueSet/CDANullFlavor | |
ParticipantRole.typeId.nullFlavor | required | CDANullFlavorhttp://hl7.org/cda/stds/core/ValueSet/CDANullFlavor | |
ParticipantRole.templateId:product-instance.nullFlavor | required | CDANullFlavorhttp://hl7.org/cda/stds/core/ValueSet/CDANullFlavor | |
ParticipantRole.classCode | required | Fixed Value: MANUhttp://hl7.org/cda/stds/core/ValueSet/CDARoleClassRoot | |
ParticipantRole.code | example | CDARoleCodehttp://hl7.org/cda/stds/core/ValueSet/CDARoleCode | |
ParticipantRole.playingDevice.nullFlavor | required | CDANullFlavorhttp://hl7.org/cda/stds/core/ValueSet/CDANullFlavor | |
ParticipantRole.playingDevice.typeId.nullFlavor | required | CDANullFlavorhttp://hl7.org/cda/stds/core/ValueSet/CDANullFlavor | |
ParticipantRole.playingDevice.classCode | required | EntityClassDevicehttp://terminology.hl7.org/ValueSet/v3-EntityClassDevice | |
ParticipantRole.playingDevice.determinerCode | required | Fixed Value: INSTANCEhttp://terminology.hl7.org/ValueSet/v3-EntityDeterminer | |
ParticipantRole.playingDevice.code | example | CDAEntityCodehttp://hl7.org/cda/stds/core/ValueSet/CDAEntityCode | |
ParticipantRole.playingDevice.manufacturerModelName | example | ManufacturerModelNameExamplehttp://terminology.hl7.org/ValueSet/v3-ManufacturerModelNameExample | |
ParticipantRole.playingDevice.softwareName | example | SoftwareNameExamplehttp://terminology.hl7.org/ValueSet/v3-SoftwareNameExample | |
ParticipantRole.scopingEntity.nullFlavor | required | CDANullFlavorhttp://hl7.org/cda/stds/core/ValueSet/CDANullFlavor | |
ParticipantRole.scopingEntity.typeId.nullFlavor | required | CDANullFlavorhttp://hl7.org/cda/stds/core/ValueSet/CDANullFlavor | |
ParticipantRole.scopingEntity.classCode | required | EntityClassRoothttp://terminology.hl7.org/ValueSet/v3-EntityClassRoot | |
ParticipantRole.scopingEntity.determinerCode | required | Fixed Value: INSTANCEhttp://terminology.hl7.org/ValueSet/v3-EntityDeterminer | |
ParticipantRole.scopingEntity.code | example | CDAEntityCodehttp://hl7.org/cda/stds/core/ValueSet/CDAEntityCode |
Id | Grade | Path(s) | Details | Requirements |
role-choice | error | ParticipantRole | playingDevice and playingEntity are mutually exclusive : (playingDevice | playingEntity).count() <= 1 | |
should-code | warning | ParticipantRole.playingDevice | SHOULD contain code : code.exists() |
This structure is derived from ParticipantRole
Summary
Mandatory: 8 elements
Fixed: 1 element
Prohibited: 1 element
Slices
This structure defines the following Slices:
Differential View
This structure is derived from ParticipantRole
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ParticipantRole | ParticipantRole | XML Namespace: urn:hl7-org:v3 Elements defined in Ancestors:@nullFlavor, realmCode, typeId, templateId, @classCode, id, sdtcIdentifiedBy, code, addr, telecom, playingDevice, playingEntity, scopingEntity Instance of this type are validated by templateId Logical Container: ClinicalDocument (CDA Class) | ||
Slices for templateId | 1..* | II | Slice: Unordered, Open by value:root | |
templateId:product-instance | 1..1 | II | ||
@root | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.10.20.22.4.37 | |
@extension | 0..0 | |||
@classCode | 1..1 | cs | Fixed Value: MANU | |
id | 1..* | II | ||
playingDevice | C | 1..1 | Device | should-code: SHOULD contain code |
code | 0..1 | CE | ||
scopingEntity | 1..1 | Entity | ||
id | 1..* | II | ||
Documentation for this format |
Id | Grade | Path(s) | Details | Requirements |
should-code | warning | ParticipantRole.playingDevice | SHOULD contain code : code.exists() |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ParticipantRole | C | 1..1 | ParticipantRole | XML Namespace: urn:hl7-org:v3 Elements defined in Ancestors:@nullFlavor, realmCode, typeId, templateId, @classCode, id, sdtcIdentifiedBy, code, addr, telecom, playingDevice, playingEntity, scopingEntity Base for all types and resources Instance of this type are validated by templateId Logical Container: ClinicalDocument (CDA Class) role-choice: playingDevice and playingEntity are mutually exclusive |
Slices for templateId | 1..* | II | Slice: Unordered, Open by value:root | |
templateId:product-instance | 1..1 | II | ||
@root | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.10.20.22.4.37 | |
@classCode | 1..1 | cs | Binding: CDARoleClassRoot (required) Fixed Value: MANU | |
id | 1..* | II | ||
playingDevice | C | 1..1 | Device | should-code: SHOULD contain code |
code | 0..1 | CE | Binding: CDAEntityCode (example) | |
scopingEntity | 1..1 | Entity | ||
id | 1..* | II | ||
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
ParticipantRole.classCode | required | Fixed Value: MANUhttp://hl7.org/cda/stds/core/ValueSet/CDARoleClassRoot | |
ParticipantRole.playingDevice.code | example | CDAEntityCodehttp://hl7.org/cda/stds/core/ValueSet/CDAEntityCode |
Id | Grade | Path(s) | Details | Requirements |
role-choice | error | ParticipantRole | playingDevice and playingEntity are mutually exclusive : (playingDevice | playingEntity).count() <= 1 | |
should-code | warning | ParticipantRole.playingDevice | SHOULD contain code : code.exists() |
Snapshot View
Path | Conformance | ValueSet / Code | URI |
ParticipantRole.nullFlavor | required | CDANullFlavorhttp://hl7.org/cda/stds/core/ValueSet/CDANullFlavor | |
ParticipantRole.typeId.nullFlavor | required | CDANullFlavorhttp://hl7.org/cda/stds/core/ValueSet/CDANullFlavor | |
ParticipantRole.templateId:product-instance.nullFlavor | required | CDANullFlavorhttp://hl7.org/cda/stds/core/ValueSet/CDANullFlavor | |
ParticipantRole.classCode | required | Fixed Value: MANUhttp://hl7.org/cda/stds/core/ValueSet/CDARoleClassRoot | |
ParticipantRole.code | example | CDARoleCodehttp://hl7.org/cda/stds/core/ValueSet/CDARoleCode | |
ParticipantRole.playingDevice.nullFlavor | required | CDANullFlavorhttp://hl7.org/cda/stds/core/ValueSet/CDANullFlavor | |
ParticipantRole.playingDevice.typeId.nullFlavor | required | CDANullFlavorhttp://hl7.org/cda/stds/core/ValueSet/CDANullFlavor | |
ParticipantRole.playingDevice.classCode | required | EntityClassDevicehttp://terminology.hl7.org/ValueSet/v3-EntityClassDevice | |
ParticipantRole.playingDevice.determinerCode | required | Fixed Value: INSTANCEhttp://terminology.hl7.org/ValueSet/v3-EntityDeterminer | |
ParticipantRole.playingDevice.code | example | CDAEntityCodehttp://hl7.org/cda/stds/core/ValueSet/CDAEntityCode | |
ParticipantRole.playingDevice.manufacturerModelName | example | ManufacturerModelNameExamplehttp://terminology.hl7.org/ValueSet/v3-ManufacturerModelNameExample | |
ParticipantRole.playingDevice.softwareName | example | SoftwareNameExamplehttp://terminology.hl7.org/ValueSet/v3-SoftwareNameExample | |
ParticipantRole.scopingEntity.nullFlavor | required | CDANullFlavorhttp://hl7.org/cda/stds/core/ValueSet/CDANullFlavor | |
ParticipantRole.scopingEntity.typeId.nullFlavor | required | CDANullFlavorhttp://hl7.org/cda/stds/core/ValueSet/CDANullFlavor | |
ParticipantRole.scopingEntity.classCode | required | EntityClassRoothttp://terminology.hl7.org/ValueSet/v3-EntityClassRoot | |
ParticipantRole.scopingEntity.determinerCode | required | Fixed Value: INSTANCEhttp://terminology.hl7.org/ValueSet/v3-EntityDeterminer | |
ParticipantRole.scopingEntity.code | example | CDAEntityCodehttp://hl7.org/cda/stds/core/ValueSet/CDAEntityCode |
Id | Grade | Path(s) | Details | Requirements |
role-choice | error | ParticipantRole | playingDevice and playingEntity are mutually exclusive : (playingDevice | playingEntity).count() <= 1 | |
should-code | warning | ParticipantRole.playingDevice | SHOULD contain code : code.exists() |
This structure is derived from ParticipantRole
Summary
Mandatory: 8 elements
Fixed: 1 element
Prohibited: 1 element
Slices
This structure defines the following Slices: