Versions Compared

Key

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

Discussions in progress. Next steps:

  • Akros is working with VW and Tf to explore how CGR functionality for importing and managing location files works (mid-Feb). Once that is evaluated, we will share what it looks like and how it works, so we can decide if we use one of options 1a, 1b, 2 OR option 3 for phase 1.

  • In March we will start scoping both phases in detail.

fyi Matt Berg Nathan Mceachen Justin Lewis Craig Appl

...

Phase 1: Get a hierarchy defined in the CGR into Reveal. Cover this Jira story:

https://smartregister.atlassian.net/browse/RVL-410

Phase 1 Option (all would need to support client-based sync changes)

Pros

Cons

Est. LOE

  1. a. CGR as the master list. “Bare metal” instance of CGR

Akros would run one instance of CGR to minimize server costs.

Requires a one way sync to Reveal from CGR.

One server, one set of costs

Production environment for managing location data (see CGR vs OSM table)

UI for file prep

UI for management

Relatively easy “upload”/”download”

Open doors to other use of CGR

Less GIS experience needed

Additional platform to support, train on, maintain, host (server implications).

CGR current limitations - can only visualize one layer at a time, file types for imports are not unrestricted.

Manual fixes to hierarchy may take longer in CGR than if someone with GIS experience is doing in QGIS or ArcGIS.

~2 weeks of exploration, scoping, spec writing (Akros).

~1 week Tf time to customize export format for CGR to fit Reveal.

~1 week Ona time to support and do lite dev as needed

Server-set up and monthly support cost (one server - could be shared across implementations)

  1. b. CGR as the master list. “Bare metal” instance of CGR

As clients have requirements to host own CGR instance, could set up own server and solution.

Can do both 1a and 1b depending on client need.

Above, plus full country ownership of hierarchy.

Added cost to own servers.

Same as above but server-set up and monthly support cost, per implementation (could be offset if country self manages)

2. CGR as a master list. Cloud service

Above, plus benefits of cloud hosting (less downtime, security, streamlined support)

Policy restrictions on this option.

Same as 1.a.

3. Reveal as master list. UI to load, view, edit, manage locations

Streamlined platform for users.

Rebuilding towards what is already in CGR. May be more than what is really needed.

Significant development effort. We will not pursue this option.

4. Reveal as master list. Import/Export tool in OpenSRP

Streamlined platform for users.

Scripts for start of this already exist.

Bulk fix of errors is easier.

No UI for management.

Requires skillset to do upfront GIS work to get into correct format for Reveal.

Relies on OSM for ‘production’ environment

~3 weeks Ona time

  1. Options 1, 2, and 3

    1. GOALS

      1. Build process of preparing shapefiles into neat and nested geojson format, into CGR. Currently this is happening manually by Akros GIS team.

        1. Requires Akros and Tf teams to document the process that Akros is currently and build it into CGR

        2. Test would be that an output is the identical geojson that Akros sends to Ona/Pierre

      2. Build a Reveal output in CGR for hierarchy to be sent to Reveal.

        1. Spec for what a json going into Reveal will look like → This is in a Github issue → geojspec, georegistry spec, FHIR spec to build this spec (Tf to build spec, should have this budget already in new grant)

      3. Build a connector from CGR restAPI to Reveal Nifi to connect and transform CGR output and put in Reveal

        1. Deal with/change json properties as needed

        2. Other transformations

      4. Build connector, format, transformation, and hierarchy structure being compatible

        1. Mostly Akros + Terraframe: Documenting what Akros has had to do to prep files for Reveal. Identify the process and how to get into CGR.

      5. End goal/expectation: Client would be uploading their files into CGR and that would ‘port’ over to Reveal

        1. Input to CGR could be all the inputs that CGR supports

        2. *How to we expose the issues in hierarchy alignment (i.e. issues in transformation from CGR to Reveal) to user. This needs to be a part of phase 1 (error capture)

Phase 2: Operationalizing integration, dealing with change management and in-field edits. Cover these Jira stories:

  1. https://smartregister.atlassian.net/browse/RVL-294

  2. https://smartregister.atlassian.net/browse/RVL-149

  3. https://smartregister.atlassian.net/browse/RVL-122

  4. https://smartregister.atlassian.net/browse/RVL-237

...

  1. These are already both Java applications so we have these written to work together. Would this tighter coupling make life easier.

CGR vs OSM as production environment

Depending on the strategies chosen for each phase, there are two options for the ‘production’ environment for Reveal. This is the place where edits will be made on the Web side. Below we list the pros and cons to each.

Pros

Cons

OSM

Optimised for enumeration and boundary management

Widely available for crowd-sourced enumeration

Very mature tools for editing and creating polygons

Cloud hosted and free

Easy download of locations with Overpass

Open-source nature makes bulk editing difficult

Other actors are able to modify information

Not a good place to store any non-public data

CGR

Data is protected from external modification and use

Bulk updates possible

Storage of program specific objects possible (OSM community may not want Reveal specific layers added to OSM)

Change over time functionality

Change management functionality

Support available

Lack of layers in navigator

Not optimised for drawing boundaries

Untested for large country deployments with many k geoobjects and many users

Platform less mature

 

Workflow for Master List Updates

  • Master list - Reveal

    • Log in to master list application (CGR or OSM)

    • Make a change or add an object

    • This action get logged as a change request (this could be manual in the case of OSM, or automatic in CGR)

    • When the change request is approved, the change is synced to Reveal

    • Todo: ensure there are rules to prevent the destruction of any information in Reveal

  • Reveal – Master list

    • Drop a point in Reveal when a new structure is found

    • Upload this to the master list

    • Approve addition in master list

    • Sync the master list unique id for that location back down to Reveal

...

  1. We need to definitely capitalize on geowidget-CGR work already done, but what else?

    1. Use CGR locations for reporting.

    2. Use CGR locations for reporting on activities over time (time support is being implemented now).

    3. Master list curation

    4. Use CGR WMS/WMTS services for visualization or operations.

    5. Use CGR interface to build out the authoritative data.

  2. OTher Other possibilities?

    1. improve ability to support front end tools in the geowidget (like drawing new polygons, editing existing) through CGR storage and maintenance strategies and functions

    2. Data structure and storage - any opportunities here?

    3. User-team-plan-location linkages: would bringing the CGR and FHIR models together offer any opportunity for more flexibility?

...