Consolidated CDA Release 2.1 StructureDefinition Publication
2.1 - CI Build

Consolidated CDA Release 2.1 StructureDefinition Publication, published by Health Level Seven. This is not an authorized publication; it is the continuous build for version 2.1). This version is based on the current content of https://github.com/HL7/CDA-ccda-2.1-sd/ and changes regularly. See the Directory of published versions

## Logical Model: Reason

Official URL: http://hl7.org/cda/us/ccda/StructureDefinition/Reason | Version: 2.1
Draft as of 2023-09-29 | Computable Name: Reason
Other Identifiers: id: urn:hl7ii:2.16.840.1.113883.10.20.24.3.88:2023-05-01

This template describes the thought process or justification for an action or for not performing an action. Examples include patient, system, or non-problem/diagnosis medical-related reasons for declining to perform specific actions, or any reason for performing an action. Note that the parent template that calls this template can be asserted to have occurred or to not have occurred. Therefore, this template simply adds a reason to some other (possibly negated) act. As such, there is nothing in this template that says whether the parent act did or did not occur. It is expected that the primary use of this template within C-CDA is to provide the rationale for why something was not done. If this template is called by a template that is not negated, the Reason template should contain something other than a problem or a diagnosis, such as a patient preference. The Indication observation: 2.16.840.1.113883.10.20.22.4.19 should be used to represent a diagnosis or problem to indicate the diagnosis or problem is the rationale for an action. Immunization Refusal Reason: 2.16.840.1.113883.10.20.22.4.53 should be used to represent the rationale for the patient declining an immunization as the value set is crafted for the immunization use case.

Usage:

- This Logical Model is not used by any profiles in this Implementation Guide

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- Differential Table
- Key Elements Table
- Snapshot Table
- Statistics/References
- All

This structure is derived from CDAR2.Observation

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Observation |  | 1..1 | CDAR2.Observation | XML Namespace: urn:hl7-org:v3 Elements defined in Ancestors: @classCode, @moodCode, @negationInd, realmCode, typeId, templateId, id, code, derivationExpr, text, statusCode, effectiveTime, priorityCode, repeatNumber, languageCode, value, interpretationCode, methodCode, targetSiteCode, subject, specimen, performer, author, informant, participant, entryRelationship, reference, precondition, referenceRange Base for all types and resources
classCode |  | 1..1 | cs | Fixed Value: OBS
moodCode |  | 1..1 | cs | Fixed Value: EVN
Slices for templateId |  | 1..* | II | Slice: Unordered, Open by value:root, value:extension
templateId:templateId1 |  | 1..1 | II | templateId
root |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.10.20.24.3.88
extension |  | 1..1 | st | Required Pattern: 2023-05-01
id |  | 1..* | II |
code |  | 1..1 | CD |
code |  | 1..1 | cs | Required Pattern: 77301-0
codeSystem |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.6.1
statusCode |  | 1..1 | CS |
code |  | 1..1 | cs | Fixed Value: completed
effectiveTime |  | 1..1 | IVL_TS |
low |  | 1..1 | IVXB_TS |
high |  | 0..1 | IVXB_TS |
value |  | 1..1 | CD |
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Observation |  | 1..1 | CDAR2.Observation | XML Namespace: urn:hl7-org:v3 Elements defined in Ancestors: @classCode, @moodCode, @negationInd, realmCode, typeId, templateId, id, code, derivationExpr, text, statusCode, effectiveTime, priorityCode, repeatNumber, languageCode, value, interpretationCode, methodCode, targetSiteCode, subject, specimen, performer, author, informant, participant, entryRelationship, reference, precondition, referenceRange Base for all types and resources
@classCode |  | 1..1 | cs | Binding: ActClassObservation (required) Fixed Value: OBS
@moodCode |  | 1..1 | cs | Fixed Value: EVN
Slices for templateId |  | 1..* | II | Slice: Unordered, Open by value:root, value:extension
templateId:templateId1 |  | 1..1 | II | templateId
@root |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.10.20.24.3.88
@extension |  | 1..1 | st | Required Pattern: 2023-05-01
id |  | 1..* | II |
code |  | 1..1 | CD | Binding: ObservationType (extensible)
@code |  | 1..1 | cs | Required Pattern: 77301-0
@codeSystem |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.6.1
statusCode |  | 1..1 | CS | Binding: ActStatus (required)
@code |  | 1..1 | cs | Fixed Value: completed
effectiveTime |  | 1..1 | IVL_TS |
low |  | 1..1 | IVXB_TS |
high |  | 0..1 | IVXB_TS |
value |  | 1..1 | CD |
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code
Observation.classCode | required | Fixed Value: OBS
Observation.code | extensible | ObservationType
Observation.statusCode | required | ActStatus

