MyHealtheVet PHR FHIR API
0.3.9-current - ci-build United States of America flag

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

Resource Profile: MHVSPlabReport - Mappings

Page standards status: Trial-use Maturity Level: 2

Mappings for the VA.MHV.PHR.SPlabReport resource profile.

Mappings for VIA to mhv-fhir-phr (LabReportTO)

MHVSPlabReport
DiagnosticReportLabReportTO
   identifier (TOid){StationNbr} and {LabReportTO.id}
   identifier (casenum)LabReportTO.caseNumber
   status`final`
   category`LAB`, kind of lab, plus all Observation codes
   code
      codingLabReportTO.type -> LOINC
      textLabReportTO.title
   subjectpatient
   effective[x] (effectiveDateTime)ConvertDate(specimen/collectionDate)
   issuedConvertDate(LabReportTO.timestamp | LabReportTO.result.timestamp), labReportTO/text {signed}, labReportTO/text {date completed:}
   performerGetLocation(LabReportTO.facility or LabReportTO.result.labSiteId), {Pathologist}
   specimenContained Specimen (LabReportTO.specimen.[LabSpecimenTO])
   resultContained Observation(LabResultTO)
   presentedForm
      contentType`text/plain`
      database64(LabReportTO.text)

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

MHVSPlabReport
DiagnosticReportEvent
   identifierEvent.identifier
   identifier (TOid)Event.identifier
   identifier (casenum)Event.identifier
   statusEvent.status
   codeEvent.code
   subjectEvent.subject
   effective[x]Event.occurrence[x]
   effective[x] (effectiveDateTime)Event.occurrence[x]
   performerEvent.performer.actor

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

MHVSPlabReport
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
   identifier (TOid)OBR-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)
   identifier (casenum)OBR-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)
   statusOBR-25 (not 1:1 mapping)
   categoryOBR-24
   category (LaboratorySlice)OBR-24
   category (SPLabSlice)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
      textC*E.9. But note many systems use C*E.2 for this
   subjectPID-3 (no HL7 v2 mapping for Group or Device)
   effective[x]OBR-7
   effective[x] (effectiveDateTime)OBR-7
   issuedOBR-22
   performerPRT-8 (where this PRT-4-Participation = "PO")
   specimenSPM
   resultOBXs
   presentedFormOBX
      contentTypeED.2+ED.3/RP.2+RP.3. Note conversion may be needed if old style values are being used
      dataED.5

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

MHVSPlabReport
DiagnosticReportEntity. Role, or Act, Observation[classCode=OBS, moodCode=EVN]
   textAct.text?
   containedN/A
   extensionN/A
   modifierExtensionN/A
   identifierid
   identifier (TOid)id
      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
   identifier (casenum)id
      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
   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
   category (LaboratorySlice)inboundRelationship[typeCode=COMP].source[classCode=LIST, moodCode=EVN, code < LabService].code
   category (SPLabSlice)inboundRelationship[typeCode=COMP].source[classCode=LIST, moodCode=EVN, code < LabService].code
   codecode
      idn/a
      extensionn/a
      codingunion(., ./translation)
      text./originalText[mediaType/code="text/plain"]/data
   subjectparticipation[typeCode=SBJ]
   effective[x]effectiveTime
   effective[x] (effectiveDateTime)effectiveTime
   issuedparticipation[typeCode=VRF or AUT].time
   performer.participation[typeCode=PRF]
      idn/a
      extensionn/a
      referenceN/A
      typeN/A
      identifier.identifier
   specimenparticipation[typeCode=SBJ]
   resultoutboundRelationship[typeCode=COMP].target
   presentedFormtext (type=ED)
      idn/a
      extensionn/a
      contentType./mediaType, ./charset
      data./data

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

MHVSPlabReport
DiagnosticReport
   identifierFiveWs.identifier
   identifier (TOid)FiveWs.identifier
   identifier (casenum)FiveWs.identifier
   statusFiveWs.status
   categoryFiveWs.class
   category (LaboratorySlice)FiveWs.class
   category (SPLabSlice)FiveWs.class
   codeFiveWs.what[x]
   subjectFiveWs.subject[x], FiveWs.subject
   effective[x]FiveWs.done[x]
   effective[x] (effectiveDateTime)FiveWs.done[x]
   issuedFiveWs.recorded
   performerFiveWs.actor