Appearance
Changelog
Revision history of the Study Setup Product Requirements Document. Newest first.
2026-06-23
Incorporating Step 1 deliverable-review feedback (sessions of 15–16 Jun).
Changed
- Document export is PDF-only. Word export removed. Every exported page carries a watermark — a footer line (
{StudyID} · {DocumentType} · {VersionLabel} · {ReleaseStatus} · Checkpoint {CheckpointId} · Exported {ExportedAt UTC} by {Actor} · Uncontrolled when printed) plus, on non-released exports, a diagonal{ReleaseStatus} — NOT FOR USEstamp (ZenQMS convention). EventArtifactExportedrenamed toDocumentVersionExported, paired with theExportDocumentVersioncommand. (document-review.md)
Added
- Document export register — a derived view of
DocumentVersionExportedevents letting lab leaders monitor exports and catch outdated versions still in circulation. (document-review.md) - Field-specific search queries — users can query/filter by key study fields (site #, sponsor, indication, …) from the UI; the key-field set is defined in
settings.pyinitially, with runtime configuration tracked as a future enhancement. (search.md) - Tabular Export (CSV) — new cross-cutting capability: every list/table view (studies, documents, templates, materials, audit entries, search results, …) exports all matching records across all pages with the selected columns, permission-scoped. New
ExportListViewcommand →ListViewExportedevent. (tabular-export.md,index.md) - Version visibility filtering — new cross-cutting behavior: list/table views and search filter versioned entities (draft/current/superseded) with a per-query filter defaulting to current only, guarding against referencing outdated versions. (
version-visibility.md,search.md,index.md) - Source file types — ingestion accepts PDF, Word, and Excel only; scanned/image-only PDFs are OCR'd before parsing. Images, PowerPoint, and other types are never accepted as sources. (
ingestion.md) - Template image embedding — templates may embed images (logos, figures, label artwork) as template-owned static assets that render into generated documents. (
templates.md) - Source-document retention & versioning — uploaded sources are retained indefinitely, categorized by study and document kind, and versioned (latest is the active source, last-in-wins); each new version gets an AI-assisted change summary. Event
SourceDocumentReplacedrenamed toSourceDocumentVersionAdded. (ingestion.md) - Notifications module — triggers defined. Notifications are raised only in reaction to formal domain events (Policy →
CreateNotification), with a role-aware trigger→recipient matrix; in-app only for now. AddedReviewDeadlineApproaching/ReviewDeadlinePassedevents (scheduled deadline check). Past-due deliverable reminders deferred pending deliverable due-dates. (notifications.md,document-review.md) - Admin / Configuration module — the admin is Django's built-in admin (no bespoke UI planned): System Admin CRUD over configuration and reference data, audited. (
admin.md) - External Client Review Portal module — the chrome-less, token-scoped external reviewer site is now a first-class module (capabilities + access boundary made explicit); RC/grant lifecycle stays in Document Review. (
external-review.md,document-review.md) - Single ingestion engine (clarification). One ingestion engine serves both historical and go-forward studies (no per-purpose split); document types and parsers are extensible. (
ingestion.md) - AI scope clarification. Generative AI is used only for parsing/summarization within ingestion; there is no interactive in-app AI agent (out of scope/backlog). (
ingestion.md)
2026-06-10
- Initial version of the Product Requirements Document.