DraftCheck

From HL7 Publishing Wiki
Revision as of 19:25, 11 January 2018 by Calvin Beebe (talk | contribs) (→‎Body)
Jump to navigation Jump to search

Editing tips and notes

Return to master table of contents

Contents

1 CDA Overview

(content on separate page)

2 Introduction to CDA Technical Artifacts

(content on separate page)

3 CDA Document Exchange in HL7 Messages

(content on separate page)

4 CDA Templating

(content on separate page)

5 CDA Design

NOTE: The definitive description of HL7 V3 model refinement, R-MIM development and interpretation can be found here.

The CDA R-MIM POCD_RM000040UV02 can be found here: Link to wide graphic (opens in a new window)

A CDA document is comprised of a header and a body. The header identifies and classifies the document; provides information on authentication, the encounter, the patient, and the provider; and sets the context for the document as a whole. The body contains the clinical report, and is conceptually divided up into nested sections, each containing a narrative block to be rendered along with structured entries and external references.

5.1 Clinical Document

The ClinicalDocument class is the entry point into the CDA R-MIM, and corresponds to the <ClinicalDocument> XML element that is the root element of a CDA document instance. This section will outline the CDA Document's physical design, first in the header and then the body.

A CDA document is logically broken up into a CDA Header and a CDA Body. The CDA Header is comprised of ClinicalDocument attributes, participants, and act relationships. The CDA Body is the target of the ClinicalDocument component act relationship.

5.2 Header

The purpose of the CDA header is to enable clinical document exchange across and within institutions; facilitate clinical document management; and facilitate compilation of an individual patient's clinical documents into a lifetime electronic patient record. The CDA header sets the context for the document as a whole and the context for understanding the content contained in the document.

5.2.1 ClinicalDocument

The CDA schema was produced by serialization of the CDA model. The starting point for his serialization was the ClinicalDocument class. The ClinicalDocument is the root element in a CDA document instance.

Authenicator

5.2.1.1 ClinicalDocument Attributes

This section describes attributes defined in the ClinicalDocument class.

The table below identifies the attributes of ClinicalDocument. For each item, the name is provided, along with the data type, wire cardinality*, code bindings, and binding type or strength. The links allow will access to the item's definition, data type definition, and when appropriate, the concept domain or value set used with the item.

Table X: ClinicalDocument Attributes
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] DOCCLIN Fixed
moodCode CS [0..1] EVN Fixed
typeId II [1..1]
templateId II [0..*]
id II [1..1]
code CE [1..1] D:DocumentType Open
title ST [0..1]
effectiveTime TS [0..1]
confidentialityCode SET<CE> [0..*] V:x_BasicConfidentialityKind Open
languageCode CS [0..1] D:HumanLanguage Closed
setId II [0..1]
versionNumber ST [0..1]
copyTime (Deprecated) TS [0..1]

Note*: The wire cardinality represents is the effective cardinality of an element, taking into account 1.3.1 Recipient Responsibilities, relaxation of the requirement to exchange fixed and defaulted values. The logical cardinality expressed in the CDA Hierarchical Description is still present, but assumed by the recipient, not imposed on the wire format of an instance of a CDA document.


ClinicalDocument.classCode

The ClinicalDocument.classCode in the CDA model is fixed to "DOCCLIN". As a result, in the CDA R2.1 Schema, the ClinicalDocument/@classCode has been fixed to "DOCCLIN".

As noted in section 1.3.1 Recipient Responsibilities, fixed and default values asserted in this standard are not required to be present in CDA document instances. However, CDA Implementation Guides can still require them via conformance statements.

Table X: Fixed ClinicalDocument.classCode
Code Display Name
DOCCLIN clinical document
Code System: ActClass (HL7) Code System OID: 2.16.840.1.113883.5.6

ClinicalDocument.moodCode

The ClinicalDocument.moodCode in the CDA model is fixed to "EVN" or event mood to indicate that this is documentation of a past service. In the CDA R2.1 Schema, the ClinicalDocument/@moodCode has been fixed to "EVN".

Table X: Fixed ClinicalDocument.moodCode
Code Display Name
EVN event
Code System: ActMood (HL7) Code System OID: 2.16.840.1.113883.5.1001

The ClinicalDocument class inherits various attributes from the InfrastructureRoot class of the RIM, including ClinicalDocument.templateId and ClinicalDocument.typeId which are discussed here. All CDA classes inherit from infrastructureRoot, which is discussed in Section (link here).

ClinicalDocument.typeId

ClinicalDocument.typeId is a technology-neutral explicit reference to this CDA, Release Two specification, and must be valued as follows: ClinicalDocument.typeId.root = "2.16.840.1.113883.1.3" (which is the OID for HL7 Registered models); ClinicalDocument.typeId.extension = "POCD_HD000040UV20" (which is the unique identifier for the CDA, Release Two Hierarchical Description).

ClinicalDocument.templateId

When a templateId is present in a CDA element, it signals the imposition of a set of template-defined constraints for that element. The templateId is one of the infrastructure attributes added to all CDA classes. It has only been displayed for ClinicalDocument, but is present in all CDA classes, where it can be used to identify constraints defined in an external Implementation Guide template. See 4.3.2 Template Versioning.

ClinicalDocument.id

Represents the unique instance identifier of a clinical document.

ClinicalDocument.code

The code specifying the particular kind of document (e.g. History and Physical, Discharge Summary, Progress Note). The value set is drawn from LOINC, and has a CWE coding strength.

Within the LOINC database, beginning with version 2.09, May 2003, document type codes are those that have a value of "DOC" in the Scale component. This subset of LOINC is described in the appendix (see LOINC Document Codes).

ClinicalDocument.title

Represents the title of the document. It's commonly the case that clinical documents do not have a title, and are collectively referred to by the display name of ClinicalDocument.code (e.g. a "consultation" or "progress note"). Where these display names are rendered to the clinician, or where the document has a unique title, the ClinicalDocument.title component should be used. In the example document in the appendix (see Sample Document), the value of ClinicalDocument.title = "Good Health Clinic Consultation Note".

ClinicalDocument.effectiveTime

Signifies the document creation time, when the document first came into being. Where the CDA document is a transform from an original document in some other format, the ClinicalDocument.effectiveTime is the time the original document was created. The time when the transform occurred is not currently represented in CDA.

ClinicalDocument.ConfidentialityCode

Confidentiality is a required contextual component of CDA, where the value expressed in the header holds true for the entire document, unless overridden by a nested value (as further described in CDA Context). A best practice for clinical documents is to assert the highest level of confidentiality present within a document at the header level.

Table X: Value set for ClinicalDocument.confidentialityCode
x_BasicConfidentialityKind [2.16.840.1.113883.1.11.16926] (OPEN)
Code Display Name Code Display Name
N normal R restricted
V very restricted
Code System: Confidentiality (HL7) Code System OID: 2.16.840.1.113883.5.25

* The codeSystem value is included here because confidentialityCode is of type CE, and therefore must carry both a code and a codeSystem.

ClinicalDocument.languageCode

Specifies the human language of character data (whether they be in contents or attribute values). The values of the attribute are language identifiers as defined by the IETF (Internet Engineering Task Force) RFC 3066 for the Identification of Languages, ed. H. Alvestrand. 1995, which obsoletes RFC 1766. The HL7 code system for these values is "2.16.840.1.113883.6.121". Language is a contextual component of CDA, where the value expressed in the header holds true for the entire document, unless overridden by a nested value (as further described in CDA Context).

ClinicalDocument.setId

Represents an identifier that is common across all document revisions.

ClinicalDocument.versionNumber

A string used to represent the version of the document. For CDA R2.1 we use the ST data type as defined in the HL7 Version 3 Standard: XML Implementation Technology Specification - Wire Format Compatible Release 1 Data Types, Release 1 (XML ITS R2B). We have adopted, for all versionNumber references in CDA R2.1, this data type because it supports an @value attribute, and can support wire format compatibility with the versionNumber in CDA R2.0.

ClinicalDocument.copyTime (Deprecated)

Represents the time a document is released (i.e. copied or sent to a display device) from a document management system that maintains revision control over the document. Once valued, it cannot be changed. The intent is to give the viewer of the document some notion as to how long the document has been out of the safe context of its document management system.

Included for backwards compatibility with CDA, Release One. ClinicalDocument.copyTime has been deprecated because it is not part of the document at the time it is authenticated, but instead represents metadata about the document, applied at some variable time after authentication. Further use is discouraged.

5.2.2 Header Participants

This section describes classes related to the root ClinicalDocument class via a Participation.

5.2.2.1 authenticator

authenicator

Represents a participant who has attested to the accuracy of the document, but who does not have privileges to legally authenticate the document. An example would be a resident physician who sees a patient and dictates a note, then later signs it. (See also legalAuthenticator)

A clinical document can have zero to many authenticators. Both authentication and legal authentication require that a document has been signed manually or electronically by the responsible individual.

Table X: Authenicator
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
typeCode CS [0..1] AUTHEN Fixed
time TS [1..1]
signatureCode CV [0..1] S Fixed
signatureText ED [0..1]

authenticator.typeCode

The authenticator.typeCode is fixed to "AUTHEN" to indicate that a participant has attested his participation through a signature.

Table X: Fixed authenticator.typeCode
Code Display Name
AUTHEN authenticator
Code System: ParticipationType (HL7) Code System OID: 2.16.840.1.113883.5.90

authenticator.time

Authenticator has a required authenticator.time indicating the time of authentication.

authenticator.signatureCode

Authenicator has a required authenticator.signatureCode, indicating that a signature has been obtained and is on file.

Table X: Fixed authenticator.signatureCode
Code Display Name
S (Fixed) signed
Code System: ParticipationSignature (HL7) Code System OID: 2.16.840.1.113883.5.89

Note: CDA Release One represented either an intended ("X") or actual ("S") authenticator. CDA Release 2 and 2.1 only represents an actual authenticator, so usage of "X" and "I" are deprecated.

authenticator.signatureText

A new attribute, SignatureText has been added to authenticator. The signature can be represented either inline or by reference according to the ED data type. Typical cases are:

  1. Paper-based signatures: the ED data type may refer to a document or other resource that can be retrieved through an electronic interface to a hardcopy archive.
  2. Electronic signature: this attribute can represent virtually any electronic signature scheme.
  3. Digital signature: this attribute can represent digital signatures by reference to a signature data block that is constructed in accordance to a digital signature standard, such as XML-DSIG, PKCS#7, PGP, etc.
5.2.2.1.1 AssignedEntity

An authenticator is a person in the role of an assigned entity (AssignedEntity class). An assigned entity is a person assigned to the role by the scoping organization. The entity playing the role is a person (Person class). The entity scoping the role is an organization (Organization class). (See here for a description of "player" and "scoper" role associations.)

Table X: AssignedEntity
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] ASSIGNED Fixed
id SET<II> [1..*]
code CE [0..1] D:RoleCode Open
addr SET<AD> [0..*]
telecom SET<TEL> [0..*]

AssignedEntity.classCode

The classCode is fixed to "ASSIGNED", which is used in this context to indicate that a person in the employ of an organization was acting as their agent.

Table X: Fixed AssignedEntity.classCode
Code Display Name
ASSIGNED assigned entity
Code System: RoleClass (HL7) Code System OID: 2.16.840.1.113883.5.110

AssignedEntity.id

In this context, it is a unique identifier for the person in this Role.

AssignedEntity.code

Identifies the specific kind of Role to which an Role-instance belongs. The AssignedEntity.code is bound to D:RoleCode, which enables any code from the HL7 RoleCode vocabulary.

AssignedEntity.addr

A postal address for the Entity while in the Role.

AssignedEntity.telecom

A telecommunication address for the Entity while in the Role.

5.2.2.1.2 Person

Refer to Person as defined for Author participation.

5.2.2.1.3 Organization
Table X: Organization
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] ORG Fixed
determinerCode CS [0..1] INSTANCE Fixed
id SET<II> [0..*]
name SET<ON> [0..1]
telecom SET<TEL> [0..*]
addr SET<AD> [0..*]
standardIndustryClassCode CE [0..1] D:OrganizationIndustryClass

Organization.classCode With the code fixed to "ORG", it indicates we are referencing an Organization.

Table X: Fixed Organization.classCode
Code Display Name
ORG organization
Code System: EntityClass (HL7) Code System OID: 2.16.840.1.113883.5.41

Organization.determinerCode

The determinerCode is fixed to "INSTANCE", which indicates that the scoping organization referenced, is a specific instance of an organization.

Table X: Fixed Organization.determinerCode
Code Display Name
INSTANCE specific
Code System: EntityDeterminer (HL7) Code System OID: 2.16.840.1.113883.5.30

Organization.id

A unique identifier for the Organization.

Organization.name

A non-unique textual identifier or moniker for the organization.

Organization.telecom

A telecommunication address for the Organization.

Organization.addr

The postal or residential address of an organization.

Organization.standardIndustryClassCode

A code which identifies the industrial category of an organization. In the US Realm, it has been bound to the Code System: North American Industry Classification System [2.16.840.1.113883.6.85] (NAICS). The binding type is Open, so other code system and values sets may be used in the US and other realms. D:OrganizationIndustryClass

5.2.2.1.4 OrganizationPartOf

A scoping organization can be part of a larger organization. Where there is a need to include whole-part relationships, the OrganizationPartOf role can be used. OrganizationPartOf.statusCode indicates the state of the whole-part relationship (e.g. "active", "terminated").

Table X: OrganizationPartOf
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] PART Fixed
id SET<II> [1..*]
code CE [0..1] D:RoleCode Open
statusCode CS [0..1] V:RoleStatus Closed
effectiveTime IVL<TS > [0..1]


OrganizationPartOf.classCode

Table X: Fixed OrganizationPartOf.classCode
Code Display Name
PART part
Code System: RoleClass (HL7) Code System OID: 2.16.840.1.113883.5.110

OrganizationPartOf.id

A unique identifier for the player organization in this Role.

OrganizationPartOf.code

The specific kind of Role to which an Role-instance belongs.

OrganizationPartOf.statusCode

The state of this Role as defined in the state-transition model.

Table X: Value set for OrganizationPartOf.statusCode
V:RoleStatus [2.16.840.1.113883.5.1068] (CLOSED)
Code Display Name Code Display Name
normal normal active active
cancelled cancelled pending pending
suspended suspended terminated terminated
nullified nullified
Code System: RoleStatus (HL7) Code System OID: 2.16.840.1.113883.5.1068

OrganizationPartOf.effectiveTime

The OrganizationPartOf.effectiveTime is an interval of time specifying the period during which the whole-part relationhship is in effect, if such time limit is applicable and known.

5.2.2.2 author

Represents the humans and/or machines that authored the document.

Table X: author
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
typeCode CS [0..1] AUT Fixed
functionCode CE [0..1] D:ParticipationFunction Open
contextControlCode CS [0..1] OP Fixed
time TS [1..1]

author.typeCode

The author.typeCode is fixed to "AUT", used to indicate the party that originates the document and is responsible for the information in the document.

Table X: Fixed author.typeCode
Code Display Name
AUT author
Code System: ParticipationType (HL7) Code System OID: 2.16.840.1.113883.5.90

author.functionCode


The author.functionCode is bound to the concept domain ParticipationFunction, which is used to specify the exact function an actor had in a service in all necessary detail. This domain may include local extensions (Open).

In some cases, the role or function of the author is inherent in the ClinicalDocument.code, such as where ClinicalDocument.code is "Medical Student Progress Note". The role of the author can also be recorded in the Author.functionCode or AssignedAuthor.code attribute. If either of these attributes is included, they should be equivalent to or further specialize the role inherent in the ClinicalDocument.code (such as where the ClinicalDocument.code is simply "Physician Progress Note" and the value of Author.functionCode is "rounding physician"), and shall not conflict with the role inherent in the ClinicalDocument.code, as such a conflict would constitute an ambiguous situation.

author.contextControlCode

The author.contextControlCode is fixed to "OP". It means that the author will replace the set of author participations that have propagated from ancestor Acts, and will itself be the only author to propagate to any child Acts that allow context to be propagated.

Table X: Fixed author.contextControlCode
Code Display Name
OP overriding, propagating
Code System: ContextControl (HL7) Code System OID: 2.16.840.1.113883.5.1057

author.time

The author.time is used to capture the time this specific author contributed content to the document.

5.2.2.2.1 AssignedAuthor

An author is a person in the role of an assigned author (AssignedAuthor class). The entity playing the role is a person (Person class) or a device (AuthoringDevice class). The entity scoping the role is an organization (Organization class), and is the organization from which the document originates.

Table X: AssignedAuthor
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] ASSIGNED Fixed
id SET<II> [1..*]
code CE [0..1] D:RoleCode Open
addr SET<AD> [0..*]
telecom SET<TEL> [0..*]

AssignedAuthor.classCode

The classCode is fixed to "ASSIGNED", which is used in this context to indicate that a person in the employ of an organization was acting as their agent.

Table X: Fixed AssignedAuthor.classCode
Code Display Name
ASSIGNED assigned entity
Code System: RoleClass (HL7) Code System OID: 2.16.840.1.113883.5.110

AssignedAuthor.id

In this context, it is a unique identifier for the person in this Role.

AssignedAuthor.code

Identifies the specific kind of Role to which an Role-instance belongs. The AssignedEntity.code is bound to D:RoleCode, which enables any code from the HL7 RoleCode vocabulary.

AssignedAuthor.addr

A postal address for the Entity while in the Role.

AssignedAuthor.telecom

A telecommunication address for the Entity while in the Role.

5.2.2.2.2 Person

A human being.

Table X: Person
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] PSN Fixed
determinerCode CS [0..1] INSTANCE Fixed
name SET<PN> [0..*]
desc ED [0..1]
birthTime TS [0..1]

Person.classCode

With the code fixed to "PSN", it indicates we are referencing a Person.

Table X: Fixed Person.classCode
Code Display Name
PSN person
Code System: EntityClass (HL7) Code System OID: 2.16.840.1.113883.5.41

Person.determinerCode

The determinerCode is fixed to "INSTANCE", which indicates that we are dealing with a specific person.

Table X: Fixed Person.determinerCode
Code Display Name
INSTANCE (Fixed) specific
Code System: EntityDeterminer (HL7) Code System OID: 2.16.840.1.113883.5.30

Person.name

The person's name.

Note: The person name data type "PN" supports current, and historical names using validTime, and the specification of different use codes can indicate legal name, tribal name, stage name and others.

Person.desc

A textual or multimedia depiction of the person.

Person.birthTime

The date and time of a person's birth.

5.2.2.2.3 AuthoringDevice
Table X: AuthoringDevice
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] DEV Fixed
determinerCode CS [0..1] INSTANCE Fixed
code CE [0..1] D:EntityCode
manufacturerModelName SC [0..1] D:ManufacturerModelName
softwareName SC [0..1] D:SoftwareName

AuthoringDevice.classCode

The AuthoringDevice.classCode is fixed to "DEV" indicating that a device was used to generate content in the document.

Table X: Fixed AuthoringDevice.classCode
Code Display Name
DEV role
Code System: EntityClass (HL7) Code System OID: 2.16.840.1.113883.5.41

AuthoringDevice.determinerCode

The determinerCode is fixed to "INSTANCE", which indicates we are referencing a specific device.

Table X: Fixed AuthoringDevice.determinerCode
Code Display Name
INSTANCE specific
Code System: EntityDeterminer (HL7) Code System OID: 2.16.840.1.113883.5.30

AuthoringDevice.code

The AuthoringDevice.code is bound to the EntityCode domain.

AuthoringDevice.manufacturerModelName

Is used to convey a coded name for the device.

AuthoringDevice.softwareName

Is used to convey a coded name for the software used to author content.

5.2.2.2.4 MaintainedEntity (Deprecated)
NOTE: In CDA, Release One, it was possible to specify those individuals responsible for the device. This functionality has been deprecated in CDA, Release Two. The MaintainedEntity class is present for backwards compatibility, and its use is discouraged, except where needed to support the transformation of CDA, Release One documents.
Table X: MaintainedEntity
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] MNT Fixed
effectiveTime IVL<TS> [0..1]

MaintainedEntity.classCode

With the classCode fixed to "MNT", it indicates that AuthoringDevice is maintained by person assuming responsibility for proper operation, quality, and safety.

Table X: Fixed MaintainedEntity.classCode
Code Display Name
MNT maintained entity
Code System: RoleClass (HL7) Code System OID: 2.16.840.1.113883.5.110

MaintainedEntity.effectiveTime

An interval of time specifying the period during which the Role is in effect.

