Giter Club home page Giter Club logo

coconut-mobile-plugin-zanzibar's Introduction

coconut-mobile-plugin-zanzibar

Plugins added to Coconut Mobile for project specific features

Coconut Mobile provides the core features for a Coconut based project. Additional features required by a project are added by a plugin. Find the README file in the _attachments directory for deployment instructions.

What this plugin provides

  • GeoHierarchy - code for using and manipulating the geographic hierarchy of Zanzibar (Zones have districts, districts have shehias..., etc)
  • FacilityHierarchy - management of the facility list
  • Case - used to combine multiple results together into a single case (Notification + Facility Record + Household data = Case)

Coconut Mobile Plugin Architecture Described

Coconut plugins are couchdb design documents that get packaged into a single js file (perhaps a single css file as well) and then pushed into the couchdb database for that project. For instance the cloud instance for the project "atlantis-ebola" might be found at http://cococloud.co/atlantis-ebola. The plugin should then exist at http://cococloud.co/atlantis-ebola/_design/coconut-mobile-plugin-atlantis-ebola. Then during installation or updating of the project "atlantis-ebola" on http://mobile.cococloud.co, the plugin file(s) will be replicated and eval'd during application initiation.

coconut-mobile-plugin-zanzibar's People

Contributors

mikeymckay avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

coconut-mobile-plugin-zanzibar's Issues

Difference in name fields between Case Notification and Facility

The Case Notification question set contains Name.
image

The Facility question set contains First Name, Middle Name, and Last Name. The value of Name is not copied over from the Case Notification into any of these three fields when a Facility record is generated.

image

Why Name in the Case Notification, and First Name, Middle Name, Last Name in the Facility record? Because all we get from MEEDS is Name? And we don't know whether that is the full, first, middle, or last name of the patient?

Default sorting of records on home display

The default sort order of records on the home display appears to be by the Date field, with the most recent record at the top. I believe this is correct, but I noticed two issues that looked strange to me.

I completed 3 new case notifications. The app created the matching incomplete Facility question sets.

Expected: Each new incomplete Facility question set will be listed immediately above its matching Case Notification, since they were created in that order.

Actual: The 3 new incomplete Facility records are listed first, followed by the 3 new completed Case Notifications.

I note that some question sets have date/time stamps, while others appear to have dates only. Why don't they all have date/time stamps?

image

Reduce UI scrolling on smaller displays

We could remove some text to reduce the need to scroll vertically on smaller displays. Increasing the font size on the COMPLETE and INCOMPLETE tabs may make them move obvious to users and larger touch targets.

image

Make it possible to transfer a case from any question set view

We provide a way to transfer a case from the Home display. Why can't we make it possible for a user to transfer a case from any question set view? For example, when a user is viewing a household question set, why can't the user transfer the entire case from that view? This would make sense from each of the following question set views:

Case Notification
Facility
Household
Household Member

Household: Selecting any response to question causes app to return to Household summary display.

  1. Create or open a new Household question set.
  2. Complete the question set.
  3. From the Household summary display, open the same question set.
  4. Scroll down to "Index case: Overnight Travel outside Zanzibar within past year"
  5. Select any option [Yes | No | Unknown | Not applicable]

Expected: If Yes, app will ask user to provide location information. Otherwise, app will not ask for location information.

Actual: App returns to Household summary display.

image

Radio buttons on question sets do not retain values

  1. Open a question set (e.g. Household Member)
  2. Set one or more radio buttons.
  3. Complete the form or go back to the summary display.
  4. Select the same question set.

Expected Result: Radio buttons retain the previous settings.

Observed Result: Radio buttons that were set before now have no settings (are not set).

screen shot 2018-01-30 at 3 25 33 pm

Generating incomplete Household Member question set

As a mobile user, I complete a Household question set.
This is an Index Case Household.
The Number of residents in household = 3.
The app creates 2 incomplete matching Household Member question sets. I assume this is because 1 member of the household is the index case.

I complete another Household question set.
This is a household is part of a Mass Screen.
The Number of residents in household = 3.
The app creates 2 incomplete matching Household Member question sets.

I complete a Household question set.
This is a household is one of the Index Case Neighbors.
The Number of residents in household = 3.
The app creates 2 incomplete matching Household Member question sets.

This is inconsistent and confusing. How many incomplete matching Household Member question sets should be generated in each of the three cases above?

I also saw three other problems in testing this:

  • The "Reason for visiting the household" is not being saved in the Household question set.
  • Sometimes no matching incomplete Household Member question sets are generated, even when there are 2 or more members in the household when the Household record is completed.
  • As a mobile user, if I open a completed Household record and increase the number of residents in the household, the app doesn't generate additional matching incomplete Household Member records. It also does not prevent me from reducing the number of residents in the household below the previous number. This will certainly result in inconsistencies in the data, but would they be significant? It's easy for a user to add a Household Member record with the same case ID, and to delete a matching incomplete record. Also, a matching incomplete Household Member record should not be included in analysis anyway. Should we simply document this as a known issue?

Household : Locations questions repeated 5 times

On the Household question set, after this question:

Index case: Overnight Travel outside Zanzibar in the past year?

The app displays "All locations..." 5 times. See example below. Is this by design?

image

Data tables error when working offline

Working offline on ASUS ZenTab 8.0.

  1. Completed new Notification x 3
  2. Completed Facility x 1
  3. Completed Household x 1 with 3 residents
  4. Completed new Notification
  5. Number of incomplete facility records was not incremented, and I received the following error message.

screenshot_20170608-131127

Issues for new questions

