{
  "resourceType": "StructureDefinition",
  "id": "mii-pr-prozedur-procedure",
  "url": "https://gematik.de/fhir/isik/StructureDefinition/mii-pr-prozedur-procedure",
  "version": "6.0.0-rc",
  "name": "MII_PR_Prozedur_Procedure",
  "title": "MII PR Prozedur Procedure",
  "status": "active",
  "experimental": false,
  "date": "2026-04-02",
  "publisher": "gematik GmbH",
  "description": "Dieses Profil übernimmt die Vorgaben des Profils Prozedur der Medizininformatik-Initiative, um einzelne Profile für den Einsatz in ISiK zu spezifizieren, insbesondere die Beatmung aus dem MII Modul ICU.\nWesentliche Änderungen:\n- Metadaten an ISiK angepasst\n- Translation Entfernt",
  "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-mii-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/mii-pr-prozedur-procedure"
          }
        ]
      },
      {
        "id": "Procedure.id",
        "path": "Procedure.id",
        "short": "serverseitige, interne ID des Datensatzes",
        "comment": "**bedingtes Pflichtfeld/bedingtes MS:** Alle von einem Server bereitgestellten Ressourcen MÜSSEN über eine `id` verfügen.\n  Von Clients erzeugte Ressourcen, die im Kontext einer CREATE-Interaktion übermittelt werden, MÜSSEN NICHT über eine `id`verfügen. ",
        "mustSupport": true
      },
      {
        "id": "Procedure.meta",
        "path": "Procedure.meta",
        "mustSupport": true
      },
      {
        "id": "Procedure.meta.versionId",
        "path": "Procedure.meta.versionId",
        "short": "Eindeutiger Name der serverseitigen Version des Datensatzes",
        "comment": "Alle von einem Server bereitgestellten Ressourcen SOLLEN über eine `versionID` verfügen.\n  Von Clients erzeugte Ressourcen, die im Kontext einer CREATE-Interaktion übermittelt werden, MÜSSEN NICHT über eine `versionID`verfügen. "
      },
      {
        "id": "Procedure.meta.lastUpdated",
        "path": "Procedure.meta.lastUpdated",
        "short": "Zeitpunkt der letzten Änderung",
        "comment": "Alle von einem Server bereitgestellten Ressourcen SOLLEN über ein `lastUpdate` verfügen.\n  Von Clients erzeugte Ressourcen, die im Kontext einer CREATE-Interaktion übermittelt werden, MÜSSEN NICHT über ein `lastUpdate`verfügen. "
      },
      {
        "id": "Procedure.meta.source",
        "path": "Procedure.meta.source",
        "mustSupport": true
      },
      {
        "id": "Procedure.meta.profile",
        "path": "Procedure.meta.profile",
        "mustSupport": true
      },
      {
        "id": "Procedure.implicitRules",
        "path": "Procedure.implicitRules",
        "short": "Verweis auf die Regeln, nach denen die Ressource erstellt wurde",
        "comment": "Begründung Constraint: In ISiK existiert kein Use-Case für dieses Element. Da es sich um ein Modifying Element handelt, wird es daher ausgeschlossen.\n  Darüber hinaus werden die Regeln als URI vorgehalten. Dies führt dazu, dass sich hinter der URI eine beliebige Menge an Regeln befinden kann; wodurch  nicht sichergestellt werden kann, dass alle Clients die Regeln korrekt interpretieren können.",
        "max": "0"
      },
      {
        "id": "Procedure.extension",
        "path": "Procedure.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        },
        "mustSupport": true
      },
      {
        "id": "Procedure.extension:Dokumentationsdatum",
        "path": "Procedure.extension",
        "sliceName": "Dokumentationsdatum",
        "short": "Dokumentationsdatum",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Procedure.extension:durchfuehrungsabsicht",
        "path": "Procedure.extension",
        "sliceName": "durchfuehrungsabsicht",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://gematik.de/fhir/isik/StructureDefinition/mii-ex-prozedur-durchfuehrungsabsicht"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Procedure.status",
        "path": "Procedure.status",
        "short": "Status",
        "definition": "Vorbereitung | in Arbeit | nicht durchgeführt | pausiert | abgebrochen | abgeschlossen | Eingabe fehlerhaft | unbekannt",
        "mustSupport": true
      },
      {
        "id": "Procedure.category",
        "path": "Procedure.category",
        "short": "Kategorie",
        "definition": "Diagnostische Maßnahmen | Bildgebende Diagnostik | Operationen | Medikamente | Nichtoperative therapeutische Maßnahmen | Ergänzende Maßnahmen",
        "mustSupport": true
      },
      {
        "id": "Procedure.category.coding",
        "path": "Procedure.category.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "$this"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Procedure.category.coding:sct",
        "path": "Procedure.category.coding",
        "sliceName": "sct",
        "min": 0,
        "max": "1",
        "patternCoding": {
          "system": "http://snomed.info/sct"
        },
        "mustSupport": true,
        "binding": {
          "strength": "preferred",
          "valueSet": "https://gematik.de/fhir/isik/ValueSet/mii-vs-prozedur-opskategorien-snomedct"
        }
      },
      {
        "id": "Procedure.category.coding:sct.system",
        "path": "Procedure.category.coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Procedure.category.coding:sct.code",
        "path": "Procedure.category.coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Procedure.code",
        "path": "Procedure.code",
        "short": "Code",
        "definition": "Code aus OPS - Operationen- und Prozedurenschlüssel, SNOMED CT oder andere.",
        "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/mii-pr-prozedur-procedure"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Procedure.code.coding",
        "path": "Procedure.code.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "$this"
            }
          ],
          "rules": "open"
        },
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Procedure.code.coding:ops",
        "path": "Procedure.code.coding",
        "sliceName": "ops",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Coding",
            "profile": [
              "http://fhir.de/StructureDefinition/CodingOPS"
            ]
          }
        ],
        "patternCoding": {
          "system": "http://fhir.de/CodeSystem/bfarm/ops"
        },
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "https://gematik.de/fhir/isik/ValueSet/mii-vs-prozedur-ops"
        }
      },
      {
        "id": "Procedure.code.coding:ops.extension:Seitenlokalisation",
        "path": "Procedure.code.coding.extension",
        "sliceName": "Seitenlokalisation",
        "mustSupport": true
      },
      {
        "id": "Procedure.code.coding:ops.system",
        "path": "Procedure.code.coding.system",
        "mustSupport": true
      },
      {
        "id": "Procedure.code.coding:ops.version",
        "path": "Procedure.code.coding.version",
        "mustSupport": true
      },
      {
        "id": "Procedure.code.coding:ops.code",
        "path": "Procedure.code.coding.code",
        "mustSupport": true
      },
      {
        "id": "Procedure.code.coding:sct",
        "path": "Procedure.code.coding",
        "sliceName": "sct",
        "min": 0,
        "max": "1",
        "patternCoding": {
          "system": "http://snomed.info/sct"
        },
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "https://gematik.de/fhir/isik/ValueSet/mii-vs-prozedur-prozeduren-snomedct"
        }
      },
      {
        "id": "Procedure.code.coding:sct.system",
        "path": "Procedure.code.coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Procedure.code.coding:sct.code",
        "path": "Procedure.code.coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Procedure.subject",
        "path": "Procedure.subject",
        "mustSupport": true
      },
      {
        "id": "Procedure.performed[x]",
        "path": "Procedure.performed[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "ordered": false,
          "rules": "open"
        },
        "short": "Durchführungsdatum",
        "definition": "Durchführungsdatum oder -zeitraum der Prozedur.",
        "min": 1,
        "type": [
          {
            "code": "dateTime"
          },
          {
            "code": "Period"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Procedure.performed[x]:performedDateTime",
        "path": "Procedure.performed[x]",
        "sliceName": "performedDateTime",
        "definition": "Durchführungsdatum der Prozedur.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "dateTime"
          }
        ]
      },
      {
        "id": "Procedure.performed[x]:performedPeriod",
        "path": "Procedure.performed[x]",
        "sliceName": "performedPeriod",
        "short": "Durchführungszeitraum",
        "definition": "Zeitraum, in dem die Prozedur durchgeführt wurde.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Period"
          }
        ]
      },
      {
        "id": "Procedure.bodySite",
        "path": "Procedure.bodySite",
        "short": "Körperstelle",
        "definition": "Körperstelle der Prozedur mittels SNOMED CT inklusive Lateralität.",
        "mustSupport": true
      },
      {
        "id": "Procedure.bodySite.coding",
        "path": "Procedure.bodySite.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "system"
            }
          ],
          "rules": "open"
        },
        "mustSupport": true
      },
      {
        "id": "Procedure.bodySite.coding:snomed-ct",
        "path": "Procedure.bodySite.coding",
        "sliceName": "snomed-ct",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Procedure.bodySite.coding:snomed-ct.system",
        "path": "Procedure.bodySite.coding.system",
        "min": 1,
        "patternUri": "http://snomed.info/sct",
        "mustSupport": true
      },
      {
        "id": "Procedure.bodySite.coding:snomed-ct.version",
        "path": "Procedure.bodySite.coding.version",
        "mustSupport": true
      },
      {
        "id": "Procedure.bodySite.coding:snomed-ct.code",
        "path": "Procedure.bodySite.coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Procedure.note",
        "path": "Procedure.note",
        "short": "Hinweis",
        "definition": "Zusätzliche Informationen zur Prozedur als Freitext.",
        "mustSupport": true
      }
    ]
  }
}