Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Current »

This document defines the scope for the Mass Drug Administration feature set that is being initially deployed in the Zambia implementation. These workflows can be more broadly used across multiple country implementations.

High Level Summary

This section presents a high level summary of the workflows and features that need to be developed with links to assets for development.

Context

  • Mass Drug Administration is abbreviated MDA and includes the process of administering two rounds of pills to every person in an operational area. MDA focuses on reducing the number of people who have dormant malaria virus so that the operational area has a lower incidence in the future.

  • Round 1: Healthcare workers go door-to-door, register each family and family member. Once registered, they watch the person take the first dose and instruct them to take other doses (MDA Dispense). A few days later, the healthcare worker visits each house again and asks if everyone in the house took all of the medicine (adherence).

  • Round 2: The healthcare workers return to the operational area 30 days later to do the same thing they did in round 1. This round requires less work because the majority of people area already registered. They go door-to-door and verify that everyone in the household was registered. If they weren’t registered, they register them. They distribute another round of pills, watch each family member take them and instruct them to take the other doses (MDA Dispense). A few days later, the healthcare worker does an adherence follow-up.

Workflows

The workflows generally follow the existing process for Blood screening as if we were to extract and only perform household registration and blood screening within a focus investigation. We anticipate the following workflows to be supported in the system.

Minimum Viable Product

This section defines the high level workflow that will be targeted for the MVP. We will deliver MDA Round 1 for the MVP and develop MDA Round 2 in the subsequent month.

  • Akros provides a plan template for MDA (spreadsheet)

    • Activities:

      • Register Families

      • MDA Round 1

  • Ona develops the plan and POSTs it to the OpenSRP server

  • The plan generates tasks

    • Register Families on all enumerated structures (current behaviour)

    • (We don’t need to generate tasks on family members because no family members are registered)

  • Akros configures users in the Web UI to assign users to the operational area

  • Ona uploads the dynamic list of users to populate the form drop-downs

  • The user logs in to the Android client (current behaviour)

    • The user sees the list of all enumerated structures in yellow (current behaviour)

    • They can add points as is normal (current behaviour)

    • The user taps a structure and registers family (current behaviour)

    • The user enters the family module and sees the list of tasks (current behaviour)

      • There are 2 tasks assigned to the head of household for this structure. One task is labeled MDA Round 1 Dispense and the second is labeled MDA Round 1 Adherence.

    • The user can add family members (current behaviour)

      • There are 2 tasks assigned to each family member. One task is labeled MDA Round 1 Dispense and the second is labeled MDA Round 1 Adherence.

    • The user taps the button on the right labeled MDA Round 1 Dispense

      • Note, we will not have business logic that restricts a user from completing the MDA Round 1 Adherence form before the MDA Round 1 Dispense form.

    • The user completes the form.

    • The button on the right changes to Complete (current behaviour)

    • The user completes all MDA Round 1 Dispense tasks for all family members.

    • The user navigates back to the map view (current behaviour)

    • The structure is color coded as defined in the color coding business logic spreadsheet

    • The user can tap the list view to view a list of tasks (current behaviour)

    • Tasks are grouped by household (current behaviour)

    • The user syncs the tablet

  • The supervisor logs into the Web UI to view reports (current behaviour)

    • The supervisor navigates to the Focus Investigation Reporting Page (current behaviour)

    • The supervisor sees the plan and clicks on it. (current behaviour)

    • The supervisor drills down to the selected operational area

    • The supervisor clicks the operational area and views the map view with the two activities

Software to be Developed

We need to develop the following items at a high level:

Android MVP

  • We need to create the following forms:

  • We need to add an activity to the Focus Investigation Plan

    • This activity is executed on the person level, just like the Blood Screening

  • Improve how tasks are generated in the Android client based on form save events:

    • We need the ability to generate tasks in the android client as follows

      • Generate a MDA Dispense task when a Register Family or Add Family Member form is created for all people registered

      • Generate the adherence task once a MDA Dispense form is created based on form business logic.

    • We need to remove the hard coded bednet distribution task in the Android client when a family is registered

    • We need to remove the hard coded blood screening task in the Android client when a family member is registered.

  • We need to display these tasks in the list view and enter directly into the form if tapped from the list view

