Clinical Document Architecture
2.0.0-sd-ballot - ballot

This page is part of the CDA: Clinical Document Architecture (v2.0.0-sd-ballot: CDA 2.0 Ballot 1) based on FHIR v5.0.0. . For a full list of available versions, see the Directory of published versions

Logical Model: Procedure - Detailed Descriptions

Active as of 2023-10-27

Definitions for the Procedure logical model.

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

0. Procedure
Control1..1
ValidationInstances of this type are validated by templateId
XML FormatIn the XML format, this property has the namespace urn:hl7-org:v3.
2. Procedure.classCode
Control1..1
BindingThe codes SHALL be taken from ActClassProcedure
Typecode(cs: Coded Simple Value)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
XML FormatIn the XML format, this property is represented as an attribute.
Fixed ValuePROC
4. Procedure.moodCode
Control1..1
BindingThe codes SHALL be taken from x_DocumentProcedureMood
Typecode(cs: Coded Simple Value)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
XML FormatIn the XML format, this property is represented as an attribute.
6. Procedure.id
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
8. Procedure.code
Definition

Drawn from concept domain ActCode

Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CD
10. Procedure.negationInd
Control0..1
Typeboolean(bl: Boolean)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
XML FormatIn the XML format, this property is represented as an attribute.
12. Procedure.text
Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/ED
14. Procedure.statusCode
Control0..1
BindingThe codes SHALL be taken from ActStatus
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CS
16. Procedure.effectiveTime
Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/IVL-TS
18. Procedure.priorityCode
Control0..1
BindingFor example codes, see ActPriority
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CE
20. Procedure.languageCode
Control0..1
BindingThe codes SHALL be taken from AllLanguages
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CS
22. Procedure.methodCode
Definition

Drawn from concept domain ProcedureMethod

Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CE
24. Procedure.approachSiteCode
Definition

Drawn from concept domain ActSite

Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CD
26. Procedure.targetSiteCode
Definition

Drawn from concept domain ActSite

Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CD
28. Procedure.subject
Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Subject
30. Procedure.specimen
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Specimen
32. Procedure.performer
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Performer2
34. Procedure.author
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Author
36. Procedure.informant
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Informant
38. Procedure.participant
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Participant2
40. Procedure.entryRelationship
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/EntryRelationship
42. Procedure.reference
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Reference
44. Procedure.precondition
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Precondition
46. Procedure.sdtcPrecondition2
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Precondition2
XML FormatIn the XML format, this property has the namespace urn:hl7-org:sdtc.In the XML format, this property has the actual nameprecondition2.
48. Procedure.sdtcInFulfillmentOf1
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/InFulfillmentOf1
XML FormatIn the XML format, this property has the namespace urn:hl7-org:sdtc.In the XML format, this property has the actual nameinFulfillmentOf1.

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

0. Procedure
Definition

Defines the basic properties of every data value. This is an abstract type, meaning that no value can be just a data value without belonging to any concrete type. Every concrete type is a specialization of this general abstract DataValue type.


Base definition for all types defined in FHIR type system.

ShortBase for all types and resources
Control10..1*
Is Modifierfalse
ValidationInstances of this type are validated by templateId
XML FormatIn the XML format, this property has the namespace urn:hl7-org:v3.
2. Procedure.classCode
Control1..1
BindingThe codes SHALL be taken from ActClassProcedure
Typecode(cs: Coded Simple Value)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
XML FormatIn the XML format, this property is represented as an attribute.
Fixed ValuePROC
4. Procedure.moodCode
Control1..1
BindingThe codes SHALL be taken from x_DocumentProcedureMood
Typecode(cs: Coded Simple Value)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
XML FormatIn the XML format, this property is represented as an attribute.
6. Procedure.id
Definition

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

ShortLogical id of this artifact
Comments

Within the context of the FHIR RESTful interactions, the resource has an id except for cases like the create and conditional update. Otherwise, the use of the resouce id depends on the given use case.

Control0..*1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/IIid
Is Modifierfalse
8. Procedure.code
Definition

Drawn from concept domain ActCode


The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. "Laparoscopic Appendectomy").

ShortIdentification of the procedure
Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CDCodeableConcept
Is Modifierfalse
Requirements

0..1 to account for primarily narrative only resources.

Alternate Namestype
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
10. Procedure.negationInd
Control0..1
Typeboolean(bl: Boolean)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
XML FormatIn the XML format, this property is represented as an attribute.
12. Procedure.text
Definition

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

ShortText summary of the resource, for human interpretation
Comments

Contained resources do not have a narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Control0..1
This element is affected by the following invariants: dom-6
Typehttp://hl7.org/cda/stds/core/StructureDefinition/EDNarrative
Is Modifierfalse
Alternate Namesnarrative, html, xhtml, display
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
14. Procedure.statusCode
Control0..1
BindingThe codes SHALL be taken from ActStatus
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CS
16. Procedure.effectiveTime
Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/IVL-TS
18. Procedure.priorityCode
Control0..1
BindingFor example codes, see ActPriority
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CE
20. Procedure.languageCode
Control0..1
BindingThe codes SHALL be taken from AllLanguages
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CS
22. Procedure.methodCode
Definition

Drawn from concept domain ProcedureMethod

Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CE
24. Procedure.approachSiteCode
Definition

Drawn from concept domain ActSite

Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CD
26. Procedure.targetSiteCode
Definition

Drawn from concept domain ActSite

Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CD
28. Procedure.subject
Definition

