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: MHVnote - Mappings

Page standards status: Trial-use Maturity Level: 4

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

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

Informative map to available elements in MHV FHIR API

MHVnote
DocumentReferenceNoteTO

Vista FileMan

   identifierNoteTO.id
   status`current` if not `entered-in-error`

8925-.05 - STATUS

   type
      codingNoteTO.type{PN, DS, CR, ?}

8925-.01 - DOCUMENT TYPE

      textNoteTO.standardTitle

8925-89261 - VHA ENTERPRISE STANDARD TITLE

   category`clinical-note`
   subjectGetPatient()
   dateif timestamp is missing time, then use procTimestamp
   authorGetPractitioner(NoteTO.author.[AuthorTO])

8925-1202 - AUTHOR/DICTATOR

   authenticatorGetPractitioner(NoteTO.approvedBy.[AuthorTO])

8925-1502 - SIGNED BY

      extension (when)ConvertDate(NoteTO.procTimestamp)

8925-1304 - RELEASE DATE/TIME

   content
      attachment
         contentType`text/plain`
         database64(NoteTO.text)

8925-.2 - REPORT TEXT

         titleNoteTO.localTitle

8925-.01.01 - NAME

         creationConvertDate(NoteTO.timestamp)

8925-.1301 - REFERENCE DATE/TIME

   context
      period
         startConvertDate(NoteTO.admitTimestamp)

8925-.07 - EPISODE BEGIN DATE/TIME

         endConvertDate(NoteTO.dischargeTimestamp)

8925-.08 - EPISODE END DATE/TIME

      relatedGetLocation(NoteTO.location.[HospitalLocationTO])

8925-1211 - VISIT LOCATION

Mappings for eVault-PHR to mhv-fhir-phr (eVaultPHR)

Informative map to include only the elements available in eVault PHR

MHVnote
DocumentReferenceNoteTO

Vista FileMan

   identifierNoteTO.id
   status`current`

8925-.05 - STATUS

   type
      codingNoteTO.type{PN, DS, CR, ?}

8925-.01 - DOCUMENT TYPE

      textNoteTO.standardTitle

8925-89261 - VHA ENTERPRISE STANDARD TITLE

   category`clinical-note`
   subjectGetPatient()
   dateif timestamp is missing time, then use procTimestamp
   authorGetPractitioner(NoteTO.author.[AuthorTO])

8925-1202 - AUTHOR/DICTATOR

   authenticatorGetPractitioner(NoteTO.approvedBy.[AuthorTO])

8925-1502 - SIGNED BY

      extension (when)ConvertDate(NoteTO.procTimestamp)

8925-1304 - RELEASE DATE/TIME

   content
      attachment
         contentType`text/plain`
         database64(NoteTO.text)

8925-.2 - REPORT TEXT

         titleNoteTO.localTitle

8925-.01.01 - NAME

         creationConvertDate(NoteTO.timestamp)

8925-.1301 - REFERENCE DATE/TIME

   context
      period
         startConvertDate(NoteTO.admitTimestamp)

8925-.07 - EPISODE BEGIN DATE/TIME

         endConvertDate(NoteTO.dischargeTimestamp)

8925-.08 - EPISODE END DATE/TIME

      relatedGetLocation(NoteTO.location.[HospitalLocationTO])

8925-1211 - VISIT LOCATION

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

MHVnote
DocumentReferenceEvent
   identifierEvent.identifier
   identifier (TOid)Event.identifier
   statusEvent.status
   typeEvent.code
   subjectEvent.subject
   dateEvent.occurrence[x]
   authorEvent.performer.actor
   authenticatorEvent.performer.actor
   context

