The following requirements were considered when updating openIMIS’s Claim adjudication process:
the default openIMIS Claim adjudication process should be modified as less as possible
Medical Officers should not be impacted too much by the activation of the openIMIS-AI module
Claim adjudication process
Use cases
Updated Claim Status
The following state diagram from Figure 1 corresponds to the Claim fields status with the updated adjudication process.
Figure 1. Claim state diagram for the updated claim adjudication process
Updated Claim Adjudication Process
The following activity diagram proposes the updated adjudication process.
Deployment architecture
Claim-AI Quality Module
Claim-AI Quality Responsibilities
Contribute to Claim Review Search with Medical Item and Service filters
Listening for <<signal_mutation_module_after_mutating>> SubmitClaimsMutation and prepare the new checked claims for AI categorisation by adding custom fields (i.e.
was_categorized
)Contribute to Claim Review Search based on the custom fields (i.e.
was_categorized
)Push the claims to Claim-AI module based on scheduled task and/or event based activation and update claims based on the response
Reports claim adjudication misclassifications
Models
The following JSON extensions will be created to support the Claim AI-based Categorisation:
claim_ai
to add information on Claim. The fieldwas_categorized
allow to filter automatically checked Claim that have not been categorized by AI and ‘hide’ them for manual adjudication."json_ext": { "claim_ai_quality": { "was_categorized": "boolean", // whether the claim has been categorized by Claim-AI module or not "request_time": "datetime", // time when the claim has been sent to Claim-AI module "response_time": "datetime" // time when the claim adjudication response has been received from Claim-AI module } }
claim_ai_item
to add information on ClaimItem and ClaimService. This is used to store AI categorisation result to allow the misclassification report."json_ext": { "claim_ai_quality": { "ai_result": "integer" // claim adjudication value provided by Claim-AI module (for misclassification report) } }
Because ClaimItem
and ClaimService
doesn’t support custom fields, these classes need to be extended with ExtendableModel
class.
Migrations
Because the Claim-AI modules are activated after Claims have been adjudicated (the data used for the training), a migration script needs to be created to insert the JSON fields into the available data. The following initializations will be used:
Claim.json_ext.claim_ai_quality.was_categorized = true Claim.json_ext.claim_ai_quality.request_time = Claim.ValidityFromReview Claim.json_ext.claim_ai_quality.response_time = Claim.ValidityFromReview ClaimService.json_ext.claim_ai_quality.ai_result = ClaimService.ClaimServiceStatus ClaimItem.json_ext.claim_ai_quality.ai_result = ClaimItem.ClaimItemStatus
Claim-AI Module
Claim-AI Responsibilities
Self containing REST API
Accepts FHIR R4 Claim and reply with FHIR R4 ClaimResponse
Clean the data and prepare it for the AI model
Categorize the claim (AI model execution)