Versions Compared

Key

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

...

The following sections will specify the changes and enhancements brought by this project to the two components from each WP.

1 openIMIS FHIR Module

1.1 FHIR release four (R4) integration

Expand
titleopenIMIS Policies mobile app: Enrol Family payload
Code Block
languagejson
{
    "family": [{
        "FamilyId": "1",
        "InsureeId": "1",
        "LocationId": "61",
        "HOFCHFID": "131",
        "Poverty": "0",
        "FamilyType": "H",
        "FamilyAddress": "PermAdress1",
        "Ethnicity": "0",
        "ConfirmationNo": "Confirm1",
        "ConfirmationType": "C",
        "isOffline": "1",
        "FamilySMS": {
            "FamilyID": "1",
            "ApprovalOfSMS": true,
            "LanguageOfSMS": "fr"
        },
        "insurees": [{
            "InsureeId": "1",
            "FamilyId": "1",
            "CHFID": "131",
            "LastName": "NewTestInsureeLast",
            "OtherNames": "NewTestInsureeOther",
            "DOB": "2021-06-09",
            "Gender": "F",
            "Marital": "M",
            "isHead": "1",
            "IdentificationNumber": "NationaID1",
            "Phone": "123123123",
            "PhotoPath": "131_E00002_20210609124332_0_0.jpg",
            "CardIssued": "1",
            "Relationship": "0",
            "Profession": "1",
            "Education": "4",
            "Email": "insuree@mail.com",
            "TypeOfId": "N",
            "HFID": "4",
            "CurrentAddress": "CurrentInsureeAdress",
            "GeoLocation": "",
            "CurVillage": "62",
            "isOffline": "1"
        }],
        "policies": [{
            "PolicyId": "1",
            "FamilyId": "1",
            "EnrollDate": "2021-06-09",
            "StartDate": "2021-11-01",
            "EffectiveDate": "2021-11-01",
            "ExpiryDate": "2022-10-31",
            "PolicyStatus": "2",
            "PolicyValue": "6000",
            "ProdId": "10",
            "OfficerId": "6",
            "PolicyStage": "N",
            "isOffline": "1",
            "premium": {
                "PremiumId": "1",
                "PolicyId": "1",
                "PayerId": "0",
                "Amount": "6000",
                "Receipt": "REC0001",
                "PayDate": "2021-06-09",
                "PayType": "B",
                "isPhotoFee": "false",
                "isOffline": "1"
            }
        }],
        "insureePolicy": [{
            "InsureeId": "1",
            "PolicyId": "1",
            "EffectiveDate": "2021-11-01"
        }]
    }]
}

Expand
titleopenIMIS Policies mobile app: Modify Family payload
Code Block
languagejson
{
    "family": [{
        "FamilyId": "-31",
        "InsureeId": "-145",
        "LocationId": "60",
        "HOFCHFID": "121",
        "Poverty": "0",
        "FamilyType": "P",
        "FamilyAddress": "PermAdress1234",
        "Ethnicity": "0",
        "ConfirmationNo": "CONF002",
        "ConfirmationType": "C",
        "isOffline": 0,
        "FamilySMS": {
            "FamilyID": "-31",
            "ApprovalOfSMS": false,
            "LanguageOfSMS": "fr"
        },
        "insurees": [{
            "InsureeId": "-145",
            "FamilyId": "-31",
            "CHFID": "121",
            "LastName": "Test1@",
            "OtherNames": "Test1@",
            "DOB": "2021-06-09",
            "Gender": "M",
            "Marital": "D",
            "isHead": "true",
            "IdentificationNumber": "",
            "Phone": "",
            "PhotoPath": "121_E00002_20210609121931_0_0.jpg",
            "CardIssued": "true",
            "Relationship": "0",
            "Profession": "0",
            "Education": "0",
            "Email": "",
            "TypeOfId": "",
            "HFID": "0",
            "CurrentAddress": "",
            "GeoLocation": "",
            "CurVillage": "45",
            "isOffline": "0",
            "picture": {
                "ImageName": "",
                "ImageContent": ""
            }
        }, {
            "InsureeId": "-147",
            "FamilyId": "-31",
            "CHFID": "1221",
            "LastName": "TestR1",
            "OtherNames": "TestR1",
            "DOB": "2021-06-09",
            "Gender": "M",
            "Marital": "N",
            "isHead": "false",
            "IdentificationNumber": "",
            "Phone": "",
            "PhotoPath": "1221_E00002_20210609122012_0_0.jpg",
            "CardIssued": "false",
            "Relationship": "1",
            "Profession": "0",
            "Education": "0",
            "Email": "",
            "TypeOfId": "",
            "HFID": "0",
            "CurrentAddress": "",
            "GeoLocation": "",
            "CurVillage": "0",
            "isOffline": "0",
            "picture": {
                "ImageName": "",
                "ImageContent": ""
            }
        }, {
            "InsureeId": "-148",
            "FamilyId": "-31",
            "CHFID": "12221",
            "LastName": "AddedToExistingLast",
            "OtherNames": "AddedToExistingOther",
            "DOB": "2021-06-09",
            "Gender": "F",
            "Marital": "D",
            "isHead": "0",
            "IdentificationNumber": "PassportID",
            "Phone": "9018231022",
            "PhotoPath": "12221_E00002_20210609124855_0_0.jpg",
            "CardIssued": "1",
            "Relationship": "0",
            "Profession": "2",
            "Education": "5",
            "Email": "newinsureemail@mail.com",
            "TypeOfId": "P",
            "HFID": "1",
            "CurrentAddress": "CurrentAdresss011",
            "GeoLocation": "",
            "CurVillage": "62",
            "isOffline": "1"
        }],
        "policies": [{
            "PolicyId": "1",
            "FamilyId": "-31",
            "EnrollDate": "2021-06-09",
            "StartDate": "2021-06-09",
            "EffectiveDate": "2021-06-09",
            "ExpiryDate": "2022-06-08",
            "PolicyStatus": "2",
            "PolicyValue": "10000",
            "ProdId": "4",
            "OfficerId": "6",
            "PolicyStage": "N",
            "isOffline": "1",
            "premium": {
                "PremiumId": "1",
                "PolicyId": "1",
                "PayerId": "0",
                "Amount": "10000",
                "Receipt": "REC0002",
                "PayDate": "2021-06-09",
                "PayType": "C",
                "isPhotoFee": "false",
                "isOffline": "1"
            }
        }],
        "insureePolicy": [{
            "InsureeId": "-147",
            "PolicyId": "1",
            "EffectiveDate": "2021-06-09"
        }, {
            "InsureeId": "-145",
            "PolicyId": "1",
            "EffectiveDate": "2021-06-09"
        }, {
            "InsureeId": "148",
            "PolicyId": "1",
            "EffectiveDate": "2021-06-09"
        }]
    }]
}

