With the iFIX v2.4-alpha update, some of the DIGIT core services also need to be deployed. The builds of the same are also listed below. These have been picked from DIGIT-v2.8.
IFIX Domain Services
Digit Exchange
This is new service for exchange data
Program Service
This is new service for implemented with iFix specs.
Adapters
ifms-adapter
Connects iFix to IFMS system.
iFix-mukta-adapter
Transform works plateform bills to disbursement
Core Services
egov-mdms-service
egov-mdms-service:v1.3.2-44558a0-3
egov-indexer
egov-indexer:v1.1.7-f52184e6ba-25
egov-idgen
egov-idgen:v1.2.3-72f8a8f87b-7
digit-exchange:develop-1b9d9a2-23
program-service:develop-92a135f-55
ifms-adapter:develop-bd05fc83-113
mukta-ifix-adapter:develop-4799181a-46
Transforming and leveraging fiscal service events
Public finance management, or PFM, is how governments manage public expenses and revenues. It is a crucial means of ensuring the effective allocation and utilisation of public resources. The objective of a robust PFM system is to enhance fiscal transparency, resulting in improved accountability and effective resource allocation. Such a system strengthens the government's ability to deliver essential public services and maintain economic stability, leading to long-term benefits in public welfare and economic growth outcomes.
iFIX or integrated Fiscal Exchange solution is designed to address the challenges facing public finance management. iFIX is a set of open-source specifications that establishes a standardised language for finance and line departments to interoperate. iFIX is a digital public infrastructure (DPI) that aims to facilitate seamless electronic information exchange for effective digital public financial management. The solution enables connected applications to exchange standardised fiscal events e.g. Demand, Receipts, Bills, and Payments. The fiscal event consists of attributes explaining the details of why, who, what, where and when it happened.
v2.4-alpha release details
IFIX 2.4 is a new release that offers new features and functions, the details of which are provided below.
DIGIT Exchange - This service offers the capability to exchange data while ensuring it is signed.
Program Service - This facilitates the creation of programs, sanctions, allocations, and disbursements.
MUKTA iFIX Adapter - This transforms data from Mukta payment to program disbursement.
IFMS Adapter - Integration to program disburse and on-disburse APIs.
NA
If Kafka malfunctions, data will be directed to the error queue, necessitating manual processing until an error queue handler is developed.
If the disbursement status is set to be SUCCESSFUL then it should not be changed to INITIATED again for the disbursement id.
As per IFMS guidelines, if a transaction fails, the amount is deducted and if a revised payment is not generated within 90 days, the amount should be deducted again.
Establishing alert mechanisms for critical errors, particularly in the context of billing, is required.
Performance testing and benchmarking of services.
DIGIT Exchange
This service offers the capability to exchange data while ensuring it is signed.
Program
This facilitates the creation of programs, sanctions, allocations, and disbursements.
MUKTA iFIX Adapter
This transforms data from Mukta payment to program disbursement.
IFMS Adapter
Integration to program disburse and on-disburse APIs.
Here are the test cases for Program Service, Digit Exchange, Mukta-ifix-adapter.
After installation of all required services, port-forward the program service and create programs for each ULB. A sample curl is added below.
curl --location 'http://localhost:8082/program-service/v1/program/_create' \
--header 'Content-Type: application/json' \
--data-raw '{
"signature": null,
"header": {
"message_id": "123",
"message_ts": "1708428280",
"message_type": "program",
"action": "create",
"sender_id": "program@https://unified-dev.digit.org",
"receiver_id": "program@https://unified-qa.digit.org"
},
"message": {
"location_code": "pg.citya",
"name": "ifix",
"description": "Empowering local communities through sustainable development projects.",
"start_date": 1672531200,
"end_date": 1704067200,
"children":null,
"status": {
"status_code": "INITIATED",
"status_message": "ACTIVE"
},
"additional_details": {},
"function_code": "in.pg.OGES",
"administration_code": "in.pg.ac.HUDD.UID",
"recipient_segment_code": "in.pg.rsc",
"economic_segment_code": "in.pg.CE.IA.OC",
"source_of_fund_code": "in.pg.CSS",
"target_segment_code": null,
"currency_code": "INR",
"locale_code": "in.pg.citya"
}
}'
Configure all program codes that you created for each ULB to the MDMS.
IFMS adapter data migration for mukta-adapter ad program service
Use this specific branch for iFix migration.
Update environment variables according to the environment.
Build the Python migration script and deploy it in the environment.
Port forward the service and call the API to start the migration.
SSU Details
MDMS Service
Head Of Accounts
MDMS Service
ID Gen
Program Service
Exchange
Program Service
Exchange indexer
Digit Exchange
Exchange devops
Digit Exchange
ifms-pi-indexer
Mukta-ifix-Adapter
mukta-ifix-adapter-persister
Mukta-ifix-Adapter
Charts
Program Service
Environment
Program Service
Secrets
Program Service
Adapter Helm
Mukta-ifix-Adapter
Adapter Environment
Mukta-ifix-Adapter
Adapter Encryption
Mukta-ifix-Adapter