QualityOne Vaults provide a management system that allows users to establish and maintain safe food production practices more efficiently using the HACCP (Hazard Analysis Critical Control Points) methodology. This allows users to ensure that food is manufactured, processed, packaged, and stored in sanitary conditions to prevent post-process contamination. Users can create HACCP plans in their Vault to define principles and procedural requirements for maintaining the HACCP system. To save time and effort, users can reuse existing HACCP plans as templates when creating new HACCP plans and can populate values to HACCP plans from templates.

HACCP Management Objects

QualityOne uses the following objects and object types to support HACCP Management:

  • HACCP Plan (haccp_plan__v): This object represents the food safety-related procedures of a Product.
    • HACCP Plan (haccp_plan__v): This HACCP Plan object type represents the HACCP Plan for a manufacturer.
    • HACCP Plan Design (haccp_plan_design__v): This HACCP Plan object type represents the HACCP plan design template.
  • Hazard (hazard__v): This object represents a single hazard in the library of Hazards.
  • Formulation (formulation__v): This object represents an ingredient in the library of all Formulations.
  • Formulation Composition (formulation_composition__v): This object represents a many-to-many self-reference to Formulation, and contains the composition that makes up a formula.
  • Process Step (process_step__v): This object represents a single process step in the library of all Process Steps.
    • Process Step (process_step__v): This Process Step object type represents a single step in a process.
    • Material Step (material_step__v): This Process Step object type represents a step that introduces a material in a process.
    • Logistics Step (logistics_step__v): This Process Step object type represents a logistics step in a process.
    • Connector (diagram_connector__v): This Process Step object type represents a connector step in a process.
  • HACCP Plan Ingredient (haccp_plan_ingredient__v): This object represents an ingredient in a HACCP Plan for a product.
  • Ingredient Hazard Analysis (ingredient_hazard_analysis__v): This object represents the risk assessment and CCP information of a given ingredient in a HACCP Plan.
  • Ingredient Hazard Template (ingredient_hazard_template__v): This object represents an ingredient and its related known hazards.
  • Ingredient Known Hazard (ingredient_known_hazard__v): This object represents known hazards related to ingredients.
  • HACCP Plan Process Step (haccp_plan_process_step__v): This object represents a process step in a HACCP Plan for a specific product.
    • Process Step (process_step__v): This HACCP Plan Process Step object type represents a single step in a process.
    • Material Step (material_step__v): This HACCP Plan Process Step object type represents a step that introduces a material in a process.
    • Logistics Step (logistics_step__v): This HACCP Plan Process Step object type represents a logistics step in a process.
    • Connector (diagram_connector__v): This HACCP Plan Process Step object type represents a connector step in a process.
  • Process Hazard Analysis (process_hazard_analysis__v): This object represents the risk assessment and CCP information of a given process step in a HACCP Plan.
  • Process Hazard Template (process_hazard_template__v): This object represents a process step and its related known hazards.
  • Process Known Hazard (process_known_hazard__v): This object represents known hazards related to process steps.
  • CCP Library (cpp_library__v): This object represents a collection of established critical control points.
  • CCP-Hazard Analysis (cpp_hazard_analysis__v): This object represents an Ingredient Hazard Analysis or Process Hazard Analysis in a HACCP Plan and an associated critical control from the library.
  • CCP-Audit (cpp_audit__v): This object represents an audit joined with a critical control point.
  • Process-Process Step (process_process_step__v): This object represents the order of Process Steps included in a particular process.
  • Process Step Connection (process_step_connection__v): This object represents the connection between an input step and an output step in a process.
  • HACCP Plan Process Step Connection (haccp_plan_process_step_connection__v): This object represents the connection between HACCP Plan process steps by defining the input HACCP Plan process step and output HACCP Plan process step.
  • HPPS - PHA (hpps_pha__v): This object represents the list of HACCP Plan process steps referring to a single Process Hazard Analysis.
  • Process Hazard Analysis - Hazard (pha_hazard__v): This object joins the Process Hazard Analysis and Hazard objects.
  • Ingredient Involved (hpps_hpi__v): This object represents the ingredient involved in a process step.

Configuration Overview

Configuring your Vault to use HACCP Management involves the following steps:

Configuring Object Page Layouts