5.2.2.3 custodian

Represents the organization that is in charge of maintaining the document. The custodian is the steward that is entrusted with the care of the document. Every CDA document has exactly one custodian.

The custodian participation satisfies the CDA definition of Stewardship (see What is the CDA). Because CDA is an exchange standard and may not represent the original form of the authenticated document, the custodian represents the steward of the original source document.

Table X: custodian
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
typeCode CS [0..1] CST Fixed

custodian.typeCode

The custodian.typeCode is fixed to "CST", which indicates in this instance an organization that is in charge of maintaining this document. Examples: Medical Records Dept in hospital, Health Information Management Dept., etc.

Table X:Fixed custodian.typeCode
Code Display Name
CST custodian
Code System: ParticipationType (HL7) Code System OID: 2.16.840.1.113883.5.90

A custodian is a scoping organization in the role of an assigned custodian (AssignedCustodian class). The steward organization (CustodianOrganization class) is an entity scoping the role of AssignedCustodian, and has a required CustodianOrganization.id.

5.2.2.3.1 AssignedCustodian
Table X: AssignedCustodian
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] ASSIGNED Fixed

AssignedCustodian.classCode

Table X: Fixed AssignedCustodian.classCode
Code Display Name
ASSIGNED assigned entity
Code System: RoleClass (HL7) Code System OID: 2.16.840.1.113883.5.110
5.2.2.3.2 CustodianOrganization
Table X: CustodianOrganization
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] ORG Fixed
determinerCode CS [0..1] INSTANCE Fixed
id SET<II> [1..*]
name SET<ON> [0..1]
telecom SET<TEL> [0..*]
addr SET<AD> [0..*]

CustodianOrganization.classCode With the code fixed to "ORG", it indicates we are referencing an Organization.

Table X: Fixed CustodianOrganization.classCode
Code Display Name
ORG organization
Code System: EntityClass (HL7) Code System OID: 2.16.840.1.113883.5.41

CustodianOrganization.determinerCode

The determinerCode is fixed to "INSTANCE", which indicates that the scoping organization referenced, is a specific instance of an organization.

Table X: Fixed CustodianOrganization.determinerCode
Code Display Name
INSTANCE specific
Code System: EntityDeterminer (HL7) Code System OID: 2.16.840.1.113883.5.30

CustodianOrganization.id

A unique identifier for the Organization.

CustodianOrganization.name

A non-unique textual identifier or moniker for the organization.

CustodianOrganization.telecom

A telecommunication address for the Organization.

CustodianOrganization.addr

The postal or residential address of an organization.

5.2.2.4 dataEnterer (Transcriptionist)

Represents the participant who has transformed a dictated note into text.

Table X: dataEnterer
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
typeCode CS [0..1] ENT Fixed
contextControlCode CS [0..1] OP Fixed
time TS [1..1]

dataEnterer.typeCode

The dataEnterer.typeCode is fixed to "ENT".

Table X: Fixed dataEnterer.typeCode
Code Display Name
ENT data entry person
Code System: ParticipationType (HL7) Code System OID: 2.16.840.1.113883.5.90

dataEnterer.contextControlCode

The dataEnterer.contextControlCode is fixed to "OP".

Table X: Fixed dataEnterer.contextControlCode
Code Display Name
OP overriding, propagating
Code System: ContextControl (HL7) Code System OID: 2.16.840.1.113883.5.1057

dataEnterer.time

The date and time the data was entered into the originating system.

5.2.2.4.1 AssignedEntity

Refer to AssignedEntity as defined for authenticator participation.

5.2.2.5 encounterParticipant

See EncompassingEncounter for a description of the encounterParticipant participant.

5.2.2.6 informant

An informant (or source of information) is a person that provides relevant information, such as the parent of a comatose patient who describes the patient's behavior prior to the onset of coma.

Table X: informant
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
typeCode CS [0..1] INF Fixed
contextControlCode CS [0..1] OP Fixed

informant.typeCode The informant.typeCode is fixed to "INF", which indicates the source of reported information (e.g., a next of kin who answers questions about the patient's history).

Table X: Fixed informant.typeCode
Code Display Name
INF informant
Code System: ParticipationType (HL7) Code System OID: 2.16.840.1.113883.5.90

informant.contextControlCode

The informant.contextControlCode is fixed to "OP". It means that the informant will replace the set of informant participations that have propagated from ancestor Acts, and will itself be the only informant to propagate to any child Acts that allow context to be propagated.

Table X: Fixed informant.contextControlCode
Code Display Name
OP overriding, propagating
Code System: ContextControl (HL7) Code System OID: 2.16.840.1.113883.5.1057

An informant can be a person in one of two roles RelatedEntity or AssignedEntity.

5.2.2.6.1 RelatedEntity

The RelatedEntity role is used to represent an informant without a role.id (e.g. a parent or guy on the street). The informant in this case bears some formal or personal relationship to the patient. The role is unscoped, with the assumption that the patient is always the implied scoper. RelatedEntity.code can be used to specify the nature of the relationship.

Table X: RelatedEntity
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] v:RoleClassMutualRelationship Closed
code CE [0..1] D:PersonalRelationshipRoleType Open
addr SET<AD> [0..*]
telecom SET<TEL> [0..*]
effectiveTime IVL<TS> [0..1]

RelatedEntity.classCode

Table X: Value set for RelatedEntity.classCode
v:RoleClassMutualRelationship [2.16.840.1.113883.1.11.19316] (CLOSED)
Code Display Name Code Display Name
AFFL affiliate AGNT agent
ASSIGNED assigned entity COMPAR commissioning party
SGNOFF signing authority or officer CON contact
ECON emergency contact NOK next of kin
GUARD guardian CIT citizen
COVPTY covered party CLAIM claimant
NAMED named insured DEPEN dependent
INDIV individual SUBSCR subscriber
PROG program eligible CRINV clinical research investigator
CRSPNSR clinical research sponsor EMP employee
MIL military person GUAR guarantor, GuarantorRole
INVSBJ Investigation Subject CASEBJ Case Subject
RESBJ research subject LIC licensed entity
NOT notary public PROV healthcare provider
PAT patient PAYEE payee
PAYOR invoice payor POLHOLD policy holder
QUAL qualified entity SPNSR coverage sponsor
STD student UNDWRT underwriter
CAREGIVER caregiver PRS personal relationship
Code System: RoleClass (HL7) Code System OID: 2.16.840.1.113883.5.110

RelatedEntity.code

The RelatedEntity.code is bound to the PersonalRelationshipRoleType concept domain.

RelatedEntity.addr

The RelatedEntity.addr is used to convey the postal address for the informant.

RelatedEntity.telecom

The RelatedEntity.telecom is used to convey the phone number for the informant.

RelatedEntity.effectiveTime

The RelatedEntity.effectiveTime is used to convey the time period that the role is/was in effect.

5.2.2.6.2 AssignedEntity

The AssignedEntity role is used for an identified informant, and is scoped by an Organization.

Refer to AssignedEntity as defined for authenticator participation.

5.2.2.7 informationRecipient


Represents a recipient who should receive a copy of the document.

NOTE: The information recipient is an entity to whom a copy of a document is directed, at the time of document authorship. It is not the same as the cumulative set of persons to whom the document has subsequently been disclosed, over the life-time of the patient. Such a disclosure list would not be contained within the document, and it is outside the scope of CDA.
Table X: informationRecipient
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
typeCode CS [1..1] V:x_InformationRecipient Closed


informationRecipient.typeCode

Two values are available for the informationRecipient.typeCode, the default value is primary information recipient an alternative value is tracker.

Table X: Value set for informationRecipient.typeCode
v:x_InformationRecipient [2.16.840.1.113883.1.11.19366] (CLOSED)
Code Display Name Code Display Name
PRCP (Default) primary information recipient TRC tracker
Code System: ParticipationType (HL7) Code System OID: 2.16.840.1.113883.5.90
5.2.2.7.1 IntendedRecipient

Identifies the person(s), organization or health chart to receive the document.

Table X: IntendedRecipient
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [1..1] V:x_InformationRecipientRole Closed
id SET<II> [1..*]
addr SET<AD> [0..*]
telecom SET<TEL> [0..*]

IntendedRecipient.classCode

Where a person is the intended recipient (IntendedRecipient class), the IntendedRecipient.classCode is valued with "ASSIGNED", and the playing entity is a person (Person class), optionally scoped by an organization (Organization class). Where the intended recipient is an organization, the IntendedRecipient.classCode is valued with "ASSIGNED", and the recipient is reflected by the presence of a scoping Organization, without a playing entity. Where a health chart is the intended recipient, the IntendedRecipient.classCode is valued with "HLTHCHRT" (health chart). In this case there is no playing entity, and an optional scoping organization (Organization class).

Table X: Value set for IntendedRecipient.classCode
V:x_InformationRecipientRole [2.16.840.1.113883.1.11.16772] (CLOSED)
Code Display Name Code Display Name
ASSIGNED (Default) assigned entity HLTHCHRT health chart
Code System: RoleClass (HL7) Code System OID: 2.16.840.1.113883.5.110


IntendedRecipient.id

Optional identifier of the intended recipient.

IntendedRecipient.addr

Optional postal address of the intended recipient.

IntendedRecipient.telecom

Optional phone number for the intended recipient.

5.2.2.7.2 Person

Refer to Person as defined for Author participation.

5.2.2.7.3 Organization

Refer to organization as defined for authenticator participation.

5.2.2.8 legalAuthenticator

Represents the participant(s) who has legally authenticated the document.

authenicator

CDA R2.1, now supports [0..*] legal authentications. This enhancement was put into CDA to support the sharing of medical documents needing to take more than one legal authentication signature.

The CDA is a standard that specifies the structure of exchanged clinical documents. In the case where a local document is transformed into a CDA document for exchange, authentication occurs on the local document, and that fact is reflected in the exchanged CDA document. A CDA document can reflect the unauthenticated, authenticated, or legally authenticated state. The unauthenticated state exists when no authentication information has been recorded (i.e., it is the absence of being either authenticated or legally authenticated).

Both authentication and legal authentication require that a document has been signed manually or electronically by the responsible individual. A legalAuthenticator has a required legalAuthenticator.time indicating the time of authentication, and a required legalAuthenticator.signatureCode, indicating that a signature has been obtained and is on file.

Table X: legalAuthenticator[0..*]
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
typeCode CS [0..1] LA Fixed
contextControlCode CS [0..1] OP Fixed
time TS [1..1]
signatureCode CV [0..1] S Fixed
signatureText ED [0..1]

legalAuthenticator.typeCode

The ClinicalDocument.typeCode is fixed to "LA" to indicate that a participant has legally attested his participation through a signature.

Table X: Fixed legalAuthenticator.typeCode
Code Display Name
AUTHEN authenticator
Code System: ParticipationType (HL7) Code System OID: 2.16.840.1.113883.5.90

legalAuthenticator.contextControlCode


The legalAuthenticator.contextControlCode is fixed to "OP". It means that the legalAuthenticator will propagate to any child Acts that allow context to be propagated.

legalAuthenticator.time

legalAuthenticatorhas a required legalAuthenticator.time indicating the time of authentication.

legalAuthenticator.signatureCode

legalAuthenticatorhas a required legalAuthenticator.signatureCode, indicating that a signature has been obtained and is on file.

Table X: Fixed legalAuthenticator.signatureCode
Code Display Name
S (Fixed) signed
Code System: ParticipationSignature (HL7) Code System OID: 2.16.840.1.113883.5.89

Note: CDA Release One represented either an intended ("X") or actual ("S") legalAuthenticator. CDA Release 2 and 2.1 only represents an actual legalAuthenticator, so only S / Signed can be indicated for the signatureCode.

legalAuthenticator.signatureText

A new attribute, SignatureText has been added to legalAuthenticator. The signature can be represented either inline or by reference according to the ED data type. Typical cases are:

  1. Paper-based signatures: the ED data type may refer to a document or other resource that can be retrieved through an electronic interface to a hardcopy archive.
  2. Electronic signature: this attribute can represent virtually any electronic signature scheme.
  3. Digital signature: this attribute can represent digital signatures by reference to a signature data block that is constructed in accordance to a digital signature standard, such as XML-DSIG, PKCS#7, PGP, etc.
Table X: Fixed legalAuthenticator.contextControlCode
Code Display Name
OP overriding, propagating
Code System: ContextControl (HL7) Code System OID: 2.16.840.1.113883.5.1057

A legalAuthenticator is a person in the role of an assigned entity (AssignedEntity class). An assigned entity is a person assigned to the role by the scoping organization. The entity playing the role is a person (Person class). The entity scoping the role is an organization (Organization class).

5.2.2.8.1 AssignedEntity

Refer to AssignedEntity as defined for authenticator participation.

5.2.2.8.2 Person

Refer to Person as defined for Author participation.

5.2.2.8.3 Organization

Refer to Organization as defined for authenticator participation.

5.2.2.8.4 OrganizationPartOf

Refer to OrganizationPartOf as defined for authenticator participation.

5.2.2.9 participant

Table X: participant
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
typeCode CS [0..1] ParticipationType Fixed
functionCode CE [0..1] D:ParticipationFunction Open
contextControlCode CS [0..1] OP Fixed
time TS [1..1]

participant.typeCode

The participant.typeCode is can be any code defined in the ParticipationType domain. Which can be used to represent other participants not explicitly mentioned by other classes, that were somehow involved in the documented acts.

Table X: Value set for participant.typeCode
v:ParticipationType [2.16.840.1.113883.1.11.10901] (CLOSED)
Code Display Name Code Display Name
ATND attender ADM admitter
CALLBCK callback contact CON consultant
DIS discharger ESC escort
REF referrer TRANS Transcriber
ENT data entry person WIT witness
CST custodian DIR direct target
BBY baby DEV device
NRD non-reuseable device RDV reusable device
EXPAGNT ExposureAgent EXPART ExposureParticipation
EXPTRGT ExposureTarget EXSRC ExposureSource
IND indirect target BEN beneficiary
CAGNT causative agent COV coverage target
GUAR guarantor party HLD holder
DON donor RCV receiver
IRCP information recipient NOT ugent notification contact
PRCP primary information recipient REFB Referred By
REFT Referred to TRC tracker
LOC location DST destination
ELOC entry location ORG origin
RML remote VIA via
RESP responsible party VRF verifier
AUTHEN authenticator PART Participation
Use the following participations, only if the other participations provided in CDA will not work
RCT record target AUT author (originator)
INF informant CSM consumable
PRD product SBJ subject
SPC specimen PRF performer
DIST distributor PPRF primary performer
SPRF secondary performer LA legal authenticator
Code System: ParticipationType (HL7) Code System OID: 2.16.840.1.113883.5.90

participant.functionCode

The participant.functionCode is bound to the concept domain ParticipationFunction, which is used to specify the exact function an actor had in a service in all necessary detail. This domain may include local extensions (Open).

participant.contextControlCode

The participant.contextControlCode is fixed to "OP". It means that the participantType code specified in participant.typeCode will replace the set of author participations that have propagated from ancestor Acts, and will itself be the only author to propagate to any child Acts that allow context to be propagated.

Table X: Fixed participant.contextControlCode
Code Display Name
OP (Fixed) overriding, propagating
Code System: ContextControl (HL7) Code System OID: 2.16.840.1.113883.5.1057

participant.typeCode.time

The participant.typeCode.time is the date and time the specific participation occurred.

5.2.2.9.1 AssociatedEntity

A participant is a person or organization in the role of a participating entity (AssociatedEntity class). The entity playing the role is a person (Person class). The entity scoping the role is an organization (Organization class).

Table X: AssociatedEntity
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [1..1] V:RoleClassAssociative Closed
id SET<II> [0..*]
code CE [0..1] D:RoleCode Open
addr SET<AD> [0..*]
telecom SET<TEL> [0..*]

AssociatedEntity.classCode

When the participating entity is an organization, this is reflected by the presence of a scoping Organization, without a playing entity. Otherwise, the participating entity is considered a person with or without a scoping Organization.

Table X: Value set for ParticipatingEntity.classCode
V:RoleClassAssociative [2.16.840.1.113883.1.11.19313] (CLOSED)
Code Display Name Code Display Name
ROL (Default) role AFFL affiliate
AGNT agent ASSIGNED assigned entity
COMPAR commissioning party SGNOFF signing authority or officer
CON contact ECON emergency contact
NOK next of kin GUARD guardian
CIT citizen COVPTY covered party
CLAIM claimant NAMED named insured
DEPEN dependent INDIV individual
SUBSCR subscriber PROG program eligible
CRINV clinical research investigator CRSPNSR clinical research sponsor
EMP employee MIL military person
GUAR guarantor INVSBJ Investigation Subject
CASEBJ Case Subject RESBJ research subject
LIC licensed entity NOT notary public
PROV healthcare provider PAT patient
PAYEE payee PAYOR invoice payor
POLHOLD policy holder QUAL qualified entity
SPNSR underwriter STD student
UNDWRT coverage sponsor CAREGIVER caregiver
PRS personal relationship ACCESS access
ADMM Administerable Material BIRTHPL birthplace
DEATHPLC place of death DST distributed material
RET retailed material EXPR exposed entity
HLD held entity HLTHCHRT health chart
IDENT identified entity MANU manufactured product
THER therapeutic agent MNT maintained entity
OWN owned entity RGPR regulated product
SDLOC service delivery location DSDLOC dedicated service delivery location, health care facility
ISDLOC incidental service delivery location TERR territory of authority
USED used entity WRTE warranted product
Code System: RoleClass (HL7) Code System OID: 2.16.840.1.113883.5.110

AssociatedEntity.id

An identifier for the associate person (when present) or the organization.

AssociatedEntity.code

An optional role code taken from the RoleCode concept domain. This binding is open so other code systems can be used.

AssociatedEntity.addr

The postal address for the associate person (when present) or the organization.

AssociatedEntity.telecom

The phone number for the associated person (when present) or the organization.

5.2.2.9.2 Person

Refer to Person as defined for Author participation.

5.2.2.9.3 Organization

Refer to Organization as defined for authenticator participation.

5.2.2.10 performer

See ServiceEvent for a description of the performer participant.

5.2.2.11 recordTarget

The recordTarget identifies the specified patient's medical record that the 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 participant can be stated.

Note: The recordTarget(s) of a document are stated in the header and propagate to nested content, where they cannot be overridden. However, the patient(s) specified by the recordTarget are assumed to be the default subjects of the clinical document. Unlike the recordTarget, which can not be overridden, the patients or subjects propagate to nested components, and can be overridden at the section or entry level. (see See CDA Context).

Table X: recordTarget
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
typeCode CS [0..1] RCT Fixed
contextControlCode CS [0..1] OP Fixed

recordTarget.typeCode

The recordTarget.typeCode is fixed to "RCT" and indicates that this is a record target participation.

Table X: Fixed recordTarget.typeCode
Code Display Name
RCT record target
Code System: ParticipationType (HL7) Code System OID: 2.16.840.1.113883.5.90

recordTarget.contextControlCode

The recordTarget.contextControlCode is fixed to "OP". It means that the recordTarget identified in the header will propagate to any child Acts that allow context to be propagated.

Table X: Fixed recordTarget.contextControlCode
Code Display Name
OP overriding, propagating
Code System: ContextControl (HL7) Code System OID: 2.16.840.1.113883.5.1057

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.

5.2.2.11.1 PatientRole
Table X: PatientRole
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] PAT Fixed
id SET<II> [1..*]
addr SET<AD> [0..*]
telecom SET<TEL> [0..*]

PatientRole.classCode

The PatientRole.classCode is fixed to "PAT" to indicate a person (Patient) as a recipient of health care services from a healthcare provider.

Table X: Fixed PatientRole.classCode
Code Display Name
PAT patient
Code System: RoleClass (HL7) Code System OID: 2.16.840.1.113883.5.110

PatientRole.id

A unique identifier for the person in this patient role.

PatientRole.addr

The postal address for the Patient.

PatientRole.telecom

The phone number for the Patient.

5.2.2.11.2 Patient
Table X: Patient
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] PSN Fixed
determinerCode CS [0..1] INSTANCE Fixed
id (Deprecated) SET<II> [0..*]
name SET<PN> [0..*]
desc ED [0..1]
administrativeGenderCode CE [0..1] D:administrativeGender Open
birthTime TS [0..1]
deceasedInd BL [0..1]
deceasedTime TS [0..1]
multipleBirthInd BL [0..1]
multipleBirthOrderNumber INT [0..1]
maritalStatusCode CE [0..1] D:MaritalStatus Open
religiousAffiliationCode CE [0..1] D:ReligousAffiliation Open
raceCode SET<CE> [0..*] D:Race Open
ethnicGroupCode SET<CE> [0..*] D:Ethnicity Open

