Implementation Guide
25.0.0 - R4 APIs

Publish Box goes here

Resource Profile: AthenaAuditEvent - Mappings

Active as of 2022-03-01

Mappings for the athena-auditevent-profile resource profile.

Mappings to Structures in this Implementation Guide

No Mappings Found

Mappings to other Structures

No Mappings Found

Other Mappings

NameathenaFlowathenaPracticeRIM MappingDICOM Tag MappingHL7 v2 MappingW3C PROVFHIR Provenance MappingWorkflow PatternFiveWs Pattern Mappingdoco
.. AuditEvent
FHIRR4_AUDITEVENTVIEW
FHIRR4_AUDITEVENTVIEW
  • Entity. Role
  • or Act
Message
Event
... id
MakeId(%EVENT_ID%)
MakeId(%EVENT_ID%)
MakeId(%PID%)
The id attribute will always be mapped using the MakeId() function. This function will construct an ID as appropriate. The first argument is a string which is unused at this time.
... meta
.... id
n/a
.... extension
n/a
.... versionId
Don't map versionId if we don't support versioning.
  • If the resource supports retrieval of specific versions
  • this identifier should use the MakeVersionId() function with the field giving the version id as the first argument.
.... lastUpdated
%EVENT_TIMESTAMP%
%EVENT_TIMESTAMP%
%DB_UPDATED_DATE%
  • This is almost always %DB_UPDATED_DATE%
  • but may be another field if that field contains the last update date of the record.
.... source
.... Slices for profile
..... profile:athena-argonautrequirements
These are fixed values that contain the URLs assocaited with any profile we want to always claim conformance to.
..... profile:athena-auditevent-profile
The last profile is always the GE profile for this resource.
.... Slices for security
..... security:SENSITIVE-CHART
CheckSensitive(%SENSITIVECHART%)
CheckSensitive(%SENSITIVECHART%)
  • Need a user story to address the issue of resetting the code because we don't want to mark a chart as NOT being sensitive if it was originally marked that way
  • BUT the update did not change the value explicitely.
CheckSensitive(%SENSITIVECHART%)
  • All data related to a patient must be joined with the PERSON table or view by PID
  • and the SENSITIVECHART flag needs to be reported. If the value is one
  • we will output an HL7 V3 ConfidentialityCode of "R" to indicate that this is a sensitive chart
  • or "N" to indicate that this chart is not sensitive. We will need user stories to address access control policies for sensitive charts for read
  • query
  • create and update.
.... tag
... implicitRules
... text
Act.text?
... contained
N/A
... extension
N/A
... modifierExtension
N/A
... type
  • MakeCoding(%EVENT_TYPE_ID%
  • null
  • %EVENT_TYPE_DESCRIPTION%)
  • MakeCoding(%EVENT_TYPE_ID%
  • null
  • %EVENT_TYPE_DESCRIPTION%)
  • .code (type
  • subtype and action are pre-coordinated or sent as translations)
EventId
Activity
Event.code
FiveWs.what[x]
... subtype
  • .code (type
  • subtype and action are pre-coordinated or sent as translations)
EventTypeCode
FiveWs.what[x]
... action
  • MapCode(%ACTIONTYPE%
  • "EVENTACTION")
  • MapCode(%ACTIONTYPE%
  • "EVENTACTION")
  • .code (type
  • subtype and action are pre-coordinated or sent as translations)
EventActionCode
FiveWs.what[x]
... period
MakePeriod(%EVENT_TIMESTAMP%)
MakePeriod(%EVENT_TIMESTAMP%)
./effectiveTime[type=IVL_TS]
EventDateTime
Activity.startTime & Activity.endTime
Provenance.occurred[x]
Event.occurred[x]
FiveWs.done[x]
... recorded
%EVENT_TIMESTAMP%
%EVENT_TIMESTAMP%
.effectiveTime
EventDateTime
Activity.when
Provenance.recorded
FiveWs.recorded
... outcome
  • MapCode(%OUTCOME%
  • "EVENTOUTCOME")
  • MapCode(%OUTCOME%
  • "EVENTOUTCOME")
.actionNegationInd
EventOutcomeIndicator
FiveWs.what[x]
... outcomeDesc
%OUTCOME_DESCRIPTION%
%OUTCOME_DESCRIPTION%
.outboundRelationship[typeCode=OUT].target.text
EventOutcomeDescription
FiveWs.what[x]
... purposeOfEvent
* .reasonCode [ControlActReason when Act.class = CACT Control Act] *.outboundRelationship[typeCode=RSON].target
EventPurposeOfUse
Activity.Activity
  • Provenance.reason
  • Provenance.activity
