Physical Activity Implementation Guide
1.0.1 - STU Release 1 United States of America flag

Physical Activity Implementation Guide, published by HL7 International / Patient Care. This guide is not an authorized publication; it is the continuous build for version 1.0.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/physical-activity/ and changes regularly. See the Directory of published versions

ExampleScenario: Scenario 4 - Patient Works with Personal Trainer

Official URL: http://hl7.org/fhir/us/physical-activity/ExampleScenario/Scen4PhysicalActivityPlan Version: 1.0.1
Standards status: Informative Computable Name: PatientWorksWithPersonalTrainer

This scenario provides an example of the types of data exchanges that are described in the Patient Works with Personal Trainer scenario from the Scenarios page.

The scenario shows the flows of information between the different systems and the various FHIR calls involved, as well as what the data might have looked like in each of the exchanges. There are detailed tables below that provide details on each of the steps in the exchange as well as the types of data being shared. From the instances table, it's possible to navigate to sample XML and JSON instances.

Actors

NameTypeDescription
Patient ApplicationSystem

A phone or web-based app used by Ms. Scarborough to track her physical activity

Provider ApplicationSystem

A phone or web-based app used by Ms. Rocha to manage her clients' data

Diagram

PatientWorksWithPersonalTrainerPatient ApplicationPatient ApplicationProvider ApplicationProvider ApplicationPhysical Activity Plan Establishment and ObservationsdetailsQuery CarePlan(payload)response(payload)Query Goals(payload)response(payload)Post Observations, CarePlan adjustment and new GoalsdetailsPost activity type(payload)Post min/day(payload)time passesPost peak daily heart rate(payload)Post min/day #2(payload)time passesPost daily steps(payload)Post peak daily calories(payload)time passesUpdate goal(payload)time passesRetrieve patient tasks#1(payload)response(payload)time passesUpdate task#1(payload)time passesRetrieve patient tasks#2(payload)response(payload)time passesUpdate task#2(payload)time passesQuery CarePlan#2(payload)response(payload)Query Goals#2(payload)response(payload)time passesPost min/day #3(payload)time passesUpdate goal(payload)time passesRetrieve patient tasks#3(payload)response(payload)time passesUpdate task#3(payload)

Processes

Process: Physical Activity Plan Establishment and Observations

Pre-conditions:

CarePlan and initial Goal are created, Patient and Provider apps are operational

Post-conditions:

CarePlan and Goal successfully retrieved

StepNameDescriptionInitatorReceiverRequestResponse
1Query CarePlan - search-type

Patient app queries exercise CarePlan describing proposed exercise regime.

Patient ApplicationProvider ApplicationQuery for patient physical activity care plansSearch-set of Care Plans
2Query Goals - search-type

Patient app queries Goals.

Patient ApplicationProvider ApplicationQuery for patient physical activity goalsSearch-set of Goals
Process: Post Observations, CarePlan adjustment and new Goals

Pre-conditions:

Initial care plan and goal retrieved

Post-conditions:

Care plan followed, various observations are posted by the patient and initial goal accomplished (along with filling survey). Care plan is adjusted, new goal is set, and observations are posted

StepNameDescriptionInitatorReceiverRequestResponse
3Post activity type - create

Patient app posts an observation indicating type of physical activity. POST https://ufit.example.org/fhir/Observation

Patient ApplicationProvider ApplicationExample physical activity type record
4Post min/day - create

Patient app posts an observation indicating number of minutes/day of moderate to vigorous physical activity. POST https://ufit.example.org/fhir/Observation

Patient ApplicationProvider ApplicationInitial minutes/day of cardio
5Post peak daily heart rate - create

Patient app posts an observation indicating their peak daily heart rate. POST https://ufit.example.org/fhir/Observation

Patient ApplicationProvider ApplicationExample peak daily heart rate
6Post min/day #2 - create

Patient app posts another observation indicating number of minutes/day of moderate to vigorous physical activity. POST https://ufit.example.org/fhir/Observation

Patient ApplicationProvider ApplicationUpdated minutes/day of cardio
7Post daily steps - create

Patient app posts an observation indicating their peak daily heart rate. POST https://ufit.example.org/fhir/Observation

Patient ApplicationProvider ApplicationExample daily step count
8Post peak daily calories - create

Patient app posts an observation indicating their peak daily heart rate. POST https://ufit.example.org/fhir/Observation

Patient ApplicationProvider ApplicationExample daily calories
9Update goal - update

Patient updates their initial goal to indicate it's achieved. PUT https://ufit.example.org/fhir/Observation/Scen4Goal1

Patient ApplicationProvider ApplicationInitial goal
10Retrieve patient tasks#1 - search-type

Based on an SMS prompt from an 'internal' subscription, the patient app checks for new tasks assigned by their trainer and receives request to fill out a survey.

Patient ApplicationProvider ApplicationQuery for patient uncomplete tasksSearch-set of active patient Tasks#1
11Update task#1 - update

Patient updates the task with the completed survey. PUT https://ufit.example.org/fhir/Task/Scen4TaskFillSurvey

Patient ApplicationProvider ApplicationCompleted request
12Retrieve patient tasks#2 - search-type

Based on an SMS prompt from an 'internal' subscription, the patient app checks for new tasks assigned by their trainer and receives request to reivew a video.

Patient ApplicationProvider ApplicationQuery for patient uncomplete tasksSearch-set of active patient Tasks#2
13Update task#2 - update