Note: Not all Patient elements defined in the RIM have been added to CDA's Patient class. Only those originally defined, or added using extensions within actual implementation guides have been included in CDA R2.1. Implementers are free to use extensions with CDA R2.1 or model missing information using the Observation class within the CDA body.

Patient.classCode

The Patient.classCode is fixed to "PSN", indicating that the entity is a person.

Table X: Fixed Patient.classCode
Code Display Name
PSN person
Code System: EntityClass (HL7) Code System OID: 2.16.840.1.113883.5.41

Patient.determinerCode

The determinerCode is fixed to "INSTANCE", which indicates a specific person is a patient.

Table X: Fixed Patient.determinerCode
Code Display Name
INSTANCE specific
Code System: EntityDeterminer (HL7) Code System OID: 2.16.840.1.113883.5.30

Patient.id (Deprecated)

CDA Release 1.0 allowed for additional person identifiers, corresponding to the Patient.id attribute in CDA Release 2.1. 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.

Patient.name

The patient's name.

Note: The person name data type "PN" supports current, and historical names using validTime, and the specification of different use codes can indicate legal name, tribal name, stage name and others.

Patient.desc

A textual or multimedia depiction of the patient.

Patient.administrativeGenderCode

The gender (i.e., the behavioral, cultural, or psychological traits typically associated with one sex) of a living subject as defined for administrative purposes.

Patient.birthTime

The date and time of the patient's birth.

Patient.deceasedInd

An indication that the subject is dead.

Patient.deceasedTime

The date and time that the patient's death occurred.
Note: If the deceasedTime is valued, then the deceasedInd SHALL be set true. If deceasedInd is set true, the deceasedTime should be valued, if known.

Patient.multipleBirthInd

An indication as to whether the patient was part of a multiple birth.

Patient.multipleBirthOrderNumber

The order within a multiple birth in which this patient was born.

Patient.maritalStatusCode

The domestic partnership status of the patient.

Patient.religiousAffiliationCode

The primary religious preference of the patient.

Patient.raceCode

The race of the patient.

Note: More than one race code is now supported in CDA R2.1.

Patient.ethnicGroupCode

The ethnic group of the patient.

Note: More than one ethnic group is now supported in CDA R2.1.

Note: See 2.7 Backwards and Forwards Compatibility, for discussion on sdtc: extensions defined for CDA R2.0 and CDA R2.1.

5.2.2.11.3 Organization

The optional Organization in recordTarget identifies the Patient's healthcare organization. Refer to Organization as defined for authenticator participation for details.

5.2.2.11.4 LanguageCommunication

A patient's language communication skills can be expressed in the associated LanguageCommunication class.

Table X: LanguageCommunication
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
languageCode CS [0..1] D:HumanLanguage Open
modeCode CE [0..1] D:LanguageAbilityMode Open
proficiencyLevelCode CE [0..1] D:LanguageAbilityProficiency Open
preferenceInd BL [0..1]

LanguageCommunication.languageCode

A language for which the patient has some level of proficiency for communication.
Note: Providing a language reference with the LanguageCommunication.languageCode is recommended, when using this class.

LanguageCommunication.modeCode

The method of expression of the language, e.g. expressed spoken, expressed written, expressed signed, received spoken, received written, received signed

LanguageCommunication.proficiencyLevelCode

The level of proficiency the patient has in a particular language, e.g. excellent, good, fair, poor

LanguageCommunication.preferenceInd

An indicator specifying whether the language is preferred by the patient for the associated mode.

5.2.2.11.5 Birthplace

A Patient's birthplace is represented as a relationship between a patient and a place. The Birthplace class is played by a place (Place class), and scoped by the patient (Patient class).

Table X: Birthplace
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] BIRTHPL Fixed

Birthplace.classCode

The Birthplace.classCode it fixed to "BIRTHPL" indicating in this context, that the Place referenced is the birth place of the patient.

Table X: Fixed Birthplace.classCode
Code Display Name
BIRTHPL birthplace
Code System: RoleClass (HL7) Code System OID: 2.16.840.1.113883.5.110
5.2.2.11.6 Place
Table X: Place
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] PLC Fixed
determinerCode CS [0..1] INSTANCE Fixed
name SET<ON> [0..1]
addr SET<AD> [0..*]

Place.classCode

A physical place or site with its containing structure. May be natural or man-made. The geographic position of a place may or may not be constant.

Table X: Fixed Place.classCode
Code Display Name
PLC place
Code System: EntityClass (HL7) Code System OID: 2.16.840.1.113883.5.41

Place.determinerCode


The determinerCode is fixed to "INSTANCE", which indicates a specific place is being identified.

Table X: Fixed Place.determinerCode
Code Display Name
INSTANCE specific
Code System: EntityDeterminer (HL7) Code System OID: 2.16.840.1.113883.5.30

Place.name

The name of place of birth (E.g. Queen Mary)

Place.addr

The postal address for the patient's birthplace.

5.2.2.11.7 Guardian

A patient's guardian is a person or organization in the role of guardian (Guardian class). The entity playing the role of guardian is a person (Person class) or organization (Organization class). The entity scoping the role is the patient (Patient class).

Where a guardian is not explicitly stated, the value should default to local business practice (e.g. the patient makes their own health care decisions unless incapacitated in which case healthcare decisions are made by the patient's spouse).

Table X: Guardian
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [1..1] GUARD Fixed
id SET<II> [0..*]
code CE [0..1] D:RoleCode Open
addr SET<AD> [0..*]
telecom SET<TEL> [0..*]

Guardian.classCode

The Guardian.classCode is fixed to "GUARD", indicating that the associated person or institution are legally empowered with responsibility for the care of a ward.

Table X: Fixed Guardian.classCode
Code Display Name
GUARD guardian
Code System: RoleClass (HL7) Code System OID: 2.16.840.1.113883.5.110

Guardian.code

An optional role code taken from the RoleCode concept domain. This binding is open so other code systems can be used.

Guardian.addr

The guardian's postal address.

Guardian.telecom

The guardian's phone number.

5.2.2.11.8 Person

Refer to Person as defined for Author participation.

5.2.2.11.9 Organization

Refer to organization as defined for authenticator participation.

5.2.2.12 responsibleParty

See EncompassingEncounter for a description of the responsibleParty participant.

5.2.2.13 Participant Scenarios

Several CDA Header participations can be played by the same person. In such cases, the person should be identified as the player for each appropriate participation. For instance, if a person is both the author and the authenticator of a document, the CDA Header should identify that person as both the author participant and the authenticator participant.

On other occasions, CDA Header participants are played by different people. The following table shows a number of scenarios and the values for various participants.

Table X: CDA participation scenarios
1. StaffPhysicianOne sees a patient as a consultant, dictates a note, and later signs it.
  • Author — StaffPhysicianOne
  • Encounter Participant — StaffPhysicianOne (typeCode="CONS")
  • Legal Authenticator — StaffPhysicianOne
2. StaffPhysicianOne sees a patient and dictates a note. StaffPhysicianTwo later signs the note. *
  • Author — StaffPhysicianOne
  • Legal Authenticator — StaffPhysicianTwo
3. ResidentOne sees a patient with StaffPhysicianOne. ResidentOne dictates a note and later signs it. The note is co-signed by StaffPhysicianOne. *
  • Author — ResidentOne
  • Authenticator — ResidentOne
  • Encounter Participant — StaffPhysicianOne (typeCode="ATND")
  • Legal Authenticator — StaffPhysicianOne
4. ResidentOne sees a patient with StaffPhysicianOne. ResidentOne dictates a note and later signs it. The note is co-signed by StaffPhysicianTwo. *
  • Author — ResidentOne
  • Authenticator — ResidentOne
  • Encounter Participant — StaffPhysicianOne (typeCode="ATND")
  • Legal Authenticator — StaffPhysicianTwo
5. ResidentOne sees a patient with StaffPhysicianOne. ResidentOne dictates a note, and goes off on vacation. The note is signed by ResidentTwo and by StaffPhysicianOne. *
  • Author — ResidentOne
  • Authenticator — ResidentTwo
  • Encounter Participant — StaffPhysicianOne (typeCode="ATND")
  • Legal Authenticator — StaffPhysicianOne
6. ResidentOne sees a patient with StaffPhysicianOne. ResidentOne dictates a note, which is later signed by ResidentTwo and StaffPhysicianTwo. *
  • Author — ResidentOne
  • Authenticator — ResidentTwo
  • Encounter Participant — StaffPhysicianOne (typeCode="ATND")
  • Legal Authenticator — StaffPhysicianTwo
7. StaffPhysicianOne receives an abnormal laboratory result, attempts to contact patient but can't, and writes and signs a progress note.
  • Author — StaffPhysicianOne
  • Legal Authenticator — StaffPhysicianOne
8. ResidentSurgeonOne is operating on a patient with StaffSurgeonOne. StaffSurgeonOne dictates an operative report and later signs it.
  • Author — StaffSurgeonOne
  • Authenticator — null (need not be included)
  • Legal Authenticator — StaffSurgeonOne
  • Performer — StaffSurgeonOne (typeCode="PPRF")
  • Performer — ResidentSurgeonOne (typeCode="SPRF")
9. In Austria, a PET-CT report, is authored and legally authenticated by a radiologist together with a nuclear medicine specialist. The two specialists are working for different medical institutes. Their work and expertise are equal in importance.
  • Author — Radiologist
  • Author — Nuclear Medicine Specialist
  • Legal Authenticator — Radiologist
  • Legal Authenticator — Nuclear Medicine Specialist

* Note that the ability of one clinician to co-sign or to sign on behalf of another clinician is subject to regulatory and local practice constraints.

5.2.3 Header Relationships

This section describes classes related to the root ClinicalDocument class via an ActRelationship.

5.2.3.1 ParentDocument

The ParentDocument represents the source of a document revision, addenda, or transformation.

5.2.3.1.1 relatedDocument

The optional relatedDocument class is used to associate a ClinicalDocument to a ParentDocument.

Table X: relatedDocument Attributes
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
typeCode CS [1..1] x_ActRelationshipDocument Closed
inversionInd BL [0..1]

relatedDocument.typeCode

Allowable values for the intervening relatedDocument.typeCode are shown in the following table.

Table X: Value set for relatedDocument.typeCode
v:x_ActRelationshipDocument [2.16.840.1.113883.1.11.11610] (CLOSED)
Code Display Name Code Display Name
APND is appendage RPLC replaces
XFRM transformation
Code System: ActRelationshipType (HL7) Code System OID: 2.16.840.1.113883.5.1002

A conformant CDA document can have a single relatedDocument with typeCode "APND"; a single relatedDocument with typeCode "RPLC"; a single relatedDocument with typeCode "XFRM"; a combination of two relatedDocuments with typeCodes "XFRM" and "RPLC"; or a combination of two relatedDocuments with typeCodes "XFRM" and "APND". No other combinations are allowed.

relatedDocument.inversionInd

Technical note: CDA R2.0 design assumes that ClinicalDocument was the source for all typecodes found in relatedDocument, ("APND", "RPLC" and "XFRM"). For "APND" and "RPLC" this is correct, however for "XFRM", the RIM definition indicates that "it is used when the target Act is a transformation of the source Act...". This technically is an error in CDA R2.0's design, which normally should have required the use of inversionInd to establish the ClinicalDocument as the target and the ParentDocument as the source for the "XFRM" relation.

As a result, in CDA R2.1 when "XFRM" is assigned to the relatedDocument.typeCode, the associated inversionInd will be assumed to be fixed to true, but will not be required to be present in the instance document. In all other cases, "APND", "RPLC" the associated inversionInd will not be present and will be assumed to be false. This enables wire format compatibility between CDA R2.0 and CDA R2.1, and ensures proper interpretation of the "XFRM" ActRelationshipType code.

5.2.3.1.2 ParentDocument

The ParentDocument identifies and optionally provides a reference to the original document serving as the source for the current document revision, addendum or transformation.

Table X: ParentDocument Attributes
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] DOCCLIN Fixed
moodCode CS [0..1] EVN Fixed
typeId II [1..1]
id II [1..*]
code CE [1..1] D:DocumentType Open
text ED [0..1]
setId II [0..1]
versionNumber ST [0..1]

ParentDocument.classCode

The ParentDocument.classCode is fixed to "DOCCLIN".

Table X: Fixed ParentDocument.classCode
Code Display Name
DOCCLIN clinical document
Code System: ActClass (HL7) Code System OID: 2.16.840.1.113883.5.6

ParentDocument.moodCode

The ParentDocument.moodCode is fixed to "EVN".

Table X: Fixed ParentDocument.moodCode
Code Display Name
EVN event
Code System: ActMood (HL7) Code System OID: 2.16.840.1.113883.5.1001

ParentDocument.id

The ParentDocument.id is a required identifier, which uniquely identifies the parent document.

ParentDocument.code

The code specifying the particular kind of document (e.g. History and Physical, Discharge Summary, Progress Note). The value set is drawn from LOINC, and has a CWE coding strength.

ParentDocument.text

ParentDocument.text is modeled as an ED data type - allowing for the expression of the MIME type of the parent document. It is not to be used to embed the related document, and thus ParentDocument.text.BIN is precluded from use.

ParentDocument.setId

Optional setID for the parent document.

ParentDocument.versionNumber

Optional versionNumber of the parent document.

Additional Information on Document Identification, Revisions, and Addenda

A clinical document can be replaced by a new document and/or appended with an addendum.

A replacement document is a new version of the parent document. The parent document is considered superseded, but a system may retain it for historical or auditing purposes. The parent document being replaced is referenced via act relationship relatedDocument, where relatedDocument.typeCode is set to equal "RPLC" (for "replaces"). An example is a report found to contain an error that is subsequently replaced by the corrected report.

An addendum is a separate document that references the parent document, and may extend or alter the observations in the prior document. The parent document remains a current component of the patient record, and the addendum and its parent are both read by report recipients. The parent report (represented by the ParentDocument class) being appended is referenced via act relationship relatedDocument, where relatedDocument.typeCode is set to equal "APND" (for "appends").

Every CDA document must have a unique ClinicalDocument.id, and thus the replacement or addendum documents each have ClinicalDocument.id that is different from that of the parent document.

CDA documents may also contain a ClinicalDocument.setId and a ClinicalDocument.versionNumber, which together support a document identification and versioning scheme used in some document management systems. In this scheme, all documents in a chain of replacements have the same ClinicalDocument.setId and are distinguished by an incrementing ClinicalDocument.versionNumber. The initial version of a document gets, in addition to a new unique value for ClinicalDocument.id, a new value for ClinicalDocument.setId, and has the value of ClinicalDocument.versionNumber set to equal "1". A replacement document gets a new globally unique ClinicalDocument.id value, and uses the same value for ClinicalDocument.setId as the parent report being replaced, and increments the value of ClinicalDocument.versionNumber by 1. (Note that version number must be incremented by one when a report is replaced, but can also be incremented more often to meet local requirements.)

These relationships are illustrated in the following exhibit "Document Identification, Revisions, and Addenda Scenarios". Typical scenarios are:

  • A simple relacement (e.g. ClinicalDocument.id "1.2.345.6789.266" replacing ClinicalDocument.id "1.2.345.6789.123")
  • A simple append (e.g. ClinicalDocument.id "1.2.345.6789.456" appends ClinicalDocument.id "1.2.345.6789.123").

More complex scenarios that might be anticipated include:

[1] replacement of an addendum (e.g. ClinicalDocument.id "1.2.345.6789.224" replaces ClinicalDocument.id "1.2.345.6789.456", which itself is an addendum to ClinicalDocument.id "1.2.345.6789.123") - expected behavior would be to render the replacement as the addendum (e.g. render ClinicalDocument.id "1.2.345.6789.224" as the addendum to ClinicalDocument.id "1.2.345.6789.123");

[2] addendum to a replaced document (e.g. ClinicalDocument.id "1.2.345.6789.456" appends ClinicalDocument.id "1.2.345.6789.123", which has been replaced by ClinicalDocument.id "1.2.345.6789.266") - expected behavior would be to render the addendum along with the replacement (e.g. render ClinicalDocument.id "1.2.345.6789.456" as an addendum to ClinicalDocument.id "1.2.345.6789.266").

Document transformations

A CDA document can be a transformation from some other format, meaning that it has undergone a machine translation from some other format (such as DICOM SR). In this case, relatedDocument.typeCode should be set to "XFRM".

A proper transformation must ensure that the human readable clinical content of the report is not impacted. Local business rules determine whether or not a transformed report replaces the source, but typically this would not be the case. If it is, an additional relationship of type "RPLC" is to be used. The "XFRM" relationship can also be used when translating a document in a local format into CDA for the purpose of exchange. In this case, the target of the "XFRM" relationship is the local document identifier.


Link to wide graphic (opens in a new window)

5.2.3.2 ServiceEvent

The ServiceEvent is used to represent the main activity being documented. It may used to represent a specific procedure, such as a colonoscopy, an appendectomy, or other clinical activity. When the ClinicalDocument represents a summary of care, the ServiceEvent.code can be set to "PCPR" to indicate the service is care provisioning.

5.2.3.2.1 documentationOf

The optional documentationOf class is used to associate a ClinicalDocument to a ServiceEvent.

Table X: documentationOf Attributes
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
typeCode CS [0..1] DOC Fixed

documentationOf.typeCode

The documentationOf.typeCode is fixed to "DOC" which indicates that the ClinicalDocument provides documentation is about ServiceEvent.

Table X: Fixed documentationOf.typeCode
Code Display Name
DOC documents
Code System: ActRelationshipType (HL7) Code System OID: 2.16.840.1.113883.5.1002
5.2.3.2.2 ServiceEvent

In some cases, the ServiceEvent is inherent in the ClinicalDocument.code, such as where ClinicalDocument.code is "History and Physical Report" and the procedure being documented is a "History and Physical". A ServiceEvent can further specialize the act inherent in the ClinicalDocument.code, such as where the ClinicalDocument.code is simply "Procedure Report" and the procedure was a "colonoscopy". If ServiceEvent is included, it must be equivalent to or further specialize the value inherent in the ClinicalDocument.code, and shall not conflict with the value inherent in the ClinicalDocument.code, as such a conflict would constitute an ambiguous situation.

Table X: ServiceEvent Attributes
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] V:ActClassRoot Fixed
moodCode CS [0..1] EVN Fixed
id II [0..*]
code CD [0..1] D:ActCode Open
statusCode CS [0..1] V:ActStatus Closed
effectiveTime IVL<TS> [0..1]

ServiceEvent.classCode

The ServiceEvent.classCode identifies the RIM Act class code of the service event instance.

Table X: Value set for ServiceEvent.classCode
V:ActClassRoot [2.16.840.1.113883.1.11.13856] (CLOSED)
Code Display Name Code Display Name
ACT (Default) act COMPOSITION composition, Attestable unit
DOC document DOCCLIN clinical document
CDALVLONE CDA Level One clinical document CONTAINER record container
CATEGORY category DOCBODY document body
CATEGORY document section, Section TOPIC topic
EXTRACT extract EHR electronic health record
FOLDER folder GROUPER grouper
CLUSTER Cluster ACCM accommodation
ACCT account ACSN accession
ADJUD financial adjudication, financial adjudication results CACT control act
ACTN action INFO information
STC state transition control CNTRCT contract
FCNTRCT financial contract COV coverage
CONS consent CONTREG container registration
CTTEVENT clinical trial timepoint event DISPACT disciplinary action
EXPOS exposure AEXPOS acquisition exposure
TEXPOS transmission exposure INC incident
INFRM inform INVE invoice element
LIST working list MPROT monitoring program
OBS Observation ALRT detected issue
BATTERY battery CLNTRL clinical trial
CONC concern COND Condition
CASE public health case OUTB outbreak
DGIMG diagnostic image GEN genomic observation
DETPOL determinant peptide EXP expression level
LOC locus PHN phenotype
POL polypeptide SEQ bio sequence
SEQVAR bio sequence variation INVSTG investigation
OBSSER observation series OBSCOR correlated observation sequences
POS position POSACC position accuracy
POSCOORD position coordinate SPCOBS specimen observation
VERIF Verification ROIBND bounded ROI
ROIOVL overlay ROI PCPR care provision
ENC encounter POLICY policy
JURISPOL jurisdictional policy ORGPOL organizational policy
SCOPOL scope of practice policy STDPOL standard of practice policy
PROC procedure SBEXT Substance Extraction
SPECCOLLECT Specimen Collection SBADM substance administration
REG registration REV review
SPCTRT specimen treatment SPLY supply
DIET diet STORE storage
SUBST Substitution TRFR transfer
TRNS transportation XACT financial transaction
CNOD (Deprecated) Condition Node LLD (Deprecated) left lateral decubitus
PRN (Deprecated) prone RLD (Deprecated) right lateral decubitus
SFWL (Deprecated) Semi-Fowler's SIT (Deprecated) sitting
STN (Deprecated) standing SUP (Deprecated) supine
RTRD (Deprecated) reverse trendelenburg TRD (Deprecated) trendelenburg
Code System: ActClass (HL7) Code System OID: 2.16.840.1.113883.5.6