#### Constraints

Id | Grade | Path(s) | Details | Requirements
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Observation |  | 1..1 | CDAR2.Observation | XML Namespace: urn:hl7-org:v3 Elements defined in Ancestors: @classCode, @moodCode, @negationInd, realmCode, typeId, templateId, id, code, derivationExpr, text, statusCode, effectiveTime, priorityCode, repeatNumber, languageCode, value, interpretationCode, methodCode, targetSiteCode, subject, specimen, performer, author, informant, participant, entryRelationship, reference, precondition, referenceRange Base for all types and resources
@classCode |  | 1..1 | cs | Binding: ActClassObservation (required) Fixed Value: OBS
@moodCode |  | 1..1 | cs | Fixed Value: EVN
@negationInd |  | 0..1 | bl |
realmCode |  | 0..* | CS |
typeId |  | 0..1 | II |
Slices for templateId |  | 1..* | II | Slice: Unordered, Open by value:root, value:extension
templateId:templateId1 |  | 1..1 | II | templateId
@nullFlavor |  | 0..1 | cs | Binding: NullFlavor (required)
@assigningAuthorityName |  | 0..1 | st |
@displayable |  | 0..1 | bl |
@root |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.10.20.24.3.88
@extension |  | 1..1 | st | Required Pattern: 2023-05-01
id |  | 1..* | II |
code |  | 1..1 | CD | Binding: ObservationType (extensible)
@nullFlavor |  | 0..1 | cs | Binding: NullFlavor (required)
@code |  | 1..1 | cs | Required Pattern: 77301-0
@codeSystem |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.6.1
@codeSystemName |  | 0..1 | st |
@codeSystemVersion |  | 0..1 | st |
@displayName |  | 0..1 | st |
@sdtcValueSet |  | 0..1 | oid | XML Namespace: urn:hl7-org:sdtc XML: valueSet (urn:hl7-org:sdtc)
@sdtcValueSetVersion |  | 0..1 | st | XML Namespace: urn:hl7-org:sdtc XML: valueSetVersion (urn:hl7-org:sdtc)
originalText |  | 0..1 | ED |
qualifier |  | 0..* | CR |
translation |  | 0..* | CD |
derivationExpr |  | 0..1 | ST |
text |  | 0..1 | ED |
statusCode |  | 1..1 | CS | Binding: ActStatus (required)
@nullFlavor |  | 0..1 | cs | Binding: NullFlavor (required)
@code |  | 1..1 | cs | Fixed Value: completed
@sdtcValueSet |  | 0..1 | oid | XML Namespace: urn:hl7-org:sdtc XML: valueSet (urn:hl7-org:sdtc)
@sdtcValueSetVersion |  | 0..1 | st | XML Namespace: urn:hl7-org:sdtc XML: valueSetVersion (urn:hl7-org:sdtc)
effectiveTime |  | 1..1 | IVL_TS |
@nullFlavor |  | 0..1 | cs | Binding: NullFlavor (required)
@value |  | 0..1 | ts | Date Format: YYYYMMDDHHMMSS.UUUU[+|-ZZzz]
@operator |  | 0..1 | cs | Binding: SetOperator (required)
low |  | 1..1 | IVXB_TS |
center |  | 0..1 | TS |
width |  | 0..1 | PQ |
high |  | 0..1 | IVXB_TS |
priorityCode |  | 0..1 | CE | Binding: ActPriority (extensible)
repeatNumber |  | 0..1 | IVL_INT |
languageCode |  | 0..1 | CS | Binding: HumanLanguage (required)
value |  | 1..1 | CD |
interpretationCode |  | 0..* | CE | Binding: ObservationInterpretation (required)
methodCode |  | 0..* | CE | Binding: ObservationMethod (extensible)
targetSiteCode |  | 0..* | CD |
subject |  | 0..1 | Subject |
specimen |  | 0..* | Specimen |
performer |  | 0..* | Performer2 |
author |  | 0..* | Author |
informant |  | 0..* | Informant |
participant |  | 0..* | Participant2 |
entryRelationship |  | 0..* | EntryRelationship |
reference |  | 0..* | Reference |
precondition |  | 0..* | Precondition |
referenceRange |  | 0..* | InfrastructureRoot |
@nullFlavor |  | 0..1 | cs | Binding: NullFlavor (required)
realmCode |  | 0..* | CS |
typeId |  | 0..1 | II |
templateId |  | 0..* | II |
@typeCode |  | 0..1 | cs | Binding: ActRelationshipPertains (required) Fixed Value: REFV
observationRange |  | 1..1 | ObservationRange |
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code
Observation.classCode | required | Fixed Value: OBS
Observation.templateId:templateId1.nullFlavor | required | NullFlavor
Observation.code | extensible | ObservationType
Observation.code.nullFlavor | required | NullFlavor
Observation.statusCode | required | ActStatus
Observation.statusCode.nullFlavor | required | NullFlavor
Observation.effectiveTime.nullFlavor | required | NullFlavor
Observation.effectiveTime.operator | required | SetOperator
Observation.priorityCode | extensible | ActPriority
Observation.languageCode | required | HumanLanguage (a valid code from `http://terminology.hl7.org/CodeSystem/ietf3066`)
Observation.interpretationCode | required | ObservationInterpretation
Observation.methodCode | extensible | ObservationMethod
Observation.referenceRange.nullFlavor | required | NullFlavor
Observation.referenceRange.typeCode | required | Fixed Value: REFV

