{
  "resourceType": "StructureDefinition",
  "id": "ext-capacity",
  "url": "https://vitalhub.com/fhir/StructureDefinition/ext-capacity",
  "name": "CapacityExtension",
  "title": "Capacity Status Extension",
  "status": "active",
  "publisher": "VitalHub",
  "description": "Extension to capture incapacity flags for PHI, property, and treatment decisions, each optionally linked to a consent document ID.",
  "fhirVersion": "4.0.1",
  "kind": "complex-type",
  "abstract": false,
  "type": "Extension",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
  "derivation": "constraint",
  "context": [
    {
      "type": "element",
      "expression": "Consent"
    }
  ],
  "differential": {
    "element": [
      {
        "id": "Extension",
        "path": "Extension",
        "short": "Capacity status",
        "definition": "Complex extension with three slices: IncapablePHI, IncapableProperty, IncapableTreatment.",
        "constraint": [
          {
            "key": "inv-incapableOnlyWhenCapacityTrue",
            "severity": "error",
            "human": "Capacity sub-extensions may only be present if capacity = true",
            "expression": "extension.where(url='capacity').valueBoolean = true or extension.where(url='IncapablePHI' or url='IncapableProperty' or url='IncapableTreatment').empty()"
          }
        ]
      },
      {
        "id": "Extension.url",
        "path": "Extension.url",
        "min": 1,
        "max": "1",
        "fixedUri": "https://vitalhub.com/fhir/StructureDefinition/ext-capacity"
      },
      {
        "id": "Extension.extension",
        "path": "Extension.extension",
        "min": 0,
        "max": "*",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "ordered": false,
          "rules": "open"
        }
      },
      {
        "id": "Extension.extension:Capacity",
        "path": "Extension.extension",
        "sliceName": "Capacity",
        "short": "Capacity",
        "definition": "Boolean flag for Capacity consent status.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Extension.extension:Capacity.url",
        "path": "Extension.extension.url",
        "min": 1,
        "max": "1",
        "fixedUri": "https://vitalhub.com/fhir/StructureDefinition/ext-capacity#Capacity"
      },
      {
        "id": "Extension.extension:Capacity.valueBoolean",
        "path": "Extension.extension.valueBoolean",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "Extension.extension:IncapablePHI",
        "path": "Extension.extension",
        "sliceName": "IncapablePHI",
        "short": "Indicates incapacity for PHI",
        "definition": "Boolean flag for incapacity regarding PHI.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Extension.extension:IncapablePHI.url",
        "path": "Extension.extension.url",
        "min": 1,
        "max": "1",
        "fixedUri": "https://vitalhub.com/fhir/StructureDefinition/ext-capacity#IncapablePHI"
      },
      {
        "id": "Extension.extension:IncapablePHI.valueBoolean",
        "path": "Extension.extension.valueBoolean",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "Extension.extension:IncapablePHI.extension:ConsentDocumentID",
        "path": "Extension.extension.extension",
        "sliceName": "ConsentDocumentID",
        "short": "Supporting consent document ID",
        "definition": "Identifier of the consent document supporting incapacity determination.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Extension.extension:IncapablePHI.extension:ConsentDocumentID.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "ConsentDocumentID"
      },
      {
        "id": "Extension.extension:IncapablePHI.extension:ConsentDocumentID.valueString",
        "path": "Extension.extension.extension.valueString",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:IncapableProperty",
        "path": "Extension.extension",
        "sliceName": "IncapableProperty",
        "short": "Indicates incapacity for property decisions",
        "definition": "Boolean flag for incapacity regarding property decisions.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Extension.extension:IncapableProperty.url",
        "path": "Extension.extension.url",
        "min": 1,
        "max": "1",
        "fixedUri": "https://vitalhub.com/fhir/StructureDefinition/ext-capacity#IncapableProperty"
      },
      {
        "id": "Extension.extension:IncapableProperty.valueBoolean",
        "path": "Extension.extension.valueBoolean",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "Extension.extension:IncapableProperty.extension:ConsentDocumentID",
        "path": "Extension.extension.extension",
        "sliceName": "ConsentDocumentID",
        "short": "Supporting consent document ID",
        "definition": "Identifier of the consent document supporting incapacity determination.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Extension.extension:IncapableProperty.extension:ConsentDocumentID.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "ConsentDocumentID"
      },
      {
        "id": "Extension.extension:IncapableProperty.extension:ConsentDocumentID.valueString",
        "path": "Extension.extension.extension.valueString",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:IncapableTreatment",
        "path": "Extension.extension",
        "sliceName": "IncapableTreatment",
        "short": "Indicates incapacity for treatment decisions",
        "definition": "Boolean flag for incapacity regarding treatment decisions.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Extension.extension:IncapableTreatment.url",
        "path": "Extension.extension.url",
        "min": 1,
        "max": "1",
        "fixedUri": "https://vitalhub.com/fhir/StructureDefinition/ext-capacity#IncapableTreatment"
      },
      {
        "id": "Extension.extension:IncapableTreatment.valueBoolean",
        "path": "Extension.extension.valueBoolean",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "Extension.extension:IncapableTreatment.extension:ConsentDocumentID",
        "path": "Extension.extension.extension",
        "sliceName": "ConsentDocumentID",
        "short": "Supporting consent document ID",
        "definition": "Identifier of the consent document supporting incapacity determination.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Extension.extension:IncapableTreatment.extension:ConsentDocumentID.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "ConsentDocumentID"
      },
      {
        "id": "Extension.extension:IncapableTreatment.extension:ConsentDocumentID.valueString",
        "path": "Extension.extension.extension.valueString",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      }
    ]
  }
}