ServiceEvent.moodCode

The ServiceEvent.moodCode is fixed to "EVN", which indicates documentation of a past service.

Table X: Fixed ServiceEvent.moodCode
Code Display Name
EVN event
Code System: ActMood (HL7) Code System OID: 2.16.840.1.113883.5.1001

ServiceEvent.id

The optional unique identifier for the ServiceEvent.

ServiceEvent.code

The particular kind of service event that the this instance represents within its class code. The ServiceEvent.code is bound to the D:ActCode concept domain.

ServiceEvent.statusCode

The ServiceEvent.statusCode can take on any of the values defined in the D:ActStatus domain.

ServiceEvent.effectiveTime

ServiceEvent.effectiveTime can be used to indicate the time the actual event (as opposed to the encounter surrounding the event) took place.

5.2.3.2.3 performer

The performer participant represents clinicians who actually and principally carry out the ServiceEvent.

Table X: performer
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
typeCode CS [1..1] x_ServiceEventPerformer Closed
functionCode CE [0..1] D:ParticipationFunction Open
time TS [1..1]

performer.typeCode

Allows for the optional identification of performers, primary performers and secondary performers.

Table X: Value set for performer.typeCode
v:x_ServiceEventPerformer [2.16.840.1.113883.1.11.19601] (CLOSED)
Code Display Name Code Display Name
PRF performer PPRF primary performer
SPRF secondary performer
Code System: ParticipationType (HL7) Code System OID: 2.16.840.1.113883.5.90

performer.functionCode

Performer.functionCode can be used to specify addition detail about the function of the performer (e.g. scrub nurse, third assistant). The functionCode is bound to the D:ParticipationFunction concept domain.

performer.time

Performer.time can be used to specify the time during which the performer is involved in the activity.

5.2.3.2.4 AssignedEntity

A performer is an entity in the role of assigned entity (AssignedEntity class).

5.2.3.2.5 Person

An assigned entity is a person assigned to the role by the scoping organization. The entity playing the role is a person (Person] class).

5.2.3.2.6 Organization

The entity scoping the role is an organization (Organization class).

5.2.3.3 Order

This class represents those requests that are fulfilled by this document. For instance, a provider orders an X-Ray. The X-Ray is performed. A radiologist reads the X-Ray and generates a report. The X-Ray order identifier is transmitted in the Order class, the performed X-Ray procedure is transmitted in the ServiceEvent class, and the ClinicalDocument.code would be valued with "Diagnostic Imaging Report".

5.2.3.3.1 inFullfillmentOf

The optional inFullfillmentOf class is used to associate a ClinicalDocument to an Order.

Table X: Fixed InFulfillmentOf.typeCode
Code Display Name
FLFS fulfills
Code System: ActRelationshipType (HL7) Code System OID: 2.16.840.1.113883.5.1002
5.2.3.3.2 Order

A reference to the fulfilled order.

Table X: Order Attributes
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] V:ActClassRoot Closed
moodCode CS [0..1] RQO Fixed
id II [1..*]
code CD [0..1] D:ActCode Open
priorityCode CS [0..1] V:ActPriority Open

Order.classCode

The Order.classCode identifies the RIM Act class code of the order instance.

Table X: Value set for Order.classCode
V:ActClassRoot [2.16.840.1.113883.1.11.13856] (CLOSED)
Code Display Name Code Display Name
ACT (Default) act COMPOSITION composition, Attestable unit
DOC document DOCCLIN clinical document
CDALVLONE CDA Level One clinical document CONTAINER record container
CATEGORY category DOCBODY document body
CATEGORY document section, Section TOPIC topic
EXTRACT extract EHR electronic health record
FOLDER folder GROUPER grouper
CLUSTER Cluster ACCM accommodation
ACCT account ACSN accession
ADJUD financial adjudication, financial adjudication results CACT control act
ACTN action INFO information
STC state transition control CNTRCT contract
FCNTRCT financial contract COV coverage
CONS consent CONTREG container registration
CTTEVENT clinical trial timepoint event DISPACT disciplinary action
EXPOS exposure AEXPOS acquisition exposure
TEXPOS transmission exposure INC incident
INFRM inform INVE invoice element
LIST working list MPROT monitoring program
OBS Observation ALRT detected issue
BATTERY battery CLNTRL clinical trial
CONC concern COND Condition
CASE public health case OUTB outbreak
DGIMG diagnostic image GEN genomic observation
DETPOL determinant peptide EXP expression level
LOC locus PHN phenotype
POL polypeptide SEQ bio sequence
SEQVAR bio sequence variation INVSTG investigation
OBSSER observation series OBSCOR correlated observation sequences
POS position POSACC position accuracy
POSCOORD position coordinate SPCOBS specimen observation
VERIF Verification ROIBND bounded ROI
ROIOVL overlay ROI PCPR care provision
ENC encounter POLICY policy
JURISPOL jurisdictional policy ORGPOL organizational policy
SCOPOL scope of practice policy STDPOL standard of practice policy
PROC procedure SBEXT Substance Extraction
SPECCOLLECT Specimen Collection SBADM substance administration
REG registration REV review
SPCTRT specimen treatment SPLY supply
DIET diet STORE storage
SUBST Substitution TRFR transfer
TRNS transportation XACT financial transaction
CNOD (Deprecated) Condition Node LLD (Deprecated) left lateral decubitus
PRN (Deprecated) prone RLD (Deprecated) right lateral decubitus
SFWL (Deprecated) Semi-Fowler's SIT (Deprecated) sitting
STN (Deprecated) standing SUP (Deprecated) supine
RTRD (Deprecated) reverse trendelenburg TRD (Deprecated) trendelenburg
Code System: ActClass (HL7) Code System OID: 2.16.840.1.113883.5.6

Order.moodCode

The Order.moodCode is fixed to "RQO", which indicates we are referencing the actual order instance.

Table X: Fixed Order.moodCode
Code Display Name
RQO request
Code System: ActMood (HL7) Code System OID: 2.16.840.1.113883.5.1001

Order.id

The Order.id is a unique identifier for the order that was fulfilled.

Order.code

The particular kind of order that the this instance represents within its class code. The optional Order.code is bound to the D:ActCode concept domain.

Order.priorityCode

The optional Order.priorityCode, identifies the priority requested when the order was placed. It is bound to the D:ActPriority concept domain.

5.2.3.4 Consent

Provides references to consents on file.

5.2.3.4.1 authorization

The optional authorization class is used to associate a ClinicalDocument to a Consent.

Table X: authorization Attributes
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
typeCode CS [0..1] AUTH Fixed

authorization.typeCode

Table X: Fixed authorization.typeCode
Code Display Name
AUTH authorized by
Code System: ActRelationshipType (HL7) Code System OID: 2.16.840.1.113883.5.1002
5.2.3.4.2 Consent

This class references the consents associated with this document.

Table X: Consent Attributes
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] CONS Fixed
moodCode CS [0..1] EVN Fixed
id II [0..*]
code CD [0..1] D:ActCode Open
statusCode CS [1..1] completed Fixed

Consent.classCode

The Consent.classCode is fixed to "CONS" to represent a consent. The Consent class represents informed consents and all similar medico-legal transactions between the patient (or his legal guardian) and the provider.

Table X: Fixed Consent.classCode
Code Display Name
CONS consent
Code System: ActClass (HL7) Code System OID: 2.16.840.1.113883.5.6

Consent.moodCode

The Consent.moodCode is fixed to "EVN" (event) which indicates the consent has already been captured and is assumed to be on file.

Table X:Fixed Consent.moodCode
Code Display Name
EVN event
Code System: ActMood (HL7) Code System OID: 2.16.840.1.113883.5.1001

Consent.id

Optional identifier for the consent.

Consent.code

The Consent.code is bound to the D:ActCode concept domain. It is used to optionally identify the type of consent (e.g. a consent to perform the related ServiceEvent, a consent for the information contained in the document to be released to a third party).

Consent.statusCode

Consents referenced in the CDA Header have been finalized (Consent.statusCode must equal "completed") and should be on file.

Table X: Fixed Consent.statusCode
Code Display Name
completed completed
Code System: ActStatus (HL7) Code System OID: 2.16.840.1.113883.5.14

5.2.3.5 EncompassingEncounter

This optional class represents the setting of the clinical encounter during which the documented act(s) or ServiceEvent occurred. Documents are not necessarily generated during an encounter, such as when a clinician, in response to an abnormal laboratory result, attempts to contact the patient but can't, and writes a Progress Note: in such a case, the encompassingEncounter could be omitted.

5.2.3.5.1 componentOf

The optional componentOf class is used to associate the ClinicalDocument to an EncompassingEncounter.

Table X: componentOf Attributes
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
typeCode CS [0..1] COMP Fixed

componentOf.typeCode

The componentOf.typeCode is fixed to "COMP", which indicates that the ClinicalDocument was created within the context of an encounter (encompassingEncounter).

Table X: Fixed componentOf.typeCode
Code Display Name
COMP component
Code System: ActRelationshipType (HL7) Code System OID: 2.16.840.1.113883.5.1002
5.2.3.5.2 EncompassingEncounter

The EncompassingEncounter represents an interaction between a patient and care provider(s) for the purpose of providing healthcare-related service(s).

Table X: EncompassingEncounter Attributes
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] ENC Fixed
moodCode CS [0..1] EVN Fixed
id II [0..*]
code CD [0..1] V:ActEncounterCode Open
effectiveTime IVL<TS> [0..1]
admissionReferralSourceCode CE [0..1] D:EncounterReferralSourceCode Open
dischargeDispositionCode CE [0..1] D:EncounterDischargeDisposition Open

EncompassingEncounter.classCode

The EncompassingEncounter.classCode is fixed to "ENC" to represent a encounter. The encounter class is used to represent an interaction between a patient and healthcare participant(s) for the purpose of providing patient service(s) or assessing the health status of a patient.

Table X: Fixed EncompassingEncounter.classCode
Code Display Name
ENC encounter
Code System: ActClass (HL7) Code System OID: 2.16.840.1.113883.5.6

EncompassingEncounter.moodCode

The EncompassingEncounter.moodCode is fixed to "EVN" (event) which indicates that the encounter is on-going or completed.

Table X: Fixed EncompassingEncounter.moodCode
Code Display Name
EVN event
Code System: ActMood (HL7) Code System OID: 2.16.840.1.113883.5.1001

EncompassingEncounter.id

The optional EncompassingEncounter.id can be used to uniquely identify the encounter.

EncompassingEncounter.code

The optional EncompassingEncounter.code is bound to the ActEncounterCode value set.

Table X: Value set for EncompassingEncounter.code
V:ActEncounterCode [2.16.840.1.113883.1.11.13955] (OPEN)
Code Display Name Code Display Name
AMB ambulatory EMER emergency
FLD field HH home health
IMP inpatient encounter ACUTE inpatient acute
NONAC virtual SS short stay
VR inpatient non-acute
Code System: ActCode (HL7) Code System OID: 2.16.840.1.113883.5.4

EncompassingEncounter.effectiveTime

For Encounters, the effectiveTime is the "administrative" time, i.e., the encounter start and end date as established by business rules. For inpatient encounters, the effectiveTime/low value is the admission date and time and the effectiveTime/high value is the discharge date and time. Note: If the encounter is still active at the time of document creation, the effectiveTime/high element SHALL be omitted to indicate the encounter is on-going. This is preferred over using a nullFlavor.

EncompassingEncounter.admissionReferralSourceCode

The optional EncompassingEncounter.admissionReferralSourceCode can be use to depict the type of place or organization responsible for the patient's care immediately prior to a patient encounter.

EncompassingEncounter.dischargeDispositionCode

The optional EncompassingEncounter.dischargeDispositionCode can be used to depict the disposition of the patient at the time of hospital discharge (e.g., discharged to home, expired, against medical advice, etc.).

5.2.3.5.3 location

The location participant (location class) relates a healthcare facility (HealthCareFacility class) to the encounter to indicate where the encounter took place.

Table X: location
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
typeCode CS [1..1] LOC Fixed

location.typeCode

Table X: Fixed participant.typeCode
Code Display Name
LOC location
Code System: ParticipationType (HL7) Code System OID: 2.16.840.1.113883.5.90
5.2.3.5.4 HealthCareFacility

The HealthCareFacility class supports the identification of the service delivery location. The location may be the setting (place) with an optional organizational reference, or a reference to the healthcare organization.

Table X: HealthCareFacility
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
classCode CS [0..1] V:RoleClassServiceDeliveryLocation Closed
id SET<II> [0..*]
code CE [0..1] V:ServiceDeliveryLocation Open

HealthCareFacility.classCode

The HealthCareFacility.classCode is bound to the ServiceDeliveryLocation value set and defaulted to the "SDLOC" to indicate the service delivery location.

Table X: Value set for HealthCareFacility.classCode
v:RoleClassServiceDeliveryLocation [2.16.840.1.113883.1.11.16927] (CLOSED)
Code Display Name Code Display Name
SDLOC (Default) service delivery location DSDLOC dedicated service delivery location, health care facility
ISDLOC incidental service delivery location
Code System: RoleClass (HL7) Code System OID: 2.16.840.1.113883.5.110

HealthCareFacility.id

An optional HealthCareFacility.id can be sent to uniquely identify the health care facility.

HealthCareFacility.code

The setting of an encounter (e.g. cardiology clinic, primary care clinic, rehabilitation hospital, skilled nursing facility) can be expressed in HealthCareFacility.code. A value set ServiceDeliveryLocationRoleType is provided for the this field.

Note: In some cases, the setting of the encounter is inherent in the ClinicalDocument.code, such as where ClinicalDocument.code is "Diabetes Clinic Progress Note". The setting of an encounter can also be transmitted in the HealthCareFacility.code attribute. If HealthCareFacility.code is sent, it should be equivalent to or further specialize the value inherent in the ClinicalDocument.code (such as where the ClinicalDocument.code is simply "Clinic Progress Note" and the value of HealthCareFacility.code is "cardiology clinic"), and shall not conflict with the value inherent in the ClinicalDocument.code, as such a conflict would constitute an ambiguous situation.

5.2.3.5.5 Place

The entity playing the role of HealthCareFacility is a place (Place class).

The setting (place) and physical location are not the same. There is a many-to-many relationship between setting and the physical location where care is delivered. Thus, a particular room can provide the setting for cardiology clinic one day, and for primary care clinic another day; and cardiology clinic today might be held in one physical location, but in another physical location tomorrow.

5.2.3.5.6 Organization

The entity scoping the HealthCareFacility role is an organization (Organization class). When the location is an organization, this is indicated by the presence of a scoping Organization, without a playing Place.

5.2.3.5.7 responsibleParty

The responsibleParty participant represents the participant having primary legal responsibility for the encounter. This differs from the legalAuthenticator participant in that the legalAuthenticator may or may not be the responsible party, and is serving a medical records function by signing off on the document, moving it into a completed state.

responsibleParty.typeCode

The responsibleParty.typeCode is fixed to "RESP" to indicate the responsible party i.e. The person or organization that has primary responsibility for the encounter. The responsible party is not necessarily present in an action, but is accountable for the action through the power to delegate, and the duty to review actions with the performing actor after the fact. This responsibility may be ethical, legal, contractual, fiscal, or fiduciary in nature.

Table X: Fixed responsibleParty.typeCode
Code Display Name
RESP responsible party
Code System: ParticipationType (HL7) Code System OID: 2.16.840.1.113883.5.90

A responsibleParty is a person or organization in the role of an assigned entity (AssignedEntity class). An assigned entity is a person assigned to the role by the scoping organization. The entity playing the role is a person (Person class). The entity scoping the role is an organization (Organization class).

When the responsible party is an organization, the value for AssignedEntity.classCode is "ASSIGNED", and the responsible party is reflected by the presence of a scoping Organization, without a playing entity.

5.2.3.5.8 AssignedEntity

A performer is an entity in the role of assigned entity (AssignedEntity class).

5.2.3.5.9 Person

An assigned entity is a person assigned to the role by the scoping organization. The entity playing the role is a Person class.

5.2.3.5.10 Organization

The entity scoping the role is an organization (Organization class).

5.2.3.5.11 encounterParticipant

The encounterParticipant participant represents clinicians directly associated with the encounter (e.g. by initiating, terminating, or overseeing it).

Table X: performer
Attribute Name Data Type Wire Cardinality Code Binding Binding Type
typeCode CS [1..1] V:x_EncounterParticipant Closed
time TS [0..1]

encounterParticipant.typeCode

The encounterParticipant typeCode is bound to the x_EncounterParticipant value set. It supports for the following participation: admitter, attender, consultant, discharger, and referrer.

Table X: Value set for encounterParticipant.typeCode
V:x_EncounterParticipant [2.16.840.1.113883.1.11.19600] (CLOSED)
Code Display Name Code Display Name
ADM admitter ATND attender
CON consultant DIS discharger
REF
Code System: ParticipationType (HL7) Code System OID: 2.16.840.1.113883.5.90

encounterParticipant.time

An encounterParticipant is an entity in the role of assigned entity (AssignedEntity class). An assigned entity is a person assigned to the role by the scoping organization. The entity playing the role is a person (Person class). The entity scoping the role is an organization (Organization class).

5.2.3.5.12 AssignedEntity

A performer is an entity in the role of assigned entity (AssignedEntity class).

5.2.3.5.13 Person

An assigned entity is a person assigned to the role by the scoping organization. The entity playing the role is a Person class.

5.2.3.5.14 Organization

The entity scoping the role is an organization (Organization class).

5.3 Body

5.3.1 Body Choice

Body Choice

The CDA body choice can be either a document body in a format other than XML, or the CDA structured body. Every CDA document has exactly one body, associated with the ClinicalDocument class through the component relationship.

5.3.1.1 component

The component class relates the ClinicalDocument header to the body choice; NonXMLBody or StructuredBody.

Table X: documentationOf Attributes
Attribute Name Data Type Cardinality Code Binding Binding Type
typeCode CS [0..1] DOC Fixed
contextConductionInd BL [0..1]

component.typeCode

The component.typeCode is fixed to "COMP", which indicates that the body is a component part of the StructuredDocument.

Table X: Fixed component.typeCode
Code Display Name
COMP has component
Code System: ActRelationshipType (HL7) Code System OID: 2.16.840.1.113883.5.1002

component.contextConductionInd

The component.contextConductionInd indicator is fixed to "true". Ancestor elements () which propagate, will conduct through this component class to the associated child element.

5.3.1.2 NonXMLBody

The NonXMLBody class represents a document body that is in some format other than XML. The NonXMLBody can be used to represent scanned document(s) or legacy document(s) needing to be transferred using the CDA standard.

Table X: NonXMLBody Attributes
Attribute Name Data Type Cardinality Code Binding Binding Type
classCode CS [0..1] DOCCLIN Fixed
moodCode CS [0..1] EVN Fixed
text ED [1..1]
confidentialityCode SET<CE> [0..*] V:x_BasicConfidentialityKind Open
languageCode CS [0..1] D:HumanLanguage Closed

NonXMLBody.typeCode

The ClinicalDocument.classCode in the CDA model is fixed to "DOCCLIN".

Table X: Fixed NonXMLBody.classCode
Code Display Name
DOCBODY document body
Code System: ActClass (HL7) Code System OID: 2.16.840.1.113883.5.6

NonXMLBody.moodCode

The NonXMLBody.moodCode is fixed to "EVN" or event mood to indicate that this is documentation of a past service.

Table X: Fixed NonXMLBody.moodCode
Code Display Name
EVN event
Code System: ActMood (HL7) Code System OID: 2.16.840.1.113883.5.1001

NonXMLBody.text

NonXMLBody.text is used to reference data that is stored externally to the CDA document or to encode the data directly inline. Rendering a referenced non-XML body requires a software tool that recognizes the particular MIME media type for this type of body.

