description: Defines constraints on the AuditEvent Resource to record when a Privacy Disclosure happens at the Source.\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- should have the custodian that released the data\n- should have the authorizer that represented the patient (may be the patient)\n- shall have a patient entity\n- shall have the set of data entity(ies) package_name: ihe.iti.basicaudit derivation: constraint name: AuditPrivacyDisclosureSource type: AuditEvent elements: outcomeDesc: {mustSupport: true, index: 5} type: pattern: type: Coding value: {code: '110106', system: 'http://dicom.nema.org/resources/ontology/DCM', display: Export} index: 1 outcome: {index: 4} agent: array: true min: 2 index: 7 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: constraint: val-audit-source: {human: The Audit Source is this agent too., source: 'https://profiles.ihe.net/ITI/basicaudit/StructureDefinition/IHE.BasicAudit.PrivacyDisclosure.Source', severity: error, expression: $this.who = %resource.source.observer} _required: true index: 8 elements: type: pattern: type: CodeableConcept value: coding: - {code: '110153', system: 'http://dicom.nema.org/resources/ontology/DCM', display: Source Role ID} index: 9 who: {index: 10} network: {index: 11} required: [who, network, type] recipient: match: type: coding: - {code: '110152', system: 'http://dicom.nema.org/resources/ontology/DCM', display: Destination Role ID} schema: _required: true index: 12 elements: type: pattern: type: CodeableConcept value: coding: - {code: '110152', system: 'http://dicom.nema.org/resources/ontology/DCM', display: Destination Role ID} index: 13 who: {index: 14} network: {index: 15} required: [who, network, type] custodian: match: type: coding: - {code: '159541003', system: 'http://snomed.info/sct', display: Record keeping/library clerk} schema: index: 16 elements: type: pattern: type: CodeableConcept value: coding: - {code: '159541003', system: 'http://snomed.info/sct', display: Record keeping/library clerk} index: 17 who: {index: 18} required: [who, type] authorizer: match: type: coding: - {code: '429577009', system: 'http://snomed.info/sct', display: Patient Advocate} schema: index: 19 elements: type: pattern: type: CodeableConcept value: coding: - {code: '429577009', system: 'http://snomed.info/sct', display: Patient Advocate} index: 20 who: {index: 21} required: [who, type] purposeOfEvent: {index: 6} action: pattern: {type: Code, value: R} index: 3 entity: array: true min: 2 index: 22 slicing: rules: closed description: patient and submission set 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: 23 elements: what: type: Reference refers: ['http://hl7.org/fhir/StructureDefinition/Patient'] index: 24 type: pattern: type: Coding value: {code: '1', system: 'http://terminology.hl7.org/CodeSystem/audit-entity-type', display: Person} index: 25 role: pattern: type: Coding value: {code: '1', system: 'http://terminology.hl7.org/CodeSystem/object-role', display: Patient} index: 26 required: [what, type] data: match: type: {code: '2', system: 'http://terminology.hl7.org/CodeSystem/audit-entity-type', display: System Object} schema: array: true min: 1 _required: true index: 27 elements: what: {index: 28} type: pattern: type: Coding value: {code: '2', system: 'http://terminology.hl7.org/CodeSystem/audit-entity-type', display: System Object} index: 29 role: pattern: type: Coding value: {code: '3', system: 'http://terminology.hl7.org/CodeSystem/object-role', display: Report} index: 30 required: [what, type] modifierExtension: {index: 0} subtype: pattern: type: Coding value: {code: disclose, system: 'http://terminology.hl7.org/CodeSystem/iso-21089-lifecycle', display: Disclose Record Lifecycle Event} index: 2 package_version: 1.0.1 class: profile kind: resource url: https://profiles.ihe.net/ITI/basicaudit/StructureDefinition/IHE.BasicAudit.PrivacyDisclosure.Source base: http://hl7.org/fhir/StructureDefinition/AuditEvent version: 1.0.1 required: [purposeOfEvent, outcome]