HACCP Monitoring Log & Corrective Action Form

Interactive monitoring log that captures CCP checks, measured values, verification steps, immediate corrective actions, root cause, long-term corrective actions, and closure — designed for quick mobile entry and auditable storage.

{"Title":"HACCP Monitoring Log & Corrective Action Form","IntroductionHtml":"

Use this form to record checks at Critical Control Points (CCPs). Capture the measured value, verifier, whether the check passed, immediate corrective actions, verification steps, and closure information. Required fields are indicated. Examples:

  • Temperature check (cook): Ideal >= 74 °C — record measured value and verifier initials.
  • Cooling: record start/end temperatures with timestamps to show compliance with cooling limits.
  • Handwashing: observe procedure and record pass/fail and corrective action if missed.

Tip: When a numeric reading is not applicable, leave numeric fields blank and use "Notes & evidence" to describe the observation. This Interactive form is ready to submit via mobile devices; submissions are stored for audit, reporting, and follow-up.

","SubmitLabel":"Save entry","SuccessMessage":"Monitoring entry saved successfully.","DataType":"HACCPMonitoringEntry","SchemaVersion":"1.0","Fields":[{"Key":"haccp_plan_ref","Type":"text","Label":"HACCP plan reference","HelpText":"Section or document ID in your HACCP plan (optional)","Required":false},{"Key":"ccp_name","Type":"text","Label":"CCP name","HelpText":"Name of the critical control point (e.g., Final cook — chicken)","Required":true},{"Key":"ccp_id","Type":"text","Label":"CCP ID","HelpText":"Internal identifier from HACCP plan (optional)","Required":false},{"Key":"ideal_range","Type":"text","Label":"Ideal range / critical limit","HelpText":"Describe the critical limit (e.g., ≥74 °C; Cooling: 60→21 °C within 2 hours; then to 5 °C within 6 hours)","Required":true},{"Key":"measurement_method","Type":"select","Label":"Measurement method","HelpText":"Tool or method used for this check","Required":true,"Options":[{"Value":"thermometer","Label":"Thermometer (probe)"},{"Value":"infrared","Label":"Infrared thermometer"},{"Value":"ph_meter","Label":"pH meter"},{"Value":"visual","Label":"Visual check"},{"Value":"observation","Label":"Observation (behavior/process)"},{"Value":"other","Label":"Other"}]},{"Key":"measured_value","Type":"number","Label":"Measured value (numeric)","HelpText":"Enter numeric measurement. Use unit field to specify °C, °F, %, pH, etc. Leave blank if not numeric.","Required":false},{"Key":"measured_unit","Type":"select","Label":"Measured unit","HelpText":"Unit for measured value","Required":false,"Options":[{"Value":"C","Label":"°C"},{"Value":"F","Label":"°F"},{"Value":"percent","Label":"% (RH)"},{"Value":"pH","Label":"pH"},{"Value":"count","Label":"Count / other"},{"Value":"NA","Label":"N/A / Not numeric"}]},{"Key":"measurement_time","Type":"text","Label":"Measurement date & time","HelpText":"Format: YYYY-MM-DD HH:MM (local time). Use current time for live checks.","Required":true},{"Key":"verifier_initials","Type":"text","Label":"Verifier initials","HelpText":"Initials or short name of person who performed the check","Required":true},{"Key":"pass_fail","Type":"radio","Label":"Pass / Fail","HelpText":"Does the measured value meet the critical limit?","Required":true,"Options":[{"Value":"pass","Label":"Pass"},{"Value":"fail","Label":"Fail"}]},{"Key":"immediate_corrective_action","Type":"textarea","Label":"Immediate corrective action taken","HelpText":"Describe actions taken immediately to protect food safety (e.g., returned item to cook, held product, discarded batch, adjusted equipment). Include who acted and time.","Required":true},{"Key":"verification_steps","Type":"textarea","Label":"Verification steps","HelpText":"Describe how you verified the corrective action worked (e.g., re-check temperature after 15 minutes, calibration check, supervisor review). Include evidence references where possible.","Required":true},{"Key":"root_cause","Type":"select","Label":"Probable root cause","HelpText":"Select likely cause(s). Choose 'Other' to add details.","Required":false,"Options":[{"Value":"equipment","Label":"Equipment failure / calibration issue"},{"Value":"procedure","Label":"Procedure not followed"},{"Value":"timing","Label":"Timing / workload / understaffed"},{"Value":"storage","Label":"Storage error (temperature control)"},{"Value":"supplier","Label":"Supplier issue"},{"Value":"training","Label":"Staff training / knowledge"},{"Value":"other","Label":"Other"}]},{"Key":"root_cause_details","Type":"textarea","Label":"Root cause details (if Other or to elaborate)","HelpText":"Provide additional investigation notes, batch IDs, supplier references, or calibration records.","Required":false},{"Key":"long_term_corrective_action","Type":"textarea","Label":"Long-term corrective action (prevention)","HelpText":"Describe measures to prevent recurrence, assign responsibility, and set target completion date (e.g., retrain staff by MM-DD, schedule equipment service by MM-DD).","Required":true},{"Key":"long_term_owner","Type":"text","Label":"Owner of long-term action","HelpText":"Person or role responsible for implementing the long-term action","Required":false},{"Key":"long_term_target_date","Type":"text","Label":"Target completion date","HelpText":"YYYY-MM-DD","Required":false},{"Key":"date_closed","Type":"text","Label":"Date closed","HelpText":"Date when corrective action was completed (YYYY-MM-DD)","Required":false},{"Key":"reviewer_signature","Type":"text","Label":"Reviewer name & signature","HelpText":"Name of reviewer accepting closure (can be initials)","Required":false},{"Key":"notes_evidence","Type":"textarea","Label":"Notes & evidence","HelpText":"Optional: links to photos, calibration records, batch/lot IDs, or additional context. (If you have photos, save externally and paste a link here.)","Required":false},{"Key":"is_verification","Type":"yesno","Label":"Is this entry a verification of previous monitoring or corrective action?","HelpText":"Select Yes if this record verifies a prior corrective action rather than representing the initial monitoring event.","Required":false}],"HelpHtml":"

Want to use this form as part of an audit or dashboard? Enable content submissions (POST /content/{contentItemId}/submit) to capture entries to the system storage for reporting, trending, and follow-up.

"}

Discussion

Comments and conversation will live here.