DIPS Core Implementation Guide
0.1.0 - ci-build Norway

DIPS Core Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: DIPS R4 Procedure

Official URL: http://dips.no/fhir/R4/StructureDefinition/DIPSR4Procedure Version: 0.1.0
Draft as of 2026-11-10 Computable Name: DIPSR4Procedure

Procedure registered on a patient in DIPS Arena. Resource ids carry the agv prefix.

The DIPS R4 Procedure Profile inherits from the FHIR Procedure resource; refer to it for scope and usage definitions

The profile covers procedures registered on a patient in DIPS Arena. A procedure's resource id carries the agv prefix.

Supported interactions:

Interaction Supported
Read Yes
Search Yes
Create Yes
Delete Yes
Update No
VRead No
History No
Patch No

Delete is also supported conditionally (conditionalDelete = single), which lets a client delete a procedure by search criteria rather than by resource id.

Example Usage Scenarios:

The following are example usage scenarios for this profile:

Query by procedure id, patient, encounter, performing practitioner, procedure code or performed date

Register a procedure on a patient

Delete a procedure, either by its resource id or by search criteria

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Procedure 0..* Procedure An action that is being or was performed on a patient
Procedure.text 0..1 Narrative Generated by the service on read; not required on create
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Procedure.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Procedure.Slices for identifier This element is included in summaries. 0..* Identifier External Identifiers for this procedure
Slice: Unordered, Open by value:system
Procedure.Slices for identifier.identifier:Dips_Identifier This element is included in summaries. 0..1 Identifier External Identifiers for this procedure
Procedure.Slices for identifier.identifier:Dips_Identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-procedureid (no extensions allowed)
Procedure.Slices for identifier.identifier:Dips_Identifier.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Procedure.Slices for identifier.identifier:External_Identifier This element is included in summaries. 0..* Identifier External Identifiers for this procedure
Procedure.Slices for identifier.identifier:External_Identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Procedure.Slices for identifier.identifier:External_Identifier.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Procedure.status This element is a modifier element. This element is included in summaries. 1..1 code Supported codes by the application are 'preparation', 'in-progress','completed','unknown' , Here code will be set to the model depend on the Performed property Estimation
Binding: EventStatus (required): A code specifying the state of the procedure.
Procedure.category This element is included in summaries. 0..1 CodeableConcept DIPS service type, coded with the same OID system as Procedure.code
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.
Procedure.category.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Procedure.category.coding.system This element is included in summaries. 1..1 uri Identity of the terminology system
Procedure.category.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.code This element is included in summaries. 1..1 CodeableConcept Identification of the procedure
Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure .
Procedure.code.Slices for coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
Procedure.code.Slices for coding.coding:NCMP This element is included in summaries. 0..1 Coding NCMP - Medisinske prosedyrekoder (urn:oid:2.16.578.1.12.4.1.1.7220)
Procedure.code.Slices for coding.coding:NCMP.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7220 (no extensions allowed)
Procedure.code.Slices for coding.coding:NCMP.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NCSP This element is included in summaries. 0..1 Coding NCSP - kirurgiske prosedyrekoder (urn:oid:2.16.578.1.12.4.1.1.7210)
Procedure.code.Slices for coding.coding:NCSP.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7210 (no extensions allowed)
Procedure.code.Slices for coding.coding:NCSP.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NCRP This element is included in summaries. 0..1 Coding NCRP - radiologiske prosedyrekoder (urn:oid:2.16.578.1.12.4.1.1.7270)
Procedure.code.Slices for coding.coding:NCRP.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7270 (no extensions allowed)
Procedure.code.Slices for coding.coding:NCRP.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NorwegianSpecific This element is included in summaries. 0..1 Coding Norwegian-specific procedure codes (urn:oid:2.16.578.1.12.4.1.1.7020)
Procedure.code.Slices for coding.coding:NorwegianSpecific.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7020 (no extensions allowed)
Procedure.code.Slices for coding.coding:NorwegianSpecific.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.subject This element is included in summaries. 1..1 Reference(DIPS Procedure Subject Reference) Who the procedure was performed on
Procedure.encounter This element is included in summaries. 1..1 Reference(DIPS Procedure Encounter Reference) Encounter created as part of
Procedure.encounter.identifier This element is included in summaries. 1..1 Identifier Logical reference, when literal reference is not known
Procedure.performed[x] This element is included in summaries. 0..1 When the procedure was performed
Procedure.performed[x].performedDateTime dateTime
Procedure.performed[x].performedPeriod Period
Procedure.performer This element is included in summaries. 0..1 BackboneElement The people who performed the procedure
Procedure.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Procedure.performer.actor This element is included in summaries. 1..1 Reference(DIPS Procedure Performer Reference) The reference to the practitioner
Procedure.performer.actor.identifier This element is included in summaries. 1..1 Identifier Logical reference, when literal reference is not known
Procedure.reasonReference This element is included in summaries. 0..* Reference(Condition) The justification that the procedure was performed

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.status Base required EventStatus 📍4.0.1 FHIR Std.
Procedure.category Base example Procedure Category Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Procedure 0..* Procedure An action that is being or was performed on a patient
Procedure.implicitRules 0..0 A set of rules under which this content was created
Procedure.language 0..0 Language of the resource content
Procedure.text 0..1 Narrative Generated by the service on read; not required on create
Procedure.contained 0..0 Contained, inline Resources
Procedure.Slices for identifier 0..* Identifier External Identifiers for this procedure
Slice: Unordered, Open by value:system
Procedure.Slices for identifier.identifier:Dips_Identifier 0..1 Identifier External Identifiers for this procedure
Procedure.Slices for identifier.identifier:Dips_Identifier.id 0..0 Unique id for inter-element referencing
Procedure.Slices for identifier.identifier:Dips_Identifier.use 0..0 usual | official | temp | secondary | old (If known)
Procedure.Slices for identifier.identifier:Dips_Identifier.type 0..0 Description of identifier
Procedure.Slices for identifier.identifier:Dips_Identifier.system 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-procedureid (no extensions allowed)
Procedure.Slices for identifier.identifier:Dips_Identifier.value 1..1 string The value that is unique
Procedure.Slices for identifier.identifier:Dips_Identifier.period 0..0 Time period when id is/was valid for use
Procedure.Slices for identifier.identifier:Dips_Identifier.assigner 0..0 Organization that issued id (may be just text)
Procedure.Slices for identifier.identifier:External_Identifier 0..* Identifier External Identifiers for this procedure
Procedure.Slices for identifier.identifier:External_Identifier.id 0..0 Unique id for inter-element referencing
Procedure.Slices for identifier.identifier:External_Identifier.use 0..0 usual | official | temp | secondary | old (If known)
Procedure.Slices for identifier.identifier:External_Identifier.type 0..0 Description of identifier
Procedure.Slices for identifier.identifier:External_Identifier.system 1..1 uri The namespace for the identifier value
Procedure.Slices for identifier.identifier:External_Identifier.value 1..1 string The value that is unique
Procedure.Slices for identifier.identifier:External_Identifier.period 0..0 Time period when id is/was valid for use
Procedure.Slices for identifier.identifier:External_Identifier.assigner 0..0 Organization that issued id (may be just text)
Procedure.instantiatesCanonical 0..0 Instantiates FHIR protocol or definition
Procedure.instantiatesUri 0..0 Instantiates external protocol or definition
Procedure.basedOn 0..0 A request for this procedure
Procedure.partOf 0..0 Part of referenced event
Procedure.status 1..1 code Supported codes by the application are 'preparation', 'in-progress','completed','unknown' , Here code will be set to the model depend on the Performed property Estimation
Procedure.statusReason 0..0 Reason for current status
Procedure.category 0..1 CodeableConcept DIPS service type, coded with the same OID system as Procedure.code
Procedure.category.coding 1..1 Coding Code defined by a terminology system
Procedure.category.coding.system 1..1 uri Identity of the terminology system
Procedure.category.coding.code 1..1 code Symbol in syntax defined by the system
Procedure.code 1..1 CodeableConcept Identification of the procedure
Procedure.code.id 0..0 Unique id for inter-element referencing
Procedure.code.Slices for coding 1..1 Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
Procedure.code.Slices for coding.coding:NCMP 0..1 Coding NCMP - Medisinske prosedyrekoder (urn:oid:2.16.578.1.12.4.1.1.7220)
Procedure.code.Slices for coding.coding:NCMP.id 0..0 Unique id for inter-element referencing
Procedure.code.Slices for coding.coding:NCMP.system 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7220 (no extensions allowed)
Procedure.code.Slices for coding.coding:NCMP.version 0..0 Version of the system - if relevant
Procedure.code.Slices for coding.coding:NCMP.code 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NCMP.userSelected 0..0 If this coding was chosen directly by the user
Procedure.code.Slices for coding.coding:NCSP 0..1 Coding NCSP - kirurgiske prosedyrekoder (urn:oid:2.16.578.1.12.4.1.1.7210)
Procedure.code.Slices for coding.coding:NCSP.id 0..0 Unique id for inter-element referencing
Procedure.code.Slices for coding.coding:NCSP.system 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7210 (no extensions allowed)
Procedure.code.Slices for coding.coding:NCSP.version 0..0 Version of the system - if relevant
Procedure.code.Slices for coding.coding:NCSP.code 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NCSP.userSelected 0..0 If this coding was chosen directly by the user
Procedure.code.Slices for coding.coding:NCRP 0..1 Coding NCRP - radiologiske prosedyrekoder (urn:oid:2.16.578.1.12.4.1.1.7270)
Procedure.code.Slices for coding.coding:NCRP.id 0..0 Unique id for inter-element referencing
Procedure.code.Slices for coding.coding:NCRP.system 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7270 (no extensions allowed)
Procedure.code.Slices for coding.coding:NCRP.version 0..0 Version of the system - if relevant
Procedure.code.Slices for coding.coding:NCRP.code 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NCRP.userSelected 0..0 If this coding was chosen directly by the user
Procedure.code.Slices for coding.coding:NorwegianSpecific 0..1 Coding Norwegian-specific procedure codes (urn:oid:2.16.578.1.12.4.1.1.7020)
Procedure.code.Slices for coding.coding:NorwegianSpecific.id 0..0 Unique id for inter-element referencing
Procedure.code.Slices for coding.coding:NorwegianSpecific.system 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7020 (no extensions allowed)
Procedure.code.Slices for coding.coding:NorwegianSpecific.version 0..0 Version of the system - if relevant
Procedure.code.Slices for coding.coding:NorwegianSpecific.code 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NorwegianSpecific.userSelected 0..0 If this coding was chosen directly by the user
Procedure.subject 1..1 Reference(DIPS Procedure Subject Reference) Who the procedure was performed on
Procedure.encounter 1..1 Reference(DIPS Procedure Encounter Reference) Encounter created as part of
Procedure.encounter.id 0..0 Unique id for inter-element referencing
Procedure.encounter.type 0..0 Type the reference refers to (e.g. "Patient")
Procedure.encounter.identifier 1..1 Identifier Logical reference, when literal reference is not known
Procedure.performed[x] 0..1 When the procedure was performed
Procedure.performed[x].performedDateTime dateTime
Procedure.performed[x].performedPeriod Period
Procedure.recorder 0..0 Who recorded the procedure
Procedure.asserter 0..0 Person who asserts this procedure
Procedure.performer 0..1 BackboneElement The people who performed the procedure
Procedure.performer.id 0..0 Unique id for inter-element referencing
Procedure.performer.function 0..0 Type of performance
Procedure.performer.actor 1..1 Reference(DIPS Procedure Performer Reference) The reference to the practitioner
Procedure.performer.actor.id 0..0 Unique id for inter-element referencing
Procedure.performer.actor.type 0..0 Type the reference refers to (e.g. "Patient")
Procedure.performer.actor.identifier 1..1 Identifier Logical reference, when literal reference is not known
Procedure.performer.onBehalfOf 0..0 Organization the device or practitioner was acting for
Procedure.location 0..0 Where the procedure happened
Procedure.reasonCode 0..0 Coded reason procedure performed
Procedure.reasonReference 0..* Reference(Condition) The justification that the procedure was performed
Procedure.bodySite 0..0 Target body sites
Procedure.outcome 0..0 The result of procedure
Procedure.report 0..0 Any report resulting from the procedure
Procedure.complication 0..0 Complication following the procedure
Procedure.complicationDetail 0..0 A condition that is a result of the procedure
Procedure.followUp 0..0 Instructions for follow up
Procedure.note 0..0 Additional information about the procedure
Procedure.focalDevice 0..0 Manipulated, implanted, or removed device
Procedure.usedReference 0..0 Items used during procedure
Procedure.usedCode 0..0 Coded items used during the procedure

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Procedure 0..* Procedure An action that is being or was performed on a patient
Procedure.id This element is included in summaries. 0..1 id Logical id of this artifact
Procedure.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Procedure.text 0..1 Narrative Generated by the service on read; not required on create
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Procedure.extension 0..* Extension Additional content defined by implementations
Procedure.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Procedure.Slices for identifier This element is included in summaries. 0..* Identifier External Identifiers for this procedure
Slice: Unordered, Open by value:system
Procedure.Slices for identifier.identifier:Dips_Identifier This element is included in summaries. 0..1 Identifier External Identifiers for this procedure
Procedure.Slices for identifier.identifier:Dips_Identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.Slices for identifier.identifier:Dips_Identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-procedureid (no extensions allowed)
Procedure.Slices for identifier.identifier:Dips_Identifier.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Procedure.Slices for identifier.identifier:External_Identifier This element is included in summaries. 0..* Identifier External Identifiers for this procedure
Procedure.Slices for identifier.identifier:External_Identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.Slices for identifier.identifier:External_Identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Procedure.Slices for identifier.identifier:External_Identifier.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Procedure.status This element is a modifier element. This element is included in summaries. 1..1 code Supported codes by the application are 'preparation', 'in-progress','completed','unknown' , Here code will be set to the model depend on the Performed property Estimation
Binding: EventStatus (required): A code specifying the state of the procedure.
Procedure.category This element is included in summaries. 0..1 CodeableConcept DIPS service type, coded with the same OID system as Procedure.code
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.
Procedure.category.id 0..1 string Unique id for inter-element referencing
Procedure.category.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.category.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Procedure.category.coding.id 0..1 string Unique id for inter-element referencing
Procedure.category.coding.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.category.coding.system This element is included in summaries. 1..1 uri Identity of the terminology system
Procedure.category.coding.version This element is included in summaries. 0..1 string Version of the system - if relevant
Procedure.category.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.category.coding.display This element is included in summaries. 0..1 string Representation defined by the system
Procedure.category.coding.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Procedure.category.text This element is included in summaries. 0..1 string Plain text representation of the concept
Procedure.code This element is included in summaries. 1..1 CodeableConcept Identification of the procedure
Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure .
Procedure.code.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.code.Slices for coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
Procedure.code.Slices for coding.coding:NCMP This element is included in summaries. 0..1 Coding NCMP - Medisinske prosedyrekoder (urn:oid:2.16.578.1.12.4.1.1.7220)
Procedure.code.Slices for coding.coding:NCMP.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.code.Slices for coding.coding:NCMP.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7220 (no extensions allowed)
Procedure.code.Slices for coding.coding:NCMP.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NCMP.display This element is included in summaries. 0..1 string Representation defined by the system
Procedure.code.Slices for coding.coding:NCSP This element is included in summaries. 0..1 Coding NCSP - kirurgiske prosedyrekoder (urn:oid:2.16.578.1.12.4.1.1.7210)
Procedure.code.Slices for coding.coding:NCSP.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.code.Slices for coding.coding:NCSP.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7210 (no extensions allowed)
Procedure.code.Slices for coding.coding:NCSP.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NCSP.display This element is included in summaries. 0..1 string Representation defined by the system
Procedure.code.Slices for coding.coding:NCRP This element is included in summaries. 0..1 Coding NCRP - radiologiske prosedyrekoder (urn:oid:2.16.578.1.12.4.1.1.7270)
Procedure.code.Slices for coding.coding:NCRP.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.code.Slices for coding.coding:NCRP.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7270 (no extensions allowed)
Procedure.code.Slices for coding.coding:NCRP.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NCRP.display This element is included in summaries. 0..1 string Representation defined by the system
Procedure.code.Slices for coding.coding:NorwegianSpecific This element is included in summaries. 0..1 Coding Norwegian-specific procedure codes (urn:oid:2.16.578.1.12.4.1.1.7020)
Procedure.code.Slices for coding.coding:NorwegianSpecific.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.code.Slices for coding.coding:NorwegianSpecific.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7020 (no extensions allowed)
Procedure.code.Slices for coding.coding:NorwegianSpecific.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NorwegianSpecific.display This element is included in summaries. 0..1 string Representation defined by the system
Procedure.code.text This element is included in summaries. 0..1 string Plain text representation of the concept
Procedure.subject This element is included in summaries. 1..1 Reference(DIPS Procedure Subject Reference) Who the procedure was performed on
Procedure.encounter This element is included in summaries. 1..1 Reference(DIPS Procedure Encounter Reference) Encounter created as part of
Procedure.encounter.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.encounter.reference This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
Procedure.encounter.identifier This element is included in summaries. 1..1 Identifier Logical reference, when literal reference is not known
Procedure.encounter.display This element is included in summaries. 0..1 string Text alternative for the resource
Procedure.performed[x] This element is included in summaries. 0..1 When the procedure was performed
Procedure.performed[x].performedDateTime dateTime
Procedure.performed[x].performedPeriod Period
Procedure.performer This element is included in summaries. 0..1 BackboneElement The people who performed the procedure
Procedure.performer.extension 0..* Extension Additional content defined by implementations
Procedure.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Procedure.performer.actor This element is included in summaries. 1..1 Reference(DIPS Procedure Performer Reference) The reference to the practitioner
Procedure.performer.actor.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.performer.actor.reference This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
Procedure.performer.actor.identifier This element is included in summaries. 1..1 Identifier Logical reference, when literal reference is not known
Procedure.performer.actor.display This element is included in summaries. 0..1 string Text alternative for the resource
Procedure.reasonReference This element is included in summaries. 0..* Reference(Condition) The justification that the procedure was performed

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.status Base required EventStatus 📍4.0.1 FHIR Std.
Procedure.category Base example Procedure Category Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.focalDevice.​action Base preferred Procedure Device Action Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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

