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.vitalsOx resource profile.
Informative map to available elements in MHV FHIR API
MHVvitalsOx | ||
Observation | VitalSignTO | |
identifier | {StationNbr} and {VitalSignTO.type.id} | |
status | `final` if not `entered-in-error` | |
category | `vital-signs` | |
code | ||
coding (PulseOx) | LOINC 59408-5 | |
coding (O2Sat) | LOINC 2708-6 | |
text | VitalSignTO.type.name | VITAL_TYPE - 120.5-.03 VITAL TYPE |
subject | patient | PATIENT - 120.5-.02 PATIENT |
effective[x] (effectiveDateTime) | VitalSignTO.timestamp | DATE_TIME_TAKEN - 120.5-.01 Date/Time Vitals Taken |
performer | contained VitalSignTO.recorder, contained VitalSignTO.observer | 120.5-.06 ENTERED BY , |
extension (site) | Location(VitalSignTO.location) | 120.5-.05 HOSPITAL LOCATION |
value[x] | VitalSignTO.value1 and VitalSignTO.units | MEASUREMENT - 120.5-.1.2 RATE |
Informative map to include only the elements available in eVault PHR
MHVvitalsOx | ||
Observation | VitalSignTO | eVault |
status | `final` if not `entered-in-error` | |
category | `vital-signs` | |
code | ||
coding (PulseOx) | LOINC 59408-5 | |
coding (O2Sat) | LOINC 2708-6 | |
text | VitalSignTO.type.name | VITAL_TYPE - 120.5-.03 VITAL TYPE |
subject | patient | patient - 120.5-.02 Patient |
effective[x] (effectiveDateTime) | VitalSignTO.timestamp | DATE_TIME_TAKEN - 120.5-.01 Date/Time Vitals Taken |
value[x] | VitalSignTO.value1 and VitalSignTO.units | MEASUREMENT - 120.5-.1.2 RATE |
MHVvitalsOx | ||
Observation | Event | |
identifier | Event.identifier | |
identifier (TOid) | Event.identifier | |
status | Event.status | |
code | Event.code | |
subject | Event.subject | |
effective[x] | Event.occurrence[x] | |
effective[x] (effectiveDateTime) | Event.occurrence[x] | |
performer | Event.performer.actor |
MHVvitalsOx | ||
Observation | < 363787002 |Observable entity| | |
status | < 445584004 |Report by finality status| | |
code | < 363787002 |Observable entity| OR < 386053000 |Evaluation procedure| | |
value[x] | < 441742003 |Evaluation finding| | |
component | ||
code | < 363787002 |Observable entity| OR < 386053000 |Evaluation procedure| | |
value[x] | 363714003 |Interprets| < 441742003 |Evaluation finding| | |
interpretation | < 260245000 |Findings values| |
MHVvitalsOx | ||
Observation | OBX | |
identifier | OBX.21 For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4. | |
identifier (TOid) | OBX.21 For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4. | |
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 | OBX-11 | |
category | ||
category (VSCat) | ||
coding | 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 | |
code | OBX-3 | |
coding | C*E.1-8, C*E.10-22 | |
coding (PulseOx) | C*E.1-8, C*E.10-22 | |
coding (O2Sat) | C*E.1-8, C*E.10-22 | |
text | C*E.9. But note many systems use C*E.2 for this | |
subject | PID-3 | |
effective[x] | OBX-14, and/or OBX-19 after v2.4 (depends on who observation made) | |
effective[x] (effectiveDateTime) | OBX-14, and/or OBX-19 after v2.4 (depends on who observation made) | |
performer | OBX.15 / (Practitioner) OBX-16, PRT-5:PRT-4='RO' / (Device) OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization) OBX-23, PRT-8:PRT-4='PO' | |
value[x] | OBX.2, OBX.5, OBX.6 | |
dataAbsentReason | N/A | |
component | containment by OBX-4? | |
code | OBX-3 | |
value[x] | OBX.2, OBX.5, OBX.6 | |
dataAbsentReason | N/A | |
interpretation | OBX-8 | |
referenceRange | OBX.7 |
MHVvitalsOx | ||
Observation | Entity. Role, or Act, Observation[classCode=OBS, moodCode=EVN] | |
text | Act.text? | |
contained | N/A | |
extension | N/A | |
modifierExtension | N/A | |
identifier | id | |
identifier (TOid) | id | |
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 | status Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of "revise" | |
category | .outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code | |
category (VSCat) | .outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code | |
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 | |
code | code | |
id | n/a | |
extension | n/a | |
coding | union(., ./translation) | |
coding (PulseOx) | union(., ./translation) | |
coding (O2Sat) | union(., ./translation) | |
text | ./originalText[mediaType/code="text/plain"]/data | |
subject | participation[typeCode=RTGT] | |
effective[x] | effectiveTime | |
effective[x] (effectiveDateTime) | effectiveTime | |
performer | participation[typeCode=PRF] | |
id | n/a | |
extension | n/a | |
extension (site) | ||
id | n/a | |
url | N/A | |
value[x] | N/A | |
reference | N/A | |
type | N/A | |
identifier | .identifier | |
display | N/A | |
value[x] | value | |
dataAbsentReason | value.nullFlavor | |
component | outBoundRelationship[typeCode=COMP] | |
id | n/a | |
extension | n/a | |
modifierExtension | N/A | |
code | code | |
value[x] | value | |
dataAbsentReason | value.nullFlavor | |
interpretation | interpretationCode | |
referenceRange | outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN] |
MHVvitalsOx | ||
Observation | ||
identifier | FiveWs.identifier | |
identifier (TOid) | FiveWs.identifier | |
status | FiveWs.status | |
category | FiveWs.class | |
category (VSCat) | FiveWs.class | |
code | FiveWs.what[x] | |
subject | FiveWs.subject[x], FiveWs.subject | |
effective[x] | FiveWs.done[x] | |
effective[x] (effectiveDateTime) | FiveWs.done[x] | |
performer | FiveWs.actor | |
component | ||
code | FiveWs.what[x] |
MHVvitalsOx | ||
Observation | ||
code | 116680003 |Is a| | |
value[x] | 363714003 |Interprets| | |
component | ||
value[x] | 363714003 |Interprets| | |
interpretation | 363713009 |Has interpretation| |