NonXMLBody.confidentialityCode

Confidentiality is a required contextual component of CDA, where the value expressed in the ClinicalDocument can be overridden for the NonXMLBody of the document.

Table X: Value set for NonXMLBody.confidentialityCode
X_BasicConfidentialityKind [2.16.840.1.113883.1.11.16926] (OPEN)
Code Display Name Code Display Name
N normal R restricted
V very restricted
Code System: Confidentiality (HL7) Code System OID: 2.16.840.1.113883.5.25

* The codeSystem value is included here because confidentialityCode is of type CE, and therefore must carry both a code and a codeSystem.

NonXMLBody.languageCode

Specifies the human language of character data (whether they be in contents or attribute values). The values of the attribute are language identifiers as defined by the IETF (Internet Engineering Task Force) RFC 3066 for the Identification of Languages, ed. H. Alvestrand. 1995, which obsoletes RFC 1766. The HL7 code system for these values is "2.16.840.1.113883.6.121". Language is a contextual component of CDA, where the value expressed in the header holds true for the entire document, unless overridden by the NonXMLBody (as further described in CDA Context).

5.3.1.3 StructuredBody

The StructuredBody class represents a CDA document body that is comprised of one or more document sections.

Table X: StructuredBody Attributes
Attribute Name Data Type Cardinality Code Binding Binding Type
classCode CS [0..1] DOCCLIN Fixed
moodCode CS [0..1] EVN Fixed
confidentialityCode SET<CE> [0..*] V:x_BasicConfidentialityKind Open
languageCode CS [0..1] D:HumanLanguage Closed

StructuredBody.classCode

Table X: Fixed StructuredBody.classCode
Code Display Name
DOCBODY document body
Code System: ActClass (HL7) Code System OID: 2.16.840.1.113883.5.6

StructuredBody.moodCode

Table X: Fixed StructuredBody.moodCode
Code Display Name
EVN event
Code System: ActMood (HL7) Code System OID: 2.16.840.1.113883.5.1001

StructuredBody.confidentialityCode

Table X: Value set for StructuredBody.confidentialityCode
X_BasicConfidentialityKind [2.16.840.1.113883.1.11.16926] (OPEN)
Code Display Name Code Display Name
N normal R restricted
V very restricted
Code System: Confidentiality (HL7) Code System OID: 2.16.840.1.113883.5.25

* The codeSystem value is included here because confidentialityCode is of type CE, and therefore must carry both a code and a codeSystem.

StructuredBody.languageCode

Specifies the human language of character data (whether they be in contents or attribute values). The values of the attribute are language identifiers as defined by the IETF (Internet Engineering Task Force) RFC 3066: Tags for the Identification of Languages, ed. H. Alvestrand. 1995 , which obsoletes RFC 1766. The HL7 code system for these values is "2.16.840.1.113883.6.121".

A value for StructuredBody.languageCode overrides the value propagated from the header. See CDA Context for more details.

5.3.1.3.1 component

A component class is used to relate the body choice (NonXMLBody, StructuredBody) to it's component Section(s). See component for its attributes.

5.3.2 Section Attributes

Document sections can nest, can override context propagated from the header (see CDA Context, and can contain narrative and CDA entries.

Table X: Section Attributes
Attribute Name Data Type Cardinality Code Binding Binding Type
classCode CS [0..1] DOCSECT Fixed
moodCode CS [0..1] EVN Fixed
id II [0..1]
code CE [1..1] D:DocumentSectionType Open
title ST [0..1]
text ED.STRUCTURED_TEXT [0..1]
confidentialityCode SET<CE> [0..*] V:x_BasicConfidentialityKind Open
languageCode CS [0..1] D:HumanLanguage Closed

NOTE: XML ID Attribute added. For more information, see ID/IDREF discussion in Section Narrative Block.

Section.classCode

The Section.classCode is fixed to "DOCSECT", which represents a context that subdivides the body of a document. Document sections are typically used for human navigation, to give a reader a clue as to the expected content. Document sections are used to organize and provide consistency to the contents of a document body. Document sections can contain document sections and can contain entries.

Table X: Fixed Section.classCode
Code Display Name
DOCSECT document section
Code System: ActClass (HL7) Code System OID: 2.16.840.1.113883.5.6

Section.moodCode

The Section.moodCode is fixed to "EVN" (event) which indicates the section is about a service that actually happens, may be an ongoing service or a documentation of a past service.

Table X: Fixed Section.moodCode
Code Display Name
EVN event
Code System: ActMood (HL7) Code System OID: 2.16.840.1.113883.5.1001

Section.id

The unique instance identifier of a particular document section.

Section.code

The code specifying the particular kind of section (e.g. Chief Complaint, Review of Systems, Assessment). The value set is drawn from LOINC in the US Realm, but has an OPEN binding to enable other coding systems in other realms.

Section.title

Represents the label of a section. If valued, it is to be rendered as part of the narrative content of the clinical document body.

Section.text

Used to store narrative to be rendered. Also referred to as the CDA Narrative Block. See Section Narrative Block for details.

Section.confidentialityCode

A value for Section.confidentialityCode overrides the value propagated from StructuredBody. See CDA Context for more details.

Table X: Value set for Section.confidentialityCode
X_BasicConfidentialityKind [2.16.840.1.113883.1.11.16926] (OPEN)
Code Display Name Code Display Name
N normal R restricted
V very restricted
Code System: Confidentiality (HL7) Code System OID: 2.16.840.1.113883.5.25

* The codeSystem value is included here because confidentialityCode is of type CE, and therefore must carry both a code and a codeSystem.

Section.languageCode

Specifies the human language of character data (whether they be in contents or attribute values). The values of the attribute are language identifiers as defined by the IETF (Internet Engineering Task Force) RFC 3066: Tags for the Identification of Languages, ed. H. Alvestrand. 1995 , which obsoletes RFC 1766. The HL7 code system for these values is "2.16.840.1.113883.6.121".

A value for Section.languageCode overrides the value propagated from StructuredBody. See CDA Context for more details.

5.3.3 Section Participants

5.3.3.1 author

The author participant (described above, see author), can be ascribed to a CDA section, where it overrides the value(s) propagated from the CDA header.

5.3.3.2 informant

The informant participant (described above, see informant), can be ascribed to a CDA section where it overrides the value(s) propagated from the CDA header.

5.3.3.3 subject

The subject participant represents the primary target of the entries recorded in the document. Most of the time the subject is the same as the recordTarget (see recordTarget), but need not be, for instance when the subject is a fetus observed in an obstetrical ultrasound.

The subject participant can be ascribed to a CDA section or a CDA entry. It propagates to nested components, unless overridden. The subject of a document is presumed to be the patient.

Table X: informant
Attribute Name Data Type Cardinality Code Binding Binding Type
typeCode CS [0..1] INF Fixed
contextControlCode CS [0..1] OP Fixed
awarenessCode CE [0..1] D:TargetAwareness Open

subject.typeCode

The subject.typeCode is fixed to "SBJ" to indicate that a participant that is the principle target (subject) of the service acts documented.

Table X: Fixed subject.typeCode
Code Display Name
SBJ subject
Code System: ParticipationType (HL7) Code System OID: 2.16.840.1.113883.5.90

subject.contextControlCode

The subject.contextControlCode is fixed to "OP". Any subject(s) defined for a section will override the the Patient in recordTarget (an implicit subject) and propagate to the sub-sections and entries this section contains.

Table X: Fixed subject.contextControlCode
Code Display Name
OP overriding, propagating
Code System: ContextControl (HL7) Code System OID: 2.16.840.1.113883.5.1057
5.3.3.3.1 RelatedSubject

A subject is a person playing one of several possible roles (RelatedSubject class).

Table X: RelatedSubject
Attribute Name Data Type Cardinality Code Binding Binding Type
classCode CS [0..1] x_DocumentSubject Closed
code CE [0..1] D:PersonalRelationshipRoleType Open
addr SET<AD> [0..*]
telecom SET<TEL> [0..*]

RelatedSubject.classCode

The RelatedSubject.classCode can take two codes; "PAT" a Role of a LivingSubject (player) as a recipient of health care services from a healthcare provider (scoper) and "PRS" which links two people in a personal relationship. The character of the relationship must be defined by a PersonalRelationshipRoleType code.

Table X: Value set for RelatedSubject.classCode
v:x_DocumentSubject [2.16.840.1.113883.1.11.19368] (CLOSED)
Code Display Name Code Display Name
PAT (Default) patient PRS personal relationship
Code System: RoleClass (HL7) Code System OID: 2.16.840.1.113883.5.110

RelatedSubject.code

The RelatedSubject.code is bound to the PersonalRelationshipRoleType concept domain

RelatedSubject.addr

An optional postal address for the subject.

RelatedSubject.telecom

An optional phone number for the subject.

5.3.3.3.2 SubjectPerson

The entity playing in the role RelatedSubject, is a person (SubjectPerson class).

Table X: SubjectPerson
Attribute Name Data Type Cardinality Code Binding Binding Type
classCode CS [0..1] PSN Fixed
determinerCode CS [0..1] INSTANCE Fixed
id SET<II> [0..*]
name SET<PN> [0..*]
desc ED [0..1]
administrativeGenderCode CE [0..1] D:administrativeGender Open
birthTime TS [0..1]
deceasedInd BL [0..1]
deceasedTime TS [0..1]
multipleBirthInd BL [0..1]
multipleBirthOrderNumber INT [0..1]
maritalStatusCode CE [0..1] D:MaritalStatus Open
religiousAffiliationCode CE [0..1] D:ReligousAffiliation Open
raceCode SET<CE> [0..*] D:Race Open
ethnicGroupCode SET<CE> [0..*] D:Ethnicity Open

SubjectPerson.classCode

The SubjectPerson.classCode is fixed to "PSN", indicating that the entity is a person.

Table X: Fixed SubjectPerson.classCode
Code Display Name
PSN person
Code System: EntityClass (HL7) Code System OID: 2.16.840.1.113883.5.41

SubjectPerson.determinerCode

The determinerCode is fixed to "INSTANCE", which indicates a specific person is a SubjectPerson.

Table X: Fixed SubjectPerson.determinerCode
Code Display Name
INSTANCE specific
Code System: EntityDeterminer (HL7) Code System OID: 2.16.840.1.113883.5.30

SubjectPerson.id

Optional identifier for the SubjectPerson.

SubjectPerson.name

The subject's name.

Note: The person name data type "PN" supports current, and historical names using validTime, and the specification of different use codes can indicate legal name, tribal name, stage name and others.

SubjectPerson.desc

A textual or multimedia depiction of the subject.

SubjectPerson.administrativeGenderCode

The gender (i.e., the behavioral, cultural, or psychological traits typically associated with one sex) of a living subject as defined for administrative purposes.

SubjectPerson.birthTime

The date and time of the subject's birth.

SubjectPerson.deceasedInd

An indication that the subject is dead.

SubjectPerson.deceasedTime

The date and time that the Subject's death occurred.

SubjectPerson.multipleBirthInd

An indication as to whether the subject was part of a multiple birth.

SubjectPerson.multipleBirthOrderNumber

The order within a multiple birth in which this subject was born.

SubjectPerson.maritalStatusCode

The domestic partnership status of the subject.

SubjectPerson.religiousAffiliationCode

The primary religious preference of the subject.

SubjectPerson.raceCode

The race of the subject.

Note: More than one race code is now supported in CDA R2.1.

SubjectPerson.ethnicGroupCode

The ethnic group of the subject.

Note: More than one ethnic group is now supported in CDA R2.1.

Note: See 2.7 Backwards and Forwards Compatibility, for discussion on sdtc: extensions defined for CDA R2.0 and CDA R2.1.

5.3.4 Section Relationships

5.3.4.1 component

The "component" Act Relationship is used to nest a Section within a Section. Context propagates to nested sections (see CDA Context). Refer to component above for more information.

5.3.4.2 entry

The relationship between a section and its entries is encoded in the intervening "entry" Act Relationship.

The narrative of each Section, together with the multimedia content referenced in the narrative, comprises the complete authenticated content of the Section. This multimedia content consists of ObservationMedia and RegionOfInterest entries referenced by tags in the Section.text. This is the only case where the entries contain authenticated content that must be rendered with the narrative.

NOTE: See Referencing in and out of the narrative block for a discussion of referencing in and out of a section's narrative block.
Table X: entry Attributes
Attribute Name Data Type Cardinality Code Binding Binding Type
typeCode CS [0..1] V:x_ActRelationshipEntry Fixed
contextConductionInd BL [0..1]

entry.typeCode

In terms of the relationship between a section and its entries, CDA defines a default general case, and a more specific case that can be used when applicable.

The entry relationship is defaulted to "COMP" (component), for the general case where the only assertion is that the related entries are contained within the source section and no other semantics are implied. In this case, the narrative is the original authenticated content. The CDA entries are created by various techniques (e.g., natural language processing, a human coder, a structured data entry tool that outputs both entries and a text report). The method of entry creation may be indicated by the entry participants (e.g., by identifying the algorithm or person that generated them). Relationships between various entries (such as two Observations or an Observation and an ObservationMedia) are encoded using the relationship types defined in entryRelationship.

A section may also have no narrative content in the case where the entries represent information that is not part of the clinical content of the document. A report may embed information referencing evidence data, reagents, calibration or other information that may be used for later processing but is not part of the clinical content. Such entries are also linked to the Section with ActRelationships possessing typeCode="COMP".

The entry relationship "DRIV" (is derived from) can be used in the special case where the narrative is fully derived from CDA Entries. When a report consisting entirely of structured entries is transformed into CDA, the encoding application must ensure that the authenticated content (narrative plus multimedia) is a faithful and complete rendering of the clinical content of the structured source data. This ensures that the narrative plus multimedia represents, as in all CDA documents, the complete authenticated content of the Section. In this case, narrative plus multimedia does not contain any clinical content that is not present in the Entries. An example of this case is a DICOM Structured Reporting document of obstetrical measurements made by ultrasound, rendered into a tabular report by a program converting it to CDA narrative block. If the typeCode of the ActRelationship linking these Entries to the Section was "DRIV", it would indicate to a receiving application: 1) the source of the narrative block is the Entries; 2) the contents of the two are equivalent.

The entries sourced from a Section may have a mix of ActRelationship typeCodes. In such a case, the union of the targets with a "DRIV" relationship are those used to generate the narrative block, and are those that, taken in total, are equivalent to the narrative block. Additional entries with "COMP" relationships are contained within the same section, with no implied semantics.

Table X: Value set for entry.typeCode
V:x_ActRelationshipEntry [2.16.840.1.113883.1.11.19446] (CLOSED)
Code Display Name Code Display Name
COMP (Default) has component DRIV is derived from
Code System: ActRelationshipType (HL7) Code System OID: 2.16.840.1.113883.5.1002

entry.contextConductionInd

The component.contextConductionInd indicator is fixed to "true". Ancestor elements () which propagate, will conduct through this component class to the associated child element.

5.3.5 Section Narrative Block

The Section.text field is used to store narrative to be rendered, as described above in CDA Conformance, and is therefore referred to as the CDA Narrative Block.

The CDA Narrative Block schema can be found here.

The content model of the CDA Narrative Block schema is specially hand crafted to meet the requirements outlined above (see Human Readability and Rendering CDA Documents). The schema is registered as a MIME type (text/x-hl7-text+xml), which is the fixed media type for Section.text. Components of the schema are described in the sections that follow.

5.3.5.1 <content>

The CDA <content> element is used to wrap a string of text so that it can be explicitly referenced, or so that it can suggest rendering characteristics. The <content> element can nest recursively, which enables wrapping a string of plain text down to as small a chunk as desired.

The <content> element contains an optional identifier, that can serve as the target of a reference. All values of attributes of type XML ID must be unique within the document (per the W3C XML specification). The originalText component of a RIM attribute present in any CDA entry can make explicit reference to the identifier, thereby indicating the original text associated with the attribute in the CDA entry.

Note: The <content> element is not the only element which can serve as the target of a reference. All narrative elements (including <text>) contain an ID element which can be referenced by the originalText component in a CDA entry. <content> is simply a tool which can be used to reference only a portion of a longer string contained in another narrative element.

Example X
<section>
   <code code="10153-2" 
    codeSystem="2.16.840.1.113883.6.1" 
    codeSystemName="LOINC"/>
   <title>Past Medical History</title>
   <text>
    There is a history of <content ID="a1">Asthma</content>
   </text>
   <entry>
      <observation classCode="OBS" moodCode="EVN">
         <code code="195967001" 
          codeSystem="2.16.840.1.113883.6.96" 
          codeSystemName="SNOMED CT" 
          displayName="Asthma">
            <originalText>
               <reference value="#a1"/>
            </originalText>
         </code>
         <statusCode code="completed"/>
      </observation>
   </entry>
</section>

There is no requirement that CDA entries must reference into the CDA Narrative Block. The referencing mechanism can be used where it is important to represent the original text component of a coded CDA entry.

The <content> element contains an optional "revised" attribute that can be valued with "insert" or "delete", which can be used to indicate narrative changes from the last version of a CDA document. The attribute is limited to a single generation, in that it only reflects the changes from the preceding version of a document. If applied, it needs to be used in conjunction with standard CDA revision tracking. Changes to a CDA document that has been released for patient care still require a formal versioning and revision, and the revised document can optionally carry the "revised" attribute to show the delta in the narrative. Receivers are required to interpret the "revised" attribute when rendering by visually distinguishing or suppressing deleted narrative.

5.3.5.2 <linkHtml>

The CDA <linkHtml> is a generic referencing mechanism, similar, but not identical, to the HTML anchor tag. It can be used to reference identifiers that are either internal or external to the document.

Multimedia that is integral to a document, and part of the attestable content of the document requires the use of the ObservationMedia CDA entry, which is referenced by the <renderMultiMedia> element (see <renderMultiMedia>). Multimedia that is simply referenced by the document and not an integral part of the document can use <linkHtml>.

The source of a link uses the linkHtml.href attribute. The target of an internal reference is an identifier of type XML ID, which can exist on other elements in the same or a different narrative block, or XML ID attributes that have been added to the <section>, <ObservationMedia>, or <renderMultiMedia> elements of the CDA Schema. The linkHtml.name attribute is deprecated, because attributes of type XML ID provide an alternative and more consistent target for referencing. Following the conventions of HTML, an internal link is prefaced with the pound sign, as shown in the following example.

Example X
<section ID="SECT001">
   <code code="10164-2" codeSystem="2.16.840.1.113883.6.1" 
    codeSystemName="LOINC"/>
   <title>History of Present Illness</title>
   <text>Mr. Smith is a 57 year old male presenting with 
    chest pain. He sustained a myocardial infarction 3 years 
    ago, ...
   </text>
</section>

 ...

<section ID="SECT003">
   <code code="10153-2" codeSystem="2.16.840.1.113883.6.1" 
    codeSystemName="LOINC"/>
   <title>Past Medical History</title>
   <text>History of coronary artery disease, as noted
    <linkHtml href="#SECT001">above</linkHtml>.</text>
</section>

CDA links do not convey shareable meaning. Shareable semantics are only achieved by the inclusion of CDA entries and their associated formalized relationships. There is no requirement that a receiver render an internal or external link, or the target of an external link.

5.3.5.3 <sub> and <sup>

The CDA <sub> and <sup> elements are used to indicate subscripts and superscripts, respectively.

Receivers are required to interpret these elements when rendering by visually distinguishing subscripted and superscripted characters.

5.3.5.4 <br>

The CDA <br/> element is used to indicate a hard line break. It differs from the CDA <paragraph> element in that the <br/> element has no content. Receivers are required to interpret this element when rendering so as to represent a line break.

5.3.5.5 <footnote> and <footnoteRef>

The CDA <footnote> element is used to indicate a footnote. The element contains the footnote, inline with the flow of text to which it is applied.

The <footnoteRef> element can reference an existing footnote in the same or different CDA Narrative Block of the same document. It can be used when the same footnote is being used multiple times. The value of the footnoteRef.IDREF must be an footnote.ID value in the same document.

Receivers are required to interpret these elements when rendering by visually distinguishing footnoted text. The exact rendition is at the discretion of the recipient, and might include a mark at the location of the footnote with a hyperlink to the footnoted text, a simple demarcation (such as "This is the text [this is the footnote] that is being footnoted"), etc.

5.3.5.6 <renderMultiMedia>

The CDA <renderMultiMedia> element references external multimedia that is integral to a document, and part of the attestable content of the document, and serves to show where the referenced multimedia is to be rendered.

