Non-patient File Sharing (NPFS)
2.2.1-current - ci-build

Non-patient File Sharing (NPFS), published by IHE IT Infrastructure Technical Committee. This guide is not an authorized publication; it is the continuous build for version 2.2.1-current built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/IHE/ITI.NPFS/ and changes regularly. See the Directory of published versions

## Resource Profile: NPFSDocumentReference - Mappings

Active as of 2025-04-28

Mappings for the IHE.NPFS.DocumentReference resource profile.

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

NPFSDocumentReference
DocumentReference | Event
masterIdentifier | Event.identifier
identifier | Event.identifier
status | Event.status
type | Event.code
date | Event.occurrence[x]
author | Event.performer.actor
authenticator | Event.performer.actor
custodian | Event.performer.actor
context |

### Mappings for FHIR Composition (http://hl7.org/fhir/composition)

NPFSDocumentReference
DocumentReference | when describing a Composition
masterIdentifier | Composition.identifier
docStatus | Composition.status
type | Composition.type
category | Composition.class
date | Composition.date
author | Composition.author
authenticator | Composition.attester
custodian | Composition.custodian
relatesTo | Composition.relatesTo
code | Composition.relatesTo.code
target | Composition.relatesTo.target
securityLabel | Composition.confidentiality, Composition.meta.security
content | Bundle(Composition+*)
attachment | Composition.language, Composition.title, Composition.date
format | Composition.meta.profile
context |
event | Composition.event.code
period | Composition.event.period
facilityType | usually from a mapping to a local ValueSet
practiceSetting | usually from a mapping to a local ValueSet

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

NPFSDocumentReference
DocumentReference | Entity. Role, or Act, Document[classCode="DOC" and moodCode="EVN"]
text | Act.text?
contained | N/A
extension | N/A
modifierExtension | N/A
masterIdentifier | .id
identifier | .id / .setId
status | interim: .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", code) and isNormalAct()]); amended: .completionCode="AU" && ./statusCode[isNormalDatatype()]="complete" and ./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseDocument", code) and isNormalAct() and statusCode="completed"]; withdrawn : .completionCode=NI && ./statusCode[isNormalDatatype()]="obsolete"
docStatus | .statusCode
type | ./code
category | .outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
date | .availabilityTime[type="TS"]
author | .participation[typeCode="AUT"].role[classCode="ASSIGNED"]
authenticator | .participation[typeCode="AUTHEN"].role[classCode="ASSIGNED"]
custodian | .participation[typeCode="RCV"].role[classCode="CUST"].scoper[classCode="ORG" and determinerCode="INST"]
relatesTo | .outboundRelationship
id | n/a
extension | n/a
modifierExtension | N/A
code | .outboundRelationship.typeCode
target | .target[classCode="DOC", moodCode="EVN"].id
description | .outboundRelationship[typeCode="SUBJ"].target.text
securityLabel | .confidentialityCode
content | document.text
id | n/a
extension | n/a
modifierExtension | N/A
attachment | document.text
id | n/a
extension | n/a
contentType | ./mediaType, ./charset
language | ./language
url | ./reference/literal
size | N/A (needs data type R3 proposal)
hash | .integrityCheck[parent::ED/integrityCheckAlgorithm="SHA-1"]
title | ./title/data
creation | N/A (needs data type R3 proposal)
format | document.text
context | outboundRelationship[typeCode="SUBJ"].target[classCode<'ACT']
id | n/a
extension | n/a
modifierExtension | N/A
event | .code
period | .effectiveTime
facilityType | .participation[typeCode="LOC"].role[classCode="DSDLOC"].code
practiceSetting | .participation[typeCode="LOC"].role[classCode="DSDLOC"].code

### Mappings for CDA (R2) (http://hl7.org/v3/cda)

NPFSDocumentReference
DocumentReference | when describing a CDA
masterIdentifier | ClinicalDocument/id
type | 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.
category | 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
author | ClinicalDocument/author
authenticator | ClinicalDocument/legalAuthenticator
securityLabel | ClinicalDocument/confidentialityCode/@code
content |
attachment | ClinicalDocument/languageCode, ClinicalDocument/title, ClinicalDocument/date
format | derived from the IHE Profile or Implementation Guide templateID
context |
period | ClinicalDocument/documentationOf/ serviceEvent/effectiveTime/low/ @value --> ClinicalDocument/documentationOf/ serviceEvent/effectiveTime/high/ @value
facilityType | usually a mapping to a local ValueSet. Must be consistent with /clinicalDocument/code
practiceSetting | usually from a mapping to a local ValueSet

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

NPFSDocumentReference
DocumentReference |
masterIdentifier | FiveWs.identifier
identifier | FiveWs.identifier
status | FiveWs.status
docStatus | FiveWs.status
type | FiveWs.class
category | FiveWs.class
date | FiveWs.recorded
authenticator | FiveWs.witness
context |

### Mappings for HL7 v2 Mapping (http://hl7.org/v2)

NPFSDocumentReference
DocumentReference |
masterIdentifier | TXA-12
identifier | TXA-16?
status | TXA-19
docStatus | TXA-17
type | TXA-2
author | TXA-9 (No standard way to indicate a Device in HL7 v2 MDM message)
authenticator | TXA-10
description | TXA-25
securityLabel | TXA-18
content |
attachment | TXA-3 for mime type
contentType | ED.2+ED.3/RP.2+RP.3. Note conversion may be needed if old style values are being used
url | RP.1+RP.2 - if they refer to a URL (see v2.6)

### Mappings for XDS metadata equivalent (http://ihe.net/xds)

NPFSDocumentReference
DocumentReference |
masterIdentifier | DocumentEntry.uniqueId
identifier | DocumentEntry.entryUUID
status | DocumentEntry.availabilityStatus
type | DocumentEntry.type
category | DocumentEntry.class
author | DocumentEntry.author
authenticator | DocumentEntry.legalAuthenticator
relatesTo | DocumentEntry Associations
code | DocumentEntry Associations type
target | DocumentEntry Associations reference
description | DocumentEntry.comments
securityLabel | DocumentEntry.confidentialityCode
content |
attachment | DocumentEntry.mimeType, DocumentEntry.languageCode, DocumentEntry.URI, DocumentEntry.size, DocumentEntry.hash, DocumentEntry.title, DocumentEntry.creationTime
format | DocumentEntry.formatCode
context |
event | DocumentEntry.eventCodeList
period | DocumentEntry.serviceStartTime, DocumentEntry.serviceStopTime
facilityType | DocumentEntry.healthcareFacilityTypeCode
practiceSetting | DocumentEntry.practiceSettingCode