MII Implementation Guide Core Dataset Base
2026.0.1 - Release Germany

MII Implementation Guide Core Dataset Base - Downloaded Version 2026.0.1 See the Directory of published versions

Resource Profile: MII PR Prozedur Procedure

Official URL: https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Procedure Version: 2026.0.1
Active as of 2026-06-09 Computable Name: MII_PR_Prozedur_Procedure

A procedure that is or was performed on or for a patient.

Example Usage Scenarios:

  • Document procedures performed on patients using OPS (Operationen- und Prozedurenschlüssel) coding for billing and administrative purposes
  • Record surgical interventions, diagnostic procedures, and therapeutic treatments in clinical care
  • Support quality management and clinical research through standardized procedure documentation
  • Enable procedure-based analyses and outcome research across healthcare facilities
  • Represent procedures using SNOMED CT for semantic interoperability alongside OPS coding
  • Link procedures to specific encounters for temporal and contextual documentation

Profile Specific Implementation Guidance

This section provides detailed implementation guidance for the MII Procedure (Prozedur) Profile.

Coding Requirements

Mandatory Coding:

  • Procedure.code: Mandatory coding using either OPS or SNOMED CT
  • At least one coded procedure MUST be present
  • Additional codings from other terminologies are OPTIONAL

OPS Coding:

  • Procedure.code:ops: OPS (Operationen- und Prozedurenschlüssel) is the primary coding system for procedures in Germany
  • See OPS Coding - German Base Profiles for detailed OPS coding requirements
  • OPS codes include:
    • Procedure.code:ops.coding.code: Complete procedure code
    • Procedure.code:ops.coding.system: Code system (http://fhir.de/CodeSystem/bfarm/ops)
    • Procedure.code:ops.coding.version: OPS version year
    • Procedure.code:ops.extension:seitenlokalisation: Laterality extension

SNOMED CT Coding:

  • Procedure.code:sct: SNOMED CT coding
  • Can be used as primary coding or alongside OPS

Category Classification

Best Practice - SNOMED CT Categorization

Mandatory Categorization: Procedure.category SNOMED CT categorization based on the procedure code.

OPS Class Title Mapping: When the procedure is coded using OPS, the category SHOULD be derived by mapping OPS chapter/class titles to SNOMED CT concepts. See the Terminologies section in this IG for OPS-to-SNOMED CT category mappings.

Constraint proc-mii-1: This requirement is only relevant when the procedure is coded using OPS.

Purpose: Category classification enables:

  • High-level procedure grouping for epidemiological analyses
  • Filtering and browsing procedures by broad clinical categories
  • Semantic consistency across differently coded procedures

Temporal Information

Procedure.performed[x]:

  • Documents when the procedure was performed
  • MAY be specified as performedDateTime (single point in time) or performedPeriod (start and end times)
  • Use performedPeriod when both start and end times are known (e.g., surgical procedures with documented start/end)
  • Use performedDateTime for point-in-time procedures or when only a single timestamp is available

Procedure.extension:Dokumentationsdatum:

  • MII-specific extension for documentation date
  • Represents when the procedure was documented/recorded in the system
  • Distinct from performed[x] which represents when the procedure actually occurred
  • Useful for auditing and temporal ordering of documentation

Body Site Documentation

Best Practice - Body Site vs. Laterality

Body Site Purpose: Procedure.bodySite provides detailed anatomical location coding for the procedure using SNOMED CT.

NOT for Laterality: Procedure.bodySite SHOULD NOT be used to represent laterality (left/right/bilateral). Laterality is a property of the procedure code itself.

Laterality Representation:

  • For OPS codes: Use Procedure.code:ops.extension:seitenlokalisation
  • For SNOMED CT: Laterality is inherent in the procedure concept (e.g., "Appendectomy of right appendix")

When to Use bodySite:

  • To provide additional anatomical detail beyond what the code specifies
  • To specify precise anatomical structures using SNOMED CT anatomy concepts

Procedure Intent

Procedure.extension:Durchfuehrungsabsicht:

  • MII-specific extension for procedure intent/purpose
  • Uses SNOMED CT codes to classify the clinical intent:
    • Therapeutic procedures
    • Diagnostic procedures
    • Prophylactic procedures
    • Palliative procedures
    • etc.
  • Provides clinical context for the procedure beyond the procedural code itself

Encounter Context

Best Practice - Procedure-Encounter Relationships

Recommended Implementation:

Use Procedure.encounter to reference from the Procedure to the Encounter of type Abteilungskontakt (Department Contact). This approach establishes the general encounter context for the procedure, providing temporal and organizational context.

Status and Workflow

Procedure.status:

  • No restrictions on status values (preparation, in-progress, on-hold, stopped, completed, entered-in-error, unknown)
  • Most procedures in retrospective documentation will have status='completed'

Patient Reference

Procedure.subject:

  • Reference to Patient MUST always be provided
  • Procedures are inherently patient-specific and cannot exist without this reference

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* Procedure An action that is being or was performed on a patient
Constraints: proc-mii-1
... id SΣ 0..1 id Logical id of this artifact
... meta SΣ 0..1 Meta Metadata about the resource
.... source SΣ 0..1 uri Identifies where the resource comes from
.... profile SΣ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
.... extension:Dokumentationsdatum S 0..1 (Complex) Dokumentationsdatum
URL: http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum
Constraints: ext-1
..... extension 0..0 Additional content defined by implementations
Slice: Unordered, Open by value:url
..... url S 1..1 uri "http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum"
..... value[x] S 1..1 dateTime Value of extension
.... extension:durchfuehrungsabsicht S 0..1 (Complex) Durchführungsabsicht
URL: https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Durchfuehrungsabsicht
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url S 1..1 uri "https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Durchfuehrungsabsicht"
..... value[x] S 1..1 Coding Value of extension
Binding: MII VS Prozedur Durchführungsabsicht [SNOMED CT] (required)
...... system SΣ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code SΣ 1..1 code Symbol in syntax defined by the system
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 1..1 code Status
Binding: EventStatus (required): A code specifying the state of the procedure.
... category SΣ 0..1 CodeableConcept Kategorie
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.
.... Slices for coding SΣ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:sct SΣ 0..1 Coding SNOMED CT Code
Binding: MII VS Prozedur OPS Kategorien [SNOMED CT] (preferred)

Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... version 0..1 string Version of the system - if relevant
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
...... system SΣ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code SΣ 1..1 code Symbol in syntax defined by the system
... code SΣC 1..1 CodeableConcept Code
Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure .
Constraints: sct-ops-1
.... Slices for coding SΣ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:ops SΣ 0..1 CodingOPS Operationen- und Prozedurenschlüssel (OPS) Code
Binding: MII VS Prozedur OPS (required)

Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
...... Slices for extension Content/Rules for all slices
....... extension:Seitenlokalisation S 0..1 (Complex) Optional Extensions Element
URL: http://fhir.de/StructureDefinition/seitenlokalisation
........ extension 0..0 Additional content defined by implementations
Slice: Unordered, Open by value:url
........ url S 1..1 uri "http://fhir.de/StructureDefinition/seitenlokalisation"
........ value[x] S 1..1 Coding Value of extension
Binding: KBV_VS_SFHIR_ICD_SEITENLOKALISATION . (required)
......... system SΣ 1..1 uri Identity of the terminology system
......... code SΣ 1..1 code Symbol in syntax defined by the system
...... system SΣ 1..1 uri Canonische CodeSystem URL für OPS
Fixed Value: http://fhir.de/CodeSystem/bfarm/ops
...... version SΣ 1..1 string Die Jahresversion des OPS Kataloges. Angegeben wird immer die vierstellige Jahreszahl (z.B. "2017")
...... code SΣC 1..1 code Der OPS-Code
Constraints: ops-regex
Example Einfacher OPS-Code: 5-470
..... coding:sct SΣ 0..1 Coding SNOMED CT Code
Binding: MII VS Prozedur Prozeduren [SNOMED CT] (required)

Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... version 0..1 string Version of the system - if relevant
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
...... system SΣ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code SΣ 1..1 code Symbol in syntax defined by the system
... subject SΣ 1..1 Reference(Patient | Group) Who the procedure was performed on
.... reference SΣC 0..1 string Literal reference, Relative, internal or absolute URL
... encounter SΣ 0..1 Reference(Encounter) Kontakt (Aufenthaltsbezug)
.... reference SΣC 0..1 string Literal reference, Relative, internal or absolute URL
... Slices for performed[x] SΣ 1..1 Durchführungsdatum
Slice: Unordered, Closed by type:$this
.... performedDateTime dateTime
.... performedPeriod Period
.... performed[x]:performedDateTime SΣ 0..1 dateTime When the procedure was performed
.... performed[x]:performedPeriod SΣ 0..1 Period Durchführungszeitraum
... bodySite SΣ 0..* CodeableConcept Körperstelle
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
.... Slices for coding SΣ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:system
..... coding:snomed-ct SΣ 0..1 Coding SNOMED CT Code
...... system SΣ 1..1 uri Identity of the terminology system
Required Pattern: http://snomed.info/sct
...... version SΣ 0..1 string Version of the system - if relevant
...... code SΣ 1..1 code Symbol in syntax defined by the system
... note S 0..* Annotation Hinweis

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.extension:durchfuehrungsabsicht.​value[x] Base required MII VS Prozedur Durchführungsabsicht [SNOMED CT] 📦2026.0.1 This IG
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.category.coding:sct Base preferred MII VS Prozedur OPS Kategorien [SNOMED CT] 📦2026.0.1 This IG
Procedure.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.code.coding:ops Base required MII VS Prozedur OPS 📦2026.0.1 This IG
Procedure.code.coding:ops.​extension:Seitenlokalisation.​value[x] Base required KBV_VS_SFHIR_ICD_SEITENLOKALISATION . ⏿1.00 127.0.0.1
Procedure.code.coding:sct Base required MII VS Prozedur Prozeduren [SNOMED CT] 📦2026.0.1 This IG
Procedure.bodySite Base example SNOMED CT Body Structures 📍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()
ops-regex warning Procedure.code.coding:ops.code In code sind nur gültige OPS-Codes ohne Zusätze erlaubt matches('^[1|3|5|6|8|9]-[a-zA-Z0-9]{3}([.][a-zA-Z0-9]{1,2})?$')
proc-mii-1 error Procedure Falls die Prozedur per OPS kodiert wird, MUSS eine SNOMED-CT kodierte Category abgebildet werden code.coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists() implies category.coding.where(system = 'http://snomed.info/sct').exists()
sct-ops-1 error Procedure.code Eine Prozedur MUSS mit OPS oder SNOMED-CT kodiert werden. coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* Procedure An action that is being or was performed on a patient
Constraints: proc-mii-1
... id S 0..1 id Logical id of this artifact
... meta S 0..1 Meta Metadata about the resource
.... source S 0..1 uri Identifies where the resource comes from
.... profile S 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
... Slices for extension S 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:Dokumentationsdatum S 0..1 (Complex) Dokumentationsdatum
URL: http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum
..... url S 1..1 uri identifies the meaning of the extension
..... value[x] S 1..1 dateTime Value of extension
.... extension:durchfuehrungsabsicht S 0..1 (Complex) Durchführungsabsicht
URL: https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Durchfuehrungsabsicht
..... url S 1..1 uri identifies the meaning of the extension
..... value[x] S 1..1 Coding Value of extension
...... system S 1..1 uri Identity of the terminology system
...... code S 1..1 code Symbol in syntax defined by the system
... category S 0..1 CodeableConcept Kategorie
.... Slices for coding S 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:sct S 0..1 Coding SNOMED CT Code
Binding: MII VS Prozedur OPS Kategorien [SNOMED CT] (preferred)
Required Pattern: At least the following
...... system S 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code S 1..1 code Symbol in syntax defined by the system
... code SC 1..1 CodeableConcept Code
Constraints: sct-ops-1
.... Slices for coding S 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:ops S 0..1 CodingOPS Operationen- und Prozedurenschlüssel (OPS) Code
Binding: MII VS Prozedur OPS (required)
Required Pattern: At least the following
...... Slices for extension Content/Rules for all slices
....... extension:Seitenlokalisation S 0..1 ExtensionSeitenlokalisation Optional Extensions Element
........ url S 1..1 uri identifies the meaning of the extension
........ value[x] S 1..1 Coding Value of extension
......... system S 1..1 uri Identity of the terminology system
......... code S 1..1 code Symbol in syntax defined by the system
...... system S 1..1 uri Canonische CodeSystem URL für OPS
Fixed Value: http://fhir.de/CodeSystem/bfarm/ops
...... version S 1..1 string Die Jahresversion des OPS Kataloges. Angegeben wird immer die vierstellige Jahreszahl (z.B. "2017")
...... code S 1..1 code Der OPS-Code
..... coding:sct S 0..1 Coding SNOMED CT Code
Binding: MII VS Prozedur Prozeduren [SNOMED CT] (required)
Required Pattern: At least the following
...... system S 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code S 1..1 code Symbol in syntax defined by the system
... subject S 1..1 Reference(Patient | Group) Who the procedure was performed on
.... reference S 0..1 string Literal reference, Relative, internal or absolute URL
... encounter S 0..1 Reference(Encounter) Kontakt (Aufenthaltsbezug)
.... reference S 0..1 string Literal reference, Relative, internal or absolute URL
... Slices for performed[x] S 1..1 Durchführungsdatum
Slice: Unordered, Open by type:$this
.... performedDateTime dateTime
.... performedPeriod Period
.... performed[x]:performedDateTime S 0..1 dateTime When the procedure was performed
.... performed[x]:performedPeriod S 0..1 Period Durchführungszeitraum
... bodySite S 0..* CodeableConcept Körperstelle
.... Slices for coding S 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:system
..... coding:snomed-ct S 0..1 Coding SNOMED CT Code
...... system S 1..1 uri Identity of the terminology system
Required Pattern: http://snomed.info/sct
...... version S 0..1 string Version of the system - if relevant
...... code S 1..1 code Symbol in syntax defined by the system
... note S 0..* Annotation Hinweis

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Procedure.category.coding:sct Base preferred MII VS Prozedur OPS Kategorien [SNOMED CT] 📦2026.0.1 This IG
Procedure.code.coding:ops Base required MII VS Prozedur OPS 📦2026.0.1 This IG
Procedure.code.coding:sct Base required MII VS Prozedur Prozeduren [SNOMED CT] 📦2026.0.1 This IG

Constraints

Id Grade Path(s) Description Expression
proc-mii-1 error Procedure Falls die Prozedur per OPS kodiert wird, MUSS eine SNOMED-CT kodierte Category abgebildet werden code.coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists() implies category.coding.where(system = 'http://snomed.info/sct').exists()
sct-ops-1 error Procedure.code Eine Prozedur MUSS mit OPS oder SNOMED-CT kodiert werden. coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* Procedure An action that is being or was performed on a patient
Constraints: proc-mii-1
... id SΣ 0..1 id Logical id of this artifact
... meta SΣ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source SΣ 0..1 uri Identifies where the resource comes from
.... profile SΣ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension S 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:Dokumentationsdatum S 0..1 (Complex) Dokumentationsdatum
URL: http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum
Constraints: ext-1
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Additional content defined by implementations
Slice: Unordered, Open by value:url
..... url S 1..1 uri "http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum"
..... value[x] S 1..1 dateTime Value of extension
.... extension:durchfuehrungsabsicht S 0..1 (Complex) Durchführungsabsicht
URL: https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Durchfuehrungsabsicht
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url S 1..1 uri "https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Durchfuehrungsabsicht"
..... value[x] S 1..1 Coding Value of extension
Binding: MII VS Prozedur Durchführungsabsicht [SNOMED CT] (required)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system SΣ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... version Σ 0..1 string Version of the system - if relevant
...... code SΣ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
... 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(Procedure | Observation | MedicationAdministration) Part of referenced event
... status ?!SΣ 1..1 code Status
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 SΣ 0..1 CodeableConcept Kategorie
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding SΣ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:sct SΣ 0..1 Coding SNOMED CT Code
Binding: MII VS Prozedur OPS Kategorien [SNOMED CT] (preferred)

Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system SΣ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... version Σ 0..1 string Version of the system - if relevant
...... code SΣ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... code SΣC 1..1 CodeableConcept Code
Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure .
Constraints: sct-ops-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding SΣ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:ops SΣ 0..1 CodingOPS Operationen- und Prozedurenschlüssel (OPS) Code
Binding: MII VS Prozedur OPS (required)

Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... Slices for extension Content/Rules for all slices
....... extension:Seitenlokalisation S 0..1 (Complex) Optional Extensions Element
URL: http://fhir.de/StructureDefinition/seitenlokalisation
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..0 Additional content defined by implementations
Slice: Unordered, Open by value:url
........ url S 1..1 uri "http://fhir.de/StructureDefinition/seitenlokalisation"
........ value[x] S 1..1 Coding Value of extension
Binding: KBV_VS_SFHIR_ICD_SEITENLOKALISATION . (required)
......... id 0..1 string Unique id for inter-element referencing
......... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
......... system SΣ 1..1 uri Identity of the terminology system
......... version Σ 0..1 string Version of the system - if relevant
......... code SΣ 1..1 code Symbol in syntax defined by the system
......... display Σ 0..1 string Representation defined by the system
......... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
...... system SΣ 1..1 uri Canonische CodeSystem URL für OPS
Fixed Value: http://fhir.de/CodeSystem/bfarm/ops
...... version SΣ 1..1 string Die Jahresversion des OPS Kataloges. Angegeben wird immer die vierstellige Jahreszahl (z.B. "2017")
...... code SΣC 1..1 code Der OPS-Code
Constraints: ops-regex
Example Einfacher OPS-Code: 5-470
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... coding:sct SΣ 0..1 Coding SNOMED CT Code
Binding: MII VS Prozedur Prozeduren [SNOMED CT] (required)

Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system SΣ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... version Σ 0..1 string Version of the system - if relevant
...... code SΣ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(Patient | Group) Who the procedure was performed on
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... encounter SΣ 0..1 Reference(Encounter) Kontakt (Aufenthaltsbezug)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... Slices for performed[x] SΣ 1..1 Durchführungsdatum
Slice: Unordered, Closed by type:$this
.... performedDateTime dateTime
.... performedPeriod Period
.... performed[x]:performedDateTime SΣ 0..1 dateTime When the procedure was performed
.... performed[x]:performedPeriod SΣ 0..1 Period Durchführungszeitraum
... recorder Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who recorded the procedure
... asserter Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) 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(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) The reference to the practitioner
.... onBehalfOf 0..1 Reference(Organization) Organization the device or practitioner was acting for
... location Σ 0..1 Reference(Location) 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(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) The justification that the procedure was performed
... bodySite SΣ 0..* CodeableConcept Körperstelle
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding SΣ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:system
..... coding:snomed-ct SΣ 0..1 Coding SNOMED CT Code
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system SΣ 1..1 uri Identity of the terminology system
Required Pattern: http://snomed.info/sct
...... version SΣ 0..1 string Version of the system - if relevant
...... code SΣ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... outcome Σ 0..1 CodeableConcept The result of procedure
Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise.
... 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(Condition) 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 S 0..* Annotation Hinweis
... 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 | Medication | Substance) Items used during procedure
... usedCode 0..* CodeableConcept Coded items used during the procedure
Binding: FHIRDeviceTypes (example): Codes describing items used during a procedure.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Procedure.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Procedure.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Procedure.extension:durchfuehrungsabsicht.​value[x] Base required MII VS Prozedur Durchführungsabsicht [SNOMED CT] 📦2026.0.1 This IG
Procedure.status Base required EventStatus 📍4.0.1 FHIR Std.
Procedure.statusReason Base example Procedure Not Performed Reason (SNOMED-CT) 📍4.0.1 FHIR Std.
Procedure.category Base example Procedure Category Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.category.coding:sct Base preferred MII VS Prozedur OPS Kategorien [SNOMED CT] 📦2026.0.1 This IG
Procedure.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.code.coding:ops Base required MII VS Prozedur OPS 📦2026.0.1 This IG
Procedure.code.coding:ops.​extension:Seitenlokalisation.​value[x] Base required KBV_VS_SFHIR_ICD_SEITENLOKALISATION . ⏿1.00 127.0.0.1
Procedure.code.coding:sct Base required MII VS Prozedur Prozeduren [SNOMED CT] 📦2026.0.1 This IG
Procedure.subject.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Procedure.encounter.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Procedure.performer.​function Base example Procedure Performer Role Codes 📍4.0.1 FHIR Std.
Procedure.reasonCode Base example Procedure Reason Codes 📍4.0.1 FHIR Std.
Procedure.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Procedure.outcome Base example Procedure Outcome Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.complication Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.
Procedure.followUp Base example Procedure Follow up Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.focalDevice.​action Base preferred Procedure Device Action Codes 📍4.0.1 FHIR Std.
Procedure.usedCode Base example FHIR Device Types 📍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()
ops-regex warning Procedure.code.coding:ops.code In code sind nur gültige OPS-Codes ohne Zusätze erlaubt matches('^[1|3|5|6|8|9]-[a-zA-Z0-9]{3}([.][a-zA-Z0-9]{1,2})?$')
proc-mii-1 error Procedure Falls die Prozedur per OPS kodiert wird, MUSS eine SNOMED-CT kodierte Category abgebildet werden code.coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists() implies category.coding.where(system = 'http://snomed.info/sct').exists()
sct-ops-1 error Procedure.code Eine Prozedur MUSS mit OPS oder SNOMED-CT kodiert werden. coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists()

