MII-Initiative

[EN] Module Procedure - Version 1.0 - IG

Procedure (Procedure)


Description

This profile describes a procedure in the Medical Informatics Initiative.

NameCanonical
ProfileProcedureProzedurhttps://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Procedure

Differential

idS Σ0..1string
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceS Σ0..1uri
profileS Σ0..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
recordedDateS I0..1Extension(dateTime)
durchfuehrungsabsichtS I0..1Extension(Coding)
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..1uriFixed Value
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..1uriPattern
versionS Σ1..1string
codeS Σ1..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
textΣ0..1string
subjectΣ I1..1MII-Reference(Patient | Group)
encounterΣ 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)
bodySiteS Σ0..*CodeableConceptBinding
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


Notes

FHIR-Element Erklärung
Procedure.id Must-support, but optional
Procedure.meta Must-support, but optional
Procedure.status No restrictions regarding the selected status
Procedure.category Mandatory SNOMED CT categorization based on procedure code. See
Command 'pagelink' could not render: Page not found.
for a mapping from OPS class title to SNOMED CT. Only relevant if the procedure is coded per OPS, see proc-mii-1
Procedure.code Mandatory coding either per OPS or SNOMED. Further coding permitted.
Procedure.code:ops See OPS-Kodierung - German Base Profiles
Procedure.performed[x] Beside the specification as dateTime also a Period can be specified (if start and end time are known)
Procedure.bodySite Detailed coding of the body site(s) of the procedure. Should NOT be used to map the laterality of the procedure. This is a property of the code. See Procedure.code:ops
Procedure.note Free text information about the procedure

Mapping

FHIR Element Logischer Datensatz
Procedure.code:ops Prozedur.OPSProzedurKodiert
Procedure.code:ops.coding.code Prozedur.OPSProzedurKodiert.VollständigerProzedurenkode (Kode)
Procedure.code:ops.coding.system Prozedur.OPSProzedurKodiert.VollständigerProzedurenkode (Kodesystem)
Procedure.code:ops.coding.version Prozedur.OPSProzedurKodiert.VollständigerProzedurenkode (Version)
Procedure.code:ops.extension.seitenlokalisation Prozedur.OPSProzedurKodiert.Seitenlokalisation
Procedure.code:sct Prozedur.SNOMEDProzedurKodiert
Procedure.code:sct.code Prozedur.SNOMEDProzedurKodiert.VollständigerProzedurenkode (Kode)
Procedure.code:sct.system Prozedur.SNOMEDProzedurKodiert.VollständigerProzedurenkode (Kodesystem)
Procedure.bodySite Prozedur.Körperstelle
Procedure.performed[x] Prozedur.Durchführungsdatum
Procedure.note Prozedur.Freitextbeschreibung
Procedure.extension.Dokumentationsdatum Prozedur.Dokumentationsdatum
Procedure.extension.durchfuehrungsabsicht Prozedur.Durchfuehrungsabsicht

Constraints

The following invariants must be considered when implementing the profile:

Constraints:

keyseverityhumanexpression
proc-mii-1errorFalls die Prozedur per OPS kodiert wird, muss eine SNOMED-CT kodierte Category abgebildet werdencode.coding.where(system = 'http://fhir.de/CodeSystem/dimdi/ops').exists() implies category.coding.where(system = 'http://snomed.info/sct').exists()
sct-ops-1errorEntweder wird die Prozedur mit OPS oder SNOMED-CT kodiert.coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/dimdi/ops').exists()

Further specifications are made by the profile for the data type OPS by the German base profiles.

Terminology Bindings

PathNameStrengthURL
Procedure.category.codingprocedures-category-sctpreferredhttps://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/ValueSet/procedures-category-sct
Procedure.code.codingdimdi/opsrequiredhttp://fhir.de/ValueSet/dimdi/ops
Procedure.code.codingprocedures-sctrequiredhttps://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/ValueSet/procedures-sct

Snapshot

