{
  "resourceType": "StructureDefinition",
  "url": "https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_PS_Procedure_OPS",
  "version": "1.0.0",
  "name": "KBV_PR_MIO_PS_Procedure_OPS",
  "status": "draft",
  "publisher": "Kassenärztliche Bundesvereinigung (KBV)",
  "description": "Dieses Profil bildet ein mit OPS codiertes vorangegangenes Verfahren ab.",
  "fhirVersion": "4.0.1",
  "mapping": [
    {
      "identity": "workflow",
      "uri": "http://hl7.org/fhir/workflow",
      "name": "Workflow Pattern"
    },
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    },
    {
      "identity": "w5",
      "uri": "http://hl7.org/fhir/fivews",
      "name": "FiveWs Pattern Mapping"
    },
    {
      "identity": "v2",
      "uri": "http://hl7.org/v2",
      "name": "HL7 v2 Mapping"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "Procedure",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Procedure",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Procedure.meta",
        "path": "Procedure.meta",
        "min": 1
      },
      {
        "id": "Procedure.meta.versionId",
        "path": "Procedure.meta.versionId",
        "max": "0"
      },
      {
        "id": "Procedure.meta.lastUpdated",
        "path": "Procedure.meta.lastUpdated",
        "max": "0"
      },
      {
        "id": "Procedure.meta.source",
        "path": "Procedure.meta.source",
        "max": "0"
      },
      {
        "id": "Procedure.meta.profile",
        "path": "Procedure.meta.profile",
        "min": 1,
        "max": "1",
        "fixedCanonical": "https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_PS_Procedure_OPS|1.0.0"
      },
      {
        "id": "Procedure.meta.security",
        "path": "Procedure.meta.security",
        "max": "0"
      },
      {
        "id": "Procedure.meta.tag",
        "path": "Procedure.meta.tag",
        "max": "0"
      },
      {
        "id": "Procedure.implicitRules",
        "path": "Procedure.implicitRules",
        "max": "0"
      },
      {
        "id": "Procedure.language",
        "path": "Procedure.language",
        "max": "0"
      },
      {
        "id": "Procedure.contained",
        "path": "Procedure.contained",
        "max": "0"
      },
      {
        "id": "Procedure.identifier",
        "path": "Procedure.identifier",
        "max": "0"
      },
      {
        "id": "Procedure.instantiatesCanonical",
        "path": "Procedure.instantiatesCanonical",
        "max": "0"
      },
      {
        "id": "Procedure.instantiatesUri",
        "path": "Procedure.instantiatesUri",
        "max": "0"
      },
      {
        "id": "Procedure.basedOn",
        "path": "Procedure.basedOn",
        "max": "0"
      },
      {
        "id": "Procedure.partOf",
        "path": "Procedure.partOf",
        "max": "0"
      },
      {
        "id": "Procedure.status",
        "path": "Procedure.status",
        "fixedCode": "completed"
      },
      {
        "id": "Procedure.statusReason",
        "path": "Procedure.statusReason",
        "max": "0"
      },
      {
        "id": "Procedure.category",
        "path": "Procedure.category",
        "max": "0"
      },
      {
        "id": "Procedure.code",
        "path": "Procedure.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Procedure.code.coding",
        "path": "Procedure.code.coding",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Procedure.code.coding.system",
        "path": "Procedure.code.coding.system",
        "min": 1,
        "fixedUri": "http://fhir.de/CodeSystem/dimdi/ops"
      },
      {
        "id": "Procedure.code.coding.version",
        "path": "Procedure.code.coding.version",
        "min": 1
      },
      {
        "id": "Procedure.code.coding.code",
        "path": "Procedure.code.coding.code",
        "min": 1
      },
      {
        "id": "Procedure.code.coding.display",
        "path": "Procedure.code.coding.display",
        "min": 1
      },
      {
        "id": "Procedure.code.coding.userSelected",
        "path": "Procedure.code.coding.userSelected",
        "max": "0"
      },
      {
        "id": "Procedure.code.text",
        "path": "Procedure.code.text",
        "max": "0"
      },
      {
        "id": "Procedure.subject",
        "path": "Procedure.subject",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_PS_Patient|1.0.0"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Procedure.subject.reference",
        "path": "Procedure.subject.reference",
        "min": 1
      },
      {
        "id": "Procedure.subject.type",
        "path": "Procedure.subject.type",
        "max": "0"
      },
      {
        "id": "Procedure.subject.identifier",
        "path": "Procedure.subject.identifier",
        "max": "0"
      },
      {
        "id": "Procedure.subject.display",
        "path": "Procedure.subject.display",
        "max": "0"
      },
      {
        "id": "Procedure.encounter",
        "path": "Procedure.encounter",
        "max": "0"
      },
      {
        "id": "Procedure.performed[x]",
        "path": "Procedure.performed[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "rules": "closed"
        },
        "min": 1,
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Procedure.performed[x]:performedDateTime",
        "path": "Procedure.performed[x]",
        "sliceName": "performedDateTime",
        "min": 1,
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Procedure.recorder",
        "path": "Procedure.recorder",
        "max": "0"
      },
      {
        "id": "Procedure.asserter",
        "path": "Procedure.asserter",
        "max": "0"
      },
      {
        "id": "Procedure.performer",
        "path": "Procedure.performer",
        "max": "0"
      },
      {
        "id": "Procedure.location",
        "path": "Procedure.location",
        "max": "0"
      },
      {
        "id": "Procedure.reasonCode",
        "path": "Procedure.reasonCode",
        "max": "0"
      },
      {
        "id": "Procedure.reasonReference",
        "path": "Procedure.reasonReference",
        "max": "0"
      },
      {
        "id": "Procedure.bodySite",
        "path": "Procedure.bodySite",
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Procedure.bodySite.coding",
        "path": "Procedure.bodySite.coding",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Procedure.bodySite.coding.system",
        "path": "Procedure.bodySite.coding.system",
        "min": 1
      },
      {
        "id": "Procedure.bodySite.coding.version",
        "path": "Procedure.bodySite.coding.version",
        "min": 1
      },
      {
        "id": "Procedure.bodySite.coding.code",
        "path": "Procedure.bodySite.coding.code",
        "min": 1
      },
      {
        "id": "Procedure.bodySite.coding.display",
        "path": "Procedure.bodySite.coding.display",
        "min": 1
      },
      {
        "id": "Procedure.bodySite.coding.userSelected",
        "path": "Procedure.bodySite.coding.userSelected",
        "max": "0"
      },
      {
        "id": "Procedure.bodySite.text",
        "path": "Procedure.bodySite.text",
        "mustSupport": true
      },
      {
        "id": "Procedure.outcome",
        "path": "Procedure.outcome",
        "max": "0"
      },
      {
        "id": "Procedure.report",
        "path": "Procedure.report",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_PS_Diagnostic_Report_Result|1.0.0"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Procedure.report.reference",
        "path": "Procedure.report.reference",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Procedure.report.type",
        "path": "Procedure.report.type",
        "max": "0"
      },
      {
        "id": "Procedure.report.identifier",
        "path": "Procedure.report.identifier",
        "max": "0"
      },
      {
        "id": "Procedure.report.display",
        "path": "Procedure.report.display",
        "max": "0"
      },
      {
        "id": "Procedure.complication",
        "path": "Procedure.complication",
        "max": "0"
      },
      {
        "id": "Procedure.complicationDetail",
        "path": "Procedure.complicationDetail",
        "max": "0"
      },
      {
        "id": "Procedure.followUp",
        "path": "Procedure.followUp",
        "max": "0"
      },
      {
        "id": "Procedure.note",
        "path": "Procedure.note",
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Procedure.note.author[x]",
        "path": "Procedure.note.author[x]",
        "max": "0"
      },
      {
        "id": "Procedure.note.time",
        "path": "Procedure.note.time",
        "max": "0"
      },
      {
        "id": "Procedure.focalDevice",
        "path": "Procedure.focalDevice",
        "max": "0"
      },
      {
        "id": "Procedure.usedReference",
        "path": "Procedure.usedReference",
        "max": "0"
      },
      {
        "id": "Procedure.usedCode",
        "path": "Procedure.usedCode",
        "max": "0"
      }
    ]
  }
}