PLUGIN
0.1.0-ci - ci-build NL

PLUGIN - Local Development build (v0.1.0-ci) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Procedure

Official URL: https://plugin.healthcare/fhir/StructureDefinition/plugin-Procedure Version: 0.1.0-ci
Draft as of 2025-01-16 Computable Name: PluginProcedure

Copyright/Legal: Used by permission of the PLUGIN team, all rights reserved Creative Commons License

Procedure as used within PLUGIN. Inherits from nl-core-Procedure-event.

Usage:

  • This Resource Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..* NlcoreProcedureevent Procedure
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-6: A resource should have narrative for robust management
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... procedureMethod N 0..* CodeableConcept Optional Extensions Element
URL: http://nictiz.nl/fhir/StructureDefinition/ext-Procedure.ProcedureMethod
Binding: VerrichtingMethodeCodelijst (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... episodeOfCare 1..1 Reference(EpisodeOfCare) Associated Encounter episode of care
URL: http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... modifierExtension ?!N 0..* Extension Extensions that cannot be ignored
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... code Σ 1..1 CodeableConcept ProcedureType
Binding: VerrichtingTypeCodelijsten (required): A code to identify a specific procedure .


ele-1: All FHIR elements must have a @value or children
... subject ΣC 1..1 Reference(Patient | nl core Patient | Patient) Who the procedure was performed on
ele-1: All FHIR elements must have a @value or children
ref-1: SHALL have a contained resource if a local reference is provided
... Slices for performed[x] ΣN 0..1 When the procedure was performed
Slice: Unordered, Open by type:$this
ele-1: All FHIR elements must have a @value or children
.... performedDateTime dateTime
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
.... performed[x]:performedPeriod ΣN 0..1 Period When the procedure was performed
ele-1: All FHIR elements must have a @value or children
..... start ΣC 0..1 dateTime ProcedureStartDate
ele-1: All FHIR elements must have a @value or children
..... end ΣC 0..1 dateTime ProcedureEndDate
ele-1: All FHIR elements must have a @value or children
.... performed[x]:performedDateTime ΣN 0..1 dateTime ProcedureStartDate
ele-1: All FHIR elements must have a @value or children
... reasonReference ΣC 1..* Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference | nl core Problem) Indication
ele-1: All FHIR elements must have a @value or children
ref-1: SHALL have a contained resource if a local reference is provided
... bodySite Σ 0..1 NlcoreAnatomicalLocation Location
Binding: LocatieCodelijsten (required): Codes describing anatomical locations. May include laterality.


ele-1: All FHIR elements must have a @value or children
.... Slices for extension Content/Rules for all slices
..... laterality S 0..1 CodeableConcept Optional Extensions Element
URL: http://nictiz.nl/fhir/StructureDefinition/ext-AnatomicalLocation.Laterality
Binding: LateraliteitCodelijst (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... Slices for report CN 0..* Reference(DiagnosticReport | DocumentReference | Composition) Any report resulting from the procedure
Slice: Unordered, Open by profile:resolve()
ele-1: All FHIR elements must have a @value or children
ref-1: SHALL have a contained resource if a local reference is provided
.... report:textResult CN 0..* Reference(nl core TextResult) TextResult
ele-1: All FHIR elements must have a @value or children
ref-1: SHALL have a contained resource if a local reference is provided

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|4.0.1
from the FHIR Standard
Procedure.coderequiredVerrichtingTypeCodelijsten
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.19--20200901000000
Procedure.bodySiterequiredLocatieCodelijsten
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.11--20200901000000

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorProcedureIf 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-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ref-1errorProcedure.subject, Procedure.reasonReference, Procedure.report, Procedure.report:textResultSHALL have a contained resource if a local reference is provided
: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))

