Compliance Domains

Compliance domains provide a structured mechanism for monitoring the compliance status and suitability of candidates based on their Questionnaire responses (both global and departmental).

They can also be easily fitted into the validation mechanism so that relevant errors and warnings appear without the need for fiddly custom programming in the validation functions.

A validation domain can be either global or linked to a department. There can be multiple domains per department to cope with different skill sets and compliance criteria. A compliance domain can also link to others, either conditionally, based on the answer to a question, or unconditionally. This removes the need for repetition of general requirements and allows for easy specification of complex or hierarchical requirements.

The Compliance Domains option is available on the Compliance menu and the Agency and Temp Maintenance menus.

Setting up a domain is a simple matter of selecting the relevant questions and marking them as Required, Warning or Score Only. On the various Compliance views, failure of required questions will display in red, warning questions orange and successes green. If a question is Score Only it will only contribute to the percentage score which can be used to order candidates.

For any questions with sub-choices you can specify a required sub-choice or allow Any (i.e. at least one must be selected).

Date questions will also police Expiry, based on the settings in the question itself for Expiry Lead and Expiry Behaviour.

Numeric, scored and graded questions will additionally support a minimum value. This should be left at 1 for all non-numeric questions.

In Linked Domains, add any already defined domains which will be checked whenever this one is checked. IQX will check the full hierarchy of linked domains. For a Linked Domain to be conditional rather than mandatory, you must specify both a question and a choice to trigger it. If a domain appears more than once in a hierarchy tree it will only be checked once, so you don't need to worry about 'circular references'.

You should set up Default domains for each department you want to have compliance scoring for, even if you only used a linked Domain of universal questions. The name must start with the word 'Default'. There should NOT be more than one default domain per department. Default domains will reduce or remove the need to set explicit domains for vacancies and candidates. A typical departmental default domain might link to a common global domain to handle global questions required by everyone, and conditionally to various role based domains to police the requirements of each job role.

A candidate's compliance status is based on the Default Compliance Domains for the department(s) for which the candidate is registered, UNLESS domains have been selected explicitly for the candidate on the Compliance Domains view. You will only be able to tick global ones and those for departments for which the candidate is registered.

On the Compliance view, you will see the colour-coded status and scores of all the relevant questions.

If you enable the General Setting Show Person Compliance Score Button, a button will appear on the top panel showing the calculated percentage score. Pressing it will navigate to the Compliance view.

On the Compliance view of the Temp Desk you will see the compliance status of all Current candidates in the Pool for whom compliance data can be determined, with percentage scores.

Validation functions use the Default Compliance Domain for the vacancy's department, or the domain explicitly set in the Vacancy Miscellaneous view. You can also specify explicit Compliance Domains for individual Temp Shift Templates.

In the Placement Pre-Validation function put:

return ComplianceValidforPlacement( persid, vacid );

This will check the Compliance Domain for the Vacancy (explicit or default). Note: It will use the Vacancy start date or today's date, whichever is later, to check any expiring date questions.

In the Tempshift Pre-Validation function put:

return ComplianceValidforTempShift( persid, planid );

This will use the explicit Compliance Domain for the Temp Shift Template, if any, otherwise that for the Vacancy (explicit or default). The Shift Date will be used for expiry checks.

You may, of course, have additional non-questionnaire based checks to make in the function, which should be done first.

In the Person State Change Validation function you might put:

declare rv long varchar;
if newstatus='C' then  // Trivial example of changing to Current only. Real life conditions will be more complex.
  set rv = ComplianceValidPerson(persid,0); // 0 means exclude warnings i.e. failures only
  if rv is not null then
    update person set status = oldstatus where personid = persid; // Revert to previous state
    return rv
  end if;
  set rv = ComplianceValidPerson(persid,1); // 1 means include warnings. Report them but don't revert state
end if;

To add the compliance score percentage to the Temp Shift Match Wizard, in the Vacancy Shift Matcher Numeric Custom Column function, put:

return ComplianceScore(@PersonID,@VacancyID);

To sort the highest scores at the top, in the Vacancy Shift Matcher Custom Sort Order function, put:

return pCustom;

Note: This score will relate to the Vacancy Compliance Domain and Start Date, NOT those for individual shifts.

  • comply_01.txt
  • Last modified: 2020/07/23 14:09
  • by Viola Scott