onaio / fhir-web

A web based interface for administering FHIR based digital health solutions
https://ona.io/home/introducing-quest-fhir-native-case-management/
Other
18 stars 20 forks source link

[New Feature Request]: Bulk import/export tool for user accounts, location hierarchies, and team/location assignments #1144

Open joyce-x-chen opened 1 year ago

joyce-x-chen commented 1 year ago

Feature Use Case

Users of OpenSRP/FHIR Web (e.g. program administrators, project managers, and/or technical partners) need to do the following at scale:

The current solution of creating the location hierarchy, user accounts, and teams manually, and making assignments manually for each user, is not feasible at scale.

Acceptance criteria

There is demand for a tool that allows bulk import of location hierarchies, user accounts, team names, and corresponding assignments using a simple format (e.g. CSV) that does not require programming skills. The tool would ideally also validate the data and generate an error message for missing, invalid, or inconsistent assignments. Potential outputs include:

Project Contact

All digital health PMs

Relevant Information

This has been requested by many internal and external stakeholders for a number of digital health projects. The current method of creating user accounts and location hierarchies manually, and making those assignments manually, is time-consuming and error prone. A substantial amount of time in the post-deployment phase is spent troubleshooting and supporting partners with user account, location hierarchy, and assignment errors.

Wambere commented 1 year ago

More details: https://docs.google.com/document/d/10prv9DrMBy7ydNmWJxtPBm5c_qBFO6BFLGjwqVIOIq8/edit

Tasks:

peterMuriuki commented 1 year ago

User creation request and payload currently done by the web

Keycloak User

use:

endpoint: POST https://keycloak-stage.smartregister.org/auth/admin/realms/<realm>/users

payload:

ref:

Keycloak Group

prerequisite:

use:

endpoint: PUT https://keycloak-stage.smartregister.org/auth/admin/realms/<realm>/users/<user-id>/groups/<group-id>

payload: ref:

Practitioner Resource

prerequisite:

use:

endpoint: PUT: https://fhir.labs.smartregister.org/fhir/Practitioner/<guid>

payload:

ref:

PractiitonerRole Resource

prerequisite:

use:

endpoint: PUT: https://fhir.labs.smartregister.org/fhir/PractitionerRole/<guid>

payload:

ref:

Fhir Group Resource

prerequisite:

use:

endpoint: PUT: https://fhir.labs.smartregister.org/fhir/Group/<guid>

payload:

ref:

Wambere commented 1 year ago

Initial PR with MVP https://github.com/onaio/fhircore-tooling/pull/3

Wambere commented 1 year ago

Hey @dubdabasoduba, couple of questions for you here

dubdabasoduba commented 1 year ago

@Wambere