Clinical Document Architecture
2.0.0-sd - release

Clinical Document Architecture, published by Health Level 7. This guide is not an authorized publication; it is the continuous build for version 2.0.0-sd built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/CDA-core-sd/ and changes regularly. See the Directory of published versions

Logical Model: Procedure - Detailed Descriptions

Active as of 2024-10-25

Definitions for the Procedure logical model.

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

0. Procedure
Control1..1
Logical ContainerClinicalDocument (CDA Class)
ValidationInstance of this type are validated by templateId
XML FormatIn the XML format, this property has the namespace urn:hl7-org:v3.
2. Procedure.classCode
Control1..1
BindingThe codes SHALL be taken from ActClassProcedure
(required to http://terminology.hl7.org/ValueSet/v3-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
(required to http://terminology.hl7.org/ValueSet/v3-xDocumentProcedureMood)
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.sdtcCategory
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CD
XML FormatIn the XML format, this property has the namespace urn:hl7-org:sdtc.In the XML format, this property has the actual namecategory.
10. Procedure.code
Definition

Drawn from concept domain ActCode

Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CD
12. 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.
14. Procedure.text
Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/ED
16. Procedure.statusCode
Control0..1
BindingThe codes SHALL be taken from ActStatus
(required to http://terminology.hl7.org/ValueSet/v3-ActStatus)
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CS
18. Procedure.effectiveTime
Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/IVL-TS
20. Procedure.priorityCode
Control0..1
BindingFor example codes, see ActPriority
(example to http://terminology.hl7.org/ValueSet/v3-ActPriority)
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CE
22. Procedure.languageCode
Control0..1
BindingThe codes SHALL be taken from AllLanguages
(required to http://hl7.org/fhir/ValueSet/all-languages)
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CS
24. Procedure.methodCode
Definition

Drawn from concept domain ProcedureMethod

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

Drawn from concept domain ActSite

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

Drawn from concept domain ActSite

Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CD
30. Procedure.subject
Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Subject
32. Procedure.specimen
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Specimen
34. Procedure.performer
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Performer2
36. Procedure.author
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Author
38. Procedure.informant
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Informant
40. Procedure.participant
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Participant2
42. Procedure.entryRelationship
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/EntryRelationship
44. Procedure.reference
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Reference
46. Procedure.precondition
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Precondition
48. 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.
50. 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
Logical ContainerClinicalDocument (CDA Class)
ValidationInstance of this type are validated by templateId
XML FormatIn the XML format, this property has the namespace urn:hl7-org:v3.
2. Procedure.classCode
Control1..1
BindingThe codes SHALL be taken from ActClassProcedure
(required to http://terminology.hl7.org/ValueSet/v3-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
(required to http://terminology.hl7.org/ValueSet/v3-xDocumentProcedureMood)
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.sdtcCategory
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CD
XML FormatIn the XML format, this property has the namespace urn:hl7-org:sdtc.In the XML format, this property has the actual namecategory.
10. 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()))
12. 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.
14. 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()))
16. Procedure.statusCode
Control0..1
BindingThe codes SHALL be taken from ActStatus
(required to http://terminology.hl7.org/ValueSet/v3-ActStatus)
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CS
18. Procedure.effectiveTime
Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/IVL-TS
20. Procedure.priorityCode
Control0..1
BindingFor example codes, see ActPriority
(example to http://terminology.hl7.org/ValueSet/v3-ActPriority)
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CE
22. Procedure.languageCode
Control0..1
BindingThe codes SHALL be taken from AllLanguages
(required to http://hl7.org/fhir/ValueSet/all-languages)
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CS
24. Procedure.methodCode
Definition

Drawn from concept domain ProcedureMethod

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

Drawn from concept domain ActSite

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

Drawn from concept domain ActSite

Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CD
30. 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()))
32. Procedure.specimen
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Specimen
34. 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())
36. Procedure.author
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Author
38. Procedure.informant
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Informant
40. Procedure.participant
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Participant2
42. Procedure.entryRelationship
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/EntryRelationship
44. Procedure.reference
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Reference
46. Procedure.precondition
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Precondition
48. 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.
50. 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
Logical ContainerClinicalDocument (CDA Class)
ValidationInstance of this type are validated by templateId
XML FormatIn the XML format, this property has the namespace urn:hl7-org:v3.
2. 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
(required to http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor)
Typecode(cs: Coded Simple Value)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
XML FormatIn the XML format, this property is represented as an attribute.
LabelExceptional Value Detail
4. 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
(required to http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor)
Typecode(cs: Coded Simple Value)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
XML FormatIn the XML format, this property is represented as an attribute.
LabelExceptional Value Detail
10. 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
(required to http://terminology.hl7.org/ValueSet/v3-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
(required to http://terminology.hl7.org/ValueSet/v3-xDocumentProcedureMood)
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.sdtcCategory
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CD
XML FormatIn the XML format, this property has the namespace urn:hl7-org:sdtc.In the XML format, this property has the actual namecategory.
28. Procedure.code
Definition

Drawn from concept domain ActCode

Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CD
30. 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.
32. Procedure.text
Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/ED
34. Procedure.statusCode
Control0..1
BindingThe codes SHALL be taken from ActStatus
(required to http://terminology.hl7.org/ValueSet/v3-ActStatus)
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CS
36. Procedure.effectiveTime
Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/IVL-TS
38. Procedure.priorityCode
Control0..1
BindingFor example codes, see ActPriority
(example to http://terminology.hl7.org/ValueSet/v3-ActPriority)
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CE
40. Procedure.languageCode
Control0..1
BindingThe codes SHALL be taken from AllLanguages
(required to http://hl7.org/fhir/ValueSet/all-languages)
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CS
42. Procedure.methodCode
Definition

Drawn from concept domain ProcedureMethod

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

Drawn from concept domain ActSite

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

Drawn from concept domain ActSite

Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/CD
48. Procedure.subject
Control0..1
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Subject
50. Procedure.specimen
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Specimen
52. Procedure.performer
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Performer2
54. Procedure.author
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Author
56. Procedure.informant
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Informant
58. Procedure.participant
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Participant2
60. Procedure.entryRelationship
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/EntryRelationship
62. Procedure.reference
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Reference
64. Procedure.precondition
Control0..*
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Precondition
66. 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.
68. 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.