This structure is derived from NlcoreProcedureevent

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..* NlcoreProcedureevent Procedure
... extension 1..* Extension Extension
... Slices for extension Content/Rules for all slices
.... episodeOfCare 1..1 Reference(EpisodeOfCare) Associated Encounter episode of care
URL: http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare
... code 1..1 CodeableConcept ProcedureType
... reasonReference 1..* Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference | nl core Problem) Indication
... bodySite
.... Slices for extension Content/Rules for all slices
..... extension:laterality S 0..1 ExtAnatomicalLocationLaterality Optional Extensions Element

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..* NlcoreProcedureevent Procedure
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... procedureMethod N 0..* CodeableConcept Optional Extensions Element
URL: http://nictiz.nl/fhir/StructureDefinition/ext-Procedure.ProcedureMethod
Binding: VerrichtingMethodeCodelijst (required)
.... episodeOfCare 1..1 Reference(EpisodeOfCare) Associated Encounter episode of care
URL: http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare
... modifierExtension ?!N 0..* Extension Extensions that cannot be ignored
Slice: Unordered, Open by value:url
... identifier Σ 0..* Identifier External Identifiers for this procedure
... instantiatesCanonical Σ 0..* canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates external protocol or definition
... basedOn ΣC 0..* Reference(CarePlan | ServiceRequest | nl core Procedure request) A request for this procedure
ref-1: SHALL have a contained resource if a local reference is provided
... partOf ΣC 0..* Reference(Procedure | Observation | MedicationAdministration) Part of referenced event
ref-1: SHALL have a contained resource if a local reference is provided
... status ?!Σ 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required): A code specifying the state of the procedure.

... statusReason Σ 0..1 CodeableConcept Reason for current status
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.

... category Σ 0..1 CodeableConcept Classification of the procedure
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.

... code Σ 1..1 CodeableConcept ProcedureType
Binding: VerrichtingTypeCodelijsten (required): A code to identify a specific procedure .

... subject ΣC 1..1 Reference(Patient | nl core Patient | Patient) Who the procedure was performed on
ref-1: SHALL have a contained resource if a local reference is provided
... encounter ΣC 0..1 Reference(Encounter) Encounter created as part of
ref-1: SHALL have a contained resource if a local reference is provided
... Slices for performed[x] ΣN 0..1 When the procedure was performed
Slice: Unordered, Open by type:$this
.... performedDateTime dateTime
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
.... performed[x]:performedPeriod ΣN 0..1 Period When the procedure was performed
..... id 0..1 string Unique id for inter-element referencing
..... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... start ΣC 0..1 dateTime ProcedureStartDate
..... end ΣC 0..1 dateTime ProcedureEndDate
.... performed[x]:performedDateTime ΣN 0..1 dateTime ProcedureStartDate
... recorder ΣC 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who recorded the procedure
ref-1: SHALL have a contained resource if a local reference is provided
... asserter ΣC 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Person who asserts this procedure
ref-1: SHALL have a contained resource if a local reference is provided
... performer Σ 0..* BackboneElement The people who performed the procedure
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... function Σ 0..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.

.... actor ΣC 1..1 PatternNlCoreHealthProfessionalReference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | nl core HealthProfessional PractitionerRole) A reference from one resource to another
ref-1: SHALL have a contained resource if a local reference is provided
.... onBehalfOf C 0..1 Reference(Organization) Organization the device or practitioner was acting for
ref-1: SHALL have a contained resource if a local reference is provided
... location ΣC 0..1 Reference(Location | nl core HealthcareProvider) Location
ref-1: SHALL have a contained resource if a local reference is provided
... reasonCode Σ 0..* CodeableConcept Coded reason procedure performed
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.


... reasonReference ΣC 1..* Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference | nl core Problem) Indication
ref-1: SHALL have a contained resource if a local reference is provided
... bodySite Σ 0..1 NlcoreAnatomicalLocation Location
Binding: LocatieCodelijsten (required): Codes describing anatomical locations. May include laterality.


.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... laterality S 0..1 CodeableConcept Optional Extensions Element
URL: http://nictiz.nl/fhir/StructureDefinition/ext-AnatomicalLocation.Laterality
Binding: LateraliteitCodelijst (required)
.... coding Σ 0..* Coding Code defined by a terminology system
.... text Σ 0..1 string Plain text representation of the concept
... outcome Σ 0..1 CodeableConcept The result of procedure
Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise.

... Slices for report CN 0..* Reference(DiagnosticReport | DocumentReference | Composition) Any report resulting from the procedure
Slice: Unordered, Open by profile:resolve()
ref-1: SHALL have a contained resource if a local reference is provided
.... report:textResult CN 0..* Reference(nl core TextResult) TextResult
ref-1: SHALL have a contained resource if a local reference is provided
... complication 0..* CodeableConcept Complication following the procedure
Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure.


... complicationDetail C 0..* Reference(Condition) A condition that is a result of the procedure
ref-1: SHALL have a contained resource if a local reference is provided
... followUp 0..* CodeableConcept Instructions for follow up
Binding: ProcedureFollowUpCodes(SNOMEDCT) (example): Specific follow up required for a procedure e.g. removal of sutures.


