--- type: "mappings" title: "Provenance Mappings" resource: "Provenance" --- # Provenance Mappings - **Provenance**: workflow=Event; rim=ControlAct[isNormalAct() and subsumes(CACT, classCode) and moodCode=EVN]; w3c.prov=Activity; w5=infrastructure.information - **Provenance.target**: w5=FiveWs.what[x]; rim=./outboundRelationship[isNormalActRelationship() and typeCode=SUBJ]/target OR ./participation[isNormalParticipation() and typeCode=SBJ]/role OR ./participation[isNormalParticipation() and typeCode=SBJ]/role[isNormalRole()]/player; fhirauditevent=AuditEvent.entity.reference; w3c.prov=Entity Created/Updated - **Provenance.occurred[x]**: workflow=Event.occurrence; w5=FiveWs.done[x]; rim=./effectiveTime[type=IVL_TS]; w3c.prov=Activity.startTime & Activity.endTime - **Provenance.recorded**: w5=FiveWs.recorded; rim=unique(./participation[isNormalParticipation() and typeCode=AUT]/time[type=TS]); fhirauditevent=AuditEvent.recorded - **Provenance.policy**: rim=./inboundRelationship[isNormalActRelationship() and typeCode="SUBJ"]/source[isNormalAct and subsumes(POLICY, classCode) and moodCode=EVN]/text[typeCode='ED'/tel; fhirauditevent=AuditEvent.agent.policy - **Provenance.location**: workflow=Event.location; w5=FiveWs.where[x]; rim=unique(./participation[isNormalParticipation() and typeCode=LOC]/role[isNormalRole() and subsumes(SDLOC, classCode)]/player[isNormalEntity and classCode="LOC" and determinerCode="INST"]; fhirauditevent=AuditEvent.agent.location; w3c.prov=Activity.location - **Provenance.authorization**: workflow=Event.reason; w5=FiveWs.why[x]; rim=unique(./reasonCode); fhirauditevent=AuditEvent.purposeOfEvent - **Provenance.why**: workflow=Event.reason; w5=FiveWs.why[x]; rim=unique(./reasonCode); w3c.prov=Activity.Activity - **Provenance.activity**: workflow=Event.code; w5=FiveWs.why[x]; rim=Act.code; fhirauditevent=AuditEvent.code; w3c.prov=Activity.Activity - **Provenance.basedOn**: workflow=Event.basedOn; w5=FiveWs.why[x]; rim=Act.code; w3c.prov=Activity.Activity - **Provenance.patient**: workflow=Event.subject; w5=FiveWs.subject; rim=participation[typeCode=RTGT]; w3c.prov=Entity.Identity - **Provenance.encounter**: workflow=Event.encounter; w5=FiveWs.context; rim=Act.code; w3c.prov=Activity.Activity - **Provenance.agent**: workflow=Event.performer; w5=FiveWs.who; rim=./participation[isNormalParticipation()] OR ./outboundRelationship[isNormalActRelationship() and typeCode='DRIV']; fhirauditevent=AuditEvent.agent; w3c.prov=Agent - **Provenance.agent.type**: workflow=Event.performer.function; rim=.role; fhirauditevent=AuditEvent.agent.type; w3c.prov=Agent.Attribution - **Provenance.agent.role**: rim=.typecode; fhirauditevent=AuditEvent.agent.role - **Provenance.agent.who**: workflow=Event.performer.actor; w5=FiveWs.author, FiveWs.source, FiveWs.actor, FiveWs.cause, FiveWs.witness, FiveWs.who; rim=.id - **Provenance.agent.onBehalfOf**: rim=Person, Practitioner, Organization, Device :* .role [classCode = RoleClassMutualRelationship; role.code and * .scopes[Role](classCode=IDENT) and *.plays [Role.Code] - **Provenance.entity**: rim=./subjectOf; fhirauditevent=AuditEvent.entity; w3c.prov=Entity - **Provenance.entity.role**: rim=./typeCode; fhirauditevent=AuditEvent.entity.role; w3c.prov=Entity.role - **Provenance.entity.what**: rim=./text/reference; fhirauditevent=AuditEvent.entity.reference; w3c.prov=Entity.Identity - **Provenance.entity.agent**: rim=./author/role; fhirauditevent=AuditEvent.entity.agent - **Provenance.signature**: rim=./signatureText