Patient updates the task indicating they've watched the video. PUT https://ufit.example.org/fhir/Task/Scen4TaskReviewVideo

Patient ApplicationProvider ApplicationCompleted request
14Query CarePlan#2 - search-type

After a phone call, patient uses app to retrieve updated CarePlan describing revised exercise regime.

Patient ApplicationProvider ApplicationQuery for patient physical activity care plansSearch-set of Care Plans#2
15Query Goals#2 - search-type

After a phone call, patient uses app to retrieve updated Goals.

Patient ApplicationProvider ApplicationQuery for patient physical activity goalsSearch-set of Goals
16Post min/day #3 - create

Patient app posts a third observation indicating number of minutes/day of moderate to vigorous physical activity. POST https://ufit.example.org/fhir/Observation

Patient ApplicationProvider ApplicationFinal minutes/day of cardio
17Update goal - update

Patient updates their second goal to indicate it's achieved, but they want to stay where they are. PUT https://ufit.example.org/fhir/Observation/Scen4Goal2

Patient ApplicationProvider ApplicationInitial goal
18Retrieve patient tasks#3 - search-type

Based on an SMS prompt from an 'internal' subscription, the patient app checks for new tasks assigned by their trainer and receives request to complete a second survey.

Patient ApplicationProvider ApplicationQuery for patient uncomplete tasksSearch-set of active patient Tasks#3
19Update task#3 - update

Patient updates the task indicating it's complete with the new completed survey. PUT https://ufit.example.org/fhir/Task/Scen4TaskFillSurvey2

Patient ApplicationProvider ApplicationCompleted request

Instances

NameTypeContentDescription
Query for patient physical activity care plansBinary

Query for CarePlans for a patient: GET https://ufit.example.org/fhir/CarePlan?patient=Patient/Scen4PatientScarborough&status=active,on-hold&category=http%3A//hl7.org/fhir/us/physical-activity/CodeSystem/pa-temporary-codes|PhysicalActivity

Query for patient physical activity goalsBinary

Query for Goals for a patient: GET https://ufit.example.org/fhir/Goal?patient=Patient/Scen4PatientScarborough&status=active,on-hold,completed&category=http%3A//hl7.org/fhir/us/physical-activity/CodeSystem/pa-temporary-codes|PhysicalActivity

Query for patient uncomplete tasksBinary

Query for uncomplete patient Tasks for a patient: GET https://ufit.example.org/fhir/Task?owner=Patient/Scen4PatientScarborough&status=active,on-hold

Patient physical activity care planCarePlan

CarePlan describing proposed exercise regime

  • Initial CarePlan
here

CarePlan describing proposed exercise regime

  • Updated CarePlan
here

CarePlan describing proposed exercise regime

Physical Activity weekly targetGoal

Goal indicating target number of minutes/day and days/week weight-lifting

  • Initial goal
here

Goal indicating target number of minutes/day and days/week weight-lifting

  • Initial goal
here

Goal indicating target number of minutes/day and days/week weight-lifting

Physical Activity weekly targetGoal

Increased goal indicating target number of minutes/day and days/week weight-lifting

  • Initial goal
here

Increased goal indicating target number of minutes/day and days/week weight-lifting

  • Initial goal
here

Increased goal indicating target number of minutes/day and days/week weight-lifting

Search-set of Care PlansBundlehere

Initial search results on Care plan for the patient

Contains: Initial CarePlan
Search-set of Care Plans#2Bundlehere

New search results on Care plan for the patient

Contains: Updated CarePlan
Search-set of GoalsBundlehere

Initial search results on Goal for the patient

Contains: Initial goal
Search-set of GoalsBundlehere

Initial search results on Goal for the patient

Contains: Initial goal
Search-set of active patient Tasks#1Bundlehere

Initial search results of uncomplete patient Tasks. (Triggered by notification from trainer's app.)

Contains: Initial request
Search-set of active patient Tasks#2Bundlehere

Second search results of uncomplete patient Tasks. (Triggered by notification from trainer's app.)

Contains: Initial request
Search-set of active patient Tasks#3Bundlehere

Third search results of uncomplete patient Tasks. (Triggered by notification from trainer's app.)

Contains: Initial request
Example physical activity type recordObservationhere

A sample record indicating the type of physical activity performed by the patient

Initial minutes/day of cardioObservationhere

A sample record of the minutes per day of cardio done by the patient

Example peak daily heart rateObservationhere

A sample record of daily calories captured by the patient

Updated minutes/day of cardioObservationhere

A second sample record of the minutes per day of cardio done by the patient

Example daily step countObservationhere

A sample record of daily steps captured by the patient

Example daily caloriesObservationhere

A sample record of daily calories captured by the patient

Final minutes/day of cardioObservationhere

A third sample record of the minutes per day of cardio done by the patient

Request for patient to fill out surveyTask

Patient Task requesting patient to fill out a satisfaction survey

  • Initial request
here

Patient Task requesting patient to fill out a satisfaction survey

  • Completed request
here

Patient Task requesting patient to fill out a satisfaction survey

Second request for patient to fill out surveyTask

New patient Task requesting patient to fill out a satisfaction survey

  • Initial request
here

New patient Task requesting patient to fill out a satisfaction survey

  • Completed request
here

New patient Task requesting patient to fill out a satisfaction survey

Request for patient to view videoTask

New patient Task requesting patient to fill out a satisfaction survey

  • Initial request
here

New patient Task requesting patient to fill out a satisfaction survey

  • Completed request
here

New patient Task requesting patient to fill out a satisfaction survey