{
  "resourceType": "StructureDefinition",
  "id": "SCR-Alert-AuditEvent",
  "url": "https://fhir.nhs.uk/StructureDefinition/SCR-Alert-AuditEvent",
  "version": "1.0.0",
  "name": "SCRAlertAuditEvent",
  "title": "SCR Alert Audit Event",
  "status": "draft",
  "date": "2020-11-13",
  "publisher": "NHS Digital",
  "contact": [
    {
      "name": "NHS Digital",
      "telecom": [
        {
          "system": "email",
          "value": "interoperabilityteam@nhs.uk",
          "use": "work"
        }
      ]
    }
  ],
  "description": "Represents an Alert of a Permission to view override while viewing of a GP Summary",
  "purpose": "This profile records business and conformance rules required to produce a well-formed TMS Event Service(TES) Alert. This information is currently not supported by the FHIR standard in the base AuditEvent resource.",
  "copyright": "Copyright © 2020 NHS Digital",
  "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": "dicom",
      "uri": "http://nema.org/dicom",
      "name": "DICOM Tag Mapping"
    },
    {
      "identity": "w5",
      "uri": "http://hl7.org/fhir/fivews",
      "name": "FiveWs Pattern Mapping"
    },
    {
      "identity": "w3c.prov",
      "uri": "http://www.w3.org/ns/prov",
      "name": "W3C PROV"
    },
    {
      "identity": "fhirprovenance",
      "uri": "http://hl7.org/fhir/provenance",
      "name": "FHIR Provenance Mapping"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "AuditEvent",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/AuditEvent",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "AuditEvent.extension",
        "path": "AuditEvent.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        },
        "min": 0
      },
      {
        "id": "AuditEvent.extension:notificationMessage",
        "path": "AuditEvent.extension",
        "sliceName": "notificationMessage",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://fhir.nhs.uk/StructureDefinition/Extension-SCR-NotificationMessage"
            ]
          }
        ]
      },
      {
        "id": "AuditEvent.type",
        "path": "AuditEvent.type",
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "AuditEventType"
            }
          ],
          "strength": "required",
          "valueSet": "https://fhir.nhs.uk/ValueSet/SCR-AlertType"
        }
      },
      {
        "id": "AuditEvent.subtype",
        "path": "AuditEvent.subtype",
        "min": 1,
        "max": "1",
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "AuditEventSubType"
            }
          ],
          "strength": "required",
          "valueSet": "https://fhir.nhs.uk/ValueSet/SCR-AlertReason"
        }
      },
      {
        "id": "AuditEvent.subtype.system",
        "path": "AuditEvent.subtype.system",
        "min": 1
      },
      {
        "id": "AuditEvent.subtype.code",
        "path": "AuditEvent.subtype.code",
        "min": 1
      },
      {
        "id": "AuditEvent.subtype.display",
        "path": "AuditEvent.subtype.display",
        "min": 1
      },
      {
        "id": "AuditEvent.agent",
        "path": "AuditEvent.agent",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "who.identifier.system"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "AuditEvent.agent:Patient",
        "path": "AuditEvent.agent",
        "sliceName": "Patient",
        "min": 1,
        "max": "1"
      },
      {
        "id": "AuditEvent.agent:Patient.who",
        "path": "AuditEvent.agent.who",
        "min": 1
      },
      {
        "id": "AuditEvent.agent:Patient.who.identifier",
        "path": "AuditEvent.agent.who.identifier",
        "min": 1
      },
      {
        "id": "AuditEvent.agent:Patient.who.identifier.system",
        "path": "AuditEvent.agent.who.identifier.system",
        "min": 1,
        "fixedUri": "https://fhir.nhs.uk/Id/nhs-number"
      },
      {
        "id": "AuditEvent.agent:Patient.who.identifier.value",
        "path": "AuditEvent.agent.who.identifier.value",
        "min": 1
      },
      {
        "id": "AuditEvent.agent:Patient.requestor",
        "path": "AuditEvent.agent.requestor",
        "fixedBoolean": false
      },
      {
        "id": "AuditEvent.agent:Organization",
        "path": "AuditEvent.agent",
        "sliceName": "Organization",
        "min": 1,
        "max": "1"
      },
      {
        "id": "AuditEvent.agent:Organization.who",
        "path": "AuditEvent.agent.who",
        "min": 1
      },
      {
        "id": "AuditEvent.agent:Organization.who.identifier",
        "path": "AuditEvent.agent.who.identifier",
        "min": 1
      },
      {
        "id": "AuditEvent.agent:Organization.who.identifier.system",
        "path": "AuditEvent.agent.who.identifier.system",
        "min": 1,
        "fixedUri": "https://fhir.nhs.uk/Id/ods-organization-code"
      },
      {
        "id": "AuditEvent.agent:Organization.who.identifier.value",
        "path": "AuditEvent.agent.who.identifier.value",
        "min": 1
      },
      {
        "id": "AuditEvent.agent:Person",
        "path": "AuditEvent.agent",
        "sliceName": "Person",
        "min": 1,
        "max": "1"
      },
      {
        "id": "AuditEvent.agent:Person.role",
        "path": "AuditEvent.agent.role",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "coding.system"
            }
          ],
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "AuditEvent.agent:Person.role:UserRole",
        "path": "AuditEvent.agent.role",
        "sliceName": "UserRole",
        "min": 1,
        "max": "1",
        "fixedCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.nhs.uk/Id/sds-user-id"
            }
          ]
        }
      },
      {
        "id": "AuditEvent.agent:Person.role:UserRole.coding.system",
        "path": "AuditEvent.agent.role.coding.system",
        "min": 1
      },
      {
        "id": "AuditEvent.agent:Person.role:UserRole.coding.code",
        "path": "AuditEvent.agent.role.coding.code",
        "min": 1
      },
      {
        "id": "AuditEvent.agent:Person.role:UserRole.coding.display",
        "path": "AuditEvent.agent.role.coding.display",
        "min": 1
      },
      {
        "id": "AuditEvent.agent:Person.who",
        "path": "AuditEvent.agent.who",
        "min": 1
      },
      {
        "id": "AuditEvent.agent:Person.who.identifier",
        "path": "AuditEvent.agent.who.identifier",
        "min": 1
      },
      {
        "id": "AuditEvent.agent:Person.who.identifier.system",
        "path": "AuditEvent.agent.who.identifier.system",
        "min": 1,
        "fixedUri": "https://fhir.nhs.uk/Id/sds-user-id"
      },
      {
        "id": "AuditEvent.agent:Person.who.identifier.value",
        "path": "AuditEvent.agent.who.identifier.value",
        "min": 1
      },
      {
        "id": "AuditEvent.source.observer.display",
        "path": "AuditEvent.source.observer.display",
        "min": 1
      },
      {
        "id": "AuditEvent.entity",
        "path": "AuditEvent.entity",
        "min": 1,
        "max": "1"
      },
      {
        "id": "AuditEvent.entity.what",
        "path": "AuditEvent.entity.what",
        "min": 1
      },
      {
        "id": "AuditEvent.entity.what.identifier",
        "path": "AuditEvent.entity.what.identifier",
        "min": 1
      },
      {
        "id": "AuditEvent.entity.what.identifier.value",
        "path": "AuditEvent.entity.what.identifier.value",
        "min": 1
      }
    ]
  }
}