idS Σ0..1string
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceS Σ0..1uri
profileS Σ0..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
recordedDateS I0..1Extension(dateTime)
durchfuehrungsabsichtS I0..1Extension(Coding)
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..1uriFixed Value
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..1uriPattern
versionS Σ1..1string
codeS Σ1..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
textΣ0..1string
subjectΣ I1..1MII-Reference(Patient | Group)
encounterΣ 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)
bodySiteS Σ0..*CodeableConceptBinding
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


SearchParameter

The following SearchParameters are relevant for the module Person, also in combination:

  1. The SearchParameter "_id" MUST be supported:

    Beispiele:

    GET [base]/Procedure?_id=103270

    Note: Additional information regarding the search using "_id" can be found in FHIR Core Specification - Section "Parameters for all resources".

  2. The SearchParameter "_profile" MUST be supported:

    Beispiele:

    GET [base]/Procedure?_profile=https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Procedure

    Note: Additional information regarding the search using "_profile" can be found in FHIR Core Specification - Section "Parameters for all resources".

  3. The SearchParameter "status" MUST be supported:

    Beispiele:

    GET [base]/Procedure?status=completed

    Note: Additional information regarding the search using "Procedure.status" can be found in FHIR Core Specification - Section "Token Search".

  4. The SearchParameter "category" MUST be supported:

    Beispiele:

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

    Note: Additional information regarding the search using "Procedure.category" can be found in FHIR Core Specification - Section "Token Search".

  5. The SearchParameter "code" MUST be supported:

    Beispiele:

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

    Note: Additional information regarding the search using "Procedure.code" can be found in FHIR Core Specification - Section "Token Search".

  6. The SearchParameter "date" MUST be supported:

    Beispiele:

    GET [base]/Procedure?date=2022-01-01

    Note: Additional information regarding the search using "Procedure.performed" can be found in FHIR Core Specification - Section "Date Search".

  7. The SearchParameter "subject" MUST be supported:

    Beispiele:

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

    Note: Additional information regarding the search using "Procedure.subject" can be found in FHIR Core Specification - Section "reference".

  8. The SearchParameter "patient" MUST be supported:

    Beispiele:

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

    Note: Additional information regarding the search using "Procedure.subject" can be found in FHIR Core Specification - Section "reference".

  9. The SearchParameter "bodySite" MUST be supported:

    Beispiele:

    GET [base]/Procedure?bodySite=http://snomed.info/sct|80891009

    Note: Additional information regarding the search using "Procedure.bodySite" can be found in FHIR Core Specification - Section "Token Search".

  10. The SearchParameter "dokumentationsdatum" MUST be supported:

    Beispiele:

    GET [base]/Procedure?dokumentationsdatum=2022-01-01

    Note: Additional information regarding the search using "Procedure.extension:Dokumentationsdatum" can be found in FHIR Core Specification - Section "Date Search".

  11. The SearchParameter "durchfuehrungsabsicht" MUST be supported:

    Beispiele:

    GET [base]/Procedure?durchfuehrungsabsicht=http://snomed.info/sct|262202000

    Note: Additional information regarding the search using "Procedure.extension:Durchfuehrungsabsicht" can be found in FHIR Core Specification - Section "Token Search".


Examples

Example (minimal):

{
    "resourceType": "Procedure",
    "id": "ExampleProcedure",
    "meta": {
        "profile":  [
            "https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Procedure"
        ]
    },
    "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)"
            },
            {
                "system": "http://fhir.de/CodeSystem/dimdi/ops",
                "version": "2020",
                "code": "5-470",
                "display": "Appendektomie"
            }
        ]
    },
    "performedDateTime": "2020-04-23",
    "subject": {
        "identifier": {
            "system": "http://mii-standort.example.de/fhir/NamingSystem/pid",
            "value": "1234567890",
            "assigner": {
                "identifier": {
                    "system": "https://www.medizininformatik-initiative.de/fhir/core/NamingSystem/DIZ",
                    "value": "UKK"
                }
            }
        }
    }
}