... note 0..* Annotation Additional information about the procedure
... focalDevice 0..* BackboneElement Manipulated, implanted, or removed device
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... action 0..1 CodeableConcept Kind of change to device
Binding: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure.

.... manipulated C 1..1 Reference(Device) Device that was changed
ref-1: SHALL have a contained resource if a local reference is provided
... usedReference C 0..* Reference(Device | Medication | Substance) Items used during procedure
ref-1: SHALL have a contained resource if a local reference is provided
... usedCode 0..* CodeableConcept Coded items used during the procedure
Binding: FHIRDeviceTypes (example): Codes describing items used during a procedure.



doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|4.0.1
from the FHIR Standard
Procedure.statusReasonexampleProcedureNotPerformedReason(SNOMED-CT)
http://hl7.org/fhir/ValueSet/procedure-not-performed-reason
from the FHIR Standard
Procedure.categoryexampleProcedureCategoryCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-category
from the FHIR Standard
Procedure.coderequiredVerrichtingTypeCodelijsten
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.19--20200901000000
Procedure.performer.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.reasonCodeexampleProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard
Procedure.bodySiterequiredLocatieCodelijsten
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.11--20200901000000
Procedure.outcomeexampleProcedureOutcomeCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-outcome
from the FHIR Standard
Procedure.complicationexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
Procedure.followUpexampleProcedureFollowUpCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-followup
from the FHIR Standard
Procedure.focalDevice.actionpreferredProcedureDeviceActionCodes
http://hl7.org/fhir/ValueSet/device-action
from the FHIR Standard
Procedure.usedCodeexampleFHIRDeviceTypes
http://hl7.org/fhir/ValueSet/device-kind
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorProcedureIf 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-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ref-1errorProcedure.basedOn, Procedure.partOf, Procedure.subject, Procedure.encounter, Procedure.recorder, Procedure.asserter, Procedure.performer.actor, Procedure.performer.onBehalfOf, Procedure.location, Procedure.reasonReference, Procedure.report, Procedure.report:textResult, Procedure.complicationDetail, Procedure.focalDevice.manipulated, Procedure.usedReferenceSHALL have a contained resource if a local reference is provided
: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))

This structure is derived from NlcoreProcedureevent

Summary

Mandatory: 4 elements
Must-Support: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..* NlcoreProcedureevent Procedure
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-6: A resource should have narrative for robust management
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... procedureMethod N 0..* CodeableConcept Optional Extensions Element
URL: http://nictiz.nl/fhir/StructureDefinition/ext-Procedure.ProcedureMethod
Binding: VerrichtingMethodeCodelijst (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... episodeOfCare 1..1 Reference(EpisodeOfCare) Associated Encounter episode of care
URL: http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... modifierExtension ?!N 0..* Extension Extensions that cannot be ignored
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... code Σ 1..1 CodeableConcept ProcedureType
Binding: VerrichtingTypeCodelijsten (required): A code to identify a specific procedure .


ele-1: All FHIR elements must have a @value or children
... subject ΣC 1..1 Reference(Patient | nl core Patient | Patient) Who the procedure was performed on
ele-1: All FHIR elements must have a @value or children
ref-1: SHALL have a contained resource if a local reference is provided
... Slices for performed[x] ΣN 0..1 When the procedure was performed
Slice: Unordered, Open by type:$this
ele-1: All FHIR elements must have a @value or children
.... performedDateTime dateTime
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
.... performed[x]:performedPeriod ΣN 0..1 Period When the procedure was performed
ele-1: All FHIR elements must have a @value or children
..... start ΣC 0..1 dateTime ProcedureStartDate
ele-1: All FHIR elements must have a @value or children
..... end ΣC 0..1 dateTime ProcedureEndDate
ele-1: All FHIR elements must have a @value or children
.... performed[x]:performedDateTime ΣN 0..1 dateTime ProcedureStartDate
ele-1: All FHIR elements must have a @value or children
... reasonReference ΣC 1..* Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference | nl core Problem) Indication
ele-1: All FHIR elements must have a @value or children
ref-1: SHALL have a contained resource if a local reference is provided
... bodySite Σ 0..1 NlcoreAnatomicalLocation Location
Binding: LocatieCodelijsten (required): Codes describing anatomical locations. May include laterality.