Event.reasonCode
FiveWs.why[x]
... agent
.participation
ActiveParticipant
Agent
Provenance.agent
Event.performer
FiveWs.who
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... type
.typeCode and/or .functionCode
RoleIdCode
Agent.Attribution
Provenance.agent.type
Event.performer.function
FiveWs.who
.... role
.role
RoleIdCode
Agent.Attribution
Provenance.agent.role
FiveWs.who
.... who
  • MakeReference("USR"
  • %PVID%
  • "Practitioner")
  • MakeReference("USR"
  • %PVID%
  • "Practitioner")
.id
UserId
Agent.Identity
Provenance.agent.who
Event.performer.actor
FiveWs.who
.... altId
.id (distinguish id type by root)
AlternativeUserId
Agent.Identity
FiveWs.who
.... name
%LOGINNAME%
%LOGINNAME%
.name
UserName
Agent.Identity
FiveWs.who
.... requestor
%UserIsRequestor%
%UserIsRequestor%
  • If participation.typeCode was author
  • then true
UserIsRequestor
FiveWs.who
.... location
  • MakeReference("LOCREG"
  • %LOCID%
  • "Location")
  • MakeReference("LOCREG"
  • %LOCID%
  • "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.
Activity.location
Provenance.location
Event.location
FiveWs.where[x]
.... policy
ActPolicyType
ParticipantRoleIDCode
Provenance.policy
FiveWs.why[x]
.... media
.player.description.mediaType
MediaType
FiveWs.where[x]
.... network
.player.description.reference
FiveWs.where[x]
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... address
pre-coordinated into URL
NetworkAccessPointID
Agent.Location
FiveWs.where[x]
..... type
pre-coordinated into URL
NetworkAccessPointTypeCode
FiveWs.where[x]
.... purposeOfUse
PurposeOfUse (2.16.840.1.113883.1.11.20448) * .outboundRelationship[typeCode=RSON or SUBJ].target
Agent.Activity
FiveWs.why[x]
... source
  • .participation[typeCode=INF].role[classCode=ASSIGN].player[classCode=DEV
  • determinerCode=INSTANCE]
AuditSourceIdentification
FiveWs.witness
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... site
.scopedRole[classCode=LOCE].player.desc
AuditEnterpriseSiteId
FiveWs.witness
.... observer
.id
AuditSourceId
FiveWs.witness
.... type
.code
AuditSourceTypeCode
FiveWs.witness
... entity
.outboundRelationship[typeCode=SUBJ].target or .participation[typeCode=SBJ].role
ParticipantObjectIdentification
Entity
  • Provenance.target
  • Provenance.entity
FiveWs.what[x]
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... what
  • MakeReference("PERSON"
  • %PID%
  • "Patient")
  • MakeReference("PATIENTPROFILE"
  • %PID%
  • "Patient")
.id
ParticipantObjectID and ParticipantObjectIDTypeCode
  • Provenance.target
  • Provenance.entity.what
FiveWs.what[x]
.... type
:Act].code or role.player.code
ParticipantObjectTypeCode
Entity.type
Provenance.entity.type
FiveWs.what[x]
.... role
role.code (not sure what this would mean for an Act)
ParticipantObjectTypeCodeRole
Entity.role
FiveWs.context
.... lifecycle
target of ObservationEvent[code="lifecycle"].value
ParticipantObjectDataLifeCycle
Entity.role
Provenance.entity.role
FiveWs.context
.... securityLabel
.confidentialityCode
ParticipantObjectSensitivity
FiveWs.context
.... name
.title
ParticipantObjectName
Entity.Label
FiveWs.context
.... description
.text
ParticipantObjectDescription
FiveWs.context
.... query
No mapping
ParticipantObjectQuery
FiveWs.context
.... detail
  • .inboundRelationship[typeCode=SUBJ].target[classCode=OBS
  • moodCode=EVN]
ParticipantObjectDetail
FiveWs.context
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... type
.code
ParticipantObjectDetail.type
FiveWs.context
..... value[x]
.value
ParticipantObjectDetail.value
FiveWs.context

doco Documentation for this format