Basic Audit Log Patterns (BALP), published by IHE IT Infrastructure Technical Committee. This guide is not an authorized publication; it is the continuous build for version 1.1.4-current built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/IHE/ITI.BasicAudit/ and changes regularly. See the Directory of published versions
Mappings for the IHE.BasicAudit.AuthZconsent resource profile.
AuthZconsent |
AuditEvent | Entity. Role, or Act, ControlAct[moodCode=EVN] |
text | Act.text? |
contained | N/A |
extension | N/A |
type | .code (type, subtype and action are pre-coordinated or sent as translations) |
subtype | .code (type, subtype and action are pre-coordinated or sent as translations) |
action | .code (type, subtype and action are pre-coordinated or sent as translations) |
period | ./effectiveTime[type=IVL_TS] |
recorded | .effectiveTime |
outcome | .actionNegationInd |
outcomeDesc | .outboundRelationship[typeCode=OUT].target.text |
purposeOfEvent | * .reasonCode [ControlActReason when Act.class = CACT Control Act]
*.outboundRelationship[typeCode=RSON].target |
agent | .participation |
id | n/a |
extension | n/a |
modifierExtension | N/A |
type | .typeCode and/or .functionCode |
role | .role |
who | .id |
altId | .id (distinguish id type by root) |
name | .name |
requestor | If participation.typeCode was author, then true |
location | * Role.Class =SDLOC
*Role.Code = ServiceDeliveryLocationRoleType
*Entity.Code = PlaceEntityType = df.Types of places for Entity.Class = PLC
*EntityClass = PLC = df.A physical place or site with its containing structure. May be natural or man-made. The geographic position of a place might or might not be constant. |
policy | ActPolicyType |
media | .player.description.mediaType |
network | .player.description.reference |
id | n/a |
extension | n/a |
modifierExtension | N/A |
address | pre-coordinated into URL |
type | pre-coordinated into URL |
purposeOfUse | *.reasonCode [ActHealthInformationPurposeOfUseReason codes/v:PurposeOfUse
(2.16.840.1.113883.1.11.20448)
* .outboundRelationship[typeCode=RSON or SUBJ].target |
agent (client) | .participation |
id | n/a |
extension | n/a |
modifierExtension | N/A |
type | .typeCode and/or .functionCode |
who | .id |
requestor | If participation.typeCode was author, then true |
policy | ActPolicyType |
network | .player.description.reference |
id | n/a |
extension | n/a |
modifierExtension | N/A |
address | pre-coordinated into URL |
type | pre-coordinated into URL |
agent (user) | .participation |
id | n/a |
extension | n/a |
modifierExtension | N/A |
type | .typeCode and/or .functionCode |
role | .role |
who | .id |
name | .name |
requestor | If participation.typeCode was author, then true |
policy | ActPolicyType |
purposeOfUse | *.reasonCode [ActHealthInformationPurposeOfUseReason codes/v:PurposeOfUse
(2.16.840.1.113883.1.11.20448)
* .outboundRelationship[typeCode=RSON or SUBJ].target |
agent (userorg) | .participation |
id | n/a |
extension | n/a |
modifierExtension | N/A |
type | .typeCode and/or .functionCode |
who | .id |
requestor | If participation.typeCode was author, then true |
purposeOfUse | *.reasonCode [ActHealthInformationPurposeOfUseReason codes/v:PurposeOfUse
(2.16.840.1.113883.1.11.20448)
* .outboundRelationship[typeCode=RSON or SUBJ].target |
agent (authorizer) | .participation |
id | n/a |
extension | n/a |
modifierExtension | N/A |
type | .typeCode and/or .functionCode |
who | .id |
requestor | If participation.typeCode was author, then true |
source | .participation[typeCode=INF].role[classCode=ASSIGN].player[classCode=DEV, determinerCode=INSTANCE] |
id | n/a |
extension | n/a |
modifierExtension | N/A |
site | .scopedRole[classCode=LOCE].player.desc |
observer | .id |
type | .code |
entity | .outboundRelationship[typeCode=SUBJ].target or .participation[typeCode=SBJ].role |
id | n/a |
extension | n/a |
modifierExtension | N/A |
what | .id |
type | [self::Act].code or role.player.code |
role | role.code (not sure what this would mean for an Act) |
lifecycle | target of ObservationEvent[code="lifecycle"].value |
securityLabel | .confidentialityCode |
name | .title |
description | .text |
query | No mapping |
detail | .inboundRelationship[typeCode=SUBJ].target[classCode=OBS, moodCode=EVN] |
id | n/a |
extension | n/a |
modifierExtension | N/A |
type | .code |
value[x] | .value |
entity (patient) | .outboundRelationship[typeCode=SUBJ].target or .participation[typeCode=SBJ].role |
id | n/a |
extension | n/a |
modifierExtension | N/A |
what | .id |
type | [self::Act].code or role.player.code |
role | role.code (not sure what this would mean for an Act) |
lifecycle | target of ObservationEvent[code="lifecycle"].value |
securityLabel | .confidentialityCode |
name | .title |
description | .text |
query | No mapping |
detail | .inboundRelationship[typeCode=SUBJ].target[classCode=OBS, moodCode=EVN] |
id | n/a |
extension | n/a |
modifierExtension | N/A |
type | .code |
value[x] | .value |
entity (consent) | .outboundRelationship[typeCode=SUBJ].target or .participation[typeCode=SBJ].role |
id | n/a |
extension | n/a |
modifierExtension | N/A |
what | .id |
type | [self::Act].code or role.player.code |
role | role.code (not sure what this would mean for an Act) |
lifecycle | target of ObservationEvent[code="lifecycle"].value |
securityLabel | .confidentialityCode |
name | .title |
description | .text |
query | No mapping |
detail | .inboundRelationship[typeCode=SUBJ].target[classCode=OBS, moodCode=EVN] |
id | n/a |
extension | n/a |
modifierExtension | N/A |
type | .code |
value[x] | .value |
entity (token) | .outboundRelationship[typeCode=SUBJ].target or .participation[typeCode=SBJ].role |
id | n/a |
extension | n/a |
modifierExtension | N/A |
what | .id |
id | n/a |
extension | n/a |
reference | N/A |
type | N/A |
identifier | .identifier |
id | n/a |
extension | n/a |
use | Role.code or implied by context |
type | Role.code or implied by context |
system | II.root or Role.id.root |
value | II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root) |
period | Role.effectiveTime or implied by context |
assigner | II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper |
display | N/A |
type | [self::Act].code or role.player.code |
role | role.code (not sure what this would mean for an Act) |
lifecycle | target of ObservationEvent[code="lifecycle"].value |
securityLabel | .confidentialityCode |
name | .title |
description | .text |
query | No mapping |
detail | .inboundRelationship[typeCode=SUBJ].target[classCode=OBS, moodCode=EVN] |
id | n/a |
extension | n/a |
modifierExtension | N/A |
type | .code |
value[x] | .value |
AuthZconsent |
AuditEvent | Message |
type | EventId |
subtype | EventTypeCode |
action | EventActionCode |
period | EventDateTime |
outcome | EventOutcomeIndicator |
outcomeDesc | EventOutcomeDescription |
purposeOfEvent | EventPurposeOfUse |
agent | ActiveParticipant |
type | RoleIdCode |
role | RoleIdCode |
who | UserId |
altId | AlternativeUserId |
name | UserName |
requestor | UserIsRequestor |
policy | ParticipantRoleIDCode |
media | MediaType |
network | |
address | NetworkAccessPointID |
type | NetworkAccessPointTypeCode |
agent (client) | ActiveParticipant |
type | RoleIdCode |
who | UserId |
requestor | UserIsRequestor |
policy | ParticipantRoleIDCode |
network | |
address | NetworkAccessPointID |
type | NetworkAccessPointTypeCode |
agent (user) | ActiveParticipant |
type | RoleIdCode |
role | RoleIdCode |
who | UserId |
name | UserName |
requestor | UserIsRequestor |
policy | ParticipantRoleIDCode |
agent (userorg) | ActiveParticipant |
type | RoleIdCode |
who | UserId |
requestor | UserIsRequestor |
agent (authorizer) | ActiveParticipant |
type | RoleIdCode |
who | UserId |
requestor | UserIsRequestor |
source | AuditSourceIdentification |
site | AuditEnterpriseSiteId |
observer | AuditSourceId |
type | AuditSourceTypeCode |
entity | ParticipantObjectIdentification |
what | ParticipantObjectID and ParticipantObjectIDTypeCode |
type | ParticipantObjectTypeCode |
role | ParticipantObjectTypeCodeRole |
lifecycle | ParticipantObjectDataLifeCycle |
securityLabel | ParticipantObjectSensitivity |
name | ParticipantObjectName |
description | ParticipantObjectDescription |
query | ParticipantObjectQuery |
detail | ParticipantObjectDetail |
type | ParticipantObjectDetail.type |
value[x] | ParticipantObjectDetail.value |
entity (patient) | ParticipantObjectIdentification |
what | ParticipantObjectID and ParticipantObjectIDTypeCode |
type | ParticipantObjectTypeCode |
role | ParticipantObjectTypeCodeRole |
lifecycle | ParticipantObjectDataLifeCycle |
securityLabel | ParticipantObjectSensitivity |
name | ParticipantObjectName |
description | ParticipantObjectDescription |
query | ParticipantObjectQuery |
detail | ParticipantObjectDetail |
type | ParticipantObjectDetail.type |
value[x] | ParticipantObjectDetail.value |
entity (consent) | ParticipantObjectIdentification |
what | ParticipantObjectID and ParticipantObjectIDTypeCode |
type | ParticipantObjectTypeCode |
role | ParticipantObjectTypeCodeRole |
lifecycle | ParticipantObjectDataLifeCycle |
securityLabel | ParticipantObjectSensitivity |
name | ParticipantObjectName |
description | ParticipantObjectDescription |
query | ParticipantObjectQuery |
detail | ParticipantObjectDetail |
type | ParticipantObjectDetail.type |
value[x] | ParticipantObjectDetail.value |
entity (token) | ParticipantObjectIdentification |
what | ParticipantObjectID and ParticipantObjectIDTypeCode |
type | ParticipantObjectTypeCode |
role | ParticipantObjectTypeCodeRole |
lifecycle | ParticipantObjectDataLifeCycle |
securityLabel | ParticipantObjectSensitivity |
name | ParticipantObjectName |
description | ParticipantObjectDescription |
query | ParticipantObjectQuery |
detail | ParticipantObjectDetail |
type | ParticipantObjectDetail.type |
value[x] | ParticipantObjectDetail.value |