#### Constraints

Id | Grade | Path(s) | Details | Requirements
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |

This structure is derived from CDAR2.Observation

Summary

Mandatory: 12 elements
Fixed Value: 3 elements

Slices

This structure defines the following Slices:

- The element Observation.templateId is sliced based on the values of value:root, value:extension

Differential View

This structure is derived from CDAR2.Observation

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Observation |  | 1..1 | CDAR2.Observation | XML Namespace: urn:hl7-org:v3 Elements defined in Ancestors: @classCode, @moodCode, @negationInd, realmCode, typeId, templateId, id, code, derivationExpr, text, statusCode, effectiveTime, priorityCode, repeatNumber, languageCode, value, interpretationCode, methodCode, targetSiteCode, subject, specimen, performer, author, informant, participant, entryRelationship, reference, precondition, referenceRange Base for all types and resources
classCode |  | 1..1 | cs | Fixed Value: OBS
moodCode |  | 1..1 | cs | Fixed Value: EVN
Slices for templateId |  | 1..* | II | Slice: Unordered, Open by value:root, value:extension
templateId:templateId1 |  | 1..1 | II | templateId
root |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.10.20.24.3.88
extension |  | 1..1 | st | Required Pattern: 2023-05-01
id |  | 1..* | II |
code |  | 1..1 | CD |
code |  | 1..1 | cs | Required Pattern: 77301-0
codeSystem |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.6.1
statusCode |  | 1..1 | CS |
code |  | 1..1 | cs | Fixed Value: completed
effectiveTime |  | 1..1 | IVL_TS |
low |  | 1..1 | IVXB_TS |
high |  | 0..1 | IVXB_TS |
value |  | 1..1 | CD |
Documentation for this format

