Skip to main content

Claims Consultant Missing Fields Table

Source: custom function claims_consultant.add_dashboard_stats(), rendered by an embedded HTML snippet template on the Claims_Consultant_Dashboard page (https://creatorapp.zoho.com.au/clientportal/test-claims-management-portal/#Page:Claims_Consultant_Dashboard), directly below the "Missing Claims Consultant" KPI panel and above the Jobs_Booked_assigned_to_Claims_Consultant report grid.

Claims Consultant Missing Fields Table


What it shows

One row per claims consultant, with a column per required field/document, grouped under 8 header groups: Driver / Owner, Vehicle / Customer, At-Fault, Insurance, Liability, Validation, Repairs, Renewal.

add_dashboard_stats() returns each row as { name, fields }, where fields is a list of { value, link } maps (one per column) — it does not build HTML itself. The template loop renders each cell:

  • value == 0<span class="cc-cell cc-zero">0</span> (the cc-zero rule wins the CSS cascade — grey text, no link)
  • otherwise → <a class="cc-cell" href="<link>" target="_blank">{value}</a> — opens Claim_Form_Report filtered to the matching records, in a new window/tab

Row source

  • Form: User
  • Criteria: Crash_Claim_Email != null && Enable_Claims_Consultant_Stats == true
  • If zero users match, add_dashboard_stats() returns an empty list; the template checks data.size() == 0 and renders a centered warning instead of a table: "Please enable "Claims Consultant Stats" in the User Form"
  • A user's row is omitted entirely if every column is 0 (total_missing == 0)

Claim status scope (cm_status)

cm_status is an exclusion list — every column below matches when the claim's status is anything other than these three:

  • Cancel
  • Declined
  • Rejected

This means any status not explicitly listed (Pending, Pending Further Review, Validated, and any future status added later) is included by default, since the check is not in rather than in.

Base filter (all columns)

File_Handler_Test.email == user_record.Crash_Claim_Email && Claims_Management_Form.Status not in cm_status

Each column's criteria below is &&'d onto this base filter, scoped to Claim_Form.

const_url (shared base for every drill-down link) = "File_Handler_Test=" + user_record.Crash_Claim_Email + "&Claims_Management_Form.Status=[" + cm_status + "]&Claims_Management_Form.Status_op=19&"

_op=19 is the "not in" operator on the report link, matching the not in cm_status criteria above.

Recovery type scope (columns 11–13 only)

Built inline at the top of add_dashboard_stats() — there is no longer a separate get_recovery_Type_url_param() helper for this:

recovery_list = [
thisapp.Recovery_Type.CBR_Not_At_Fault(),
thisapp.Recovery_Type.CBR_At_Fault(),
thisapp.Recovery_Type.CBR_Not_At_Fault_Direct(),
thisapp.Recovery_Type.Direct()
]
recovery_param = "[" + recovery_list + "]"

Columns

Grouped exactly as the dashboard's header groups (group_headers / sub_headers in the template).

Driver / Owner

1. Driver Licence Front

column - DL Front
Form - Claim_Form
value - Count
variable - missing_driver_front

criteria
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& Drives_licence == null
|| Drives_licence == ""

Report - Claim_Form_Report
Report param - const_url + "Drives_licence_op=29"

2. Driver Licence Back

column - DL Back
Form - Claim_Form
value - Count
variable - missing_driver_back

criteria
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& Drivers_Licence_Back == null
|| Drivers_Licence_Back == ""

Report - Claim_Form_Report
Report param - const_url + "Drivers_Licence_Back_op=29"

3. Owner Relationship

column - Relationship
Form - Claim_Form
value - Count
variable - missing_relationship_to_owner

criteria
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& is_Driver_the_same_as_owner == false
&& Relationship_to_Owner == null
|| Relationship_to_Owner == ""

Report - Claim_Form_Report
Report param - const_url + "Relationship_to_Owner_op=29&is_Driver_the_same_as_owner=false"

4. Owner Name

column - Owner Name
Form - Claim_Form
value - Count
variable - missing_owner_name

criteria
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& is_Driver_the_same_as_owner == false
&& Owner_Name == null

Report - Claim_Form_Report
Report param - const_url + "Owner_Name_op=29&is_Driver_the_same_as_owner=false"

5. Owner Licence

column - Owner Licence
Form - Claim_Form
value - Count
variable - missing_owner_licence

criteria
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& is_Driver_the_same_as_owner == false
&& Owners_Licence == null
|| Owners_Licence == ""

Report - Claim_Form_Report
Report param - const_url + "Owners_Licence_op=29&is_Driver_the_same_as_owner=false"

Vehicle / Customer

6. Customer Registration

column - Registration
Form - Claim_Form
value - Count
variable - missing_customer_reg

criteria
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& Customer_Registration1 == null
|| Customer_Registration1 == ""

Report - Claim_Form_Report
Report param - const_url + "Customer_Registration1_op=29"

7. Customer Insurer

column - Insurer
Form - Claim_Form
value - Count
variable - missing_customer_insurer

criteria
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& Client_Insurer == null

Report - Claim_Form_Report
Report param - const_url + "Client_Insurer_op=29"

At-Fault

8. At-Fault Licence Front

column - DL Front
Form - Claim_Form
value - Count
variable - missing_af_dl_front

criteria
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& At_Fault_Drivers_Licence == null
|| At_Fault_Drivers_Licence == ""

Report - Claim_Form_Report
Report param - const_url + "At_Fault_Drivers_Licence_op=29"

9. At-Fault Licence Back

column - DL Back
Form - Claim_Form
value - Count
variable - missing_af_dl_back

criteria
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& At_Fault_Drivers_Licence_Back == null
|| At_Fault_Drivers_Licence_Back == ""

Report - Claim_Form_Report
Report param - const_url + "At_Fault_Drivers_Licence_Back_op=29"

10. At-Fault Claim

column - Claim #
Form - Claim_Form
value - Count
variable - missing_af_claim

criteria
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& At_Fault_Party_Claim == null
|| At_Fault_Party_Claim == ""

Report - Claim_Form_Report
Report param - const_url + "At_Fault_Party_Claim_op=29"

Insurance (Direct / CBR recovery types only)

11. Insurance Document

column - Document
Form - Claim_Form
value - Count
variable - missing_ins_doc

criteria
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& Recovery_Type in recovery_list
&& Customer_Insurance_Document == null
|| Customer_Insurance_Document == ""

Report - Claim_Form_Report
Report param - const_url + "Customer_Insurance_Document_op=29&Recovery_Type=" + recovery_param

12. Claim Number

column - Claim No.
Form - Claim_Form
value - Count
variable - missing_claim_no

criteria (raw source compares Recovery_Type with == against the recovery_list list here, not `in` like column 11 — kept as written)
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& Recovery_Type == recovery_list
&& Claim_Number == null
|| Claim_Number == ""

Report - Claim_Form_Report
Report param - const_url + "Claim_Number_op=29&Recovery_Type=" + recovery_param

13. Policy Number

column - Policy No.
Form - Claim_Form
value - Count
variable - missing_policy_no

criteria (same == vs in inconsistency as column 12 — kept as written)
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& Recovery_Type == recovery_list
&& Policy_Number == null
|| Policy_Number == ""

Report - Claim_Form_Report
Report param - const_url + "Policy_Number_op=29&Recovery_Type=" + recovery_param

Liability

14. Liability = No

column - = No
Form - Claim_Form
value - Count
variable - liability_no

criteria
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& Has_Liability_been_confirmed == "No"

Report - Claim_Form_Report
Report param - const_url + "Has_Liability_been_confirmed=No"

Note: this is an exact-value match on the report link, not _op=29 (blank) like the other columns.

15. Liability Empty

column - Empty
Form - Claim_Form
value - Count
variable - liability_empty

criteria
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& Has_Liability_been_confirmed == null
|| Has_Liability_been_confirmed == ""

Report - Claim_Form_Report
Report param - const_url + "Has_Liability_been_confirmed_op=29"

Validation

16. Claim Accepted (Red Flag)

column - Red Flag
Form - Claim_Form
value - Count
variable - red_flag

criteria
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& Is_Claim_Accepted == thisapp.Is_Claim_Accepted.Red_Flag_Job_Pending_Validation()

Report - Claim_Form_Report
Report param - const_url + "Is_Claim_Accepted=" + thisapp.Is_Claim_Accepted.Red_Flag_Job_Pending_Validation()

Repairs

17. Repair Name

column - Repairer
Form - Claim_Form
value - Count
variable - missing_repair_name

criteria
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& Claims_Management_Form.Repair_Status == thisapp.repair_status.In_Repairs()
&& Claims_Management_Form.Repairer == null

Report - Claim_Form_Report
Report param - const_url + "Claims_Management_Form.Repair_Status=" + thisapp.repair_status.In_Repairs() + "&Claims_Management_Form.Repairer_op=29"

18. Date Sent to Repair

column - Date Sent
Form - Claim_Form
value - Count
variable - missing_date_sent

criteria
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& Claims_Management_Form.Repair_Status == thisapp.repair_status.In_Repairs()
&& Claims_Management_Form.Date_Sent_to_Repairer == null

Report - Claim_Form_Report
Report param - const_url + "Claims_Management_Form.Repair_Status=" + thisapp.repair_status.In_Repairs() + "&Claims_Management_Form.Date_Sent_to_Repairer_op=29"

19. Repair ETA

column - ETA
Form - Claim_Form
value - Count
variable - missing_repair_eta

criteria
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& Claims_Management_Form.Repair_Status == thisapp.repair_status.In_Repairs()
&& Claims_Management_Form.Repair_ETA == null

Report - Claim_Form_Report
Report param - const_url + "Claims_Management_Form.Repair_Status=" + thisapp.repair_status.In_Repairs() + "&Claims_Management_Form.Repair_ETA_op=29"

Note: the report param now includes the Repair_Status=In Repairs scope, matching columns 17–18 (it was missing this scope in the previous version of the function).

Renewal

20. Policy Renewal Date

column - Policy Date
Form - Claim_Form
value - Count
variable - missing_renewal

criteria
File_Handler_Test.email == user_record.Crash_Claim_Email
&& Claims_Management_Form.Status not in cm_status
&& Renewal_Date == null
|| Renewal_Date == ""

Report - Claim_Form_Report
Report param - const_url + "Renewal_Date_op=29"

total_missing (used only to decide whether to skip a row) is the sum of all 20 column counts above.

All drill-down links open the same report — Claim_Form_Report — with the column's query param appended to const_url.


Helper functions

Returns a Map per cell (no HTML built here — that happens in the template's render loop, see "What it shows" above):

{
"value": value,
"link": "#Report:" + thisapp.link_names_report.Claim_Form_Report() + "?" + link
}

Previous version of this function returned pre-rendered HTML (<span>/<a>) directly; that responsibility has moved to the template.


Header groups (template)

Defined in the template as group_headers (top row, with colspan) and sub_headers (bottom row, one per column, same order as fields in add_dashboard_stats()):

GroupSpanColumns
Driver / Owner5DL Front, DL Back, Relationship, Owner Name, Owner Licence
Vehicle / Customer2Registration, Insurer
At-Fault3DL Front, DL Back, Claim #
Insurance3Document, Claim No., Policy No.
Liability2= No, Empty
Validation1Red Flag
Repairs3Repairer, Date Sent, ETA
Renewal1Policy Date