Mandatory: 4 elements(16 nested mandatory elements)
Fixed: 5 elements
Prohibited: 52 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Procedure.identifier
  • The element 1 is sliced based on the value of Procedure.code.coding

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Procedure 0..* Procedure An action that is being or was performed on a patient
Procedure.text 0..1 Narrative Generated by the service on read; not required on create
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Procedure.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Procedure.Slices for identifier This element is included in summaries. 0..* Identifier External Identifiers for this procedure
Slice: Unordered, Open by value:system
Procedure.Slices for identifier.identifier:Dips_Identifier This element is included in summaries. 0..1 Identifier External Identifiers for this procedure
Procedure.Slices for identifier.identifier:Dips_Identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-procedureid (no extensions allowed)
Procedure.Slices for identifier.identifier:Dips_Identifier.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Procedure.Slices for identifier.identifier:External_Identifier This element is included in summaries. 0..* Identifier External Identifiers for this procedure
Procedure.Slices for identifier.identifier:External_Identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Procedure.Slices for identifier.identifier:External_Identifier.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Procedure.status This element is a modifier element. This element is included in summaries. 1..1 code Supported codes by the application are 'preparation', 'in-progress','completed','unknown' , Here code will be set to the model depend on the Performed property Estimation
Binding: EventStatus (required): A code specifying the state of the procedure.
Procedure.category This element is included in summaries. 0..1 CodeableConcept DIPS service type, coded with the same OID system as Procedure.code
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.
Procedure.category.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Procedure.category.coding.system This element is included in summaries. 1..1 uri Identity of the terminology system
Procedure.category.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.code This element is included in summaries. 1..1 CodeableConcept Identification of the procedure
Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure .
Procedure.code.Slices for coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
Procedure.code.Slices for coding.coding:NCMP This element is included in summaries. 0..1 Coding NCMP - Medisinske prosedyrekoder (urn:oid:2.16.578.1.12.4.1.1.7220)
Procedure.code.Slices for coding.coding:NCMP.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7220 (no extensions allowed)
Procedure.code.Slices for coding.coding:NCMP.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NCSP This element is included in summaries. 0..1 Coding NCSP - kirurgiske prosedyrekoder (urn:oid:2.16.578.1.12.4.1.1.7210)
Procedure.code.Slices for coding.coding:NCSP.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7210 (no extensions allowed)
Procedure.code.Slices for coding.coding:NCSP.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NCRP This element is included in summaries. 0..1 Coding NCRP - radiologiske prosedyrekoder (urn:oid:2.16.578.1.12.4.1.1.7270)
Procedure.code.Slices for coding.coding:NCRP.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7270 (no extensions allowed)
Procedure.code.Slices for coding.coding:NCRP.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NorwegianSpecific This element is included in summaries. 0..1 Coding Norwegian-specific procedure codes (urn:oid:2.16.578.1.12.4.1.1.7020)
Procedure.code.Slices for coding.coding:NorwegianSpecific.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7020 (no extensions allowed)
Procedure.code.Slices for coding.coding:NorwegianSpecific.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.subject This element is included in summaries. 1..1 Reference(DIPS Procedure Subject Reference) Who the procedure was performed on
Procedure.encounter This element is included in summaries. 1..1 Reference(DIPS Procedure Encounter Reference) Encounter created as part of
Procedure.encounter.identifier This element is included in summaries. 1..1 Identifier Logical reference, when literal reference is not known
Procedure.performed[x] This element is included in summaries. 0..1 When the procedure was performed
Procedure.performed[x].performedDateTime dateTime
Procedure.performed[x].performedPeriod Period
Procedure.performer This element is included in summaries. 0..1 BackboneElement The people who performed the procedure
Procedure.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Procedure.performer.actor This element is included in summaries. 1..1 Reference(DIPS Procedure Performer Reference) The reference to the practitioner
Procedure.performer.actor.identifier This element is included in summaries. 1..1 Identifier Logical reference, when literal reference is not known
Procedure.reasonReference This element is included in summaries. 0..* Reference(Condition) The justification that the procedure was performed

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.status Base required EventStatus 📍4.0.1 FHIR Std.
Procedure.category Base example Procedure Category Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Procedure 0..* Procedure An action that is being or was performed on a patient
Procedure.implicitRules 0..0 A set of rules under which this content was created
Procedure.language 0..0 Language of the resource content
Procedure.text 0..1 Narrative Generated by the service on read; not required on create
Procedure.contained 0..0 Contained, inline Resources
Procedure.Slices for identifier 0..* Identifier External Identifiers for this procedure
Slice: Unordered, Open by value:system
Procedure.Slices for identifier.identifier:Dips_Identifier 0..1 Identifier External Identifiers for this procedure
Procedure.Slices for identifier.identifier:Dips_Identifier.id 0..0 Unique id for inter-element referencing
Procedure.Slices for identifier.identifier:Dips_Identifier.use 0..0 usual | official | temp | secondary | old (If known)
Procedure.Slices for identifier.identifier:Dips_Identifier.type 0..0 Description of identifier
Procedure.Slices for identifier.identifier:Dips_Identifier.system 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-procedureid (no extensions allowed)
Procedure.Slices for identifier.identifier:Dips_Identifier.value 1..1 string The value that is unique
Procedure.Slices for identifier.identifier:Dips_Identifier.period 0..0 Time period when id is/was valid for use
Procedure.Slices for identifier.identifier:Dips_Identifier.assigner 0..0 Organization that issued id (may be just text)
Procedure.Slices for identifier.identifier:External_Identifier 0..* Identifier External Identifiers for this procedure
Procedure.Slices for identifier.identifier:External_Identifier.id 0..0 Unique id for inter-element referencing
Procedure.Slices for identifier.identifier:External_Identifier.use 0..0 usual | official | temp | secondary | old (If known)
Procedure.Slices for identifier.identifier:External_Identifier.type 0..0 Description of identifier
Procedure.Slices for identifier.identifier:External_Identifier.system 1..1 uri The namespace for the identifier value
Procedure.Slices for identifier.identifier:External_Identifier.value 1..1 string The value that is unique
Procedure.Slices for identifier.identifier:External_Identifier.period 0..0 Time period when id is/was valid for use
Procedure.Slices for identifier.identifier:External_Identifier.assigner 0..0 Organization that issued id (may be just text)
Procedure.instantiatesCanonical 0..0 Instantiates FHIR protocol or definition
Procedure.instantiatesUri 0..0 Instantiates external protocol or definition
Procedure.basedOn 0..0 A request for this procedure
Procedure.partOf 0..0 Part of referenced event
Procedure.status 1..1 code Supported codes by the application are 'preparation', 'in-progress','completed','unknown' , Here code will be set to the model depend on the Performed property Estimation
Procedure.statusReason 0..0 Reason for current status
Procedure.category 0..1 CodeableConcept DIPS service type, coded with the same OID system as Procedure.code
Procedure.category.coding 1..1 Coding Code defined by a terminology system
Procedure.category.coding.system 1..1 uri Identity of the terminology system
Procedure.category.coding.code 1..1 code Symbol in syntax defined by the system
Procedure.code 1..1 CodeableConcept Identification of the procedure
Procedure.code.id 0..0 Unique id for inter-element referencing
Procedure.code.Slices for coding 1..1 Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
Procedure.code.Slices for coding.coding:NCMP 0..1 Coding NCMP - Medisinske prosedyrekoder (urn:oid:2.16.578.1.12.4.1.1.7220)
Procedure.code.Slices for coding.coding:NCMP.id 0..0 Unique id for inter-element referencing
Procedure.code.Slices for coding.coding:NCMP.system 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7220 (no extensions allowed)
Procedure.code.Slices for coding.coding:NCMP.version 0..0 Version of the system - if relevant
Procedure.code.Slices for coding.coding:NCMP.code 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NCMP.userSelected 0..0 If this coding was chosen directly by the user
Procedure.code.Slices for coding.coding:NCSP 0..1 Coding NCSP - kirurgiske prosedyrekoder (urn:oid:2.16.578.1.12.4.1.1.7210)
Procedure.code.Slices for coding.coding:NCSP.id 0..0 Unique id for inter-element referencing
Procedure.code.Slices for coding.coding:NCSP.system 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7210 (no extensions allowed)
Procedure.code.Slices for coding.coding:NCSP.version 0..0 Version of the system - if relevant
Procedure.code.Slices for coding.coding:NCSP.code 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NCSP.userSelected 0..0 If this coding was chosen directly by the user
Procedure.code.Slices for coding.coding:NCRP 0..1 Coding NCRP - radiologiske prosedyrekoder (urn:oid:2.16.578.1.12.4.1.1.7270)
Procedure.code.Slices for coding.coding:NCRP.id 0..0 Unique id for inter-element referencing
Procedure.code.Slices for coding.coding:NCRP.system 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7270 (no extensions allowed)
Procedure.code.Slices for coding.coding:NCRP.version 0..0 Version of the system - if relevant
Procedure.code.Slices for coding.coding:NCRP.code 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NCRP.userSelected 0..0 If this coding was chosen directly by the user
Procedure.code.Slices for coding.coding:NorwegianSpecific 0..1 Coding Norwegian-specific procedure codes (urn:oid:2.16.578.1.12.4.1.1.7020)
Procedure.code.Slices for coding.coding:NorwegianSpecific.id 0..0 Unique id for inter-element referencing
Procedure.code.Slices for coding.coding:NorwegianSpecific.system 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7020 (no extensions allowed)
Procedure.code.Slices for coding.coding:NorwegianSpecific.version 0..0 Version of the system - if relevant
Procedure.code.Slices for coding.coding:NorwegianSpecific.code 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NorwegianSpecific.userSelected 0..0 If this coding was chosen directly by the user
Procedure.subject 1..1 Reference(DIPS Procedure Subject Reference) Who the procedure was performed on
Procedure.encounter 1..1 Reference(DIPS Procedure Encounter Reference) Encounter created as part of
Procedure.encounter.id 0..0 Unique id for inter-element referencing
Procedure.encounter.type 0..0 Type the reference refers to (e.g. "Patient")
Procedure.encounter.identifier 1..1 Identifier Logical reference, when literal reference is not known
Procedure.performed[x] 0..1 When the procedure was performed
Procedure.performed[x].performedDateTime dateTime
Procedure.performed[x].performedPeriod Period
Procedure.recorder 0..0 Who recorded the procedure
Procedure.asserter 0..0 Person who asserts this procedure
Procedure.performer 0..1 BackboneElement The people who performed the procedure
Procedure.performer.id 0..0 Unique id for inter-element referencing
Procedure.performer.function 0..0 Type of performance
Procedure.performer.actor 1..1 Reference(DIPS Procedure Performer Reference) The reference to the practitioner
Procedure.performer.actor.id 0..0 Unique id for inter-element referencing
Procedure.performer.actor.type 0..0 Type the reference refers to (e.g. "Patient")
Procedure.performer.actor.identifier 1..1 Identifier Logical reference, when literal reference is not known
Procedure.performer.onBehalfOf 0..0 Organization the device or practitioner was acting for
Procedure.location 0..0 Where the procedure happened
Procedure.reasonCode 0..0 Coded reason procedure performed
Procedure.reasonReference 0..* Reference(Condition) The justification that the procedure was performed
Procedure.bodySite 0..0 Target body sites
Procedure.outcome 0..0 The result of procedure
Procedure.report 0..0 Any report resulting from the procedure
Procedure.complication 0..0 Complication following the procedure
Procedure.complicationDetail 0..0 A condition that is a result of the procedure
Procedure.followUp 0..0 Instructions for follow up
Procedure.note 0..0 Additional information about the procedure
Procedure.focalDevice 0..0 Manipulated, implanted, or removed device
Procedure.usedReference 0..0 Items used during procedure
Procedure.usedCode 0..0 Coded items used during the procedure

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Procedure 0..* Procedure An action that is being or was performed on a patient
Procedure.id This element is included in summaries. 0..1 id Logical id of this artifact
Procedure.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Procedure.text 0..1 Narrative Generated by the service on read; not required on create
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Procedure.extension 0..* Extension Additional content defined by implementations
Procedure.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Procedure.Slices for identifier This element is included in summaries. 0..* Identifier External Identifiers for this procedure
Slice: Unordered, Open by value:system
Procedure.Slices for identifier.identifier:Dips_Identifier This element is included in summaries. 0..1 Identifier External Identifiers for this procedure
Procedure.Slices for identifier.identifier:Dips_Identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.Slices for identifier.identifier:Dips_Identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-procedureid (no extensions allowed)
Procedure.Slices for identifier.identifier:Dips_Identifier.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Procedure.Slices for identifier.identifier:External_Identifier This element is included in summaries. 0..* Identifier External Identifiers for this procedure
Procedure.Slices for identifier.identifier:External_Identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.Slices for identifier.identifier:External_Identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Procedure.Slices for identifier.identifier:External_Identifier.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Procedure.status This element is a modifier element. This element is included in summaries. 1..1 code Supported codes by the application are 'preparation', 'in-progress','completed','unknown' , Here code will be set to the model depend on the Performed property Estimation
Binding: EventStatus (required): A code specifying the state of the procedure.
Procedure.category This element is included in summaries. 0..1 CodeableConcept DIPS service type, coded with the same OID system as Procedure.code
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.
Procedure.category.id 0..1 string Unique id for inter-element referencing
Procedure.category.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.category.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Procedure.category.coding.id 0..1 string Unique id for inter-element referencing
Procedure.category.coding.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.category.coding.system This element is included in summaries. 1..1 uri Identity of the terminology system
Procedure.category.coding.version This element is included in summaries. 0..1 string Version of the system - if relevant
Procedure.category.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.category.coding.display This element is included in summaries. 0..1 string Representation defined by the system
Procedure.category.coding.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Procedure.category.text This element is included in summaries. 0..1 string Plain text representation of the concept
Procedure.code This element is included in summaries. 1..1 CodeableConcept Identification of the procedure
Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure .
Procedure.code.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.code.Slices for coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
Procedure.code.Slices for coding.coding:NCMP This element is included in summaries. 0..1 Coding NCMP - Medisinske prosedyrekoder (urn:oid:2.16.578.1.12.4.1.1.7220)
Procedure.code.Slices for coding.coding:NCMP.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.code.Slices for coding.coding:NCMP.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7220 (no extensions allowed)
Procedure.code.Slices for coding.coding:NCMP.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NCMP.display This element is included in summaries. 0..1 string Representation defined by the system
Procedure.code.Slices for coding.coding:NCSP This element is included in summaries. 0..1 Coding NCSP - kirurgiske prosedyrekoder (urn:oid:2.16.578.1.12.4.1.1.7210)
Procedure.code.Slices for coding.coding:NCSP.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.code.Slices for coding.coding:NCSP.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7210 (no extensions allowed)
Procedure.code.Slices for coding.coding:NCSP.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NCSP.display This element is included in summaries. 0..1 string Representation defined by the system
Procedure.code.Slices for coding.coding:NCRP This element is included in summaries. 0..1 Coding NCRP - radiologiske prosedyrekoder (urn:oid:2.16.578.1.12.4.1.1.7270)
Procedure.code.Slices for coding.coding:NCRP.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.code.Slices for coding.coding:NCRP.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7270 (no extensions allowed)
Procedure.code.Slices for coding.coding:NCRP.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NCRP.display This element is included in summaries. 0..1 string Representation defined by the system
Procedure.code.Slices for coding.coding:NorwegianSpecific This element is included in summaries. 0..1 Coding Norwegian-specific procedure codes (urn:oid:2.16.578.1.12.4.1.1.7020)
Procedure.code.Slices for coding.coding:NorwegianSpecific.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.code.Slices for coding.coding:NorwegianSpecific.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:2.16.578.1.12.4.1.1.7020 (no extensions allowed)
Procedure.code.Slices for coding.coding:NorwegianSpecific.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Procedure.code.Slices for coding.coding:NorwegianSpecific.display This element is included in summaries. 0..1 string Representation defined by the system
Procedure.code.text This element is included in summaries. 0..1 string Plain text representation of the concept
Procedure.subject This element is included in summaries. 1..1 Reference(DIPS Procedure Subject Reference) Who the procedure was performed on
Procedure.encounter This element is included in summaries. 1..1 Reference(DIPS Procedure Encounter Reference) Encounter created as part of
Procedure.encounter.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.encounter.reference This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
Procedure.encounter.identifier This element is included in summaries. 1..1 Identifier Logical reference, when literal reference is not known
Procedure.encounter.display This element is included in summaries. 0..1 string Text alternative for the resource
Procedure.performed[x] This element is included in summaries. 0..1 When the procedure was performed
Procedure.performed[x].performedDateTime dateTime
Procedure.performed[x].performedPeriod Period
Procedure.performer This element is included in summaries. 0..1 BackboneElement The people who performed the procedure
Procedure.performer.extension 0..* Extension Additional content defined by implementations
Procedure.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Procedure.performer.actor This element is included in summaries. 1..1 Reference(DIPS Procedure Performer Reference) The reference to the practitioner
Procedure.performer.actor.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.performer.actor.reference This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
Procedure.performer.actor.identifier This element is included in summaries. 1..1 Identifier Logical reference, when literal reference is not known
Procedure.performer.actor.display This element is included in summaries. 0..1 string Text alternative for the resource
Procedure.reasonReference This element is included in summaries. 0..* Reference(Condition) The justification that the procedure was performed

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.status Base required EventStatus 📍4.0.1 FHIR Std.
Procedure.category Base example Procedure Category Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.focalDevice.​action Base preferred Procedure Device Action Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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