Key Elements View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Observation |  | 1..1 | CDAR2.Observation | XML Namespace: urn:hl7-org:v3 Elements defined in Ancestors: @classCode, @moodCode, @negationInd, realmCode, typeId, templateId, id, code, derivationExpr, text, statusCode, effectiveTime, priorityCode, repeatNumber, languageCode, value, interpretationCode, methodCode, targetSiteCode, subject, specimen, performer, author, informant, participant, entryRelationship, reference, precondition, referenceRange Base for all types and resources
@classCode |  | 1..1 | cs | Binding: ActClassObservation (required) Fixed Value: OBS
@moodCode |  | 1..1 | cs | Fixed Value: EVN
Slices for templateId |  | 1..* | II | Slice: Unordered, Open by value:root, value:extension
templateId:templateId1 |  | 1..1 | II | templateId
@root |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.10.20.24.3.88
@extension |  | 1..1 | st | Required Pattern: 2023-05-01
id |  | 1..* | II |
code |  | 1..1 | CD | Binding: ObservationType (extensible)
@code |  | 1..1 | cs | Required Pattern: 77301-0
@codeSystem |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.6.1
statusCode |  | 1..1 | CS | Binding: ActStatus (required)
@code |  | 1..1 | cs | Fixed Value: completed
effectiveTime |  | 1..1 | IVL_TS |
low |  | 1..1 | IVXB_TS |
high |  | 0..1 | IVXB_TS |
value |  | 1..1 | CD |
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code
Observation.classCode | required | Fixed Value: OBS
Observation.code | extensible | ObservationType
Observation.statusCode | required | ActStatus

#### Constraints

Id | Grade | Path(s) | Details | Requirements
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |

