JohnMoehrke PHR FHIR API
0.5.2 - ci-build United States of America flag

JohnMoehrke PHR FHIR API, published by John Moehrke (himself). This guide is not an authorized publication; it is the continuous build for version 0.5.2 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/JohnMoehrke/phr/ and changes regularly. See the Directory of published versions

Resource Profile: JFMavs - Mappings

Page standards status: Trial-use Maturity Level: 2

Mappings for the JFM.PHR.avs resource profile.

Mappings for CVIS to mhv-fhir-phr (Study)

Informative map to available elements in MHV FHIR API

JFMavs
DocumentReferenceStudy
   meta
      securitystudy.sensitive
   identifierstudy.studyId or study.firstImageId
   status`current` if not `entered-in-error`
   type
      coding (LO)56446-8 Appointment summary Document
      coding (CPT)study.cptCode
      textstudy.description
   category`clinical-note`
      textstudy.event
   subjectGetPatient()
   datestudy.documentDate
   custodian
      displaystudy.origin
   securityLabelstudy.firstImage.sensitive
   content
      attachment
         contentType`application/pdf`
         urlstudy.firstImage.diagnosticImageUri
         titlestudy.noteTitle
         creationstudy.firstImage.captureDate
   context
      relatedGetLocation(study.siteNumber)

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

JFMavs
DocumentReferenceEvent
   identifierEvent.identifier
   identifier (image)Event.identifier
   identifier (study)Event.identifier
   statusEvent.status
   typeEvent.code
   subjectEvent.subject
   dateEvent.occurrence[x]
   custodianEvent.performer.actor
   context
      encounterEvent.context

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

JFMavs
DocumentReferencewhen describing a Composition
   typeComposition.type
   categoryComposition.class
   category (us-core)Composition.class
   subjectComposition.subject
   dateComposition.date
   custodianComposition.custodian
   securityLabelComposition.confidentiality, Composition.meta.security
   contentBundle(Composition+*)
      attachmentComposition.language, Composition.title, Composition.date
   context
      encounterComposition.encounter
      relatedComposition.event.detail

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

JFMavs
DocumentReferenceEntity. Role, or Act, Document[classCode="DOC" and moodCode="EVN"]
   meta
      idn/a
      extensionn/a
   textAct.text?
   containedN/A
   extensionN/A
   modifierExtensionN/A
   identifier.id / .setId
   identifier (image).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
   identifier (study).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
      coding (CPT)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
      idn/a
      extensionn/a
      codingunion(., ./translation)
      text./originalText[mediaType/code="text/plain"]/data
   category (us-core).outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
   subject.participation[typeCode="SBJ"].role[typeCode="PAT"]
   date.availabilityTime[type="TS"]
   custodian.participation[typeCode="RCV"].role[classCode="CUST"].scoper[classCode="ORG" and determinerCode="INST"]
      idn/a
      extensionn/a
      referenceN/A
      typeN/A
      identifier.identifier
      displayN/A
   securityLabel.confidentialityCode
   contentdocument.text
      idn/a
      extensionn/a
      modifierExtensionN/A
      attachmentdocument.text
         idn/a
         extensionn/a
         contentType./mediaType, ./charset
         url./reference/literal
         title./title/data
         creationN/A (needs data type R3 proposal)
   contextoutboundRelationship[typeCode="SUBJ"].target[classCode<'ACT']
      idn/a
      extensionn/a
      modifierExtensionN/A
      encounterunique(highest(./outboundRelationship[typeCode="SUBJ" and isNormalActRelationship()], priorityNumber)/target[moodCode="EVN" and classCode=("ENC", "PCPR") and isNormalAct])
      related./outboundRelationship[typeCode="PERT" and isNormalActRelationship()] / target[isNormalAct]

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

JFMavs
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/
   securityLabelClinicalDocument/confidentialityCode/@code
   content
      attachmentClinicalDocument/languageCode, ClinicalDocument/title, ClinicalDocument/date
   context
      relatedClinicalDocument/relatedDocument

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

JFMavs
DocumentReference
   identifierFiveWs.identifier
   identifier (image)FiveWs.identifier
   identifier (study)FiveWs.identifier
   statusFiveWs.status
   typeFiveWs.class
   categoryFiveWs.class
   category (us-core)FiveWs.class
   subjectFiveWs.subject[x], FiveWs.subject
   dateFiveWs.recorded
   context
      encounterFiveWs.context

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

JFMavs
DocumentReference
   identifierTXA-16?
   identifier (image)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)
   identifier (study)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
      coding (CPT)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
   category
      codingC*E.1-8, C*E.10-22
      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)
   securityLabelTXA-18
   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
         urlRP.1+RP.2 - if they refer to a URL (see v2.6)

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

JFMavs
DocumentReference
   identifierDocumentEntry.entryUUID
   identifier (image)DocumentEntry.entryUUID
   identifier (study)DocumentEntry.entryUUID
   statusDocumentEntry.availabilityStatus
   typeDocumentEntry.type
   categoryDocumentEntry.class
   category (us-core)DocumentEntry.class
   subjectDocumentEntry.patientId
   securityLabelDocumentEntry.confidentialityCode
   content
      attachmentDocumentEntry.mimeType, DocumentEntry.languageCode, DocumentEntry.URI, DocumentEntry.size, DocumentEntry.hash, DocumentEntry.title, DocumentEntry.creationTime
   context
      relatedDocumentEntry.referenceIdList