RIVO-Noord Zorgviewer Implementation Guide
1.21.0 - CI build

RIVO-Noord Zorgviewer Implementation Guide, published by RIVO-NN HL7NL. This guide is not an authorized publication; it is the continuous build for version 1.21.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/RIVO-Noord/zorgviewer-ig/ and changes regularly. See the Directory of published versions

## Resource Profile: Procedure - Detailed Descriptions

Active as of 2025-10-28

Definitions for the Procedure resource profile.

- Key Elements Table
- Differential Elements Table
- Snapshot Elements Table

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

0. Procedure
Definition | An action that is or was performed on a patient. This can be a physical intervention like an operation, or less invasive like counseling or hypnotherapy. This is the base resource type for everything.
Short | ProcedureBase Resource
Control | 0..*
Alternate Names | Verrichting
Invariants | dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (`contained.contained.empty()`) dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative (`contained.text.empty()`) dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated (`contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`) dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource (`contained.where(('#'+id in %resource.descendants().reference).not()).empty()`) pro-1: Reason not done is only permitted if notDone indicator is true (`notDoneReason.empty() or notDone = true`)
2. Procedure.implicitRules
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Short | A set of rules under which this content was created
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.
Control | 0..1
Type | uri
Is Modifier | true because No Modifier Reason provideed in previous versions of FHIR
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
4. Procedure.extension:procedureMethod
Slice Name | procedureMethod
Definition | The method used to perform this procedure.
Short | The method used to perform the procedure
Comments | Improve definition. Add mappings.
Control | 0..1 This element is affected by the following invariants: ele-1
Type | Extension(method) (Extension Type: CodeableConcept)
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() | (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
6. Procedure.extension:procedureMethod.url
Definition | Source of the definition for the extension code - a logical name or a URL.
Short | identifies the meaning of the extension
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
Control | 1..1
Type | uri
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
XML Format | In the XML format, this property is represented as an attribute.
Fixed Value | `http://hl7.org/fhir/StructureDefinition/procedure-method`
8. Procedure.extension:procedureMethod.valueCodeableConcept:valueCodeableConcept
Slice Name | valueCodeableConcept
Definition | The method or technique that was used to perform the procedure, e.g. approach, lavage, pressuring, ets. Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).
Short | ProcedureMethodValue of extension
Comments | HCIM Procedure allows for the possiblity to define multiple procedure methods, but this core extension restricts this to just a single method, resulting in a cardinality mismatch with the zib. It is advised to use the most important procedure method in this extension. This issue will be fixed in the next version of this profile.
Control | 0..1
Binding | Unless not suitable, these codes SHALL be taken from For codes, see VerrichtingMethodeCodelijst (extensible to `http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.14.1.4--20171231000000` ) VerrichtingMethodeCodelijst
Type | CodeableConcept, date, dateTime, Meta, code, string, Address, Attachment, integer, oid, Count, instant, ContactPoint, HumanName, Money, Identifier, Coding, markdown, SampledData, Ratio, id, positiveInt, Age, Distance, Reference, Period, Quantity, Duration, Range, uri, Annotation, boolean, base64Binary, Signature, unsignedInt, time, Timing, decimal
Alternate Names | VerrichtingMethode
10. Procedure.modifierExtension
Definition | May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Short | Extensions that cannot be ignored
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | true because No Modifier Reason provideed in previous versions of FHIR
Alternate Names | extensions, user content
12. Procedure.basedOn
Definition | A reference to a resource that contains details of the request for this procedure.
Short | A request for this procedure
Control | 0..*
Type | Reference(CarePlan, ProcedureRequest, ReferralRequest)
Summary | true
Alternate Names | fulfills
Slicing | This element introduces a set of slices on `Procedure.basedOn`. The slices areUnordered and Open, and can be differentiated using the following discriminators: type @ $this.resolve()
14. Procedure.basedOn:request
Slice Name | request
Definition | The ProcedureRequest that contains the details of the request for this procedure, including the requester information located at ProcedureRequest.requester. A reference to a resource that contains details of the request for this procedure.
Short | ProcedureRequestA request for this procedure
Comments | The ProcedureRequest resource is used to capture the healthcare provider who requested the procedure as stated in the HCIM Procedure.
Control | 0..*
Type | Reference(HCIM ProcedureRequest, CarePlan, ProcedureRequest, ReferralRequest)
Summary | true
Alternate Names | fulfills
16. Procedure.status
Definition | A code specifying the state of the procedure. Generally this will be in-progress or completed state.
Short | preparation | in-progress | suspended | aborted | completed | entered-in-error | unknown
Comments | The unknown code is not to be used to convey other statuses. The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the procedure. This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.
Control | 1..1
Binding | The codes SHALL be taken from EventStatus http://hl7.org/fhir/ValueSet/event-status|3.0.2 (required to `http://hl7.org/fhir/ValueSet/event-status` ) A code specifying the state of the procedure.
Type | code
Is Modifier | true because No Modifier Reason provideed in previous versions of FHIR
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
18. Procedure.notDone
Definition | Set this to true if the record is saying that the procedure was NOT performed.
Short | True if procedure was not performed as scheduled
Comments | If true, it means the procedure did not occur as described. Typically it would be accompanied by attributes describing the type of activity. It might also be accompanied by body site information or time information (i.e. no procedure was done to the left arm or no procedure was done in this 2-year period). Specifying additional information such as performer, outcome, etc. is generally inappropriate. For example, it's not that useful to say "There was no appendectomy done at 12:03pm June 6th by Dr. Smith with a successful outcome" as it implies that there could have been an appendectomy done at any other time, by any other clinician or with any other outcome. This element is labeled as a modifier because it indicates that a procedure didn't happen.
Control | 0..1
Type | boolean
Is Modifier | true because No Modifier Reason provideed in previous versions of FHIR
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Default Value | `false`
20. Procedure.category
Definition | A code that classifies the procedure for searching, sorting and display purposes. In the Basisgegevensset Zorg (BgZ) use case, this is used to search and retrieve Surgical Procedures. A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure").
Short | Classification of the procedure
Control | 10..1
Binding | For example codes, see Procedure Category Codes (SNOMED CT)http://hl7.org/fhir/ValueSet/procedure-category|3.0.2 (example to `http://hl7.org/fhir/ValueSet/procedure-category` ) A code that classifies a procedure for searching, sorting and display purposes.
Type | CodeableConcept
Summary | true
Example | Example of category code: { "coding" : [{ "system" : "http://snomed.info/sct", "code" : "387713003", "display" : "Surgical procedure" }] }
22. Procedure.code
Definition | The name of the procedure. As of 1 January 2013, all procedures in the primary process have to be documented with CBV codes. To meet this requirement, the DHD procedure thesaurus (CBV procedures set) is used to code procedures. It is possible that in addition to the CBV procedures set, the NIC will be used for nurse procedures and that a “coded value set” will be introduced for paramedic procedures. The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. "Laparoscopic Appendectomy").
Short | ProcedureTypeIdentification of the procedure
Control | 0..1
Binding | For example codes, see Procedure Codes (SNOMED CT)http://hl7.org/fhir/ValueSet/procedure-code|3.0.2 (example to `http://hl7.org/fhir/ValueSet/procedure-code` ) A code to identify a specific procedure .
Type | CodeableConcept
Must Support | true
Summary | true
Requirements | 0..1 to account for primarily narrative only resources.
Alternate Names | type, VerrichtingType
24. Procedure.code.coding
Definition | A reference to a code defined by a terminology system.
Short | Code defined by a terminology system
Comments | Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.
Control | 0..*
Type | Coding
Summary | true
Requirements | Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.
Slicing | This element introduces a set of slices on `Procedure.code.coding`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ system
26. Procedure.code.coding:VerrichtingTypeCodelijst
Slice Name | VerrichtingTypeCodelijst
Definition | DHD procedure thesaurus A reference to a code defined by a terminology system.
Short | ProcedureTypeCode defined by a terminology system
Comments | Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.
Control | 0..*
Binding | The codes SHALL be taken from For codes, see Zorgviewer verrichting type waardelijst (required to `http://fhir.hl7.nl/zorgviewer/ValueSet/VerrichtingTypeCodelist` )
Type | Coding
Must Support | true
Summary | true
Requirements | Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.
Alternate Names | VerrichtingType
28. Procedure.code.coding:VerrichtingTypeCodelijst.system
Definition | The identification of the code system that defines the meaning of the symbol in the code.
Short | Identity of the terminology system
Comments | The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.
Control | 10..1
Type | uri
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Requirements | Need to be unambiguous about the source of the definition of the symbol.
Fixed Value | `http://snomed.info/sct`
30. Procedure.code.text
Definition | A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Short | Plain text representation of the concept
Comments | Very often the text is the same as a displayName of one of the codings.
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
Summary | true
Requirements | The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.
32. Procedure.subject
Definition | The person, animal or group on which the procedure was performed.
Short | Who the procedure was performed on
Control | 1..1
Type | Reference(Group, nl-core-patient, Patient)
Summary | true
Alternate Names | patient
34. Procedure.performed[x]
Definition | The date(time)/period over which the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.
Short | Date/Period the procedure was performed
Control | 0..1
Type | Period, dateTime
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
Summary | true
Slicing | This element introduces a set of slices on `Procedure.performed[x]`. The slices areUnordered and Closed, and can be differentiated using the following discriminators: type @ $this
36. Procedure.performed[x]:performedPeriod
Slice Name | performedPeriod
Definition | The date(time)/period over which the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.
Short | Date/Period the procedure was performed
Control | 0..1
Type | Period, dateTime
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
Must Support | true
Summary | true
38. Procedure.performer
Definition | The healthcare professional that carried out the procedure. The healthcare center (location) where the procedure was or is carried out. Limited to 'real' people rather than equipment.
Short | HealthProfessional | Location::HealthcareProviderThe people who performed the procedure
Comments | Note: Procedure.location could have been used for mapping the Location::HealthcareProvider. In most anticipated cases this would lead to an empty Location resource except for Location.managingOrganization. For efficiency the mapping has thus been done here. Should a Location::HealthcareProvider with an OrganizationLocation be targeted, then this may be solved using Organization.name 'OrganizationLocation' + Organization.partOf 'HealthcareProvider'
Control | 0..*
Type | BackboneElement
Summary | true
Alternate Names | UitgevoerdDoor, Locatie
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() | (children().count() > id.count())`) ele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
40. Procedure.performer.modifierExtension
Definition | May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Short | Extensions that cannot be ignored
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | true because No Modifier Reason provideed in previous versions of FHIR
Summary | true
Alternate Names | extensions, user content, modifiers
42. Procedure.performer.actor
Definition | The practitioner who was involved in the procedure.
Short | The reference to the practitioner
Control | 1..1
Type | Reference(nl-core-practitioner, nl-core-organization, Practitioner, Organization, Patient, RelatedPerson, Device)
Summary | true
Requirements | A reference to Device supports use cases, such as pacemakers.
44. Procedure.performer.actor.extension:practitionerRole
Slice Name | practitionerRole
Definition | Optional Extension Element - found in all resources.
Short | Optional Extensions Element
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..1 This element is affected by the following invariants: ele-1
Type | Extension(PractitionerRole Reference) (Extension Type: Reference)
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() | (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
46. Procedure.performer.actor.display
Definition | Plain text narrative that identifies the resource in addition to the resource reference.
Short | Text alternative for the resource
Comments | This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
Summary | true
48. Procedure.location
Definition | The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant.
Short | Where the procedure happened
Control | 0..1
Type | Reference(Location)
Summary | true
Requirements | Ties a procedure to where the records are likely kept.
50. Procedure.location.display
Definition | Plain text narrative that identifies the resource in addition to the resource reference.
Short | Text alternative for the resource
Comments | This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
Summary | true
52. Procedure.bodySite
Definition | Anatomical location which is the focus of the procedure. Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion.
Short | ProcedureAnatomicalLocationTarget body sites
Control | 0..*
Binding | Unless not suitable, these codes SHALL be taken from For example codes, see VerrichtingAnatomischeLocatieCodelijst http://hl7.org/fhir/ValueSet/body-site|3.0.2 (extensible to `http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.14.1.1--20171231000000` ) Anatomical location which is the focus of the procedure. Codes describing anatomical locations. May include laterality.
Type | CodeableConcept
Summary | true
Alternate Names | VerrichtingAnatomischeLocatie
54. Procedure.bodySite.extension:ProcedureLaterality
Slice Name | ProcedureLaterality
Definition | Qualifier to refine the anatomical location. These include qualifiers for laterality, relative location, directionality, number, and plane.
Short | Extension
Control | 0..1 This element is affected by the following invariants: ele-1
Type | Extension(BodySite Qualifier) (Extension Type: CodeableConcept)
Must Support | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() | (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
56. Procedure.bodySite.extension:ProcedureLaterality.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional Content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..0*
Type | Extension
Alternate Names | extensions, user content
Slicing | This element introduces a set of slices on `Procedure.bodySite.extension.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
58. Procedure.bodySite.extension:ProcedureLaterality.url
Definition | Source of the definition for the extension code - a logical name or a URL.
Short | identifies the meaning of the extension
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
Control | 1..1
Type | uri
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
XML Format | In the XML format, this property is represented as an attribute.
Fixed Value | `http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier`

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