Snapshot View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Observation |  | 1..1 | CDAR2.Observation | XML Namespace: urn:hl7-org:v3 Elements defined in Ancestors: @classCode, @moodCode, @negationInd, realmCode, typeId, templateId, id, code, derivationExpr, text, statusCode, effectiveTime, priorityCode, repeatNumber, languageCode, value, interpretationCode, methodCode, targetSiteCode, subject, specimen, performer, author, informant, participant, entryRelationship, reference, precondition, referenceRange Base for all types and resources
@classCode |  | 1..1 | cs | Binding: ActClassObservation (required) Fixed Value: OBS
@moodCode |  | 1..1 | cs | Fixed Value: EVN
@negationInd |  | 0..1 | bl |
realmCode |  | 0..* | CS |
typeId |  | 0..1 | II |
Slices for templateId |  | 1..* | II | Slice: Unordered, Open by value:root, value:extension
templateId:templateId1 |  | 1..1 | II | templateId
@nullFlavor |  | 0..1 | cs | Binding: NullFlavor (required)
@assigningAuthorityName |  | 0..1 | st |
@displayable |  | 0..1 | bl |
@root |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.10.20.24.3.88
@extension |  | 1..1 | st | Required Pattern: 2023-05-01
id |  | 1..* | II |
code |  | 1..1 | CD | Binding: ObservationType (extensible)
@nullFlavor |  | 0..1 | cs | Binding: NullFlavor (required)
@code |  | 1..1 | cs | Required Pattern: 77301-0
@codeSystem |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.6.1
@codeSystemName |  | 0..1 | st |
@codeSystemVersion |  | 0..1 | st |
@displayName |  | 0..1 | st |
@sdtcValueSet |  | 0..1 | oid | XML Namespace: urn:hl7-org:sdtc XML: valueSet (urn:hl7-org:sdtc)
@sdtcValueSetVersion |  | 0..1 | st | XML Namespace: urn:hl7-org:sdtc XML: valueSetVersion (urn:hl7-org:sdtc)
originalText |  | 0..1 | ED |
qualifier |  | 0..* | CR |
translation |  | 0..* | CD |
derivationExpr |  | 0..1 | ST |
text |  | 0..1 | ED |
statusCode |  | 1..1 | CS | Binding: ActStatus (required)
@nullFlavor |  | 0..1 | cs | Binding: NullFlavor (required)
@code |  | 1..1 | cs | Fixed Value: completed
@sdtcValueSet |  | 0..1 | oid | XML Namespace: urn:hl7-org:sdtc XML: valueSet (urn:hl7-org:sdtc)
@sdtcValueSetVersion |  | 0..1 | st | XML Namespace: urn:hl7-org:sdtc XML: valueSetVersion (urn:hl7-org:sdtc)
effectiveTime |  | 1..1 | IVL_TS |
@nullFlavor |  | 0..1 | cs | Binding: NullFlavor (required)
@value |  | 0..1 | ts | Date Format: YYYYMMDDHHMMSS.UUUU[+|-ZZzz]
@operator |  | 0..1 | cs | Binding: SetOperator (required)
low |  | 1..1 | IVXB_TS |
center |  | 0..1 | TS |
width |  | 0..1 | PQ |
high |  | 0..1 | IVXB_TS |
priorityCode |  | 0..1 | CE | Binding: ActPriority (extensible)
repeatNumber |  | 0..1 | IVL_INT |
languageCode |  | 0..1 | CS | Binding: HumanLanguage (required)
value |  | 1..1 | CD |
interpretationCode |  | 0..* | CE | Binding: ObservationInterpretation (required)
methodCode |  | 0..* | CE | Binding: ObservationMethod (extensible)
targetSiteCode |  | 0..* | CD |
subject |  | 0..1 | Subject |
specimen |  | 0..* | Specimen |
performer |  | 0..* | Performer2 |
author |  | 0..* | Author |
informant |  | 0..* | Informant |
participant |  | 0..* | Participant2 |
entryRelationship |  | 0..* | EntryRelationship |
reference |  | 0..* | Reference |
precondition |  | 0..* | Precondition |
referenceRange |  | 0..* | InfrastructureRoot |
@nullFlavor |  | 0..1 | cs | Binding: NullFlavor (required)
realmCode |  | 0..* | CS |
typeId |  | 0..1 | II |
templateId |  | 0..* | II |
@typeCode |  | 0..1 | cs | Binding: ActRelationshipPertains (required) Fixed Value: REFV
observationRange |  | 1..1 | ObservationRange |
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code
Observation.classCode | required | Fixed Value: OBS
Observation.templateId:templateId1.nullFlavor | required | NullFlavor
Observation.code | extensible | ObservationType
Observation.code.nullFlavor | required | NullFlavor
Observation.statusCode | required | ActStatus
Observation.statusCode.nullFlavor | required | NullFlavor
Observation.effectiveTime.nullFlavor | required | NullFlavor
Observation.effectiveTime.operator | required | SetOperator
Observation.priorityCode | extensible | ActPriority
Observation.languageCode | required | HumanLanguage (a valid code from `http://terminology.hl7.org/CodeSystem/ietf3066`)
Observation.interpretationCode | required | ObservationInterpretation
Observation.methodCode | extensible | ObservationMethod
Observation.referenceRange.nullFlavor | required | NullFlavor
Observation.referenceRange.typeCode | required | Fixed Value: REFV

#### Constraints

Id | Grade | Path(s) | Details | Requirements
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |

This structure is derived from CDAR2.Observation

Summary

Mandatory: 12 elements
Fixed Value: 3 elements

Slices

This structure defines the following Slices:

- The element Observation.templateId is sliced based on the values of value:root, value:extension

Other representations of profile: CSV, Excel