US Veterans Health Administration FHIR Map Set Implementation Guide
1.3.1 - 250401 United States of America flag

Publication Build: This will be filled in by the publication tooling

Resource Profile: VitalSigns - Mappings

Active as of 2025-03-31

Mappings for the VitalSigns resource profile.

Scroll down for the Raw FHIR, CDW & SDA mappings (if any).

Note that the CDW and SDA mappings are derived from a look-up based on the VistA source mappings in CDW and VPR SDA.

Mapping Sources

Use Case: Vital Signs (Source)GMRV VITAL MEASUREMENT (120.5).001IEN.01DATE/TIME VITALS TAKEN.02PATIENT.03VITAL TYPE.04DATE/TIME VITALS ENTERED.05HOSPITAL LOCATION1.2RATE4REASON ENTERED IN ERROR5QUALIFIERGMRV VITAL TYPE (120.51)99.99VUIDGMRV VITAL QUALIFIER (120.52)99.99VUID

Raw Mappings

key status direction source mapApproach mapCase FHIR Path subPath mapValue mapParameter mapComment FHIR URL | Ver
652 for review V2F GMRV VITAL MEASUREMENT - DATE/TIME VITALS ENTERED (120.5-.04) source value Observation.issued http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
1653 for review V2F GMRV VITAL MEASUREMENT - HOSPITAL LOCATION (120.5-.05) reference Observation.performer /Organization http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
655 for review V2F GMRV VITAL MEASUREMENT - REASON ENTERED IN ERROR (120.5-4) fixed value null Observation.status #final http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
656 for review V2F GMRV VITAL MEASUREMENT - REASON ENTERED IN ERROR (120.5-4) fixed value not null Observation.status #entered-in-error http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
657 for review V2F GMRV VITAL MEASUREMENT - DATE/TIME VITALS TAKEN (120.5-.01) source value Observation.effectiveDateTime http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
658 for review V2F fixed value Observation.category[VSCat] http://terminology.hl7.org/CodeSystem/observation-category#vital-signs http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
659 for review V2F GMRV VITAL MEASUREMENT - PATIENT (120.5-.02) reference Observation.subject /Patient http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
660 for review V2F GMRV VITAL MEASUREMENT - IEN (120.5-.001) source value Observation.identifier .value .system = http://va.gov/identifiers/$Sta3n/120.5 http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
660-1 for review V2F fixed value Observation.identifier .system http://va.gov/identifiers/$Sta3n/120.5 generated from mapParameter line 1 http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
661 for review V2F GMRV VITAL MEASUREMENT - VITAL TYPE > GMRV VITAL TYPE - VUID (120.5-.03 > 120.51-99.99) terminologyMaps Observation.code .coding VF_VitalsCodes Pulse Oximetry has 2 code values per US Core http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
662 for review V2F GMRV VITAL MEASUREMENT - QUALIFIER > GMRV VITAL QUALIFIER - VUID (120.5-5 > 120.52-99.99) terminologyMaps Observation.bodySite VF_VitalsBodySite http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
663 for review V2F GMRV VITAL MEASUREMENT - QUALIFIER > GMRV VITAL QUALIFIER - VUID (120.5-5 > 120.52-99.99) terminologyMaps Observation.extension[http://hl7.org/fhir/StructureDefinition/observation-deviceCode].valueCodeableConcept VF_VitalsMeasurementDevice http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
867 for review V2F GMRV VITAL MEASUREMENT - QUALIFIER > GMRV VITAL QUALIFIER - VUID (120.5-5 > 120.52-99.99) terminologyMaps Observation.method VF_VitalsMethod http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
1802 for review V2F GMRV VITAL MEASUREMENT - QUALIFIER > GMRV VITAL QUALIFIER - VUID (120.5-5 > 120.52-99.99) terminologyMaps Observation.component[va-pre-condition] .valueCodeableConcept VF_VitalsPrecondition .code = http://loinc.org#104158-1 "Associated precondition - Reported" http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
1802-1 for review V2F fixed value Observation.component[va-pre-condition] .code http://loinc.org#104158-1 "Associated precondition - Reported" generated from mapParameter line 1 http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
1803 for review V2F GMRV VITAL MEASUREMENT - QUALIFIER > GMRV VITAL QUALIFIER - VUID (120.5-5 > 120.52-99.99) terminologyMaps Observation.component[va-pre-condition-device] .valueCodeableConcept VF_VitalsQualifyingDevice .code = http://loinc.org#104158-1 "Associated precondition - Reported" http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
1803-1 for review V2F fixed value Observation.component[va-pre-condition-device] .code http://loinc.org#104158-1 "Associated precondition - Reported" generated from mapParameter line 1 http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
1804 for review V2F GMRV VITAL MEASUREMENT - QUALIFIER > GMRV VITAL QUALIFIER - VUID (120.5-5 > 120.52-99.99) terminologyMaps Observation.extension[http://hl7.org/fhir/StructureDefinition/observation-bodyPosition] .valueCodeableConcept VF_VitalsBodyPosition http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
664 for review V2F GMRV VITAL MEASUREMENT - RATE (120.5-1.2) source value VUID not = 4500634 Observation.valueQuantity .value http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1
665 for review V2F GMRV VITAL MEASUREMENT - VITAL TYPE (120.5-.03) transform Observation.valueQuantity .code VF_VitalsUnits VPR may transform http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs | 5.0.1

Mappings for Veterans Health Information Systems Technology and Architecture (VistA) ()

VitalSigns
Observation
   extension
   extension (observation-deviceCode)
      value[x]663: terminologyMaps using VF_VitalsMeasurementDevice on GMRV VITAL MEASUREMENT - QUALIFIER > GMRV VITAL QUALIFIER - VUID (120.5-5 > 120.52-99.99)
   extension (observation-bodyPosition)
      value[x]1804: terminologyMaps using VF_VitalsBodyPosition on GMRV VITAL MEASUREMENT - QUALIFIER > GMRV VITAL QUALIFIER - VUID (120.5-5 > 120.52-99.99)
   identifier
      system660-1: fixed value = http://va.gov/identifiers/$Sta3n/120.5

generated from mapParameter line 1

      value660: source value based on GMRV VITAL MEASUREMENT - IEN (120.5-.001)
   status655: fixed value = #final when GMRV VITAL MEASUREMENT - REASON ENTERED IN ERROR (120.5-4) if null, 656: fixed value = #entered-in-error when GMRV VITAL MEASUREMENT - REASON ENTERED IN ERROR (120.5-4) if not null,
   category (VSCat)658: fixed value = http://terminology.hl7.org/CodeSystem/observation-category#vital-signs
   code
      coding661: terminologyMaps using VF_VitalsCodes on GMRV VITAL MEASUREMENT - VITAL TYPE > GMRV VITAL TYPE - VUID (120.5-.03 > 120.51-99.99)

Pulse Oximetry has 2 code values per US Core

   subject659: reference based on GMRV VITAL MEASUREMENT - PATIENT (120.5-.02)
   effective[x] (effectiveDateTime)657: source value based on GMRV VITAL MEASUREMENT - DATE/TIME VITALS TAKEN (120.5-.01)
   issued652: source value based on GMRV VITAL MEASUREMENT - DATE/TIME VITALS ENTERED (120.5-.04)
   performer1653: reference based on GMRV VITAL MEASUREMENT - HOSPITAL LOCATION (120.5-.05)
   value[x]
   value[x] (valueQuantity)
      value664: source value based on GMRV VITAL MEASUREMENT - RATE (120.5-1.2) if VUID not = 4500634
      code665: transform using VF_VitalsUnits on GMRV VITAL MEASUREMENT - VITAL TYPE (120.5-.03)

VPR may transform

   bodySite662: terminologyMaps using VF_VitalsBodySite on GMRV VITAL MEASUREMENT - QUALIFIER > GMRV VITAL QUALIFIER - VUID (120.5-5 > 120.52-99.99)
   method867: terminologyMaps using VF_VitalsMethod on GMRV VITAL MEASUREMENT - QUALIFIER > GMRV VITAL QUALIFIER - VUID (120.5-5 > 120.52-99.99)
   component
   component (va-pre-condition)
      code1802-1: fixed value = http://loinc.org#104158-1 "Associated precondition - Reported"

generated from mapParameter line 1

      value[x] (valueCodeableConcept)1802: terminologyMaps using VF_VitalsPrecondition on GMRV VITAL MEASUREMENT - QUALIFIER > GMRV VITAL QUALIFIER - VUID (120.5-5 > 120.52-99.99)
   component (va-pre-condition-device)
      code1803-1: fixed value = http://loinc.org#104158-1 "Associated precondition - Reported"

generated from mapParameter line 1

      value[x] (valueCodeableConcept)1803: terminologyMaps using VF_VitalsQualifyingDevice on GMRV VITAL MEASUREMENT - QUALIFIER > GMRV VITAL QUALIFIER - VUID (120.5-5 > 120.52-99.99)

Mappings for Clinical Data Warehouse (CDW) ()

VitalSigns
Observation
   code
      codingVital.VitalSign.VitalTypeIEN Dim.VitalType.VUID
   subjectVital.VitalSign.PatientIEN
   effective[x] (effectiveDateTime)Vital.VitalSign.VitalSignTakenDateTime,Vital.VitalSignQualifier.VitalSignTakenDateTime
   issuedVital.VitalSign.VitalSignEnteredDateTime
   performerVital.VitalSign.LocationIEN
   value[x]
   value[x] (valueQuantity)
      valueVital.VitalSign.Diastolic,Vital.VitalSign.Systolic,Vital.VitalSign.VitalResult,Vital.VitalSign.VitalResultNumeric
      codeVital.VitalSign.VitalTypeIEN

Mappings for Summary Document Architecure (SDA) ()

VitalSigns
Observation
   extension
   extension (observation-deviceCode)
      value[x]Observation.ObservationMethods
   extension (observation-bodyPosition)
      value[x]Observation.ObservationMethods
   statusObservation.Extension[ObservationExtension].Removed
   code
      codingObservation.ObservationCode,Observation.Extension[ObservationExtension].BMI
   effective[x] (effectiveDateTime)Observation.ObservationCode[Observation].Description,Observation.ObservationMethods[ObservationMethod].Description
   performerObservation.EnteredAt,Observation.Extension[ObservationExtension].Location
   value[x]
   value[x] (valueQuantity)
      valueObservation.ObservationValue,Observation.Extension[ObservationExtension].BMI
      codeObservation.ObservationCode,Observation.Extension[ObservationExtension].BMI
   bodySiteObservation.ObservationMethods
   methodObservation.ObservationMethods
   component
   component (va-pre-condition)
      value[x] (valueCodeableConcept)Observation.ObservationMethods
   component (va-pre-condition-device)
      value[x] (valueCodeableConcept)Observation.ObservationMethods

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

VitalSigns
ObservationEvent
   identifierEvent.identifier
   basedOnEvent.basedOn
   partOfEvent.partOf
   statusEvent.status
   codeEvent.code
   subjectEvent.subject
   encounterEvent.context
   effective[x]Event.occurrence[x]
   effective[x] (effectiveDateTime)Event.occurrence[x]
   performerEvent.performer.actor

Mappings for SNOMED CT Concept Domain Binding (http://snomed.info/conceptdomain)

VitalSigns
Observation< 363787002 |Observable entity|
   status< 445584004 |Report by finality status|
   code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
   value[x]< 441742003 |Evaluation finding|
   value[x] (valueQuantity)< 441742003 |Evaluation finding|
   interpretation< 260245000 |Findings values|
   bodySite< 123037004 |Body structure|
   specimen< 123038009 |Specimen|
   device< 49062001 |Device|
   referenceRange
      type< 260245000 |Findings values| OR < 365860008 |General clinical state finding| OR < 250171008 |Clinical history or observation findings| OR < 415229000 |Racial group| OR < 365400002 |Finding of puberty stage| OR < 443938003 |Procedure carried out on subject|
      appliesTo< 260245000 |Findings values| OR < 365860008 |General clinical state finding| OR < 250171008 |Clinical history or observation findings| OR < 415229000 |Racial group| OR < 365400002 |Finding of puberty stage| OR < 443938003 |Procedure carried out on subject|
   component
      code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
      value[x]363714003 |Interprets| < 441742003 |Evaluation finding|
      interpretation< 260245000 |Findings values|
   component (va-pre-condition)
      code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
      value[x]363714003 |Interprets| < 441742003 |Evaluation finding|
      value[x] (valueCodeableConcept)363714003 |Interprets| < 441742003 |Evaluation finding|
      interpretation< 260245000 |Findings values|
   component (va-pre-condition-device)
      code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
      value[x]363714003 |Interprets| < 441742003 |Evaluation finding|
      value[x] (valueCodeableConcept)363714003 |Interprets| < 441742003 |Evaluation finding|
      interpretation< 260245000 |Findings values|

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

VitalSigns
ObservationOBX
   identifierOBX.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.
      useN/A
      typeCX.5
      systemCX.4 / EI-2-4
      valueCX.1 / EI.1
      periodCX.7 + CX.8
      assignerCX.4 / (CX.4,CX.9,CX.10)
   basedOnORC
   partOfVaries by domain
   statusOBX-11
   category
   category (VSCat)
      codingC*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      textC*E.9. But note many systems use C*E.2 for this
   codeOBX-3
      codingC*E.1-8, C*E.10-22
      textC*E.9. But note many systems use C*E.2 for this
   subjectPID-3
   focusOBX-3
   encounterPV1
   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)
   issuedOBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)
   performerOBX.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
   value[x] (valueQuantity)OBX.2, OBX.5, OBX.6
      valueSN.2 / CQ - N/A
      comparatorSN.1 / CQ.1
      unit(see OBX.6 etc.) / CQ.2
      system(see OBX.6 etc.) / CQ.2
      code(see OBX.6 etc.) / CQ.2
   dataAbsentReasonN/A
   interpretationOBX-8
   noteNTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)
   bodySiteOBX-20
   methodOBX-17
   specimenSPM segment
   deviceOBX-17 / PRT -10
   referenceRangeOBX.7
      lowOBX-7
      highOBX-7
      typeOBX-10
      appliesToOBX-10
      textOBX-7
   hasMemberRelationships established by OBX-4 usage
   derivedFromRelationships established by OBX-4 usage
   componentcontainment by OBX-4?
      codeOBX-3
      value[x]OBX.2, OBX.5, OBX.6
      dataAbsentReasonN/A
      interpretationOBX-8
      referenceRangeOBX.7
   component (va-pre-condition)containment by OBX-4?
      codeOBX-3
      value[x]OBX.2, OBX.5, OBX.6
      value[x] (valueCodeableConcept)OBX.2, OBX.5, OBX.6
      dataAbsentReasonN/A
      interpretationOBX-8
      referenceRangeOBX.7
   component (va-pre-condition-device)containment by OBX-4?
      codeOBX-3
      value[x]OBX.2, OBX.5, OBX.6
      value[x] (valueCodeableConcept)OBX.2, OBX.5, OBX.6
      dataAbsentReasonN/A
      interpretationOBX-8
      referenceRangeOBX.7

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

