Implementation Guide
25.0.0 - R4 APIs

Publish Box goes here

Resource Profile: AthenaDocumentReference - Mappings

Active as of 2022-03-01

Mappings for the athena-documentref-profile resource profile.

Mappings to Structures in this Implementation Guide

No Mappings Found

Mappings to other Structures

No Mappings Found

Other Mappings

NameathenaFlowathenaPracticeWorkflow PatternFHIR CompositionRIM MappingCDA (R2)FiveWs Pattern MappingHL7 v2 MappingXDS metadata equivalentdoco
.. DocumentReference
FHIRR4_DOCUMENTREFERENCEVIEW
FHIRR4_DOCUMENTREFERENCEVIEW
Event
when describing a Composition
Document[classCode="DOC" and moodCode="EVN"]
when describing a CDA
... id
  • MakeId("DOCUMENT"
  • %RESOURCEID%)
  • MakeIdWithPrefix(%RESOURCEID%
  • %ID_PREFIX%)
... meta
.... id
n/a
.... extension
n/a
.... versionId
.... lastUpdated
%WHENUPDATED%
%WHENUPDATED%
.... source
.... Slices for profile
..... profile:us-core-documentreference
..... profile:athena-documentref-profile
.... Slices for security
..... security:SENSITIVECHART
CheckSensitive(%SENSITIVECHART%)
CheckSensitive(%SENSITIVECHART%)
..... security:CONFABBR
...... id
n/a
...... extension
n/a
...... system
getSiteCodeSystem("ConfidentialDocument")
getSiteCodeSystem("ConfidentialDocument")
./codeSystem
C*E.3
...... version
./codeSystemVersion
C*E.7
...... code
%CONFABBR%
%CONFABBR%
./code
C*E.1
...... display
CV.displayName
C*E.2 - but note this is not well followed
...... userSelected
CD.codingRationale
Sometimes implied by being first
.... Slices for tag
..... tag:CHANGE
MakeChangeTagList(%CHANGE%)
MakeChangeTagList(%CHANGE%)
... implicitRules
... text
Act.text?
... contained
N/A
... Slices for extension
.... extension:refprovid
  • MakeExtensionList("PRACTITIONER"
  • %REFPROVID%
  • "Practitioner"
  • //docs.mydata.athenahealth.com/fhir-r4/StructureDefinition/athena-documentref-extension-refprovid")
  • MakeExtensionList("PRACTITIONER"
  • %REFPROVID%
  • "Practitioner"
  • //docs.mydata.athenahealth.com/fhir-r4/StructureDefinition/athena-documentref-extension-refprovid")
.... extension:pubtime
..... id
n/a
..... extension
n/a
..... url
N/A
..... value[x]
getDateFromId(%PUBTIME%)
getDateFromId(%PUBTIME%)
N/A
... modifierExtension
N/A
... masterIdentifier
  • MakeIdentifier("U"
  • getSiteSystem("DocumentReferenceId")
  • %RESOURCEID%)
  • MakeIdentifier("U"
  • getSiteSystem("DocumentReferenceId")
  • %RESOURCEID%
  • %ID_PREFIX%)
Event.identifier
Composition.identifier
.id
ClinicalDocument/id
FiveWs.identifier
TXA-12
DocumentEntry.uniqueId
... identifier
  • MakeIdentifier("U"
  • getSiteSystem("DocumentReferenceId")
  • %RESOURCEID%)
  • MakeIdentifier("U"
  • getSiteSystem("DocumentReferenceId")
  • %RESOURCEID%
  • %ID_PREFIX%)
Event.identifier
.id / .setId
FiveWs.identifier
TXA-16?
DocumentEntry.entryUUID
... status
  • MapCode(%DOCREFSTATUS%
  • "DOCUMENTREFERENCESTATUS")
  • MapCode(%DOCREFSTATUS%
  • "DOCUMENTREFERENCESTATUS")
Event.status
  • .completionCode="IN" & ./statusCode[isNormalDatatype()]="active"; final: .completionCode="AU" && ./statusCode[isNormalDatatype()]="complete" and not(./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseDocument"
  • .completionCode="AU" && ./statusCode[isNormalDatatype()]="complete" and ./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseDocument"
  • .completionCode=NI && ./statusCode[isNormalDatatype()]="obsolete"
FiveWs.status
TXA-19
DocumentEntry.availabilityStatus
... docStatus
  • MapCode(%STATUS%
  • "DOCSTATUS")
  • MapCode(%STATUS%
  • "DOCSTATUS")
Composition.status
.statusCode
FiveWs.status
TXA-17
... type
  • MapConceptForDocRefTypeAndCategory(%TYPE%
  • %SOURCEDOCLOINC%
  • "DOCUMENTTYPE")
  • MapConceptForDocRefTypeAndCategory(%TYPE%
  • %SOURCEDOCLOINC%
  • "DOCUMENTTYPE")
Event.code
Composition.type
./code
  • ClinicalDocument/code/@code The typeCode should be mapped from the ClinicalDocument/code element to a set of document type codes configured in the affinity domain. One suggested coding system to use for typeCode is LOINC
  • in which case the mapping step can be omitted.
FiveWs.class
TXA-2
DocumentEntry.type
... category
  • MapConceptForDocRefTypeAndCategory(%TYPE%
  • %SOURCEDOCLOINC%
  • "DOCUMENTCLASS")
  • MapConceptForDocRefTypeAndCategory(%TYPE%
  • %SOURCEDOCLOINC%
  • "DOCUMENTCLASS")
Composition.class
  • .outboundRelationship[typeCode="COMP].target[classCode="LIST"
  • moodCode="EVN"].code
  • Derived from a mapping of /ClinicalDocument/code/@code to an Affinity Domain specified coded value to use and coding system. Affinity Domains are encouraged to use the appropriate value for Type of Service
  • based on the LOINC Type of Service (see Page 53 of the LOINC User's Manual). Must be consistent with /ClinicalDocument/code/@code
FiveWs.class
DocumentEntry.class
... subject
  • MakeReference("PERSON"
  • %PID%
  • "Patient")
  • MakeReference("PERSON"
  • %PID%
  • "Patient")
Event.subject
Composition.subject
.participation[typeCode="SBJ"].role[typeCode="PAT"]
ClinicalDocument/recordTarget/
FiveWs.subject
PID-3 (No standard way to define a Practitioner or Group subject in HL7 v2 MDM message)
DocumentEntry.patientId
... date
%WHENCREATED%
%WHENCREATED%
Event.occurrence[x]
Composition.date
.availabilityTime[type="TS"]
FiveWs.recorded
... author
  • MakeReferenceList("USR"
  • %AUTHOR%
  • "Practitioner")
  • MakeReferenceList("USR"
  • %AUTHOR%
  • "Practitioner")
Event.performer.actor
Composition.author
.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
ClinicalDocument/author
TXA-9 (No standard way to indicate a Device in HL7 v2 MDM message)
DocumentEntry.author
... authenticator
  • MakeReference("USR"
  • %SIGNER%
  • "Practitioner")
  • MakeReference("USR"
  • %SIGNER%
  • "Practitioner")
Event.performer.actor
Composition.attester
.participation[typeCode="AUTHEN"].role[classCode="ASSIGNED"]
ClinicalDocument/legalAuthenticator
FiveWs.witness
TXA-10
DocumentEntry.legalAuthenticator
... custodian
  • MakeReference("LOCREG"
  • %FACILITYID%
  • "Organization")
  • MakeReference("LOCREG"
  • %FACILITYID%
  • "Organization")
Event.performer.actor
Composition.custodian
.participation[typeCode="RCV"].role[classCode="CUST"].scoper[classCode="ORG" and determinerCode="INST"]
... relatesTo
Composition.relatesTo
.outboundRelationship
DocumentEntry Associations
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... code
  • MapCode(%RELATESTOCODE%
  • "DOCUMENTRELATESTO")
  • MapCode(%RELATESTOCODE%
  • "DOCUMENTRELATESTO")
Composition.relatesTo.code
.outboundRelationship.typeCode
DocumentEntry Associations type
.... target
  • MakeReference("DOCUMENTREFERENCE"
  • %RELATESTOTARGET%
  • "DocumentReference")
  • MakeReference("DOCUMENTREFERENCE"
  • %RELATESTOTARGET%
  • "DocumentReference")
Composition.relatesTo.target
  • .target[classCode="DOC"
  • moodCode="EVN"].id
DocumentEntry Associations reference
... description
%SUMMARY%
%SUMMARY%
.outboundRelationship[typeCode="SUBJ"].target.text
TXA-25
DocumentEntry.comments
... securityLabel
  • Composition.confidentiality
  • Composition.meta.security
.confidentialityCode
ClinicalDocument/confidentialityCode/@code
TXA-18
DocumentEntry.confidentialityCode
... Slices for content
Bundle(Composition+*)
document.text
.... content:All Slices
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... attachment
  • Composition.language
  • Composition.title
  • Composition.date
document.text
  • ClinicalDocument/languageCode
  • ClinicalDocument/title
  • ClinicalDocument/date
TXA-3 for mime type
  • DocumentEntry.mimeType
  • DocumentEntry.languageCode
  • DocumentEntry.URI
  • DocumentEntry.size
  • DocumentEntry.hash
  • DocumentEntry.title
  • DocumentEntry.creationTime
..... format
Composition.meta.profile
document.text
derived from the IHE Profile or Implementation Guide templateID
DocumentEntry.formatCode
.... content:InternalAttachment
  • MakeDocRefContentComponentForBinary(%INTREFERENCE%
  • %INTREFERENCEFORMAT%
  • ihe:iti:xds:2017:mimeTypeSufficient"
  • oid:1.3.6.1.4.1.19376.1.2.3"
  • "MimeType Sufficient")
  • MakeDocRefContentComponentForBinary(%INTREFERENCE%
  • %INTREFERENCEFORMAT%
  • ihe:iti:xds:2017:mimeTypeSufficient"
  • oid:1.3.6.1.4.1.19376.1.2.3"
  • "MimeType Sufficient")
Bundle(Composition+*)
document.text
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... attachment
  • Composition.language
  • Composition.title
  • Composition.date
document.text
  • ClinicalDocument/languageCode
  • ClinicalDocument/title
  • ClinicalDocument/date
TXA-3 for mime type
  • DocumentEntry.mimeType
  • DocumentEntry.languageCode
  • DocumentEntry.URI
  • DocumentEntry.size
  • DocumentEntry.hash
  • DocumentEntry.title
  • DocumentEntry.creationTime
..... format
Composition.meta.profile
document.text
derived from the IHE Profile or Implementation Guide templateID
DocumentEntry.formatCode
.... content:InternalAttachment2
  • MakeDocRefContentComponentForBinary(%INTREFERENCE2%
  • %INTREFERENCEFORMAT2%
  • oid:1.3.6.1.4.1.19376.1.2.3"
  • hl7-org:sdwg:ccda-structuredBody:2.1"
  • "Documents following C-CDA constraints using a structured body")
  • MakeDocRefContentComponentForBinary(%INTREFERENCE2%
  • %INTREFERENCEFORMAT2%
  • oid:1.3.6.1.4.1.19376.1.2.3"
  • hl7-org:sdwg:ccda-structuredBody:2.1"
  • "Documents following C-CDA constraints using a structured body")
Bundle(Composition+*)
document.text
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... attachment
  • Composition.language
  • Composition.title
  • Composition.date
document.text
  • ClinicalDocument/languageCode
  • ClinicalDocument/title
  • ClinicalDocument/date
TXA-3 for mime type
  • DocumentEntry.mimeType
  • DocumentEntry.languageCode
  • DocumentEntry.URI
  • DocumentEntry.size
  • DocumentEntry.hash
  • DocumentEntry.title
  • DocumentEntry.creationTime
..... format
Composition.meta.profile
document.text
derived from the IHE Profile or Implementation Guide templateID
DocumentEntry.formatCode
.... content:InternalAttachment3
  • MakeDocRefContentComponentForIntAttachmentBinaryList(%INTREFERENCE3%
  • %INTREFERENCEFORMAT3%)
  • MakeDocRefContentComponentForIntAttachmentBinaryList(%INTREFERENCE3%
  • %INTREFERENCEFORMAT3%)
Bundle(Composition+*)
document.text
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... attachment
  • Composition.language
  • Composition.title
  • Composition.date
document.text
  • ClinicalDocument/languageCode
  • ClinicalDocument/title
  • ClinicalDocument/date
TXA-3 for mime type
  • DocumentEntry.mimeType
  • DocumentEntry.languageCode
  • DocumentEntry.URI
  • DocumentEntry.size
  • DocumentEntry.hash
  • DocumentEntry.title
  • DocumentEntry.creationTime
..... format
Composition.meta.profile
document.text
derived from the IHE Profile or Implementation Guide templateID
DocumentEntry.formatCode
.... content:ExternalAttachment
  • MakeDocRefContentComponentForExtReferencedBinaryList(%EXTREFERENCE%
  • %EXTREFERENCEURL%)
  • MakeDocRefContentComponentForExtReferencedBinaryList(%EXTREFERENCE%
  • %EXTREFERENCEURL%)
Bundle(Composition+*)
document.text
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... attachment
  • Composition.language
  • Composition.title
  • Composition.date
document.text
  • ClinicalDocument/languageCode
  • ClinicalDocument/title
  • ClinicalDocument/date
TXA-3 for mime type
  • DocumentEntry.mimeType
  • DocumentEntry.languageCode
  • DocumentEntry.URI
  • DocumentEntry.size
  • DocumentEntry.hash
  • DocumentEntry.title
  • DocumentEntry.creationTime
..... format
Composition.meta.profile
document.text
derived from the IHE Profile or Implementation Guide templateID
DocumentEntry.formatCode
.... content:DataAbsentReason
  • MakeDocRefContentComponentDataAbsent(%RESOURCEID%
  • %INTREFERENCE%
  • %INTREFERENCE2%
  • %EXTREFERENCE%)
  • MakeDocRefContentComponentDataAbsent(%RESOURCEID%
  • %INTREFERENCE%
  • %INTREFERENCE2%
  • %EXTREFERENCE%)
Bundle(Composition+*)
document.text
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... attachment
  • Composition.language
  • Composition.title
  • Composition.date
document.text
  • ClinicalDocument/languageCode
  • ClinicalDocument/title
  • ClinicalDocument/date
TXA-3 for mime type
  • DocumentEntry.mimeType
  • DocumentEntry.languageCode
  • DocumentEntry.URI
  • DocumentEntry.size
  • DocumentEntry.hash
  • DocumentEntry.title
  • DocumentEntry.creationTime
..... format
Composition.meta.profile
document.text
derived from the IHE Profile or Implementation Guide templateID
DocumentEntry.formatCode
... context
outboundRelationship[typeCode="SUBJ"].target[classCode<'ACT']
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... encounter
  • MakeReference("DOCUMENT"
  • %SDID%
  • "Encounter")
  • MakeReference("DOCUMENT"
  • %SDID%
  • "Encounter")
Event.context
Composition.encounter
  • unique(highest(./outboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]
  • priorityNumber)/target[moodCode="EVN" and classCode=("ENC"
  • "PCPR") and isNormalAct])
FiveWs.context
.... event
Composition.event.code
.code
DocumentEntry.eventCodeList
.... period
MakeEMRPeriod(%CLINICALDATE%)
MakeEMRPeriod(%CLINICALDATE%)
Composition.event.period
.effectiveTime
ClinicalDocument/documentationOf/ serviceEvent/effectiveTime/low/ @value --> ClinicalDocument/documentationOf/ serviceEvent/effectiveTime/high/ @value
  • DocumentEntry.serviceStartTime
  • DocumentEntry.serviceStopTime
.... facilityType
MakeTextConcept(%SITE%)
MakeTextConcept(%SITE%)
usually from a mapping to a local ValueSet
.participation[typeCode="LOC"].role[classCode="DSDLOC"].code
usually a mapping to a local ValueSet. Must be consistent with /clinicalDocument/code
DocumentEntry.healthcareFacilityTypeCode
.... practiceSetting
usually from a mapping to a local ValueSet
.participation[typeCode="LOC"].role[classCode="DSDLOC"].code
usually from a mapping to a local ValueSet
DocumentEntry.practiceSettingCode
.... sourcePatientInfo
  • MakeReference("PERSON"
  • %PID%
  • "Patient")
  • MakeReference("PERSON"
  • %PID%
  • "Patient")
Composition.subject
.participation[typeCode="SBJ"].role[typeCode="PAT"]
ClinicalDocument/recordTarget/
  • DocumentEntry.sourcePatientInfo
  • DocumentEntry.sourcePatientId
.... related
Composition.event.detail
./outboundRelationship[typeCode="PERT" and isNormalActRelationship()] / target[isNormalAct]
ClinicalDocument/relatedDocument
DocumentEntry.referenceIdList

doco Documentation for this format