Mappings for the provenance resource.
The provenance resource is based on known practices in the
HL7 implementation space, particularly those found in the
v2 EVN segment, the v3 ControlAct Wrapper, the CDA header, and
the IHE ATNA (RFC 3881).
The conceptual model underlying the design is the W3C
Provenance Specification. Though the content and format
of the resource is designed to meet specific requirements for FHIR, all the parts of the resource are formally mapped to the PROV-O
specification, and FHIR resources can be transformed to their W3C
PROV equivalent.
Provenance | ControlAct[isNormalAct() and subsumes(CACT, classCode) and moodCode=EVN] |
target | ./outboundRelationship[isNormalActRelationship() and typeCode=SUBJ]/target
OR
./participation[isNormalParticipation() and typeCode=SBJ]/role
OR
./participation[isNormalParticipation() and typeCode=SBJ]/role[isNormalRole()]/player |
period | ./effectiveTime[type=IVL_TS] |
recorded | unique(./participation[isNormalParticipation() and typeCode=AUT]/time[type=TS]) |
reason | unique(./reasonCode) |
location | unique(./participation[isNormalParticipation() and typeCode=LOC]/role[isNormalRole() and subsumes(SDLOC, classCode)]/player[isNormalEntity and classCode="LOC" and determinerCode="INST"] |
policy | ./inboundRelationship[isNormalActRelationship() and typeCode="SUBJ"]/source[isNormalAct and subsumes(POLICY, classCode) and moodCode=EVN]/text[typeCode='ED'/tel |
agent | ./participation[isNormalParticipation()]
OR
./outboundRelationship[isNormalActRelationship() and typeCode='DRIV'] |
role | attester: .[self::participation]/typeCode='RESP'
author: .[self::participation]/typeCode='AUT'
cc: .[self::participation]/typeCode='IRCP'
enterer: .[self::participation]/typeCode='ENT'
informant: .[self::participation]/typeCode='INF'
performer: .[self::participation]/typeCode='PRF'
verifier: .[self::participation]/typeCode='VRF'
source: .[self::outboundRelationship]/typeCode='' |
type | person: ./role[isNormalRole() and classCode='REL']/player[isNormalEntity and classCode='PER' and determinerCode='INST']
agent: ./role[isNormalRole() and classCode='ASSIGNED' and player[isNormalEntity and classCode='PSN' and determinerCode='INST']]
organization: ./role[isNormalRole() and classCode='ASSIGNED' and not(player)]/scoper[isNormalEntity and classCode='ORG' and determinerCode='INST']
software: ./role[isNormalRole() and classCode='ASSIGNED']/scoper[isNormalEntity and classCode='DEV' and determinerCode='INST' and hasDomain(code, 'Software')]
document: ./target[isNormalAct and subsumes('DOC', classCode) and moodCode='EVN'] |
reference | ./id |
display | ./player/description
OR
./description
OR
./text |
entity | ./subjectOf |
role | ./typeCode |
type | ./target |
reference | ./text/reference |
display | ./title |
agent | ./author/role |
integritySignature | ./signatureText |