Android To Do After MVP

  • Ineligible Structure Marking (currently in the Register Family Form)

  • Add support for MDA Round 2 (to be scoped)

  • Sorting, filtering and searching task list view (to be scoped)

  • (not explicitly in scope) View form submission of MDA Dispense and Adherence tasks (current FI behaviour in Thailand that may be necessary form MDA)

  • General Improvements:

    • assign the correct plan activity when in a task when it’s generated (Currently, client side generated tasks have hardcoded “focus” that targets the activity type “IRS” instead of the UUID of the activity.)

    • make task generation dynamic in the client side based on the activities that are listed in the plan so we don’t have to hard code this activity as MDA

OpenSRP Server, ETL and Web UI MVP

The following needs to be developed for the MVP on the OpenSRP web solution.

  • Web UI

    • We need to ensure the ability to assign users to the FI/MDA plan is functioning on in the web UI

    • We need to develop drilldown coverage dashboards

    • We need to develop a map view that replicates the business logic in the map view that is defined in the Android client

      • Color coding based on adherence

  • Nifi

    • We need to update the Nifi process for generating tasks based on the new MDA plan activities

    • We need to develop an ETL process from the OpenSRP server to the data warehouse

  • OpenSRP Server

    • No changes needed

OpenSRP Server, ETL and Web UI To Do After MVP

  • Web UI

    • We need to update the plan activities to include an MDA task.

    • We need to display information about the activities at the structure level based on the information

    • Add support for kicking off MDA round 2

  • Nifi

    • We need to improve the ETL to support ineligible structures

    • Add support for MDA Round 2

MVP Detailed Software Specification

This section defines the detailed software assets that need to be developed for the Minimum Viable Product

New Plan Definition Sample

Below is a sample plan definition that was modified from a focus investigation plan. This plan includes two activities, register families and MDA Round 1 activity. Note that we removed the useContext code fiStatus.

{
  "identifier": "8268298d-1563-43dd-8a4f-2e3b38aca6eb",
  "version": "1",
  "name": "Macepa-MDA-Campaign-2019-10-04",
  "title": "Macepa MDA Campaign",
  "status": "active",
  "date": "2019-10-04",
  "effectivePeriod": {
    "start": "2019-10-04",
    "end": "2019-10-24"
  },
  "useContext": [
    {
      "code": "interventionType",
      "valueCodableConcept": "FI"
    },
    {
      "code": "fiReason",
      "valueCodableConcept": "Routine"
    },
    {
      "code": "taskGenerationStatus",
      "valueCodableConcept": "True"
    }
  ],
  "jurisdiction": [
    {
      "code": "59ad4fa0-1945-4b50-a6e3-a056a7cdceb2"
    },
    {
      "code": "846b96db-ae4c-433f-b916-70870cb27628"
    }
  ],
  "serverVersion": 1570172006448,
  "goal": [
    {
      "id": "RACD_register_all_families",
      "description": "Register all families and family members in all residential structures enumerated or added (100%) within operational area",
      "priority": "medium-priority",
      "target": [
        {
          "measure": "Percent of residential structures with full family registration",
          "detail": {
            "detailQuantity": {
              "value": 100,
              "comparator": ">=",
              "unit": "Percent"
            }
          },
          "due": "2019-10-24"
        }
      ]
    },
    {
      "id": "MDA_Dispense",
      "description": "Visit all residential structures (100%) dispense prophylaxis to each registered person",
      "priority": "medium-priority",
      "target": [
        {
          "measure": "Percent of Registered person(s)",
          "detail": {
            "detailQuantity": {
              "value": 20,
              "comparator": ">=",
              "unit": "percent"
            }
          },
          "due": "2019-10-24"
        }
      ]
    },
    {
      "id": "MDA_Adherence",
      "description": "Visit all residential structures (100%) and confirm adherence of each registered person",
      "priority": "medium-priority",
      "target": [
        {
          "measure": "Percent of dispense recipients",
          "detail": {
            "detailQuantity": {
              "value": 20,
              "comparator": ">=",
              "unit": "percent"
            }
          },
          "due": "2019-10-24"
        }
      ]
    }
  ],
  "action": [
    {
      "identifier": "a58c5b78-d113-47c0-b21d-c7c23474d9c4",
      "prefix": 1,
      "title": "Family Registration",
      "description": "Register all families & family members in all residential structures enumerated (100%) within the operational area",
      "code": "RACD Register Family",
      "timingPeriod": {
        "start": "2019-10-04",
        "end": "2019-10-24"
      },
      "reason": "Investigation",
      "goalId": "RACD_register_all_families",
      "subjectCodableConcept": {
        "text": "Residential_Structure"
      },
      "taskTemplate": "RACD_register_families"
    },
    {
      "identifier": "c64bde8e-bb3d-4827-b5f8-8f619ab4aa8e",
      "prefix": 2,
      "title": "MDA Round 1 Dispense",
      "description": "Visit all residential structures (100%) and dispense prophylaxis to each registered person",
      "code": "MDA Dispense",
      "timingPeriod": {
        "start": "2019-10-04",
        "end": "2019-10-24"
      },
      "reason": "Routine",
      "goalId": "MDA_Dispense",
      "subjectCodableConcept": {
        "text": "Person"
      },
      "taskTemplate": "MDA_Dispense"
    },
    {
      "identifier": "c89b2656-34c5-4220-8f1b-5a8c1c1d9a21",
      "prefix": 3,
      "title": "MDA Round 1 Adherence",
      "description": "Visit all residential structures (100%) and confirm adherence of each registered person",
      "code": "MDA Adherence",
      "timingPeriod": {
        "start": "2019-10-04",
        "end": "2019-10-24"
      },
      "reason": "Routine",
      "goalId": "MDA_Dispense",
      "subjectCodableConcept": {
        "text": "Person"
      },
      "taskTemplate": "MDA_Adherence"
    }
  ]
}