Mandatory: 4 elements(16 nested mandatory elements)
Fixed: 5 elements
Prohibited: 52 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Procedure.identifier
  • The element 1 is sliced based on the value of Procedure.code.coding

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Read Operation:

  1. SHALL support reading Procedure using its resource id:

    GET [base]/Procedure/[id]

    Example:

    1. GET [base]/Procedure/agv1001423

    Implementation Notes: Fetches the procedure that matches the given resource reference id. DIPS procedure ids carry the agv prefix; a value without it is rejected with a 400 error.

Search Parameters:

At least one of the search parameters below must be supplied. A search with none of them is rejected with a 400 error naming the accepted set.

The following search parameters SHALL be supported:

  1. SHALL support searching Procedure using the _id search parameter:

    GET [base]/Procedure?_id=[id]

    Example:

    1. GET [base]/Procedure?_id=agv1001423

    Implementation Notes: Fetches a bundle of Procedure resources matching the given logical id. The agv prefix is required.

  2. SHALL support searching Procedure using the identifier search parameter:

    GET [base]/Procedure?identifier=[system]|[value]

    Example:

    1. GET [base]/Procedure?identifier=http://dips.no/fhir/namingsystem/dips-procedureid 1001423

    Implementation Notes: Fetches a bundle of procedures matching the system-qualified identifier ([how to search by token]). The DIPS procedure id system is http://dips.no/fhir/namingsystem/dips-procedureid. Any other system is matched against the external identifiers a procedure was created with.

  3. SHALL support searching Procedure using the patient search parameter:

    GET [base]/Procedure?patient=[id]

    Example:

    1. GET [base]/Procedure?patient=cdp2009672

    Implementation Notes: Fetches a bundle of all procedures for the patient referenced by the given logical id ([how to search by reference]).

  4. SHALL support searching Procedure using the patient.identifier search parameter, where the value is the patient identifier qualified with its system:

    GET [base]/Procedure?patient.identifier=[system]|[value]

    Example:

    1. GET [base]/Procedure?patient.identifier=urn:oid:2.16.578.1.12.4.1.4.1 15076500565

    Implementation Notes: Fetches a bundle of all procedures for the patient with the given system-qualified identifier ([how to search by token]). Accepted systems are the DIPS patient id (http://dips.no/fhir/namingsystem/dips-patientid), the DIPS NPR id (http://dips.no/fhir/namingsystem/dips-nprid), the national identity number (urn:oid:2.16.578.1.12.4.1.4.1), the D-number (urn:oid:2.16.578.1.12.4.1.4.2) and the temporary identity number, "Hjelpenummer" (urn:oid:2.16.578.1.12.4.1.4.3). A bare value with no system is accepted and treated as a national identity number. Note the parameter is declared as patient.Identifier in the CapabilityStatement, but the lookup is case-insensitive, so either spelling works.

  5. SHALL support searching Procedure using the encounter search parameter:

    GET [base]/Procedure?encounter=[id]

    Example:

    1. GET [base]/Procedure?encounter=agy1002907

    Implementation Notes: Fetches a bundle of all procedures recorded on the given episode of care ("Omsorgsepisode"). The value must match agy followed by digits; anything else is rejected with a message naming the required agy prefix.

  6. SHALL support searching Procedure using the encounter.identifier search parameter:

    GET [base]/Procedure?encounter.identifier=[system]|[value]

    Example:

    1. GET [base]/Procedure?encounter.identifier=http://dips.no/fhir/namingsystem/dips-omsorgsepisodeid 1002907

    Implementation Notes: Fetches a bundle of all procedures on the given episode of care ([how to search by token]). The only accepted system is http://dips.no/fhir/namingsystem/dips-omsorgsepisodeid; any other system is rejected with a 400 error.

  7. SHALL support searching Procedure using the performer:Practitioner search parameter:

    GET [base]/Procedure?performer:Practitioner=[id]

    Example:

    1. GET [base]/Procedure?performer:Practitioner=1000203

    Implementation Notes: Fetches a bundle of all procedures performed by the practitioner referenced by the given logical id ([how to search by reference]).

  8. SHALL support searching Procedure using the performer:Practitioner.identifier search parameter:

    GET [base]/Procedure?performer:Practitioner.identifier=[system]|[value]

    Example:

    1. GET [base]/Procedure?performer:Practitioner.identifier=urn:oid:1.3.6.1.4.1.9038.51 LEG

    Implementation Notes: Fetches a bundle of all procedures performed by the practitioner with the given system-qualified identifier ([how to search by token]). Accepted systems are the DIPS practitioner code (urn:oid:1.3.6.1.4.1.9038.51) and the HPR number (urn:oid:2.16.578.1.12.4.1.4.4). The system is mandatory for this parameter - a bare value is rejected with a 400 error stating that the code system must be specified.

  9. SHALL support searching Procedure using the code search parameter:

    GET [base]/Procedure?code=[system]|[value]

    Example:

    1. GET [base]/Procedure?code=urn:oid:2.16.578.1.12.4.1.1.7220 WURX30

    Implementation Notes: Fetches a bundle of all procedures carrying the given procedure code ([how to search by token]). Accepted systems are NCMP (urn:oid:2.16.578.1.12.4.1.1.7220), NCSP (urn:oid:2.16.578.1.12.4.1.1.7210), NCRP (urn:oid:2.16.578.1.12.4.1.1.7270) and the Norwegian-specific procedure codes (urn:oid:2.16.578.1.12.4.1.1.7020). Additional code systems may be configured per deployment. An unsupported system is rejected with a 422 error. Despite being declared as type reference in the CapabilityStatement, this parameter is parsed as a token.

  10. SHALL support searching Procedure using the date search parameter:

    GET [base]/Procedure?date=[prefix][date]

    Example:

    1. GET [base]/Procedure?date=ge2021-09-11&date=le2021-09-12

    Implementation Notes: Fetches a bundle of all procedures whose performedPeriod falls in the given interval ([how to search by date]). The supplied prefixes are resolved into a single inclusive interval, so the lower and upper bounds are both treated as inclusive regardless of which prefix produced them. If the resulting start is later than the end, the request is rejected with a 400 error stating that the end date must be after the start date. Despite being declared as type reference in the CapabilityStatement, this parameter is parsed as a date.

Create Operation:

  1. SHALL support registering a Procedure on a patient:

    POST [base]/Procedure

    Implementation Notes: The body is a Procedure conforming to this profile. subject, encounter and code carry the values the service maps into DIPS; see the element definitions above for the identifier systems expected on each reference.

Delete Operation:

  1. SHALL support deleting a Procedure by resource id:

    DELETE [base]/Procedure/[id]

    Example:

    1. DELETE [base]/Procedure/agv1001423
  2. SHALL support conditionally deleting a single Procedure by search criteria:

    DELETE [base]/Procedure?[parameters]

    Example:

    1. DELETE [base]/Procedure?subject=cdp2009672&encounter=ahi1000337

    Implementation Notes: The CapabilityStatement declares conditionalDelete as single. Note that the conditional-delete path reads subject rather than the patient parameter used by search, and that its encounter value is a planned-contact id carrying the ahi prefix rather than the agy episode-of-care id used by search.