MII Implementierungsleitfaden Kerndatensatz Basis
2026.0.1 - Release Germany

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

## Ressourcenprofil: MII PR Prozedur Procedure

Offizielle URL: https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Procedure | Version: 2026.0.1 | Highlight text changes?
Active Stand: 2026-06-09 | Maschinenlesbarer Name: MII_PR_Prozedur_Procedure

Eine Prozedur, die an oder für einen Patienten durchgeführt wird oder wurde.

Beispielhafte Anwendungsszenarien:

- Dokumentation von bei PatientInnen durchgeführten Prozeduren mittels OPS-Codierung (Operationen- und Prozedurenschlüssel) für Abrechnungs- und Verwaltungszwecke
- Erfassung chirurgischer Eingriffe, diagnostischer Prozeduren und therapeutischer Behandlungen in der klinischen Versorgung
- Unterstützung von Qualitätsmanagement und klinischer Forschung durch standardisierte Prozedurdokumentation
- Ermöglichung prozedurbasierter Analysen und Outcome-Forschung über Gesundheitseinrichtungen hinweg
- Darstellung von Prozeduren mittels SNOMED CT für semantische Interoperabilität neben OPS-Codierung
- Verknüpfung von Prozeduren mit spezifischen Behandlungsfällen zur zeitlichen und kontextuellen Dokumentation

### Profilspezifische Implementierungshinweise

Dieser Abschnitt enthält detaillierte Implementierungshinweise für das MII-Prozedur-Profil.

#### Codierungsanforderungen

Verpflichtende Codierung:

- `Procedure.code`: VERPFLICHTEND Kodierung entweder per OPS oder SNOMED CT
- Mindestens eine kodierte Prozedur MUSS vorhanden sein
- Weitere Kodierungen aus anderen Terminologien sind OPTIONAL

OPS-Kodierung:

- `Procedure.code:ops`: OPS (Operationen- und Prozedurenschlüssel) ist das primäre Codiersystem für Prozeduren in Deutschland
- Siehe [OPS-Kodierung - Deutsche Basisprofile] für detaillierte OPS-Codierungsanforderungen
- OPS-Codes umfassen:
  - `Procedure.code:ops.coding.code`: Vollständiger Prozedurenkode
  - `Procedure.code:ops.coding.system`: Codesystem (`http://fhir.de/CodeSystem/bfarm/ops`)
  - `Procedure.code:ops.coding.version`: OPS-Versionsjahr
  - `Procedure.code:ops.extension:seitenlokalisation`: Seitenlokalisation-Extension

SNOMED-CT-Kodierung:

- `Procedure.code:sct`: SNOMED-CT-Codierung
- Kann als primäre Codierung oder neben OPS verwendet werden

#### Kategorisierung

##### Best Practice - SNOMED-CT-Kategorisierung

Verpflichtende Kategorisierung: `Procedure.category` SNOMED-CT-Kategorisierung auf Basis des Prozedurenkodes.

Mapping von OPS-Klassentiteln: Wenn die Prozedur per OPS kodiert wird, SOLL die Kategorie durch Mapping von OPS-Kapitel-/Klassentiteln auf SNOMED-CT-Konzepte abgeleitet werden. Siehe Abschnitt Terminologien in diesem IG für OPS-zu-SNOMED-CT-Kategorie-Mappings.

Constraint proc-mii-1: Diese Anforderung ist nur relevant, wenn die Prozedur per OPS kodiert wird.

Zweck: Die Kategorisierung ermöglicht:

- Hochstufige Prozedur-Gruppierung für epidemiologische Analysen
- Filterung und Durchsuchen von Prozeduren nach breiten klinischen Kategorien
- Semantische Konsistenz über unterschiedlich kodierte Prozeduren hinweg

#### Zeitliche Informationen

`Procedure.performed[x]`:

- Dokumentiert, wann die Prozedur durchgeführt wurde
- KANN als `performedDateTime` (einzelner Zeitpunkt) oder `performedPeriod` (Start- und Endzeitpunkt) angegeben werden
- Verwenden Sie `performedPeriod`, wenn sowohl Start- als auch Endzeitpunkt bekannt sind (z.B. chirurgische Eingriffe mit dokumentiertem Start/Ende)
- Verwenden Sie `performedDateTime` für zeitpunktbezogene Prozeduren oder wenn nur ein einzelner Zeitstempel verfügbar ist

`Procedure.extension:Dokumentationsdatum`:

