Implementation Guide
23.1.0 - R4 APIs

Publish Box goes here

Resource Profile: AthenaFamilyMemberHistory - Mappings

Active as of 2022-03-01

Mappings for the athena-familyhistory-profile resource profile.

Mappings for athenaFlow (http://unknown.org/athenaFlow)

AthenaFamilyMemberHistory
FamilyMemberHistoryFHIRR4_FAMILYMEMBERHISTORYVIEW
   idMakeId(%FAMILYHEALTHHISTORYID%)
   meta
      lastUpdated%DB_UPDATED_DATE%
      security
      security (SENSITIVECHART)CheckSensitive(%SENSITIVECHART%)
      security (CONFABBR)
         systemgetSiteCodeSystem("ConfidentialDocument")
         code%CONFABBR%
      tagMakeChangeTagList(%CHANGE%)
   identifierMakeIdentifier("U",getSiteSystem("FamilyMemberHistoryId"),%FAMILYHEALTHHISTORYID%)
   statusMapCode(%STATUS%,"FAMILYHISTORYSTATUS")
   patientMakeReference(null,%PID%,"Patient")
   date%DB_UPDATED_DATE%
   relationshipMakeConcept(%CODE%,"http://snomed.info/sct",%RELATION%)
   sexMapConcept(%GENDER%, "GENDER")
   noteMakeAnnotation(%FHXCOMMENTS%)
   condition
      code
         coding
            code%SNOMEDCODE%
            display%LONGDESCRIPTION%
         text%DESCRIPTION%

Mappings for athenaPractice (http://unknown.org/athenaPractice)

AthenaFamilyMemberHistory
FamilyMemberHistoryFHIRR4_FAMILYMEMBERHISTORYVIEW
   idMakeId(%FAMILYHEALTHHISTORYID%)
   meta
      lastUpdated%DB_UPDATED_DATE%
      security
      security (SENSITIVECHART)CheckSensitive(%SENSITIVECHART%)
      security (CONFABBR)
         systemgetSiteCodeSystem("ConfidentialDocument")
         code%CONFABBR%
      tagMakeChangeTagList(%CHANGE%)
   identifierMakeIdentifier("U",getSiteSystem("FamilyMemberHistoryId"),%FAMILYHEALTHHISTORYID%)
   statusMapCode(%STATUS%,"FAMILYHISTORYSTATUS")
   patientMakeReference(null,%PID%,"Patient")
   date%DB_UPDATED_DATE%
   relationshipMakeConcept(%CODE%,"http://snomed.info/sct",%RELATION%)
   sexMapConcept(%GENDER%, "GENDER")
   noteMakeAnnotation(%FHXCOMMENTS%)
   condition
      code
         coding
            code%SNOMEDCODE%
            display%LONGDESCRIPTION%
         text%DESCRIPTION%

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

AthenaFamilyMemberHistory
FamilyMemberHistoryEvent
   identifierEvent.identifier
   instantiatesCanonicalEvent.instantiatesCanonical
   instantiatesUriEvent.instantiatesUri
   statusEvent.status
   patientEvent.subject
   reasonCodeEvent.reasonCode
   reasonReferenceEvent.reasonReference
   noteEvent.note

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

AthenaFamilyMemberHistory
FamilyMemberHistoryNot in scope for v2
   meta
      security
      security (SENSITIVECHART)
      security (CONFABBR)
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
   condition
      code
         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

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

AthenaFamilyMemberHistory
FamilyMemberHistoryEntity. Role, or Act, Observation[classCode=OBS, moodCode=EVN]
   meta
      idn/a
      extensionn/a
      security
      security (SENSITIVECHART)
      security (CONFABBR)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
   textAct.text?
   containedN/A
   extensionN/A
   modifierExtensionN/A
   identifierid
   instantiatesCanonical.outboundRelationship[typeCode=DEFN].target
   instantiatesUri.outboundRelationship[typeCode=DEFN].target
   dataAbsentReason.reasonCode
   patientparticipation[typeCode=SBJ].role
   dateparticipation[typeCode=AUT].time
   namename
   relationshipcode
   born[x]player[classCode=LIV, determinerCode=INSTANCE]. birthDate (could be URG)
   age[x]participation[typeCode=SBJ].act[classCode=OBS,moodCode=EVN, code="age"].value
   deceased[x]player[classCode=LIV, determinerCode=INSTANCE].deceasedInd, deceasedDate (could be URG) For age, you'd hang an observation off the role
   reasonCode.reasonCode
   reasonReference.outboundRelationship[typeCode=RSON].target
   noteinboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=ActCode#ANNGEN].value
   conditioninboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=ActCode#ASSERTION, value<Diagnosis]
      idn/a
      extensionn/a
      modifierExtensionN/A
      code.value
         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
      outcomeoutboundRelationship[typeCode=OUTC)].target[classCode=OBS, moodCode=EVN, code=ActCode#ASSERTION].value
      onset[x]inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="Subject Age at measurement", value<Diagnosis].value[@xsi:typeCode='TS' or 'IVL_TS'] Use originalText for string
      noteinboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=ActCode#ANNGEN].value

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

AthenaFamilyMemberHistory
FamilyMemberHistory
   identifierFiveWs.identifier
   statusFiveWs.status
   patientFiveWs.subject[x], FiveWs.subject
   dateFiveWs.recorded
   reasonCodeFiveWs.why[x]
   reasonReferenceFiveWs.why[x]