{
  "resourceType": "StructureDefinition",
  "id": "ext-consents",
  "url": "https://vitalhub.com/fhir/StructureDefinition/ext-consents",
  "name": "ConsentsExtension",
  "status": "draft",
  "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": "Consents extension",
        "definition": "Captures additional consent details such as notes, disclosures, and refusals."
      },
      {
        "id": "Extension.url",
        "path": "Extension.url",
        "min": 1,
        "max": "1",
        "fixedUri": "https://vitalhub.com/fhir/StructureDefinition/ext-consents"
      },
      {
        "id": "Extension.extension",
        "path": "Extension.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "ordered": false,
          "rules": "open"
        },
        "min": 0,
        "max": "*"
      },
      {
        "id": "Extension.extension:AdditionalNotes",
        "path": "Extension.extension",
        "sliceName": "AdditionalNotes",
        "short": "Additional Notes",
        "definition": "Additional notes related to consent.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Extension.extension:AdditionalNotes.url",
        "path": "Extension.extension.url",
        "min": 1,
        "max": "1",
        "fixedUri": "https://vitalhub.com/fhir/StructureDefinition/ext-consents#AdditionalNotes"
      },
      {
        "id": "Extension.extension:AdditionalNotes.extension:Notes",
        "path": "Extension.extension.extension",
        "sliceName": "Notes",
        "short": "Notes",
        "definition": "Free-text notes.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:AdditionalNotes.extension:Start",
        "path": "Extension.extension.extension",
        "sliceName": "Start",
        "short": "Start datetime",
        "definition": "Start date/time for the note.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "dateTime"
          }
        ]
      },
      {
        "id": "Extension.extension:AdditionalNotes.extension:End",
        "path": "Extension.extension.extension",
        "sliceName": "End",
        "short": "End datetime",
        "definition": "End date/time for the note.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "dateTime"
          }
        ]
      },
      {
        "id": "Extension.extension:InformationDisclosure",
        "path": "Extension.extension",
        "sliceName": "InformationDisclosure",
        "short": "Information Disclosure",
        "definition": "Consent for information disclosure.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Extension.extension:InformationDisclosure.url",
        "path": "Extension.extension.url",
        "min": 1,
        "max": "1",
        "fixedUri": "https://vitalhub.com/fhir/StructureDefinition/ext-consents#InformationDisclosure"
      },
      {
        "id": "Extension.extension:InformationDisclosure.extension:Notes",
        "path": "Extension.extension.extension",
        "sliceName": "Notes",
        "short": "Notes",
        "definition": "Free-text notes.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:InformationDisclosure.extension:Start",
        "path": "Extension.extension.extension",
        "sliceName": "Start",
        "short": "Start datetime",
        "definition": "Start date/time for disclosure.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "dateTime"
          }
        ]
      },
      {
        "id": "Extension.extension:InformationDisclosure.extension:End",
        "path": "Extension.extension.extension",
        "sliceName": "End",
        "short": "End datetime",
        "definition": "End date/time for disclosure.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "dateTime"
          }
        ]
      },
      {
        "id": "Extension.extension:InformationDisclosure.extension:Reason",
        "path": "Extension.extension.extension",
        "sliceName": "Reason",
        "short": "Reason",
        "definition": "Reason for disclosure.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:RefusedService",
        "path": "Extension.extension",
        "sliceName": "RefusedService",
        "short": "Refused Service",
        "definition": "Consent refusal of service.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Extension.extension:RefusedService.url",
        "path": "Extension.extension.url",
        "min": 1,
        "max": "1",
        "fixedUri": "https://vitalhub.com/fhir/StructureDefinition/ext-consents#RefusedService"
      },
      {
        "id": "Extension.extension:RefusedService.extension:Notes",
        "path": "Extension.extension.extension",
        "sliceName": "Notes",
        "short": "Notes",
        "definition": "Free-text notes.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:RefusedService.extension:Start",
        "path": "Extension.extension.extension",
        "sliceName": "Start",
        "short": "Start datetime",
        "definition": "Start date/time for refusal.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "dateTime"
          }
        ]
      },
      {
        "id": "Extension.extension:RefusedService.extension:End",
        "path": "Extension.extension.extension",
        "sliceName": "End",
        "short": "End datetime",
        "definition": "End date/time for refusal.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "dateTime"
          }
        ]
      },
      {
        "id": "Extension.extension:RefusedService.extension:Reason",
        "path": "Extension.extension.extension",
        "sliceName": "Reason",
        "short": "Reason",
        "definition": "Reason for refusal.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:ConsentToShareMHAIE",
        "path": "Extension.extension",
        "sliceName": "ConsentToShareMHAIE",
        "short": "ConsentToShareMHAIE",
        "definition": "Consent to Share to the MHAIE",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Extension.extension:ConsentToShareMHAIE.url",
        "path": "Extension.extension.url",
        "min": 1,
        "max": "1",
        "fixedUri": "https://vitalhub.com/fhir/StructureDefinition/ext-consents#ConsentToShareMHAIE"
      },
      {
        "id": "Extension.extension:ConsentToShareMHAIE.valueBoolean",
        "path": "Extension.extension.valueBoolean",
        "short": "Consent flag",
        "definition": "True if consent to share with MHAIE is granted, false if not.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "Extension.extension:ConsentToShareMHAIE.extension:Start",
        "path": "Extension.extension.extension",
        "sliceName": "Start",
        "short": "Start datetime",
        "definition": "Start date/time for refusal.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "dateTime"
          }
        ]
      },
      {
        "id": "Extension.extension:ConsentToShareMHAIE.extension:End",
        "path": "Extension.extension.extension",
        "sliceName": "End",
        "short": "End datetime",
        "definition": "End date/time for refusal.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "dateTime"
          }
        ]
      },
      {
        "id": "Extension.extension:ConsentToShareMHAIE.extension:RestrictedOrgs",
        "path": "Extension.extension.extension",
        "sliceName": "RestrictedOrgs",
        "short": "RestrictedOrgs",
        "definition": "Organizations who will not access this data",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "https://vitalhub.com/fhir/ValueSet/vs-Organizations"
        }
      }
    ]
  }
}