HACCP Management provides a default object page layout for the HACCP Plan object to allow users to create, analyze, and review food safety-related procedures. You can customize object page layouts or create custom object page layouts from Admin > Configuration > Objects > HACCP Plan > Page Layout.

  • For the Ingredient Hazard Template (ingredient_hazard_template__v) object:
    • Detail Form Section: Include the Ingredient and optional Facility and Finished Product fields so Vault can correctly populate HACCP plans with the appropriate mapped field values.
    • Related Object Section: Add the Ingredient Known Hazard (ingredient_known_hazard__v) object to create a list of known hazards for the ingredient.
  • For the Process Hazard Template (process_hazard_template__v) object:
    • Detail Form Section: Include the Process Step and optional Facility and Finished Product fields so Vault can correctly populate HACCP plans with the appropriate mapped field values.
    • Related Object Section: Add the Process Known Hazard (process_known_hazard__v) object to create a list of known hazards for the process step.
  • For the CCP-Hazard Analysis (ccp_hazard_analysis__v) object:
    • Detail Form Section: Include the HACCP Plan field so Vault can populate the HACCP Plan value from the Ingredient Hazard Analysis or Process Hazard Analysis specified in the CCP-Hazard Analysis record.
    • Related Object Section: Add the CCP-Hazard Analysis (ccp_hazard_analysis__v) object to create a list of critical controls.

HACCP Management Lifecycles

HACCP Management includes the following object lifecycles which your organization can use and customize to suit your specific needs:

  • HACCP Plan Lifecycle
  • Ingredient Hazard Template Lifecycle
  • Process Hazard Template Lifecycle

HACCP Management Workflow

The HACCP Plan Lifecycle includes standard object workflows which your organization can use and customize to suit your specific needs.

Configuring HACCP Management Object Actions

The HACCP Plan object lifecycle contains the following actions:

  • Create HACCP Plan Design from Design: Copies the hierarchy of a HACCP Plan Design and its related HACCP Plan Ingredient, HACCP Plan-Process Step, Ingredient Hazard Analysis, Process Hazard Analysis, HACCP Plan-Process Step Connection, CCP-Hazard Analysis, HPPS - PHA, Ingredient Involved, and Action Item records into a new set of records. The Source HACCP Plan field in the new HACCP Plan record will contain the ID of the copied HACCP Plan.
  • Create HACCP Plan from Design: Offers the same functionality as the Create HACCP Plan Design from Design action except HACCP Plan is the target object type rather than HACCP Plan Design.
  • Populate HACCP Plan: Extracts field values from Ingredient Known Hazard and Process Known Hazard, and populates the extracted values into their mapped fields in existing HACCP Plan Ingredient, Ingredient Hazard Analysis, HACCP Plan Process Step, Process Step Connection, HPPS - PHA, Ingredient Involved, and Process Hazard Analysis records for a HACCP Plan.
  • HACCP Flow Diagram actions: Support the functionality of HACCP Flow Diagrams, enabling users to launch, lock, and unlock diagrams directly from a specific HACCP Plan.

Configuring the Create HACCP Plan from Design & Create HACCP Plan Design from Design Actions

Depending on your business needs, add these actions as a record action on the HACCP Plan object to:

  • Add these actions as user actions on any HACCP Plan Lifecycle state
  • Add these actions as entry actions on any HACCP Plan Lifecycle state

When users run the Create HACCP Plan Design from Design or Create HACCP Plan from Design actions, the Source HACCP Plan field in the new HACCP Plan record will contain the ID of the copied HACCP Plan Design. Vault does not copy:

  • System-managed fields.
  • Inactive object types.
  • Inactive object fields.
  • Any fields with the Do not copy this field in Copy Record checkbox selected.

Configuring the Populate HACCP Plan Action

The Populate HACCP Plan record action is available as a user action or an entry action on the HACCP Plan object lifecycle. Depending on your business needs, you can configure the Populate HACCP Plan action to exclude certain object records.

Complete the following steps to configure the Populate HACCP Plan action:

  1. Navigate to the appropriate HACCP Plan lifecycle state.
  2. Select Edit for the applicable User Action or Entry Action section.
  3. Add the Populate HACCP Plan action to the user or entry action, as applicable.
  4. Select the values required for the Ingredient Template Matching field(s). This specifies which approved ingredient hazard template will be used to copy the Ingredient Known Hazards to the Ingredient Hazard Analysis. You can add field-level mapping to specify which field values from Ingredient Known Hazards will be copied to the Ingredient Hazard Analysis.
  5. Select the values required for the Process Step Template Matching field(s). This specifies which approved process hazard template will be used to copy the Process Known Hazards to the Process Hazard Analysis. You can add field-level mapping to specify which field values from Process Known Hazards will be copied to the Process Hazard Analysis.
  6. Remove any objects you need to exclude from the Object(s) Included in Automation field. This excludes objects included by default from having their fields populate when the action is run.
  7. For the user action configuration, enter an Action Label.
  8. Click Save.