On whom or on what the procedure was performed. This is usually an individual human, but can also be performed on animals, groups of humans or animals, organizations or practitioners (for licensing), locations or devices (for safety inspections or regulatory authorizations). If the actual focus of the procedure is different from the subject, the focus element specifies the actual focus of the procedure.

ShortIndividual or entity the procedure was performed on
Control01..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/SubjectReference(Patient, Group, Device, Practitioner, Organization, Location)
Is Modifierfalse
Alternate Namespatient
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
30. Procedure.specimen
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Specimen
32. Procedure.performer
Definition

Indicates who or what performed the procedure and how they were involved.

ShortWho performed the procedure and what they did
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Performer2BackboneElement
Is Modifierfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
prc-1: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole (onBehalfOf.exists() and actor.resolve().exists() implies actor.resolve().where($this is Practitioner or $this is PractitionerRole).empty())
34. Procedure.author
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Author
36. Procedure.informant
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Informant
38. Procedure.participant
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Participant2
40. Procedure.entryRelationship
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/EntryRelationship
42. Procedure.reference
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Reference
44. Procedure.precondition
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Precondition
46. Procedure.sdtcPrecondition2
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Precondition2
XML FormatIn the XML format, this property has the namespace urn:hl7-org:sdtc.In the XML format, this property has the actual nameprecondition2.
48. Procedure.sdtcInFulfillmentOf1
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/InFulfillmentOf1
XML FormatIn the XML format, this property has the namespace urn:hl7-org:sdtc.In the XML format, this property has the actual nameinFulfillmentOf1.

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

0. Procedure
Definition

Defines the basic properties of every data value. This is an abstract type, meaning that no value can be just a data value without belonging to any concrete type. Every concrete type is a specialization of this general abstract DataValue type.

ShortBase for all types and resources
Control1..1
Is Modifierfalse
ValidationInstances of this type are validated by templateId
XML FormatIn the XML format, this property has the namespace urn:hl7-org:v3.
2. Procedure.nullFlavor
Definition

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

Control0..1
BindingThe codes SHALL be taken from CDANullFlavor
Typecode(cs: Coded Simple Value)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
XML FormatIn the XML format, this property is represented as an attribute.
LabelExceptional Value Detail
4. Procedure.realmCode
Definition

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

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

When valued in an instance, this attribute signals the imposition of constraints defined in an HL7-specified message type. This might be a common type (also known as CMET in the messaging communication environment), or content included within a wrapper. The value of this attribute provides a unique identifier for the type in question.

Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
8. Procedure.typeId.nullFlavor
Definition

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

Control0..1
BindingThe codes SHALL be taken from CDANullFlavor
Typecode(cs: Coded Simple Value)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
XML FormatIn the XML format, this property is represented as an attribute.
LabelExceptional Value Detail
10. Procedure.typeId.assigningAuthorityName
Definition

A human readable name or mnemonic for the assigning authority. The Assigning Authority Name has no computational value. The purpose of a Assigning Authority Name is to assist an unaided human interpreter of an II value to interpret the authority. Note: no automated processing must depend on the assigning authority name to be present in any form.

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

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

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

Identifies the type as an HL7 Registered model

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

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

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

When valued in an instance, this attribute signals the imposition of a set of template-defined constraints. The value of this attribute provides a unique identifier for the templates in question

Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
20. Procedure.classCode
Control1..1
BindingThe codes SHALL be taken from ActClassProcedure
Typecode(cs: Coded Simple Value)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
XML FormatIn the XML format, this property is represented as an attribute.
Fixed ValuePROC
22. Procedure.moodCode
Control1..1
BindingThe codes SHALL be taken from x_DocumentProcedureMood
Typecode(cs: Coded Simple Value)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
XML FormatIn the XML format, this property is represented as an attribute.
24. Procedure.id
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/II
26. Procedure.code
Definition

Drawn from concept domain ActCode

Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CD
28. Procedure.negationInd
Control0..1
Typeboolean(bl: Boolean)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
XML FormatIn the XML format, this property is represented as an attribute.
30. Procedure.text
Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/ED
32. Procedure.statusCode
Control0..1
BindingThe codes SHALL be taken from ActStatus
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CS
34. Procedure.effectiveTime
Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/IVL-TS
36. Procedure.priorityCode
Control0..1
BindingFor example codes, see ActPriority
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CE
38. Procedure.languageCode
Control0..1
BindingThe codes SHALL be taken from AllLanguages
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CS
40. Procedure.methodCode
Definition

Drawn from concept domain ProcedureMethod

Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CE
42. Procedure.approachSiteCode
Definition

Drawn from concept domain ActSite

Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CD
44. Procedure.targetSiteCode
Definition

Drawn from concept domain ActSite

Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CD
46. Procedure.subject
Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Subject
48. Procedure.specimen
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Specimen
50. Procedure.performer
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Performer2
52. Procedure.author
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Author
54. Procedure.informant
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Informant
56. Procedure.participant
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Participant2
58. Procedure.entryRelationship
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/EntryRelationship
60. Procedure.reference
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Reference
62. Procedure.precondition
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Precondition
64. Procedure.sdtcPrecondition2
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Precondition2
XML FormatIn the XML format, this property has the namespace urn:hl7-org:sdtc.In the XML format, this property has the actual nameprecondition2.
66. Procedure.sdtcInFulfillmentOf1
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/InFulfillmentOf1
XML FormatIn the XML format, this property has the namespace urn:hl7-org:sdtc.In the XML format, this property has the actual nameinFulfillmentOf1.