Shared Care Planning (SCP) Implementation Guide
0.2.0 - ci-build

Shared Care Planning (SCP) Implementation Guide, published by Santeon. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/SanteonNL/shared-care-planning/ and changes regularly. See the Directory of published versions

Use cases - Get data for home care

The user story

Community nurse creates CarePlan/CareTeam and retrieves data

A Community nurse, Hilda House, is seeing a new client called: Cedric Collins. Hilda was told that Cedric was discharged from a hospital after surgery. Hilda decides to search for Cedric's data at the hospital and General Practitioner. She takes her tablet, logs in, opens Cedric's dossier and asks Cedric for the names of his GP and the hospital and if he wants to share the GP/hospital data with her. In the 'care team' tab of the dossier, she adds/selects 'GP Dr. Greene' and 'Hospital X'. Just after this action, the GP-system responds with (small) questionnaire: "To add GP Dr. Greene to your client's care team, please provide the 6-digit number that was send to your client via sms/email" Cedric takes his phone and gives Hilda the 6-digit number. Cedric's GP/Hospital-data is now showing up in the appropriate sections of the dossier. If needed, Hilda can see what the original source of the data is.

In the background, Hilda's EHR is performing a number of actions:

  1. The service endpoints of the care providers (GP & hospital) are looked up in the local provider directory
  2. A 'simple' request is send to the GP; are you a care provider of Cedric?
    1. The GP-system recognizes Cedric's ID, looks up if he is currently registered as a client.
    2. In order to check if Cedric consents to share the GP-data with the home care organization, an sms with a code is send to the phonenumber of Cedric and a (sub-) Task/Questionnaire is send Hilda's EHR to fill in that same code
    3. Hilda's EHR shows a questionnaire that requests the code that was send to Cedric.
    4. As soon as the code is return by Cedric/Hilda, the GP-system checks if the code is correct.
    5. The code is correct; the GP-system accepts the first request "are you a care provider of Cedric?"
  3. A 'simple' request is send to the hospital; are you a care provider of Cedric?
    1. The hospital-system recognizes Cedric's ID, looks up what activities were done or are planned and checks an external consent-registry.
    2. the hospital-system accepts the first request "are you a care provider of Cedric?"
  4. A 'Shared CarePlan' (including the 2 requests) and a 'Shared CareTeam' (including Cedric, Hilda's home care organization, the GP and the hospital) are created.
  5. As the GP/Hospital-systems have agreed/accepted the requests, these organizations are all member of the same CareTeam for Cedric. As an active members in the CareTeam, Hilda's EHR is authorized by the GP's system and the hospital to fetch Cedric's data.
  6. Hilda's EHR displays the data of all care team members of Cedric

GP using the CareTeam

After two weeks, Cedric doesn't feel well. He decides to consult his GP Dr. Gregory Greene. Dr. Gregory opens Cedric's dossier and reads his that left foot was amputated three weeks ago and he is now getting home care. At the hospital, Cedric was diagnosed with diabetes. From the last couple of home care notes, he reads that Cedric keeps complaining about his right hand. Gregory is happy that all recent/relevant data is showing up in his system; he can now focus on the problem at hand; Cedric's right hand….

In the background, Gregory's EHR is fetching data. It knows where to fetch the data because the request from Hilda was based on a Shared CarePlan. This CarePlan has a CareTeam with 4 members (Cedric, GP, hospital and home care). Gregory's EHR also got a notification of this specific CarePlan and CareTeam; it was used two weeks ago to authorize Hilda's request for data, but now it is used to locate the healthcare data of Cedric at the home care organization and the hospital.

But what if….multiple overlapping CarePlans/CareTeams?

Imagine that the hospital requested a medicalservicecentre last year to provide telemonitoring. That resulted in a CarePlan and a CareTeam consisting of 3 members (Cedric, hospital and the medicalservicecentre). Read Enroll patient in home monitoring for more details on this example.
Now Hilda's EHR sends out the requests to the GP and the hospital ('are you a care provider of Cedric?') like in the first paragraph. The hospital is already a member of a Care Team for Cedric. Should these CareTeams be merged? Or should they remain separate? In the hospital, a request is created to merge both CarePlans/CareTeams. This request is evaluated/approved by a coordinating nurse Caroline van Dijk before it is send to Hilda. As the hospital and Caroline are member of both CarePlans/CareTeams, she can determine if it would make sense to merge.

In the background, The hospital system creates a draft request which can be 'approved' by coordinating nurse Caroline van Dijk. After approval, this request is send to Hilda's EHR.

Now, Hilda gets a request/alert on her worklist/inbox: 'Hospital X is a member of an existing CarePlan/CareTeam for Cedric. Do you want to merge your CareTeam with the existing CareTeam?' She reviews the other/older CarePlan and CareTeam. After consulting Cedric, she decides that the CarePlans and CareTeams should be merged; she approves the request. This enables her and the medicalservicecentre to cooperate with each other and view Cedric's data; both parties interact with Cedric on a weekly basis.

In the background, the CarePlanService of the other/older CarePlan/CareTeam adds the data of the new CarePlan/CareTeam and copies associated Tasks and other data. The Hospital system also requests to Hilda's system to de-active the (now obsolete) CarePlan. Hilda's system accepts and de-activates the CarePlan

Authentication

Home monitoring nurse

NutsEmployeeCredential. Elements of credentials are filled based on attributes that are available in user session of medisch service center software.

Medical Service Center

NutsUraCredential.

Authorization

Policy

Rules
  • generic Care Plan Contributor Policy applies: link
  • no filtering on request/activity type
  • no filtering on condition
Required VC's/VP's for access token request

NutsUraCredential NutsEmployeeCredential

Search narrowing

search narrowing has to be performed by data holder according to table.

Transactions 'Community nurse creates CarePlan/CareTeam and retrieves data'

Care@HomeGeneral PractitionerDr GreeneHospital XHildaHouseCare Plan ContributorCare Plan Service(provided by broker)Care Plan ContributorTask managerCare Plan ContributorTask managerCedricCollinsExternal consentregistryHildaHouseCare Plan ContributorCare Plan Service(provided by broker)Care Plan ContributorTask managerCare Plan ContributorTask managerCedricCollinsExternal consentregistry1Start addingcare providersfor client2Find/select CarePlan3Create Tasksreferring Request,and CarePlan (if any)4Update CareTeam, CarePlanand Subscriptions5Notify CareTeam, CarePlanAdd Hospital X to CareTeam20Notify Task created21Notify Task created22evaluate Task(required data,capacity, etc)23checkconsent24ok25evaluate Task:status 'accepted'26Task accepted27Task accepted28Update CareTeam, CarePlan29Notify Task acceptedCareTeam updatedCarePlan updated30Notify CareTeam updatedCarePlan updated31Hospital X successfullyadded to care teamAdd GP Dr Greene to CareTeam40Notify Task created41Notify Task created42evaluate Task(required data,capacity, etc)43sms "give code 123456to your practitioner if you wantto share your healthdata at GP Dr Greene"44Send consent-code-challenge questionnaire45Create (sub-)Task2: doQuestionnaire'consent-code-challenge'46Notify Task2 created47Present Questionnaire(prefill data from EHR)48give code 12345649CompleteQuestionnaireResponse50Update Task2: AddQuestionnaireResponse51Notify Task2 update52Notify Task2 update53evaluate Task:status 'accepted'54Task accepted55Task accepted56Update CareTeam, CarePlan57Notify Task acceptedCareTeam updatedCarePlan updated58GP Dr. Greene successfullyadded to care team59Notify CareTeam updatedCarePlan updated60Notify CareTeam updatedCarePlan updated80show medata of patient in dossier81lookup urlof CarePlan82request CarePlan,CareTeam83return CarePlan,CareTeam84request health data of patient85request CarePlan,CareTeam, Tasks86return CarePlan,CareTeam, Tasks87checkauthorization88health data of patient89request health data of patient90request CarePlan,CareTeam, Tasks91return CarePlan,CareTeam, Tasks92checkauthorization93health data of patient94present Patient data

Step 2: Care@Home: Find existing 'Shared' CarePlan for Patient

Step 3: Care@Home: Create Task assumption no CarePlan was found (so no Task.basedOn), create a Bundle with a new Task and a copy of the referred ServiceRequest and Condition:

Step 4-infinite: WIP

Transactions 'GP using the CareTeam'

Care@HomeGeneral PractitionerDr GreeneHospital XCare Plan ContributorCare Plan Service(provided by broker)GregoryGreeneCare Plan ContributorCare Plan ContributorCare Plan ContributorCare Plan Service(provided by broker)GregoryGreeneCare Plan ContributorCare Plan Contributor200show medata of patient in dossier201lookup urlof CarePlan202request CarePlan,CareTeam203return CarePlan,CareTeam204request health data of patient205request CarePlan,CareTeam, Tasks206return CarePlan,CareTeam, Tasks207checkauthorization208health data of patient209request health data of patient210request CarePlan,CareTeam, Tasks211return CarePlan,CareTeam, Tasks212checkauthorization213health data of patient214present Patient data

Step 1-infinite: WIP

Transactions 'But what if….multiple overlapping CarePlans/CareTeams?'

Care@HomeMedicalServiceCentreHospital XHildaHouseCare Plan ContributorCare Plan Service(provided by broker)Care Plan ServiceCarolinevan DijkCare Plan ContributorTask managerHildaHouseCare Plan ContributorCare Plan Service(provided by broker)Care Plan ServiceCarolinevan DijkCare Plan ContributorTask manager1Start addingcare providersfor client2Find/select CarePlan3Create Tasksreferring Request,and CarePlan (if any)4Update CareTeam, CarePlanand Subscriptions5Notify CareTeam, CarePlanCarePlan mergers are work-in-progress...20Notify Task created21Notify Task created22evaluate Task(required data,capacity, etc)300multiple CarePlansfor patient,ask merge approval Hospital X301Create (sub-)Task2: doQuestionnaire 'merge CarePlans'302Notify Task2 created303Notify Task2 created304evaluate Task2305Present Questionnaire(merge CarePlan X & Y?)306CompleteQuestionnaireResponse307Update Task2: AddQuestionnaireResponse308Notify Task2 updated309Notify Task2 updated310evaluate Task2311multiple CarePlansfor patient,ask merge approval Care@Home312Create (sub-sub-)Task3: doQuestionnaire 'merge CarePlans'313Notify Task3 created314Present Questionnaire(merge CarePlan X & Y?)315CompleteQuestionnaireResponse316Update Task3: AddQuestionnaireResponse317Notify Task3 updated318Notify Task3 updated319evaluate Task3320merge approved321merge CarePlan X & Y322Notify merge CarePlan X & Y323deactivate CarePlan Y

Step 1-infinite: WIP