For the Populate HACCP Plan action to run successfully, you need to ensure the following:

  • If Ingredient Hazard or Process Hazard are selected in the Object(s) included for Automation, then the ingredient template matching fields(s) or process step template matching field(s) on the related template records and HACCP Plan must not be blank. Vault compares the matching fields (configured during user or entry action configuration) between the HACCP Plan and template records, and searches for an exact match on the matching field values on the related template records. Formulation and Process Step are the default matching fields.
  • Only one (1) template record in an Approved lifecycle state or Completed State type is found based on the matching fields.

HACCP Flow Diagram Actions

The following actions support the HACCP Flow Diagram:

  • Launch Process Flow Diagram: Allows users to launch the HACCP Flow Diagram for a HACCP Plan record.
  • Lock HACCP Flow Diagram and Unlock HACCP Flow Diagram: Prevents users from editing the HACCP Flow Diagram and unlocks the diagram so users can make updates.

To make these actions available to users on a HACCP Plan, first add them as record actions on the HACCP Plan object. You can then add these actions to the relevant HACCP Plan lifecycle states as user actions or entry actions.

Configuring the HACCP Flow Diagram

You can specify up to three (3) fields to display in the Hazard Analysis section of the Information panel of the HACCP Flow Diagram in addition to the Display Label and Description fields, which display by default in the General section of the panel.

To configure fields:

  1. Navigate to Admin > Configuration > User Interface > Pages > Process Flow Diagram > Side Panel Configuration.
  2. Click Edit.
  3. Select the fields you want to display.
  4. Click Save.

Fields are only available to be configured on certain HACCP Plan object types.

Configuring Process Step Types for the HACCP Flow Diagram

You can enable HACCP Plan Process Step object types to display process steps as different shapes on a HACCP Flow Diagram. The HACCP Flow Diagram displays the following Process Step types:

  • Process Step: A regular process step on a process flow diagram.
  • Material: A process step that introduces a raw material, such as an auxiliary material, or the receipt of a raw material.
  • Logistic: A process step involving distribution or storage of raw material.
  • Connector: The start or end of a process flow, or a step used to connect two flows or modular HACCP Plans together.

You can enable object types as needed on the HACCP Plan Process Step object to display on the HACCP Flow Diagram.

Limitations

HACCP Management has the following limitation:

  • The configuration of object references visible to users on the HACCP Flow Diagram cannot be configured to include tokens in the VQL criteria for dynamic reference constraint.

Configuring User Permissions

You must ensure users have the appropriate read and create permissions to access the appropriate objects and object fields in addition to the permissions outlined below:

  • For the HACCP Plan object:
    • Create, Edit, Delete permission.
    • For the HACCP Plan object fields: if a field needs to be unique, you must enable the field to be required as well. To do so, select the Values must be unique setting and the User must always enter a value (required) setting.
  • For the Create HACCP Plan Design from Design or Create HACCP Plan from Design actions: Create permissions for both the target object type and the target object.
  • For the HACCP Plan Process Step and HACCP Plan Process Step Connection objects:
    • Read permission for users to view the HACCP Flow Diagram.
    • Create, Edit, and Delete permission for users to modify and create new process steps and process step connections in the HACCP Flow Diagram.
  • For the Process Step and Process Step Connection objects: Create, Edit, and Delete permission for users to modify and create new process steps directly from the HACCP Flow Diagram.
  • For the Display Label field on the HACCP Plan Process Step, HACCP Plan Ingredient, and CCP-Hazard Analysis objects: Read permission.
  • For the Step Connection Type field on the HACCP Plan Process Step Connection object: Read permission.
  • For the Optional/Required field on the HACCP Plan Process Step object: Read permission.
  • For the HACCP Plan Process Step object: users must have Read permission on the Process Step, Material, Logistics, and Connector object types to view the HACCP Flow Diagram.
  • For the HACCP Plan Ingredient and Ingredient Involved objects: users must have Read permission.

You can complete all the steps in this article with the standard System Administrator or Vault Owner security profile. If your Vault uses custom security profiles, your profile must grant the following permissions:

Type Permission Controls
Security Profile Admin: Configuration: Object Lifecycles: Create, Edit Ability to create and modify object lifecycles.
Security Profile Admin: Configuration: Object Workflows: Create, Edit Ability to create and modify object workflows.
Security Profile Admin: Configuration: Objects: Create, Edit Ability to create and modify Vault objects.