The openIMIS Backend Contract reference module.
Project description
openIMIS Backend Contract reference module
This repository holds the files of the openIMIS Backend Contract reference module. It is dedicated to be deployed as a module of openimis-be_py.
ORM mapping:
- tblContract > Contract
- tblContractDetails > ContractDetails
- tblContractContributionPlanDetails > ContractContributionPlanDetails
Listened Django Signals
- post_save - Payment: handles service activate_contracted_policies - only when payment is related to the contract/contracts. (it is verified by this post save) Another payments are omitted in processing.
GraphQl Queries
- contract
- contractDetails
- contractContributionPlanDetails
GraphQL Mutations - each mutation emits default signals and return standard error lists (cfr. openimis-be-core_py)
- createContract
- updateContract
- deleteContract
- submitContract
- approveContract
- approveBulkContract (works with Celery)
- counterContract
- amendContract
- renewContract
- createContractDetails
- updateContractDetails
- deleteContractDetails
- createContractDetailsByPhInsuree
Additional mutation log helper in Create graphQl mutations - ObjectMutation from core
- "ObjectMutation" from openimis-be-core_py - models.py
- "object_mutated" method allows the creation of an object to update the xxxMutation easily.
- dedicated for createContract and createContractDetails graphQl mutations
- more info about it and how it was implemented here in Contract module in models.py in class ObjectMutation in docs string
Services
- Contract
- create
- update
- submit
- approve
- amend
- renew
- delete
- get_negative_amount_amendment
- terminate_contract
- ContractDetails
- update_from_ph_insuree
- ph_insuree_to_contract_details
- ContractContributionPlanDetails - CRUD services, replace
- create_ccpd (ccpd - acronym of contract contribution plan details)
- contract_valuation
- create_contribution
- PaymentService
- create (with creating payment details for that newly created payment)
- collect_payment_details (collect data from all contributions to assign it to the payment details)
Configuration options (can be changed via core.ModuleConfiguration)
-
gql_query_contract_perms: required rights to call createContract GraphQL Query (default: ["152101"])
-
gql_query_contract_admins_perms: required rights to call contribution_plan_bundle_admin GraphQL Query (default: [])
-
gql_mutation_create_contract_perms: required rights to call createContract, createContractDetails GraphQL Mutations (default: ["152102"])
-
gql_mutation_update_contract_perms: required rights to call updateContract, updateContractDetails GraphQL Mutations (default: ["152103"])
-
gql_mutation_delete_contract_perms: required rights to call deleteContract, deleteContractDetails GraphQL Mutations (default: ["152104"])
-
gql_mutation_renew_contract_perms: required rights to call renewContract GraphQL Mutation (default: ["152106"])
-
gql_mutation_submit_contract_perms: required rights to call submitContract GraphQL Mutation (default: ["152107"])
-
gql_mutation_approve_ask_for_change_contract_perms: required rights to call approveContract, approveBulkContract and counterContract GraphQL Mutations (default: ["152108"])
-
gql_mutation_amend_contract_perms: required rights to call amendContract GraphQL Mutation (default: ["152109"])
openIMIS Modules Dependencies
- core.models.HistoryModel
- core.models.HistoryBusinessModel
- core.models.ObjectMutation
- policyholder.models.PolicyHolder
- policyholder.models.PolicyHolderInsuree
- contribution_plan.models.ContributionPlan
- contribution_plan.models.ContributionPlanBundleDetails
- insuree.models.Insuree
- insuree.models.InsureePolicy
- contribution.models.Premium
- payment.models.Payment
- payment.models.PaymentDetail
- policy.models.Policy
- calculation module
bulk operations - required configuration
- for 'bulk approve contract' and 'bulk counter contract' graphQL mutations
- running rabbitmq docker image
- running celery within "{imis_directory}/openimis-be_py/venv/bin/celery":
-A openIMIS worker --loglevel=DEBUG --without-gossip --without-mingle --without-heartbeat -Ofair
- without this required steps you won't be able to bulk counter/approve contract
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file openimis-be-contract-1.6.0.tar.gz
.
File metadata
- Download URL: openimis-be-contract-1.6.0.tar.gz
- Upload date:
- Size: 36.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1699f04d6d22528dc6b0f58a84b550c23869a7b9560a9946e3c78be6294e26f |
|
MD5 | 60e665593bf9566258eccd5477b0970f |
|
BLAKE2b-256 | e864684ad1c8a73e366a0207807b3ed0db080b2a7810f62c85149a2564be7783 |
File details
Details for the file openimis_be_contract-1.6.0-py3-none-any.whl
.
File metadata
- Download URL: openimis_be_contract-1.6.0-py3-none-any.whl
- Upload date:
- Size: 51.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52b62357ccb022a9e1c3c227908345e714e44bbc9ff09281da0c7397d21a14e2 |
|
MD5 | 7c15321177e74e18092751523ca4ea43 |
|
BLAKE2b-256 | 038994486a73442b120e4f75b2ab1bdb7ee5ddf892a8eb08f874b6be93e60832 |