GMP quality reports · Training guide
Hold Time Study Report
Establish the maximum hold times for intermediates, bulk product and process pools from your time-point data, and compare them with the hold times you propose for the batch record.
Open the tool at https://app.cmcfy.com/app/hold-time-study.html. This guide is also online at https://cmcfy.com/guides/hold-time-study.html
1. What this module does
You list each material held, its container, condition and proposed maximum hold, and enter the results at each time point with their criteria.
The tool finds the longest time at which every result passed (with every earlier time point also passing), compares it with the proposed hold time, shows the change from the initial value and checks microbiological testing.
What you get
- A Word or PDF report: Hold time study report.
2. Before you start
Have these ready. You can still start with the example data and replace it piece by piece.
- The materials held, containers, conditions and proposed hold times.
- Results at time 0 and each time point, with criteria.
3. Step by step with the example
Open the tool at app.cmcfy.com/app/hold-time-study.html. The example is loaded when the page opens, so every panel already has realistic data. Follow the steps to see how it works, then replace the example with your own data.
Describe the study
Enter the product, the report and protocol numbers and the batches.

List materials and results
One row per material with the unit (h or days). One result row per material, test and time point.
Read the result
The headline says whether the proposed hold times are supported: "3 hold times supported".

Hold times. Resolve alerts and download
A failing result is critical. Proposed hold times beyond the data, missing time-0 results and missing microbiological tests are flagged. Then preview and download.

4. Field reference
Every input in the tool, panel by panel. Tables accept rows pasted straight from Excel, comma-separated text, or a loaded file; check the columns after loading a file. Fields marked “when it applies” appear only for the choices that need them.
1 · Study
| Field | What to enter |
|---|---|
| Product | Type it in. |
| Regulations | Choose one: US: 21 CFR 211.111; EU: EU GMP Annex 15; Both US and EU. |
| Report number | Type it in. |
| Protocol number | Type it in. |
| Batches | Type it in. |
2 · Materials held
One row per material and stage. Unit: h or days.
| Field | What to enter |
|---|---|
| Materials | Use exactly the same material name in the results table. A table. Columns: Material and stage | Container | Storage condition | Proposed maximum hold | Unit. Paste rows from Excel, type comma-separated rows, or press Load file (Excel, CSV, Word, PDF or a scan). |
3 · Results
One row per material, test and time point (in the unit of that material). Time 0 is the initial result.
| Field | What to enter |
|---|---|
| Results | A table. Columns: Material and stage | Test | Time | Result | Acceptance criterion. Paste rows from Excel, type comma-separated rows, or press Load file (Excel, CSV, Word, PDF or a scan). |
| Deviations and their impact | Type or paste text. |
5. Checks and alerts
Calculations and pass/fail outcomes always come from fixed rules, never from AI. The tool checks:
- Each result against its criterion.
- Proposed hold time not longer than the supported hold time.
- Initial (time 0) results; microbiological testing.
How to resolve alerts
- Critical alerts block the download and must be fixed in the data. A failing result can instead be linked to an investigation: type the investigation reference and outcome and press Record.
- Major alerts block the download until you fix them or type a justification and press Accept justification.
- Minor alerts do not block anything. They are listed in the documents so the reviewer sees them.
- Some alerts have an Apply fix button that makes the change for you. Reopen undoes a justification.
Narratives
This module writes: Discussion and conclusion. Each narrative is written by fixed rules from your data. You can edit it in the box. Rewrite with AI (where your plan includes AI) rewrites it in regulatory style; every number in the text is checked against your data, and a number that does not match is flagged under the box and blocks the download until you correct it. Reset to rule-based text brings back the original.
6. Preview, gap review and download
- Press Preview next to a section, or Preview and download all. The document opens in a preview window, exactly as the Word file will read.
- The left side lists the review, run on your device: gaps in the data (missing values, open alerts), gaps in the report (missing content the guidance expects, placeholders such as [site] or TBD left in the text) and, if you load the approved protocol under Compare with the protocol, differences from the protocol (requirements, criteria, batches or time points it plans that the report does not show).
- Click a finding to jump to the place in the preview. Fix it in the tool, then preview again.
- Optional AI review: a second read for contradictions, claims without data and vague wording. The report text is sent to Claude only when you press it, and only where your plan includes AI. Check every AI finding; AI can be wrong.
- Press Download Word (.docx) or Download PDF. With several documents open, All as Word (.zip) and All as PDF (.zip) download the set. The download buttons stay disabled while a blocking alert is open; the preview still works.
Documents this module produces
| Section | Document |
|---|---|
| Report | Hold time study report |
Use Save project to keep your work as a file on your computer, and Open project to continue later. Start blank clears every field; Load example brings the example back. Nothing is stored on CMCfy servers.
7. US and EU submissions
US follows 21 CFR 211.111 (time limits on production). EU follows EU GMP Annex 15. WHO TRS 992 Annex 4 gives the general approach.
8. Working with other modules
- The hold times are summarised in the Process & Controls Writer (3.2.P.3.5) and the Process Validation Report.
9. Common pitfalls
- Testing in a container that is not the production container.
- Proposing a hold longer than the last passing time point.
10. Practice exercises
Each exercise starts from the example (press Load example to reset). We run these on every update of this guide, so the result you see should match.
Propose a longer blend hold
Change the proposed hold for the final lubricated blend from 30 to 45 days.
Expected resultThe headline shows one proposed hold time not supported.