PACIO Advance Directive Interoperability Implementation Guide
2.1.0 - STU 2 United States of America flag

PACIO Advance Directive Interoperability Implementation Guide, published by HL7 International / Patient Empowerment. This guide is not an authorized publication; it is the continuous build for version 2.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-pacio-adi/ and changes regularly. See the Directory of published versions

Resource Profile: ADIProvenance - Mappings

Active as of 2024-12-06

Mappings for the ADI-Provenance resource profile.

Mappings for Workflow Pattern (http://hl7.org/fhir/workflow)

ADIProvenance
ProvenanceEvent
   occurred[x]Event.occurred[x]
   locationEvent.location
   reasonEvent.reasonCode
   activityEvent.code
   agentEvent.performer
      typeEvent.performer.function
      whoEvent.performer.actor
   agent (ProvenanceAuthor)Event.performer
      typeEvent.performer.function
      whoEvent.performer.actor
   agent (ProvenanceTransmitter)Event.performer
      typeEvent.performer.function
      whoEvent.performer.actor
   agent (assembler)Event.performer
      typeEvent.performer.function
      whoEvent.performer.actor

Mappings for RIM Mapping (http://hl7.org/v3)

ADIProvenance
ProvenanceEntity. Role, or Act, ControlAct[isNormalAct() and subsumes(CACT, classCode) and moodCode=EVN]
   textAct.text?
   containedN/A
   extensionN/A
   modifierExtensionN/A
   target./outboundRelationship[isNormalActRelationship() and typeCode=SUBJ]/target OR ./participation[isNormalParticipation() and typeCode=SBJ]/role OR ./participation[isNormalParticipation() and typeCode=SBJ]/role[isNormalRole()]/player
      idn/a
      extensionn/a
      referenceN/A
      typeN/A
      identifier.identifier
      displayN/A
   occurred[x]./effectiveTime[type=IVL_TS]
   recordedunique(./participation[isNormalParticipation() and typeCode=AUT]/time[type=TS])
   policy./inboundRelationship[isNormalActRelationship() and typeCode="SUBJ"]/source[isNormalAct and subsumes(POLICY, classCode) and moodCode=EVN]/text[typeCode='ED'/tel
   locationunique(./participation[isNormalParticipation() and typeCode=LOC]/role[isNormalRole() and subsumes(SDLOC, classCode)]/player[isNormalEntity and classCode="LOC" and determinerCode="INST"]
   reasonunique(./reasonCode)
   activityAct.code
   agent./participation[isNormalParticipation()] OR ./outboundRelationship[isNormalActRelationship() and typeCode='DRIV']
      idn/a
      extensionn/a
      modifierExtensionN/A
      type.role
      role.typecode
      who.id
      onBehalfOfPerson, Practitioner, Organization, Device :* .role [classCode = RoleClassMutualRelationship; role.code and * .scopes[Role](classCode=IDENT) and *.plays [Role.Code]
   agent (ProvenanceAuthor)./participation[isNormalParticipation()] OR ./outboundRelationship[isNormalActRelationship() and typeCode='DRIV']
      idn/a
      extensionn/a
      modifierExtensionN/A
      type.role
      role.typecode
      who.id
      onBehalfOfPerson, Practitioner, Organization, Device :* .role [classCode = RoleClassMutualRelationship; role.code and * .scopes[Role](classCode=IDENT) and *.plays [Role.Code]
   agent (ProvenanceTransmitter)./participation[isNormalParticipation()] OR ./outboundRelationship[isNormalActRelationship() and typeCode='DRIV']
      idn/a
      extensionn/a
      modifierExtensionN/A
      type.role
      role.typecode
      who.id
      onBehalfOfPerson, Practitioner, Organization, Device :* .role [classCode = RoleClassMutualRelationship; role.code and * .scopes[Role](classCode=IDENT) and *.plays [Role.Code]
   agent (assembler)./participation[isNormalParticipation()] OR ./outboundRelationship[isNormalActRelationship() and typeCode='DRIV']
      idn/a
      extensionn/a
      modifierExtensionN/A
      type.role
      role.typecode
      who.id
      onBehalfOfPerson, Practitioner, Organization, Device :* .role [classCode = RoleClassMutualRelationship; role.code and * .scopes[Role](classCode=IDENT) and *.plays [Role.Code]
   entity./subjectOf
      idn/a
      extensionn/a
      modifierExtensionN/A
      role./typeCode
      what./text/reference
      agent./author/role
   signature./signatureText

Mappings for W3C PROV (http://www.w3.org/ns/prov)

ADIProvenance
ProvenanceActivity
   targetEntity Created/Updated
   occurred[x]Activity.startTime & Activity.endTime
   recordedActivity.when
   locationActivity.location
   reasonActivity.Activity
   activityActivity.Activity
   agentAgent
      typeAgent.Attribution
   agent (ProvenanceAuthor)Agent
      typeAgent.Attribution
   agent (ProvenanceTransmitter)Agent
      typeAgent.Attribution
   agent (assembler)Agent
      typeAgent.Attribution
   entityEntity
      roleEntity.role
      whatEntity.Identity

Mappings for FiveWs Pattern Mapping (http://hl7.org/fhir/fivews)

ADIProvenance
Provenance
   targetFiveWs.what[x]
   occurred[x]FiveWs.done[x]
   recordedFiveWs.recorded
   locationFiveWs.where[x]
   reasonFiveWs.why[x]
   activityFiveWs.why[x]
   agentFiveWs.who
      whoFiveWs.actor
   agent (ProvenanceAuthor)FiveWs.who
      whoFiveWs.actor
   agent (ProvenanceTransmitter)FiveWs.who
      whoFiveWs.actor
   agent (assembler)FiveWs.who
      whoFiveWs.actor

Mappings for FHIR AuditEvent Mapping (http://hl7.org/fhir/auditevent)

ADIProvenance
Provenance
   targetAuditEvent.entity.reference
   recordedAuditEvent.recorded
   policyAuditEvent.agent.policy
   locationAuditEvent.agent.location
   reasonAuditEvent.purposeOfEvent
   agentAuditEvent.agent
      typeAuditEvent.agent.type
      roleAuditEvent.agent.role
   agent (ProvenanceAuthor)AuditEvent.agent
      typeAuditEvent.agent.type
      roleAuditEvent.agent.role
   agent (ProvenanceTransmitter)AuditEvent.agent
      typeAuditEvent.agent.type
      roleAuditEvent.agent.role
   agent (assembler)AuditEvent.agent
      typeAuditEvent.agent.type
      roleAuditEvent.agent.role
   entityAuditEvent.entity
      roleAuditEvent.entity.lifecycle
      whatAuditEvent.entity.reference