DHF Document Creation Service
Generate Design History File (DHF) and Quality Management System (QMS) documents with proper formatting, traceability, and regulatory compliance.
Overview
The document creation service:
- •Selects appropriate template based on document type
- •Generates content addressing specific regulatory requirements
- •Maintains traceability to DCA items, hazards, and requirements
- •Applies consistent formatting and naming conventions
- •Updates the document registry
Usage
code
/create-dhf <doc-type> <project-path> # Create new document /create-dhf <doc-type> <project-path> --from-gap GAP-01 # Create to remediate gap /create-dhf <doc-type> <project-path> --revision # Create new revision
Document Types
| Type | Template | Typical IDs | V-Model Stage |
|---|---|---|---|
requirements | System/Software Requirements | DHFD-44, DHFD-26 | 02-Requirements |
design | Design Specification | DHFD-27 | 03-Design |
risk-analysis | Risk Analysis / FMEA | DHFD-28 | 06-Risk_Management |
risk-plan | Risk Management Plan | DHFD-5 | 01-Planning |
verification | Verification Protocol/Report | DHFD-29, DHFD-30 | 05-Verification |
validation | Validation Protocol/Report | DHFD-31 | 05-Verification |
usability-plan | Usability Engineering Plan | QA-UEP-007-A | 01-Planning |
usability-protocol | Summative Evaluation Protocol | QA-UEP-007-B | 07-Usability |
usability-report | Summative Evaluation Report | QA-UEP-007-C | 07-Usability |
user-manual | User Manual / IFU | DHFD-89 | 08-Labeling |
swha | Software Hazard Analysis | DHFD-PT-23 | 06-Risk_Management |
ecr | Engineering Change Request | ECR-xxx | 10-Design_Changes |
dhf-index | Design History File Index | DHFD-PT-74 | 11-DHF_Index |
Workflow
Phase 1: Initialization (Programmatic)
- •Determine template based on document type
- •Get next document ID from registry (if new)
- •Create document shell via LibreOffice MCP:
code
libreoffice/create_document
- •Populate header metadata:
- •Document ID
- •Title
- •Revision number
- •ECR reference
- •Date
- •Author fields
Phase 2: Content Generation (LLM)
- •
Read context:
- •Gap details from
gaps.json(if --from-gap) - •Related documents for consistency
- •DCA requirements being addressed
- •Gap details from
- •
Fetch regulatory text:
- •Use
/ecfrfor FDA regulations - •Reference Master Standards Database
- •Use
- •
Generate content addressing:
- •Standard clause requirements
- •Existing document patterns
- •Traceability references (DCA-xxx, HZ-xx, SR-xx)
Phase 3: Traceability (Hybrid)
- •
[Code] Extract trace IDs from content:
- •System requirements: SYS-xxx
- •Software requirements: SRS-xxx
- •Hazards: HZ-xx
- •Causes: C-xx
- •Safety requirements: SR-xx
- •DCA items: DCA-xxx
- •
[Code] Validate against registry:
- •Verify referenced IDs exist
- •Flag unknown references
- •
[Code] Update traceability matrix:
- •Extend existing traceability data
- •Link DCA → Document → Verification
Phase 4: Assembly (Programmatic)
- •
Insert content via LibreOffice MCP:
codelibreoffice/insert_text_at_position libreoffice/format_text
- •
Apply formatting:
- •Use
format_documentPython module from Higi scripts - •Consistent heading styles
- •Proper list formatting
- •Table formatting
- •Use
- •
Generate filename:
code[DTG] DHFD-XX Title RXX ECRXXX YYYY-MM-DD.odt
- •
Save to appropriate location:
- •New documents:
<project>/active/drafts/ - •Released documents: Appropriate V-Model stage folder
- •New documents:
Phase 5: Registry Update (Programmatic)
- •
Update
registry.json:- •Add new document entry
- •Update revision if existing
- •
Update gap status (if --from-gap):
- •Set
remediation_docingaps.json - •Update gap
statustoin_progress
- •Set
Document Naming Convention
code
[Prefix] DHFD-{number}[.variant] {Title} R{revision} ECR{number} {date}.{ext}
Examples:
[DTG] DHFD-89.1 Higi Green AAC User Manual R01 ECR155 2026-02-03.docx
[DTG] DHFD-28 Risk Analysis R7 ECR149 2026-01-28.odt
QA-UEP-007-B Summative Evaluation Protocol R2 ECR149 2026-02-01.docx
Template Sections by Document Type
Risk Analysis (DHFD-28)
- •Purpose
- •Scope
- •Risk Management Process Overview
- •Hazard Identification
- •Risk Estimation Methodology
- •Design FMEA
- •Hazard List (HZ-xx)
- •Cause Analysis (C-xx)
- •Safety Requirements (SR-xx)
- •Risk Evaluation
- •Risk Control Implementation
- •Residual Risk Evaluation
- •Overall Residual Risk Assessment
- •Traceability References
Usability Engineering Plan (QA-UEP-007-A)
- •Purpose
- •Scope
- •Use Specification
- •Intended Use
- •Intended Users
- •Use Environment
- •User Interface Characteristics
- •Hazard-Related Use Scenarios (HRUS)
- •Critical Tasks
- •Evaluation Plan
- •Traceability to Risk Analysis
Software Requirements Specification (DHFD-26)
- •Purpose
- •Scope
- •Definitions
- •System Overview
- •Software Requirements
- •Functional Requirements
- •Performance Requirements
- •Interface Requirements
- •Safety Requirements (from SWHA)
- •Traceability to System Requirements
- •Verification Methods
Integration
From Gap Analysis
Use --from-gap to create documents that directly address identified gaps.
To Traceability
Documents link to DCA items and feed into build_traceability_matrix.py.
To Project Management
New documents may trigger review scheduling via /ecr-manager.
Example
code
User: /create-dhf usability-protocol Work/Clients/Qualira/Higi/special_510k --from-gap GAP-01 Claude: Creating Summative Evaluation Protocol to address GAP-01 (Missing summative usability evaluation)... Reading context: - Gap GAP-01: Missing summative evaluation per IEC 62366-1 Clause 5.9 - DCA items: DCA-045, DCA-046, DCA-047 - Related docs: QA-UEP-007-A (Use Specification) Generating protocol addressing: - Critical tasks from HRUS (T1-T12) - Test setup and environment - Participant criteria (15 representative users) - Task scenarios with success criteria - Data collection forms Created: [DTG] QA-UEP-007-B Summative Evaluation Protocol R1 ECR149 2026-02-03.odt Location: special_510k/active/drafts/ Updated: - registry.json: Added QA-UEP-007-B entry - gaps.json: GAP-01 status → in_progress, remediation_doc → QA-UEP-007-B
Reference
- •Format module:
Work/Clients/Qualira/Higi/scripts/format_document/ - •Protocol template:
Work/Clients/Qualira/Higi/scripts/create_protocol_with_content.py - •Naming convention:
Work/Clients/Qualira/Higi/CLAUDE.md