0. Procedure
2. Procedure.code
Must Support | true
4. Procedure.code.coding:VerrichtingTypeCodelijst
Slice Name | VerrichtingTypeCodelijst
Binding | The codes SHALL be taken from Zorgviewer verrichting type waardelijst (required to `http://fhir.hl7.nl/zorgviewer/ValueSet/VerrichtingTypeCodelist` )
Must Support | true
6. Procedure.code.text
Must Support | true
8. Procedure.performedPeriod
Must Support | true
10. Procedure.performer
12. Procedure.performer.actor
14. Procedure.performer.actor.display
Must Support | true
16. Procedure.location
18. Procedure.location.display
Must Support | true
20. Procedure.bodySite
22. Procedure.bodySite.extension:ProcedureLaterality
Slice Name | ProcedureLaterality
Must Support | true

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

0. Procedure
Definition | An action that is or was performed on a patient. This can be a physical intervention like an operation, or less invasive like counseling or hypnotherapy.
Short | Procedure
Control | 0..*
Alternate Names | Verrichting
Invariants | dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (`contained.contained.empty()`) dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative (`contained.text.empty()`) dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated (`contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`) dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource (`contained.where(('#'+id in %resource.descendants().reference).not()).empty()`) pro-1: Reason not done is only permitted if notDone indicator is true (`notDoneReason.empty() or notDone = true`)
2. Procedure.id
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Short | Logical id of this artifact
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation.
Control | 0..1
Type | id
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
4. Procedure.meta
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Short | Metadata about the resource
Control | 0..1
Type | Meta
Summary | true
6. Procedure.implicitRules
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Short | A set of rules under which this content was created
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.
Control | 0..1
Type | uri
Is Modifier | true because No Modifier Reason provideed in previous versions of FHIR
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
8. Procedure.language
Definition | The base language in which the resource is written.
Short | Language of the resource content
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
Control | 0..1
Binding | Unless not suitable, these codes SHALL be taken from Common Languages (extensible to `http://hl7.org/fhir/ValueSet/languages` ) A human language.
Additional Bindings | Purpose
All Languages | Max Binding
Type | code
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
10. Procedure.text
Definition | A human-readable narrative that contains a summary of the resource, and may 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.
Short | Text summary of the resource, for human interpretation
Comments | Contained resources do not have 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 in formation is added later.
Control | 0..1 This element is affected by the following invariants: dom-1
Type | Narrative
Alternate Names | narrative, html, xhtml, display
12. Procedure.contained
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Short | Contained, inline Resources
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.
Control | 0..*
Type | Resource
Alternate Names | inline resources, anonymous resources, contained resources
14. Procedure.extension
Definition | Changed: May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Changed:Additional Content defined by implementations
Comments | Added: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Alternate Names | extensions, user content
Slicing | This element introduces a set of slices on `Procedure.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
16. Procedure.extension:procedureMethod
Slice Name | procedureMethod
Definition | The method used to perform this procedure.
Short | The method used to perform the procedure
Comments | Improve definition. Add mappings.
Control | 0..1 This element is affected by the following invariants: ele-1
Type | Extension(method) (Extension Type: CodeableConcept)
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() | (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
18. Procedure.extension:procedureMethod.id
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | xml:id (or equivalent in JSON)
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
XML Format | In the XML format, this property is represented as an attribute.
20. Procedure.extension:procedureMethod.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional Content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Alternate Names | extensions, user content
Slicing | This element introduces a set of slices on `Procedure.extension.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
22. Procedure.extension:procedureMethod.url
Definition | Source of the definition for the extension code - a logical name or a URL.
Short | identifies the meaning of the extension
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
Control | 1..1
Type | uri
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
XML Format | In the XML format, this property is represented as an attribute.
Fixed Value | `http://hl7.org/fhir/StructureDefinition/procedure-method`
24. Procedure.extension:procedureMethod.valueCodeableConcept:valueCodeableConcept
Slice Name | valueCodeableConcept
Definition | The method or technique that was used to perform the procedure, e.g. approach, lavage, pressuring, ets.
Short | ProcedureMethod
Comments | HCIM Procedure allows for the possiblity to define multiple procedure methods, but this core extension restricts this to just a single method, resulting in a cardinality mismatch with the zib. It is advised to use the most important procedure method in this extension. This issue will be fixed in the next version of this profile.
Control | 0..1
Binding | Unless not suitable, these codes SHALL be taken from VerrichtingMethodeCodelijst (extensible to `http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.14.1.4--20171231000000` ) VerrichtingMethodeCodelijst
Type | CodeableConcept
Alternate Names | VerrichtingMethode
26. Procedure.modifierExtension
Definition | May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Short | Extensions that cannot be ignored
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | true because No Modifier Reason provideed in previous versions of FHIR
Alternate Names | extensions, user content
28. Procedure.identifier
Definition | This records identifiers associated with this procedure that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).
Short | External Identifiers for this procedure
Note | This is a business identifier, not a resource identifier (see discussion)
Control | 0..*
Type | Identifier
Summary | true
Requirements | Need to allow connection to a wider workflow.
30. Procedure.definition
Definition | A protocol, guideline, orderset or other definition that was adhered to in whole or in part by this procedure.
Short | Instantiates protocol or definition
Control | 0..*
Type | Reference(PlanDefinition, ActivityDefinition, HealthcareService)
Summary | true
32. Procedure.basedOn
Definition | A reference to a resource that contains details of the request for this procedure.
Short | A request for this procedure
Control | 0..*
Type | Reference(CarePlan, ProcedureRequest, ReferralRequest)
Summary | true
Alternate Names | fulfills
Slicing | This element introduces a set of slices on `Procedure.basedOn`. The slices areUnordered and Open, and can be differentiated using the following discriminators: type @ $this.resolve()
34. Procedure.basedOn:request
Slice Name | request
Definition | The ProcedureRequest that contains the details of the request for this procedure, including the requester information located at ProcedureRequest.requester.
Short | ProcedureRequest
Comments | The ProcedureRequest resource is used to capture the healthcare provider who requested the procedure as stated in the HCIM Procedure.
Control | 0..*
Type | Reference(HCIM ProcedureRequest)
Summary | true
Alternate Names | fulfills
36. Procedure.partOf
Definition | A larger event of which this particular procedure is a component or step.
Short | Part of referenced event
Comments | The MedicationAdministration has a partOf reference to Procedure, but this is not a circular reference. For a surgical procedure, the anesthesia related medicationAdministration is part of the procedure. For an IV medication administration, the procedure to insert the IV port is part of the medication administration.
Control | 0..*
Type | Reference(Procedure, Observation, MedicationAdministration)
Summary | true
Alternate Names | container
38. Procedure.status
Definition | A code specifying the state of the procedure. Generally this will be in-progress or completed state.
Short | preparation | in-progress | suspended | aborted | completed | entered-in-error | unknown
Comments | The unknown code is not to be used to convey other statuses. The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the procedure. This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.
Control | 1..1
Binding | The codes SHALL be taken from EventStatus (required to `http://hl7.org/fhir/ValueSet/event-status` ) A code specifying the state of the procedure.
Type | code
Is Modifier | true because No Modifier Reason provideed in previous versions of FHIR
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
40. Procedure.notDone
Definition | Set this to true if the record is saying that the procedure was NOT performed.
Short | True if procedure was not performed as scheduled
Comments | If true, it means the procedure did not occur as described. Typically it would be accompanied by attributes describing the type of activity. It might also be accompanied by body site information or time information (i.e. no procedure was done to the left arm or no procedure was done in this 2-year period). Specifying additional information such as performer, outcome, etc. is generally inappropriate. For example, it's not that useful to say "There was no appendectomy done at 12:03pm June 6th by Dr. Smith with a successful outcome" as it implies that there could have been an appendectomy done at any other time, by any other clinician or with any other outcome. This element is labeled as a modifier because it indicates that a procedure didn't happen.
Control | 0..1
Type | boolean
Is Modifier | true because No Modifier Reason provideed in previous versions of FHIR
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Default Value | `false`
42. Procedure.notDoneReason
Definition | A code indicating why the procedure was not performed.
Short | Reason procedure was not performed
Control | 0..1 This element is affected by the following invariants: pro-1
Binding | For example codes, see Procedure Not Performed Reason (SNOMED-CT) (example to `http://hl7.org/fhir/ValueSet/procedure-not-performed-reason` ) A code that identifies the reason a procedure was not performed.
Type | CodeableConcept
Summary | true
44. Procedure.category
Definition | A code that classifies the procedure for searching, sorting and display purposes. In the Basisgegevensset Zorg (BgZ) use case, this is used to search and retrieve Surgical Procedures.
Short | Classification of the procedure
Control | 1..1
Binding | For example codes, see Procedure Category Codes (SNOMED CT) (example to `http://hl7.org/fhir/ValueSet/procedure-category` ) A code that classifies a procedure for searching, sorting and display purposes.
Type | CodeableConcept
Summary | true
Example | Example of category code: { "coding" : [{ "system" : "http://snomed.info/sct", "code" : "387713003", "display" : "Surgical procedure" }] }
46. Procedure.code
Definition | The name of the procedure. As of 1 January 2013, all procedures in the primary process have to be documented with CBV codes. To meet this requirement, the DHD procedure thesaurus (CBV procedures set) is used to code procedures. It is possible that in addition to the CBV procedures set, the NIC will be used for nurse procedures and that a “coded value set” will be introduced for paramedic procedures.
Short | ProcedureType
Control | 0..1
Binding | For example codes, see Procedure Codes (SNOMED CT) (example to `http://hl7.org/fhir/ValueSet/procedure-code` ) A code to identify a specific procedure .
Type | CodeableConcept
Must Support | true
Summary | true
Requirements | 0..1 to account for primarily narrative only resources.
Alternate Names | type, VerrichtingType
48. Procedure.code.id
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | xml:id (or equivalent in JSON)
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
XML Format | In the XML format, this property is represented as an attribute.
50. Procedure.code.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional Content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Alternate Names | extensions, user content
Slicing | This element introduces a set of slices on `Procedure.code.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
52. Procedure.code.coding
Definition | A reference to a code defined by a terminology system.
Short | Code defined by a terminology system
Comments | Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.
Control | 0..*
Type | Coding
Summary | true
Requirements | Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.
Slicing | This element introduces a set of slices on `Procedure.code.coding`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ system
54. Procedure.code.coding:VerrichtingTypeCodelijst
Slice Name | VerrichtingTypeCodelijst
Definition | DHD procedure thesaurus
Short | ProcedureType
Comments | Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.
Control | 0..*
Binding | The codes SHALL be taken from Zorgviewer verrichting type waardelijst (required to `http://fhir.hl7.nl/zorgviewer/ValueSet/VerrichtingTypeCodelist` )
Type | Coding
Must Support | true
Summary | true
Requirements | Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.
Alternate Names | VerrichtingType
56. Procedure.code.coding:VerrichtingTypeCodelijst.id
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | xml:id (or equivalent in JSON)
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
XML Format | In the XML format, this property is represented as an attribute.
58. Procedure.code.coding:VerrichtingTypeCodelijst.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional Content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Alternate Names | extensions, user content
Slicing | This element introduces a set of slices on `Procedure.code.coding.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
60. Procedure.code.coding:VerrichtingTypeCodelijst.system
Definition | The identification of the code system that defines the meaning of the symbol in the code.
Short | Identity of the terminology system
Comments | The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.
Control | 1..1
Type | uri
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Requirements | Need to be unambiguous about the source of the definition of the symbol.
Fixed Value | `http://snomed.info/sct`
62. Procedure.code.coding:VerrichtingTypeCodelijst.version
Definition | The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Short | Version of the system - if relevant
Comments | Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.
Note | This is a business version Id, not a resource version Id (see discussion)
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
64. Procedure.code.coding:VerrichtingTypeCodelijst.code
Definition | A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Short | Symbol in syntax defined by the system
Control | 0..1
Type | code
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Requirements | Need to refer to a particular code in the system.
66. Procedure.code.coding:VerrichtingTypeCodelijst.display
Definition | A representation of the meaning of the code in the system, following the rules of the system.
Short | Representation defined by the system
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Requirements | Need to be able to carry a human-readable meaning of the code for readers that do not know the system.
68. Procedure.code.coding:VerrichtingTypeCodelijst.userSelected
Definition | Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Short | If this coding was chosen directly by the user
Comments | Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.
Control | 0..1
Type | boolean
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Requirements | This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.
70. Procedure.code.text
Definition | A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Short | Plain text representation of the concept
Comments | Very often the text is the same as a displayName of one of the codings.
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
Summary | true
Requirements | The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.
72. Procedure.subject
Definition | The person, animal or group on which the procedure was performed.
Short | Who the procedure was performed on
Control | 1..1
Type | Reference(Group, nl-core-patient)
Summary | true
Alternate Names | patient
74. Procedure.context
Definition | The encounter during which the procedure was performed.
Short | Encounter or episode associated with the procedure
Control | 0..1
Type | Reference(Encounter, EpisodeOfCare)
Summary | true
Alternate Names | encounter
76. Procedure.performed[x]
Definition | The date(time)/period over which the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.
Short | Date/Period the procedure was performed
Control | 0..1
Type | Period
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
Summary | true
Slicing | This element introduces a set of slices on `Procedure.performed[x]`. The slices areUnordered and Closed, and can be differentiated using the following discriminators: type @ $this
78. Procedure.performed[x]:performedPeriod
Slice Name | performedPeriod
Definition | The date(time)/period over which the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.
Short | Date/Period the procedure was performed
Control | 0..1
Type | Period
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
Must Support | true
Summary | true
80. Procedure.performed[x]:performedPeriod.id
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | xml:id (or equivalent in JSON)
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
XML Format | In the XML format, this property is represented as an attribute.
82. Procedure.performed[x]:performedPeriod.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional Content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Alternate Names | extensions, user content
Slicing | This element introduces a set of slices on `Procedure.performed[x].extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
84. Procedure.performed[x]:performedPeriod.start
Definition | The start date (and if possible start time) of the procedure. A ‘vague’ date, such as only the year, is permitted. The element offers the option to indicate the start of the period of a series of related procedures.
Short | ProcedureStartDate
Comments | If the low element is missing, the meaning is that the low boundary is not known.
Control | 0..1 This element is affected by the following invariants: per-1
Type | dateTime
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Alternate Names | VerrichtingStartDatum
86. Procedure.performed[x]:performedPeriod.end
Definition | The end date (and if possible end time) of the procedure. A ‘vague’ date, such as only the year, is permitted. The element offers the option to indicate the end of the period of a series of related procedures.
Short | ProcedureEndDate
Comments | The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.
Control | 0..1 This element is affected by the following invariants: per-1
Type | dateTime
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Alternate Names | VerrichtingEindDatum
Meaning if Missing | If the end of the period is missing, it means that the period is ongoing
88. Procedure.performer
Definition | The healthcare professional that carried out the procedure. The healthcare center (location) where the procedure was or is carried out.
Short | HealthProfessional | Location::HealthcareProvider
Comments | Note: Procedure.location could have been used for mapping the Location::HealthcareProvider. In most anticipated cases this would lead to an empty Location resource except for Location.managingOrganization. For efficiency the mapping has thus been done here. Should a Location::HealthcareProvider with an OrganizationLocation be targeted, then this may be solved using Organization.name 'OrganizationLocation' + Organization.partOf 'HealthcareProvider'
Control | 0..*
Type | BackboneElement
Summary | true
Alternate Names | UitgevoerdDoor, Locatie
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() | (children().count() > id.count())`)
90. Procedure.performer.id
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | xml:id (or equivalent in JSON)
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
XML Format | In the XML format, this property is represented as an attribute.
92. Procedure.performer.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional Content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Alternate Names | extensions, user content
94. Procedure.performer.modifierExtension
Definition | May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Short | Extensions that cannot be ignored
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | true because No Modifier Reason provideed in previous versions of FHIR
Summary | true
Alternate Names | extensions, user content, modifiers
96. Procedure.performer.role
Definition | For example: surgeon, anaethetist, endoscopist.
Short | The role the actor was in
Control | 0..1
Binding | For example codes, see Procedure Performer Role Codes (example to `http://hl7.org/fhir/ValueSet/performer-role` ) A code that identifies the role of a performer of the procedure.
Type | CodeableConcept
Summary | true
98. Procedure.performer.role.id
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | xml:id (or equivalent in JSON)
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
XML Format | In the XML format, this property is represented as an attribute.
100. Procedure.performer.role.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional Content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Alternate Names | extensions, user content
Slicing | This element introduces a set of slices on `Procedure.performer.role.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
102. Procedure.performer.role.coding
Definition | A reference to a code defined by a terminology system.
Short | Code defined by a terminology system
Comments | Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.
Control | 0..*
Type | Coding
Summary | true
Requirements | Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.
Slicing | This element introduces a set of slices on `Procedure.performer.role.coding`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ $this
104. Procedure.performer.role.coding:healthProfessionalRole
Slice Name | healthProfessionalRole
Definition | The role the healthcare provider fulfils in the healthcare process. For healthcare providers, this could be for example main practitioner, referrer or general practitioner.
Short | HealthProfessionalRole
Comments | Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.
Control | 0..*
Binding | The codes SHALL be taken from ZorgverlenerRolCodelijst (required to `http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.17.1.5--20171231000000` )
Type | Coding
Summary | true
Requirements | Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.
Alternate Names | ZorgverlenerRol
106. Procedure.performer.role.text
Definition | A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Short | Plain text representation of the concept
Comments | Very often the text is the same as a displayName of one of the codings.
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Requirements | The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.
108. Procedure.performer.actor
Definition | The practitioner who was involved in the procedure.
Short | The reference to the practitioner
Control | 1..1
Type | Reference(nl-core-practitioner, nl-core-organization)
Summary | true
Requirements | A reference to Device supports use cases, such as pacemakers.
110. Procedure.performer.actor.id
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | xml:id (or equivalent in JSON)
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
XML Format | In the XML format, this property is represented as an attribute.
112. Procedure.performer.actor.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional Content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Alternate Names | extensions, user content
Slicing | This element introduces a set of slices on `Procedure.performer.actor.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
114. Procedure.performer.actor.extension:practitionerRole
Slice Name | practitionerRole
Definition | Optional Extension Element - found in all resources.
Short | Optional Extensions Element
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..1 This element is affected by the following invariants: ele-1
Type | Extension(PractitionerRole Reference) (Extension Type: Reference)
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() | (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
116. Procedure.performer.actor.reference
Definition | A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.
Short | Literal reference, Relative, internal or absolute URL
Comments | Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.
Control | 0..1 This element is affected by the following invariants: ref-1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
118. Procedure.performer.actor.identifier
Definition | An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
Short | Logical reference, when literal reference is not known
Comments | When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.
Note | This is a business identifier, not a resource identifier (see discussion)
Control | 0..1
Type | Identifier
Summary | true
120. Procedure.performer.actor.display
Definition | Plain text narrative that identifies the resource in addition to the resource reference.
Short | Text alternative for the resource
Comments | This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
Summary | true
122. Procedure.performer.onBehalfOf
Definition | The organization the device or practitioner was acting on behalf of.
Short | Organization the device or practitioner was acting for
Control | 0..1
Type | Reference(Organization)
Requirements | Practitioners and Devices can be associated with multiple organizations. This element indicates which organization they were acting on behalf of when performing the action.
124. Procedure.location
Definition | The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant.
Short | Where the procedure happened
Control | 0..1
Type | Reference(Location)
Summary | true
Requirements | Ties a procedure to where the records are likely kept.
126. Procedure.location.id
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | xml:id (or equivalent in JSON)
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
XML Format | In the XML format, this property is represented as an attribute.
128. Procedure.location.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional Content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Alternate Names | extensions, user content
Slicing | This element introduces a set of slices on `Procedure.location.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
130. Procedure.location.reference
Definition | A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.
Short | Literal reference, Relative, internal or absolute URL
Comments | Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.
Control | 0..1 This element is affected by the following invariants: ref-1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
132. Procedure.location.identifier
Definition | An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
Short | Logical reference, when literal reference is not known
Comments | When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.
Note | This is a business identifier, not a resource identifier (see discussion)
Control | 0..1
Type | Identifier
Summary | true
134. Procedure.location.display
Definition | Plain text narrative that identifies the resource in addition to the resource reference.
Short | Text alternative for the resource
Comments | This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
Summary | true
136. Procedure.reasonCode
Definition | The coded reason why the procedure was performed. This may be coded entity of some type, or may simply be present as text.
Short | Coded reason procedure performed
Control | 0..*
Binding | For example codes, see Procedure Reason Codes (example to `http://hl7.org/fhir/ValueSet/procedure-reason` ) A code that identifies the reason a procedure is required.
Type | CodeableConcept
Summary | true
138. Procedure.reasonReference
Definition | The indication is the reason for the procedure.
Short | Indication
Comments | e.g. endoscopy for dilatation and biopsy, combination diagnosis and therapeutic.
Control | 0..*
Type | Reference(HCIM Problem)
Summary | true
Alternate Names | Indicatie
140. Procedure.bodySite
Definition | Anatomical location which is the focus of the procedure.
Short | ProcedureAnatomicalLocation
Control | 0..*
Binding | Unless not suitable, these codes SHALL be taken from VerrichtingAnatomischeLocatieCodelijst (extensible to `http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.14.1.1--20171231000000` ) Anatomical location which is the focus of the procedure.
Type | CodeableConcept
Summary | true
Alternate Names | VerrichtingAnatomischeLocatie
142. Procedure.bodySite.id
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | xml:id (or equivalent in JSON)
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
XML Format | In the XML format, this property is represented as an attribute.
144. Procedure.bodySite.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional Content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Alternate Names | extensions, user content
Slicing | This element introduces a set of slices on `Procedure.bodySite.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
146. Procedure.bodySite.extension:ProcedureLaterality
Slice Name | ProcedureLaterality
Definition | Qualifier to refine the anatomical location. These include qualifiers for laterality, relative location, directionality, number, and plane.
Short | Extension
Control | 0..1 This element is affected by the following invariants: ele-1
Type | Extension(BodySite Qualifier) (Extension Type: CodeableConcept)
Must Support | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() | (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
148. Procedure.bodySite.extension:ProcedureLaterality.id
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | xml:id (or equivalent in JSON)
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
XML Format | In the XML format, this property is represented as an attribute.
150. Procedure.bodySite.extension:ProcedureLaterality.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional Content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..0
Type | Extension
Alternate Names | extensions, user content
Slicing | This element introduces a set of slices on `Procedure.bodySite.extension.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
152. Procedure.bodySite.extension:ProcedureLaterality.url
Definition | Source of the definition for the extension code - a logical name or a URL.
Short | identifies the meaning of the extension
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
Control | 1..1
Type | uri
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
XML Format | In the XML format, this property is represented as an attribute.
Fixed Value | `http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier`
154. Procedure.bodySite.extension:ProcedureLaterality.value[x]
Definition | Qualifier to refine the anatomical location. These include qualifiers for laterality, relative location, directionality, number, and plane.
Short | BodySite qualifier
Control | 0..1
Binding | Unless not suitable, these codes SHALL be taken from VerrichtingLateraliteitCodelijst (extensible to `http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.14.1.3--20171231000000` ) ProcedureLateralityCodelist
Type | CodeableConcept
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
156. Procedure.bodySite.coding
Definition | A reference to a code defined by a terminology system.
Short | Code defined by a terminology system
Comments | Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.
Control | 0..*
Type | Coding
Summary | true
Requirements | Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.
158. Procedure.bodySite.text
Definition | A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Short | Plain text representation of the concept
Comments | Very often the text is the same as a displayName of one of the codings.
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Requirements | The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.
160. Procedure.outcome
Definition | The outcome of the procedure - did it resolve reasons for the procedure being performed?
Short | The result of procedure
Comments | If outcome contains narrative text only, it can be captured using the CodeableConcept.text.
Control | 0..1
Binding | For example codes, see Procedure Outcome Codes (SNOMED CT) (example to `http://hl7.org/fhir/ValueSet/procedure-outcome` ) An outcome of a procedure - whether it was resolved or otherwise.
Type | CodeableConcept
Summary | true
162. Procedure.report
Definition | Any report resulting from the procedure.
Short | Any report resulting from the procedure
Comments | Note that the HCIM TextResultForTransfer-v1.2 has this relationship reversed, so the relationship goes from report to procedure.
Control | 0..*
Type | Reference(HCIM TextResult)
164. Procedure.complication
Definition | Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues.
Short | Complication following the procedure
Comments | If complications are only expressed by the narrative text, they can be captured using the CodeableConcept.text.
Control | 0..*
Binding | For example codes, see Condition/Problem/Diagnosis Codes (example to `http://hl7.org/fhir/ValueSet/condition-code` ) Codes describing complications that resulted from a procedure.
Type | CodeableConcept
166. Procedure.complicationDetail
Definition | Any complications that occurred during the procedure, or in the immediate post-performance period.
Short | A condition that is a result of the procedure
Control | 0..*
Type | Reference(Condition)
Requirements | This is used to document a condition that is a result of the procedure, not the condition that was the reason for the procedure.
168. Procedure.followUp
Definition | If the procedure required specific follow up - e.g. removal of sutures. The followup may be represented as a simple note, or could potentially be more complex in which case the CarePlan resource can be used.
Short | Instructions for follow up
Control | 0..*
Binding | For example codes, see Procedure Follow up Codes (SNOMED CT) (example to `http://hl7.org/fhir/ValueSet/procedure-followup` ) Specific follow up required for a procedure e.g. removal of sutures.
Type | CodeableConcept
170. Procedure.note
Definition | Any other notes about the procedure. E.g. the operative notes.
Short | Additional information about the procedure
Control | 0..*
Type | Annotation
172. Procedure.focalDevice
Definition | A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure.
Short | Device changed in procedure
Control | 0..*
Type | BackboneElement
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() | (children().count() > id.count())`)
174. Procedure.focalDevice.id
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | xml:id (or equivalent in JSON)
Control | 0..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
XML Format | In the XML format, this property is represented as an attribute.
176. Procedure.focalDevice.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional Content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Alternate Names | extensions, user content
178. Procedure.focalDevice.modifierExtension
Definition | May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Short | Extensions that cannot be ignored
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | true because No Modifier Reason provideed in previous versions of FHIR
Summary | true
Alternate Names | extensions, user content, modifiers
180. Procedure.focalDevice.action
Definition | The kind of change that happened to the device during the procedure.
Short | Kind of change to device
Control | 0..1
Binding | The codes SHOULD be taken from Procedure Device Action Codes (preferred to `http://hl7.org/fhir/ValueSet/device-action` ) A kind of change that happened to the device during the procedure.
Type | CodeableConcept
182. Procedure.focalDevice.manipulated
Definition | The product, the placing of which in or on the body is the purpose of the procedure, for example placing an implant.
Short | MedicalDevice
Control | 1..1
Type | Reference(HCIM MedicalDevice Product)
Alternate Names | MedischHulpmiddel
184. Procedure.usedReference
Definition | Identifies medications, devices and any other substance used as part of the procedure.
Short | Items used during procedure
Comments | For devices actually implanted or removed, use Procedure.device.
Control | 0..*
Type | Reference(Device, Medication, Substance)
Requirements | Used for tracking contamination, etc.
186. Procedure.usedCode
Definition | Identifies coded items that were used as part of the procedure.
Short | Coded items used during the procedure
Comments | For devices actually implanted or removed, use Procedure.device.
Control | 0..*
Binding | For example codes, see FHIR Device Types (example to `http://hl7.org/fhir/ValueSet/device-kind` ) Codes describing items used during a procedure
Type | CodeableConcept