Chapter 1 · Purpose, scope and standards
What a controlled document is
A file in a shared folder is a document. A controlled document is a document that also has an owner, a number, a revision, an approval and a list of people who must follow it, so that only the current approved revision is in use. This chapter says what Document Control builds, what it leaves to other modules, and which standards it is measured against.
25 min6 standards10 capabilities3 tiers: MVP, STD, BIC
By the end of this chapter you can
- Say what makes a document controlled and which tools Document Control replaces.
- Name the six standards the module is built against and what each is used for.
- Say which neighbouring module owns what this one leaves out, and which capabilities are MVP, STD and BIC.
- Explain how document types give each document its number, review period and approval route.
What Document Control does
Document Control manages the life of SOPs, work instructions, specifications, forms and policies so that only the current approved revision is in use, every change is reviewed, approved and signed, the affected people are trained, and the history is ready for an audit. It replaces the controlled-document tools a business usually pays for: MasterControl Documents, Veeva Vault QualityDocs, Qualio, Intelex Document Control and Ideagen, and also a SharePoint library used as a controlled library. The module specification cites market overviews of these platforms as its sources [6][7].
The word that matters is controlled. A procedure on a shared drive can be edited by anyone, copied into an email, printed and left in a binder, and nobody can say afterwards which version a person followed on a given day. A controlled document answers that question from the record.
What is in, and what is not
- In: document types, numbering, metadata and ownership; the revision lifecycle from draft to review to approval to effective to superseded to obsolete; review and approval routing with Part 11 e-signatures; periodic review, controlled distribution, read-and-understood and controlled print; training triggers to M07 on a new effective revision; a register of external documents such as standards and regulations.
- Out: uncontrolled wiki and knowledge content (M17, the internal knowledge variant); engineering drawings and CAD release (M14 PLM); and the change control decision workflow (M08). A revision can point at a change control record, but the decision to make the change is made in M08.
Ten capabilities in three tiers
Each capability carries a tier. MVP must exist for a business to cancel its incumbent tool with confidence. STD is parity with mainstream tools, what a buyer expects in a demo. BIC marks best-in-class differences, such as those made possible by AI. MVP and STD are required for the course; BIC is advanced work.
| Capability | What it does | Tier |
|---|---|---|
| Document register | Types with numbering prefixes, owners, sites, confidentiality, related records, full-text and metadata search | MVP |
| Revision lifecycle | Major and minor revisions, check-out and check-in, redline compare between revisions, effective-date scheduling, automatic supersede of the prior revision | MVP |
| Review and approval | Parallel or serial reviewer routing by document type, comments, reject-with-reason, approval e-signatures with meaning | MVP |
| Training linkage | A new effective revision creates read-and-understood or full training assignments in M07 for the affected roles before the effective date | STD |
| Distribution and acknowledgement | Controlled distribution lists by role, acknowledgement tracking, notifications | STD |
| Controlled print | Watermarked, numbered controlled copies with reconciliation; an uncontrolled-copy watermark on ad-hoc prints | STD |
| Periodic review | Review due by type (for example every 24 months); outcome no change, revise or obsolete; overdue escalation | STD |
| Archival | A PDF/A rendition of each effective revision with its hash; retention rules | STD |
| External documents | A register of external standards and regulations with edition monitoring | BIC |
| AI assist | Draft change summaries from redlines; flag conflicts with related documents; always human-approved | BIC |
The standards, and what each one is used for
| Standard | Used in this module for |
|---|---|
| ISO 9001:2015 clause 7.5 [1] | Creating, updating and controlling documented information |
| ISO 13485:2016 clauses 4.2.4 and 4.2.5 [2] | Control of documents and control of records for medical devices |
| 21 CFR Part 11, sections 11.10, 11.50 and 11.70 [3] | Audit trails; signature manifestation (name, date and time, meaning); linking a signature to its record |
| EU GMP Annex 11 [4] | Computerised systems in GMP |
| ISO 15489-1:2016 [5] | Records management principles and retention |
| ISO 19005 (PDF/A) [8] | A long-term archival rendition of each effective revision |
Types, numbers and ownership
Every document belongs to a document type (table doc_doc_type). The type sets the numbering prefix, the review period in months, whether training is required and in which mode (read and understood, a course, or none), and the approval route. The document inherits those rules, so a rule is changed once on the type and not on every document.
Each controlled document has an owner, a person in the spine's core_person, who is accountable for it, and may belong to a site. Its confidentiality is one of public, internal, confidential or restricted. A document number is unique in the business, and the number sequence issues it.
Knowledge check
Which of these does Document Control leave to another module?
Knowledge check
Where do a document's numbering prefix and review period come from?
You need: Three real documents from your business, of three different types, and your AI coding agent
Use documents you chose in Session 1. Work on paper or in a text file first; the agent comes in at step 5. Do not copy a document outside the company.
Outcome: Three real documents classified by type, owner, route, review period, training mode and confidentiality, with sample rows your agent wrote and you checked.
References
- ISO 9001:2015 Quality management systems: requirements (clause 7.5, documented information). https://www.iso.org/standard/62085.html
- ISO 13485:2016 Medical devices: quality management systems (clauses 4.2.4 and 4.2.5). https://www.iso.org/standard/59752.html
- eCFR: Title 21, Part 11, Electronic records; electronic signatures. https://www.ecfr.gov/current/title-21/chapter-I/subchapter-A/part-11
- European Commission: EudraLex Volume 4, EU GMP guidelines (includes Annex 11, computerised systems). https://health.ec.europa.eu/medicinal-products/eudralex/eudralex-volume-4_en
- ISO 15489-1:2016 Information and documentation: records management, concepts and principles. https://www.iso.org/standard/62542.html
- Prezent: QMS platforms for life sciences (the MasterControl and Veeva modules). https://www.prezent.ai/blog/qms-for-life-sciences
- GetApp: Quality Forward eQMS features. https://www.getapp.co.uk/software/2080996/quality-forward
- ISO 19005-1:2005, the first part of the ISO 19005 (PDF/A) family: electronic document file format for long-term preservation. https://www.iso.org/standard/38920.html
Chapter 2 · The data model and the lifecycle
Revisions, approval and e-signature
Nine tables hold the types, the documents, their revisions, the review tasks, the links, the distribution, the printed copies, the periodic reviews and the external register. Three rules keep the record honest: a revision that has left draft is not edited, a signature is bound to the revision's hash, and only one revision of a document is effective at a time.
30 min9 tables6 revision statuses3 things a signature must show
By the end of this chapter you can
- Name the nine doc_ tables and say what each one holds.
- Follow a revision through its statuses and say how the document header differs from the revision.
- Explain serial and parallel approval routes, and why a reject needs a reason.
- Say what a signature must show, and how its link to the revision hash is checked.
Nine tables on the shared spine
Every table in the module starts with the standard columns every platform table has: id, tenant_id, created_at, created_by, updated_at, updated_by, row_version, archived_at and ext. The module has no people table, site list, role list or file store of its own: it points at core_person, core_site, core_job_role, core_attachment and core_e_signature. Its own tables share the prefix doc_.
| Table | Holds | Main columns (req = required) |
|---|---|---|
| doc_doc_type | A document type with numbering, review period and approval route | code req, unique; name req; numbering_prefix req; review_period_months; requires_training req; training_mode: read_and_understood, course or none; approval_route json req |
| doc_controlled_document | The header of a controlled document | doc_no req, unique; title req; doc_type_id req; owner_id req; site_id; current_revision_id; effective_revision_id; status req; confidentiality req; next_review_due |
| doc_revision | One revision with its source file and archival rendition | document_id req; revision_label req; major req; minor req; change_summary; change_control_ref (a soft link to M08); source_attachment_id; pdfa_attachment_id; sha256; status req; effective_at; superseded_at |
| doc_review_task | A reviewer's or approver's task with decision and signature | revision_id req; reviewer_id req; role req: reviewer, approver, qa_approver or owner; step_no req; due_at; decision req: pending, approve, reject or comment; comments; decided_at; signature_id |
| doc_document_link | A relationship to another document or record | document_id req; linked_type req; linked_id req; relation req: references, implements, supersedes, training_for, form_for or procedure_for |
| doc_distribution | Controlled distribution and acknowledgement | revision_id req; person_id; job_role_id; ack_required req; acknowledged_at; signature_id |
| doc_controlled_print | A numbered controlled copy with reconciliation | revision_id req; copy_no req; printed_by req; printed_at req; location_text; reconciled_at; reconciled_by |
| doc_periodic_review | A scheduled periodic review and its outcome | document_id req; due_at req; completed_at; reviewer_id; outcome req: pending, no_change, revise or obsolete; note |
| doc_external_document | The register of external standards and regulations | title req; issuer req; designation; edition; url; monitored req; last_checked_at; owner_id |
The document header has a status of its own: draft, in_review, approved, effective, superseded or obsolete. Its confidentiality is public, internal, confidential or restricted. A distribution row names a person, a job role or both; a row for nobody would mean nothing.
The life of a revision
A document does not change; it gets revisions. Each revision has a label made of a major and a minor number. By the convention used in this course, 1.0 is the first effective revision, 1.1 is a small change and 2.0 a big one. Each revision carries the source file, a change summary, a pointer to the change control record if there is one, and a sha256: a fingerprint of the file, computed on the server, that changes completely if one byte of the file changes.
| Revision status | Means | May it be edited? |
|---|---|---|
| draft | Being written; check-out and check-in apply | Yes, by the author |
| in_review | Submitted; the file's hash is fixed and review tasks are open | No |
| approved | Every step has signed; waiting for the effective date and the trainees | No |
| effective | The one revision readers use | No |
| superseded | Replaced by a newer effective revision; kept for the record | No |
| withdrawn | Taken out of use without a successor; kept for the record | No |
Because the revision cannot be changed after submission, redline compare is possible: the reviewer sees the exact difference between the effective revision and the one in review, and the change summary says why. An AI assistant can draft that summary from the redline, and flag conflicts with related documents, but a person approves what it writes.
Routes: serial, parallel and reject
Each document type carries an approval_route, a JSON list of steps. Every step has a number (step_no), a role and the reviewer. Steps with the same number run in parallel, and a step opens when every lower step is done, so one shape covers both serial and parallel routing. On submit, one doc_review_task is made for each step. Only the open step gets a due date.
{ "steps": [
{ "step_no": 1, "role": "reviewer" },
{ "step_no": 1, "role": "reviewer" },
{ "step_no": 2, "role": "approver" },
{ "step_no": 3, "role": "qa_approver" }
] }A decision is approve, reject or comment. A reject must give a reason, enforced by the database: a check refuses a reject with empty comments. A rejected revision returns to draft and keeps its tasks as history: any task of that round still pending is closed, so it leaves the inbox. Resubmitting opens a new round, recorded in ext.round, and the inbox shows only the current round's tasks.
Signatures: name, time, meaning and a link
An approval is signed. 21 CFR Part 11 asks for three things about a signature [1]: section 11.50 says a signed record shows the printed name of the signer, the date and time, and the meaning of the signature (for example review or approval); section 11.70 says the signature is linked to its record so it cannot be copied to another. Section 11.10 asks for secure, time-stamped audit trails of changes.
The module meets them this way. At the moment of signing the person types their password again (re-authentication, so a screen left open cannot sign). The server writes a core_e_signature with the signer, the meaning, the record type and id, the date and time from the server's clock, and a record_hash equal to the revision's sha256. The screen shows the printed name, the date and time and the meaning beside the signature. The meaning is one of the words the spine's check constraint allows (authored, reviewed, approved, verified, performed, released, rejected, acknowledged); this module uses reviewed, approved and acknowledged, and puts the signer's role in the signature's comment, for example qa_approver: approved_for_withdrawal.
Knowledge check
Revision 2.0 of a document is in review while 1.0 is effective. What do readers see?
Knowledge check
What must a Part 11 signature show beside it?
You need: Your running platform with the doc_ tables, three test accounts (author, reviewer, approver), a small made-up text file, and your AI coding agent
Use a made-up document with no real names or content. The aim is to see every rule in this chapter work, and fail where it should.
Outcome: A revision taken through a rejection and a resubmission to approved, with signatures that show name, time and meaning, and four refusals (a change after submit, a reject without a reason, a changed copy and a second effective revision) that you saw happen.
References
- eCFR: Title 21, Part 11, Electronic records; electronic signatures (sections 11.10, 11.50, 11.70). https://www.ecfr.gov/current/title-21/chapter-I/subchapter-A/part-11
- ISO 9001:2015 Quality management systems: requirements (clause 7.5, documented information). https://www.iso.org/standard/62085.html
- ISO 13485:2016 Medical devices: quality management systems (clauses 4.2.4 and 4.2.5). https://www.iso.org/standard/59752.html
- GetApp: Quality Forward eQMS features. https://www.getapp.co.uk/software/2080996/quality-forward
- Prezent: QMS platforms for life sciences (the MasterControl and Veeva modules). https://www.prezent.ai/blog/qms-for-life-sciences
Chapter 3 · From approval to the floor and the archive
Effective, trained, printed and archived
Approval is not the end. A revision should become effective only when the people who must follow it have been trained; old paper copies must be collected; documents must be reviewed on a rhythm; and the effective file must be kept in a form that can be checked years later. This chapter covers those steps, the module's KPIs, and how to move the old library in.
25 min1 gate before effective3 KPIs3 definition-of-done tests
By the end of this chapter you can
- Explain the effective-date gate and why a revision must not become effective before its trainees are trained.
- Describe distribution, controlled print and reconciliation, and periodic review with its three outcomes.
- Say what a PDF/A copy and a stored hash give you, and how an archive check works.
- Define the three KPIs and the three definition-of-done tests, and say how to import an incumbent library without re-signing history.
Training before effective
When a revision is approved, someone has to learn what changed. The document type says how: read and understood (the reader acknowledges the revision, signed with the meaning acknowledged), a course (an assignment in M07, Training and Competence), or none. The approval step expands the distribution: one doc_distribution row for each person who holds each job role mapped to the document. ack_required is true on those rows only for read and understood; for a course the M07 assignment is the training, and for none nothing is required. The rows for job roles are the mapping only and are never acknowledged. The domain event trn.assignment.completed, which the module consumes, tells it when a course is done. In this course the scheduler does not wait for the event: at the effective date it reads trn_assignment and trn_completion directly.
The scheduler then guards the effective date. It counts the required trainees against the ones who have finished: the acknowledged rows for read and understood, or the completed M07 assignments for a course. When nobody is required, the revision becomes effective on its effective date. If everyone has, in one transaction it marks the old revision superseded, marks the new one effective, sets effective_revision_id on the header, sets the next review date, and publishes doc.revision.superseded and doc.revision.effective. If anyone is missing, the revision stays approved and the owner gets an action item naming who.
Distribution, print and review
- Acknowledgement. Each distribution row records when the person acknowledged the revision and the signature they made. The read-and-understood list shows who has not.
- Controlled print. A controlled copy is made from the revision's PDF/A copy (the source may be a Word file, which cannot be stamped page by page) and stamped with CONTROLLED COPY, a copy number, the document number and the revision label, and a doc_controlled_print row records who printed it, when and where. A reader's ad-hoc print is stamped UNCONTROLLED COPY with the print time and writes no row. The stamp is made on the fly, so the stored file and its hash stay untouched.
- Reconciliation. When a revision is superseded, any controlled copy not yet reconciled is collected. The administrator marks each reconciled, setting reconciled_at and reconciled_by, and the list of copies still out is on the admin screen.
- Periodic review. The type sets how often a document is reviewed, for example every 24 months. Each effective revision has a pending doc_periodic_review. The owner completes it with an outcome: no_change (the next review is scheduled), revise (a new draft revision starts) or obsolete (the QA approver signs an approval marked approved_for_withdrawal, the revision is withdrawn and the document becomes obsolete). A review past its due date raises doc.review.overdue once, with an action item for the owner and, after a delay you set, for the QA approver.
Archive and prove it
For long-term keeping, each revision gets a PDF/A copy when it becomes effective. PDF/A is the family of PDF forms standardised as ISO 19005 for long-term preservation of electronic documents [1]. The copy is stored as a core_attachment, linked by pdfa_attachment_id, and its hash is kept with the source's hash. A free converter such as LibreOffice can render it, and a free validator such as veraPDF can check it; run them as a job in your own CI or on one computer. A paid conversion service is the other way, and its price is read from its own page before you choose it. Imported effective revisions get their copy in one run after the import, and the archive check reports an effective revision with no PDF/A copy separately from a hash that does not match.
How long records are kept is a separate decision. Take the period from your regulator, your customer contracts, or ISO 15489-1 [2] and the control of records in ISO 13485 [5] if they apply, and write which source set it. Do not guess a number.
Three KPIs and three tests
| KPI | Definition |
|---|---|
| Review cycle time | Median days from submit-for-review to approval |
| Overdue periodic reviews | Documents past their review due date |
| Training readiness at effective date | Required trainees complete ÷ required trainees on the effective date; a revision with nobody required shows no training required |
Count a small fixed seed by hand and make the KPIs on the administrator's setup page, /documents/admin, agree. If they differ, fix the query, not the count. In the lab seed, review cycle time is 7, 8 and 2 days for the three approvals, so the median is 7.
Moving from the old tool
Export the documents with their metadata and revision history (CSV plus the files). Historical revisions arrive as superseded, with their original effective dates; the current revision arrives as effective. Never re-sign history. Signatures made in the old tool are kept as text and as the tool's own signature report, not recreated, because a new signature would claim a decision nobody made. Imported effective revisions create no training assignments, or an import would assign every course at once. Store every file once and compute its sha256 while storing, and set the numbering so new documents continue after the highest old number. Run old and new side by side for at least a week, compare, cut over, and cancel the old subscription only after its final export is safe.
Knowledge check
A revision's trainees are not all complete on its effective date. What should happen?
Knowledge check
When a library is imported from an old tool, how do the old signatures arrive?
You need: Your running platform with the seed from Session 2 and the workflow from Session 4; for steps 5 and 6, controlled print and the archive check from Session 6; and your AI coding agent
Use the fixed seed of made-up documents. Write your hand count first, then compare it with the platform.
Outcome: A hand count that matches the KPIs on /documents/admin, a revision held at the gate until a trainee finished, a controlled copy that needed reconciling, and an archive check you saw fail on a tampered copy.
References
- ISO 19005-1:2005, the first part of the ISO 19005 (PDF/A) family: electronic document file format for long-term preservation. https://www.iso.org/standard/38920.html
- ISO 15489-1:2016 Information and documentation: records management, concepts and principles. https://www.iso.org/standard/62542.html
- European Commission: EudraLex Volume 4, EU GMP guidelines (includes Annex 11, computerised systems). https://health.ec.europa.eu/medicinal-products/eudralex/eudralex-volume-4_en
- eCFR: Title 21, Part 11, Electronic records; electronic signatures. https://www.ecfr.gov/current/title-21/chapter-I/subchapter-A/part-11
- ISO 13485:2016 Medical devices: quality management systems (clauses 4.2.4 and 4.2.5). https://www.iso.org/standard/59752.html
Chapter 4 · 12 questions · 80% passes
Final assessment
Twelve questions across the element. Score 80% (10 of 12) to pass. Your LMS records your score and each answer; you can review the chapters and try again.
15 min12 questions≈ 15 minutesRetake allowed
Your result
CivOps AI Academy
Documents and E-Signature: Controlled Documents, Revisions and Approval
Element M06 complete · Learner
Your LMS records this completion. For the CivOps Foundation certificate, finish the Foundation Course at https://civops.io/learn.