New Intervention Type to be Added

We need to develop two new intervention types in the Android client called “MDA Dispense” and “MDA Adherence. These intervention types will be used to categorize MDA tasks and post form save actions.

New MDA Task Template Sample

This section includes a task template sample for Mass Drug Administration.

Key

Description

${planIdentifier}

The id of the plan that’s selected in the drop-down of the hamburger menu

${location.properties.parentId}

The id of the operational area that’s selected in the drop down of the hamburger menu

${planActionCode}

This should be “MDA Dispense” or “MDA Adherence”

${planActionDescription}

This is the description of the action from the action in the plan that was selected in the hamburger menu of the drop-down. It could also be hard coded for the MVP

${planActionIdentifier}

This is the identifier from the plan action. It could also be hard coded to MDA as it currently is for IRS in the android client.

${personBaseEntityId}

This is the base entity id from the person that is the subject of this task.

${planActionTimingPeriodStart}

This is the start timing period and can be hard coded to now()

${planActionTimingPeriodEnd}

This is the end time period and can be hard coded to now() + 7 days

${taskOwner}

This is the username of the user who generated the task

{
  "identifier": "${UUID()}",
  "planIdentifier": "${planIdentifier}",
  "groupIdentifier": "${location.properties.parentId}",
  "status": "Ready",
  "businessStatus": "Not Visited",
  "priority": 3,
  "code": "${planActionCode}",
  "description": "${planActionDescription}",
  "focus": "${planActionIdentifier}",
  "for": "${personBaseEntityId}",
  "executionStartDate": "${planActionTimingPeriodStart}",
  "executionEndDate": "${planActionTimingPeriodEnd}",
  "owner": "${taskOwner}",
  "note": null
}

New Post Form Save Action Logic

We need to update the post form save actions for the MVP to deliver MDA tasks as follows:

  • Zambia Register Family

    • After save we need to develop two tasks following the template:

      • Task 1

        • “code”: “MDA Dispense”

        • “description”: {Needs to be updated}

      • Task 2

        • “code”:”MDA Adherence”

        • “description”: {Needs to be updated}

  • Zambia Add Family Member

    • After save we need to develop two tasks following the template:

      • Task 1

        • “code”: “MDA Dispense”

        • “description”: {Needs to be updated}

      • Task 2

        • “code”:”MDA Adherence”

        • “description”: {Needs to be updated}

  • No labels