ele-1: All FHIR elements must have a @value or children
.... Slices for extension Content/Rules for all slices
..... laterality S 0..1 CodeableConcept Optional Extensions Element
URL: http://nictiz.nl/fhir/StructureDefinition/ext-AnatomicalLocation.Laterality
Binding: LateraliteitCodelijst (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... Slices for report CN 0..* Reference(DiagnosticReport | DocumentReference | Composition) Any report resulting from the procedure
Slice: Unordered, Open by profile:resolve()
ele-1: All FHIR elements must have a @value or children
ref-1: SHALL have a contained resource if a local reference is provided
.... report:textResult CN 0..* Reference(nl core TextResult) TextResult
ele-1: All FHIR elements must have a @value or children
ref-1: SHALL have a contained resource if a local reference is provided

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|4.0.1
from the FHIR Standard
Procedure.coderequiredVerrichtingTypeCodelijsten
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.19--20200901000000
Procedure.bodySiterequiredLocatieCodelijsten
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.11--20200901000000

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorProcedureIf 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-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ref-1errorProcedure.subject, Procedure.reasonReference, Procedure.report, Procedure.report:textResultSHALL have a contained resource if a local reference is provided
: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))

Differential View

This structure is derived from NlcoreProcedureevent

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..* NlcoreProcedureevent Procedure
... extension 1..* Extension Extension
... Slices for extension Content/Rules for all slices
.... episodeOfCare 1..1 Reference(EpisodeOfCare) Associated Encounter episode of care
URL: http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare
... code 1..1 CodeableConcept ProcedureType
... reasonReference 1..* Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference | nl core Problem) Indication
... bodySite
.... Slices for extension Content/Rules for all slices
..... extension:laterality S 0..1 ExtAnatomicalLocationLaterality Optional Extensions Element

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..* NlcoreProcedureevent Procedure
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... procedureMethod N 0..* CodeableConcept Optional Extensions Element
URL: http://nictiz.nl/fhir/StructureDefinition/ext-Procedure.ProcedureMethod
Binding: VerrichtingMethodeCodelijst (required)
.... episodeOfCare 1..1 Reference(EpisodeOfCare) Associated Encounter episode of care
URL: http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare
... modifierExtension ?!N 0..* Extension Extensions that cannot be ignored
Slice: Unordered, Open by value:url
... identifier Σ 0..* Identifier External Identifiers for this procedure
... instantiatesCanonical Σ 0..* canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates external protocol or definition
... basedOn ΣC 0..* Reference(CarePlan | ServiceRequest | nl core Procedure request) A request for this procedure
ref-1: SHALL have a contained resource if a local reference is provided
... partOf ΣC 0..* Reference(Procedure | Observation | MedicationAdministration) Part of referenced event
ref-1: SHALL have a contained resource if a local reference is provided
... status ?!Σ 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required): A code specifying the state of the procedure.

... statusReason Σ 0..1 CodeableConcept Reason for current status
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.

... category Σ 0..1 CodeableConcept Classification of the procedure
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.

... code Σ 1..1 CodeableConcept ProcedureType
Binding: VerrichtingTypeCodelijsten (required): A code to identify a specific procedure .

... subject ΣC 1..1 Reference(Patient | nl core Patient | Patient) Who the procedure was performed on
ref-1: SHALL have a contained resource if a local reference is provided
... encounter ΣC 0..1 Reference(Encounter) Encounter created as part of
ref-1: SHALL have a contained resource if a local reference is provided
... Slices for performed[x] ΣN 0..1 When the procedure was performed
Slice: Unordered, Open by type:$this
.... performedDateTime dateTime
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
.... performed[x]:performedPeriod ΣN 0..1 Period When the procedure was performed
..... id 0..1 string Unique id for inter-element referencing
..... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... start ΣC 0..1 dateTime ProcedureStartDate
..... end ΣC 0..1 dateTime ProcedureEndDate
.... performed[x]:performedDateTime ΣN 0..1 dateTime ProcedureStartDate
... recorder ΣC 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who recorded the procedure
ref-1: SHALL have a contained resource if a local reference is provided
... asserter ΣC 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Person who asserts this procedure
ref-1: SHALL have a contained resource if a local reference is provided
... performer Σ 0..* BackboneElement The people who performed the procedure
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... function Σ 0..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.