- MII-spezifische Extension für das Dokumentationsdatum
- Repräsentiert, wann die Prozedur im System dokumentiert/erfasst wurde
- Unterscheidet sich von `performed[x]`, welches repräsentiert, wann die Prozedur tatsächlich durchgeführt wurde
- Nützlich für Auditing und zeitliche Einordnung der Dokumentation

#### Dokumentation der Körperstelle

##### Best Practice - Körperstelle vs. Seitenlokalisation

Zweck von bodySite: `Procedure.bodySite` bietet detaillierte Kodierung der anatomischen Lokalisation für die Prozedur mittels SNOMED CT.

NICHT für Seitenlokalisation: `Procedure.bodySite` SOLL NICHT verwendet werden, um die Seitenlokalisation (links/rechts/beidseitig) abzubilden. Die Seitenlokalisation ist eine Eigenschaft des Prozedurenkodes selbst.

Darstellung der Seitenlokalisation:

- Für OPS-Codes: Verwenden Sie `Procedure.code:ops.extension:seitenlokalisation`
- Für SNOMED CT: Seitenlokalisation ist im Prozedurkonzept inhärent enthalten (z.B. "Appendektomie des rechten Appendix")

Wann bodySite zu verwenden ist:

- Um zusätzliche anatomische Details bereitzustellen, die über das hinausgehen, was der Code spezifiziert
- Um präzise anatomische Strukturen mittels SNOMED-CT-Anatomiekonzepten zu spezifizieren

#### Durchführungsabsicht

`Procedure.extension:Durchfuehrungsabsicht`:

- MII-spezifische Extension für die Durchführungsabsicht/den Zweck der Prozedur
- Verwendet SNOMED-CT-Codes zur Klassifizierung der klinischen Absicht:
  - Therapeutische Prozeduren
  - Diagnostische Prozeduren
  - Prophylaktische Prozeduren
  - Palliative Prozeduren
  - etc.
- Bietet klinischen Kontext für die Prozedur über den Prozedurenkode hinaus

#### Kontaktkontext

##### Best Practice - Prozedur-Kontakt-Beziehungen

Empfohlene Implementierung:

Verwenden von `Procedure.encounter`, um von der Prozedur auf den Encounter vom Typ Abteilungskontakt zu referenzieren. Dieser Ansatz etabliert den allgemeinen Aufenthaltskontext für die Prozedur und stellt den zeitlichen und organisatorischen Kontext bereit.

#### Status und Workflow

`Procedure.status`:

- Keine Einschränkungen bezüglich des gewählten Status (preparation, in-progress, on-hold, stopped, completed, entered-in-error, unknown)
- Die meisten Prozeduren in der retrospektiven Dokumentation haben `status='completed'`

#### Patientenbezug

`Procedure.subject`:

- Referenz auf Patient MUSS stets gegeben sein
- Prozeduren sind inhärent patientenspezifisch und können ohne diese Referenz nicht existieren

Usages:

- Examples for this Profile: Procedure/mii-exa-prozedur-imaging, Procedure/mii-exa-prozedur-procedure-2 and Procedure/mii-exa-prozedur-procedure
- CapabilityStatements using this Profile: MII CPS Prozedur CapabilityStatement

You can also check for usages in the FHIR IG Statistics

### Formale Ansichten des Profilinhalts

Beschreibung von Profilen, Differentials, Snapshots und deren Repräsentationen.

- Schlüsselelemente-Tabelle
- Differential-Tabelle
- Snapshot-Tabelle
- Statistiken/Referenzen
- Alle

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
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
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
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()`

Diese Struktur ist abgeleitet von Procedure

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
status | S | 1..1 | code | Status
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 | S C | 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
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()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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 Bindings | Purpose
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.
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()`

Diese Struktur ist abgeleitet von Procedure

Summary

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

Structures

This structure refers to these other structures:

- Coding-Profil für OPS (http://fhir.de/StructureDefinition/CodingOPS)

Extensions

This structure refers to these extensions:

- http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum
- https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Durchfuehrungsabsicht

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

Schlüsselelemente-Ansicht

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
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
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
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-Ansicht

Diese Struktur ist abgeleitet von Procedure

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
status | S | 1..1 | code | Status
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 | S C | 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
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-AnsichtView

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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 Bindings | Purpose
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.
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()`

Diese Struktur ist abgeleitet von Procedure

Summary

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

Structures

This structure refers to these other structures:

- Coding-Profil für OPS (http://fhir.de/StructureDefinition/CodingOPS)

Extensions

This structure refers to these extensions:

- http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum
- https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Durchfuehrungsabsicht

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

Weitere Repräsentationen des Profils: CSV, Excel, Schematron