Implementation Guide
23.1.0 - R4 APIs

Publish Box goes here

Resource Profile: AthenaCarePlan - Mappings

Active as of 2022-03-01

Mappings for the athena-careplan-profile resource profile.

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

AthenaCarePlan
CarePlanFHIRR4_CAREPLANVIEW
   idMakeId(%RESOURCEID%)
   meta
      versionId%CAREPLANID%
      lastUpdated%WHENUPDATED%
      securityCheckSensitive(%SENSITIVECHART%)
         code%CONFABBR%
      tagMakeChangeTagList(%DCHANGE%)
   identifierMakeIdentifier("U",getSiteSystem("CarePlanId"),%RESOURCEID%)
   statusMapCode(%STATUS%,"CAREPLANSTATUS",true)
   intentIsIntentCode("plan",%INTENT%)
   categoryMapConcept(%CODE%,"CAREPLAN-CATEGORY")
   description%COMMENTS%
   subjectMakeReference("SUBJECT",%PID%,"Patient")
   encounterMakeReference("ENCOUNTER",%SDID%,"Encounter")
   periodMakePeriod(%COMMITTEDDATE%)
   created%WHENUPDATED%
   authorMakeReference("AUTHOR",%CREATOR%,"Practitioner")
   contributor (RESPDOCTORID)MakeReference("Practitioner",%RESPDOCTORID%,"Practitioner")
   contributor (REFDOCTORID)MakeReference("Practitioner",%REFDOCTORID%,"Practitioner")
   contributor (PRIMARYCAREDOCTORID)MakeReference("Practitioner",%PRIMARYCAREDOCTORID%,"Practitioner")
   contributor (RELATEDPERSON)MakeCarePlanParticipantList("RelatedPerson", %CARETEAMMEMBERS%, "RelatedPerson")
   careTeamMakeReference("CareTeam",%CARETEAMID%,"CareTeam")
   addressesMakeReferenceList("PROBLEM", %PROBLEMID%,"Condition")
   goalMakeReferenceList("GOAL", %GOAL%,"Goal")
   activityMakeActivityList(%RESOURCEID%)
   noteMakeAnnotation(%COMMENTS%)

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

AthenaCarePlan
CarePlanFHIRR4_CAREPLANVIEW
   idMakeId(%RESOURCEID%)
   meta
      versionId%CAREPLANID%
      lastUpdated%WHENUPDATED%
      securityCheckSensitive(%SENSITIVECHART%)
         code%CONFABBR%
      tagMakeChangeTagList(%DCHANGE%)
   identifierMakeIdentifier("U",getSiteSystem("CarePlanId"),%RESOURCEID%)
   statusMapCode(%STATUS%,"CAREPLANSTATUS",true)
   intentIsIntentCode("plan",%INTENT%)
   categoryMapConcept(%CODE%,"CAREPLAN-CATEGORY")
   description%COMMENTS%
   subjectMakeReference("SUBJECT",%PID%,"Patient")
   encounterMakeReference("ENCOUNTER",%SDID%,"Encounter")
   periodMakePeriod(%COMMITTEDDATE%)
   created%WHENUPDATED%
   authorMakeReference("AUTHOR",%CREATOR%,"Practitioner")
   contributor (RESPDOCTORID)MakeReference("Practitioner",%RESPDOCTORID%,"Practitioner")
   contributor (REFDOCTORID)MakeReference("Practitioner",%REFDOCTORID%,"Practitioner")
   contributor (PRIMARYCAREDOCTORID)MakeReference("Practitioner",%PRIMARYCAREDOCTORID%,"Practitioner")
   contributor (RELATEDPERSON)MakeCarePlanParticipantList("RelatedPerson", %CARETEAMMEMBERS%, "RelatedPerson")
   careTeamMakeReference("CareTeam",%CARETEAMID%,"CareTeam")
   addressesMakeReferenceList("PROBLEM", %PROBLEMID%,"Condition")
   goalMakeReferenceList("GOAL", %GOAL%,"Goal")
   activityMakeActivityList(%RESOURCEID%)
   noteMakeAnnotation(%COMMENTS%)

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

