Prozedur (Procedure)

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

Dieses Profil basiert auf dem Profil "Prozedur" der Medizininformatik-Initative.

Instanzen, die gegen ISiKProzedur valide sind, sind auch valide gegen

Profil

Canonical URL: https://gematik.de/fhir/ISiK/StructureDefinition/ISiKProzedur

idS Σ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
DokumentationsdatumS I0..1Extension(dateTime)
modifierExtension?! I0..*Extension
identifierΣ0..*Identifier
instantiatesCanonicalΣ0..*canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire)
instantiatesUriΣ0..*uri
basedOnΣ I0..*Reference(CarePlan | ServiceRequest)
partOfΣ I0..*Reference(Procedure | Observation | MedicationAdministration)
statusS Σ ?!1..1codeBinding
statusReasonΣ0..1CodeableConcept
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ1..1uriPattern
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
SeitenlokalisationS I0..1Extension(Coding)
systemS Σ1..1uriFixed Value
versionS Σ1..1string
codeS Σ I1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
extensionI0..*Extension
systemS Σ1..1uriPattern
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
id0..1string
extensionI0..*Extension
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
encounterS Σ I0..1Reference(Encounter)
performedDateTimedateTime
performedPeriodPeriod
recorderΣ I0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole)
asserterΣ I0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
functionΣ0..1CodeableConcept
actorΣ I1..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)
onBehalfOfI0..1Reference(Organization)
locationΣ I0..1Reference(Location)
reasonCodeΣ0..*CodeableConcept
reasonReferenceΣ I0..*Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference)
bodySiteΣ0..*CodeableConcept
outcomeΣ0..1CodeableConcept
reportI0..*Reference(DiagnosticReport | DocumentReference | Composition)
complication0..*CodeableConcept
complicationDetailI0..*Reference(Condition)
followUp0..*CodeableConcept
noteS0..*Annotation
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
action0..1CodeableConceptBinding
manipulatedI1..1Reference(Device)
usedReferenceI0..*Reference(Device | Medication | Substance)
usedCode0..*CodeableConcept

Link Simplifier Profil Übersicht

Folgende FHIRPath-Constraints sind im Profil zu beachten:

keyseverityhumanexpression
proc-ISiK-1errorFalls die Prozedur per OPS kodiert wird, MUSS eine SNOMED-CT kodierte Category abgebildet werdencode.coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists() implies category.coding.where(system = 'http://snomed.info/sct').exists()
proc-ISiK-2errorFalls eine codierte Prozedur vorliegt MUSS eine kodierte Category abgebildet werdencode.coding.exists() implies category.coding.exists()
sct-ops-1errorFalls die Prozedur kodiert vorliegt, SOLL mindestens ein OPS oder SNOMED-CT Code angegeben werden. Liegt die Prozedur nicht kodiert vor SOLL Freitext 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-3errorEntweder 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()

Anmerkungen zu den Must-Support Feldern

Procedure.extension:recordedDate

Bedeutung: Das Dokumentationsdatum der Prozedur MUSS zu Qualitätssicherungszwecken angegeben werden. Dies ist das fachliche Dokumentationsdatum, nicht zu verwechseln mit der technischen Anlage des Datensatzes im Primärsystem. Diese beiden Daten können jedoch identisch sein.

Procedure.status

Bedeutung: Kodierter klinischer Status der Prozedur. MUSS angegeben werden, da die Interpretation der Prozedur davon abhängt ob diese 'completed' ist oder einen anderen Status aufweist.

Procedure.category

Bedeutung: Zur groben Kategorisierung MUSS eine Kodierung auf Basis der OPS-Klassencodes erfolgen. Eine ConceptMap für das Mapping von OPS-Kodes -> Kategorie findet sich in den Deutschen Basisprofilen - Implementierungsleitfaden Abschnitt Terminologien. Die Angabe der Kategeorie MUSS nur für OPS-kodierte Prozeduren erfolgen.

Procedure.code.coding

Bedeutung: Codierte Prozedur. Entweder kodiert per OPS oder SNOMED CT. Bei der Kodierung per SNOMED CT ist das ValueSet ProzedurenCodes-SCT zu beachten.

Procedure.code.text

Bedeutung: Freitext-Beschreibung der Prozedur

Procedure.performed

Bedeutung: Zur zeitlichen Einordnung der Prozedur KANN das Durchführungsdatum der Prozedur dokumentiert werden. Mindestens MUSS der Beginn der Prozedur dokumentiert werden, das Ende KANN implementiert werden.

Procedure.subject

Bedeutung: Ein Patientenbezug der Prozedur MUSS stets zum Zwecke der Nachvollziehbarkeit und Datenintegrität vorliegen.

Procedure.note

Bedeutung: Weitere optionale Freitext-Notizen bezogen auf die durchgeführte Prozedur.

Interaktionen

Für die Ressource Procedure MUSS die REST-Interaktion "READ" implementiert werden.

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

  1. Der Suchparameter "_id" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Procedure?_id=test

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

  2. Der Suchparameter "status" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Procedure?status=http://hl7.org/fhir/event-status|entered-in-error

    Anwendungshinweise: Weitere Informationen zur Suche nach "Procedure.status" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

  3. Der Suchparameter "category" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Procedure?category=http://snomed.info/sct|387713003

    Anwendungshinweise: Weitere Informationen zur Suche nach "Procedure.category" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

  4. Der Suchparameter "code" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Procedure?code=http://fhir.de/CodeSystem/bfarm/ops|5-470

    Anwendungshinweise: Weitere Informationen zur Suche nach "Procedure.code" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

  5. Der Suchparameter "subject" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Procedure?subject=Patient/123

    Anwendungshinweise: Weitere Informationen zur Suche nach "Procedure.subject" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

  6. Der Suchparameter "patient" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Procedure?patient=Patient/123

    Anwendungshinweise: Weitere Informationen zur Suche nach "patient" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    Dieser Suchparameter ist für die Umsetzung des IHE QEDm Profils verpflichtend.

  7. Der Suchparameter "encounter" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Procedure?encounter=Encounter/123

    Anwendungshinweise: Weitere Informationen zur Suche nach "encounter" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

  8. Der Suchparameter "date" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Procedure?date=lt2020-26-10

    Anwendungshinweise: Weitere Informationen zur Suche nach "date" finden sich in der FHIR-Basisspezifikation - Abschnitt "Date Search".

    Dieser Suchparameter ist für die Umsetzung des IHE QEDm Profils verpflichtend.

  9. Der Suchparameter für "_profile" KANN unterstützt werden:

    Beispiele:

    GET [base]/Procedure?_profile=https://gematik.de/fhir/ISiK/StructureDefinition/ISiKDiagnose

    Anwendungshinweise: Weitere Informationen zur Suche nach "_profile" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources"

Beispiele

Valides Minimalbeispiel Prozedur:

{
    "resourceType": "Procedure",
    "id": "procedure",
    "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/patient"
    },
    "encounter": {
        "reference": "Encounter/patient"
    },
    "performedDateTime": "2020-04-23",
    "note":  [
        {
            "text": "Testnotiz"
        }
    ]
}