The formal definitions for the elements in the provenance resource. Also available as an XML file.
Provenance |
Definition | Provenance information associated with another resource that can be used to help determine its reliability or trace where the information in it came from. The focus of the provenance resource is record keeping, audit and traceability, not clinical meaning |
Control | 1..1 |
Comments | Some parties may be duplicated between the target resource and its provenance. For instance, the prescriber is usually (but not always) the author of the prescription resource. This resource is defined with close consideration for W3C Provenance |
RIM Mapping | ControlAct[isNormalAct() and subsumes(CACT, classCode) and moodCode=EVN] |
Provenance.target |
Definition | The resource that this provenance information pertains to |
Control | 1..1 |
Type | Resource(Any) |
Must Understand | true |
Comments | The target reference is usually version specific, but may not be, if a version has not been assigned or if the provenance information is part of the set of resources being maintained (i.e. a document) |
RIM Mapping | ./outboundRelationship[isNormalActRelationship() and typeCode=SUBJ]/target
OR
./participation[isNormalParticipation() and typeCode=SBJ]/role
OR
./participation[isNormalParticipation() and typeCode=SBJ]/role[isNormalRole()]/player |
Provenance.activity |
Definition | The activity that was being undertaken that led to the creation of the resource being referenced |
Control | 1..1 |
RIM Mapping | . |
Provenance.activity.period |
Definition | The period during which the activity occurred |
Control | 0..1 |
Type | Period |
Comments | The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time |
RIM Mapping | ./effectiveTime[type=IVL_TS] |
Provenance.activity.recorded |
Definition | The instant of time at which the activity was recorded |
Control | 1..1 |
Type | instant |
Comments | This can be a little different from the time stamp on the resource if there is a delay between recording the event and updating the provenance and target resource |
RIM Mapping | unique(./participation[isNormalParticipation() and typeCode=AUT]/time[type=TS]) |
Provenance.activity.reason |
Definition | The reason that the activity was taking place |
Control | 0..1 |
Type | CodeableConcept |
RIM Mapping | unique(./reasonCode) |
Provenance.activity.location |
Definition | Where the activity occurred, if relevant |
Control | 0..1 |
RIM Mapping | unique(./participation[isNormalParticipation() and typeCode=LOC]/role[isNormalRole() and subsumes(SDLOC, classCode)]/player[isNormalEntity and classCode="LOC" and determinerCode="INST"] |
Provenance.activity.location.type |
Definition | The type of location - a classification of the kind of location at which the activity took place |
Control | 0..1 |
Type | CodeableConcept from ProvenanceLocationType |
RIM Mapping | ./code |
Provenance.activity.location.id |
Definition | An identifier for the location |
Control | 0..1 |
Type | Identifier |
RIM Mapping | unique(./id) |
Provenance.activity.location.description |
Definition | Human readable description of location at which the activity occurred |
Control | 0..1 |
Type | string |
RIM Mapping | ./description |
Provenance.activity.location.coords |
Definition | Geospatial coordinates of the location |
Control | 0..1 |
Type | string |
Comments | Todo: what format should this be in? |
RIM Mapping | ./playedRole[isNormalRole() and classCode=SDLOC]/participation[isNormalParticipation() and typeCode="SBJ"]/act[isNormalAct() and subsumes(OBS, classCode) and moodCode=EVN and hasDomain(code, GPSCoordinates)]/value[type=ST] |
Provenance.activity.policy |
Definition | Policy or plan the activity was defined by |
Control | 0..1 |
Type | uri |
RIM Mapping | ./inboundRelationship[isNormalActRelationship() and typeCode="SUBJ"]/source[isNormalAct and subsumes(POLICY, classCode) and moodCode=EVN]/text[typeCode='ED'/tel |
Provenance.party |
Definition | An entity that is involved in the provenance of the target resource |
Control | 0..* |
RIM Mapping | ./participation[isNormalParticipation()]
OR
./outboundRelationship[isNormalActRelationship() and typeCode='DRIV'] |
To Do | Is DRIV the appropriate semantic for "support"? |
Provenance.party.role |
Definition | The role that the participant played |
Control | 1..1 |
Type | Coding from ProvenanceParticipantRole |
RIM Mapping | attestor: .[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='' |
To Do | Figure out how to handle: application, daemon for RIM mappings. Figure out better mapping for attestor, perhaps after RIM harmonization proposal
|
Provenance.party.type |
Definition | The type of the participant |
Control | 1..1 |
Type | Coding from ProvenanceParticipantType |
Comments | If the type is "resource" then the resource itself was the participant. If the type is a type of resource, then the entity identified by the resource is the participant |
RIM Mapping | 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']
|
To Do | Not sure how to make "resource" or "record" RIM mappings work |
Provenance.party.id |
Definition | Identity of participant. May be a logical or physical uri and maybe absolute or relative |
Control | 1..1 |
Type | uri |
Comments | identity may be a reference to a resource or to something else, depending on the type |
RIM Mapping | ./id |
Provenance.party.description |
Definition | Human readable description of the participant |
Control | 0..1 |
Type | string |
RIM Mapping | ./player/description
OR
./description
OR
./text |
Provenance.signature |
Definition | A digital signature on the target resource. The signature should reference a participant by xml:id |
Control | 0..1 |
Type | string |
Comments | json? Xml? |
RIM Mapping | ./signatureText |
Provenance.extension |
Definition | See Extensions |
Control | 0..* |
Type | Extension |
RIM Mapping | [varies] |
Provenance.text |
Definition | Text summary of resource (for human interpretation) |
Control | 1..1 |
Type | Narrative |