AthenaCarePlan
CarePlanRequest
   identifierRequest.identifier
   instantiatesCanonicalRequest.instantiatesCanonical
   instantiatesUriRequest.instantiatesUri
   basedOnRequest.basedOn
   replacesRequest.replaces
   statusRequest.status {uses different ValueSet}
   intentRequest.intent
   subjectRequest.subject
   encounterRequest.context
   periodRequest.occurrence[x]
   createdRequest.authoredOn
   authorRequest.requester
   careTeamRequest.performer {similar but does not entail CareTeam}
   addressesRequest.reasonReference
   supportingInfoRequest.supportingInfo
   activity{no mapping NOTE: This is a list of contained Request-Event tuples!}
      outcomeReference{Event that is outcome of Request in activity.reference}
      reference{Request that resulted in Event in activity.actionResulting}
      detail
         instantiatesCanonicalRequest.instantiatesCanonical
         instantiatesUriRequest.instantiatesUri
         codeRequest.code
         reasonCodeRequest.reasonCode
         reasonReferenceRequest.reasonReference
         statusRequest.status
         statusReasonRequest.statusReason
         doNotPerformRequest.doNotPerform
         scheduled[x]Request.occurrence[x]
         performerRequest.performer
   noteRequest.note

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

AthenaCarePlan
CarePlanEntity. Role, or Act, Act[classCode=PCPR, moodCode=INT]
   meta
      idn/a
      extensionn/a
      security
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
   textAct.text?
   containedN/A
   extensionN/A
   modifierExtensionN/A
   identifier.id
   instantiatesCanonical.outboundRelationship[typeCode=DEFN].target
   instantiatesUri.outboundRelationship[typeCode=DEFN].target
   status.statusCode planned = new active = active completed = completed
   subject.participation[typeCode=PAT].role[classCode=PAT]
   encounter.
   period.effectiveTime
   created.participation[typeCode=AUT].time
   addresses.actRelationship[typeCode=SUBJ].target[classCode=CONC, moodCode=EVN]
   goal.outboundRelationship[typeCode<=OBJ].
   activity.outboundRelationship[typeCode=COMP].target
      idn/a
      extensionn/a
      modifierExtensionN/A
      outcomeReference.inboundRelationship[typeCode=FLFS].source
      progress.inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="annotation"].value
      reference.outboundRelationship[typeCode=COMP].target
      detail.outboundRelationship[typeCode=COMP, subsetCode=SUMM].target
         idn/a
         extensionn/a
         modifierExtensionN/A
         kind.inboundRelationship[typeCode=COMP].source[classCode=LIST].code
         instantiatesCanonical.outboundRelationship[typeCode=DEFN].target
         instantiatesUri.outboundRelationship[typeCode=DEFN].target
         code.code
         goal.outboundRelationship[typeCode<=OBJ].
         status.statusCode not-started = new scheduled = not-started (and fulfillment relationship to appointent) in-progress = active on-hold = suspended completed = completed cancelled = aborted
         doNotPerformactionNegationInd
         scheduled[x].effectiveTime
         location.participation[typeCode=LOC].role
         performer.participation[typeCode=PFM]
         product[x].participation[typeCode=PRD].role
         dailyAmount.outboundRelationship[typeCode=COMP][classCode=SBADM].doseQuantity
         quantity.outboundRelationship[typeCode=COMP][classCode=SPLY].quantity
         description.text
   note.inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="annotation"].value

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

AthenaCarePlan
CarePlan
   identifierFiveWs.identifier
   statusFiveWs.status
   categoryFiveWs.class
   descriptionFiveWs.what[x]
   subjectFiveWs.subject[x], FiveWs.subject
   encounterFiveWs.context
   periodFiveWs.planned
   createdFiveWs.recorded
   authorFiveWs.author
   careTeamFiveWs.actor
   addressesFiveWs.why[x]

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

AthenaCarePlan
CarePlan
   meta
      security
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
   identifierPTH-3
   statusPTH-5
   subjectPID-3
   encounterAssociated PV1
   periodGOL-7 / GOL-8
   addressesPRB-4
   goalGOL.1
   activity
      progressNTE?
      detail
         codeOBR-4 / RXE-2 / RXO-1 / RXD-2
         statusORC-5?
         scheduled[x]TQ1
         locationOBR-24(???!!)
         performerPRT-5 : ( PRV-4 = (provider participations)); PRT-5 : ( PRV-4 = (non-provider person participations )) ; PRT-5 : ( PRV-4 = (patient non-subject of care) ) ; PRT-8
         product[x]RXE-2 / RXO-1 / RXD-2
         dailyAmountRXO-23 / RXE-19 / RXD-12
         quantityRXO-11 / RXE-10 / RXD-4 / RXG-5 / RXA-6 / TQ1-2.1 *and* RXO-12 / RXE-11 / RXD-5 / RXG-7 / RXA-7 / TQ1-2.2
         descriptionNTE?
   noteNTE?