The <renderMultiMedia> element has an optional <caption>, and contains a required referencedObject attribute (of type XML IDREFS), the values of which must equal the XML ID value(s) of ObservationMedia or RegionOfInterest CDA entries within the same document.

Example X
<section>
   <code code="8709-8" codeSystem="2.16.840.1.113883.6.1" 
    codeSystemName="LOINC"/>
   <title>Skin exam</title>
   <text>Erythematous rash, palmar surface, left index 
    finger.<renderMultiMedia referencedObject="MM1"/>
   </text>
   <entry>
      <observationMedia classCode="OBS" moodCode="EVN" ID="MM1">
         <id root="2.16.840.1.113883.19.2.1"/>
         <value xsi:type="ED" mediaType="image/jpeg">
            <reference value="left_hand_image.jpeg"/>
         </value>
      </observationMedia>
   </entry>
</section>

Multimedia that is simply referenced by the document and not an integral part of the document must use <linkHtml>.

The expected behavior is that the referenced multimedia should be rendered or referenced at the point of reference. Where a caption is present, it must also be rendered. <renderMultiMedia> can either reference a single ObservationMedia, or one or more RegionOfInterest. If <renderMultiMedia> references a single ObservationMedia, that ObservationMedia should be rendered or referenced at the point of reference. If <renderMultiMedia> references one or more RegionOfInterest, all RegionOfInterests should be rendered or referenced at the point of reference, atop the multimedia they are regions of. If <renderMultiMedia> references more than one RegionOfInterest, each RegionOfInterest must be a region on the same multimedia.

5.3.5.7 <paragraph>

A CDA <paragraph> is similar to the HTML paragraph, which allows blocks of narrative to be broken up into logically consistent structures. A CDA <paragraph> element contains an optional caption, which if present must come first before any other character data.

5.3.5.8 <list>

A CDA <list> is similar to the HTML list. A CDA <list> has an optional caption, and contains one or more <item> elements. A CDA <item> element contains an optional caption, which if present must come first before any other character data. The required listType attribute specifies whether the <list> is ordered or unordered (with unordered being the default). Unordered lists are typically rendered with bullets, whereas ordered lists are typically rendered with numbers, although this is not a requirement.

5.3.5.9 <table>

The CDA <table> is similar to the HTML table. The table markup is for presentation purposes only and, unlike a database table, does not possess meaningful field names. Remember to access the discrete data conveyed in a CDA document, process the RIM models contained within the <entry> element.

CDA modifies the strict XHTML table model by removing formatting tags and by setting the content model of cells to be similar to the contents of other elements in the CDA Narrative Block. A notable enhancement to the CDA R2.1 standard is the support of the <table> element within <td> & <th> elements. The support of tables within tables was not supported in CDA R2.0, but has been added for those implementation requiring complex table layouts. For definitions of the @align and @valign attributes see the W3C HTML 4.01 Specification section 11.3.2 <http://www.w3.org/TR/html401/struct/tables.html#h-11.3.2>.

The table.border, table.cellspacing, and table.cellpadding attributes are deprecated, because the styleCode attribute (see styleCode attribute) provides a more consistent way for senders to suggest rendering characteristics.

5.3.5.10 <caption>

The CDA <caption> is a label for a paragraph, list, list item, table, or table cell. It can also be used within the <renderMultiMedia> element to indicate a label for referenced ObservationMedia and RegionOfInterest entries. A <caption> contains plain text and may contain links and footnotes.

5.3.5.11 styleCode attribute

The styleCode attribute is used within the CDA Narrative Block to give the instance author the ability to suggest rendering characteristics of the nested character data. Receivers are not required to render documents using the style hints provided and can present stylized text in accordance with their local style conventions.

The value set is drawn from the HL7 styleType vocabulary domain, and has a CWE coding strength.