1.2 FHIR R4 extensions development

1.3 FHIR Authentication and Authorisation

FHIR Authentication

The objective is to manage User authentication directly from the FHIR module. The JWT authentication mechanism is used. FHIR module is using the authentication services so the token can be used in both FHIR REST API and GraphQL queries.

...

1.4 openIMIS FHIR Quality Assurance

To come

1.5 openIMIS FHIR module documentation

...

openIMIS FHIR Quality Assurance

To come.

2 Packaging and Installation

2.1 Docker package improvement

Enhancement of openIMIS dockerization

...

For better distribution, docker can be used to facilitate the installation of openIMIS. The repository https://github.com/openimis/openimis-dist_dkr/tree/develop was updated to let users provide their own configuration using local files. Here For this, the user has to provide the normally called “openimis.json” openimis.json file locally using the appropriate environmental variable, two . Two files can be provided for the backend and frontend configuration (from the README.MD):

...

https://github.com/openimis/openimis-dist_dkr/blob/develop/README.md):

Code Block
BE_CONF_PATH=<the path to your config file, has to be local>
FE_CONF_PATH=<the path to your config file, has to be local>

...

For even easier installation, the different repositories will be built on the fly directly from GitHub (repository previously provided), the . The user might can change the branch if need using the variables:

Code Block
 BE_BRANCH=<branch of the backend repository to be used>
 FE_BRANCH=<branch of the frontend repository to be used>
 DB_BRANCH=<branch of the database repository to be used>
 GW_BRANCH=<branch of the gateway repository to be used>

...

openIMIS integrated with Instant OpenHIE

A package to include not only openIMIS, but also services that could be required by an user, as e.g. a mediator (OpenHIM) or a FHIR server (Hapi), was developed. For this purpose, we extend the work of the OpenHIE, so called instant Instant OpenHIE (https://github.com/openhie/instant) to include openIMIS as a service (https://github.com/openimis/openimis-dist_instant_openhie/tree/develop).

There were To satisfy the Instant OpenHIE requirements, some alterations of the in the previous section mentioned repository to achieve thiswere necessary to the openIMIS docker package. The manual steps for the installation of the database were eliminated, so that the only command the user would be required to use requires is:

./deploy.sh init core openimis-db_dkr openimis-dist_dkr -c="./openimis-db_dkr" -c="./openimis-dist_dkr"

To clean up the project you'd use destroy instead of init. The commands up and down known from docker-compose are also allowed.
This is extendable by any service the user may want, given Given that the service is in a directory that follows instant Instant OpenHIE structure, and this implementation is extendable with any service the user may want by adding the package ID then to the previous command with the corresponding path.
The variables for both services are now in the docker/compose.sh files of each service as opposed of the .env file as in the previous repository.

...

2.2 Developer initialisation script