Skip to content

Commit 682dade

Browse files
committed
Merge branch 'updates-for-2021-guidance'
2 parents 1b47521 + 7a48142 commit 682dade

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+569
-339
lines changed

.github/workflows/documents.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ jobs:
1616
- name: Install RDM dependencies
1717
run: |
1818
sudo apt install -u latexmk texlive-fonts-recommended texlive-latex-extra texlive-font-utils
19-
wget https://github.com/jgm/pandoc/releases/download/2.14.0.1/pandoc-2.14.0.1-1-amd64.deb
20-
sudo dpkg -i pandoc-2.14.0.1-1-amd64.deb
19+
wget https://github.com/jgm/pandoc/releases/download/2.18/pandoc-2.18-1-amd64.deb
20+
sudo dpkg -i pandoc-2.18-1-amd64.deb
2121
pip install rdm[github]
2222
- name: Generate release documents
2323
run: |

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ dist
1111
.tox
1212
*.swp
1313
.tool-versions
14+
.vscode

README.md

+17-8
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,13 @@ cd regulatory
3333
make
3434
# regulatory documents stored in the "release" directory
3535

36-
# if pandoc is installed, you can also run
36+
# if pandoc and latex are installed, you can also run
3737
make pdfs
3838
make docs
39+
40+
# alternatively, if you use Docker
41+
docker compose run rdm make pdfs
42+
docker compose run rdm make docs
3943
```
4044

4145
## Professional Support
@@ -102,13 +106,14 @@ RDM is designed to be used within a typical software development workflow. When
102106

103107
## Dependencies
104108

109+
- Docker
110+
111+
OR
112+
105113
- Python 3.5+
106114
- Make
107-
- Jinja2 2.7+
108-
- PyYAML
109-
- gitpython
110-
- pygithub (optional, required when using GitHub as your project manager)
111-
- Optional for Word and PDF generation: Pandoc 2.14
115+
- rdm
116+
- Optional for Word and PDF generation: Pandoc 2.14 or newer
112117
- Also for PDF generation: pdflatex, (texlive-latex-extra and latexmk), or texlive-latex-full
113118

114119
## Installation
@@ -125,6 +130,8 @@ Run `rdm init` to generate a set of base documents for a project. By default th
125130

126131
| File | Purpose |
127132
| --- | --- |
133+
| `Dockerfile` | A dockerfile that can be used to compile the documents |
134+
| `docker-compose.yml` | Configures the necessary volume mounting when running the dockerfile |
128135
| `Makefile` | Contains recipes for compiling the markdown templates and data files into the release documents |
129136
| `config.yml` | Settings that alter `rdm`s behaviour |
130137
| `pandoc_pdf.yml` | Pandoc settings that are used when compiling the release PDFs from the release markdown documents |
@@ -369,6 +376,8 @@ The [contrib folder](https://github.com/innolitics/rdm/tree/main/contrib) includ
369376

370377
## Changelog
371378

372-
### v0.11.x
379+
### v0.11.1
373380

374-
- The default directory is now named "dhf", for [design history file](https://innolitics.com/articles/design-control-guidance-for-medical-device-manufacturers/#section-j-design-history-file-dhf), instead of "regulatory.
381+
- The default directory is now named "dhf", for [design history file](https://innolitics.com/articles/design-control-guidance-for-medical-device-manufacturers/#section-j-design-history-file-dhf), instead of "regulatory.
382+
- Update the default set of templates to conform with the 2021 Draft Guidance titled ["Content of Premarket Submissions for Device Software Functions"](https://innolitics.com/articles/premarket-submissions-for-device-software-functions/)
383+
- Add a Dockerfile and docker-compose file to the default project set up. Installing Latex and pandoc is cumbersome, so using docker simplifies the process.

rdm/checklists/14971_2007.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
14971:3.2 Management responsibilities
1010
14971:3.3 Qualification of personnel
1111
14971:3.4.a Risk management plan: scope
12-
14971:3.4.b Risk management plan: asignments
12+
14971:3.4.b Risk management plan: assignments
1313
14971:3.4.c Risk management plan: requirements
1414
14971:3.4.d Risk management plan: criteria
1515
14971:3.4.e Risk management plan: verification

rdm/checklists/14971_2019.txt

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Audit checklist for ISO 14971 Medical devices - Application of risk management to medical devices
2+
# Based on version 2019-XX-XXX
3+
#
4+
# This checklist is not a substitute for reading, understanding, and implementing the associated standard.
5+
# The descriptive phrase following each keyword reference is intended only as a helpful mnemonic for locating
6+
# and recalling the referenced section of the standard.
7+
#
8+
9+
# TODO: write this checklist

rdm/checklists/FDA-SW_2021.txt

-21
This file was deleted.

rdm/checklists/FDA-SW_2021_basic.txt

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Audit checklist for the U.S. Food and Drug Administration (FDA)'s Guidance
2+
# document "Content of Premarket Submissions for Software Device Software
3+
# Functions" for devices requireing the "Basic" Documentation Level
4+
# Based on the draft version, published on 2021-11-04.
5+
#
6+
# This checklist is not a substitute for reading, understanding, and
7+
# implementing the associated guidance document, which can be found online for
8+
# free on https://www.fda.gov. The descriptive phrase following each keyword
9+
# reference is intended only as a helpful mnemonic for locating
10+
# and recalling the referenced section of the standard.
11+
#
12+
FDA-SW:dle A statement indicating the appropriate Documentation Level and rationale for that level
13+
14+
FDA-SW:sd A summary overview of the features and software operating environment
15+
FDA-SW:sd-other Other software device functions
16+
17+
FDA-SW:ssad Detailed diagrams of modules, layers, and interfaces that comprise the device
18+
19+
FDA-SW:rmf-plan An ISO-14971-compliant plan that defines how the risk acceptability criteria
20+
FDA-SW:rmf-assessment A risk assessment table demonstrating that risks have been appropriately mitigated
21+
FDA-SW:rmf-report A risk management report that demonstrates how the plan was implemented
22+
23+
FDA-SW:srs Software requirements specification
24+
FDA-SW:srs-tracking A description of the software requirement identification and tracking methodology
25+
26+
FDA-SW:sdmp The software development and maintenance practices document
27+
28+
FDA-SW:sdmp-dev-processes Processes and procedures used in software development
29+
FDA-SW:sdmp-vandv Processes and procedures used in verification and validation.
30+
FDA-SW:sdmp-cmt Standards (e.g., coding), methods and tools used in software development
31+
FDA-SW:sdmp-outputs Main deliverables of the typical software development and v-and-v activities
32+
FDA-SW:sdmp-traceability Processes, procedures, and tools used to handle traceability
33+
FDA-SW:sdmp-config Processes and procedures used in software configuration and change management
34+
FDA-SW:sdmp-maintenance Processes and procedures used in software maintenance
35+
36+
FDA-SW:vandv Verification and validation documentation
37+
FDA-SW:vandv-summary Summary of the unit, integration, and system-level testing
38+
FDA-SW:vandv-changes Description and justification of changes made in respond to failed tests
39+
FDA-SW:vandv-regression-analysis Analysis of unintended effects of fixes
40+
FDA-SW:vandv-system-protocol System level testing protocol
41+
FDA-SW:vandv-system-report System level testing report
42+
43+
FDA-SW:rlh Revision history log, including release version number and date
44+
FDA-SW:ua List of remaining software anomalies
+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Audit checklist for the U.S. Food and Drug Administration (FDA)'s Guidance
2+
# document "Content of Premarket Submissions for Software Device Software
3+
# Functions" for devices requireing the "Enhanced" Documentation Level
4+
# Based on the draft version, published on 2021-11-04.
5+
#
6+
# This checklist is not a substitute for reading, understanding, and
7+
# implementing the associated guidance document, which can be found online for
8+
# free on https://www.fda.gov. The descriptive phrase following each keyword
9+
# reference is intended only as a helpful mnemonic for locating
10+
# and recalling the referenced section of the standard.
11+
#
12+
include FDA-SW_2021_basic
13+
FDA-SW:sds Software design specification document
14+
15+
FDA-SW:sdmp-config-full A complete configuration management plan, in addition to the summary for the basic level
16+
FDA-SW:sdmp-maintenance-full A complete maintenance plan, in addition to the summary for the basic level
17+
18+
# TODO: once rdm gaps supports implied completions, then uncomment these items
19+
# FDA-SW:sdmp-maintenance-full --> FDA-SW:sdmp-maintenance
20+
# FDA-SW:sdmp-config-full --> FDA-SW:sdmp-config
21+
22+
FDA-SW:vandv-unit-protocol Unit level testing protocol
23+
FDA-SW:vandv-unit-report Unit level testing report
24+
FDA-SW:vandv-integration-protocol Integration level testing protocol
25+
FDA-SW:vandv-integration-report Integration level testing report

rdm/init_files/Dockerfile

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
FROM python:3.9.12-buster
2+
3+
RUN apt-get update && apt-get install -y \
4+
latexmk \
5+
texlive-fonts-recommended \
6+
texlive-latex-extra \
7+
texlive-font-utils \
8+
&& rm -rf /var/lib/apt/lists/*
9+
10+
# NOTE: replace "amd" with "arm" if compiling for arm (e.g., using a macOS M1)
11+
RUN wget https://github.com/jgm/pandoc/releases/download/2.18/pandoc-2.18-1-arm64.deb && \
12+
dpkg -i pandoc-2.18-1-arm64.deb
13+
14+
RUN pip install rdm[github]
15+
16+
WORKDIR /dhf
17+
18+
CMD make

rdm/init_files/data/definitions.yml

+4
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,7 @@ Hazardous Situation: >-
6969
7070
Software is not itself a hazard because it can not directly cause harm, but
7171
software can contribute towards producing hazardous situations.
72+
RDM: >-
73+
The Regulatory Documentation Manager is a suite of tools that assists in the
74+
writing of a design history file, including generating documents and handling
75+
traceability.

rdm/init_files/data/device.yml

+1-16
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,6 @@ manufacturer: "MANUFACTURER, Inc."
99
# The current release number for the device
1010
version: "v0.1.0"
1111

12-
# What is the FDA's software Level of Concern?
13-
# "Minor" - Failures or latent design flaws are unlikely to cause any injury to
14-
# the patient or operator.
15-
# "Moderate" - A failure or latent design flaw could directly
16-
# result in minor in jury to the patient or operator. The level of concern
17-
# is also Moderate if a failure or latent flaw could indirectly result in
18-
# minor injury to the patient or operator through incorrect or delayed
19-
# information or through the action of a care provider.
20-
# "Major" - A failure or latent flaw could directly result in
21-
# death or serious in jury to the patient or operator. The level of concern
22-
# is also Major if a failure or latent flaw could indirectly result in death
23-
# or serious injury of the patient or operator through incorrect or delayed
24-
# information or through the action of a care provider.
25-
level_of_concern: Moderate
26-
2712
# What is the IEC62304 safety classification of the entire system?
2813
# "A" - No injury or damage to health is possible
2914
# "B" - Non-serious injury is possible
@@ -32,4 +17,4 @@ safety_class: B
3217

3318
# Is this software part of a medical device or is it Software as a Medical
3419
# Device (i.e., SaMD)?
35-
samd: true
20+
samd: true

rdm/init_files/data/manual_tests.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@
1111
steps:
1212
- step: 1
1313
result: pass
14-
req_ids: [SR-11, SR-12]
14+
req_ids: [SR-11, SR-12]

rdm/init_files/data/requirements.yml

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
- id: r-1
22
title: First Example Requirement
3+
type: Input/Output
34
system_requirements: [SR-6]
45
description: A brief description of the requirement; should use the world "shall". If the software is a "software only device", then no "system_requirements" are necessary---you can remove these keys completely. They are only necessary for medical devices with a hardware component.
56
specifications: |
@@ -8,15 +9,18 @@
89
Specifications are written using github-flavored markdown.
910
- id: r-2
1011
title: Second Example Requirement
12+
type: Functional
1113
system_requirements: [SR-6, SR-11]
1214
description: Requirements describe what the software needs to do, and not how.
1315
specifications: |
1416
Another specification goes here.
1517
- id: r-3-1
1618
title: Third Example Requirement Nested Id First Item
19+
type: Functional
1720
system_requirements: [SR-4]
1821
description: Requirements should be verifiable (e.g., testable).
1922
- id: r-3-2
2023
title: Fourth Example Requirement Nested Id Second Item
24+
type: Functional
2125
system_requirements: [SR-4, SR-7]
22-
description: Requirements can be written using markdown.
26+
description: Requirements can be written using markdown.

rdm/init_files/data/workflow.yml

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
# The IEC62304 standard version
22
version_of_62304: "IEC62304:2006+A1:2015"
33

4-
# The location where the system requirements are stored; only used if
5-
# `device.samd` is false.
4+
# The location where the user needs are stored
5+
user_needs_location: "USER NEEDS SOFTWARE"
6+
7+
# The location where the system requirements are stored
68
system_requirements_location: "SYSTEM REQUIREMENTS SOFTWARE"
79

810
# The location where the software requirements are stored
@@ -19,4 +21,4 @@ software_risk_management_file: 'SOFTWARE RISK MANAGEMENT FILE'
1921
soup_location: "SBOM"
2022

2123
# The location where user feedback is stored, e.g. "GitHub Issues".
22-
feedback_location: "USER FEEDBACK"
24+
feedback_location: "USER FEEDBACK"

rdm/init_files/docker-compose.yml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: "3.3"
2+
services:
3+
rdm:
4+
build: .
5+
volumes:
6+
- .:/dhf

rdm/init_files/documents/510k/overview.md rdm/init_files/documents/510k/00_overview.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
id: 510k-001
2+
id: 510k-1-000
33
revision: 1
44
title: 510(k) Submission
55
---
@@ -24,4 +24,4 @@ title: 510(k) Submission
2424
18. Performance Testing – Bench
2525
19. Performance Testing – Animal
2626
20. Performance Testing – Clinical
27-
21. Other
27+
21. Other
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
id: 510k-1-009
3+
title: Declarations of Conformity and Summary Reports
4+
---
5+
6+
TODO: Write this document based off of https://www.fda.gov/media/71983/download
7+
8+
TODO: Provide a default example of conformance to IEC 62304.

rdm/init_files/documents/510k/11_executive_summary_predicate_comparison.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
id: SUBSEQV-001
2+
id: 510k-1-011
33
title: Executive Summary/Predicate Comparison
44
---
55

rdm/init_files/documents/510k/12_substantial_equivalence_discussion.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
id: SUBSEQV-001
2+
id: 510k-1-012
33
title: Substantial Equivalence Discussion
44
---
55

rdm/init_files/documents/510k/regulatory_change_assessment.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
id: 510k-001
2+
id: RCA-001
33
revision: 1
44
title: Regulatory Change Assessment
55
---

rdm/init_files/documents/architecture_design_chart.md

-11
This file was deleted.

0 commit comments

Comments
 (0)