Table X: Value set for styleCode (CWE)
Code Definition
Font style (Defines font rendering characteristics.)
Bold Render with a bold font.
Underline Render with an underlines font.
Italics Render italicized.
Emphasis Render with some type of emphasis.
Table rule style (Defines table cell rendering characteristics.
Lrule Render cell with left-sided rule.
Rrule Render cell with right-sided rule.
Toprule Render cell with rule on top.
Botrule Render cell with rule on bottom.
Ordered list style (Defines rendering characteristics for ordered lists.)
Arabic List is ordered using Arabic numerals: 1, 2, 3.
LittleRoman List is ordered using little Roman numerals: i, ii, iii.
BigRoman List is ordered using big Roman numerals: I, II, III.
LittleAlpha List is ordered using little alpha characters: a, b, c.
BigAlpha List is ordered using big alpha characters: A, B, C.
Unordered list style (Defines rendering characteristics for unordered lists.)
Disc List bullets are simple solid discs.
Circle List bullets are hollow discs.
Square List bullets are solid squares.

Local extensions to the styleType vocabulary domain must follow the following convention: [x][A-Za-z][A-Za-z0-9]* (first character is "x", second character is an upper or lower case A-Z, remaining characters are any combination of upper and lower case letters or numbers).

The styleCode attribute can contain multiple values, separated by white space. Where an element containing a styleCode attribute is nested within another element containing a styleCode attribute, the style effects are additive, as in the following example:

Example X
<section>
   <text><content styleCode="Bold">This is rendered bold, 
    <content styleCode="Italics">this is rendered bold and 
    italicized,</content> this is rendered bold. </content>
    <content styleCode="Bold Italics">This is also rendered 
    bold and italicized.</content>
   </text>
</section>

5.3.5.12 Referencing in and out of the narrative block

NOTE: See entry for a discussion of the relationships between a section and its contained entries.

To summarize the mechanisms for referencing in and out of the CDA Narrative Block:

CDA entries can point in to the <content> element of the CDA Narrative Block (see <content>).

The <linkHtml> element of the CDA Narrative Block can reference targets that are either internal or external to the document (see <linkHtml>).

The <footnoteRef> element of the CDA Narrative Block can reference a <footnote> element in the same or different CDA Narrative Block of the same document (see <footnote> and <footnoteRef>).

The <renderMultiMedia> element of the CDA Narrative Block can point out to CDA ObservationMedia and RegionOfInterest entries of the same document (see <renderMultiMedia>).

5.3.6 Entry Acts

CDA entries represent the structured computer-processable components within a document section. Each section can contain zero to many entries.

Clinical documents contain a wide breadth of content, requiring much of the RIM to enable a full and complete encoding. The current set of CDA entries have been developed in response to identified requirements and scenarios that are in CDA's scope. Rather than creating specific entries for each scenario, similar requirements are merged to create broader entries, which can then be constrained within a particular realm or implementation. This approach is consistent with the approach taken by CEN, DICOM, and OpenEHR.

The model for CDA entries is derived from the shared HL7 Clinical Statement model, which is a collaborative project between several committees striving to provide a consistent representation of clinical observations and acts across various V3 specifications.

5.3.6.1 Act

Act

A derivative of the RIM Act class, to be used when the other classes present in the CDA Clinical Statement choice pattern are not appropriate.

Table X: Act Attributes
RIM Attribute(s) Data Type Cardinality Code Binding Binding Type
classCode CS [1..1] V:x_ActClassDocumentEntryAct Closed
moodCode CS [1..1] V:x_DocumentActMood Closed
id SET <II> [0..*]
code CD [1..1] D:ActCode Open
actionNegationInd BL [0..1]
negationInd (Deprecated) BL [0..1]
text ED [0..1]
statusCode CS [0..1] V:ActStatus Closed
effectiveTime IVL<TS> [0..1]
activityTime GTS [0..1]
availabilityTime TS [0..1]
priorityCode CE [0..1] D:ActPriority Open
confidentialityCode SET<CE> [0..*] D:Confidentiality Open
uncertaintyCode CE [0..1] D:ActUncertainty Open
reasonCode SET<CE> [0..*] D:ActReason Open
languageCode CS [0..1] D:HumanLanguage Closed

Act.classCode

The major class of Acts to which an Act-instance belongs.

Table X: Value set for Act.classCode
x_ActClassDocumentEntryAct [2.16.840.1.113883.1.11.19599] (CLOSED)
Code Display Name Code Display Name
ACT Act ACCM accommodation
CONS consent CTTEVENT clinical trial timepoint event
INC incident INFRM inform
PCPR care provision REG registration
SPCTRT specimen treatment TRNS transportation
ACSN accession CONTREG container registration
DISPACT disciplinary action EXPOS exposure
AEXPOS acquisition exposure TEXPOS transmission exposure
LIST working list MPROT monitoring program
REV review STORE storage
TRFR transfer
Code System: ActClass (HL7) Code System OID: 2.16.840.1.113883.5.6

Act.moodCode

The intended use of the Act statement: as a report of fact, a command, a possibility, a goal, etc. Since the mood code is a determining factor for the meaning of an entire Act object, the mood must always be known. This means that whenever an act object is instantiated, the mood attribute SHALL be assigned to a valid code, and the mood assignment SHALL NOT change throughout the lifetime of the act object.

Table X: Value set for Act.moodCode
V:x_DocumentActMood [2.16.840.1.113883.1.11.19458] (CLOSED)
Code Display Name Code Display Name
APT appointment ARQ appointment request
EVN event DEF definition
RQO request INT intent
PRMS promise PRP proposal
RSK risk
Code System: ActMood (HL7) Code System OID: 2.16.840.1.113883.5.1001

Act.id

A unique identifier for the Act.

Act.code

The particular kind of Act that the Act-instance represents within its class. Act.code, if used, SHALL be a specialization of the Act.classCode. This attribute defines a specific sub-type of a given Act type (determined by the "classCode" attribute). It allows the use of rich terminologies such as LOINC and SNOMED to represent sub-types of the limited set of Act types defined by "classCode." The Act.code is bound to the ActCode concept domain.

Act.actionNegationInd

The Act.actionNegationInd works as a negative existence quantifier on the actual, intended or described Act event. In Event mood, it indicates the defined act did not occur. In Intent mood, it indicates the defined act is not intended/desired to occur. In Criterion mood, it indicates that the condition is based on the non-occurrence of the event. It is nonsensical to have a negationInd of true for acts with a mood of definition.

The actionNegationInd negates the Act as described by the descriptive properties which are: classCode, code, statusCode, effectiveTime, activityTime, priorityCode, reasonCode and any of their components.

The remaining properties represent the document characteristics, E.g. Act.id, Act.moodCode, Act.confidentialityCode, and particularly the Author-Participation are not negated. These document characteristic properties always have the same meaning: i.e., the author remains to be the author of the negative observation. Also, most ActRelationships (except for components) are not included in the negation. Refer to the attribute isDocumentCharacteristic property and the ActRelationshipType and ParticipationType code system isDocumentCharacteristic properties for specific guidance.

Act.negationInd

Act.negationInd, is deprecated in RIM 2.35, and CDA R2.1 retains it for backwards compatibility. CDA R2.1 compliant implementation guides should use actionNegationInd moving forward.

Act.text

A renderable textual or multimedia description (or reference to a description) of the complete information which would reasonably be expected to be displayed to a human reader conveyed by the Act. The Act.text attribute can reference the associated narrative content in the section using the XML ID attribute added to the Narrative Text elements.

Act.statusCode

The status reflects the state of the activity. The RIM based state machine diagram depicts the allowable state transitions that an Act.StatusCodes can take on.

Table X: Value set for Act.statusCode
V:ActStatus [2.16.840.1.113883.1.11.15933] (CLOSED)
Code Display Name Code Display Name
normal normal aborted aborted
active active cancelled cancelled
completed completed held held
new new suspended suspended
nullified nullified obsolete obsolete
Code System: ActStatus (HL7) Code System OID: 2.16.840.1.113883.5.14

Act.effectiveTime

Act.effectiveTime is used to indicate the clinically or operationally relevant time of an act, exclusive of administrative activity.

Act.activityTime

Act.activityTime is a time expression specifying when an act occurs, inclusive of administrative time E.g. times of component actions, such as preparation and clean-up. Depending on the mood code used, it represents the time the act occurred, is supposed to occur, is scheduled to occur, etc.

Act.availabilityTime

Act.availabilityTime is the point in time at which information about an act instance (regardless of mood) first became available to a system. The availabilityTime is metadata describing the recording of, not the act itself.

Act.priorityCode

The urgency under which the Act happened, can happen, is happening, is intended to happen, or is requested/demanded to happen. The Act.priorityCode is bound to the ActPriority concept domain.

Act.confidentialityCode

Constraints around appropriate disclosure of information about this Act, regardless of mood. The Act.confidentialityCode is bound to the Confidentiality concept domain.

Act.uncertaintyCode

An indication that the Act statement as a whole, with its subordinate components has been asserted to be uncertain in some way. The use of the uncertaintyCode is appropriate only if the entirety of the Act and its dependent Acts is questioned. The Act.uncertaintyCode is bound to the ActUncertainty concept domain.

Act.reasonCode

The motivation, cause, or rationale of an Act, when such rationale is not reasonably represented as an ActRelationship of type "has reason" linking to another Act. The Act.reasonCode is bound to the ActReason concept domain.

Most reasons for acts can be clearly expressed by linking the new Act to another prior Act record using an ActRelationship of type "has reason." This simply states that the prior Act is a reason for the new Act (see ActRelationship). The prior act can then be a specific existing act or a textual explanation. This works for most cases, and the more specific the reason data is, the more should this reason ActRelationship be used instead of the reasonCode.

The reasonCode remains as a place for common reasons that are not related to a prior Act or any other condition expressed in Acts. Indicators that something was required by law or was on the request of a patient may qualify. However, if that piece of legislation, regulation, or the contract or the patient request can be represented as an Act (and they usually can), such a representation is preferable to the reasonCode.

Act.languageCode

The primary language in which this Act statement is specified, particularly the language of the Act.text. The Act.languageCode is bound to the HumanLanguage concept domain.

5.3.6.2 Encounter

A derivative of the RIM PatientEncounter class, used to represent related encounters, such as follow-up visits or referenced past encounters.

NOTE: The EncompassingEncounter class in the CDA Header (see Header Relationships) represents the setting of the clinical encounter during which the documented act occurred. The Encounter class in the CDA Body is used to represent other related encounters.
Table X: Encounter Attributes
RIM Attribute(s) Data Type Cardinality Code Binding Binding Type
classCode CS [1..1] ENC Fixed
moodCode CS [1..1] V:x_DocumentEncounterMood Closed
id SET <II> [0..*]
code CD [0..1] D:ActCode Open
actionNegationInd BL [0..1]
negationInd (Deprecated) BL [0..1]
text ED [0..1]
statusCode CS [0..1] V:ActStatus Closed
effectiveTime IVL<TS> [0..1]
activityTime GTS [0..1]
availabilityTime TS [0..1]
priorityCode CE [0..1] D:ActPriority Open
confidentialityCode SET<CE> [0..*] D:Confidentiality Open
uncertaintyCode CE [0..1] D:ActUncertainty Open
reasonCode SET<CE> [0..*] D:ActReason Open
languageCode CS [0..1] D:HumanLanguage Closed
admissionReferralSourceCode <CE> [0..1] D:EncounterReferralSource Open
lengthOfStayQuantity <PQ>.TIME [0..1]
dischargeDispositionCode <CE> [0..1] D:EncounterDischargeDisposition Open
preAdmitTestInd BL [0..1]
specialCourtesiesCode SET<CE> [0..*] D:EncounterSpecialCourtesy Open
specialArrangementCode SET<CE> [0..*] D:SpecialArrangement Open

Encounter.classCode

The Encounter.classCode is fixed to "ENC" to represent an encounter. The encounter class is used to represent an interaction between a patient and healthcare participant(s) for the purpose of providing patient service(s) or assessing the health status of a patient.

Table X: Fixed Encounter.classCode
Code Display Name
ENC (Fixed) encounter
Code System: ActClass (HL7) Code System OID: 2.16.840.1.113883.5.6

Encounter.moodCode

The Encounter.moodCode is bound to the x_DocumentEncounterMood value set. This enables to the modeling of both past, present and planned future encounters.

Table X: Value set for Encounter.moodCode
V:x_DocumentEncounterMood [2.16.840.1.113883.1.11.19459] (CLOSED)
Code Display Name Code Display Name
APT appointment ARQ appointment request
EVN event DEF definition
RQO request INT intent
PRMS promise PRP proposal
Code System: ActMood (HL7) Code System OID: 2.16.840.1.113883.5.1001

Encounter.id

The optional Encounter.id can be used to uniquely identify the encounter.

Encounter.code

The optional Encounter.code is bound to the ActEncounterCode value set.

Table X: Value set for EncompassingEncounter.code
V:ActEncounterCode [2.16.840.1.113883.1.11.13955] (OPEN)
Code Display Name Code Display Name
AMB ambulatory EMER emergency
FLD field HH home health
IMP inpatient encounter ACUTE inpatient acute
NONAC virtual SS short stay
VR inpatient non-acute
Code System: ActCode (HL7) Code System OID: 2.16.840.1.113883.5.4

Encounter.actionNegationInd

The Encounter.actionNegationInd works as a negative existence quantifier on the actual, intended or described Encounter event. In Event mood, it indicates the defined encounter did not occur. In Intent mood, it indicates the defined encounter is not intended/desired to occur. In Criterion mood, it indicates that the condition is based on the non-occurrence of the event. It is nonsensical to have a negationInd of true for acts with a mood of definition.

The actionNegationInd negates the Encounter as described by the descriptive properties which are: classCode, code, statusCode, effectiveTime, activityTime, priorityCode, reasonCode, admissionReferralSourceCode, lengthOfStayQuantity, dischargeDispositionCode, preAdmitTestInd, specialCourtesiesCode, specialArrangementCode and any of their components.

The remaining properties represent the document characteristics, E.g. Encounter.id, Encounter.moodCode, Encounter.confidentialityCode, and particularly the Author-Participation are not negated. These document characteristic properties always have the same meaning: i.e., the author remains to be the author of the negative encounter. Also, most ActRelationships (except for components) are not included in the negation. Refer to the attribute isDocumentCharacteristic property and the ActRelationshipType and ParticipationType code system isDocumentCharacteristic properties for specific guidance.

Encounter.text

A renderable textual or multimedia description (or reference to a description) of the complete information which would reasonably be expected to be displayed to a human reader conveyed by the Encounter. The Encounter.text attribute can reference the associated narrative content in the section using the XML ID attribute added to the Narrative Text elements.

Encounter.statusCode

The status reflects the state of the Encounter. The RIM based state machine diagram depicts the allowable state transitions that an Encounter.statusCode can take on.

Encounter.effectiveTime

For Encounters, the effectiveTime is the "administrative" time, i.e., the encounter start and end date as established by business rules. For inpatient encounters, the effectiveTime/low value is the admission date and time and the effectiveTime/high value is the discharge date and time. Note: If the encounter is still active at the time of document creation, the effectiveTime/high element can be omitted to indicate the encounter is on-going.

Encounter.activityTime

Encounter.activityTime is a time expression specifying when an Encounter occurs, inclusive of administrative time E.g. times of component actions, such as preparation and clean-up. Depending on the mood code used, it represents the time the Encounter occurred, is supposed to occur, is scheduled to occur, etc.

Encounter.availabilityTime

Encounter.availabilityTime is the point in time at which information about an Encounter instance (regardless of mood) first became available to a system. The availabilityTime is metadata describing the recording of, not the Encounter itself.

Encounter.priorityCode

The urgency under which the Encounter happened, can happen, is happening, is intended to happen, or is requested/demanded to happen. The Encounter.priorityCode is bound to the ActPriority concept domain.

Encounter.confidentialityCode

Constraints around appropriate disclosure of information about this Encounter, regardless of mood. The Encounter.confidentialityCode is bound to the Confidentiality concept domain.

Encounter.reasonCode

The motivation, cause, or rationale of an Encounter, when such rationale is not reasonably represented as an ActRelationship of type "has reason" linking to another Act. The Encounter.reasonCode is bound to the ActReason concept domain.

Encounter.languageCode

The primary language in which this Encounter statement is specified, particularly the language of the Encounter.text. The Encounter.languageCode is bound to the HumanLanguage concept domain.

Encounter.admissionReferralSourceCode

The optional EncompassingEncounter.admissionReferralSourceCode can be use to depict the type of place or organization responsible for the patient's care immediately prior to a patient encounter.

Encounter.lengthOfStayQuantity

The total quantity of time when the subject is expected to be or was resident at a facility as part of an encounter. Note, the actual days quantity cannot be simply calculated from the admission and discharge dates because of possible leaves of absence.

Encounter.dischargeDispositionCode

The optional EncompassingEncounter.dischargeDispositionCode can be used to depict the disposition of the patient at the time of hospital discharge (e.g., discharged to home, expired, against medical advice, etc.).

Encounter.preAdmitTestInd

An indication that pre-admission tests are required for this patient encounter.

Encounter.specialCourtesiesCode

Extraordinary considerations or services provided within the context of the Patient Encounter. Examples include: Professional courtesy, VIP courtesies, no courtesies

Encounter.specialArrangementCode

Extraordinary provisions required in the context of the patient encounter. For encounters in intention moods, this information can be used to identify special arrangements that will need to be made for the incoming patient.

5.3.6.3 Observation

A derivative of the Observation(§ RIM 2.35) class, it is intended to result in new information about a subject. The main difference between Observations and other Acts is that Observations have a value attribute. The code attribute of Observation and the value attribute of Observation must be considered in combination to determine the semantics of the observation.

Table X: Observation Attributes
RIM Attribute(s) Data Type Cardinality Code Binding Binding Type
classCode CS [1..1] <= OBS" is V:ActClassObservation Closed
moodCode CS [1..1] V:x_ActMoodDocumentObservation Closed
id SET <II> [0..*]
code CD [1..1] D:ObservationType Open
actionNegationInd BL [0..1]
negationInd (Deprecated) BL [0..1]
derivationExpr ST [0..1]
title ED [0..1]
text ED [0..1]
statusCode CS [0..1] V:ActStatus Closed
effectiveTime IVL<TS> [0..1]
activityTime GTS [0..1]
availabilityTime TS [0..1]
priorityCode CE [0..1] D:ActPriority Open
confidentialityCode SET<CE> [0..*] D:Confidentiality Open
repeatNumber IVL<INT> [0..1]
uncertaintyCode CE [0..1] D:ActUncertainty Open
languageCode CS [0..1] D:HumanLanguage Closed
isCriterionInd BL [0..1]
value SET<ANY> [0..*] D:ObservationValue Open
valueNegationInd BL [0..1]
interpretationCode SET<CE> [0..*] D:ObservationInterpretation Open
methodCode SET<CE> [0..*] D:ObservationMethod Open
targetSiteCode SET<CD> [0..*] D:ActSite Open

Observation.classCode

The defines a specific sub-type of a given Observation type.

Table X: Value set for Observation.classCode
V:ActClassObservation [2.16.840.1.113883.1.11.11529] (CLOSED)
Code Display Name Code Display Name
OBS Observation ALRT detected issue
BATTERY battery CLNTRL clinical trial
CONC concern COND Condition
CASE public health case OUTB outbreak
DGIMG diagnostic image GEN genomic observation
DETPOL determinant peptide EXP expression level
LOC locus PHN phenotype
POL polypeptide SEQ bio sequence
SEQVAR bio sequence variation INVSTG investigation
OBSSER observation series OBSCOR correlated observation sequences
POS position POSACC position accuracy
POSCOORD position coordinate SPCOBS specimen observation
VERIF Verification ROIBND bounded ROI
ROIOVL overlay ROI LLD (Deprecated) left lateral decubitus
PRN (Deprecated) prone RLD (Deprecated) right lateral decubitus
SFWL (Deprecated) Semi-Fowler's SIT (Deprecated) sitting
STN (Deprecated) standing SUP (Deprecated) supine
RTRD (Deprecated) reverse trendelenburg TRD (Deprecated) trendelenburg
CNOD (Deprecated) Condition Node
Code System: ActClass (HL7) Code System OID: 2.16.840.1.113883.5.6

Observation.moodCode

The intended use of the Observation statement: as a report of fact, a command, a possibility, a goal, etc. Since the mood code is a determining factor for the meaning of an entire Observation object, the mood must always be known. This means that whenever an Observation is instantiated, the mood attribute SHALL be assigned to a valid code, and the mood assignment SHALL NOT change throughout the lifetime of the Observation.

Table X: Value set for Observation.moodCode
V:x_ActMoodDocumentObservation [2.16.840.1.113883.1.11.19644] (CLOSED)
Code Display Name Code Display Name
APT appointment ARQ appointment request
EVN event DEF definition
GOL goal INT intent
PRMS promise PRP proposal
RSK risk RQO request
Code System: ActMood (HL7) Code System OID: 2.16.840.1.113883.5.1001

Observation.id

A unique identifier for the Observation.

Observation.code

The particular kind of Observation that the Observation-instance represents within its class. Observation.code, if used, SHALL be a specialization of the Observation.classCode. This attribute defines a specific sub-type of a given Observation type (determined by the "classCode" attribute). The Observation.code is bound to the ActCode concept domain.

Observation.actionNegationInd

The Observation.actionNegationInd works as a negative existence quantifier on the actual, intended or described observation event. In Event mood, it indicates the defined observation did not occur. In Intent mood, it indicates the defined observation is not intended/desired to occur. In Criterion mood, it indicates that the condition is based on the non-occurrence of the event. It is nonsensical to have a negationInd of true for acts with a mood of definition.

The actionNegationInd negates the Observation as described by the descriptive properties which are: classCode, code, statusCode, effectiveTime, activityTime, priorityCode, derivationExpr, repeatNumber, isCriterionInd, value, valueNegationInd, interpretationCode, methodCode, targetSiteCode, and any of their components.

The remaining properties represent the document characteristics, E.g. Observatoin.id, Observation.moodCode, Observation.confidentialityCode, and particularly the Author-Participation are not negated. These document characteristic properties always have the same meaning: i.e., the author remains to be the author of the negative observation. Also, most ActRelationships (except for components) are not included in the negation. Refer to the attribute isDocumentCharacteristic property and the ActRelationshipType and ParticipationType code system isDocumentCharacteristic properties for specific guidance.

Observation.negationInd

Observation.negationInd, is deprecated in RIM 2.35, and CDA R2.1 retains it for backwards compatibility. It was deprecated as the type of negation required knowledge of template documentation to determine the actual type of negation I.e. value or action negation. CDA R2.1 compliant implementation guides should use actionNegationInd or valueNegationInd moving forward.

Observation.derivationExpr

A character string containing a formal language expression that specifies how the Observation's attributes are, should be, or have been derived from input parameters associated with derivation relationships. Derived observations can be defined through association with other observations using ActRelationships of type "derivation." For example, to define a derived observation for Mean Corpuscular Hemoglobin (MCH) one will associate the MCH observation with a Hemoglobin (HGB) observation and a Red Blood cell Count (RBC) observation: the derivation expression value encodes the formula: MCH = HGB / RBC.

Observation.title

A word or phrase by which a specific Observation may be known among people. This is not a formal identifier but rather a human-recognizable common name. However it is similar to the id attribute in that it refers to a specific Observation rather than a 'kind' of Observation. (For definition mood, the title refers to that specific definition, rather than to a broad category that might be conveyed with Observation.code.)

Observation.text

A renderable textual or multimedia description (or reference to a description) of the complete information which would reasonably be expected to be displayed to a human reader conveyed by the Observation. The Observation.text attribute can reference the associated narrative content in the section using the XML ID attribute added to the Narrative Text elements.

Observation.statusCode

The status reflects the state of the activity. In the case of an Observation, this is the status of the activity of observing (e.g., "new," "complete," "cancelled"), not the status of what is being observed (e.g., disease status, "Active" allergy to penicillin). To convey the status of the subject being observed, consider coordinating it into the code or value attribute of the Observation or using a related Observation. The RIM based state machine diagram depicts the allowable state transitions that an Observation.StatusCode can take on.

Table X: Value set for Observation.statusCode
V:ActStatus [2.16.840.1.113883.1.11.15933] (CLOSED)
Code Display Name Code Display Name
normal normal aborted aborted
active active cancelled cancelled
completed completed held held
new new suspended suspended
nullified nullified obsolete obsolete
Code System: ActStatus (HL7) Code System OID: 2.16.840.1.113883.5.14

Observation.effectiveTime

Observation.effectiveTime is used to indicate the clinically or operationally relevant time of an observation, exclusive of administrative activity. For example, in a Blood Gas Analysis (BGA), a result might not be available for several minutes after the specimen was taken. The effectiveTime is the time the specimen was taken, the availabilityTime would be the time the result was available for review. For clinical Observations, the effectiveTime represents the time at which the observation holds (is effective) for the patient. In V2 the effectiveTime was known as the biologically relevant time.

Observation.activityTime

Observation.activityTime is a time expression specifying when an Observation occurs, inclusive of administrative time E.g. times of component actions, such as preparation and clean-up. Depending on the mood code used, it represents the time the observation occurred, is supposed to occur, is scheduled to occur, etc. When an observation of a prior symptom is made, the activityTime describes the time the observation is made, as opposed to effectiveTime which is the time the symptom is reported to have occurred. Thus the activityTime may be entirely different from the effectiveTime for the same observation instance.

Observation.availabilityTime

Observation.availabilityTime is the point in time at which information about an observation instance (regardless of mood) first became available to a system. The availabilityTime is metadata describing the recording of, not the Observation itself. For CDA documents, the availabilityTime reported for its contents, would represent the time the observation first became available to a source system generating the CDA document.

Observation.priorityCode

The urgency under which the Act happened, can happen, is happening, is intended to happen, or is requested/demanded to happen. The Act.priorityCode is bound to the ActPriority concept domain.

Observation.confidentialityCode

Constraints around appropriate disclosure of information about this Observation, regardless of mood. The Observation.confidentialityCode is bound to the Confidentiality concept domain.

Observation.repeatNumber

An interval of integer numbers stating the minimal and maximal number of repetitions of the Observation.

Observation.uncertaintyCode

An indication that the Observation statement as a whole, with its subordinate components has been asserted to be uncertain in some way. The use of the uncertaintyCode is appropriate only if the entirety of the Observation and its dependent Acts is questioned. The Observation.uncertaintyCode is bound to the ActUncertainty concept domain. Note: Implementation Guides will need to provide explicit guidance on the proper evaluation and interpretation, as well as provide a default value assignment.

Observation.languageCode

The primary language in which this Observation statement is specified, particularly the language of the Observation.text. The Observation.languageCode is bound to the HumanLanguage concept domain.

Observation.isCriterionInd

Is defaulted to false, when set to true it indicates that the data conveyed by the act, including outbound associations, represent "criteria" for some other act, not a "real" act. I.e. If an Act exists with a classCode of ACT and a moodCode of RQO and isCriterionInd is true, it does not represent an order for an act. Rather, it represents a criteria that will match on all orders.

Observation.value

The result of the observation action. Extensive usage notes are available in the RIM, reference Value UsageNotes

Observation.valueNegationInd

Observation.valueNegationInd, indicates that when the observation event occurred, the finding communicated by the value attribute was NOT found. So, when we want to indicate the patient does not have asthma, we can negate a finding of asthma, using this indicator. Note: The RIM indicates that this attribute should only be used when the terminology used for Observation.value is not itself capable of expressing negated findings. (E.g. ICD9). Implementation experience may override the RIM definition and it's important to review template definitions and Value Set content and binding for consistent negation implementation. Existing CDA R2.0 implementations use negationInd in many C-CDA templates.

Observation.interpretationCode

A qualitative interpretation of the observation. These interpretation codes are sometimes called "abnormal flags," however, the judgment of normalcy is just one of the interpretations, and is often not relevant. For example, the susceptibility interpretations are not about "normalcy," and for any observation of a pathologic condition, it does not make sense to state the normalcy, since pathologic conditions are never considered "normal."

Observation.methodCode

The means or technique used to ascertain the observation. In all observations the method is already partially specified by the Observation.code. In this case, the methodCode NEED NOT be used at all. The methodCode MAY still be used to identify this method more clearly in addition to what is implied from the Observation.code. However, an information consumer system or process SHOULD NOT depend on this methodCode information for method detail that is implied by the Observation.code.

Observation.targetSiteCode

The anatomical site or system that is the focus of the observation. Most observation target sites are implied by the observation definition and Observation.code, or Observation.value. For example, "heart murmur" always has the heart as target. This attribute is used only when the observation target site needs to be refined, to distinguish right from left, etc. If the subject of the Observation is something other than a human patient or animal, the attribute is used analogously to specify a structural landmark of the thing where the Observation focuses. For example, if the subject is a lake, the site could be inflow and outflow, etc. If the subject is a lymphatic node, "hilus," "periphery," or other node sites would be valid target sites.

The following is an example of how an author can record a patient that has no known allergies. It uses the new valueNegationInd with an "Allergy to substance" code in the value element.

Example X
<section>
    <templateId .../>
    <code code="48765-2" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC"/>
    <title>ALLERGIES AND ADVERSE REACTIONS</title>
    <text>No Known Allergies</text>
    <entry typeCode="DRIV">
        <!-- Allergy Concern Act -->
        <act classCode="ACT" moodCode="EVN">
            <templateId ... />
            <id root="36e3e930-7b14-11db-9fe1-0800200c9a66"/>
            <code code="CONC" codeSystem="2.16.840.1.113883.5.6"/>
            <statusCode code="active"/>
            <effectiveTime>
                <low value="20100103"/>
            </effectiveTime>
            <author> ... </author>
            <entryRelationship typeCode="SUBJ">
                <!-- No Known Allergies -->
                <!-- The <valueNegationInd value="true" /> negates the observation/value -->
                <observation classCode="OBS" moodCode="EVN">
                    <!-- allergy - intolerance observation template -->
                    <templateId ... />
                    <templateId ... />
                    <id ... />
                    <code code="ASSERTION" codeSystem="2.16.840.1.113883.5.4"/>
                    <statusCode code="completed"/>
                    <effectiveTime>
                        <low nullFlavor="NA"/>
                    </effectiveTime>
                    <value xsi:type="CD" code="419199007"
                        displayName="Allergy to substance (disorder)"
                        codeSystem="2.16.840.1.113883.6.96" codeSystemName="SNOMED CT"/>
                    <valueNegationInd value="true"/>
                    <author> ... </author>
                    <participant typeCode="CSM">
                        <participantRole classCode="MANU">
                            <playingEntity classCode="MMAT">
                                <code nullFlavor="NA"/>
                            </playingEntity>
                        </participantRole>
                    </participant>
                </observation>
            </entryRelationship>
        </act>
    </entry>
</section>
 


5.3.6.3.1 Reference Range

An Observation can have zero to many referenceRange relationships, which relate an Observation to the ObservationRange class.

referenceRange.typeCode

The referenceRange.typeCode has been fixed to "REFV", which indicates an association to a reference range.

Table X: Fixed referenceRange.typeCode
Code Display Name
REFV has reference values
Code System: ActRelationshipType (HL7) Code System OID: 2.16.840.1.113883.5.1002
5.3.6.3.2 ObservationRange

ObservationRange or reference ranges are essentially descriptors of a class of result values assumed to be "normal", "abnormal", or "critical." Those can vary by sex, age, or any other criterion.

Table X: ObservationRange Attributes
RIM Attribute(s) Data Type Cardinality Code Binding Binding Type
classCode CS [0..1] <= OBS is V:ActClassObservation Closed w/ Default
moodCode CS [0..1] ENV.CRT Fixed
code CD [1..1] D:ActCode Open
text ED [0..1]
isCriterionInd BL [0..1]
value SET<ANY> [0..*] D:ObservationValue Open
valueNegationInd BL [0..1]
interpretationCode SET<CE> [0..*] D:ObservationInterpretation Open

ObservationRange.classCode

Table X: Value set for ObservationRange.classCode
V:ActClassObservation [2.16.840.1.113883.1.11.11529] (CLOSED)
Code Display Name Code Display Name
OBS (Default) Observation ALRT detected issue
BATTERY battery CLNTRL clinical trial
CONC concern COND Condition
CASE public health case OUTB outbreak
DGIMG diagnostic image GEN genomic observation
DETPOL determinant peptide EXP expression level
LOC locus PHN phenotype
POL polypeptide SEQ bio sequence
SEQVAR bio sequence variation INVSTG investigation
OBSSER observation series OBSCOR correlated observation sequences
POS position POSACC position accuracy
POSCOORD position coordinate SPCOBS specimen observation
VERIF Verification ROIBND bounded ROI
ROIOVL overlay ROI LLD (Deprecated) left lateral decubitus
PRN (Deprecated) prone RLD (Deprecated) right lateral decubitus
SFWL (Deprecated) Semi-Fowler's SIT (Deprecated) sitting
STN (Deprecated) standing SUP (Deprecated) supine
RTRD (Deprecated) reverse trendelenburg TRD (Deprecated) trendelenburg
CNOD (Deprecated) Condition Node
Code System: ActClass (HL7) Code System OID: 2.16.840.1.113883.5.6

ObservationRange.moodCode

The ObservationRange.moodCode is fixed to the "EVN.CRT" (event criterion). The "EVN.CRT" is a criterion or condition over service events that must apply for an associated service to be considered.

Table X: Fixed ObservationRange.moodCode
Code Display Name
EVN.CRT event criterion
Code System: ActMood (HL7) Code System OID: 2.16.840.1.113883.5.1001

ObservationRange.code

The particular kind of Observation that the ObservationRange-instance represents within its class. ObservationRange.code, if used, SHALL be a specialization of the ObservationRange.classCode. This attribute defines a specific sub-type of a given Observation type (determined by the "classCode" attribute). The ObservationRange.code is bound to the ActCode concept domain.

ObservationRange.text

A renderable textual or multimedia description (or reference to a description) of the complete information which would reasonably be expected to be displayed to a human reader conveyed by the ObservationRange. The ObservationRange.text attribute can reference the associated narrative content in the section using the XML ID attribute added to the Narrative Text elements.

ObservationRange.isCriterionInd

Is set to true to indicate that the data conveyed by the ObservationRange, including outbound associations, represent "criteria" for some other act, not a "real" act. I.e. If an Act exists with a classCode of ACT and a moodCode of RQO and isCriterionInd is true, it does not represent an order for an act. Rather, it represents a criteria that will match on all orders.

ObservationRange.value

The result of the ObservationRange action. Extensive usage notes are available in the RIM, reference Value UsageNotes

ObservationRange.valueNegationInd

ObservationRange.valueNegationInd, indicates that when the ObservationRange event occurred, the finding communicated by the value attribute was NOT found. Note: This attribute should only be used when the terminology used for ObservationRange.value is not itself capable of expressing negated findings. (E.g. ICD9).

ObservationRange.interprerationCode

A qualitative interpretation of the ObservationRange. These interpretation codes are sometimes called "abnormal flags," however, the judgment of normalcy is just one of the interpretations, and is often not relevant. For example, the susceptibility interpretations are not about "normalcy," and for any observation of a pathologic condition, it does not make sense to state the normalcy, since pathologic conditions are never considered "normal."

5.3.6.4 ObservationMedia

A derivative of the RIM Observation class that represents multimedia that is logically part of the current document. This class is only for multimedia that is logically part of the attested content of the document. Rendering a referenced ObservationMedia requires a software tool that recognizes the particular MIME media type. The distinction between ObservationMedia and ExternalObservation is that ObservationMedia entries are part of the attested content of the document whereas ExternalObservations are not. For instance, when a clinician draws a picture as part of a progress note, that picture is represented as a CDA ObservationMedia. If that clinician is also describing a finding seen on a chest-x-ray, the referenced chest-x-ray is represented as a CDA ExternalObservation.

Table X: ObservationMedia Attributes
RIM Attribute(s) Data Type Cardinality Code Binding Binding Type
classCode CS [1..1] <= OBS is V:ActClassObservation Closed
moodCode CS [1..1] EVN Fixed
id SET <II> [0..*]
languageCode CS [0..1] D:HumanLanguage Closed
value ED [1..1]

NOTE: XML ID Attribute added

An XML attribute "ID" of type XML ID, is added to ObservationMedia within the CDA Schema. This attribute serves as the target of a <renderMultiMedia> reference (see <renderMultiMedia>). All values of attributes of type XML ID must be unique within the document (per the W3C XML specification).

ObservationMedia.classCode

The ObservationMedia.classCode is defaulted to "OBS" for Observation, but can be set to any sub-type of Observation that may more accurately characterize the multi-media referenced via the ObservationMedia class.

Table X: Value set for ObservationMedia.classCode
V:ActClassObservation [2.16.840.1.113883.1.11.11529] (CLOSED)
Code Display Name Code Display Name
OBS (Default) Observation ALRT detected issue
BATTERY battery CLNTRL clinical trial
CONC concern COND Condition
CASE public health case OUTB outbreak
DGIMG diagnostic image GEN genomic observation
DETPOL determinant peptide EXP expression level
LOC locus PHN phenotype
POL polypeptide SEQ bio sequence
SEQVAR bio sequence variation INVSTG investigation
OBSSER observation series OBSCOR correlated observation sequences
POS position POSACC position accuracy
POSCOORD position coordinate SPCOBS specimen observation
VERIF Verification ROIBND bounded ROI
ROIOVL overlay ROI LLD (Deprecated) left lateral decubitus
PRN (Deprecated) prone RLD (Deprecated) right lateral decubitus
SFWL (Deprecated) Semi-Fowler's SIT (Deprecated) sitting
STN (Deprecated) standing SUP (Deprecated) supine
RTRD (Deprecated) reverse trendelenburg TRD (Deprecated) trendelenburg
CNOD (Deprecated) Condition Node
Code System: ActClass (HL7) Code System OID: 2.16.840.1.113883.5.6

ObservationMedia.moodCode

The ObservationMedia.moodCode is fixed to "EVN" or event mood to indicate that this is ObservationMedia is from a past service.

Table X: Fixed ObservationMedia.moodCode
Code Display Name
EVN event (occurrence)
Code System: ActMood (HL7) Code System OID: 2.16.840.1.113883.5.1001

ObservationMedia.id

An optional identifier for the ObservationMedia instance.

ObservationMedia.languageCode

Specifies the human language of character data (whether they be in contents or attribute values).

ObservationMedia.value

The ObservationMedia.value is set to the xsi:type="ED" which enables the referencing of the multi-media object. Review the ED data type for more information about linking to files.

5.3.6.5 Organizer

A derivative of the RIM Act class, which can be used to create arbitrary groupings of other CDA entries that share a common context. An Organizer can contain other Organizers and/or other CDA entries, by traversing the component relationship. An Organizer can refer to external acts by traversing the reference relationship. An Organizer cannot be the source of an entryRelationship relationship.

NOTE: CDA entries such as Observation can also contain other CDA entries by traversing the entryRelationship class. There is no requirement that the Organizer entry be used in order to group CDA entries.
Table X: Organizer Attributes
RIM Attribute(s) Data Type Cardinality Code Binding Binding Type
classCode CS [1..1] V:x_ActClassDocumentEntryOrganizer Closed
moodCode CS [1..1] EVN Fixed
id SET <II> [0..*]
code CD [0..1] D:ActCode Open
text ED [0..1]
statusCode CS [0..1] V:ActStatus Closed
effectiveTime IVL<TS> [0..1]
activityTime GTS [0..1]
availabilityTime TS [0..1]
priorityCode CE [0..1] D:ActPriority Open
confidentialityCode SET<CE> [0..*] D:Confidentiality Open

Organizer.classCode

The Organizer.classCode can take on one of two values, BATTERY or CLUSTER.

  1. CLUSTER is an ACT that organizes a set of component acts into a semantic grouping that have a shared subject. The subject may be either a subject participation (SBJ), subject act relationship (SUBJ), or child participation/act relationship types.
  2. The BATTERY is an observation that is composed of a set of observations. These observations typically have a logical or practical grouping for generally accepted clinical or functional purposes, such as observations that are run together because of automation. A battery can define required and optional component observations and, in some cases, will define complex rules that determine whether or not a particular observation is made. BATTERY is a constraint on the Observation class in that it is understood to always be composed of component observations.
Table X: Value set for Organizer.classCode
V:x_ActClassDocumentEntryOrganizer [2.16.840.1.113883.1.11.19598] (CLOSED)
Code Display Name Code Display Name
BATTERY battery CLUSTER Cluster
Code System: ActClass (HL7) Code System OID: 2.16.840.1.113883.5.6

Organizer.moodCode

The Organizer.moodCode is fixed to the "EVN" or event mood to indicate that the Organizer has been created with the contents specified.


Table X: Fixed Organizer.moodCode
Code Display Name
EVN event (occurrence)
Code System: ActMood (HL7) Code System OID: 2.16.840.1.113883.5.1001

Organizer.id

An optional identifier for the Organizer instance.

Organizer.code

The particular kind of Organizer that the Organizer-instance represents within its class. Organizer.code, if used, SHALL be a specialization of the Organizer.classCode. This attribute defines a specific sub-type of a given Organizer type (BATTERY or CLUSTER). The Organizer.code is bound to the ActCode concept domain.

Organizer.text

A renderable textual or multimedia description (or reference to a description) of the complete information which would reasonably be expected to be displayed to a human reader conveyed by the Organizer. The Organizer.text attribute can reference the associated narrative content in the section using the XML ID attribute added to the Narrative Text elements.

Organizer.statusCode

The status reflects the state of the activity. The RIM based state machine diagram depicts the allowable state transitions that an Organizer.StatusCode can take on.

Table X: Value set for Organizer.statusCode
V:ActStatus [2.16.840.1.113883.1.11.15933] (CLOSED)
Code Display Name Code Display Name
normal normal aborted aborted
active active cancelled cancelled
completed completed held held
new new suspended suspended
nullified nullified obsolete obsolete
Code System: ActStatus (HL7) Code System OID: 2.16.840.1.113883.5.14

Organizer.effectiveTime

The optional Organizer.effectiveTime is used to indicate the clinically or operationally relevant time of an Organizer's component items, exclusive of administrative activity. For example, in a Blood Gas Analysis (BGA), a result might not be available for several minutes after the specimen was taken. The effectiveTime is the time the specimen was taken, the availabilityTime would be the time the result was available for review.

Organizer.activityTime

The optional Organizer.activityTime is a time expression specifying when the activityTime of the Organizer's component items occurred, inclusive of administrative time E.g. times of component actions, such as preparation and clean-up. Depending on the mood code used, it represents the time the component Acts occurred, is supposed to occur, is scheduled to occur, etc.

Organizer.availabilityTime

The optional Observation.availabilityTime is the point in time at which information about the component Acts regardless of mood) first became available to a system. The availabilityTime is metadata describing the recording of, not the Organizer's component activities themselves.

