Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

  • Components
    • Question name: CSV roster
    • Upload button
    • Download template button
    • Help text - reads "You may upload a CSV with the roster of the children in the school. You must include all required fields in the template."
    • View current roster
  • Workflow first roster upload
    • Click Download template (template will be laid out per CSV requirements, below) –> CSV file downloads to desktop
    • Complete template and save  
    • Select Upload, select CSV file
    • Validation checks of CSV
      • Required fields
      • Check communities schools against OAs in RevealReveal 
      • Check that fields with dropdown select type, boolean type, numeric type and Yes/No type have valid entries
      • Other? <What other validation checks are necessary?>
      • Error message if failed:
        • "Upload failed. Check your CSV to make sure all required fields are filled in".
        • "Upload failed. Check field (field name) in your CSV to make sure it is a valid entry type
        • <Other error messages depending on validation checks>
      • Message if successful: "x out of y individuals were successfully uploaded"
    • View/download current roster hyperlink
      • This appears as a hyperlink "View current roster <file name"
      • Can click on this and see the assigned ids of students, student list with attributes
      • There should be a way to download this information as a CSV that looks identical to what was uploaded
        • Must include the Reveal operational area id and student identifiers (name all fields from the Registration dictionary)
  • Workflow to replace roster
    • Select Upload, select CSV file
    • Confirmation message: "This upload will replace the current roster. You will not be able to recover the previous roster. Are you sure you want to proceed?"   MB: This is a bit more complex in that we have to delete all the registered children and the tasks associated with them.  
  • Restrictions
    • Once a plan status is not in 'draft' the roster may not be uploaded/replaced
    • Cannot edit individuals rows or parts of the roster on web, must edit CSV and replace if changes needed, or can edit on client later 

...

  • Region (maps to admin unit and will match Reveal)
  • Inkhundla (maps to admin unit and will match Reveal)
  • School (maps to operational area and will match Reveal)
  • National ID (integer)
  • Does not have National id (boolean)
  • Reveal ID (integer) MB: Is this an ID that will be provided or one the system needs to generate?
  • Name of child (string)
  • Child's allocated sex at birth ('Male', 'Female')
  • Child's date of birth (date YYYY-MM-DD)
  • Date of birth estimate (boolean)
  • Age category (6-10, 11-15, 16-18, 'Adult')
  • Currently enrolled at school ('Yes, 'No'
  • Name of school attending, if from another school (string)
  • School grade/form (where form 1 is grade 8) ('Form 1', 'Form 2', 'Form 3', 'Form 4', 'Form 5', 'Grade 1', 'Grade 2', 'Grade 3', 'Grade 4', 'Grade 5', 'Grade 6')
  • Class number (string)

...

Some schools may not send their roster to the central administrator for a load ahead of the activity. We would like to support a roster load on the client through some Android plug. We suggest this is not MVP for a pilot as we expect all schools in the pilot to send their rosters ahead of time. Any changes that need to be made to the roster at the point of interaction, can be done through Workflow 3.

...

MB: Out of scope.  Need better clarity of what an android plugin is. It's pretty rare to use android to do file management / data loading etc.   Might be better if they have a way to email a special email address a CSV file to load the data in the system.  Validation becomes complex here though.  It would be helpful to think this through better and try and clarify scope.


Workflow 3 - Register child (client) 
Jira Legacy
serverSystem JIRA
serverId3420e60a-4e6f-3f80-8335-059c22bb40aa
keyRVL-472

...

  • Access the list view (current list view) MB: Is this linked to a specific school or operational area? Please clarify.
  • Have button somewhere for 'Reg child'
  • Selecting that button takes you to the Register child form (See Data collection data dictionary)
  • Completing the registration takes you to the child-specific view. Task should have generated and be visible on task view for child.
  • Back button from there takes you back to list view.
  • Child will be marked as coming from the community according to the registration attribute 'Currently enrolled at school' == 'No''No' .  MB: Does this just meant they weren't on the imported list?  I see limited value in this designation.

<How do we want to treat community children? Can we add "From community" as their classroom attribute? Otherwise we have to make that attribute non-required.>

...

We may need to make edits to a child if:

...

to a child if:

  1. Registration info is incorrect
  2. Child has moved classrooms . MB: Editing classrooms.  Will classroom list be free text or some kind of pulldown.  Will the classrooms be predined or given some name.  if a unique name, then pulldowns will be harder to do.
  3. Other reason

Suggested Workflow <though this may already have a UI in the immunization OpenSRP workflow>

...

When drug distribution occurs, teachers will distribute drugs to and collect data against each child. Drug distribution may happen by classroom or not. This will be a drug distribution task. See Data collection data dictionary

MB: do kids get a single dose one time or is there follow-up.  Eg. Will they come back to the school at a later date for another round.

Task generation must happen in two places:

...

  • We need to define what are the key values we need to build in tables in Superset
  • Disaggregation would be by any other items from data dictionary mentioned like gender, classroom, precise age, dose given, drugs taken etc.

On app indicators to be defined. See Data collection data dictionary

Mock-Ups


Views/UI

The below are new components we believe to be needed for the UI. 

Jira Legacy
serverSystem JIRA
serverId3420e60a-4e6f-3f80-8335-059c22bb40aa
keyRVL-502

MB: for android right?

Child registration - there needs to be a place in the client where we can add a new child. I would guess this is from the chid list view and is an icon somewhere on that screen.

...