Finnish Base Profiles
2.0.0 - release

Publication Build: This will be filled in by the publication tooling

## Resource Profile: Fi Base Procedure

Official URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-procedure | Version: 2.0.0
Active as of 2025-10-05 | Computable Name: FiBaseProcedure

The Base profile for Finnish Procedure resource.

### Scope and Usage

This profile sets minimum expectations for the Procedure resource to search and fetch current or historical procedures performed on or for a patient. It identifies which elements, code systems and value sets SHALL be present in the resource when using this profile.

#### Main procedure and sub-procedures

In many cases more than one procedure are being performed during one encounter. Usually this means that one of the procedures is the main procedure and others are sub-procedures. Latter ones could be performed in supporting or assisting purpose (e.g. Anaesthesia) or their task is to describe how the main procedure was performed (e.g. using robot for performing the procedure). This conjunction between different procedures is done by using `partOf` reference. The main procedure does not have `partOf` reference. Examples of this can be found from Examples page.

#### Code systems

Code systems that are associated with this profile are listed in a table below. It is not required to use these code systems in every situation, but rather to choose correct code systems depending on a use case if nessecary. Some explanation of using these code systems can be found from the website behind the link. The Use column descripes the element in which that particular code system can be used in Procedure resource.

Code System | OID code | Link | Use
--- | --- | --- | ---
THL - toimenpideluokitus | 1.2.246.537.6.2.2007 | https://koodistopalvelu.kanta.fi/codeserver/pages/classification-view-page.xhtml?classificationKey=57&versionKey=119 | `Procedure.code`
THL - Suun terveydenhuollon toimenpideluokitus | 1.2.246.537.6.33 | https://koodistopalvelu.kanta.fi/codeserver/pages/classification-view-page.xhtml?classificationKey=58&versionKey=79 | `Procedure.code`
AR/YDIN - Toimenpiteen tyyppi | 1.2.246.537.6.601 | https://koodistopalvelu.kanta.fi/codeserver/pages/classification-view-page.xhtml?classificationKey=763&versionKey=903 | `Procedure.code`
Kuntaliitto - Radiologinen tutkimus- ja toimenpideluokitus | 1.2.246.537.6.4 | https://koodistopalvelu.kanta.fi/codeserver/pages/classification-view-page.xhtml?classificationKey=44&versionKey=118 | `Procedure.code`

> NOTE: While writing this profile SNOMED code system is not widely used in Finland since adopting the code system is still in progess. More information about the subject can be found on Terminology page. Nevertheless SNOMED codes SHOULD be used if possible in a faced use case.

> THL toimenpideluokitus is based on Nordic Classification of Surgical Procedures (NCSP).

Usages:

- Refer to this Profile: FI Base Appointment, FI Base Encounter, FI Base MedicationAdministration, FI Base MedicationStatement... Show 8 more, FI Base Observation, Fi Base Procedure, FI Base Appointment, FI Base Encounter, FI Base MedicationAdministration, FI Base MedicationStatement, FI Base Observation and Fi Base Procedure
- Examples for this Profile: Procedure/ColonBiopsy and Procedure/ProcedureColotomy

### Formal Views of Profile Content

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

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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Procedure |  | 0..* | Procedure | An action that is being or was performed on a patient dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources 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-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-5: If a resource is contained in another resource, it SHALL NOT have a security label dom-6: A resource should have narrative for robust management
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
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
partOf | Σ | 0..* | Reference(Fi Base Procedure(2.0.0) | FI Base Observation(2.0.0) | FI Base MedicationAdministration(2.0.0)) | Part of referenced event ele-1: All FHIR elements must have a @value or children
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. ele-1: All FHIR elements must have a @value or children
subject | Σ | 1..1 | Reference(FI Base Patient(2.0.0) | Group) | Who the procedure was performed on ele-1: All FHIR elements must have a @value or children
encounter | Σ | 0..1 | Reference(FI Base Encounter(2.0.0)) | Encounter created as part of ele-1: All FHIR elements must have a @value or children
recorder | Σ | 0..1 | Reference(FI Base Patient(2.0.0) | RelatedPerson | FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0)) | Who recorded the procedure ele-1: All FHIR elements must have a @value or children
asserter | Σ | 0..1 | Reference(FI Base Patient(2.0.0) | RelatedPerson | FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0)) | Person who asserts this procedure ele-1: All FHIR elements must have a @value or children
location | Σ | 0..1 | Reference(FI Base Location(2.0.0)) | Where the procedure happened ele-1: All FHIR elements must have a @value or children
reasonReference | Σ | 0..* | Reference(FI Base Condition(2.0.0) | FI Base Observation(2.0.0) | Fi Base Procedure(2.0.0) | DiagnosticReport | DocumentReference) | The justification that the procedure was performed ele-1: All FHIR elements must have a @value or children
complicationDetail |  | 0..* | Reference(FI Base Condition(2.0.0)) | A condition that is a result of the procedure ele-1: All FHIR elements must have a @value or children
usedReference |  | 0..* | Reference(Device | FI Base Medication(2.0.0) | Substance) | Items used during procedure ele-1: All FHIR elements must have a @value or children
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Procedure.status | required | EventStatus `http://hl7.org/fhir/ValueSet/event-status|4.0.1` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Procedure | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Procedure | 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 : 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-4 | error | Procedure | 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-5 | error | Procedure | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Procedure | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |

