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

NameCanonical
ISiKProzedurhttps://gematik.de/fhir/isik/v2/Basismodul/StructureDefinition/ISiKProzedur

idS Σ1..1System.String
DokumentationsdatumS I0..1Extension(dateTime)
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
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
SeitenlokalisationS I0..1Extension(Coding)
systemS Σ1..1uriFixed Value
versionS Σ1..1string
codeS Σ I1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
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)
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
action0..1CodeableConceptBinding
manipulatedI1..1Reference(Device)
usedReferenceI0..*Reference(Device | Medication | Substance)
usedCode0..*CodeableConcept


Constraints

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. Ansonsten Freitext.coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists() or text.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()

Terminology Bindings

PathNameStrengthURL
Encounter.statusEncounterStatusDerequiredhttp://fhir.de/ValueSet/EncounterStatusDe
Encounter.classEncounterClassDErequiredhttp://fhir.de/ValueSet/EncounterClassDE
Encounter.typekontaktebene-derequiredhttp://fhir.de/ValueSet/kontaktebene-de
Encounter.typekontaktart-derequiredhttp://fhir.de/ValueSet/kontaktart-de
Encounter.serviceType.codingdkgev/Fachabteilungsschluesselrequiredhttp://fhir.de/ValueSet/dkgev/Fachabteilungsschluessel
Encounter.serviceType.codingdkgev/Fachabteilungsschluessel-erweitertrequiredhttp://fhir.de/ValueSet/dkgev/Fachabteilungsschluessel-erweitert
Encounter.diagnosis.use.codingDiagnoseTyprequiredhttp://fhir.de/ValueSet/DiagnoseTyp
Encounter.diagnosis.use.codingDiagnosesubtyprequiredhttp://fhir.de/ValueSet/Diagnosesubtyp
Encounter.hospitalization.admitSourcedgkev/Aufnahmeanlassextensiblehttp://fhir.de/ValueSet/dgkev/Aufnahmeanlass
Encounter.location.physicalTypeISiKLocationPhysicalTypeextensiblehttps://gematik.de/fhir/isik/v2/Basismodul/ValueSet/ISiKLocationPhysicalType

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. Alle in einem System möglichen Status-Werte müssen über FHIR korrekt repräsentiert werden können, mindestens jedoch die Status-Werte "completed" und "unknown". Deren korrekte Abbildung wird im Rahmen des Bestätigungsverfahrens überprüft.

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 ProzedurenCodesSCT 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/v2/Basismodul/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": "Appendektomie",
    "meta": {
        "profile":  [
            "https://gematik.de/fhir/isik/v2/Basismodul/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"
        }
    ]
}