Mappings for FHIR Composition (http://hl7.org/fhir/composition)

MHVnote
DocumentReferencewhen describing a Composition
   typeComposition.type
   categoryComposition.class
   category (us-core)Composition.class
   subjectComposition.subject
   dateComposition.date
   authorComposition.author
   authenticatorComposition.attester
   contentBundle(Composition+*)
      attachmentComposition.language, Composition.title, Composition.date
   context
      periodComposition.event.period
      relatedComposition.event.detail

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

MHVnote
DocumentReferenceEntity. Role, or Act, Document[classCode="DOC" and moodCode="EVN"]
   textAct.text?
   containedN/A
   extensionN/A
   modifierExtensionN/A
   identifier.id / .setId
   identifier (TOid).id / .setId
      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
   statusinterim: .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
      idn/a
      extensionn/a
      codingunion(., ./translation)
      coding (LO)union(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.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"]
      idn/a
      extensionn/a
      referenceN/A
      typeN/A
      identifier.identifier
      displayN/A
   contentdocument.text
      idn/a
      extensionn/a
      modifierExtensionN/A
      attachmentdocument.text
         idn/a
         extensionn/a
         contentType./mediaType, ./charset
         data./data
         title./title/data
         creationN/A (needs data type R3 proposal)
   contextoutboundRelationship[typeCode="SUBJ"].target[classCode<'ACT']
      idn/a
      extensionn/a
      modifierExtensionN/A
      period.effectiveTime
         idn/a
         extensionn/a
         start./low
         end./high
      related./outboundRelationship[typeCode="PERT" and isNormalActRelationship()] / target[isNormalAct]

Mappings for CDA (R2) (http://hl7.org/v3/cda)

MHVnote
DocumentReferencewhen describing a CDA
   typeClinicalDocument/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.
   categoryDerived 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
   subjectClinicalDocument/recordTarget/
   authorClinicalDocument/author
   authenticatorClinicalDocument/legalAuthenticator
   content
      attachmentClinicalDocument/languageCode, ClinicalDocument/title, ClinicalDocument/date
   context
      periodClinicalDocument/documentationOf/ serviceEvent/effectiveTime/low/ @value --> ClinicalDocument/documentationOf/ serviceEvent/effectiveTime/high/ @value
      relatedClinicalDocument/relatedDocument

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

MHVnote
DocumentReference
   identifierFiveWs.identifier
   identifier (TOid)FiveWs.identifier
   statusFiveWs.status
   typeFiveWs.class
   categoryFiveWs.class
   category (us-core)FiveWs.class
   subjectFiveWs.subject[x], FiveWs.subject
   dateFiveWs.recorded
   authenticatorFiveWs.witness
   context

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

MHVnote
DocumentReference
   identifierTXA-16?
   identifier (TOid)TXA-16?
      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)
   statusTXA-19
   typeTXA-2
      codingC*E.1-8, C*E.10-22
      coding (LO)C*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 standard way to define a Practitioner or Group subject in HL7 v2 MDM message)
   authorTXA-9 (No standard way to indicate a Device in HL7 v2 MDM message)
   authenticatorTXA-10
   content
      attachmentTXA-3 for mime type
         contentTypeED.2+ED.3/RP.2+RP.3. Note conversion may be needed if old style values are being used
         dataED.5
   context
      period
         startDR.1
         endDR.2

Mappings for XDS metadata equivalent (http://ihe.net/xds)

MHVnote
DocumentReference
   identifierDocumentEntry.entryUUID
   identifier (TOid)DocumentEntry.entryUUID
   statusDocumentEntry.availabilityStatus
   typeDocumentEntry.type
   categoryDocumentEntry.class
   category (us-core)DocumentEntry.class
   subjectDocumentEntry.patientId
   authorDocumentEntry.author
   authenticatorDocumentEntry.legalAuthenticator
   content
      attachmentDocumentEntry.mimeType, DocumentEntry.languageCode, DocumentEntry.URI, DocumentEntry.size, DocumentEntry.hash, DocumentEntry.title, DocumentEntry.creationTime
   context
      periodDocumentEntry.serviceStartTime, DocumentEntry.serviceStopTime
      relatedDocumentEntry.referenceIdList