Versions Compared

Key

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

...

  • Claim.ReviewStatus: updated to “Selected for Review” (value 4) if the ClaimResponse contains rejected items

  • ClaimItem.Status/ClaimService.Status: updated to “rejected” (value 2) for each ClaimResponse.item where adjudication.category equal to 1

  • ClaimItem.RejectionReason/ClaimService.RejectionReason: updated to “rejected by AI” (value -2) for each ClaimResponse.item where adjudication.category equal to 1

  • json_ext.claim_ai_quality.was_categorized: updated to True

  • json_ext.claim_ai_quality.ai_result: updated to ClaimResponse.item.adjudication.category + 1 (DB values 1-Accepted, 2-Rejected)

...

Plantumlcloud
filenameClaimStatusStateDiagram.png
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
width
compressedtrue
revision79
Expand
titleDiagram source

@startuml

state "Enter Claim" as ClaimEntering {
[*] --> Entered : Enter Claim

Entered --> Entered : Edit\nClaim
Entered : ClaimStatus=Entered (2)
Entered : ReviewStatus=Idle (1)
Entered : ClaimItemStatus=Accepted (1)
Entered : RejectionReason=Accepted (0)
}

state "Rule Engine Checking" as RuleEngineCheck {

state RuleEngineValidation <<choice>>

Entered --> RuleEngineValidation : Submit Claim

RuleEngineValidation --> RejectedByRuleEngine : Reject\nAll Items
RejectedByRuleEngine : ClaimStatus=Rejected (1)
RejectedByRuleEngine : ClaimItemStatus=Rejected (2)
RejectedByRuleEngine : RejectionReason=[1-19]

RejectedByRuleEngine --> [*]

RuleEngineValidation --> CheckedIdle : Accept \n Some Items
CheckedIdle : ClaimStatus=Checked (4)
CheckedIdle : json_ext.claim_ai_quality.was_categorized=false

}

state "AI Automatic Categorisation" as AICheck {

state AIClaimCategorisation <<choice>>

CheckedIdle --> AIClaimCategorisation

AIClaimCategorisation --> CheckedAIAccepted : Accept\nAll Items
CheckedAIAccepted : json_ext.claim_ai_quality.was_categorized=true
CheckedAIAccepted : json_ext.claim_ai_quality.ai_result=RejectionReasonAccepted (1)

AIClaimCategorisation --> CheckedAIFlagged : Reject\nSome Items
CheckedAIFlagged : ReviewStatus=SelectedForReview (4)
CheckedAIFlagged : ClaimItemStatus=Rejected (2)
CheckedAIFlagged : RejectionReason=TBDRejected by AI (-2)
CheckedAIFlagged : json_ext.claim_ai_quality.was_categorized=true
CheckedAIFlagged : json_ext.claim_ai_quality.ai_result=RejectionReasonRejected (2)

note top of CheckedAIFlagged : Rejected Items values

}

state "Manual Review" as ManualReview {

state SelectForReview <<choice>>

CheckedAIAccepted --> SelectForReview

SelectForReview --> CheckedNotSelected : Select manually\nnot to review
CheckedNotSelected : ReviewStatus=Not Selected (2)
CheckedNotSelected : RejectionReason=Accepted (0)

SelectForReview --> CheckedSelected : Select manually\nto review
CheckedSelected : ReviewStatus=Selected (4)
CheckedSelected : RejectionReason=Accepted (0)

state RequireManualReview <<choice>>

CheckedSelected --> RequireManualReview

CheckedAIFlagged --> RequireManualReview : Selected automatically\nfor review

RequireManualReview --> CheckedRejected : Manual Review\nReject All Items
CheckedRejected: ClaimItemStatus=Rejected (2)
CheckedRejected : RejectionReason=Rejected by MO (-1)

CheckedRejected --> [*]

RequireManualReview --> CheckedAccepted : Manual Review\nAccept Some Items
CheckedAccepted : ClaimItemStatus=Accepted (1)
CheckedAccepted : RejectionReason=Accepted (0)

CheckedAccepted --> CheckedReviewed : Deliver review
CheckedReviewed : ReviewStatus=Reviewed (8)

}

state "Processing" as Process {

CheckedReviewed --> ValuatedAccepted : Process
ValuatedAccepted : ClaimStatus=Valuated (16)

CheckedNotSelected --> ValuatedAccepted : Process

CheckedAccepted --> ValuatedBypassed : Process \nwithout \ndelivering \nreview
ValuatedBypassed : ClaimStatus=Valuated (16)
ValuatedBypassed : ReviewStatus=Bypassed (16)

ValuatedBypassed --> [*]

ValuatedAccepted --> [*]

}

@enduml

...

A PDF report is generated that provides the following information (output based on manual reviewed Claims):

  • total number of Claims

  • accuracy scores

  • number of True Positives results

  • number of True Negative results

  • number of False Positive results

  • number of False Negative results

  • Table with Claim that were fixed (ClaimItem.json_ext.claim_ai_quality.ai_result != ClaimItem.ClaimItemStatus - same for ClaimService)

    • ClaimCode

    • CHFID (Insuree number)

    • ICDID (check if name can be entered)

    • Date from-to (DateFrom - DateTo)

    • Total items (ClaimItems + ClaimServices)

    • Fixed items

    • Reviewed date (ValidityFromReview)

    • Reviewed by (AuditUserIDReview → Username)same format as Claim Overview report with additional json_ext.claim_ai_quality.ai_result column for each Item and Service

To generate this report, the user will have have to filter through the Review Claims search form and trigger the report through a button (label is “AI Misclassification Report”). Only the filtered Claims will be considered for the report.

...