{
  "resourceType": "StructureDefinition",
  "id": "KT2AuditEvent",
  "language": "nl-NL",
  "url": "http://koppeltaal.nl/fhir/StructureDefinition/KT2AuditEvent",
  "version": "0.10.0",
  "name": "KT2_AuditEvent",
  "status": "draft",
  "date": "2023-01-31",
  "publisher": "VZVZ",
  "contact": [
    {
      "name": "VZVZ",
      "telecom": [
        {
          "system": "email",
          "value": "standaardisatie@vzvz.nl",
          "use": "work"
        }
      ]
    }
  ],
  "description": "The AuditEvent resource is used to consolidate and track logging information within the Koppeltaal ecosystem. It captures details about system activities, data access, and interactions between applications for security and compliance purposes.",
  "jurisdiction": [
    {
      "coding": [
        {
          "code": "NL",
          "system": "urn:iso:std:iso:3166",
          "display": "Netherlands"
        }
      ]
    }
  ],
  "copyright": "VZVZ",
  "fhirVersion": "4.0.1",
  "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"
            }
          ],
          "ordered": false,
          "rules": "open"
        }
      },
      {
        "id": "AuditEvent.extension:resource-origin",
        "path": "AuditEvent.extension",
        "sliceName": "resource-origin",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://koppeltaal.nl/fhir/StructureDefinition/resource-origin"
            ]
          }
        ]
      },
      {
        "id": "AuditEvent.extension:traceId",
        "path": "AuditEvent.extension",
        "sliceName": "traceId",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://koppeltaal.nl/fhir/StructureDefinition/trace-id"
            ]
          }
        ]
      },
      {
        "id": "AuditEvent.extension:correlationId",
        "path": "AuditEvent.extension",
        "sliceName": "correlationId",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://koppeltaal.nl/fhir/StructureDefinition/correlation-id"
            ]
          }
        ]
      },
      {
        "id": "AuditEvent.extension:requestId",
        "path": "AuditEvent.extension",
        "sliceName": "requestId",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://koppeltaal.nl/fhir/StructureDefinition/request-id"
            ]
          }
        ]
      },
      {
        "id": "AuditEvent.type",
        "path": "AuditEvent.type",
        "comment": "For more information on which values to use see [Koppeltaal Implementation Guide](https://simplifier.net/guide/koppeltaal/Home/Profile-Specific-Notes/AuditEvent.page.md?version=current)",
        "binding": {
          "strength": "extensible",
          "valueSet": "http://hl7.org/fhir/ValueSet/audit-event-type"
        }
      },
      {
        "id": "AuditEvent.subtype",
        "path": "AuditEvent.subtype",
        "comment": "For more information on which values to use see [Koppeltaal Implementation Guide](https://simplifier.net/guide/koppeltaal/Home/Profile-Specific-Notes/AuditEvent.page.md?version=current)"
      },
      {
        "id": "AuditEvent.purposeOfEvent",
        "path": "AuditEvent.purposeOfEvent",
        "max": "0"
      },
      {
        "id": "AuditEvent.agent.type",
        "path": "AuditEvent.agent.type",
        "comment": "For more information on which values to use see [Koppeltaal Implementation Guide](https://simplifier.net/guide/koppeltaal/Home/Profile-Specific-Notes/AuditEvent.page.md?version=current)",
        "min": 1,
        "binding": {
          "strength": "extensible",
          "valueSet": "http://hl7.org/fhir/ValueSet/participation-role-type"
        }
      },
      {
        "id": "AuditEvent.agent.role",
        "path": "AuditEvent.agent.role",
        "comment": "This element is not used in the context of Koppeltaal 2.0"
      },
      {
        "id": "AuditEvent.agent.who",
        "path": "AuditEvent.agent.who",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://koppeltaal.nl/fhir/StructureDefinition/KT2Device"
            ]
          }
        ]
      },
      {
        "id": "AuditEvent.agent.altId",
        "path": "AuditEvent.agent.altId",
        "max": "0"
      },
      {
        "id": "AuditEvent.agent.name",
        "path": "AuditEvent.agent.name",
        "max": "0"
      },
      {
        "id": "AuditEvent.agent.location",
        "path": "AuditEvent.agent.location",
        "max": "0"
      },
      {
        "id": "AuditEvent.agent.policy",
        "path": "AuditEvent.agent.policy",
        "max": "0"
      },
      {
        "id": "AuditEvent.agent.media",
        "path": "AuditEvent.agent.media",
        "max": "0"
      },
      {
        "id": "AuditEvent.agent.purposeOfUse",
        "path": "AuditEvent.agent.purposeOfUse",
        "max": "0"
      },
      {
        "id": "AuditEvent.source.site",
        "path": "AuditEvent.source.site",
        "definition": "Domainname of the observer"
      },
      {
        "id": "AuditEvent.source.observer",
        "path": "AuditEvent.source.observer",
        "definition": "Reporter that creates the event",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://koppeltaal.nl/fhir/StructureDefinition/KT2Device"
            ]
          }
        ]
      },
      {
        "id": "AuditEvent.entity",
        "path": "AuditEvent.entity",
        "min": 1
      },
      {
        "id": "AuditEvent.entity.type",
        "path": "AuditEvent.entity.type",
        "comment": "For more information on which values to use see [Koppeltaal Implementation Guide](https://simplifier.net/guide/koppeltaal/Home/Profile-Specific-Notes/AuditEvent.page.md?version=current)"
      },
      {
        "id": "AuditEvent.entity.lifecycle",
        "path": "AuditEvent.entity.lifecycle",
        "comment": "This element is not used in the context of Koppeltaal 2.0"
      },
      {
        "id": "AuditEvent.entity.securityLabel",
        "path": "AuditEvent.entity.securityLabel",
        "comment": "This element is not used in the context of Koppeltaal 2.0"
      },
      {
        "id": "AuditEvent.entity.query",
        "path": "AuditEvent.entity.query",
        "comment": "Warning: name and query are mutually exclusive. Use query to register the full query, including parameters."
      },
      {
        "id": "AuditEvent.entity.detail",
        "path": "AuditEvent.entity.detail",
        "max": "0"
      }
    ]
  }
}