Prozedur (Procedure)
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:
- Profil Prozedur der Medizininformatik Initiative
Hinweise zu Inkompatibilitäten können über die Portalseite gemeldet werden.
Bestätigungsrelevanz
Verbindlichkeit | SHALL |
---|
Metadaten
Canonical | https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur |
---|---|
Status | active |
Version | 4.0.1 |
Basis | http://hl7.org/fhir/StructureDefinition/Procedure |
Inhalt
ISiKProzedur (Procedure) | I | Procedure | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | S I | 0..* | Extension |
Dokumentationsdatum | S I | 0..1 | Extension(dateTime) |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
instantiatesCanonical | Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) |
instantiatesUri | Σ | 0..* | uri |
basedOn | Σ I | 0..* | Reference(CarePlan | ServiceRequest) |
partOf | Σ I | 0..* | Reference(Procedure | Observation | MedicationAdministration) |
status | S Σ ?! | 1..1 | codeBinding |
statusReason | Σ | 0..1 | CodeableConcept |
category | S Σ | 0..1 | CodeableConcept |
id | 0..1 | string | |
extension | I | 0..* | Extension |
coding | Σ | 0..* | Coding |
SNOMED-CT | S Σ | 0..1 | ISiKSnomedCTCodingBinding |
text | Σ | 0..1 | string |
code | S Σ I | 1..1 | CodeableConcept |
id | 0..1 | string | |
extension | I | 0..* | Extension |
coding | S Σ | 0..* | Coding |
OPS | S Σ | 0..1 | CodingOPSBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
Seitenlokalisation | S I | 0..1 | Extension(Coding) |
system | S Σ | 1..1 | uriFixed Value |
version | S Σ | 1..1 | string |
code | S Σ I | 1..1 | code |
display | Σ | 0..1 | string |
userSelected | Σ | 0..1 | boolean |
SNOMED-CT | S Σ | 0..1 | ISiKSnomedCTCodingBinding |
text | S Σ | 0..1 | string |
subject | S Σ I | 1..1 | Reference(Patient | Group) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | S Σ I | 1..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | Σ | 0..1 | Identifier |
display | Σ | 0..1 | string |
encounter | S Σ I | 0..1 | Reference(Encounter) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | S Σ I | 1..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | Σ | 0..1 | Identifier |
display | Σ | 0..1 | string |
performed[x] | S Σ | 1..1 | |
performedDateTime | dateTime | ||
performedPeriod | Period | ||
recorder | Σ I | 0..1 | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) |
asserter | Σ I | 0..1 | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) |
performer | Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
function | Σ | 0..1 | CodeableConcept |
actor | Σ I | 1..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) |
onBehalfOf | I | 0..1 | Reference(Organization) |
location | Σ I | 0..1 | Reference(Location) |
reasonCode | Σ | 0..* | CodeableConcept |
reasonReference | Σ I | 0..* | Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) |
bodySite | Σ | 0..* | CodeableConcept |
outcome | Σ | 0..1 | CodeableConcept |
report | I | 0..* | Reference(DiagnosticReport | DocumentReference | Composition) |
complication | 0..* | CodeableConcept | |
complicationDetail | I | 0..* | Reference(Condition) |
followUp | 0..* | CodeableConcept | |
note | S | 0..* | Annotation |
focalDevice | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
action | 0..1 | CodeableConceptBinding | |
manipulated | I | 1..1 | Reference(Device) |
usedReference | I | 0..* | Reference(Device | Medication | Substance) |
usedCode | 0..* | CodeableConcept |
<StructureDefinition xmlns="http://hl7.org/fhir"> <id value="ISiKProzedur" /> <url value="https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur" /> <version value="4.0.1" /> <name value="ISiKProzedur" /> <status value="active" /> <experimental value="false" /> <date value="2024-11-25" /> <publisher value="gematik GmbH" /> <description value="Dieses Profil spezifiziert die Minimalanforderungen für die Bereitstellung von Informationen über die Behandlungen/Prozeduren eines Patienten im Rahmen des Bestätigungsverfahrens der gematik.\n### Motivation\nDie 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.\n\nIn FHIR werden Prozeduren mit der Procedure-Ressource repräsentiert.\n\nDa 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.\n\n### Kompatibilität\nFü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:\n\n* [Profil Prozedur](https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Procedure) der Medizininformatik Initiative \nHinweise zu Inkompatibilitäten können über die [Portalseite](https://service.gematik.de/servicedesk/customer/portal/16) gemeldet werden." /> <fhirVersion value="4.0.1" /> <kind value="resource" /> <abstract value="false" /> <type value="Procedure" /> <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Procedure" /> <derivation value="constraint" /> <differential> <element id="Procedure"> <path value="Procedure" /> <constraint> <key value="proc-ISiK-1" /> <severity value="error" /> <human value="Falls die Prozedur per OPS kodiert wird, MUSS eine SNOMED-CT kodierte Category abgebildet werden" /> <expression value="code.coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists() implies category.coding.where(system = 'http://snomed.info/sct').exists()" /> <source value="https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur" /> </constraint> <constraint> <key value="proc-ISiK-2" /> <severity value="error" /> <human value="Falls eine codierte Prozedur vorliegt MUSS eine kodierte Category abgebildet werden" /> <expression value="code.coding.exists() implies category.coding.exists()" /> <source value="https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur" /> </constraint> </element> <element id="Procedure.extension"> <path value="Procedure.extension" /> <mustSupport value="true" /> </element> <element id="Procedure.extension:Dokumentationsdatum"> <path value="Procedure.extension" /> <sliceName value="Dokumentationsdatum" /> <short value="Dokumentationsdatum" /> <comment value="Datum, an dem die Prozedur dokumentiert wurde. \n Es handelt sich hierbei um das fachliche Dokumentationsdatum, nicht zu verwechseln mit dem Datum der technischen Anlage des Datensatzes im Primärsystem. \n Diese beiden Daten *können* jedoch identisch sein." /> <min value="0" /> <max value="1" /> <type> <code value="Extension" /> <profile value="http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum" /> </type> <mustSupport value="true" /> </element> <element id="Procedure.status"> <path value="Procedure.status" /> <short value="Status" /> <comment value="Zeigt den aktuellen Status der Prozedur an. \n **WICHTIGER Hinweis für Implementierer: \n * Alle server-seitigen Implementierungen MÜSSEN in der Lage sein, \n die systemintern möglichen Statuswerte korrekt in FHIR abzubilden, mindestens jedoch die Werte `completed` und `unknown`.\n * 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, \n beispielsweise durch Ausblenden/Durchstreichen von Prozeduren mit dem status `entered-in-error` und Ausgrauen von Prozeduren, die noch nicht stattgefunden haben, o.ä." /> <mustSupport value="true" /> </element> <element id="Procedure.category"> <path value="Procedure.category" /> <short value="Kategorie" /> <comment value="Die Kategorisierung erfolg vorzugsweise auf Basis von SNOMED. Für OPS-codierte Prozeduren MUSS die Kategorie angegeben werden: Sie kann ermittelt werden, \n indem das erste Zeichen des OPS-Codes mit Hilfe einer [ConceptMap](http://fhir.de/ConceptMap/OPS-SNOMED-Category) auf die zutreffende SNOMED-Kategorie gemappt wird.\n **Begründung MS:** Die Kategorisierung dient der Verbesserung von Suche und Darstellung." /> <mustSupport value="true" /> </element> <element id="Procedure.category.coding"> <path value="Procedure.category.coding" /> <slicing> <discriminator> <type value="pattern" /> <path value="system" /> </discriminator> <rules value="open" /> </slicing> </element> <element id="Procedure.category.coding:SNOMED-CT"> <path value="Procedure.category.coding" /> <sliceName value="SNOMED-CT" /> <min value="0" /> <max value="1" /> <type> <code value="Coding" /> <profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKSnomedCTCoding" /> </type> <mustSupport value="true" /> <binding> <strength value="preferred" /> <valueSet value="https://gematik.de/fhir/isik/ValueSet/ProzedurenKategorieSCT" /> </binding> </element> <element id="Procedure.code"> <path value="Procedure.code" /> <short value="Prozeduren-Code" /> <comment value="Prozeduren SOLLEN mindestens entweder mit einem OPS-Code oder einem SNOMED-Code aus dem angegebenen ValueSet codiert werden. \n Ist keine Codierung möglich, MUSS statt dessen eine textuelle Beschreibung der Prozedur angegeben werden. \n **Begründung Pflichtfeld:** Ist *weder* eine Codierung *noch* eine textuelle Beschreibung vorhanden, besitzt diese Ressource keine medizinische Aussagefähigkeit." /> <min value="1" /> <constraint> <key value="sct-ops-1" /> <severity value="error" /> <human value="Falls die Prozedur kodiert vorliegt, SOLL mindestens ein OPS oder SNOMED-CT Code angegeben werden." /> <expression value="coding.exists() implies coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists()" /> <source value="https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur" /> </constraint> <constraint> <key value="proc-ISiK-3" /> <severity value="error" /> <human value="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." /> <expression value="coding.exists().not() implies text.exists()" /> <source value="https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur" /> </constraint> <mustSupport value="true" /> </element> <element id="Procedure.code.coding"> <path value="Procedure.code.coding" /> <slicing> <discriminator> <type value="pattern" /> <path value="system" /> </discriminator> <rules value="open" /> </slicing> <short value="Codierte Darstellung der Prozedur" /> <mustSupport value="true" /> </element> <element id="Procedure.code.coding:OPS"> <path value="Procedure.code.coding" /> <sliceName value="OPS" /> <short value="OPS-codierte Darstellung der Prozedur" /> <min value="0" /> <max value="1" /> <type> <code value="Coding" /> <profile value="http://fhir.de/StructureDefinition/CodingOPS" /> </type> <mustSupport value="true" /> <binding> <strength value="required" /> <valueSet value="http://fhir.de/ValueSet/bfarm/ops" /> </binding> </element> <element id="Procedure.code.coding:OPS.extension:Seitenlokalisation"> <path value="Procedure.code.coding.extension" /> <sliceName value="Seitenlokalisation" /> <short value="Seitenlokalisation" /> <comment value="**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" /> <mustSupport value="true" /> </element> <element id="Procedure.code.coding:OPS.system"> <path value="Procedure.code.coding.system" /> <short value="Namensraum des Prozeduren-Codes" /> <comment value="Hier ist stets der Wert `http://fhir.de/CodeSystem/bfarm/ops` anzugeben." /> <mustSupport value="true" /> </element> <element id="Procedure.code.coding:OPS.version"> <path value="Procedure.code.coding.version" /> <short value="Die Jahresversion des OPS Kataloges. Angegeben wird immer die vierstellige Jahreszahl (z.B. `2017`)" /> <comment value="**Begründung Pflichtfeld:** Bei Verwendung von OPS ist die Angabe der Version zwingend erforderlich. \n Hierdurch wird der Tatsache Rechnung getragen, dass jede der jährlich neu erscheinenden Fassung von OPS ein neues Codesystem darstellt." /> <mustSupport value="true" /> </element> <element id="Procedure.code.coding:OPS.code"> <path value="Procedure.code.coding.code" /> <short value="OPS-Code" /> <comment value="Hier ist der OPS-Code ohne jegliche Zusatzkennzeichen (z.B. Seitenlokalisation) oder Versionsnummern anzugeben." /> <mustSupport value="true" /> </element> <element id="Procedure.code.coding:SNOMED-CT"> <path value="Procedure.code.coding" /> <sliceName value="SNOMED-CT" /> <short value="SNOMED-codierte Darstellung der Prozedur" /> <min value="0" /> <max value="1" /> <type> <code value="Coding" /> <profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKSnomedCTCoding" /> </type> <mustSupport value="true" /> <binding> <strength value="required" /> <valueSet value="https://gematik.de/fhir/isik/ValueSet/ProzedurenCodesSCT" /> </binding> </element> <element id="Procedure.code.text"> <path value="Procedure.code.text" /> <short value="Freitextiche Beschreibung der Prozedur" /> <comment value="Die freitextliche Beschreibung kann ergänzend oder anstelle einer codierten Angabe der Prozedur erfolgen." /> <mustSupport value="true" /> </element> <element id="Procedure.subject"> <path value="Procedure.subject" /> <short value="Patientenbezug" /> <mustSupport value="true" /> </element> <element id="Procedure.subject.reference"> <path value="Procedure.subject.reference" /> <short value="Patienten-Link" /> <comment value="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." /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Procedure.encounter"> <path value="Procedure.encounter" /> <short value="Aufenthaltsbezug" /> <mustSupport value="true" /> </element> <element id="Procedure.encounter.reference"> <path value="Procedure.encounter.reference" /> <short value="Encounter-Link" /> <comment value="**Begründung Pflichtfeld:** Die Verlinkung auf eine Encounter-Ressource dient der technischen Zuordnung der Dokumentation zu einem Aufenthalt \n und ermöglicht wichtige API-Funktionen wie verkettete Suche, (Reverse-)Include etc. \n **WICHTIGER Hinweis für Implementierer:** Die Zuordnung MUSS auf auf einen Encounter der Ebene &quot;Abteilungskontakt&quot; (siehe hierzu {{pagelink:Fall}}) erfolgen. \n Bei der Auswahl des Encounters ist zu beachten, dass unter einer (Abrechnungs-)&quot;Fallnummer&quot; (hier: `Encounter.account`) \n unter Umständen mehrere Encounter gruppiert sein können (z.B. stationärer Besuch mit mehreren vor- und nachstationären Aufenthalten.)" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Procedure.performed[x]"> <path value="Procedure.performed[x]" /> <short value="Durchführungsdatum oder -Zeitraum" /> <comment value="Es muss mindestens entweder ein (partielles) Durchführungsdatum oder der Beginn des Durchführungszeitraumes angegeben werden.\n **Begründung Pflichtfeld:** Die zeitliche Einordnung einer Prozedur ist in vielen Fällen maßgeblich für deren medizinische Relevanz." /> <min value="1" /> <type> <code value="dateTime" /> </type> <type> <code value="Period" /> </type> <mustSupport value="true" /> </element> <element id="Procedure.note"> <path value="Procedure.note" /> <short value="Notizen" /> <comment value="Ergänzende Hinweise und Anmerkungen zur Prozedur" /> <mustSupport value="true" /> </element> </differential> </StructureDefinition>
{ "resourceType": "StructureDefinition", "id": "ISiKProzedur", "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur", "version": "4.0.1", "name": "ISiKProzedur", "status": "active", "experimental": false, "date": "2024-11-25", "publisher": "gematik GmbH", "description": "Dieses Profil spezifiziert die Minimalanforderungen für die Bereitstellung von Informationen über die Behandlungen/Prozeduren eines Patienten im Rahmen des Bestätigungsverfahrens der gematik.\n### Motivation\nDie 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.\n\nIn FHIR werden Prozeduren mit der Procedure-Ressource repräsentiert.\n\nDa 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.\n\n### Kompatibilität\nFü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:\n\n* [Profil Prozedur](https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Procedure) der Medizininformatik Initiative \nHinweise zu Inkompatibilitäten können über die [Portalseite](https://service.gematik.de/servicedesk/customer/portal/16) gemeldet werden.", "fhirVersion": "4.0.1", "kind": "resource", "abstract": false, "type": "Procedure", "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Procedure", "derivation": "constraint", "differential": { "element": [ { "id": "Procedure", "path": "Procedure", "constraint": [ { "key": "proc-ISiK-1", "severity": "error", "human": "Falls die Prozedur per OPS kodiert wird, MUSS eine SNOMED-CT kodierte Category abgebildet werden", "expression": "code.coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists() implies category.coding.where(system = 'http://snomed.info/sct').exists()", "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur" }, { "key": "proc-ISiK-2", "severity": "error", "human": "Falls eine codierte Prozedur vorliegt MUSS eine kodierte Category abgebildet werden", "expression": "code.coding.exists() implies category.coding.exists()", "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur" } ] }, { "id": "Procedure.extension", "path": "Procedure.extension", "mustSupport": true }, { "id": "Procedure.extension:Dokumentationsdatum", "path": "Procedure.extension", "sliceName": "Dokumentationsdatum", "short": "Dokumentationsdatum", "comment": "Datum, an dem die Prozedur dokumentiert wurde. \n Es handelt sich hierbei um das fachliche Dokumentationsdatum, nicht zu verwechseln mit dem Datum der technischen Anlage des Datensatzes im Primärsystem. \n Diese beiden Daten *können* jedoch identisch sein.", "min": 0, "max": "1", "type": [ { "code": "Extension", "profile": [ "http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum" ] } ], "mustSupport": true }, { "id": "Procedure.status", "path": "Procedure.status", "short": "Status", "comment": "Zeigt den aktuellen Status der Prozedur an. \n **WICHTIGER Hinweis für Implementierer: \n * Alle server-seitigen Implementierungen MÜSSEN in der Lage sein, \n die systemintern möglichen Statuswerte korrekt in FHIR abzubilden, mindestens jedoch die Werte `completed` und `unknown`.\n * 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, \n beispielsweise durch Ausblenden/Durchstreichen von Prozeduren mit dem status `entered-in-error` und Ausgrauen von Prozeduren, die noch nicht stattgefunden haben, o.ä.", "mustSupport": true }, { "id": "Procedure.category", "path": "Procedure.category", "short": "Kategorie", "comment": "Die Kategorisierung erfolg vorzugsweise auf Basis von SNOMED. Für OPS-codierte Prozeduren MUSS die Kategorie angegeben werden: Sie kann ermittelt werden, \n indem das erste Zeichen des OPS-Codes mit Hilfe einer [ConceptMap](http://fhir.de/ConceptMap/OPS-SNOMED-Category) auf die zutreffende SNOMED-Kategorie gemappt wird.\n **Begründung MS:** Die Kategorisierung dient der Verbesserung von Suche und Darstellung.", "mustSupport": true }, { "id": "Procedure.category.coding", "path": "Procedure.category.coding", "slicing": { "discriminator": [ { "type": "pattern", "path": "system" } ], "rules": "open" } }, { "id": "Procedure.category.coding:SNOMED-CT", "path": "Procedure.category.coding", "sliceName": "SNOMED-CT", "min": 0, "max": "1", "type": [ { "code": "Coding", "profile": [ "https://gematik.de/fhir/isik/StructureDefinition/ISiKSnomedCTCoding" ] } ], "mustSupport": true, "binding": { "strength": "preferred", "valueSet": "https://gematik.de/fhir/isik/ValueSet/ProzedurenKategorieSCT" } }, { "id": "Procedure.code", "path": "Procedure.code", "short": "Prozeduren-Code", "comment": "Prozeduren SOLLEN mindestens entweder mit einem OPS-Code oder einem SNOMED-Code aus dem angegebenen ValueSet codiert werden. \n Ist keine Codierung möglich, MUSS statt dessen eine textuelle Beschreibung der Prozedur angegeben werden. \n **Begründung Pflichtfeld:** Ist *weder* eine Codierung *noch* eine textuelle Beschreibung vorhanden, besitzt diese Ressource keine medizinische Aussagefähigkeit.", "min": 1, "constraint": [ { "key": "sct-ops-1", "severity": "error", "human": "Falls die Prozedur kodiert vorliegt, SOLL mindestens ein OPS oder SNOMED-CT Code angegeben werden.", "expression": "coding.exists() implies coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists()", "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur" }, { "key": "proc-ISiK-3", "severity": "error", "human": "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.", "expression": "coding.exists().not() implies text.exists()", "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur" } ], "mustSupport": true }, { "id": "Procedure.code.coding", "path": "Procedure.code.coding", "slicing": { "discriminator": [ { "type": "pattern", "path": "system" } ], "rules": "open" }, "short": "Codierte Darstellung der Prozedur", "mustSupport": true }, { "id": "Procedure.code.coding:OPS", "path": "Procedure.code.coding", "sliceName": "OPS", "short": "OPS-codierte Darstellung der Prozedur", "min": 0, "max": "1", "type": [ { "code": "Coding", "profile": [ "http://fhir.de/StructureDefinition/CodingOPS" ] } ], "mustSupport": true, "binding": { "strength": "required", "valueSet": "http://fhir.de/ValueSet/bfarm/ops" } }, { "id": "Procedure.code.coding:OPS.extension:Seitenlokalisation", "path": "Procedure.code.coding.extension", "sliceName": "Seitenlokalisation", "short": "Seitenlokalisation", "comment": "**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", "mustSupport": true }, { "id": "Procedure.code.coding:OPS.system", "path": "Procedure.code.coding.system", "short": "Namensraum des Prozeduren-Codes", "comment": "Hier ist stets der Wert `http://fhir.de/CodeSystem/bfarm/ops` anzugeben.", "mustSupport": true }, { "id": "Procedure.code.coding:OPS.version", "path": "Procedure.code.coding.version", "short": "Die Jahresversion des OPS Kataloges. Angegeben wird immer die vierstellige Jahreszahl (z.B. `2017`)", "comment": "**Begründung Pflichtfeld:** Bei Verwendung von OPS ist die Angabe der Version zwingend erforderlich. \n Hierdurch wird der Tatsache Rechnung getragen, dass jede der jährlich neu erscheinenden Fassung von OPS ein neues Codesystem darstellt.", "mustSupport": true }, { "id": "Procedure.code.coding:OPS.code", "path": "Procedure.code.coding.code", "short": "OPS-Code", "comment": "Hier ist der OPS-Code ohne jegliche Zusatzkennzeichen (z.B. Seitenlokalisation) oder Versionsnummern anzugeben.", "mustSupport": true }, { "id": "Procedure.code.coding:SNOMED-CT", "path": "Procedure.code.coding", "sliceName": "SNOMED-CT", "short": "SNOMED-codierte Darstellung der Prozedur", "min": 0, "max": "1", "type": [ { "code": "Coding", "profile": [ "https://gematik.de/fhir/isik/StructureDefinition/ISiKSnomedCTCoding" ] } ], "mustSupport": true, "binding": { "strength": "required", "valueSet": "https://gematik.de/fhir/isik/ValueSet/ProzedurenCodesSCT" } }, { "id": "Procedure.code.text", "path": "Procedure.code.text", "short": "Freitextiche Beschreibung der Prozedur", "comment": "Die freitextliche Beschreibung kann ergänzend oder anstelle einer codierten Angabe der Prozedur erfolgen.", "mustSupport": true }, { "id": "Procedure.subject", "path": "Procedure.subject", "short": "Patientenbezug", "mustSupport": true }, { "id": "Procedure.subject.reference", "path": "Procedure.subject.reference", "short": "Patienten-Link", "comment": "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.", "min": 1, "mustSupport": true }, { "id": "Procedure.encounter", "path": "Procedure.encounter", "short": "Aufenthaltsbezug", "mustSupport": true }, { "id": "Procedure.encounter.reference", "path": "Procedure.encounter.reference", "short": "Encounter-Link", "comment": "**Begründung Pflichtfeld:** Die Verlinkung auf eine Encounter-Ressource dient der technischen Zuordnung der Dokumentation zu einem Aufenthalt \n und ermöglicht wichtige API-Funktionen wie verkettete Suche, (Reverse-)Include etc. \n **WICHTIGER Hinweis für Implementierer:** Die Zuordnung MUSS auf auf einen Encounter der Ebene "Abteilungskontakt" (siehe hierzu {{pagelink:Fall}}) erfolgen. \n Bei der Auswahl des Encounters ist zu beachten, dass unter einer (Abrechnungs-)"Fallnummer" (hier: `Encounter.account`) \n unter Umständen mehrere Encounter gruppiert sein können (z.B. stationärer Besuch mit mehreren vor- und nachstationären Aufenthalten.)", "min": 1, "mustSupport": true }, { "id": "Procedure.performed[x]", "path": "Procedure.performed[x]", "short": "Durchführungsdatum oder -Zeitraum", "comment": "Es muss mindestens entweder ein (partielles) Durchführungsdatum oder der Beginn des Durchführungszeitraumes angegeben werden.\n **Begründung Pflichtfeld:** Die zeitliche Einordnung einer Prozedur ist in vielen Fällen maßgeblich für deren medizinische Relevanz.", "min": 1, "type": [ { "code": "dateTime" }, { "code": "Period" } ], "mustSupport": true }, { "id": "Procedure.note", "path": "Procedure.note", "short": "Notizen", "comment": "Ergänzende Hinweise und Anmerkungen zur Prozedur", "mustSupport": true } ] } }
Constraints/Invarianten
Name | Schweregrad | Beschreibung | Ausdruck |
---|---|---|---|
proc-ISiK-1 | error | 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 | Falls eine codierte Prozedur vorliegt MUSS eine kodierte Category abgebildet werden | code.coding.exists() implies category.coding.exists() |
sct-ops-1 | error | 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() |
proc-ISiK-3 | error | 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() |
Terminology-Bindings
Element | Staerke | ValueSet |
---|---|---|
Procedure.category.coding:SNOMED-CT | preferred | https://gematik.de/fhir/isik/ValueSet/ProzedurenKategorieSCT |
Procedure.code.coding:OPS | required | http://fhir.de/ValueSet/bfarm/ops |
Procedure.code.coding:SNOMED-CT | required | https://gematik.de/fhir/isik/ValueSet/ProzedurenCodesSCT |
Anmerkungen zu Must-Support-Feldern
Feldname | Kurzbeschreibung | Hinweise |
---|---|---|
Procedure.extension | ||
Procedure.extension:Dokumentationsdatum | Dokumentationsdatum | Datum, an dem die Prozedur dokumentiert wurde. |
Procedure.status | Status | Zeigt den aktuellen Status der Prozedur an.
|
Procedure.category | Kategorie | Die Kategorisierung erfolg vorzugsweise auf Basis von SNOMED. 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. |
Procedure.code.coding | Codierte Darstellung der Prozedur | |
Procedure.code.coding:OPS | OPS-codierte Darstellung der Prozedur | |
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 |
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:OPS.code | OPS-Code | Hier ist der OPS-Code ohne jegliche Zusatzkennzeichen (z.B. Seitenlokalisation) oder Versionsnummern anzugeben. |
Procedure.code.coding:SNOMED-CT | SNOMED-codierte Darstellung der Prozedur | |
Procedure.code.text | Freitextiche Beschreibung der Prozedur | Die freitextliche Beschreibung kann ergänzend oder anstelle einer codierten Angabe der Prozedur erfolgen. |
Procedure.subject | Patientenbezug | |
Procedure.subject.reference | Patienten-Link | 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. |
Procedure.encounter | Aufenthaltsbezug | |
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. |
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.note | Notizen | Ergänzende Hinweise und Anmerkungen zur Prozedur |
Interaktionen
Interaktion | Verbindlichkeit |
---|---|
read | SHALL |
search-type | SHALL |
Parameter | Typ | Verbindlichkeit | Hinweise |
---|---|---|---|
_id | token | SHALL | Beispiel: |
_tag | token | SHALL | Beispiel: |
_count | number | SHALL | Beispiel: |
_has | string | MAY | Beispiel: Suche nach allen Patienten, die eine Observation mit dem Code '1234-5' haben |
status | token | SHALL | Beispiel: |
category | token | SHALL | Beispiel: |
code | token | SHALL | Beispiel: |
patient | reference | SHALL | Beispiel: |
subject | reference | SHALL | Beispiel: |
encounter | reference | SHALL | Beispiel: |
date | date | SHALL | Beispiel: |
(Reverse-)Include
Include | ReverseInclude |
---|---|
Procedure:patient; Procedure:subject; Procedure:encounter | Encounter:diagnosis |
Beispiele
Valides Minimalbeispiel Prozedur
Procedure |
id : Appendektomie |
meta |
profile : https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur |
extension |
url : http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum |
value : 2020-04-23 |
status : completed |
category |
coding |
system : http://snomed.info/sct |
code : 387713003 |
display : Surgical procedure (procedure) |
code |
coding |
system : http://snomed.info/sct |
code : 80146002 |
display : Excision of appendix (procedure) |
coding |
system : http://fhir.de/CodeSystem/bfarm/ops |
version : 2020 |
code : 5-470 |
display : Appendektomie |
text : Entfernung des Blinddarms |
subject |
reference : Patient/PatientinMusterfrau |
performed : 2020-04-23 |
note |
text : Testnotiz |
<Procedure xmlns="http://hl7.org/fhir"> <id value="Appendektomie" /> <meta> <profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur" /> </meta> <extension url="http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum"> <valueDateTime value="2020-04-23" /> </extension> <status value="completed" /> <category> <coding> <system value="http://snomed.info/sct" /> <code value="387713003" /> <display value="Surgical procedure (procedure)" /> </coding> </category> <code> <coding> <system value="http://snomed.info/sct" /> <code value="80146002" /> <display value="Excision of appendix (procedure)" /> </coding> <coding> <system value="http://fhir.de/CodeSystem/bfarm/ops" /> <version value="2020" /> <code value="5-470" /> <display value="Appendektomie" /> </coding> <text value="Entfernung des Blinddarms" /> </code> <subject> <reference value="Patient/PatientinMusterfrau" /> </subject> <performedDateTime value="2020-04-23" /> <note> <text value="Testnotiz" /> </note> </Procedure>
{ "resourceType": "Procedure", "id": "Appendektomie", "meta": { "profile": [ "https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur" ] }, "extension": [ { "url": "http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum", "valueDateTime": "2020-04-23" } ], "status": "completed", "category": { "coding": [ { "code": "387713003", "system": "http://snomed.info/sct", "display": "Surgical procedure (procedure)" } ] }, "code": { "coding": [ { "code": "80146002", "system": "http://snomed.info/sct", "display": "Excision of appendix (procedure)" }, { "version": "2020", "code": "5-470", "system": "http://fhir.de/CodeSystem/bfarm/ops", "display": "Appendektomie" } ], "text": "Entfernung des Blinddarms" }, "subject": { "reference": "Patient/PatientinMusterfrau" }, "performedDateTime": "2020-04-23", "note": [ { "text": "Testnotiz" } ] }