Summary

Mandatory: 3 elements(6 nested mandatory elements)
Must-Support: 47 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Procedure.category.coding
  • The element 1 is sliced based on the value of Procedure.code.coding
  • The element 1 is sliced based on the value of Procedure.performed[x]
  • The element 1 is sliced based on the value of Procedure.bodySite.coding

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* Procedure An action that is being or was performed on a patient
Constraints: proc-mii-1
... id SΣ 0..1 id Logical id of this artifact
... meta SΣ 0..1 Meta Metadata about the resource
.... source SΣ 0..1 uri Identifies where the resource comes from
.... profile SΣ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
.... extension:Dokumentationsdatum S 0..1 (Complex) Dokumentationsdatum
URL: http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum
Constraints: ext-1
..... extension 0..0 Additional content defined by implementations
Slice: Unordered, Open by value:url
..... url S 1..1 uri "http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum"
..... value[x] S 1..1 dateTime Value of extension
.... extension:durchfuehrungsabsicht S 0..1 (Complex) Durchführungsabsicht
URL: https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Durchfuehrungsabsicht
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url S 1..1 uri "https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Durchfuehrungsabsicht"
..... value[x] S 1..1 Coding Value of extension
Binding: MII VS Prozedur Durchführungsabsicht [SNOMED CT] (required)
...... system SΣ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code SΣ 1..1 code Symbol in syntax defined by the system
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 1..1 code Status
Binding: EventStatus (required): A code specifying the state of the procedure.
... category SΣ 0..1 CodeableConcept Kategorie
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.
.... Slices for coding SΣ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:sct SΣ 0..1 Coding SNOMED CT Code
Binding: MII VS Prozedur OPS Kategorien [SNOMED CT] (preferred)

Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... version 0..1 string Version of the system - if relevant
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
...... system SΣ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code SΣ 1..1 code Symbol in syntax defined by the system
... code SΣC 1..1 CodeableConcept Code
Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure .
Constraints: sct-ops-1
.... Slices for coding SΣ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:ops SΣ 0..1 CodingOPS Operationen- und Prozedurenschlüssel (OPS) Code
Binding: MII VS Prozedur OPS (required)

Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
...... Slices for extension Content/Rules for all slices
....... extension:Seitenlokalisation S 0..1 (Complex) Optional Extensions Element
URL: http://fhir.de/StructureDefinition/seitenlokalisation
........ extension 0..0 Additional content defined by implementations
Slice: Unordered, Open by value:url
........ url S 1..1 uri "http://fhir.de/StructureDefinition/seitenlokalisation"
........ value[x] S 1..1 Coding Value of extension
Binding: KBV_VS_SFHIR_ICD_SEITENLOKALISATION . (required)
......... system SΣ 1..1 uri Identity of the terminology system
......... code SΣ 1..1 code Symbol in syntax defined by the system
...... system SΣ 1..1 uri Canonische CodeSystem URL für OPS
Fixed Value: http://fhir.de/CodeSystem/bfarm/ops
...... version SΣ 1..1 string Die Jahresversion des OPS Kataloges. Angegeben wird immer die vierstellige Jahreszahl (z.B. "2017")
...... code SΣC 1..1 code Der OPS-Code
Constraints: ops-regex
Example Einfacher OPS-Code: 5-470
..... coding:sct SΣ 0..1 Coding SNOMED CT Code
Binding: MII VS Prozedur Prozeduren [SNOMED CT] (required)

Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... version 0..1 string Version of the system - if relevant
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
...... system SΣ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code SΣ 1..1 code Symbol in syntax defined by the system
... subject SΣ 1..1 Reference(Patient | Group) Who the procedure was performed on
.... reference SΣC 0..1 string Literal reference, Relative, internal or absolute URL
... encounter SΣ 0..1 Reference(Encounter) Kontakt (Aufenthaltsbezug)
.... reference SΣC 0..1 string Literal reference, Relative, internal or absolute URL
... Slices for performed[x] SΣ 1..1 Durchführungsdatum
Slice: Unordered, Closed by type:$this
.... performedDateTime dateTime
.... performedPeriod Period
.... performed[x]:performedDateTime SΣ 0..1 dateTime When the procedure was performed
.... performed[x]:performedPeriod SΣ 0..1 Period Durchführungszeitraum
... bodySite SΣ 0..* CodeableConcept Körperstelle
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
.... Slices for coding SΣ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:system
..... coding:snomed-ct SΣ 0..1 Coding SNOMED CT Code
...... system SΣ 1..1 uri Identity of the terminology system
Required Pattern: http://snomed.info/sct
...... version SΣ 0..1 string Version of the system - if relevant
...... code SΣ 1..1 code Symbol in syntax defined by the system
... note S 0..* Annotation Hinweis

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.extension:durchfuehrungsabsicht.​value[x] Base required MII VS Prozedur Durchführungsabsicht [SNOMED CT] 📦2026.0.1 This IG
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.category.coding:sct Base preferred MII VS Prozedur OPS Kategorien [SNOMED CT] 📦2026.0.1 This IG
Procedure.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.code.coding:ops Base required MII VS Prozedur OPS 📦2026.0.1 This IG
Procedure.code.coding:ops.​extension:Seitenlokalisation.​value[x] Base required KBV_VS_SFHIR_ICD_SEITENLOKALISATION . ⏿1.00 127.0.0.1
Procedure.code.coding:sct Base required MII VS Prozedur Prozeduren [SNOMED CT] 📦2026.0.1 This IG
Procedure.bodySite Base example SNOMED CT Body Structures 📍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()
ops-regex warning Procedure.code.coding:ops.code In code sind nur gültige OPS-Codes ohne Zusätze erlaubt matches('^[1|3|5|6|8|9]-[a-zA-Z0-9]{3}([.][a-zA-Z0-9]{1,2})?$')
proc-mii-1 error Procedure Falls die Prozedur per OPS kodiert wird, MUSS eine SNOMED-CT kodierte Category abgebildet werden code.coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists() implies category.coding.where(system = 'http://snomed.info/sct').exists()
sct-ops-1 error Procedure.code Eine Prozedur MUSS mit OPS oder SNOMED-CT kodiert werden. coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists()

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* Procedure An action that is being or was performed on a patient
Constraints: proc-mii-1
... id S 0..1 id Logical id of this artifact
... meta S 0..1 Meta Metadata about the resource
.... source S 0..1 uri Identifies where the resource comes from
.... profile S 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
... Slices for extension S 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:Dokumentationsdatum S 0..1 (Complex) Dokumentationsdatum
URL: http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum
..... url S 1..1 uri identifies the meaning of the extension
..... value[x] S 1..1 dateTime Value of extension
.... extension:durchfuehrungsabsicht S 0..1 (Complex) Durchführungsabsicht
URL: https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Durchfuehrungsabsicht
..... url S 1..1 uri identifies the meaning of the extension
..... value[x] S 1..1 Coding Value of extension
...... system S 1..1 uri Identity of the terminology system
...... code S 1..1 code Symbol in syntax defined by the system
... category S 0..1 CodeableConcept Kategorie
.... Slices for coding S 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:sct S 0..1 Coding SNOMED CT Code
Binding: MII VS Prozedur OPS Kategorien [SNOMED CT] (preferred)
Required Pattern: At least the following
...... system S 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code S 1..1 code Symbol in syntax defined by the system
... code SC 1..1 CodeableConcept Code
Constraints: sct-ops-1
.... Slices for coding S 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:ops S 0..1 CodingOPS Operationen- und Prozedurenschlüssel (OPS) Code
Binding: MII VS Prozedur OPS (required)
Required Pattern: At least the following
...... Slices for extension Content/Rules for all slices
....... extension:Seitenlokalisation S 0..1 ExtensionSeitenlokalisation Optional Extensions Element
........ url S 1..1 uri identifies the meaning of the extension
........ value[x] S 1..1 Coding Value of extension
......... system S 1..1 uri Identity of the terminology system
......... code S 1..1 code Symbol in syntax defined by the system
...... system S 1..1 uri Canonische CodeSystem URL für OPS
Fixed Value: http://fhir.de/CodeSystem/bfarm/ops
...... version S 1..1 string Die Jahresversion des OPS Kataloges. Angegeben wird immer die vierstellige Jahreszahl (z.B. "2017")
...... code S 1..1 code Der OPS-Code
..... coding:sct S 0..1 Coding SNOMED CT Code
Binding: MII VS Prozedur Prozeduren [SNOMED CT] (required)
Required Pattern: At least the following
...... system S 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code S 1..1 code Symbol in syntax defined by the system
... subject S 1..1 Reference(Patient | Group) Who the procedure was performed on
.... reference S 0..1 string Literal reference, Relative, internal or absolute URL
... encounter S 0..1 Reference(Encounter) Kontakt (Aufenthaltsbezug)
.... reference S 0..1 string Literal reference, Relative, internal or absolute URL
... Slices for performed[x] S 1..1 Durchführungsdatum
Slice: Unordered, Open by type:$this
.... performedDateTime dateTime
.... performedPeriod Period
.... performed[x]:performedDateTime S 0..1 dateTime When the procedure was performed
.... performed[x]:performedPeriod S 0..1 Period Durchführungszeitraum
... bodySite S 0..* CodeableConcept Körperstelle
.... Slices for coding S 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:system
..... coding:snomed-ct S 0..1 Coding SNOMED CT Code
...... system S 1..1 uri Identity of the terminology system
Required Pattern: http://snomed.info/sct
...... version S 0..1 string Version of the system - if relevant
...... code S 1..1 code Symbol in syntax defined by the system
... note S 0..* Annotation Hinweis

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Procedure.category.coding:sct Base preferred MII VS Prozedur OPS Kategorien [SNOMED CT] 📦2026.0.1 This IG
Procedure.code.coding:ops Base required MII VS Prozedur OPS 📦2026.0.1 This IG
Procedure.code.coding:sct Base required MII VS Prozedur Prozeduren [SNOMED CT] 📦2026.0.1 This IG

Constraints

Id Grade Path(s) Description Expression
proc-mii-1 error Procedure Falls die Prozedur per OPS kodiert wird, MUSS eine SNOMED-CT kodierte Category abgebildet werden code.coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists() implies category.coding.where(system = 'http://snomed.info/sct').exists()
sct-ops-1 error Procedure.code Eine Prozedur MUSS mit OPS oder SNOMED-CT kodiert werden. coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists()

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* Procedure An action that is being or was performed on a patient
Constraints: proc-mii-1
... id SΣ 0..1 id Logical id of this artifact
... meta SΣ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source SΣ 0..1 uri Identifies where the resource comes from
.... profile SΣ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension S 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:Dokumentationsdatum S 0..1 (Complex) Dokumentationsdatum
URL: http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum
Constraints: ext-1
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Additional content defined by implementations
Slice: Unordered, Open by value:url
..... url S 1..1 uri "http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum"
..... value[x] S 1..1 dateTime Value of extension
.... extension:durchfuehrungsabsicht S 0..1 (Complex) Durchführungsabsicht
URL: https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Durchfuehrungsabsicht
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url S 1..1 uri "https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Durchfuehrungsabsicht"
..... value[x] S 1..1 Coding Value of extension
Binding: MII VS Prozedur Durchführungsabsicht [SNOMED CT] (required)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system SΣ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... version Σ 0..1 string Version of the system - if relevant
...... code SΣ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
... 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(Procedure | Observation | MedicationAdministration) Part of referenced event
... status ?!SΣ 1..1 code Status
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 SΣ 0..1 CodeableConcept Kategorie
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding SΣ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:sct SΣ 0..1 Coding SNOMED CT Code
Binding: MII VS Prozedur OPS Kategorien [SNOMED CT] (preferred)

Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system SΣ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... version Σ 0..1 string Version of the system - if relevant
...... code SΣ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... code SΣC 1..1 CodeableConcept Code
Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure .
Constraints: sct-ops-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding SΣ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:ops SΣ 0..1 CodingOPS Operationen- und Prozedurenschlüssel (OPS) Code
Binding: MII VS Prozedur OPS (required)

Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... Slices for extension Content/Rules for all slices
....... extension:Seitenlokalisation S 0..1 (Complex) Optional Extensions Element
URL: http://fhir.de/StructureDefinition/seitenlokalisation
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..0 Additional content defined by implementations
Slice: Unordered, Open by value:url
........ url S 1..1 uri "http://fhir.de/StructureDefinition/seitenlokalisation"
........ value[x] S 1..1 Coding Value of extension
Binding: KBV_VS_SFHIR_ICD_SEITENLOKALISATION . (required)
......... id 0..1 string Unique id for inter-element referencing
......... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
......... system SΣ 1..1 uri Identity of the terminology system
......... version Σ 0..1 string Version of the system - if relevant
......... code SΣ 1..1 code Symbol in syntax defined by the system
......... display Σ 0..1 string Representation defined by the system
......... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
...... system SΣ 1..1 uri Canonische CodeSystem URL für OPS
Fixed Value: http://fhir.de/CodeSystem/bfarm/ops
...... version SΣ 1..1 string Die Jahresversion des OPS Kataloges. Angegeben wird immer die vierstellige Jahreszahl (z.B. "2017")
...... code SΣC 1..1 code Der OPS-Code
Constraints: ops-regex
Example Einfacher OPS-Code: 5-470
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... coding:sct SΣ 0..1 Coding SNOMED CT Code
Binding: MII VS Prozedur Prozeduren [SNOMED CT] (required)

Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system SΣ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... version Σ 0..1 string Version of the system - if relevant
...... code SΣ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(Patient | Group) Who the procedure was performed on
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... encounter SΣ 0..1 Reference(Encounter) Kontakt (Aufenthaltsbezug)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... Slices for performed[x] SΣ 1..1 Durchführungsdatum
Slice: Unordered, Closed by type:$this
.... performedDateTime dateTime
.... performedPeriod Period
.... performed[x]:performedDateTime SΣ 0..1 dateTime When the procedure was performed
.... performed[x]:performedPeriod SΣ 0..1 Period Durchführungszeitraum
... recorder Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who recorded the procedure
... asserter Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) 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(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) The reference to the practitioner
.... onBehalfOf 0..1 Reference(Organization) Organization the device or practitioner was acting for
... location Σ 0..1 Reference(Location) 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(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) The justification that the procedure was performed
... bodySite SΣ 0..* CodeableConcept Körperstelle
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding SΣ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:system
..... coding:snomed-ct SΣ 0..1 Coding SNOMED CT Code
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system SΣ 1..1 uri Identity of the terminology system
Required Pattern: http://snomed.info/sct
...... version SΣ 0..1 string Version of the system - if relevant
...... code SΣ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... outcome Σ 0..1 CodeableConcept The result of procedure
Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise.
... 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(Condition) 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 S 0..* Annotation Hinweis
... 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 | Medication | Substance) Items used during procedure
... usedCode 0..* CodeableConcept Coded items used during the procedure
Binding: FHIRDeviceTypes (example): Codes describing items used during a procedure.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Procedure.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Procedure.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Procedure.extension:durchfuehrungsabsicht.​value[x] Base required MII VS Prozedur Durchführungsabsicht [SNOMED CT] 📦2026.0.1 This IG
Procedure.status Base required EventStatus 📍4.0.1 FHIR Std.
Procedure.statusReason Base example Procedure Not Performed Reason (SNOMED-CT) 📍4.0.1 FHIR Std.
Procedure.category Base example Procedure Category Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.category.coding:sct Base preferred MII VS Prozedur OPS Kategorien [SNOMED CT] 📦2026.0.1 This IG
Procedure.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.code.coding:ops Base required MII VS Prozedur OPS 📦2026.0.1 This IG
Procedure.code.coding:ops.​extension:Seitenlokalisation.​value[x] Base required KBV_VS_SFHIR_ICD_SEITENLOKALISATION . ⏿1.00 127.0.0.1
Procedure.code.coding:sct Base required MII VS Prozedur Prozeduren [SNOMED CT] 📦2026.0.1 This IG
Procedure.subject.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Procedure.encounter.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Procedure.performer.​function Base example Procedure Performer Role Codes 📍4.0.1 FHIR Std.
Procedure.reasonCode Base example Procedure Reason Codes 📍4.0.1 FHIR Std.
Procedure.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Procedure.outcome Base example Procedure Outcome Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.complication Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.
Procedure.followUp Base example Procedure Follow up Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.focalDevice.​action Base preferred Procedure Device Action Codes 📍4.0.1 FHIR Std.
Procedure.usedCode Base example FHIR Device Types 📍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()
ops-regex warning Procedure.code.coding:ops.code In code sind nur gültige OPS-Codes ohne Zusätze erlaubt matches('^[1|3|5|6|8|9]-[a-zA-Z0-9]{3}([.][a-zA-Z0-9]{1,2})?$')
proc-mii-1 error Procedure Falls die Prozedur per OPS kodiert wird, MUSS eine SNOMED-CT kodierte Category abgebildet werden code.coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists() implies category.coding.where(system = 'http://snomed.info/sct').exists()
sct-ops-1 error Procedure.code Eine Prozedur MUSS mit OPS oder SNOMED-CT kodiert werden. coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists()

Summary

Mandatory: 3 elements(6 nested mandatory elements)
Must-Support: 47 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Procedure.category.coding
  • The element 1 is sliced based on the value of Procedure.code.coding
  • The element 1 is sliced based on the value of Procedure.performed[x]
  • The element 1 is sliced based on the value of Procedure.bodySite.coding

 

Other representations of profile: CSV, Excel, Schematron