1. We have agreeded that, since we cannot confirm the if a patient was given treatment at HF but we can confirm how the drugs were prescribed (in the MCR/HMIS register) . Then the question of treatment given at the HF form should be changed to ”treatment prescribed” but should be “treatment given at Hiusehold” reason being DMSO can confirm is given at household level

  1. Lost to follow-up I think this question should be positive. What if we have it like “investigation status” options should be “investigated or Lost to follow-up”

Then, The question of reason of lost follow-up should have a skip if a case was selected as investigated

3. There is an error msg for household questionnaire on IRS in households part. If you pretest your will see it coming everytime

  1. The question which asking if household has been investigated for seven previous days? If you choose yes, we don't need to answer the following question (related to LLINs and IRS, (need to skip). To the questions asking abt malaria in past 30 days/month

5. In households members, we need to skip the following questions if we didn't manage to observe number of sleeping spaces in the households

6. We need to change the option in the LLINs observations: we need to have Yes all, Yes some and No

7. We are missing the question of coupons in the households, I think we had a questionthat DMSO to provided nouticr for Coupon for alalIN collection

8. We need the escape option after selecting unknown in the question asked if a visitor spent a night in the index case

8. We are missing the question of primaquine in the households level like what we had for HFs

9. The question of where the patient got an antimalarial, the DMSOs can select more then one option, (a situation like a patient vomited a tab and was also guven extra by DMSO at household level) therefore we need to have another option of both (HF and DMSO) but if this is selected then we need reason as text response
. This is becouse the patient can receive dose twice(in facility and DMSOs). We need also to add question why DMSOs distributed dose to the patient while the same patient was treated already

Household: Triggering focal area screen and treat, or mass drug administration

  1. On login, the app loads shehias_high_risk and shehias_received_irs.
    image

This made sense for Zanzibar, since transmission risk was updated only perhaps once a year. We should consider including transmission risk into the synchronization, so we can support external transmission risk models that update more frequently. These could be connected via an API that we would expose, or we would connect to the risk model's API.

  1. In the Household question set, there is the question:

Followup Neighbors? Yes No

image

If risk stratification is available, why doesn't the app tell the user whether to "followup neighbors", based on a protocol rule? This is a decision support tool. Doesn't it do this already?

For example:

"The risk of malaria transmission in this area is high. Please test residents in all households within 50 steps of this household."

Where:

"test" = is "test" (screen and treat) or "treat" (mass drug administration)
high = A risk transmission threshold number
"50 steps" = A text value

All three of the above could be set in Admin > System Settings in the Analytics app

Screen skips on tablet

There is a problem on DMSOs’ tablets and the issue is that whenever they try to add a new case or household record the screen skips to the “case on the device” screen which make it difficult for DMSO to add new cases. I hope this is clear if not please let me know so that I use “Join.me” app to clarify the the problem.
Humphrey

Repeating cases

Cases that have previously been accepted keep being offered.

Remove other index case when at same household

Hello Mike, how are you, Sorry, today, I got another reminder from DMSOs that, for a house having two index cases, even if the other is selected as additional index case is till remaining and requesting for household investigation. I remembered we instructed them to mark as lost to follow-up but are still claiming but also I think it will mean something else. May show as if many case are lost to follow-up while is not a case. I think we need to think of a way to deactivate such a case from demanding HH investigation. One way is, on the system, to check if a case is marked as additional index case, matching an ID as given/reported by DMSO should automatically deactivated (not to acquire household data/investigation anymore) upon sending/getting/syncing data. I don't know how easy that would be but lets explore

Invalid facilities

From: "Mkali , Humphrey" [email protected]
Date: Wednesday, June 6, 2018 at 6:26 AM
To: "Loo, Stephen" [email protected], Mike McKay [email protected]
Cc: Mohamed Ali [email protected], Abdul-wahiyd Al-mafazy [email protected], "Gordon M. Cressman" [email protected]
Subject: RE: Invalid facilities

Dear all,
The following HFs are declared invalid in the coconut app (Tablet) despite the fact that they appear in the list of facilities found in the website namely;

  1. Kidimni, Koani, Gana, Modern dispensary and KMKM Kibweni. Also in the coconut app (Tablet) there is a HF called “M and J dispensary” the CORRECT NAME should be “J and M dispensary”
  2. There are two new shehias a)Kijibwe mtu in Central district b) Mtakuja in North A district
    Could you please work on these?
    Humphrey

Need to update question sets to not use id numbers any more

Specifying unique ID numbers for each question was bug prone. Unfortunately these were also used for validation and skip logic. I have removed the ID numbers in coconut-mobile, so we need to upgrade the plugin questions to match. Until then, it's probably all broken.

Household Member: Travel questions?

In the Household question set, we ask for travel information about the index case. Why doesn't the Household Member question set also ask for travel information?

democs, synch, prompts to accept many new records

  1. Installed democs on cococloud.co
  2. Clicked on sync icon to sync data.
  3. Received many, many prompts to accept transfer of a new case. These cases were not transferred. Why does the app think they have been transferred?
  4. Acceptance dialog not in correct MD style. This should be styled correctly in MD.
  5. Some records that I accepted were dated in the future. Why? This must have something to do with the demo data.
  6. After accepting the new records, I had 121 new case notifications. The "home" summary display reported a total of 100 cases on the device. Why are these two numbers different?

screen shot 2018-01-30 at 3 19 52 pm

Users don't like having single sync button

There is currently a bug where cases that have been previously downloaded keep getting offered to the user as a new case. Hence, everytime they do a sync, it tries to get a bunch of old cases, and the user has to cancel through many screens. They just want to be able to send their data.

Obviously, we need to fix the bug (#33) that is making this painful. But then consider allowing a send only feature - this will conserve bandwidth as well.

Missing Data Cleaning UI

We used to have the ability for admin users to edit case data, delete duplicates, etc. That interface seems to be missing and we need to get it back.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.