Walk Free+MSA Beyond Compliance Disclosure Rate+Formula

signature_accepted_values = ["Signed by CEO", "Signed by Director", "Signed by Managing Director", "Signed by Chairman"]
supply_chain_disclosure_accepted_values = ["Geographical", "Facility/Supplier"]
risk_identification_accepted_values = ["Geographic","Resource", "Workforce","Industry"]
incidents_remediation_accepted_values = ["Worker remediation", "Corrective action plan", "Senior management", "Cancel contracts"]
grievance_mechanism_accepted_values = ["Hotline (direct employees)", "Hotline (supply chain workers)", "Whistleblower protection (direct employees)", "Whistleblower protection (supply chain workers)", "Focal Point (direct employees)", "Focal Point (supply chain workers)"]
policies_accepted_values = ["Suppliers comply with laws and company’s policies (direct / tier 1)",      "Suppliers comply with laws and company’s policies (beyond tier 1)",      "Prohibit use of forced labour (direct / tier 1)",      "Prohibit use of forced labour (beyond tier 1)",      "Code of conduct or supplier code includes clauses on slavery and human trafficking (direct / tier 1)",      "Code of conduct or supplier code includes clauses on slavery and human trafficking (beyond tier 1)",      "Contracts include clauses on forced labour (direct / tier 1)",      "Contracts include clauses on forced labour (beyond tier 1)",      "Suppliers produce their own statement (direct / tier 1)",      "Suppliers produce their own statement (beyond tier 1)",      "Prohibit charging of recruitment fees to employee (direct / tier 1)",      "Prohibit charging of recruitment fees to employee (beyond tier 1)",      "Prohibit use of child labour (direct / tier 1)",      "Prohibit use of child labour (beyond tier 1)",      "Suppliers protect migrant workers (direct / tier 1)",      "Suppliers protect migrant workers (beyond tier 1)",      "Suppliers respect labour rights (wages / freedom of association etc) (direct / tier 1)",      "Suppliers respect labour rights (wages / freedom of association etc) (beyond tier 1)"]
risk_assessment_accepted_values = ["Risk-based questionnaires", "Use of risk management tool or software", "Conducting research"]
risk_management_accepted_values = ["Audits of suppliers (self- reporting)", "Audits of suppliers (independent)", "On-site visits (self- reporting)", "On-site visits (independent)"]
training_accepted_values = ["Employees (all)", "Procurement / purchasing", "Recruitment / HR", "Leadership", "Suppliers", "Training provided - not specified to who"]

c1 = signature_accepted_values.includes signature
c2 = board_approval == "Approved by Board"
c3 = statement_publication == "Yes"
c5 = organizational_structure == "Yes"
c6 = supply_chain_disclosure_accepted_values.some((v)=> supply_chain_disclosure.indexOf(v) >= 0)
c7 = policies_accepted_values.some((v)=> policies.indexOf(v) >= 0)
c8 = risk_assessment_accepted_values.some((v)=> risk_assessment.indexOf(v) >= 0)
c9 = risk_identification_accepted_values.some((v) => risk_identification.indexOf(v) >= 0)
c10 = risk_management_accepted_values.some((v) => risk_management.indexOf(v) >= 0)
c11 = grievance_mechanism_accepted_values.some((v) => grievance_mechanism.indexOf(v) >= 0)
c12 = incidents_identified == "Yes"
c13 = incidents_remediation_accepted_values.some((v) => incidents_remediation.indexOf(v) >= 0)
c14 = training_accepted_values.some((v) => training.indexOf(v) >= 0)
c15 = effectiveness_kpis == "Yes"
c16 = business_kpis == "Yes"

[c1, c2, c3, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16].filter(Boolean).length
signature
board_approval

organizational_structure
supply_chain_disclosure
policies
risk_assessment
risk_identification
risk_management
grievance_mechanism
incidents_identified
incidents_remediation
training
effectiveness_kpis