IFRCGo / go-api

MIT License
14 stars 6 forks source link

Local Units and Health Care Data Integration #2091

Closed davidmuchatiza closed 2 months ago

davidmuchatiza commented 5 months ago

Statement of the Problem The professional health services mapping team has been actively engaged in globally mapping health sites affiliated with National Societies. The project has successfully collected detailed data from 175 National Societies. Simultaneously, the IFRC GO team has been working on incorporating local units for National Societies onto the GO platform, providing a centralized platform for National Societies to manage local unit data. The health sites identified by the Health Mapping Initiative are considered part of the broader local units' dataset, falling under one of the five categories of local units. However, there exists a disparity in data structure, with the health sites' mapping delving deep into attributes associated with health facilities while local units have adopted minimum viable data standards. With the conclusion of the health mapping initiative project, there is consideration for utilizing the GO platform to host this data, enabling users to interact with it on the frontend, which aligns more closely with the goals of the local units project.

Solution to Merge the Two Projects To integrate these two datasets, the team is proposing the following steps to be undertake:

  1. Split the Health Care data structure into two separate tables: Table A adopting the local units' data structure, which focuses on basic attribute data, while Table B will contain the remaining attributes with health-specific details. These tables will be linked by a common field, data source ID.

  2. Redesign local unit schema to make a few attributes required and other optional. Additionally, add a Data Source ID field to the local units table as a primary key for future reference. Upload Table A contents to the local unit table.

  3. Based on feedback from National Societies (NS) and IFRC Geo Call members, there are some changes that need to be made to the local units schema. These changes are not directly related to the integration process but are significant nonetheless: Change field Level to Coverage; Change field Level Code to Coverage Code; Change field Level (Coverage) contents to as follows: Head Office to National, Provincial to SubNational, District to District/Regional, Ward to Local; to change field Public View to Visibility; And here are the contents of Visibility: Public, RCRC Movement, IFRC Secretariat & IFRC and NS. Also note that all these changes are documented here in the local units data dictionary and on this to do document for more clarity.

  4. Set up Table B data schema, ensuring it is properly linked to the local units table through the data source ID. This may involve significant work to establish the table's structure and relationships. Upload table B contents.

  5. Develop a health care units admin page that integrates contents from both the local units table and Table B, where data source IDs match. This page will facilitate centralized management and updates of health facility data on the backend.

  6. Implement suggested changes on wireframes to integrate the projects, including the addition of an extended map view. The map view will symbolize different health facility types using provided symbols, Ambulance Station, Hospital, PHC Centre, Training Facility, Others, Pharmacy, Blood Centre, Specialized Services and Residential Facility.

  7. Develop an Edit/Add page on the front end for local units or health facilities. While this may not be an immediate priority, it is essential for future versions to facilitate data maintenance tasks efficiently.

Development tasks (by DEVs)

szabozoltan69 commented 5 months ago

@davidmuchatiza @samshara @k9845 @tovari – Step 4 is ready: 876 rows data are loaded into table B on Staging: https://goadmin-stage.ifrc.org/en/admin/local_units/healthdata/ Table A and Table B are not yet connected, it should be done manually on Admin page.