Versions Compared

Key

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

...

Plantumlcloud
filenameClaimStatusStateDiagram.png
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
width
compressedtrue
revision910
Expand
titleDiagram source
Code Block
@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 :
=false
 
' note top of CheckedIdle : If AI modules not activated \nthen ClaimStatus=Checked (4)

}

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=Accepted (1)


 AIClaimCategorisation --> CheckedAIFlagged : Reject\nSome Items


 CheckedAIFlagged : ReviewStatus=SelectedForReview (4)


 CheckedAIFlagged : ClaimItemStatus=Rejected (2)


 CheckedAIFlagged : RejectionReason=Rejected by AI (-2)


 CheckedAIFlagged : json_ext.claim_ai_quality.was_categorized=true


 CheckedAIFlagged : json_ext.claim_ai_quality.ai_result=Rejected (2)


 note top of CheckedAIFlagged : Rejected Items values

}

state
 

}

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
 Items
 CheckedRejected: ClaimStatus=Rejected (1)
 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

Only the Claims which contains Items/Services rejected by Claim-AI module will have the fields updated. The json_ext fields are always updated, even for the totally accepted Claim.

...

  • total number of Claims

  • accuracy score ( Accuracy = (TP+TN)/(TP+TN+FP+FN) )

  • 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)

    • same format as Claim Overview report with Scope as ‘Claim and All Details’ and with additional

    • For each Item and Service will be added:

      • json_ext.claim_ai_quality.ai_result column

      for each Item and Service
      • Medical Officer name from AuditUserIDReview (same as for ClaimAdmin)

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.

...