This repository holds the files of the openIMIS Backend Claim reference module. It is dedicated to be deployed as a module of openimis-be_py.
- tblClaimAdmin > ClaimAdmin
- tblFeedback > Feedback
- tblClaim > Claim
- tblClaimItems > ClaimItem
- tblClaimServices > ClaimService
- claim_ClaimAttachment > ClaimAttachment
signal_mutation_module_validate["claim"]
: handles ClaimMutation
- DEPRECATED ClaimSubmitService.submit, mapped to uspUpdateClaimFromPhone Stored Proc (used by api_fhir reference implementation: needs replacement, with signals)
- ClaimReportService, loading the necessary data for the Claim printing
- claim_claims (Claim printing)
- claims
- claim_admins
- claim_admins_str
- claim_officers
- claim_attachments
GraphQL Mutations - each mutation emits default signals and return standard error lists (cfr. openimis-be-core_py)
- create_claim
- update_claim
- submit_claims
- select_claims_for_feedback
- deliver_claim_feedback
- bypass_claims_feedback
- skip_claims_feedback
- select_claims_for_review
- deliver_claims_review
- bypass_claims_review
- skip_claims_review
- save_claims_review
- process_claims
- delete_claims
- add_claim_attachment
- update_attachment
- delete_claim_attachment
- print: generating Claim PDF
claim_claim
: Claim summary
-
default_validations_disabled: bypass (defaul) claim validations in Submit and Process mutations (default: False)
-
gql_query_claims_perms: required rights to call claims GraphQL Query (default:
["111001"]
) -
gql_query_claim_admins_perms: required rights to call claim_admins GraphQL Query (default:
[]
) -
gql_query_claim_officers_perms: required rights to call claim_officers GraphQL Query (default:
[]
) -
gql_mutation_create_claims_perms: required rights to call create_claim GraphQL Mutation (default:
["111002"]
) -
gql_mutation_update_claims_perms: required rights to call update_claim GraphQL Mutation (default:
["111010"]
) -
gql_mutation_submit_claims_perms: required rights to call submit_claim GraphQL Mutation (default:
["111007"]
) -
gql_mutation_select_claim_feedback_perms: required rights to call select_claim_feedback GraphQL Mutation (default:
["111010"]
) -
gql_mutation_bypass_claim_feedback_perms: required rights to call bypass_claim_feedback GraphQL Mutation (default:
["111010"]
) -
gql_mutation_skip_claim_feedback_perms: required rights to call skip_claim_feedback GraphQL Mutation (default:
["111010"]
) -
gql_mutation_deliver_claim_feedback_perms: required rights to call deliver_claim_feedback GraphQL Mutation (default:
["111009"]
) -
gql_mutation_select_claim_review_perms: required rights to call select_claim_review GraphQL Mutation (default:
["111010"]
) -
gql_mutation_bypass_claim_review_perms: required rights to call bypass_claim_review GraphQL Mutation (default:
["111010"]
) -
gql_mutation_skip_claim_review_perms: required rights to call skip_claim_review GraphQL Mutation (default:
["111010"]
) -
gql_mutation_deliver_claim_review_perms: required rights to call deliver_claim_review GraphQL Mutation (default:
["111010"]
) -
gql_mutation_process_claims_perms: required rights to call process_claims GraphQL Mutation (default:
["111011"]
) -
gql_mutation_delete_claims_perms: required rights to call delete_claims GraphQL Mutation (default:
["111004"]
) -
claim_print_perms: required rights to call print endpoint (default:
["111006"]
) -
claim_attachments_root_path: using os standard file system, root path for the claim attachments (default: None ... documents B64 in database)
WARNINGS:
- attachments in input are NOT streamed (posted in a GraphQL query and fully read when serving), gateway must be configure to limit request payload size
- attachments in output are served from the python (django) os process, generating load (memory consumption) on the application server, customisation of the view to output a redirect to a static file server is recommended
- in an attempt to prevent encoding problems, files are written as binaries on the filesystem, please ensure the mounted file system supports python binary access (wb flag)
-
native_code_for_services: Defines whether the system must check the service & sub-services prices or not.
- If the packagetype of the service is flat fee bundle, the system checks if claim_detail.price_adjusted or claim_detail.price_asked is higher than the price of the service. If it's the case, the final price of the claim becomes the price of the service.
- On the other hand, if the service type is Fee-for-service bundle then the system checks all the sub-services of the claim to find out if the qty_provided of the sub-service is indeed equal to the qty_displayed of the claimserviceservice or if the qty_provided of the sub-item is indeed equal to the qty_displayed of the claimserviceitem. If all are not equal then the final price of the claim will be 0.
- Also, if this parameter is False, then during the review, the quantities of the sub-services and sub-items will be recalculated, as well as the price_adjusted of the claim.
- core.models.VersionedModel
- core.models.InteractiveUser
- claim_batch.models.BatchRun
- insuree.models.Insuree
- location.models.HealthFacility
- medical.models.Diagnosis
- medical.models.Item
- medical.models.Service
- policy.models.Policy
- product.models.Product
- report.services.ReportService
remunerated* is not a real claim status CHECKED and reviewed is not a different status that CHECKED
claim Stage | elm latest qty | elm latest price | claim value |
---|---|---|---|
SAVED | qty_provided | price_asked | x |
CHECKED | qty_provided | price_adjusted | claimed |
CHECKED and reviewed | qty_approved | price_approved | approved |
PROCESSED | qty_approved | price_valuated | approved |
VALUATED | qty_approved | price_valuated | valuated |
remunerated* | x | remunerated_amount | remunerated |
SAVED --Submit--> CHECKED --process--> PROCESSED --batch run--> VALUATED --payment--> remunerated*