FHIR Chat · Care plan activities · implementers

Stream: implementers

Topic: Care plan activities


view this post on Zulip Matt Fraser (Aug 01 2019 at 17:07):

I've put a few questions here together because I believe they're all related.

1) I have a handful of activities that I want to assign to a patient. (i.e. take blood pressure reading once a day) What is the best way to do this? Can I assign activities directly somehow? Do I need to put them in a PlanDefinition, apply that and get back a CarePlan? I've also seen a RequestGroup that seems like it could group activities. How does this come in?

2) I have an activity assigned to a patient that is recurring (i.e. take blood pressure reading once a day). I want to be able to track a patients adherence to that task. I've seen it suggested that this sort of thing should be in an observation. Does anybody have any examples similar to this, or are we in new territory?

3) I have an activity assigned to a patient (i.e. take blood pressure reading twice a day). How do I put the requirements in a way so that a I can programmatically determine if the activity has been done? I've tried it this way, but I'm not sure this is the recommended path:
{
"title": "Take Blood Pressure",
"subjectCodeableConcept": {
"coding": [
{
"system": "http://hl7.org/fhir/ValueSet/subject-type",
"code": "Patient"
}
]
},
"input": [
{
"type": "Observation",
"subjectCodeableConcept": {
"coding": [
{
"system": "http://hl7.org/fhir/ValueSet/subject-type",
"code": "Patient"
}
]
},
"codeFilter": [
{
"path": "code",
"code": [
{
"code": "85354-9"
}
]
}
]
}
],
"timingTiming": {
"repeat": {
"frequency": "2",
"period": 1,
"periodUnit": "d"
}
},
"requiredBehavior": "must",
"participant": [
{
"type": "device"
}
],
"definitionCanonical": "#activitydefinition-bloodpressure"
}

Thanks
Matt

view this post on Zulip Lloyd McKenzie (Aug 01 2019 at 18:08):

1. PlanDefinition would let you define a generic (non-patient-specific) protocol. To define what you want a specific patient to do, you'd need to use CarePlan. To create a specific reminder to do a particular occurrence you could use 'Task' (which the patient could then tick-off when done, or perhaps provide a reason if they didn't do it)
2. At what granularity do you want to track adherence? For each scheduled occurrence? As a general statement of overall compliance? The former could be done using Task. The latter could be captured as a note in the CarePlan, though Observation could also work
3. Again it depends whether you're defining a protocol or a specific time-bound plan for a particular patient. For the former, what you have looks reasonable.

view this post on Zulip Matt Fraser (Aug 13 2019 at 16:40):

Thanks for the help. I've come across a couple more complicated scenarios that I'm stuck on how to represent. I'm wondering if I could get some feedback on these (pointers to fields/structures that I ma y have missed are totally fine):

1) OK, in the scenario that I want the patient to record their blood pressure once a day, I also want to monitor that it's within a certain range (say, 120/80 or below). Would this be a good use for the goal field? Or is there a more appropriate place to put this?

2) I want a patient to walk more than 3000 steps a day. Would the action be to walk and the 3000 would be represented as above? To me, this seems like a semantically different thing. Is there a place within the action to store this number that I should be using? (if so, I missed it).

3) In this above case, steps are probably represented in multiple observations (say, hourly summaries), that would need to be added together for a daily value. How would I represent that?

Thanks
Matt

view this post on Zulip Grahame Grieve (Aug 15 2019 at 02:37):

I don't see the actions anywhere in the care plan. You can say what the activity should be (e.g. 3000 steps) and link it to a goal (get fitter) but there's no where in the care plan to say what to do if the patient doesn't meet the goals or do the activities

view this post on Zulip Grahame Grieve (Aug 15 2019 at 02:39):

the care plan can be based on a PlanDefinition, but even there I don't see how you can say what you are trying to say. But I think it should be, so I'm not sure I read it right. (@Bryn Rhodes?)

view this post on Zulip Bryn Rhodes (Aug 15 2019 at 02:53):

You could put the actions in a PlanDefinition, something like this:

<PlanDefinition>
  <action>
    <title value="Record blood pressure"/>
    <action>
      <condition>
        <expression value="[Observation: BP] O where O.component[0] < 120 and O.component[1] < 80"/>
      </condition>
      <... do something if they are out of range />
    </action>
  </action>
  <action>
    <title value="Walk 3000 steps a day"/>
    <action>
      <condition>
        <expression value="Sum([Observation: StepsPerDay] O return O.value as Integer)"/>
      </condition>
    </action>
  </action>
</PlanDefinition>

view this post on Zulip Bryn Rhodes (Aug 15 2019 at 02:56):

The sub-actions here have the condition that says what to do when it's out of range.

view this post on Zulip Bryn Rhodes (Aug 15 2019 at 03:07):

You wouldn't necessarily put these in the PlanDefinition like this though, you could use a goal to state generally the target, and then use separate event-condition-action rules to express what to do if they are out of compliance.

view this post on Zulip Lloyd McKenzie (Aug 20 2019 at 17:30):

@Matt Fraser Yes, the target blood pressure range and the steps per day would both be goals (both would be detailRange, the latter would be a lower bound with no upper bound. In terms of "adding things together", you'd be specifying "steps per day" as your goal. The magic by which the various observations of "steps per time-period" get broken into 24-hour bins and then summed together isn't defined in the CarePlan (any more than maxDosePerPeriod of 100mg/day explains how to manage an IV infusion that was given from 11pm to 1:30am in enforcing the prescription). Systems that want to evaluate against the goal need to determine their convention and then manage it (including handling fun nuances like daylight savings time transitions :>)


Last updated: Apr 12 2022 at 19:14 UTC