US Veterans Health Administration FHIR Map Set Implementation Guide
1.6.49 - 250701 United States of America flag

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

Resource Profile: LabObservationMicrobiologyBacteriologyDiagnosticReport - Mappings

Draft as of 2025-06-13

Mappings for the LabObservationMicrobiologyBacteriologyDiagnosticReport resource profile.

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

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

Mapping Sources

Use Case: Lab Observation: Microbiology Bacteriology (Source)Use Case: Lab Observation: Microbiology Bacteriology (Source)PATIENT (2)  63LABORATORY REFERENCELABORATORY TEST (60).01NAME64NATIONAL VA LAB CODE100SITE/SPECIMENCOLLECTION SAMPLE (62).01NAMELAB DATA (63).01LRDFNWKLD CODE (64)13WKLD CODE LAB SECTION25DEFAULT LOINC CODEMICROBIOLOGY (63.05).001IEN.01DATE/TIME SPECIMEN TAKEN.03DATE REPORT COMPLETED.04VERIFY PERSON.055COLLECTION SAMPLE.06MICROBIOLOGY ACCESSION.112ACCESSIONING INSTITUTION.35ORDERED TEST.99COMMENT ON SPECIMEN11.5BACT RPT STATUS11.57URINE SCREEN11.58SPUTUM SCREEN11.6GRAM STAIN12ORGANISM13BACT RPT REMARKBACT RPT REMARK (63.33).01BACT RPT REMARKORDERED TEST (63.5).001IEN3CPRS ORDER #10DISPOSITION13LAB TEST ORDEREDWKLD CODE LAB SECT (64.21).01NAMELAB LOINC (95.3).01CODE1COMPONENTORGANISM (63.3)2COMMENT5+to+160ORGANISM5.1+to+160.1INTERPR.01ORGANISMCOMMENT (63.31).01COMMENTSITE/SPECIMEN (60.01)95.3LOINC CODEETIOLOGY FIELD (61.2).01NAMEGRAM STAIN (63.29).01GRAM STAIN63[Not NULL][Not NULL][Not NULL][Not NULL]

Cross Mappings