VitalSigns
ObservationEntity. Role, or Act, Observation[classCode=OBS, moodCode=EVN]
   textAct.text?
   containedN/A
   extension
   extension (observation-deviceCode)
      idn/a
      urlN/A
      value[x]N/A
   extension (observation-bodyPosition)
      idn/a
      urlN/A
      value[x]N/A
   modifierExtensionN/A
   identifierid
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
      systemII.root or Role.id.root
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
      periodRole.effectiveTime or implied by context
      assignerII.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
   basedOn.inboundRelationship[typeCode=COMP].source[moodCode=EVN]
   partOf.outboundRelationship[typeCode=FLFS].target
   statusstatus 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
      idn/a
      extensionn/a
      codingunion(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   codecode
      idn/a
      extensionn/a
      codingunion(., ./translation)
      text./originalText[mediaType/code="text/plain"]/data
   subjectparticipation[typeCode=RTGT]
   focusparticipation[typeCode=SBJ]
   encounterinboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]
   effective[x]effectiveTime
   effective[x] (effectiveDateTime)effectiveTime
   issuedparticipation[typeCode=AUT].time
   performerparticipation[typeCode=PRF]
   value[x]value
   value[x] (valueQuantity)value
      idn/a
      extensionn/a
      valuePQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value
      comparatorIVL properties
      unitPQ.unit
      systemCO.codeSystem, PQ.translation.codeSystem
      codePQ.code, MO.currency, PQ.translation.code
   dataAbsentReasonvalue.nullFlavor
   interpretationinterpretationCode
   notesubjectOf.observationEvent[code="annotation"].value
   bodySitetargetSiteCode
   methodmethodCode
   specimenparticipation[typeCode=SPC].specimen
   deviceparticipation[typeCode=DEV]
   referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
      idn/a
      extensionn/a
      modifierExtensionN/A
      lowvalue:IVL_PQ.low
      highvalue:IVL_PQ.high
      typeinterpretationCode
      appliesTointerpretationCode
      ageoutboundRelationship[typeCode=PRCN].targetObservationCriterion[code="age"].value
      textvalue:ST
   hasMemberoutBoundRelationship
   derivedFrom.targetObservation
   componentoutBoundRelationship[typeCode=COMP]
      idn/a
      extensionn/a
      modifierExtensionN/A
      codecode
      value[x]value
      dataAbsentReasonvalue.nullFlavor
      interpretationinterpretationCode
      referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
   component (va-pre-condition)outBoundRelationship[typeCode=COMP]
      idn/a
      extensionn/a
      modifierExtensionN/A
      codecode
      value[x]value
      value[x] (valueCodeableConcept)value
      dataAbsentReasonvalue.nullFlavor
      interpretationinterpretationCode
      referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
   component (va-pre-condition-device)outBoundRelationship[typeCode=COMP]
      idn/a
      extensionn/a
      modifierExtensionN/A
      codecode
      value[x]value
      value[x] (valueCodeableConcept)value
      dataAbsentReasonvalue.nullFlavor
      interpretationinterpretationCode
      referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]

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

