Mappings for the athena-provenance-profile resource profile.
| AthenaProvenance |
| Provenance | |
| id | MakeIdWithPrefix(%RESOURCEID%,%RESOURCETYPE%) |
| meta | |
| lastUpdated | %WHENUPDATED% |
| target | MakeReference("Target",%RESOURCEID%,%RESOURCETYPE%) |
| recorded | MapProvenanceTimestamp(%CHANGE%,%INACTIVE%,%SIGNED%,%FILEDINERROR%,%WHENCREATED%,%WHENUPDATED%,%WHENSIGNED%,%ID_PREFIX%) |
| location | MakeReference("LOCREG",%ORGANIZATIONID%,"Location") |
| activity | MapCode(%RESOURCEID%,%VERSIONID%,%CHANGE%,"PROVENANCEACTIVITYTYPE") OR MapCode(%STATUS%,"PROVENANCEACTIVITYTYPE",%ID_PREFIX%) |
| agent | |
| agent (ProvenanceAuthor) | |
| type | MakeCoding("author", "http://terminology.hl7.org/CodeSystem/provenance-participant-type", "Author") |
| who | MapProvenanceWho(%CHANGE%,%INACTIVE%,%SIGNED%,%FILEDINERROR%,%CREATOR%,%WHOUPDATED%,%SIGNER%,%ID_PREFIX%) |
| onBehalfOf | MakeReference("LOCREG",%ORGANIZATIONID%,"Organization") |
| agent (ProvenanceTransmitter) | |
| type | IfEqual(%MIMETYPE%,"text/xml").Then(MakeCoding("transmitter", "http://hl7.org/fhir/us/core/CodeSystem/us-core-provenance-participant-type", "Transmitter")) |
| who | IfEqual(%MIMETYPE%,"text/xml").Then(Context::MakeTextReference,%SOURCENAME%) |
| onBehalfOf | IfEqual(%MIMETYPE%,"text/xml").Then(Context::MakeTextReference,%SOURCEORG%) |
| agent (ProvenanceVerifier) | |
| type | MakeCoding("verifier", "http://terminology.hl7.org/CodeSystem/provenance-participant-type", "Verifier") |
| who | MakeReference("LOCREG", r.ORGANIZATIONID.getString(rs), "Organization") |
| onBehalfOf | IfEqual(%MIMETYPE%,"text/xml").Then(Context::MakeTextReference,%SOURCEORG%) |
| entity | |
| what | MakeReference("DOCUMENT",%SDID%,"Encounter") |
| AthenaProvenance |
| Provenance | |
| id | MakeIdWithPrefix(%RESOURCEID%,%RESOURCETYPE%) |
| meta | |
| lastUpdated | %WHENUPDATED% |
| target | MakeReference("Target",%RESOURCEID%,%RESOURCETYPE%) |
| recorded | MapProvenanceTimestamp(%CHANGE%,%INACTIVE%,%SIGNED%,%FILEDINERROR%,%WHENCREATED%,%WHENUPDATED%,%WHENSIGNED%,%ID_PREFIX%) |
| location | MakeReference("LOCREG",%ORGANIZATIONID%,"Location") |
| activity | MapCode(%RESOURCEID%,%VERSIONID%,%CHANGE%,"PROVENANCEACTIVITYTYPE") OR MapCode(%STATUS%,"PROVENANCEACTIVITYTYPE",%ID_PREFIX%) |
| agent | |
| agent (ProvenanceAuthor) | |
| type | MakeCoding("author", "http://terminology.hl7.org/CodeSystem/provenance-participant-type", "Author") |
| who | MapProvenanceWho(%CHANGE%,%INACTIVE%,%SIGNED%,%FILEDINERROR%,%CREATOR%,%WHOUPDATED%,%SIGNER%,%ID_PREFIX%) |
| onBehalfOf | MakeReference("LOCREG",%ORGANIZATIONID%,"Organization") |
| agent (ProvenanceTransmitter) | |
| type | IfEqual(%MIMETYPE%,"text/xml").Then(MakeCoding("transmitter", "http://hl7.org/fhir/us/core/CodeSystem/us-core-provenance-participant-type", "Transmitter")) |
| who | IfEqual(%MIMETYPE%,"text/xml").Then(Context::MakeTextReference,%SOURCENAME%) |
| onBehalfOf | IfEqual(%MIMETYPE%,"text/xml").Then(Context::MakeTextReference,%SOURCEORG%) |
| agent (ProvenanceVerifier) | |
| type | MakeCoding("verifier", "http://terminology.hl7.org/CodeSystem/provenance-participant-type", "Verifier") |
| who | MakeReference("LOCREG", r.ORGANIZATIONID.getString(rs), "Organization") |
| onBehalfOf | IfEqual(%MIMETYPE%,"text/xml").Then(Context::MakeTextReference,%SOURCEORG%) |
| entity | |
| what | MakeReference("DOCUMENT",%SDID%,"Encounter") |
| AthenaProvenance |
| Provenance | Entity. Role, or Act, ControlAct[isNormalAct() and subsumes(CACT, classCode) and moodCode=EVN] |
| meta | |
| id | n/a |
| extension | n/a |
| text | Act.text? |
| contained | N/A |
| extension | N/A |
| modifierExtension | N/A |
| target | ./outboundRelationship[isNormalActRelationship() and typeCode=SUBJ]/target OR ./participation[isNormalParticipation() and typeCode=SBJ]/role OR ./participation[isNormalParticipation() and typeCode=SBJ]/role[isNormalRole()]/player |
| occurred[x] | ./effectiveTime[type=IVL_TS] |
| recorded | unique(./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 |
| location | unique(./participation[isNormalParticipation() and typeCode=LOC]/role[isNormalRole() and subsumes(SDLOC, classCode)]/player[isNormalEntity and classCode="LOC" and determinerCode="INST"] |
| reason | unique(./reasonCode) |
| activity | Act.code |
| agent | ./participation[isNormalParticipation()] OR ./outboundRelationship[isNormalActRelationship() and typeCode='DRIV'] |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| type | .role |
| role | .typecode |
| who | .id |
| onBehalfOf | Person, 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'] |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| type | .role |
| id | n/a |
| extension | n/a |
| coding | union(., ./translation) |
| id | n/a |
| extension | n/a |
| system | ./codeSystem |
| version | ./codeSystemVersion |
| code | ./code |
| display | CV.displayName |
| userSelected | CD.codingRationale |
| text | ./originalText[mediaType/code="text/plain"]/data |
| role | .typecode |
| who | .id |
| onBehalfOf | Person, 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'] |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| type | .role |
| id | n/a |
| extension | n/a |
| coding | union(., ./translation) |
| id | n/a |
| extension | n/a |
| system | ./codeSystem |
| version | ./codeSystemVersion |
| code | ./code |
| display | CV.displayName |
| userSelected | CD.codingRationale |
| text | ./originalText[mediaType/code="text/plain"]/data |
| role | .typecode |
| who | .id |
| onBehalfOf | Person, Practitioner, Organization, Device :* .role [classCode = RoleClassMutualRelationship; role.code and * .scopes[Role](classCode=IDENT) and *.plays [Role.Code] |
| agent (ProvenanceVerifier) | ./participation[isNormalParticipation()] OR ./outboundRelationship[isNormalActRelationship() and typeCode='DRIV'] |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| type | .role |
| id | n/a |
| extension | n/a |
| coding | union(., ./translation) |
| id | n/a |
| extension | n/a |
| system | ./codeSystem |
| version | ./codeSystemVersion |
| code | ./code |
| display | CV.displayName |
| userSelected | CD.codingRationale |
| text | ./originalText[mediaType/code="text/plain"]/data |
| role | .typecode |
| who | .id |
| onBehalfOf | Person, Practitioner, Organization, Device :* .role [classCode = RoleClassMutualRelationship; role.code and * .scopes[Role](classCode=IDENT) and *.plays [Role.Code] |
| entity | ./subjectOf |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| role | ./typeCode |
| what | ./text/reference |
| agent | ./author/role |
| signature | ./signatureText |