FHIR Path VistA CDW SDA VPR
DiagnosticReport.extension[http://hl7.org/fhir/5.0/StructureDefinition/extension-DiagnosticReport.note].valueAnnotation 63.33-.01 Micro.BacteriologyReports.BacteriologyReportRemark   accession.value [m]
DiagnosticReport.identifier.value 63.5-.001      
DiagnosticReport.basedOn 63.5-3 Micro.MicroOrderedTest.CPRSOrderIEN
SStaff.SMicroOrderedTest.CPRSOrderIEN
   
DiagnosticReport.status 63.5-10 Micro.MicroOrderedTest.DispositionLabCodeIEN
SStaff.SMicroOrderedTest.DispositionLabCodeIEN
   
DiagnosticReport.effectiveDateTime 63.05-.01 Micro.AntibioticSensitivity.SpecimenTakenDateTime
Micro.AntibioticSensitivityComment.SpecimenTakenDateTime
Micro.BacteriologyReports.SpecimenTakenDateTime
Micro.MicroAntibioticLevel.SpecimenTakenDateTime
Micro.MicroAudit.SpecimenTakenDateTime
Micro.Microbiology.SpecimenTakenDateTime
Micro.MicroOrderedTest.SpecimenTakenDateTime
Micro.MicroSterilityResults.SpecimenTakenDateTime
Micro.MycobacteriologyReports.SpecimenTakenDateTime
Micro.Mycology.SpecimenTakenDateTime
Micro.MycologyReports.SpecimenTakenDateTime
Micro.Parasitology.SpecimenTakenDateTime
Micro.ParasitologyReports.SpecimenTakenDateTime
Micro.ParasitologyStage.SpecimenTakenDateTime
Micro.Virology.SpecimenTakenDateTime
Micro.VirologyReports.SpecimenTakenDateTime
SStaff.SMicroOrderedTest.SpecimenTakenDateTime
   
DiagnosticReport.issued 63.05-.03 Micro.Microbiology.ReportCompletedDateTime Documents.ToTime
LabOrder.Result.ResultTime
 
DiagnosticReport.performer[va-by] 63.05-.04 Micro.Microbiology.VerifyingStaffIEN Documents.Clinician
Documents.Extension[DocumentExtension].CareProviders
LabOrder.Result.VerifiedBy
 
DiagnosticReport.performer[va-at] 63.05-.112 Micro.Microbiology.AccessioningInstitutionIEN Documents.EnteredAt
LabOrder.Result.EnteredAt
 
DiagnosticReport.category.text 64.21-.01      
DiagnosticReport.code.coding 95.3      
DiagnosticReport.code.coding.code 95.3-.01 Dim.LOINC.LOINC    
DiagnosticReport.code.coding.display 95.3-1 Dim.LOINC.Component    
DiagnosticReport.code.text 60-.01 Dim.LabChemTest.LabChemTestName   panel.test
med.prescription
lab.test
pharmacy (med).prescription
DiagnosticReport.subject 2-      

Raw Mappings

key status direction source mapApproach mapCase FHIR Path subPath mapValue mapParameter mapComment FHIR URL | Ver
1442 in process V2F MICROBIOLOGY - BACT RPT REMARK > BACT RPT REMARK - BACT RPT REMARK (63.05-13 > 63.33-.01) source value DiagnosticReport.extension[http://hl7.org/fhir/5.0/StructureDefinition/extension-DiagnosticReport.note] .valueAnnotation This is the correct mapping, however, .note was not added to DR until FHIR R5. Use pre-adopt extension. http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab | 5.0.1
1605 in process V2F MICROBIOLOGY - ORDERED TEST > ORDERED TEST - IEN (63.05-.35 > 63.5-.001) source value DiagnosticReport.identifier .value .system = http://va.gov/identifiers/$Sta3n/63.5 http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab | 5.0.1
1690 in process V2F MICROBIOLOGY - ORDERED TEST > ORDERED TEST - CPRS ORDER # (63.05-.35 > 63.5-3) reference DiagnosticReport.basedOn http://hl7.org/fhir/StructureDefinition/ServiceRequest http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab | 5.0.1
1416 in process V2F MICROBIOLOGY - ORDERED TEST > ORDERED TEST - DISPOSITION (63.05-.35 > 63.5-10) terminologyMaps DiagnosticReport.status VF_DiagnosticReportLabStatus disposition based on HL7 Table 0123 status codes US Core 5 has new constraints: if status is partial, preliminary, final, ammended, corrected or appended effective[x] and issued are required http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab | 5.0.1
1424 in process V2F MICROBIOLOGY - DATE/TIME SPECIMEN TAKEN (63.05-.01) source value DiagnosticReport.effectiveDateTime http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab | 5.0.1
1429 in process V2F MICROBIOLOGY - DATE REPORT COMPLETED (63.05-.03) source value DiagnosticReport.issued http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab | 5.0.1
1434 in process V2F MICROBIOLOGY - VERIFY PERSON (63.05-.04) reference DiagnosticReport.performer[va-by] /Practitioner US Core Practitioner is must support resource http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab | 5.0.1
1682 in process V2F MICROBIOLOGY - ACCESSIONING INSTITUTION (63.05-.112) reference DiagnosticReport.performer[va-at] /Organization http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab | 5.0.1
1419 in process V2F fixed value DiagnosticReport.category[LaboratorySlice] http://terminology.hl7.org/CodeSystem/v2-0074#LAB http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab | 5.0.1
1662 in process V2F LABORATORY TEST - NATIONAL VA LAB CODE > WKLD CODE - WKLD CODE LAB SECTION > WKLD CODE LAB SECT - NAME (60-64 > 64-13 > 64.21-.01) source value DiagnosticReport.category .text Lab Section http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab | 5.0.1
1420 in process V2F LABORATORY TEST - NATIONAL VA LAB CODE > WKLD CODE - DEFAULT LOINC CODE > LAB LOINC (60-64 > 64-25 > 95.3) source value DiagnosticReport.code.coding .code = {CODE (.01)}
.system = "http://loinc.org"
.display = {COMPONENT (1)}
Typically LOINC. Changed VistA mapping to support some coded values and add the lab test name (non-standardized) http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab | 5.0.1
1661 in process V2F LABORATORY TEST - NAME (60-.01) source value DiagnosticReport.code .text Added the lab test name (non-standardized) http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab | 5.0.1
1421 in process V2F PATIENT - (2-) reference {63>63} DiagnosticReport.subject /Patient Pointer from PATIENT (2) http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab | 5.0.1
1437 in process V2F See mapping for Lab Observation reference DiagnosticReport.result Observation http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab | 5.0.1

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

LabObservationMicrobiologyBacteriologyDiagnosticReport
DiagnosticReport
   extension
   extension (extension-DiagnosticReport-note)
      value[x]1442: source value based on MICROBIOLOGY - BACT RPT REMARK > BACT RPT REMARK - BACT RPT REMARK (63.05-13 > 63.33-.01)

This is the correct mapping, however, .note was not added to DR until FHIR R5. Use pre-adopt extension.

   identifier
      system1605-1: fixed value = http://va.gov/identifiers/$Sta3n/63.5

generated from mapParameter line 1

      value1605: source value based on MICROBIOLOGY - ORDERED TEST > ORDERED TEST - IEN (63.05-.35 > 63.5-.001)
   basedOn1690: reference based on MICROBIOLOGY - ORDERED TEST > ORDERED TEST - CPRS ORDER # (63.05-.35 > 63.5-3)
   status1416: terminologyMaps using VF_DiagnosticReportLabStatus on MICROBIOLOGY - ORDERED TEST > ORDERED TEST - DISPOSITION (63.05-.35 > 63.5-10)

disposition based on HL7 Table 0123 status codes

US Core 5 has new constraints: if status is partial, preliminary, final, ammended, corrected or appended effective[x] and issued are required

   category
      text1662: source value based on LABORATORY TEST - NATIONAL VA LAB CODE > WKLD CODE - WKLD CODE LAB SECTION > WKLD CODE LAB SECT - NAME (60-64 > 64-13 > 64.21-.01)

Lab Section

   category (LaboratorySlice)1419: fixed value = http://terminology.hl7.org/CodeSystem/v2-0074#LAB
   code
      coding1420: source value based on LABORATORY TEST - NATIONAL VA LAB CODE > WKLD CODE - DEFAULT LOINC CODE > LAB LOINC (60-64 > 64-25 > 95.3)

Typically LOINC. Changed VistA mapping to support some coded values and add the lab test name (non-standardized)

         system1420-2: fixed value = http://loinc.org

generated from mapParameter line 2

         code1420-1: source value based on LABORATORY TEST - NATIONAL VA LAB CODE > WKLD CODE - DEFAULT LOINC CODE > LAB LOINC - CODE (60-64 > 64-25 > 95.3-.01)

generated from mapParameter line 1

         display1420-3: source value based on LABORATORY TEST - NATIONAL VA LAB CODE > WKLD CODE - DEFAULT LOINC CODE > LAB LOINC - COMPONENT (60-64 > 64-25 > 95.3-1)

generated from mapParameter line 3

      text1661: source value based on LABORATORY TEST - NAME (60-.01)

Added the lab test name (non-standardized)

   subject1421: reference based on PATIENT - (2-) if {63>63}

Pointer from PATIENT (2)

   effective[x] (effectiveDateTime)1424: source value based on MICROBIOLOGY - DATE/TIME SPECIMEN TAKEN (63.05-.01)
   issued1429: source value based on MICROBIOLOGY - DATE REPORT COMPLETED (63.05-.03)
   performer (va-by)1434: reference based on MICROBIOLOGY - VERIFY PERSON (63.05-.04)

US Core Practitioner is must support resource

   performer (va-at)1682: reference based on MICROBIOLOGY - ACCESSIONING INSTITUTION (63.05-.112)
   result1437: reference based on See mapping for Lab Observation

Mappings for Clinical Data Warehouse (CDW) ()

LabObservationMicrobiologyBacteriologyDiagnosticReport
DiagnosticReport
   extension
   extension (extension-DiagnosticReport-note)
      value[x]Micro.BacteriologyReports.BacteriologyReportRemark
   basedOnMicro.MicroOrderedTest.CPRSOrderIEN SStaff.SMicroOrderedTest.CPRSOrderIEN
   statusMicro.MicroOrderedTest.DispositionLabCodeIEN SStaff.SMicroOrderedTest.DispositionLabCodeIEN
   category
      textDim.LabChemTest.NationalVALabCodeIEN
   code
      codingDim.LabChemTest.NationalVALabCodeIEN
         codeDim.LabChemTest.NationalVALabCodeIEN
         displayDim.LabChemTest.NationalVALabCodeIEN
      textDim.LabChemTest.LabChemTestName
   effective[x] (effectiveDateTime)Micro.AntibioticSensitivity.SpecimenTakenDateTime Micro.AntibioticSensitivityComment.SpecimenTakenDateTime Micro.BacteriologyReports.SpecimenTakenDateTime Micro.MicroAntibioticLevel.SpecimenTakenDateTime Micro.MicroAudit.SpecimenTakenDateTime Micro.Microbiology.SpecimenTakenDateTime Micro.MicroOrderedTest.SpecimenTakenDateTime Micro.MicroSterilityResults.SpecimenTakenDateTime Micro.MycobacteriologyReports.SpecimenTakenDateTime Micro.Mycology.SpecimenTakenDateTime Micro.MycologyReports.SpecimenTakenDateTime Micro.Parasitology.SpecimenTakenDateTime Micro.ParasitologyReports.SpecimenTakenDateTime Micro.ParasitologyStage.SpecimenTakenDateTime Micro.Virology.SpecimenTakenDateTime Micro.VirologyReports.SpecimenTakenDateTime SStaff.SMicroOrderedTest.SpecimenTakenDateTime
   issuedMicro.Microbiology.ReportCompletedDateTime
   performer (va-by)Micro.Microbiology.VerifyingStaffIEN
   performer (va-at)Micro.Microbiology.AccessioningInstitutionIEN

Mappings for Summary Document Architecure (SDA) ()

LabObservationMicrobiologyBacteriologyDiagnosticReport
DiagnosticReport
   issuedDocuments.ToTime LabOrder.Result.ResultTime
   performer (va-by)Documents.Clinician Documents.Extension[DocumentExtension].CareProviders LabOrder.Result.VerifiedBy
   performer (va-at)Documents.EnteredAt LabOrder.Result.EnteredAt

Mappings for Virtual Patient Record XML (VPR) ()

LabObservationMicrobiologyBacteriologyDiagnosticReport
DiagnosticReport
   extension
   extension (extension-DiagnosticReport-note)
      value[x]accession.value [m]
   code
      textpanel.test med.prescription lab.test pharmacy (med).prescription

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

LabObservationMicrobiologyBacteriologyDiagnosticReport
DiagnosticReportEvent
   identifierEvent.identifier
   basedOnEvent.basedOn
   statusEvent.status
   codeEvent.code
   subjectEvent.subject
   encounterEvent.encounter
   effective[x]Event.occurrence[x]
   effective[x] (effectiveDateTime)Event.occurrence[x]
   performerEvent.performer.actor
   performer (va-by)Event.performer.actor
   performer (va-at)Event.performer.actor
   resultsInterpreterEvent.performer.actor

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

LabObservationMicrobiologyBacteriologyDiagnosticReport
DiagnosticReportORU -> OBR
   identifierOBR-51/ for globally unique filler ID - OBR-3 , For non-globally unique filler-id the flller/placer number must be combined with the universal service Id - OBR-2(if present)+OBR-3+OBR-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? OBR-2/3?
   statusOBR-25 (not 1:1 mapping)
   categoryOBR-24
      codingC*E.1-8, C*E.10-22
      textC*E.9. But note many systems use C*E.2 for this
   category (LaboratorySlice)OBR-24
   codeOBR-4 (HL7 v2 doesn't provide an easy way to indicate both the ordered test and the performed panel)
      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
   subjectPID-3 (no HL7 v2 mapping for Group or Device)
   encounterPV1-19
   effective[x]OBR-7
   effective[x] (effectiveDateTime)OBR-7
   issuedOBR-22
   performerPRT-8 (where this PRT-4-Participation = "PO")
   performer (va-by)PRT-8 (where this PRT-4-Participation = "PO")
   performer (va-at)PRT-8 (where this PRT-4-Participation = "PO")
   resultsInterpreterOBR-32, PRT-8 (where this PRT-4-Participation = "PI")
   specimenSPM
   resultOBXs
   mediaOBX?
   conclusionOBX
   conclusionCodeOBX
   presentedFormOBX

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

LabObservationMicrobiologyBacteriologyDiagnosticReport
DiagnosticReportEntity. Role, or Act, Observation[classCode=OBS, moodCode=EVN]
   textAct.text?
   containedN/A
   extension
   extension (extension-DiagnosticReport-note)n/a, N/A
      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
   basedOnoutboundRelationship[typeCode=FLFS].target
   statusstatusCode Note: final and amended are distinguished by whether observation is the subject of a ControlAct event of type "revise"
   categoryinboundRelationship[typeCode=COMP].source[classCode=LIST, moodCode=EVN, code < LabService].code
      idn/a
      extensionn/a
      codingunion(., ./translation)
      text./originalText[mediaType/code="text/plain"]/data
   category (LaboratorySlice)inboundRelationship[typeCode=COMP].source[classCode=LIST, moodCode=EVN, code < LabService].code
   codecode
      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
   subjectparticipation[typeCode=SBJ]
   encounterinboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]
   effective[x]effectiveTime
   effective[x] (effectiveDateTime)effectiveTime
   issuedparticipation[typeCode=VRF or AUT].time
   performer.participation[typeCode=PRF]
   performer (va-by).participation[typeCode=PRF]
   performer (va-at).participation[typeCode=PRF]
   resultsInterpreter.participation[typeCode=PRF]
   specimenparticipation[typeCode=SBJ]
   resultoutboundRelationship[typeCode=COMP].target
   imagingStudyoutboundRelationship[typeCode=COMP].target[classsCode=DGIMG, moodCode=EVN]
   mediaoutboundRelationship[typeCode=COMP].target
      idn/a
      extensionn/a
      modifierExtensionN/A
      comment.inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code="annotation"].value
      link.value.reference
   conclusioninboundRelationship[typeCode="SPRT"].source[classCode=OBS, moodCode=EVN, code=LOINC:48767-8].value (type=ST)
   conclusionCodeinboundRelationship[typeCode=SPRT].source[classCode=OBS, moodCode=EVN, code=LOINC:54531-9].value (type=CD)
   presentedFormtext (type=ED)

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

LabObservationMicrobiologyBacteriologyDiagnosticReport
DiagnosticReport
   identifierFiveWs.identifier
   statusFiveWs.status
   categoryFiveWs.class
   category (LaboratorySlice)FiveWs.class
   codeFiveWs.what[x]
   subjectFiveWs.subject[x], FiveWs.subject
   encounterFiveWs.context
   effective[x]FiveWs.done[x]
   effective[x] (effectiveDateTime)FiveWs.done[x]
   issuedFiveWs.recorded
   performerFiveWs.actor
   performer (va-by)FiveWs.actor
   performer (va-at)FiveWs.actor
   resultsInterpreterFiveWs.actor