This structure is derived from Procedure

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Procedure |  |  | Procedure |
partOf |  | 0..* | Reference(Fi Base Procedure(2.0.0) | FI Base Observation(2.0.0) | FI Base MedicationAdministration(2.0.0)) | Part of referenced event
subject |  | 1..1 | Reference(FI Base Patient(2.0.0) | Group) | Who the procedure was performed on
encounter |  | 0..1 | Reference(FI Base Encounter(2.0.0)) | Encounter created as part of
recorder |  | 0..1 | Reference(FI Base Patient(2.0.0) | RelatedPerson | FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0)) | Who recorded the procedure
asserter |  | 0..1 | Reference(FI Base Patient(2.0.0) | RelatedPerson | FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0)) | Person who asserts this procedure
performer |  |  |  |
actor |  | 1..1 | Reference(FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0) | FI Base Organization(2.0.0) | FI Base Patient(2.0.0) | RelatedPerson | Device) | The reference to the practitioner
onBehalfOf |  | 0..1 | Reference(FI Base Organization(2.0.0)) | Organization the device or practitioner was acting for
location |  | 0..1 | Reference(FI Base Location(2.0.0)) | Where the procedure happened
reasonReference |  | 0..* | Reference(FI Base Condition(2.0.0) | FI Base Observation(2.0.0) | Fi Base Procedure(2.0.0) | DiagnosticReport | DocumentReference) | The justification that the procedure was performed
complicationDetail |  | 0..* | Reference(FI Base Condition(2.0.0)) | A condition that is a result of the procedure
usedReference |  | 0..* | Reference(Device | FI Base Medication(2.0.0) | Substance) | Items used during procedure
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Procedure |  | 0..* | Procedure | An action that is being or was performed on a patient
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 Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
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 | Σ | 0..* | Reference(CarePlan | ServiceRequest) | A request for this procedure
partOf | Σ | 0..* | Reference(Fi Base Procedure(2.0.0) | FI Base Observation(2.0.0) | FI Base MedicationAdministration(2.0.0)) | Part of referenced event
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 | Σ | 0..1 | CodeableConcept | Identification of the procedure Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure .
subject | Σ | 1..1 | Reference(FI Base Patient(2.0.0) | Group) | Who the procedure was performed on
encounter | Σ | 0..1 | Reference(FI Base Encounter(2.0.0)) | Encounter created as part of
performed[x] | Σ | 0..1 |  | When the procedure was performed
performedDateTime |  |  | dateTime |
performedPeriod |  |  | Period |
performedString |  |  | string |
performedAge |  |  | Age |
performedRange |  |  | Range |
recorder | Σ | 0..1 | Reference(FI Base Patient(2.0.0) | RelatedPerson | FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0)) | Who recorded the procedure
asserter | Σ | 0..1 | Reference(FI Base Patient(2.0.0) | RelatedPerson | FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0)) | Person who asserts this procedure
performer | Σ | 0..* | BackboneElement | The people who performed the procedure
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
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 | Σ | 1..1 | Reference(FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0) | FI Base Organization(2.0.0) | FI Base Patient(2.0.0) | RelatedPerson | Device) | The reference to the practitioner
onBehalfOf |  | 0..1 | Reference(FI Base Organization(2.0.0)) | Organization the device or practitioner was acting for
location | Σ | 0..1 | Reference(FI Base Location(2.0.0)) | Where the procedure happened
reasonCode | Σ | 0..* | CodeableConcept | Coded reason procedure performed Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.
reasonReference | Σ | 0..* | Reference(FI Base Condition(2.0.0) | FI Base Observation(2.0.0) | Fi Base Procedure(2.0.0) | DiagnosticReport | DocumentReference) | The justification that the procedure was performed
bodySite | Σ | 0..* | CodeableConcept | Target body sites Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
outcome | Σ | 0..1 | CodeableConcept | The result of procedure Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise.
report |  | 0..* | Reference(DiagnosticReport | DocumentReference | Composition) | Any report resulting from the procedure
complication |  | 0..* | CodeableConcept | Complication following the procedure Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure.
complicationDetail |  | 0..* | Reference(FI Base Condition(2.0.0)) | A condition that is a result of the procedure
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 |  | 0..* | Extension | Additional content defined by implementations
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 |  | 1..1 | Reference(Device) | Device that was changed
usedReference |  | 0..* | Reference(Device | FI Base Medication(2.0.0) | Substance) | Items used during procedure
usedCode |  | 0..* | CodeableConcept | Coded items used during the procedure Binding: FHIRDeviceTypes (example): Codes describing items used during a procedure.
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Procedure.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
Additional Bindings | Purpose
AllLanguages | Max Binding
Procedure.status | required | EventStatus `http://hl7.org/fhir/ValueSet/event-status|4.0.1` From the FHIR Standard
Procedure.statusReason | example | ProcedureNotPerformedReason(SNOMED-CT) `http://hl7.org/fhir/ValueSet/procedure-not-performed-reason` From the FHIR Standard
Procedure.category | example | ProcedureCategoryCodes(SNOMEDCT) `http://hl7.org/fhir/ValueSet/procedure-category` From the FHIR Standard
Procedure.code | example | ProcedureCodes(SNOMEDCT) `http://hl7.org/fhir/ValueSet/procedure-code` From the FHIR Standard
Procedure.performer.function | example | ProcedurePerformerRoleCodes `http://hl7.org/fhir/ValueSet/performer-role` From the FHIR Standard
Procedure.reasonCode | example | ProcedureReasonCodes `http://hl7.org/fhir/ValueSet/procedure-reason` From the FHIR Standard
Procedure.bodySite | example | SNOMEDCTBodyStructures `http://hl7.org/fhir/ValueSet/body-site` From the FHIR Standard
Procedure.outcome | example | ProcedureOutcomeCodes(SNOMEDCT) `http://hl7.org/fhir/ValueSet/procedure-outcome` From the FHIR Standard
Procedure.complication | example | Condition/Problem/DiagnosisCodes `http://hl7.org/fhir/ValueSet/condition-code` From the FHIR Standard
Procedure.followUp | example | ProcedureFollowUpCodes(SNOMEDCT) `http://hl7.org/fhir/ValueSet/procedure-followup` From the FHIR Standard
Procedure.focalDevice.action | preferred | ProcedureDeviceActionCodes `http://hl7.org/fhir/ValueSet/device-action` From the FHIR Standard
Procedure.usedCode | example | FHIRDeviceTypes `http://hl7.org/fhir/ValueSet/device-kind` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Procedure | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Procedure | 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 : 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-4 | error | Procedure | 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-5 | error | Procedure | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Procedure | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |

This structure is derived from Procedure

Summary

Structures

This structure refers to these other structures:

- Fi Base Procedure (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-procedure)
- FI Base Observation (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-observation)
- FI Base MedicationAdministration (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-medication-administration)
- FI Base Patient (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-patient)
- FI Base Encounter (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-encounter)
- FI Base Practitioner (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-practitioner)
- FI Base PractitionerRole (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-practitioner-role)
- FI Base Organization (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-organization)
- FI Base Location (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-location)
- FI Base Condition (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-condition)
- FI Base Medication (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-medication)

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Procedure |  | 0..* | Procedure | An action that is being or was performed on a patient dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources 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-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-5: If a resource is contained in another resource, it SHALL NOT have a security label dom-6: A resource should have narrative for robust management
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
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
partOf | Σ | 0..* | Reference(Fi Base Procedure(2.0.0) | FI Base Observation(2.0.0) | FI Base MedicationAdministration(2.0.0)) | Part of referenced event ele-1: All FHIR elements must have a @value or children
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. ele-1: All FHIR elements must have a @value or children
subject | Σ | 1..1 | Reference(FI Base Patient(2.0.0) | Group) | Who the procedure was performed on ele-1: All FHIR elements must have a @value or children
encounter | Σ | 0..1 | Reference(FI Base Encounter(2.0.0)) | Encounter created as part of ele-1: All FHIR elements must have a @value or children
recorder | Σ | 0..1 | Reference(FI Base Patient(2.0.0) | RelatedPerson | FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0)) | Who recorded the procedure ele-1: All FHIR elements must have a @value or children
asserter | Σ | 0..1 | Reference(FI Base Patient(2.0.0) | RelatedPerson | FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0)) | Person who asserts this procedure ele-1: All FHIR elements must have a @value or children
location | Σ | 0..1 | Reference(FI Base Location(2.0.0)) | Where the procedure happened ele-1: All FHIR elements must have a @value or children
reasonReference | Σ | 0..* | Reference(FI Base Condition(2.0.0) | FI Base Observation(2.0.0) | Fi Base Procedure(2.0.0) | DiagnosticReport | DocumentReference) | The justification that the procedure was performed ele-1: All FHIR elements must have a @value or children
complicationDetail |  | 0..* | Reference(FI Base Condition(2.0.0)) | A condition that is a result of the procedure ele-1: All FHIR elements must have a @value or children
usedReference |  | 0..* | Reference(Device | FI Base Medication(2.0.0) | Substance) | Items used during procedure ele-1: All FHIR elements must have a @value or children
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Procedure.status | required | EventStatus `http://hl7.org/fhir/ValueSet/event-status|4.0.1` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Procedure | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Procedure | 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 : 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-4 | error | Procedure | 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-5 | error | Procedure | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Procedure | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |

Differential View

This structure is derived from Procedure

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Procedure |  |  | Procedure |
partOf |  | 0..* | Reference(Fi Base Procedure(2.0.0) | FI Base Observation(2.0.0) | FI Base MedicationAdministration(2.0.0)) | Part of referenced event
subject |  | 1..1 | Reference(FI Base Patient(2.0.0) | Group) | Who the procedure was performed on
encounter |  | 0..1 | Reference(FI Base Encounter(2.0.0)) | Encounter created as part of
recorder |  | 0..1 | Reference(FI Base Patient(2.0.0) | RelatedPerson | FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0)) | Who recorded the procedure
asserter |  | 0..1 | Reference(FI Base Patient(2.0.0) | RelatedPerson | FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0)) | Person who asserts this procedure
performer |  |  |  |
actor |  | 1..1 | Reference(FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0) | FI Base Organization(2.0.0) | FI Base Patient(2.0.0) | RelatedPerson | Device) | The reference to the practitioner
onBehalfOf |  | 0..1 | Reference(FI Base Organization(2.0.0)) | Organization the device or practitioner was acting for
location |  | 0..1 | Reference(FI Base Location(2.0.0)) | Where the procedure happened
reasonReference |  | 0..* | Reference(FI Base Condition(2.0.0) | FI Base Observation(2.0.0) | Fi Base Procedure(2.0.0) | DiagnosticReport | DocumentReference) | The justification that the procedure was performed
complicationDetail |  | 0..* | Reference(FI Base Condition(2.0.0)) | A condition that is a result of the procedure
usedReference |  | 0..* | Reference(Device | FI Base Medication(2.0.0) | Substance) | Items used during procedure
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Procedure |  | 0..* | Procedure | An action that is being or was performed on a patient
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 Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
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 | Σ | 0..* | Reference(CarePlan | ServiceRequest) | A request for this procedure
partOf | Σ | 0..* | Reference(Fi Base Procedure(2.0.0) | FI Base Observation(2.0.0) | FI Base MedicationAdministration(2.0.0)) | Part of referenced event
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 | Σ | 0..1 | CodeableConcept | Identification of the procedure Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure .
subject | Σ | 1..1 | Reference(FI Base Patient(2.0.0) | Group) | Who the procedure was performed on
encounter | Σ | 0..1 | Reference(FI Base Encounter(2.0.0)) | Encounter created as part of
performed[x] | Σ | 0..1 |  | When the procedure was performed
performedDateTime |  |  | dateTime |
performedPeriod |  |  | Period |
performedString |  |  | string |
performedAge |  |  | Age |
performedRange |  |  | Range |
recorder | Σ | 0..1 | Reference(FI Base Patient(2.0.0) | RelatedPerson | FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0)) | Who recorded the procedure
asserter | Σ | 0..1 | Reference(FI Base Patient(2.0.0) | RelatedPerson | FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0)) | Person who asserts this procedure
performer | Σ | 0..* | BackboneElement | The people who performed the procedure
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
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 | Σ | 1..1 | Reference(FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0) | FI Base Organization(2.0.0) | FI Base Patient(2.0.0) | RelatedPerson | Device) | The reference to the practitioner
onBehalfOf |  | 0..1 | Reference(FI Base Organization(2.0.0)) | Organization the device or practitioner was acting for
location | Σ | 0..1 | Reference(FI Base Location(2.0.0)) | Where the procedure happened
reasonCode | Σ | 0..* | CodeableConcept | Coded reason procedure performed Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.
reasonReference | Σ | 0..* | Reference(FI Base Condition(2.0.0) | FI Base Observation(2.0.0) | Fi Base Procedure(2.0.0) | DiagnosticReport | DocumentReference) | The justification that the procedure was performed
bodySite | Σ | 0..* | CodeableConcept | Target body sites Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
outcome | Σ | 0..1 | CodeableConcept | The result of procedure Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise.
report |  | 0..* | Reference(DiagnosticReport | DocumentReference | Composition) | Any report resulting from the procedure
complication |  | 0..* | CodeableConcept | Complication following the procedure Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure.
complicationDetail |  | 0..* | Reference(FI Base Condition(2.0.0)) | A condition that is a result of the procedure
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 |  | 0..* | Extension | Additional content defined by implementations
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 |  | 1..1 | Reference(Device) | Device that was changed
usedReference |  | 0..* | Reference(Device | FI Base Medication(2.0.0) | Substance) | Items used during procedure
usedCode |  | 0..* | CodeableConcept | Coded items used during the procedure Binding: FHIRDeviceTypes (example): Codes describing items used during a procedure.
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Procedure.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
Additional Bindings | Purpose
AllLanguages | Max Binding
Procedure.status | required | EventStatus `http://hl7.org/fhir/ValueSet/event-status|4.0.1` From the FHIR Standard
Procedure.statusReason | example | ProcedureNotPerformedReason(SNOMED-CT) `http://hl7.org/fhir/ValueSet/procedure-not-performed-reason` From the FHIR Standard
Procedure.category | example | ProcedureCategoryCodes(SNOMEDCT) `http://hl7.org/fhir/ValueSet/procedure-category` From the FHIR Standard
Procedure.code | example | ProcedureCodes(SNOMEDCT) `http://hl7.org/fhir/ValueSet/procedure-code` From the FHIR Standard
Procedure.performer.function | example | ProcedurePerformerRoleCodes `http://hl7.org/fhir/ValueSet/performer-role` From the FHIR Standard
Procedure.reasonCode | example | ProcedureReasonCodes `http://hl7.org/fhir/ValueSet/procedure-reason` From the FHIR Standard
Procedure.bodySite | example | SNOMEDCTBodyStructures `http://hl7.org/fhir/ValueSet/body-site` From the FHIR Standard
Procedure.outcome | example | ProcedureOutcomeCodes(SNOMEDCT) `http://hl7.org/fhir/ValueSet/procedure-outcome` From the FHIR Standard
Procedure.complication | example | Condition/Problem/DiagnosisCodes `http://hl7.org/fhir/ValueSet/condition-code` From the FHIR Standard
Procedure.followUp | example | ProcedureFollowUpCodes(SNOMEDCT) `http://hl7.org/fhir/ValueSet/procedure-followup` From the FHIR Standard
Procedure.focalDevice.action | preferred | ProcedureDeviceActionCodes `http://hl7.org/fhir/ValueSet/device-action` From the FHIR Standard
Procedure.usedCode | example | FHIRDeviceTypes `http://hl7.org/fhir/ValueSet/device-kind` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Procedure | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Procedure | 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 : 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-4 | error | Procedure | 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-5 | error | Procedure | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Procedure | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |

This structure is derived from Procedure

Summary

Structures

This structure refers to these other structures:

- Fi Base Procedure (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-procedure)
- FI Base Observation (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-observation)
- FI Base MedicationAdministration (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-medication-administration)
- FI Base Patient (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-patient)
- FI Base Encounter (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-encounter)
- FI Base Practitioner (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-practitioner)
- FI Base PractitionerRole (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-practitioner-role)
- FI Base Organization (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-organization)
- FI Base Location (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-location)
- FI Base Condition (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-condition)
- FI Base Medication (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-medication)

Other representations of profile: CSV, Excel, Schematron