PackagesCanonicalsLogsProblems
    Packages
    ihe.iti.balp@1.1.0
    https://profiles.ihe.net/ITI/BALP/StructureDefinition/IHE.BasicAudit.PrivacyDisclosure.Recipient
description: Defines constraints on the AuditEvent Resource to record when a Privacy Disclosure is detected at the Recipient of the data.\n\n- Import event\n- shall have source of itself\n- shall have a source agent\n- shall have a recipient agent\n- may have user, app, organization agent(s)\n  - combine with the Security Token pattern\n- may, if known, have the custodian that released the data\n- may, if known, have the authorizer that represented the patient (may be the patient)\n- shall have a patient entity\n- shall have a set identity entity
package_name: ihe.iti.balp
derivation: constraint
name: AuditPrivacyDisclosureRecipient
type: AuditEvent
elements:
  outcomeDesc: {mustSupport: true, index: 6}
  type:
    pattern:
      type: Coding
      value: {code: '110107', system: 'http://dicom.nema.org/resources/ontology/DCM', display: Import}
    index: 1
  outcome: {index: 5}
  agent:
    array: true
    min: 2
    index: 8
    slicing:
      rules: open
      description: source, recipient, and possibly the user who participated
      discriminator:
      - {path: type, type: pattern}
      min: 2
      slices:
        source:
          match:
            type:
              coding:
              - {code: '110153', system: 'http://dicom.nema.org/resources/ontology/DCM', display: Source Role ID}
          schema:
            _required: true
            index: 9
            elements:
              type:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: '110153', system: 'http://dicom.nema.org/resources/ontology/DCM', display: Source Role ID}
                index: 10
              who: {index: 11}
              network: {index: 12}
            required: [who, network, type]
        recipient:
          match:
            type:
              coding:
              - {code: '110152', system: 'http://dicom.nema.org/resources/ontology/DCM', display: Destination Role ID}
          schema:
            constraint:
              val-audit-source: {human: The Audit Source is this agent too., source: 'https://profiles.ihe.net/ITI/BALP/StructureDefinition/IHE.BasicAudit.PrivacyDisclosure.Recipient', severity: error, expression: $this.who = %resource.source.observer}
            _required: true
            index: 13
            elements:
              type:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: '110152', system: 'http://dicom.nema.org/resources/ontology/DCM', display: Destination Role ID}
                index: 14
              who: {index: 15}
              network: {index: 16}
            required: [who, network, type]
        custodian:
          match:
            type:
              coding:
              - {code: '159541003', system: 'http://snomed.info/sct', display: Record keeping/library clerk}
          schema:
            index: 17
            elements:
              type:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: '159541003', system: 'http://snomed.info/sct', display: Record keeping/library clerk}
                index: 18
              who: {index: 19}
            required: [who, type]
        authorizer:
          match:
            type:
              coding:
              - {code: '429577009', system: 'http://snomed.info/sct', display: Patient Advocate}
          schema:
            index: 20
            elements:
              type:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: '429577009', system: 'http://snomed.info/sct', display: Patient Advocate}
                index: 21
              who: {index: 22}
            required: [who, type]
  purposeOfEvent: {mustSupport: true, index: 7}
  action:
    pattern: {type: Code, value: C}
    index: 4
  entity:
    array: true
    min: 2
    index: 23
    slicing:
      rules: open
      description: patient and some data involved
      discriminator:
      - {path: type, type: pattern}
      min: 2
      slices:
        patient:
          match:
            type: {code: '1', system: 'http://terminology.hl7.org/CodeSystem/audit-entity-type', display: Person}
          schema:
            _required: true
            index: 24
            elements:
              what:
                type: Reference
                refers: ['http://hl7.org/fhir/StructureDefinition/Patient']
                index: 25
              type:
                pattern:
                  type: Coding
                  value: {code: '1', system: 'http://terminology.hl7.org/CodeSystem/audit-entity-type', display: Person}
                index: 26
              role:
                pattern:
                  type: Coding
                  value: {code: '1', system: 'http://terminology.hl7.org/CodeSystem/object-role', display: Patient}
                index: 27
            required: [what, type]
  modifierExtension: {index: 0}
  subtype:
    index: 2
    slicing:
      rules: open
      description: needs to at least be a disclosure event
      discriminator:
      - {path: $this, type: value}
      min: 1
      slices:
        disclosure:
          match: {code: disclose, system: 'http://terminology.hl7.org/CodeSystem/iso-21089-lifecycle'}
          schema:
            pattern:
              type: Coding
              value: {code: disclose, system: 'http://terminology.hl7.org/CodeSystem/iso-21089-lifecycle'}
            _required: true
            index: 3
          min: 1
          max: 1
package_version: 1.1.0
class: profile
kind: resource
url: https://profiles.ihe.net/ITI/BALP/StructureDefinition/IHE.BasicAudit.PrivacyDisclosure.Recipient
base: http://hl7.org/fhir/StructureDefinition/AuditEvent
version: 1.1.0
required: [subtype, outcome]