Process validation edits
Pega Smart Claims Engine for Healthcare provides a framework for performing basic validations before the claim goes through benefit and pricing adjudication. These validations support the claim-header and claim-line level edits for Professional, Institutional and Dental claim.
The CE_ValidationEdits collection can be initiated to perform the Validation edits.
The collection begins with setting the property of the Claim Identifier (CH, RP or 31) at the header level. It checks if the dates on the claim are valid by calling the CE_ClaimDatesInFuture When rule. It checks if the service start date and end date on the claim are earlier than the received date or submitted date.
If the service start and service end dates are later than the received date, the Event code SVE-0014 is set on the claim.
The CE_ValidateInitialEdits collection checks the Validity of the claim by checking if the following fields are present on the claim:
If the fields are not present, the appropriate system Event codes are set on the claim.
Number | Rule | Event code | Description |
1 | CE_ClaimTypeNotSet | 0024 | Checks if the claim type is set on the claim to New, Void, or Adjustment. |
2 | CE_ProcessMethodNotSet | 0010 | Checks if the claims processing method is set on the claim, that is, if the process method at the global Level is set. |
3 | CE_ClaimTypeNotConfigured | 0011 | Checks to see if the claim form type (I, P, D) is set on the claim. |
4 | CE_ClaimIdentifierNotConfigured | 0013 | Checks if the Claim Identifier is set on the claim as CH, RP, or 31. |
3 | CE_DischargeAfterAdmission | 0012 | Checks if the discharge date on the claim is later than the submission date. If the discharge date is not later than the submission date, the claim is pended with Code 0053 |
The CE_ValidateIntialDentalEdits collection checks the validity of the tooth number at claim header on a dental claim. If the tooth number is invalid event code SVE-0009 will be raised on claim.
The CE_ValidateIntialDentalLineEdits collection checks the validity of the tooth number at claim line on a dental claim. If the tooth number is invalid event code SVE-0006 will be raised on claim.
The third step in the CE_ValidateIntialDentalLineEdits collection calls an activity ValidateOralCavityDesignation, which checks for the submitted oralcavitydesignation in the claim line. If it is invalid, event code SVE-0008 will be raised on claim.
The fourth step in the CE_ValidateIntialDentalLineEdits collection calls an activity ValidateToothSurfaceCode, which checks for the submitted ToothSurfaceCode in the claim line. If it is invalid, event code SVE-0007 will be raised on claim.
The CE_ValidateClaimLine checks if the codes on the line are valid NDC codes. If they are not valid, the claim is pended with Event code SVE-0019. The collection also checks if the adjustment on the line is valid by calling CE_ValidateAdjCode. If it is not valid, the Claim is pended with Event codes SVE-0023 and 0025.
In CE_ValidateCDT collection, it will check for the valid CDT code. If it is not present, the system will raise event code SVE-0004.
For Procedure Codes, If the Claim Type = Professional or Institutional, the System also does another Validation on the service code present at the Line Level. The Validation would be that the Claim Line Date of Service is within the Foundation for Healthcare Code Effective and End Date. If not, SVE-0020 would raise.
The CE_ValidateClaimLine also calls the AttachProcedureCodeGroup which assigns the regular service Code groups to the Claim Line.
The MapProcedureCodeGroups in the AttachProcedureCodeGroups attaches the * BETOS codes to the service Line.
The New Data transform MapProcedureCodegroups retrieves code group types for given procedure code.
- In the second step the selected procedure code value is assigned to the parameter named Code.
- In the third step the codegroup types is retrieved by passing the parameter to the D_Codeincodegroups data page and assigning it to the TempCodeList page.
- The fourth step will loop through the TempCodeList page and append the code group groups list to the BETOS_CodeGroupList page.
Related Changes made for BETOS Code Group:
- The AttachProcedureCodeGroups Data transform rule was modified to add above mentioned MapProcedureCodeGroups data transform. This rule was referenced in the CE_ValidateClaimLine collection rule 5th and 6th step.
- The following section was modified to in order to display Code group details by adding the CodeGroupType, Code Group Type, Code Group Category, CodeGroup Name, BETOS Code Group ID, Code Group ID.
- The ClaimsLineDetails_Adjustment Review section was modified as well by adding
above section rule. Class: PegaHC-Data-ClaimLine, Section:
ClaimLineDetails_AdjustmentReview [Which refers in claim line after execution
review screen in professional claims.]
This section referred in after creation of the TSD
Class: PegaHC-Data-ClaimLine, Section: ClaimLineDetails [Used in the perform harness of the enter details before execution for professional claims.]
Class: PegaHC-Data-ClaimLine, Section: ClaimLineDataInstitutionalUpdate [Refers in update screen of the Institutional claim]
Class: PegaHC-Data-ClaimLine, Section: ClaimLineDataInstitutional [Used after creation of the Institutional claim]
- A new data transform rule called AddAuditBetosCode tracks the results according
to the service type.
According to the following screen shot, the system first loops through the BETOS_CodeGroupList pagelist and finds if the category is set to the “Service-BETOS”. IF so, it sets the BetosFlag parameter values to “True” and then set that BETOSID value and Code values to the Tempage, BETOSID and Code.
In step 1.5 it loops through the category value “Service”. It sets the Code value to the Tempage code since it only has “Service” code group types.
3rd step it checks when the procedure code has both the “Service” and “Service-BETOS”. If so then the pylabel value set to “Both”
@String.notEquals(Param.BetosFlag,"")&& @String.notEquals(Param.BetosFlagFalse,"")
5th step checks if the procedure code has only “Service-BETOS”. If so then it sets the pylabel value to the “BETOS”
@String.notEquals(Param.BetosFlag,"") && @String.equals(Param.BetosFlagFalse,"")
6th step checks if the procedure code has only “Service”. If so then it sets the payable value to the “SERVICE”
@String.equals(Param.BetosFlag,"") && @String.notEquals(Param.BetosFlagFalse,"")
- A separate collection rule was created to call this data transform rule and in their add the relevant AddAudit function to set the audit message.
- The following three message rules track the audit trail.
If its BETOS and Service code group.
If it is only a BETOS.
If it is only a Service code.
- AddAuditBetosCode collection rule in the CE_ValidateClaimLine collection rule is modified to add audit trail message as below.
The CE_ValidateDignosis Code checks if the diagnosis code present on the claim is a valid ICD9 or ICD10 diagnosis code. If it is not valid, Event code SVE-0015 is set on the claim. It also checks:
If the Claim Type = Professional, the system would validate the Diagnosis Codes present at the Line Level, based on the pointer at the line level. The validation is that the Claim Line ‘Date of Service’ is within the Foundation for Healthcare Diagnosis Code Effective and End Date. (For the Diagnosis Codes mentioned on the Line). If not Event code SVE-0021 would be raise.
If the Claim Type = Institutional, the system would validate the Diagnosis Codes present at the Header Level. The Validation is that the Statement From and Statement Through Dates are within the Foundation for Healthcare Diagnosis Code Effective and End Date. If not Event Code SVE-0022 would raise.
The CE_ValidateAdjCode collection checks if the payer name for Medicaid is set to Medicaid and if the Medicaid Other Payer Paid Amount at the header level is present for reclamation claims.
*Berenson-Eggers Type of Service (BETOS) categories are typically used to group similar services and help analyze Medicare costs. All Health Care Financing Administration Common Procedure Coding System (HCPCS) procedure codes are assigned to a BETOS category. BETOS codes are clinical categories. There are seven BETOS categories:
- Evaluation and Management
- Procedures
- Imaging
- Tests
- Durable Medical Equipment
- Other
- Exceptions/Unclassified
Berenson-Eggers Type of Service (BETOS) codes are assigned for each Health Care Financing Administration Common Procedure Coding System (HCPCS) procedure code. The BETOS Coding system was developed primarily for analyzing the growth in Medicare expenditures.
Once a Claim Line is assigned to a BETOS Code it would show on the UI as well. Screenshot shown below:
Previous topic Claim holds and SLAs Next topic Benefit determination