Registration & Delivery Package

This package provides a way to register a household and individual members and deliver the resources to the registered households.

To learn more about Registration and Delivery, click here. Link to the pub package:

Role

  • DISTRIBUTOR

Features

  • Register new households and individuals.

  • Search existing households and individuals.

  • Update details for existing households and individuals.

  • Record service delivery of healthcare interventions to households and individuals for a single round campaign.

  • Auto-calculation of resources to be delivered to a household or individuals based on the configured rule.

Getting Started

To use this package, add the following dependency to your pubspec.yaml file:

dependencies:
  registration_delivery: ^latest
  digit_scanner: ^latest

Integrating with the HCM Application:

  1. To integrate this package with the HCM Application, run the main function located in health-campaign-field-worker-app/tools/registration_delivery_imports.dart.

    • This will automatically add the necessary imports, mapper initializers, route config, setting initial data, and repository initialization to the required files.

  2. Make sure you are on the path apps/health_campaign_field_worker_app and run the command:

dart run build_runner build --delete-conflicting-outputs

This adds a package route to the main router.gr.dart

  1. Install the application and you should have Registration and Delivery integrated into your base app.

By following these steps, you can successfully integrate and use the registration and delivery module within your application.

The below step is required as per your use case

During boundary selection, if you need to downsync registration-delivery-related data, include the below code in the project_beneficiaries_downsync file:

final LocalRepository<HouseholdModel, HouseholdSearchModel>
  householdLocalRepository;
final LocalRepository<HouseholdMemberModel, HouseholdMemberSearchModel>
  householdMemberLocalRepository;
final LocalRepository<ProjectBeneficiaryModel, ProjectBeneficiarySearchModel>
  projectBeneficiaryLocalRepository;
final LocalRepository<TaskModel, TaskSearchModel> taskLocalRepository;
final LocalRepository<SideEffectModel, SideEffectSearchModel>
  sideEffectLocalRepository;
final LocalRepository<ReferralModel, ReferralSearchModel>
  referralLocalRepository;

Next, find this method in the same file networkManager.writeToEntityDb and the below repositories:

householdLocalRepository,
householdMemberLocalRepository,
projectBeneficiaryLocalRepository,
taskLocalRepository,
sideEffectLocalRepository,
referralLocalRepository,

With the above changes, you will enable the down sync of registration and delivery data.

Registries -Update

When the user down sync's the data by passing project id and boundary code. Server will send responses which are created under that selected boundary.

Response Entities

  • Household

  • Individual

  • House Member

Now what ?

Case 1: Need to update the Entities related to project specific data.

Case 2: Create Project specific data - (Beneficiary - Mandatory. Task and other relative entities)

Introducing Filters

  • Registered

  • Un registered

  • Closed

  • Proximity enabled

  • Search by name

To get the search response we create a query build which is as shown below. It's an example for an individual based project.

Sequence diagram :

Fields Incorporated in Registration Flow.

  1. GPS accuracy - Household Location screen

  2. No. of Pregnant Women and No. of Childs- Member screen - Both these field values persist in Additional fields Object of HH Member entity

  3. Added a new screen to capture the structure of household structure

The structure data will be fetched from MDMS and rendered in card format and the selected value will be stored in Additional Details Object in Household Entity.

Closed House Data Capture.

It’s been built as a new module (pub package)- closed_household and It will be a dependency of registration and delivery package.

Unsuccessful delivery

For HH based flow we have introduced a flow to capture the reason for unsuccessful delivery

Sequence diagram

Last updated

https://creativecommons.org/licenses/by/4.0/