MyHealtheVet PHR FHIR API
0.3.9-current - ci-build
MyHealtheVet PHR FHIR API, published by VA Digital Services. This guide is not an authorized publication; it is the continuous build for version 0.3.9-current built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/department-of-veterans-affairs/mhv-fhir-phr-mapping/ and changes regularly. See the Directory of published versions
Page standards status: Trial-use | Maturity Level: 4 |
Mappings for the VA.MHV.PHR.note resource profile.
Informative map to available elements in MHV FHIR API
MHVnote | ||
DocumentReference | NoteTO | Vista FileMan |
identifier | NoteTO.id | |
status | `current` if not `entered-in-error` | 8925-.05 - STATUS |
type | ||
coding | NoteTO.type{PN, DS, CR, ?} | 8925-.01 - DOCUMENT TYPE |
text | NoteTO.standardTitle | 8925-89261 - VHA ENTERPRISE STANDARD TITLE |
category | `clinical-note` | |
subject | GetPatient() | |
date | if timestamp is missing time, then use procTimestamp | |
author | GetPractitioner(NoteTO.author.[AuthorTO]) | 8925-1202 - AUTHOR/DICTATOR |
authenticator | GetPractitioner(NoteTO.approvedBy.[AuthorTO]) | 8925-1502 - SIGNED BY |
extension (when) | ConvertDate(NoteTO.procTimestamp) | 8925-1304 - RELEASE DATE/TIME |
content | ||
attachment | ||
contentType | `text/plain` | |
data | base64(NoteTO.text) | 8925-.2 - REPORT TEXT |
title | NoteTO.localTitle | 8925-.01.01 - NAME |
creation | ConvertDate(NoteTO.timestamp) | 8925-.1301 - REFERENCE DATE/TIME |
context | ||
period | ||
start | ConvertDate(NoteTO.admitTimestamp) | 8925-.07 - EPISODE BEGIN DATE/TIME |
end | ConvertDate(NoteTO.dischargeTimestamp) | 8925-.08 - EPISODE END DATE/TIME |
related | GetLocation(NoteTO.location.[HospitalLocationTO]) | 8925-1211 - VISIT LOCATION |
Informative map to include only the elements available in eVault PHR
MHVnote | ||
DocumentReference | NoteTO | Vista FileMan |
identifier | NoteTO.id | |
status | `current` | 8925-.05 - STATUS |
type | ||
coding | NoteTO.type{PN, DS, CR, ?} | 8925-.01 - DOCUMENT TYPE |
text | NoteTO.standardTitle | 8925-89261 - VHA ENTERPRISE STANDARD TITLE |
category | `clinical-note` | |
subject | GetPatient() | |
date | if timestamp is missing time, then use procTimestamp | |
author | GetPractitioner(NoteTO.author.[AuthorTO]) | 8925-1202 - AUTHOR/DICTATOR |
authenticator | GetPractitioner(NoteTO.approvedBy.[AuthorTO]) | 8925-1502 - SIGNED BY |
extension (when) | ConvertDate(NoteTO.procTimestamp) | 8925-1304 - RELEASE DATE/TIME |
content | ||
attachment | ||
contentType | `text/plain` | |
data | base64(NoteTO.text) | 8925-.2 - REPORT TEXT |
title | NoteTO.localTitle | 8925-.01.01 - NAME |
creation | ConvertDate(NoteTO.timestamp) | 8925-.1301 - REFERENCE DATE/TIME |
context | ||
period | ||
start | ConvertDate(NoteTO.admitTimestamp) | 8925-.07 - EPISODE BEGIN DATE/TIME |
end | ConvertDate(NoteTO.dischargeTimestamp) | 8925-.08 - EPISODE END DATE/TIME |
related | GetLocation(NoteTO.location.[HospitalLocationTO]) | 8925-1211 - VISIT LOCATION |
MHVnote | ||
DocumentReference | Event | |
identifier | Event.identifier | |
identifier (TOid) | Event.identifier | |
status | Event.status | |
type | Event.code | |
subject | Event.subject | |
date | Event.occurrence[x] | |
author | Event.performer.actor | |
authenticator | Event.performer.actor | |
context |
MHVnote | ||
DocumentReference | when describing a Composition | |
type | Composition.type | |
category | Composition.class | |
category (us-core) | Composition.class | |
subject | Composition.subject | |
date | Composition.date | |
author | Composition.author | |
authenticator | Composition.attester | |
content | Bundle(Composition+*) | |
attachment | Composition.language, Composition.title, Composition.date | |
context | ||
period | Composition.event.period | |
related | Composition.event.detail |
MHVnote | ||
DocumentReference | Entity. Role, or Act, Document[classCode="DOC" and moodCode="EVN"] | |
text | Act.text? | |
contained | N/A | |
extension | N/A | |
modifierExtension | N/A | |
identifier | .id / .setId | |
identifier (TOid) | .id / .setId | |
id | n/a | |
extension | n/a | |
use | Role.code or implied by context | |
type | Role.code or implied by context | |
system | II.root or Role.id.root | |
value | II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root) | |
period | Role.effectiveTime or implied by context | |
assigner | II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper | |
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" | |
type | ./code | |
id | n/a | |
extension | n/a | |
coding | union(., ./translation) | |
coding (LO) | 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 | |
category | .outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code | |
category (us-core) | .outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code | |
subject | .participation[typeCode="SBJ"].role[typeCode="PAT"] | |
date | .availabilityTime[type="TS"] | |
author | .participation[typeCode="AUT"].role[classCode="ASSIGNED"] | |
authenticator | .participation[typeCode="AUTHEN"].role[classCode="ASSIGNED"] | |
id | n/a | |
extension | n/a | |
reference | N/A | |
type | N/A | |
identifier | .identifier | |
display | N/A | |
content | document.text | |
id | n/a | |
extension | n/a | |
modifierExtension | N/A | |
attachment | document.text | |
id | n/a | |
extension | n/a | |
contentType | ./mediaType, ./charset | |
data | ./data | |
title | ./title/data | |
creation | N/A (needs data type R3 proposal) | |
context | outboundRelationship[typeCode="SUBJ"].target[classCode<'ACT'] | |
id | n/a | |
extension | n/a | |
modifierExtension | N/A | |
period | .effectiveTime | |
id | n/a | |
extension | n/a | |
start | ./low | |
end | ./high | |
related | ./outboundRelationship[typeCode="PERT" and isNormalActRelationship()] / target[isNormalAct] |
MHVnote | ||
DocumentReference | when describing a CDA | |
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 | |
category (us-core) | 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 | |
subject | ClinicalDocument/recordTarget/ | |
author | ClinicalDocument/author | |
authenticator | ClinicalDocument/legalAuthenticator | |
content | ||
attachment | ClinicalDocument/languageCode, ClinicalDocument/title, ClinicalDocument/date | |
context | ||
period | ClinicalDocument/documentationOf/ serviceEvent/effectiveTime/low/ @value --> ClinicalDocument/documentationOf/ serviceEvent/effectiveTime/high/ @value | |
related | ClinicalDocument/relatedDocument |
MHVnote | ||
DocumentReference | ||
identifier | FiveWs.identifier | |
identifier (TOid) | FiveWs.identifier | |
status | FiveWs.status | |
type | FiveWs.class | |
category | FiveWs.class | |
category (us-core) | FiveWs.class | |
subject | FiveWs.subject[x], FiveWs.subject | |
date | FiveWs.recorded | |
authenticator | FiveWs.witness | |
context |
MHVnote | ||
DocumentReference | ||
identifier | TXA-16? | |
identifier (TOid) | TXA-16? | |
use | N/A | |
type | CX.5 | |
system | CX.4 / EI-2-4 | |
value | CX.1 / EI.1 | |
period | CX.7 + CX.8 | |
assigner | CX.4 / (CX.4,CX.9,CX.10) | |
status | TXA-19 | |
type | TXA-2 | |
coding | C*E.1-8, C*E.10-22 | |
coding (LO) | C*E.1-8, C*E.10-22 | |
system | C*E.3 | |
version | C*E.7 | |
code | C*E.1 | |
display | C*E.2 - but note this is not well followed | |
userSelected | Sometimes implied by being first | |
text | C*E.9. But note many systems use C*E.2 for this | |
subject | PID-3 (No standard way to define a Practitioner or Group subject in HL7 v2 MDM message) | |
author | TXA-9 (No standard way to indicate a Device in HL7 v2 MDM message) | |
authenticator | TXA-10 | |
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 | |
data | ED.5 | |
context | ||
period | ||
start | DR.1 | |
end | DR.2 |
MHVnote | ||
DocumentReference | ||
identifier | DocumentEntry.entryUUID | |
identifier (TOid) | DocumentEntry.entryUUID | |
status | DocumentEntry.availabilityStatus | |
type | DocumentEntry.type | |
category | DocumentEntry.class | |
category (us-core) | DocumentEntry.class | |
subject | DocumentEntry.patientId | |
author | DocumentEntry.author | |
authenticator | DocumentEntry.legalAuthenticator | |
content | ||
attachment | DocumentEntry.mimeType, DocumentEntry.languageCode, DocumentEntry.URI, DocumentEntry.size, DocumentEntry.hash, DocumentEntry.title, DocumentEntry.creationTime | |
context | ||
period | DocumentEntry.serviceStartTime, DocumentEntry.serviceStopTime | |
related | DocumentEntry.referenceIdList |