Organizer.priorityCode

The optional priorityCode identifies the urgency under which the component Act's happened, can happen, is happening, is intended to happen, or is requested/demanded to happen. The Organizer.priorityCode is bound to the ActPriority concept domain.

Organizer.confidentialityCode

The optional confidentialityCode identifies any constraints around appropriate disclosure of information about this Organizer and it's component Acts, regardless of mood. The Organizer.confidentialityCode is bound to the Confidentiality concept domain.

5.3.6.6 Procedure

A derivative of the RIM Procedure class, is represents an act whose immediate and primary outcome (post-condition) is the alteration of the physical condition of the subject.

Table X: Procedure Attributes
RIM Attribute(s) Data Type Cardinality Code Binding Binding Type
classCode CS [1..1] <= PROC is V:ActClassProcedure Closed
moodCode CS [1..1] V:x_DocumentProcedureMood Closed
id SET <II> [0..*]
code CD [0..1] D:ActProcedureCode Open
actonNegationInd BL [0..1]
negationInd (Deprecated) BL [0..1]
text ED [0..1]
statusCode CS [0..1] V:ActStatus Closed
effectiveTime IVL<TS> [0..1]
activityTime GTS [0..1]
availabilityTime TS [0..1]
priorityCode CE [0..1] D:ActPriority Open
confidentialityCode SET<CE> [0..*] D:Confidentiality Open
uncertaintyCode CE [0..1] D:ActUncertainty Open
languageCode CS [0..1] D:HumanLanguage Closed
isCriterionInd BL [0..1]
methodCode CE [0..*] D:ProcedureMethod Open
approachSiteCode CE [0..*] D:ActSite Open
targetSiteCode CE [0..*] D:ActSite Open

Procedure.classCode

The defines a specific sub-type of a given Procedure type. The Procedure.classCode is bound to the V:ActClassProcedure value set.

Table X: Value set for Procedure.classCode
V:ActClassProcedure [2.16.840.1.113883.1.11.19665] (CLOSED)
Code Display Name Code Display Name
PROC (Default) procedure SBEXT Substance Extraction
SPECCOLLECT Specimen Collection
Note: Although SBADM is technically allowed, is best used with the SubstanceAdministration Entry Class
SBADM substance administration
Code System: ActClass (HL7) Code System OID: 2.16.840.1.113883.5.6

Procedure.moodCode

The intended use of the Procedure statement: as a procedure report, a command, a possibility, a goal, etc. Since the mood code is a determining factor for the meaning of an entire Procedure object, the mood must always be known. This means that whenever an Procedure is instantiated, the mood attribute SHALL be assigned to a valid code, and the mood assignment SHALL NOT change throughout the lifetime of the Procedure.

Table X: Value set for Procedure.moodCode
V:x_DocumentProcedureMood [2.16.840.1.113883.1.11.19460] (CLOSED)
Code Display Name Code Display Name
APT appointment ARQ appointment request
EVN event DEF definition
RQO request INT intent
PRMS promise PRP proposal
Code System: ActMood (HL7) Code System OID: 2.16.840.1.113883.5.1001

Procedure.id

A unique identifier for the Procedure.

Procedure.code

The particular kind of Procedure that the Procedure-instance represents within its class. Procedure.code, if used, SHALL be a specialization of the Procedure.classCode. This attribute defines a specific sub-type of a given Procedure type (determined by the "classCode" attribute). The Procedure.code is bound to the ActProcedureCode concept domain.

Procedure.actionNegationInd

The Procedure.actionNegationInd works as a negative existence quantifier on the actual, intended or described Procedure event. In Event mood, it indicates the defined procedure did not occur. In Intent mood, it indicates the defined procedure is not intended/desired to occur. In Criterion mood, it indicates that the condition is based on the non-occurrence of the event. It is nonsensical to have a negationInd of true for acts with a mood of definition.

The actionNegationInd negates the Act as described by the descriptive properties which are: classCode, code, statusCode, effectiveTime, activityTime, priorityCode, isCriterionInd, methodCode, approachSiteCode, targetSiteCode and any of their components.

The remaining properties represent the document characteristics, E.g. Procedure.id, Procedure.moodCode, Procedure.confidentialityCode, and particularly the Author-Participation are not negated. These document characteristic properties always have the same meaning: i.e., the author remains to be the author of the negative observation. Also, most ActRelationships (except for components) are not included in the negation. Refer to the attribute isDocumentCharacteristic property and the ActRelationshipType and ParticipationType code system isDocumentCharacteristic properties for specific guidance.

Procedure.negationInd

Procedure.negationInd, is deprecated in RIM 2.35, and CDA R2.1 retains it for backwards compatibility. CDA R2.1 compliant implementation guides should use actionNegationInd moving forward.

Procedure.text

A renderable textual or multimedia description (or reference to a description) of the complete information which would reasonably be expected to be displayed to a human reader conveyed by the Procedure. The Procedure.text attribute can reference the associated narrative content in the section using the XML ID attribute added to the Narrative Text elements.

Procedure.statusCode

The status reflects the state of the activity. The RIM based state machine diagram depicts the allowable state transitions that an Procedure.statusCode can take on.

Table X: Value set for Procedure.statusCode
V:ActStatus [2.16.840.1.113883.1.11.15933] (CLOSED)
Code Display Name Code Display Name
normal normal aborted aborted
active active cancelled cancelled
completed completed held held
new new suspended suspended
nullified nullified obsolete obsolete
Code System: ActStatus (HL7) Code System OID: 2.16.840.1.113883.5.14


Procedure.effectiveTime

Procedure.effectiveTime is used to indicate the clinically or operationally relevant time of a procedure, exclusive of administrative activity. For a surgical procedure (operation), the effectiveTime is the time relevant for the patient, i.e., between incision and last suture. For transportation acts, the effective time is the time the transported payload is en route.

Procedure.activityTime

Procedure.activityTime is a time expression specifying when a procedure occurs, inclusive of administrative time E.g. times of component actions, such as preparation and clean-up. Depending on the mood code used, it represents the time the procedure occurred, is supposed to occur, is scheduled to occur, etc. For Procedures the activityTime can provide a needed administrative function by providing a more inclusive time to be anticipated in scheduling.

Procedure.availabilityTime

Procedure.availabilityTime is the point in time at which information about a procedure instance (regardless of mood) first became available to a system. The availabilityTime is metadata describing the recording of, not the procedure itself.

Procedure.priorityCode

The urgency under which the Act happened, can happen, is happening, is intended to happen, or is requested/demanded to happen. The Procedure.priorityCode is bound to the ActPriority concept domain.

Procedure.confidentialityCode

Constraints around appropriate disclosure of information about this Procedure, regardless of mood. The Procedure.confidentialityCode is bound to the Confidentiality concept domain.

Procedure.uncertaintyCode

An indication that the Procedure statement as a whole, with its subordinate components has been asserted to be uncertain in some way. The use of the uncertaintyCode is appropriate only if the entirety of the Procedure and its dependent Acts is questioned. The Procedure.uncertaintyCode is bound to the ActUncertainty concept domain.

Procedure.languageCode

The primary language in which this Procedure statement is specified, particularly the language of the Procedure.text. The Procedure.languageCode is bound to the HumanLanguage concept domain.

Procedure.isCriterionInd

Is defaulted to false, when set to true it indicates that the data conveyed by the act, including outbound associations, represent "criteria" for some other act, not a "real" act. I.e. If an Act exists with a classCode of ACT and a moodCode of RQO and isCriterionInd is true, it does not represent an order for an act. Rather, it represents a criteria that will match on all orders.

Procedure.methodCode

The means or technique used to ascertain the observation. In some procedures the method is already partially specified by the Procedure.code. In this case, the methodCode NEED NOT be used at all. The methodCode MAY still be used to identify this method more clearly in addition to what is implied from the Procedure.code. However, an information consumer system or process SHOULD NOT depend on this methodCode information for method detail that is implied by the Procedure.code.

Procedure.approachSiteCode

The anatomical site or system through which the procedure reaches its target.

Procedure.targetSiteCode

The anatomical site or system that is the focus of the procedure. Most procedure target sites are implied by the procedure definition and Procedure.code, or Procedure.value. If the subject of the procedure is something other than a human patient or animal, the attribute is used analogously to specify a structural landmark of the thing where the Procedure occurred.

5.4 CDA Context

CDA context is set in the CDA header and applies to the entire document. Context can be overridden at the level of the body, section, and/or CDA entry.

5.4.1 Overview of CDA Context

A document, in a sense, is a contextual wrapper for its contents. Assertions in the document header are typically applicable to statements made in the body of the document, unless overridden. For instance, the patient identified in the header is assumed to be the subject of observations described in the body of the document, unless a different subject is explicitly stated, or the author identified in the header is assumed to be the author of the entire document, unless a different author is explicitly identified on a section. The objective of the CDA context rules are to make these practices explicit with relationship to the RIM, such that a computer will understand the context of a portion of a document the same way that a human interprets it.

At the same time, there is no guarantee that machine processing will identify a mistaken application of contextual rules. If a physician records an "outside diagnosis" in narrative but does not nullify the "informant" context, machine processing will not identify the switch in attribution. This is a special case illustrating the limits of automated validation of electronic records and would apply regardless of the context inheritance mechanism. In other words, from some errors of encoding, there is no recovery other than human review.

CDA's approach to context, and the propagation of that context to nested document components, follows these design principles:

  • CDA uses the RIM context mechanism (contextControlCode for Participations; contextConductionInd for ActRelationships), and assigns fixed values to these attributes to accomplish the design objectives below, thus constraining the RIM context model. CDA extends the context propagation property to designated attributes of the CDA Header, which also propagate through any ActRelationship for which contextConductionInd="true".
  • The CDA Header sets context for the entire document. A propagating value specified in the document header holds true throughout the document, unless explicitly overridden. This principal applies to both Participations and to designated attributes of the CDA Header. Contextual header components (i.e., those that have propagating values) include:
    • Author
    • Confidentiality
    • Data enterer
    • Human language
    • Informant
    • Legal authenticator
    • Participant
    • Record target
  • Context components that can be overridden at the level of the document body include:
    • Confidentiality
    • Human language
  • Context components that can be overridden at the level of a document section include:
    • Author
    • Confidentiality
    • Human language
    • Informant
    • Subject
  • Context components that can be overridden at the level of a CDA entry include:
    • Author
    • Human language
    • Informant
    • Participant
    • Subject
  • Context propagates from outer tags to nested tags. Context that is specified on an outer tag holds true for all nested tags, unless overridden on a nested tag. Context specified on a tag within the CDA body always overrides context propagated from an outer tag. For instance, the specification of authorship at a document section level overrides all authorship propagated from outer tags.
  • Context is sometimes known precisely, and is sometimes unknown, such as in the case where a document is comprised of a large unparsed narrative block that potentially includes statements that contradict outer context. Because CDA context always propagates unless overridden, the representation of unknown context is achieved by overriding with a null value.

5.4.2 Technical Aspects of CDA Context

The RIM defines the "context" of an act as those participants of the act that can be propagated to nested acts. In the RIM, whether or not contextual participants do propagate to nested acts depends on whether or not the intervening act relationship between parent and child act allows for conduction of context. The explicit representation of context, and whether or not the context on an act can propagate to nested acts, is expressed via the RIM attributes Participation.contextControlCode and ActRelationship.contextConductionInd. CDA constrains the general RIM context mechanism such that context always overrides and propagates, as shown in the following table.

Table X: CDA constraints on RIM context attributes
RIM attribute Cardinality Conformance Fixed Value
Participation.contextControlCode 1..1 Mandatory (NULL values not permitted) "OP" (overriding, propagating)
ActRelationship.contextConductionInd 1..1 Mandatory (NULL values not permitted) "true"*

*The one exception to this is entryRelationship.contextConductionInd, which is defaulted to "true", but can be changed to "false". See entryRelationship for details.

Where the context of a nested component is unknown, the propagated context must be overridden with a null-valued component, as shown in the following table.

Table X: Blocking context propagation with null values
Context Null value representation
Author AssignedAuthor.id = NULL; No playing entity; No scoping entity.
Confidentiality confidentialityCode = NULL.
Human language languageCode = NULL.
Informant AssignedEntity.id = NULL; No playing entity; No scoping entity.
Participant ParticipantRole.id = NULL; No playing entity; No scoping entity.

The following exhibit illustrates the CDA context model. ClinicalDocument has an author participant, a confidentialityCode, and a languageCode, all of which will propagate to nested acts. The component act relationship going from ClinicalDocument to bodyChoice has contextConductionInd fixed as "true", thus allowing for the propagation of context. The bodyChoice classes, NonXMLBody and StructuredBody, contain a confidentialityCode and languageCode which can be used to override the value specified in the header. The component act relationship going from StructuredBody to Section has contextConductionInd fixed at "true", thus the context on StructuredBody will propagate through to Section. Section can override confidentialityCode, languageCode, and author. A null value for the Section's author participant indicates that the author for that particular section is unknown.

Link to wide graphic (opens in a new window)

Because context is always overriding and propagating, one can compute the context of a given node by looking for the most proximate assertion. The following example is a sample XPath expression that can be used to identify the <author> context of a section or entry:

Example X
(ancestor-or-self::*/author)[position()=last()]

5.4.3 InfrastructureRoot & CDA Classes

All of CDA classes inherits 1 attribute and 3 element from InfrastructureRoot. Infrastructure Root provides a set of infrastructure attributes that may be used in instances of HL7-specified, RIM-based classes. When valued in an instance, these attributes indicate whether the information structure is being constrained by specifically defined templates, realms or common element types.


  • An optional nullFlavor attribute has been added to each CDA class. When the class is null, this code can be used to indicate the flavor of null that is intended.

The following 3 optional elements have been added at the beginning of each CDA class:

  • realmCode, is vocabulary domain qualifier that allows the vocabulary domain of coded attributes to be specialized according to the geographical, organizational, or political environment where the HL7 standard is being used. It is defined as a SET<CS>data type.
  • typeId, is a unique identifier for an HL7 static structure that imposes constraints on an artifact. In CDA it must be defined at the root element, to indicate a CDA R2.1 document,with ClinicalDocument.typeId.root = "2.16.840.1.113883.1.3" (which is the OID for HL7 Registered models); ClinicalDocument.typeId.extension = "POCD_HD000040UV02" (which is the unique identifier for the CDA, Release Two Hierarchical Description). As CMETs are not used in CDA, this element will not be used in other classes. It is defined as a II data type.
  • templateId, is an optional unique identifier, which indicates to a receiver that a set of constraints have been defined for a given class and it's attributes. See section 4 on templates in CDA.

6 CDA Hierarchical Description

(content on separate page)

7 CDA XML Implementation

(content on separate page)

8 Appendix

(content on separate page)