VitalSigns
Observation
   identifierFiveWs.identifier
   statusFiveWs.status
   categoryFiveWs.class
   category (VSCat)FiveWs.class
   codeFiveWs.what[x]
   subjectFiveWs.subject[x], FiveWs.subject
   focusFiveWs.subject[x], FiveWs.subject
   encounterFiveWs.context
   effective[x]FiveWs.done[x]
   effective[x] (effectiveDateTime)FiveWs.done[x]
   issuedFiveWs.recorded
   performerFiveWs.actor
   component
      codeFiveWs.what[x]
   component (va-pre-condition)
      codeFiveWs.what[x]
   component (va-pre-condition-device)
      codeFiveWs.what[x]

Mappings for SNOMED CT Attribute Binding (http://snomed.org/attributebinding)

VitalSigns
Observation
   code116680003 |Is a|
   value[x]363714003 |Interprets|
   value[x] (valueQuantity)363714003 |Interprets|
   interpretation363713009 |Has interpretation|
   bodySite718497002 |Inherent location|
   specimen704319004 |Inherent in|
   device424226004 |Using device|
   component
      value[x]363714003 |Interprets|
      interpretation363713009 |Has interpretation|
   component (va-pre-condition)
      value[x]363714003 |Interprets|
      value[x] (valueCodeableConcept)363714003 |Interprets|
      interpretation363713009 |Has interpretation|
   component (va-pre-condition-device)
      value[x]363714003 |Interprets|
      value[x] (valueCodeableConcept)363714003 |Interprets|
      interpretation363713009 |Has interpretation|