.... actor ΣC 1..1 PatternNlCoreHealthProfessionalReference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | nl core HealthProfessional PractitionerRole) A reference from one resource to another
ref-1: SHALL have a contained resource if a local reference is provided
.... onBehalfOf C 0..1 Reference(Organization) Organization the device or practitioner was acting for
ref-1: SHALL have a contained resource if a local reference is provided
... location ΣC 0..1 Reference(Location | nl core HealthcareProvider) Location
ref-1: SHALL have a contained resource if a local reference is provided
... reasonCode Σ 0..* CodeableConcept Coded reason procedure performed
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.


... reasonReference ΣC 1..* Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference | nl core Problem) Indication
ref-1: SHALL have a contained resource if a local reference is provided
... bodySite Σ 0..1 NlcoreAnatomicalLocation Location
Binding: LocatieCodelijsten (required): Codes describing anatomical locations. May include laterality.


.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... laterality S 0..1 CodeableConcept Optional Extensions Element
URL: http://nictiz.nl/fhir/StructureDefinition/ext-AnatomicalLocation.Laterality
Binding: LateraliteitCodelijst (required)
.... coding Σ 0..* Coding Code defined by a terminology system
.... text Σ 0..1 string Plain text representation of the concept
... outcome Σ 0..1 CodeableConcept The result of procedure
Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise.

... Slices for report CN 0..* Reference(DiagnosticReport | DocumentReference | Composition) Any report resulting from the procedure
Slice: Unordered, Open by profile:resolve()
ref-1: SHALL have a contained resource if a local reference is provided
.... report:textResult CN 0..* Reference(nl core TextResult) TextResult
ref-1: SHALL have a contained resource if a local reference is provided
... complication 0..* CodeableConcept Complication following the procedure
Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure.


... complicationDetail C 0..* Reference(Condition) A condition that is a result of the procedure
ref-1: SHALL have a contained resource if a local reference is provided
... followUp 0..* CodeableConcept Instructions for follow up
Binding: ProcedureFollowUpCodes(SNOMEDCT) (example): Specific follow up required for a procedure e.g. removal of sutures.


... note 0..* Annotation Additional information about the procedure
... focalDevice 0..* BackboneElement Manipulated, implanted, or removed device
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... action 0..1 CodeableConcept Kind of change to device
Binding: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure.

.... manipulated C 1..1 Reference(Device) Device that was changed
ref-1: SHALL have a contained resource if a local reference is provided
... usedReference C 0..* Reference(Device | Medication | Substance) Items used during procedure
ref-1: SHALL have a contained resource if a local reference is provided
... usedCode 0..* CodeableConcept Coded items used during the procedure
Binding: FHIRDeviceTypes (example): Codes describing items used during a procedure.



doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|4.0.1
from the FHIR Standard
Procedure.statusReasonexampleProcedureNotPerformedReason(SNOMED-CT)
http://hl7.org/fhir/ValueSet/procedure-not-performed-reason
from the FHIR Standard
Procedure.categoryexampleProcedureCategoryCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-category
from the FHIR Standard
Procedure.coderequiredVerrichtingTypeCodelijsten
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.19--20200901000000
Procedure.performer.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.reasonCodeexampleProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard
Procedure.bodySiterequiredLocatieCodelijsten
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.11--20200901000000
Procedure.outcomeexampleProcedureOutcomeCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-outcome
from the FHIR Standard
Procedure.complicationexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
Procedure.followUpexampleProcedureFollowUpCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-followup
from the FHIR Standard
Procedure.focalDevice.actionpreferredProcedureDeviceActionCodes
http://hl7.org/fhir/ValueSet/device-action
from the FHIR Standard
Procedure.usedCodeexampleFHIRDeviceTypes
http://hl7.org/fhir/ValueSet/device-kind
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorProcedureIf 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-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ref-1errorProcedure.basedOn, Procedure.partOf, Procedure.subject, Procedure.encounter, Procedure.recorder, Procedure.asserter, Procedure.performer.actor, Procedure.performer.onBehalfOf, Procedure.location, Procedure.reasonReference, Procedure.report, Procedure.report:textResult, Procedure.complicationDetail, Procedure.focalDevice.manipulated, Procedure.usedReferenceSHALL have a contained resource if a local reference is provided
: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))

This structure is derived from NlcoreProcedureevent

Summary

Mandatory: 4 elements
Must-Support: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron