ISiK Basis Implementierungsleitfaden
Version 6.0.0-rc - ci-build

Resource Profile: ISiKProzedur

Official URL: https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur Version: 6.0.0-rc
Active as of 2025-12-17 Computable Name: ISiKProzedur

Dieses Profil spezifiziert die Minimalanforderungen für die Bereitstellung von Informationen über die Behandlungen/Prozeduren eines Patienten im Rahmen des Bestätigungsverfahrens der gematik.

Motivation

Die Möglichkeit auf eine Übersicht der Prozeduren eines Patienten zuzugreifen, Patienten anhand durchgeführter oder geplanter Prozeduren zu suchen, oder zu prüfen, ob eine konkrete Prozedur bei einem Patienten durchgeführt wurde, sind wichtige Funktionen im klinischen Behandlungsablauf.

In FHIR werden Prozeduren mit der Procedure-Ressource repräsentiert.

Da die Prozeduren in klinischen Primärsystemen, in der Regel, in OPS-codierter Form vorliegen, fordert ISiK in erster Linie diese Form des Austausches. Falls eine Prozedur zwar dokumentiert aber noch nicht codiert wurde (z.B. wenn die Kodierung erst nach der Entlassung erfolgt), ist alternativ eine Repräsentation als Freitext-Prozedur möglich.

Kompatibilität

Für das Profil ISIKProzedur wird eine Kompatibilität mit folgenden Profilen angestrebt; allerdings kann nicht sichergestellt werden, dass Instanzen, die gegen ISIKProzedur valide sind, auch valide sind gegen:

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* Procedure An action that is being or was performed on a patient
Constraints: proc-ISiK-1, proc-ISiK-2
... id SΣ 0..1 id serverseitige, interne ID des Datensatzes
... 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 dateTime Dokumentationsdatum
URL: http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum
Constraints: ext-1
... 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 Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:system
..... coding:SNOMED-CT SΣ 0..1 ?pkp-2? Code defined by a terminology system
Binding: ProzedurenKategorieSCT (preferred)
... code SΣC 1..1 CodeableConcept Prozeduren-Code
Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure .
Constraints: sct-ops-1, proc-ISiK-3
.... Slices for coding SΣ 0..* Coding Codierte Darstellung der Prozedur
Slice: Unordered, Open by pattern:system
..... coding:OPS SΣ 0..1 CodingOPS OPS-codierte Darstellung der Prozedur
...... Slices for extension Content/Rules for all slices
....... extension:Seitenlokalisation S 0..1 Coding Seitenlokalisation
URL: http://fhir.de/StructureDefinition/seitenlokalisation
Binding: https://fhir.kbv.de/ValueSet/KBV_VS_SFHIR_ICD_SEITENLOKALISATION (required)
...... system SΣ 1..1 uri Namensraum des Prozeduren-Codes
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 OPS-Code
Constraints: ops-regex
Example Einfacher OPS-Code: 5-470
..... coding:SNOMED-CT SΣ 0..1 ?pkp-2? SNOMED-codierte Darstellung der Prozedur
Binding: ProzedurenCodesSCT (required)
.... text SΣ 0..1 string Freitextiche Beschreibung der Prozedur
... subject SΣ 1..1 Reference(Patient | Group) Patientenbezug
.... reference SΣC 1..1 string Patienten-Link
... encounter SΣ 0..1 Reference(Encounter) Aufenthaltsbezug
.... reference SΣC 1..1 string Encounter-Link
... performed[x] SΣ 1..1 Durchführungsdatum oder -Zeitraum
.... performedDateTime dateTime
.... performedPeriod Period
... note S 0..* Annotation Notizen

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.status Base required EventStatus 📍4.0.1 FHIR Std.
Procedure.category Base example Procedure Category Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.category.coding:SNOMED-CT Base preferred ProzedurenKategorieSCT 📦6.0.0-rc This IG
Procedure.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.code.coding:SNOMED-CT Base required ProzedurenCodesSCT 📦6.0.0-rc This IG

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-ISiK-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()
proc-ISiK-2 error Procedure Falls eine codierte Prozedur vorliegt MUSS eine kodierte Category abgebildet werden code.coding.exists() implies category.coding.exists()
proc-ISiK-3 error Procedure.code Entweder MUSS eine kodierte Prozedur vorliegen oder eine textuelle Beschreibung. Stattdessen nur Extensions hinzuzufügen (vgl. https://www.hl7.org/fhir/element.html - ele-1), ist explizit nicht erlaubt. coding.exists().not() implies text.exists()
sct-ops-1 error Procedure.code Falls die Prozedur kodiert vorliegt, SOLL mindestens ein OPS oder SNOMED-CT Code angegeben werden. coding.exists() implies coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists()

This structure is derived from Procedure

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* Procedure An action that is being or was performed on a patient
Constraints: proc-ISiK-1, proc-ISiK-2
... id S 0..1 id serverseitige, interne ID des Datensatzes
... meta
.... versionId 0..1 id Eindeutiger Name der serverseitigen Version des Datensatzes
.... lastUpdated 0..1 instant Zeitpunkt der letzten Änderung
... Slices for extension S 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:Dokumentationsdatum S 0..1 dateTime Dokumentationsdatum
URL: http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum
... category S 0..1 CodeableConcept Kategorie
.... Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:system
..... coding:SNOMED-CT S 0..1 ?pkp-2? Code defined by a terminology system
Binding: ProzedurenKategorieSCT (preferred)
... code SC 1..1 CodeableConcept Prozeduren-Code
Constraints: sct-ops-1, proc-ISiK-3
.... Slices for coding S 0..* Coding Codierte Darstellung der Prozedur
Slice: Unordered, Open by pattern:system
..... coding:OPS S 0..1 CodingOPS OPS-codierte Darstellung der Prozedur
...... Slices for extension Content/Rules for all slices
....... extension:Seitenlokalisation S 0..1 ExtensionSeitenlokalisation Seitenlokalisation
...... system S 1..1 uri Namensraum des Prozeduren-Codes
...... version S 1..1 string Die Jahresversion des OPS Kataloges. Angegeben wird immer die vierstellige Jahreszahl (z.B. `2017`)
...... code S 1..1 code OPS-Code
..... coding:SNOMED-CT S 0..1 ?pkp-2? SNOMED-codierte Darstellung der Prozedur
Binding: ProzedurenCodesSCT (required)
.... text S 0..1 string Freitextiche Beschreibung der Prozedur
... subject S 1..1 Reference(Patient | Group) Patientenbezug
.... reference S 1..1 string Patienten-Link
... encounter S 0..1 Reference(Encounter) Aufenthaltsbezug
.... reference S 1..1 string Encounter-Link
... performed[x] S 1..1 Durchführungsdatum oder -Zeitraum
.... performedDateTime dateTime
.... performedPeriod Period
... note S 0..* Annotation Notizen

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Procedure.category.coding:SNOMED-CT Base preferred ProzedurenKategorieSCT 📦6.0.0-rc This IG
Procedure.code.coding:SNOMED-CT Base required ProzedurenCodesSCT 📦6.0.0-rc This IG

Constraints

Id Grade Path(s) Description Expression
proc-ISiK-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()
proc-ISiK-2 error Procedure Falls eine codierte Prozedur vorliegt MUSS eine kodierte Category abgebildet werden code.coding.exists() implies category.coding.exists()
proc-ISiK-3 error Procedure.code Entweder MUSS eine kodierte Prozedur vorliegen oder eine textuelle Beschreibung. Stattdessen nur Extensions hinzuzufügen (vgl. https://www.hl7.org/fhir/element.html - ele-1), ist explizit nicht erlaubt. coding.exists().not() implies text.exists()
sct-ops-1 error Procedure.code Falls die Prozedur kodiert vorliegt, SOLL mindestens ein OPS oder SNOMED-CT Code angegeben werden. coding.exists() implies 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-ISiK-1, proc-ISiK-2
... id SΣ 0..1 id serverseitige, interne ID des Datensatzes
... meta Σ 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 Eindeutiger Name der serverseitigen Version des Datensatzes
.... lastUpdated Σ 0..1 instant Zeitpunkt der letzten Änderung
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 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 dateTime Dokumentationsdatum
URL: http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum
Constraints: ext-1
... 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 Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:system
..... coding:SNOMED-CT SΣ 0..1 ?pkp-2? Code defined by a terminology system
Binding: ProzedurenKategorieSCT (preferred)
.... text Σ 0..1 string Plain text representation of the concept
... code SΣC 1..1 CodeableConcept Prozeduren-Code
Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure .
Constraints: sct-ops-1, proc-ISiK-3
.... 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 Codierte Darstellung der Prozedur
Slice: Unordered, Open by pattern:system
..... coding:OPS SΣ 0..1 CodingOPS OPS-codierte Darstellung der Prozedur
...... 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
....... extension:Seitenlokalisation S 0..1 Coding Seitenlokalisation
URL: http://fhir.de/StructureDefinition/seitenlokalisation
Binding: https://fhir.kbv.de/ValueSet/KBV_VS_SFHIR_ICD_SEITENLOKALISATION (required)
...... system SΣ 1..1 uri Namensraum des Prozeduren-Codes
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 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:SNOMED-CT SΣ 0..1 ?pkp-2? SNOMED-codierte Darstellung der Prozedur
Binding: ProzedurenCodesSCT (required)
.... text SΣ 0..1 string Freitextiche Beschreibung der Prozedur
... subject SΣ 1..1 Reference(Patient | Group) Patientenbezug
.... 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 1..1 string Patienten-Link
.... 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) 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 1..1 string Encounter-Link
.... 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
... performed[x] SΣ 1..1 Durchführungsdatum oder -Zeitraum
.... performedDateTime dateTime
.... performedPeriod Period
... 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 Σ 0..* CodeableConcept Target body sites
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
... outcome Σ 0..1 CodeableConcept The result of procedure
Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise.
... report 0..* Reference(DiagnosticReport | DocumentReference | Composition) Any report resulting from the procedure
... complication 0..* CodeableConcept Complication following the procedure
Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure.
... complicationDetail 0..* Reference(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 Notizen
... 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.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:SNOMED-CT Base preferred ProzedurenKategorieSCT 📦6.0.0-rc This IG
Procedure.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.code.coding:SNOMED-CT Base required ProzedurenCodesSCT 📦6.0.0-rc 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-ISiK-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()
proc-ISiK-2 error Procedure Falls eine codierte Prozedur vorliegt MUSS eine kodierte Category abgebildet werden code.coding.exists() implies category.coding.exists()
proc-ISiK-3 error Procedure.code Entweder MUSS eine kodierte Prozedur vorliegen oder eine textuelle Beschreibung. Stattdessen nur Extensions hinzuzufügen (vgl. https://www.hl7.org/fhir/element.html - ele-1), ist explizit nicht erlaubt. coding.exists().not() implies text.exists()
sct-ops-1 error Procedure.code Falls die Prozedur kodiert vorliegt, SOLL mindestens ein OPS oder SNOMED-CT Code angegeben werden. coding.exists() implies coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists()
ElementShort descriptionNotes
Procedure.category Kategorie

Die Kategorisierung erfolgt vorzugsweise auf Basis von SNOMED CT. Für OPS-codierte Prozeduren MUSS die Kategorie angegeben werden: Sie kann ermittelt werden, indem das erste Zeichen des OPS-Codes mit Hilfe einer ConceptMap auf die zutreffende SNOMED-Kategorie gemappt wird.

Begründung MS: Die Kategorisierung dient der Verbesserung von Suche und Darstellung.

Procedure.category.coding:SNOMED-CT
Procedure.code Prozeduren-Code

Prozeduren SOLLEN mindestens entweder mit einem OPS-Code oder einem SNOMED-Code aus dem angegebenen ValueSet codiert werden. Ist keine Codierung möglich, MUSS statt dessen eine textuelle Beschreibung der Prozedur angegeben werden.
Begründung Pflichtfeld: Ist weder eine Codierung noch eine textuelle Beschreibung vorhanden, besitzt diese Ressource keine medizinische Aussagefähigkeit.

Procedure.code.coding Codierte Darstellung der Prozedur
Procedure.code.coding:OPS OPS-codierte Darstellung der Prozedur
Procedure.code.coding:OPS.code OPS-Code

Hier ist der OPS-Code ohne jegliche Zusatzkennzeichen (z.B. Seitenlokalisation) oder Versionsnummern anzugeben.

Procedure.code.coding:OPS.extension:Seitenlokalisation Seitenlokalisation

Begründung MS: Bei OPS-codierten Prozeduren an paarigen Organen oder Körperteilen müssen die Zusatzkennzeichen für die Seitigkeit (R, L oder B) angeben werden

Procedure.code.coding:OPS.system Namensraum des Prozeduren-Codes

Hier ist stets der Wert http://fhir.de/CodeSystem/bfarm/ops anzugeben.

Procedure.code.coding:OPS.version Die Jahresversion des OPS Kataloges. Angegeben wird immer die vierstellige Jahreszahl (z.B. `2017`)

Begründung Pflichtfeld: Bei Verwendung von OPS ist die Angabe der Version zwingend erforderlich. Hierdurch wird der Tatsache Rechnung getragen, dass jede der jährlich neu erscheinenden Fassung von OPS ein neues Codesystem darstellt.

Procedure.code.coding:SNOMED-CT SNOMED-codierte Darstellung der Prozedur

Hintergrund und Begründung zum Must-Support: Das BfArM hat ein ‘Zielbild für eine semantische Strategie’ (https://www.bfarm.de/DE/Kodiersysteme/Services/Terminologieserver/Semantik-Strategie/_node.html) verfasst, in dem die Nutzung von international gängigen Basis-Terminologien vorgestellt wird. Dort wird als grundlegende Position dargestellt, dass basierend auf einer Basisterminologie weitere Use Cases bedient werden sollen. Bei Prozeduren wäre das damit eine klinische Dokumentation mit SNOMED CT als internationalem Kodiersystem und einer Ableitung davon zum OPS. Dies ist insbesondere auch wichtig für den Datentransfer in den European Health Data Space, in dem der OPS keine Rolle spielen wird.

Procedure.code.text Freitextiche Beschreibung der Prozedur

Die freitextliche Beschreibung kann ergänzend oder anstelle einer codierten Angabe der Prozedur erfolgen.

Procedure.encounter Aufenthaltsbezug

Begründung Must-Support: Ein Aufenthaltsbezug der Prozedur MUSS stets zum Zwecke der Nachvollziehbarkeit und Datenintegrität vorliegen.

Procedure.encounter.reference Encounter-Link

Begründung Pflichtfeld: Die Verlinkung auf eine Encounter-Ressource dient der technischen Zuordnung der Dokumentation zu einem Aufenthalt und ermöglicht wichtige API-Funktionen wie verkettete Suche, (Reverse-)Include etc. Im ISik Kontext MUSS die referenzierte Ressource konform zu ISiKKontaktGesundheitseinrichtung sein. Jenseits von ISiK KÖNNEN weitere Instanzen mit anderen Profilen referenziert werden.

Procedure.extension
Procedure.extension:Dokumentationsdatum Dokumentationsdatum

Datum, an dem die Prozedur dokumentiert wurde.
Es handelt sich hierbei um das fachliche Dokumentationsdatum, nicht zu verwechseln mit dem Datum der technischen Anlage des Datensatzes im Primärsystem. Diese beiden Daten können jedoch identisch sein.

Procedure.id serverseitige, interne ID des Datensatzes

bedingtes Pflichtfeld/bedingtes MS: Alle von einem Server bereitgestellten Ressourcen MÜSSEN über eine id verfügen. Von Clients erzeugte Ressourcen, die im Kontext einer CREATE-Interaktion übermittelt werden, MÜSSEN NICHT über eine idverfügen.

Procedure.note Notizen

Ergänzende Hinweise und Anmerkungen zur Prozedur

Procedure.performed[x] Durchführungsdatum oder -Zeitraum

Es muss mindestens entweder ein (partielles) Durchführungsdatum oder der Beginn des Durchführungszeitraumes angegeben werden. Begründung Pflichtfeld: Die zeitliche Einordnung einer Prozedur ist in vielen Fällen maßgeblich für deren medizinische Relevanz.

Procedure.status Status

Zeigt den aktuellen Status der Prozedur an.
**WICHTIGER Hinweis für Implementierer:

  • Alle server-seitigen Implementierungen MÜSSEN in der Lage sein, die systemintern möglichen Statuswerte korrekt in FHIR abzubilden, mindestens jedoch die Werte completed und unknown.
  • Alle client-seitigen Implementierungen MÜSSEN in der Lage sein, sämtliche Status-Codes zu interpretieren und dem Anwender in angemessener Form darstellen zu können, beispielsweise durch Ausblenden/Durchstreichen von Prozeduren mit dem status entered-in-error und Ausgrauen von Prozeduren, die noch nicht stattgefunden haben, o.ä.
Procedure.subject Patientenbezug

Begründung Must-Support: Ein Patientenbezug der Prozedur MUSS stets zum Zwecke der Nachvollziehbarkeit und Datenintegrität vorliegen.

Procedure.subject.reference Patienten-Link

Begründung MS: Die Verlinkung auf eine Patienten-Ressource dient der technischen Zuordnung der Dokumentation zu einem Patienten und ermöglicht wichtige API-Funktionen wie verkettete Suche, (Reverse-)Include etc. Im ISik Kontext MUSS die referenzierte Ressource konform zu ISiKPatient sein. Jenseits von ISiK KÖNNEN weitere Instanzen mit anderen Profilen referenziert werden.

This structure is derived from Procedure

Summary

Mandatory: 3 elements(1 nested mandatory element)
Must-Support: 21 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

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-ISiK-1, proc-ISiK-2
... id SΣ 0..1 id serverseitige, interne ID des Datensatzes
... 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 dateTime Dokumentationsdatum
URL: http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum
Constraints: ext-1
... 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 Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:system
..... coding:SNOMED-CT SΣ 0..1 ?pkp-2? Code defined by a terminology system
Binding: ProzedurenKategorieSCT (preferred)
... code SΣC 1..1 CodeableConcept Prozeduren-Code
Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure .
Constraints: sct-ops-1, proc-ISiK-3
.... Slices for coding SΣ 0..* Coding Codierte Darstellung der Prozedur
Slice: Unordered, Open by pattern:system
..... coding:OPS SΣ 0..1 CodingOPS OPS-codierte Darstellung der Prozedur
...... Slices for extension Content/Rules for all slices
....... extension:Seitenlokalisation S 0..1 Coding Seitenlokalisation
URL: http://fhir.de/StructureDefinition/seitenlokalisation
Binding: https://fhir.kbv.de/ValueSet/KBV_VS_SFHIR_ICD_SEITENLOKALISATION (required)
...... system SΣ 1..1 uri Namensraum des Prozeduren-Codes
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 OPS-Code
Constraints: ops-regex
Example Einfacher OPS-Code: 5-470
..... coding:SNOMED-CT SΣ 0..1 ?pkp-2? SNOMED-codierte Darstellung der Prozedur
Binding: ProzedurenCodesSCT (required)
.... text SΣ 0..1 string Freitextiche Beschreibung der Prozedur
... subject SΣ 1..1 Reference(Patient | Group) Patientenbezug
.... reference SΣC 1..1 string Patienten-Link
... encounter SΣ 0..1 Reference(Encounter) Aufenthaltsbezug
.... reference SΣC 1..1 string Encounter-Link
... performed[x] SΣ 1..1 Durchführungsdatum oder -Zeitraum
.... performedDateTime dateTime
.... performedPeriod Period
... note S 0..* Annotation Notizen

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.status Base required EventStatus 📍4.0.1 FHIR Std.
Procedure.category Base example Procedure Category Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.category.coding:SNOMED-CT Base preferred ProzedurenKategorieSCT 📦6.0.0-rc This IG
Procedure.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.code.coding:SNOMED-CT Base required ProzedurenCodesSCT 📦6.0.0-rc This IG

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-ISiK-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()
proc-ISiK-2 error Procedure Falls eine codierte Prozedur vorliegt MUSS eine kodierte Category abgebildet werden code.coding.exists() implies category.coding.exists()
proc-ISiK-3 error Procedure.code Entweder MUSS eine kodierte Prozedur vorliegen oder eine textuelle Beschreibung. Stattdessen nur Extensions hinzuzufügen (vgl. https://www.hl7.org/fhir/element.html - ele-1), ist explizit nicht erlaubt. coding.exists().not() implies text.exists()
sct-ops-1 error Procedure.code Falls die Prozedur kodiert vorliegt, SOLL mindestens ein OPS oder SNOMED-CT Code angegeben werden. coding.exists() implies coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists()

Differential View

This structure is derived from Procedure

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* Procedure An action that is being or was performed on a patient
Constraints: proc-ISiK-1, proc-ISiK-2
... id S 0..1 id serverseitige, interne ID des Datensatzes
... meta
.... versionId 0..1 id Eindeutiger Name der serverseitigen Version des Datensatzes
.... lastUpdated 0..1 instant Zeitpunkt der letzten Änderung
... Slices for extension S 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:Dokumentationsdatum S 0..1 dateTime Dokumentationsdatum
URL: http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum
... category S 0..1 CodeableConcept Kategorie
.... Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:system
..... coding:SNOMED-CT S 0..1 ?pkp-2? Code defined by a terminology system
Binding: ProzedurenKategorieSCT (preferred)
... code SC 1..1 CodeableConcept Prozeduren-Code
Constraints: sct-ops-1, proc-ISiK-3
.... Slices for coding S 0..* Coding Codierte Darstellung der Prozedur
Slice: Unordered, Open by pattern:system
..... coding:OPS S 0..1 CodingOPS OPS-codierte Darstellung der Prozedur
...... Slices for extension Content/Rules for all slices
....... extension:Seitenlokalisation S 0..1 ExtensionSeitenlokalisation Seitenlokalisation
...... system S 1..1 uri Namensraum des Prozeduren-Codes
...... version S 1..1 string Die Jahresversion des OPS Kataloges. Angegeben wird immer die vierstellige Jahreszahl (z.B. `2017`)
...... code S 1..1 code OPS-Code
..... coding:SNOMED-CT S 0..1 ?pkp-2? SNOMED-codierte Darstellung der Prozedur
Binding: ProzedurenCodesSCT (required)
.... text S 0..1 string Freitextiche Beschreibung der Prozedur
... subject S 1..1 Reference(Patient | Group) Patientenbezug
.... reference S 1..1 string Patienten-Link
... encounter S 0..1 Reference(Encounter) Aufenthaltsbezug
.... reference S 1..1 string Encounter-Link
... performed[x] S 1..1 Durchführungsdatum oder -Zeitraum
.... performedDateTime dateTime
.... performedPeriod Period
... note S 0..* Annotation Notizen

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Procedure.category.coding:SNOMED-CT Base preferred ProzedurenKategorieSCT 📦6.0.0-rc This IG
Procedure.code.coding:SNOMED-CT Base required ProzedurenCodesSCT 📦6.0.0-rc This IG

Constraints

Id Grade Path(s) Description Expression
proc-ISiK-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()
proc-ISiK-2 error Procedure Falls eine codierte Prozedur vorliegt MUSS eine kodierte Category abgebildet werden code.coding.exists() implies category.coding.exists()
proc-ISiK-3 error Procedure.code Entweder MUSS eine kodierte Prozedur vorliegen oder eine textuelle Beschreibung. Stattdessen nur Extensions hinzuzufügen (vgl. https://www.hl7.org/fhir/element.html - ele-1), ist explizit nicht erlaubt. coding.exists().not() implies text.exists()
sct-ops-1 error Procedure.code Falls die Prozedur kodiert vorliegt, SOLL mindestens ein OPS oder SNOMED-CT Code angegeben werden. coding.exists() implies coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* Procedure An action that is being or was performed on a patient
Constraints: proc-ISiK-1, proc-ISiK-2
... id SΣ 0..1 id serverseitige, interne ID des Datensatzes
... meta Σ 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 Eindeutiger Name der serverseitigen Version des Datensatzes
.... lastUpdated Σ 0..1 instant Zeitpunkt der letzten Änderung
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 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 dateTime Dokumentationsdatum
URL: http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum
Constraints: ext-1
... 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 Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:system
..... coding:SNOMED-CT SΣ 0..1 ?pkp-2? Code defined by a terminology system
Binding: ProzedurenKategorieSCT (preferred)
.... text Σ 0..1 string Plain text representation of the concept
... code SΣC 1..1 CodeableConcept Prozeduren-Code
Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure .
Constraints: sct-ops-1, proc-ISiK-3
.... 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 Codierte Darstellung der Prozedur
Slice: Unordered, Open by pattern:system
..... coding:OPS SΣ 0..1 CodingOPS OPS-codierte Darstellung der Prozedur
...... 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
....... extension:Seitenlokalisation S 0..1 Coding Seitenlokalisation
URL: http://fhir.de/StructureDefinition/seitenlokalisation
Binding: https://fhir.kbv.de/ValueSet/KBV_VS_SFHIR_ICD_SEITENLOKALISATION (required)
...... system SΣ 1..1 uri Namensraum des Prozeduren-Codes
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 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:SNOMED-CT SΣ 0..1 ?pkp-2? SNOMED-codierte Darstellung der Prozedur
Binding: ProzedurenCodesSCT (required)
.... text SΣ 0..1 string Freitextiche Beschreibung der Prozedur
... subject SΣ 1..1 Reference(Patient | Group) Patientenbezug
.... 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 1..1 string Patienten-Link
.... 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) 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 1..1 string Encounter-Link
.... 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
... performed[x] SΣ 1..1 Durchführungsdatum oder -Zeitraum
.... performedDateTime dateTime
.... performedPeriod Period
... 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 Σ 0..* CodeableConcept Target body sites
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
... outcome Σ 0..1 CodeableConcept The result of procedure
Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise.
... report 0..* Reference(DiagnosticReport | DocumentReference | Composition) Any report resulting from the procedure
... complication 0..* CodeableConcept Complication following the procedure
Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure.
... complicationDetail 0..* Reference(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 Notizen
... 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.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:SNOMED-CT Base preferred ProzedurenKategorieSCT 📦6.0.0-rc This IG
Procedure.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.code.coding:SNOMED-CT Base required ProzedurenCodesSCT 📦6.0.0-rc 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-ISiK-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()
proc-ISiK-2 error Procedure Falls eine codierte Prozedur vorliegt MUSS eine kodierte Category abgebildet werden code.coding.exists() implies category.coding.exists()
proc-ISiK-3 error Procedure.code Entweder MUSS eine kodierte Prozedur vorliegen oder eine textuelle Beschreibung. Stattdessen nur Extensions hinzuzufügen (vgl. https://www.hl7.org/fhir/element.html - ele-1), ist explizit nicht erlaubt. coding.exists().not() implies text.exists()
sct-ops-1 error Procedure.code Falls die Prozedur kodiert vorliegt, SOLL mindestens ein OPS oder SNOMED-CT Code angegeben werden. coding.exists() implies coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists()

This structure is derived from Procedure

Summary

Mandatory: 3 elements(1 nested mandatory element)
Must-Support: 21 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

 

Other representations of profile: CSV, Excel, Schematron