@memoarchitect/ontology 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +19 -0
- package/README.md +70 -0
- package/examples/gpca-pump/dhf/documents/DOC-RMP-001.md +210 -0
- package/examples/gpca-pump/memo.config.yaml +9 -0
- package/examples/gpca-pump/methodology/gpca_methodology.sysml +11 -0
- package/examples/gpca-pump/methodology/gpca_profiles.sysml +25 -0
- package/examples/gpca-pump/methodology/gpca_scope.sysml +25 -0
- package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +231 -0
- package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +272 -0
- package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +81 -0
- package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +363 -0
- package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +205 -0
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +113 -0
- package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +172 -0
- package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +173 -0
- package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +1062 -0
- package/examples/gpca-pump/model/catalog/gpca_operational.sysml +209 -0
- package/examples/gpca-pump/model/catalog/gpca_physical.sysml +53 -0
- package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +1505 -0
- package/examples/gpca-pump/model/catalog/gpca_risk.sysml +744 -0
- package/examples/gpca-pump/model/catalog/gpca_system.sysml +144 -0
- package/examples/gpca-pump/model/catalog/gpca_trace.sysml +696 -0
- package/examples/gpca-pump/model/catalog/gpca_verification.sysml +285 -0
- package/examples/gpca-pump/model/samples/README.md +24 -0
- package/examples/gpca-pump/model/samples/action_flow_view.sysml +72 -0
- package/examples/gpca-pump/model/samples/action_flow_view.viewlayout +9 -0
- package/examples/gpca-pump/model/samples/functional_flow_view.sysml +153 -0
- package/examples/gpca-pump/model/samples/interconnection_view.sysml +93 -0
- package/examples/gpca-pump/model/samples/interconnection_view.viewlayout +99 -0
- package/examples/gpca-pump/model/samples/operational_behaviour_view.sysml +145 -0
- package/examples/gpca-pump/model/samples/tree_view.sysml +56 -0
- package/examples/gpca-pump/model/views/behavior_action_flow_view.sysml +41 -0
- package/examples/gpca-pump/model/views/context_system_context_view.sysml +43 -0
- package/examples/gpca-pump/model/views/cybersecurity_cybersecurity_view.sysml +44 -0
- package/examples/gpca-pump/model/views/document_architecture_description_view.sysml +29 -0
- package/examples/gpca-pump/model/views/document_cyber_assessment_view.sysml +28 -0
- package/examples/gpca-pump/model/views/document_dhf_index_view.sysml +29 -0
- package/examples/gpca-pump/model/views/document_hazard_analysis_view.sysml +29 -0
- package/examples/gpca-pump/model/views/document_rmf_view.sysml +29 -0
- package/examples/gpca-pump/model/views/document_sdd_view.sysml +29 -0
- package/examples/gpca-pump/model/views/document_threat_model_view.sysml +28 -0
- package/examples/gpca-pump/model/views/document_usability_view.sysml +28 -0
- package/examples/gpca-pump/model/views/document_vv_view.sysml +29 -0
- package/examples/gpca-pump/model/views/functional_function_allocation_view.sysml +42 -0
- package/examples/gpca-pump/model/views/functional_function_browser_view.sysml +41 -0
- package/examples/gpca-pump/model/views/logical_device_interconnect_view.sysml +43 -0
- package/examples/gpca-pump/model/views/logical_logical_architecture_view.sysml +42 -0
- package/examples/gpca-pump/model/views/logical_mode_state_view.sysml +42 -0
- package/examples/gpca-pump/model/views/logical_system_decomposition_view.sysml +44 -0
- package/examples/gpca-pump/model/views/operational_scenario_sequence_view.sysml +41 -0
- package/examples/gpca-pump/model/views/operational_use_case_view.sysml +43 -0
- package/examples/gpca-pump/model/views/physical_physical_bom_view.sysml +41 -0
- package/examples/gpca-pump/model/views/requirements_requirements_trace_view.sysml +42 -0
- package/examples/gpca-pump/model/views/risk_fmea_view.sysml +42 -0
- package/examples/gpca-pump/model/views/risk_risk_chain_view.sysml +44 -0
- package/examples/gpca-pump/model/views/software_software_architecture_view.sysml +43 -0
- package/examples/gpca-pump/model/views/verification_verification_coverage_view.sysml +42 -0
- package/memo.manifest.yaml +13 -0
- package/methodologies/default/memo.package.yaml +9 -0
- package/methodologies/gpca/memo.package.yaml +9 -0
- package/ontology/memo.package.yaml +8 -0
- package/ontology/memo.rendering.yaml +47 -0
- package/package.json +65 -0
- package/profile/archetypes.yaml +36 -0
- package/profile/memo.package.yaml +9 -0
- package/profile/templates/connected-device/starter.sysml +8 -0
- package/profile/templates/infusion-pump/starter.sysml +8 -0
- package/profile/templates/monitoring-device/starter.sysml +8 -0
- package/profile/templates/samd/starter.sysml +8 -0
- package/src/architecture/analysis/memo_fmea.sysml +91 -0
- package/src/architecture/assurance/memo_assurance.sysml +29 -0
- package/src/architecture/behavior/memo_behavior.sysml +65 -0
- package/src/architecture/constraints/memo_constraints.sysml +14 -0
- package/src/architecture/context/memo_context.sysml +58 -0
- package/src/architecture/cybersecurity/memo_cybersecurity.sysml +99 -0
- package/src/architecture/decisions/memo_decisions.sysml +12 -0
- package/src/architecture/functions/memo_functions.sysml +30 -0
- package/src/architecture/hardware_structure/memo_hardware_structure.sysml +15 -0
- package/src/architecture/interfaces/memo_interfaces.sysml +103 -0
- package/src/architecture/logical_structure/memo_logical_structure.sysml +10 -0
- package/src/architecture/operational/memo_operational.sysml +51 -0
- package/src/architecture/physical/memo_physical_architecture.sysml +19 -0
- package/src/architecture/requirements/memo_requirements.sysml +69 -0
- package/src/architecture/risk/memo_arch_risk.sysml +7 -0
- package/src/architecture/risk/memo_risk.sysml +80 -0
- package/src/architecture/software_structure/memo_software_structure.sysml +44 -0
- package/src/architecture/system/memo_system_analysis.sysml +54 -0
- package/src/artifacts/clinical_safety_report.sysml +12 -0
- package/src/artifacts/cybersecurity_assessment_report.sysml +12 -0
- package/src/artifacts/definitions/memo_artifact_definitions.sysml +12 -0
- package/src/artifacts/design_change_log.sysml +12 -0
- package/src/artifacts/design_history_file_index.sysml +12 -0
- package/src/artifacts/design_input_plan.sysml +12 -0
- package/src/artifacts/design_output_plan.sysml +12 -0
- package/src/artifacts/evidence_record.sysml +12 -0
- package/src/artifacts/failure_mode_effects_analysis.sysml +12 -0
- package/src/artifacts/hazard_analysis_report.sysml +12 -0
- package/src/artifacts/labeling_specification.sysml +12 -0
- package/src/artifacts/requirements_specification.sysml +12 -0
- package/src/artifacts/requirements_traceability_matrix.sysml +12 -0
- package/src/artifacts/risk_management_plan.sysml +12 -0
- package/src/artifacts/software_design_description.sysml +12 -0
- package/src/artifacts/software_development_plan.sysml +12 -0
- package/src/artifacts/soup_list.sysml +12 -0
- package/src/artifacts/system_architecture_description.sysml +12 -0
- package/src/artifacts/test_protocol.sysml +12 -0
- package/src/artifacts/test_report.sysml +12 -0
- package/src/artifacts/threat_model_report.sysml +12 -0
- package/src/artifacts/usability_engineering_report.sysml +12 -0
- package/src/compliance/artifacts/memo_artifacts.sysml +13 -0
- package/src/compliance/change/memo_change.sysml +17 -0
- package/src/compliance/dhf-templates/21cfr820/change-record.md +45 -0
- package/src/compliance/dhf-templates/21cfr820/design-input.md +67 -0
- package/src/compliance/dhf-templates/21cfr820/design-output.md +80 -0
- package/src/compliance/dhf-templates/21cfr820/design-review.md +51 -0
- package/src/compliance/dhf-templates/21cfr820/design-validation.md +64 -0
- package/src/compliance/dhf-templates/21cfr820/design-verification.md +57 -0
- package/src/compliance/dhf-templates/21cfr820/dhf-index.md +111 -0
- package/src/compliance/dhf-templates/21cfr820/transfer-plan.md +50 -0
- package/src/compliance/dhf-templates/21cfr820/user-needs.md +81 -0
- package/src/compliance/dhf-templates/21cfr820/vv-plan.md +89 -0
- package/src/compliance/dhf-templates/21cfr820/vv-report.md +85 -0
- package/src/compliance/dhf-templates/fda-cybersecurity/incident-response.md +66 -0
- package/src/compliance/dhf-templates/fda-cybersecurity/postmarket-surveillance.md +63 -0
- package/src/compliance/dhf-templates/fda-cybersecurity/security-arch.md +83 -0
- package/src/compliance/dhf-templates/fda-cybersecurity/threat-model.md +100 -0
- package/src/compliance/dhf-templates/fda-cybersecurity/vuln-assessment.md +77 -0
- package/src/compliance/dhf-templates/iec-62304/change-control.md +40 -0
- package/src/compliance/dhf-templates/iec-62304/detailed-design.md +69 -0
- package/src/compliance/dhf-templates/iec-62304/integration-test.md +68 -0
- package/src/compliance/dhf-templates/iec-62304/sad.md +115 -0
- package/src/compliance/dhf-templates/iec-62304/sbom.md +67 -0
- package/src/compliance/dhf-templates/iec-62304/sdp.md +108 -0
- package/src/compliance/dhf-templates/iec-62304/soup.md +77 -0
- package/src/compliance/dhf-templates/iec-62304/srs.md +138 -0
- package/src/compliance/dhf-templates/iec-62304/sw-traceability.md +111 -0
- package/src/compliance/dhf-templates/iec-62304/system-test.md +67 -0
- package/src/compliance/dhf-templates/iec-62366/formative-eval.md +47 -0
- package/src/compliance/dhf-templates/iec-62366/summative-eval.md +69 -0
- package/src/compliance/dhf-templates/iec-62366/task-analysis.md +57 -0
- package/src/compliance/dhf-templates/iec-62366/ue-plan.md +81 -0
- package/src/compliance/dhf-templates/iec-62366/ui-spec.md +61 -0
- package/src/compliance/dhf-templates/iec-62366/urra.md +74 -0
- package/src/compliance/dhf-templates/iec-62366/use-spec.md +61 -0
- package/src/compliance/dhf-templates/iso-14971/fmea.md +93 -0
- package/src/compliance/dhf-templates/iso-14971/fta.md +70 -0
- package/src/compliance/dhf-templates/iso-14971/har.md +165 -0
- package/src/compliance/dhf-templates/iso-14971/risk-benefit.md +51 -0
- package/src/compliance/dhf-templates/iso-14971/risk-matrix.md +51 -0
- package/src/compliance/dhf-templates/iso-14971/rmp.md +169 -0
- package/src/compliance/dhf-templates/iso-14971/rmr.md +101 -0
- package/src/compliance/dhf-templates/shared/snippets/approval-block.md +16 -0
- package/src/compliance/dhf-templates/shared/snippets/document-control-header.md +15 -0
- package/src/compliance/dhf-templates/shared/snippets/references-section.md +16 -0
- package/src/compliance/dhf-templates/shared/snippets/revision-history-table.md +11 -0
- package/src/compliance/document_views/memo_document_views.sysml +7 -0
- package/src/compliance/iso14971/risk_management_file.sysml +16 -0
- package/src/compliance/postmarket/memo_postmarket.sysml +16 -0
- package/src/core/common/memo_common.sysml +50 -0
- package/src/core/consistency_rules/consistency_rules.sysml +41 -0
- package/src/core/dimensions/dimensions.sysml +37 -0
- package/src/core/enumerations/memo_enumerations.sysml +562 -0
- package/src/core/methodology_scope/methodology_scope.sysml +46 -0
- package/src/core/relationships/memo_relationships.sysml +230 -0
- package/src/core/semantics/semantics.sysml +20 -0
- package/src/core/stdlib/collections.sysml +6 -0
- package/src/core/stdlib/functions.sysml +6 -0
- package/src/core/stdlib/scalars.sysml +6 -0
- package/src/core/stdlib/time.sysml +6 -0
- package/src/medical_device_library.sysml +100 -0
- package/src/memo_namespaces.sysml +668 -0
- package/src/methodology/LICENSES/MIT.txt +19 -0
- package/src/methodology/memo_archetypes.sysml +93 -0
- package/src/methodology/memo_core.sysml +53 -0
- package/src/methodology/memo_gates.sysml +11 -0
- package/src/methodology/memo_patterns.sysml +12 -0
- package/src/methodology/memo_profiles.sysml +218 -0
- package/src/methodology/memo_rules.sysml +15 -0
- package/src/methodology/memo_viewpoints.sysml +5 -0
- package/src/methodology/memo_workflow.sysml +14 -0
- package/src/rules/closure/closure_rules.sysml +180 -0
- package/src/rules/coverage/coverage_rules.sysml +258 -0
- package/src/rules/crosslayer/cross_layer_rules.sysml +38 -0
- package/src/rules/lifecycle/lifecycle_rules.sysml +41 -0
- package/src/rules/quantitative/quantitative_rules.sysml +34 -0
- package/src/viewpoints/clinical/clinical_evidence_view.sysml +13 -0
- package/src/viewpoints/clinical/clinical_viewpoint.sysml +25 -0
- package/src/viewpoints/context/context_viewpoint.sysml +25 -0
- package/src/viewpoints/context/system_context_view.sysml +29 -0
- package/src/viewpoints/cybersecurity/cybersecurity_assessment_view.sysml +13 -0
- package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +27 -0
- package/src/viewpoints/cybersecurity/threat_model_view.sysml +13 -0
- package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +82 -0
- package/src/viewpoints/functional/function_allocation_view.sysml +29 -0
- package/src/viewpoints/functional/functional_viewpoint.sysml +25 -0
- package/src/viewpoints/functional/system_functional_tree_view.sysml +29 -0
- package/src/viewpoints/logical/logical_architecture_view.sysml +29 -0
- package/src/viewpoints/logical/logical_viewpoint.sysml +25 -0
- package/src/viewpoints/operational/operational_viewpoint.sysml +25 -0
- package/src/viewpoints/operational/use_case_view.sysml +29 -0
- package/src/viewpoints/physical/network_topology_view.sysml +29 -0
- package/src/viewpoints/physical/physical_bom_view.sysml +29 -0
- package/src/viewpoints/physical/physical_viewpoint.sysml +25 -0
- package/src/viewpoints/requirements/requirements_traceability_view.sysml +29 -0
- package/src/viewpoints/requirements/requirements_viewpoint.sysml +25 -0
- package/src/viewpoints/risk/risk_chain_view.sysml +30 -0
- package/src/viewpoints/risk/risk_viewpoint.sysml +25 -0
- package/src/viewpoints/software/software_architecture_view.sysml +29 -0
- package/src/viewpoints/software/software_viewpoint.sysml +25 -0
- package/src/viewpoints/usability/usability_engineering_view.sysml +13 -0
- package/src/viewpoints/usability/usability_viewpoint.sysml +25 -0
- package/src/viewpoints/verification/verification_coverage_view.sysml +29 -0
- package/src/viewpoints/verification/verification_viewpoint.sysml +25 -0
- package/template/memo.package.yaml +5 -0
- package/template/src/catalog/starter.sysml +12 -0
- package/template/src/documents/.gitkeep +1 -0
- package/template/src/views/.gitkeep +1 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: transfer-plan
|
|
3
|
+
title: Design Transfer Plan
|
|
4
|
+
standard: 21 CFR Part 820
|
|
5
|
+
clauses: ["820.30(h)"]
|
|
6
|
+
required_for: ["FDA_510k", "FDA_PMA"]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
{{include:shared/snippets/document-control-header.md}}
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Purpose
|
|
14
|
+
|
|
15
|
+
Defines design transfer activities for **{{project.product}}** per 21 CFR 820.30(h), ensuring device design is correctly translated to production specifications.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 2. Transfer Checklist
|
|
20
|
+
|
|
21
|
+
Checklist of items required before design transfer to production is complete:
|
|
22
|
+
|
|
23
|
+
| Activity | Responsible | Completion Date | Status |
|
|
24
|
+
| --- | --- | --- | --- |
|
|
25
|
+
| Engineering drawings released to production | | | |
|
|
26
|
+
| Software build process documented | | | |
|
|
27
|
+
| Production procedures validated | | | |
|
|
28
|
+
| Test equipment calibrated | | | |
|
|
29
|
+
| Production personnel trained | | | |
|
|
30
|
+
| First article inspection completed | | | |
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## 3. Production Specifications
|
|
35
|
+
|
|
36
|
+
Production specifications derived from the design outputs:
|
|
37
|
+
|
|
38
|
+
```memo-query
|
|
39
|
+
kind: DesignOutput
|
|
40
|
+
display: table
|
|
41
|
+
columns: name, layer, doc
|
|
42
|
+
sort: name
|
|
43
|
+
empty: "No design outputs defined."
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
{{include:shared/snippets/revision-history-table.md}}
|
|
49
|
+
|
|
50
|
+
{{include:shared/snippets/approval-block.md}}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: user-needs
|
|
3
|
+
title: User Needs Document
|
|
4
|
+
standard: 21 CFR Part 820
|
|
5
|
+
clauses: ["820.30(c)"]
|
|
6
|
+
required_for: ["FDA_510k", "FDA_PMA"]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
{{include:shared/snippets/document-control-header.md}}
|
|
10
|
+
|
|
11
|
+
{{toc}}
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 1. Purpose
|
|
16
|
+
|
|
17
|
+
This document captures user needs for **{{project.product}}** per 21 CFR 820.30(c) Design Input requirements. User needs represent the intended purpose of the device as stated by customers and intended users.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 2. Intended Users
|
|
22
|
+
|
|
23
|
+
Identify every intended user group of **{{project.product}}**, including their roles, training assumptions, and use environments.
|
|
24
|
+
|
|
25
|
+
_[TODO: Describe all intended user groups with their roles, training levels, and environments]_
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 3. User Needs
|
|
30
|
+
|
|
31
|
+
User needs captured for **{{project.product}}** are listed below from the model. Each user need should trace forward to at least one design input:
|
|
32
|
+
|
|
33
|
+
```memo-query
|
|
34
|
+
kind: [StakeholderNeed, Requirement]
|
|
35
|
+
display: table
|
|
36
|
+
columns: name, layer, doc
|
|
37
|
+
sort: name
|
|
38
|
+
empty: "No user need elements defined. Add StakeholderNeed or Requirement elements."
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 4. Use Cases
|
|
44
|
+
|
|
45
|
+
Use cases describing how intended users interact with **{{project.product}}**, drawn from the model:
|
|
46
|
+
|
|
47
|
+
```memo-query
|
|
48
|
+
kind: UseCase
|
|
49
|
+
display: table
|
|
50
|
+
columns: name, layer, doc
|
|
51
|
+
sort: name
|
|
52
|
+
empty: "No use cases defined."
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 5. Customer Requirements
|
|
58
|
+
|
|
59
|
+
List customer-stated requirements that serve as input to the design process.
|
|
60
|
+
|
|
61
|
+
_[TODO: List customer-stated requirements as input to the design process]_
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 6. Regulatory Requirements
|
|
66
|
+
|
|
67
|
+
Regulatory and standards requirements applicable to **{{project.product}}**:
|
|
68
|
+
|
|
69
|
+
| Standard | Applicability | Notes |
|
|
70
|
+
| --- | --- | --- |
|
|
71
|
+
| 21 CFR Part 820 | Quality System Regulation | |
|
|
72
|
+
| IEC 62304 | Software lifecycle | If Class B/C SW |
|
|
73
|
+
| ISO 14971 | Risk management | |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
{{include:shared/snippets/revision-history-table.md}}
|
|
78
|
+
|
|
79
|
+
{{include:shared/snippets/approval-block.md}}
|
|
80
|
+
|
|
81
|
+
{{include:shared/snippets/references-section.md}}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: vv-plan
|
|
3
|
+
title: Verification and Validation Plan
|
|
4
|
+
standard: 21 CFR Part 820
|
|
5
|
+
clauses: ["820.30(f)", "820.30(g)"]
|
|
6
|
+
required_for: ["FDA_510k", "FDA_PMA", "CE"]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
{{include:shared/snippets/document-control-header.md}}
|
|
10
|
+
|
|
11
|
+
{{toc}}
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 1. Purpose
|
|
16
|
+
|
|
17
|
+
This V&V Plan defines verification and validation activities for **{{project.product}}** per 21 CFR 820.30(f)-(g) and ISO 13485:2016 §7.3.6-7.3.7.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 2. Scope
|
|
22
|
+
|
|
23
|
+
This plan covers:
|
|
24
|
+
- Software verification (per IEC 62304 §5.6-5.7)
|
|
25
|
+
- Hardware verification
|
|
26
|
+
- System-level validation
|
|
27
|
+
- Usability validation (per IEC 62366-1)
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 3. Verification Activities
|
|
32
|
+
|
|
33
|
+
### 3.1 Requirements to Verify
|
|
34
|
+
|
|
35
|
+
```memo-query
|
|
36
|
+
kind: [Requirement, Requirement]
|
|
37
|
+
display: table
|
|
38
|
+
columns: name, layer, doc
|
|
39
|
+
sort: name
|
|
40
|
+
empty: "No requirements defined."
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 3.2 Verification Test Cases
|
|
44
|
+
|
|
45
|
+
```memo-query
|
|
46
|
+
kind: [TestCase, VerificationActivity]
|
|
47
|
+
display: table
|
|
48
|
+
columns: name, kind, layer, doc
|
|
49
|
+
sort: name
|
|
50
|
+
empty: "No verification test cases defined."
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 4. Validation Activities
|
|
56
|
+
|
|
57
|
+
Validation activities demonstrating that **{{project.product}}** meets user needs and intended uses:
|
|
58
|
+
|
|
59
|
+
```memo-query
|
|
60
|
+
kind: ValidationActivity
|
|
61
|
+
display: table
|
|
62
|
+
columns: name, layer, doc
|
|
63
|
+
sort: name
|
|
64
|
+
empty: "No validation activities defined."
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 5. Acceptance Criteria
|
|
70
|
+
|
|
71
|
+
State the objective criteria that must be met for the validation to be considered successful.
|
|
72
|
+
|
|
73
|
+
_[TODO: Define objective acceptance criteria for all V&V activities]_
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## 6. Test Environment
|
|
78
|
+
|
|
79
|
+
Describe the hardware, software, tools, and configuration of the test environment in sufficient detail to reproduce the test setup.
|
|
80
|
+
|
|
81
|
+
_[TODO: Describe hardware, software, and clinical test environments]_
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
{{include:shared/snippets/revision-history-table.md}}
|
|
86
|
+
|
|
87
|
+
{{include:shared/snippets/approval-block.md}}
|
|
88
|
+
|
|
89
|
+
{{include:shared/snippets/references-section.md}}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: vv-report
|
|
3
|
+
title: Verification and Validation Report
|
|
4
|
+
standard: 21 CFR Part 820
|
|
5
|
+
clauses: ["820.30(f)", "820.30(g)"]
|
|
6
|
+
required_for: ["FDA_510k", "FDA_PMA", "CE"]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
{{include:shared/snippets/document-control-header.md}}
|
|
10
|
+
|
|
11
|
+
{{toc}}
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 1. Purpose
|
|
16
|
+
|
|
17
|
+
This V&V Report documents the results of all verification and validation activities for **{{project.product}}**.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 2. Summary
|
|
22
|
+
|
|
23
|
+
Summary metrics computed live from the model:
|
|
24
|
+
|
|
25
|
+
```memo-query
|
|
26
|
+
kind: TestCase
|
|
27
|
+
display: count
|
|
28
|
+
label: Total test cases
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
```memo-query
|
|
32
|
+
kind: [VerificationActivity, ValidationActivity]
|
|
33
|
+
display: count
|
|
34
|
+
label: V&V activities
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 3. Verification Results
|
|
40
|
+
|
|
41
|
+
### 3.1 Test Results by Requirement
|
|
42
|
+
|
|
43
|
+
```memo-query
|
|
44
|
+
kind: [TestCase, VerificationActivity]
|
|
45
|
+
display: table
|
|
46
|
+
columns: name, kind, layer, doc
|
|
47
|
+
sort: name
|
|
48
|
+
empty: "No verification activities defined."
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 4. Validation Results
|
|
54
|
+
|
|
55
|
+
Results of the validation activities are summarized below:
|
|
56
|
+
|
|
57
|
+
```memo-query
|
|
58
|
+
kind: ValidationActivity
|
|
59
|
+
display: table
|
|
60
|
+
columns: name, layer, doc
|
|
61
|
+
sort: name
|
|
62
|
+
empty: "No validation activities defined."
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 5. Known Anomalies and Deviations
|
|
68
|
+
|
|
69
|
+
Record any anomalies, deviations from plan, and their disposition, including rationale for acceptance of unresolved anomalies.
|
|
70
|
+
|
|
71
|
+
_[TODO: List any unresolved anomalies and provide justification for acceptance]_
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 6. V&V Conclusion
|
|
76
|
+
|
|
77
|
+
State the overall verification and validation conclusion for **{{project.product}}**, including any conditions, limitations, or required follow-up actions.
|
|
78
|
+
|
|
79
|
+
_[TODO: State whether the device meets all design inputs and is fit for intended use]_
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
{{include:shared/snippets/revision-history-table.md}}
|
|
84
|
+
|
|
85
|
+
{{include:shared/snippets/approval-block.md}}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: incident-response
|
|
3
|
+
title: Cybersecurity Incident Response Plan
|
|
4
|
+
standard: FDA Cybersecurity Guidance 2023
|
|
5
|
+
clauses: ["5.2"]
|
|
6
|
+
required_for: ["FDA_510k", "FDA_PMA"]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
{{include:shared/snippets/document-control-header.md}}
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Purpose
|
|
14
|
+
|
|
15
|
+
Defines the incident response process for cybersecurity events affecting **{{project.product}}**.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 2. Incident Classification
|
|
20
|
+
|
|
21
|
+
Define the severity classes for security incidents and the criteria for assigning them.
|
|
22
|
+
|
|
23
|
+
| Class | Description | Response Time | FDA Reporting |
|
|
24
|
+
| --- | --- | --- | --- |
|
|
25
|
+
| Class 1 | Exploited vulnerability affecting device safety | 24 hours | Required within 30 days |
|
|
26
|
+
| Class 2 | Unpatched but known vulnerability | 72 hours | Likely required |
|
|
27
|
+
| Class 3 | Suspected security event | 5 days | Assess case-by-case |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 3. Response Team
|
|
32
|
+
|
|
33
|
+
Identify the incident response team members, their roles, and contact paths.
|
|
34
|
+
|
|
35
|
+
| Role | Responsible Party | Contact |
|
|
36
|
+
| --- | --- | --- |
|
|
37
|
+
| Incident Commander | | |
|
|
38
|
+
| Security Lead | | |
|
|
39
|
+
| Regulatory Affairs | | |
|
|
40
|
+
| Clinical Safety | | |
|
|
41
|
+
| Legal/Compliance | | |
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 4. Response Procedure
|
|
46
|
+
|
|
47
|
+
1. Detection and initial assessment
|
|
48
|
+
2. Containment of affected devices
|
|
49
|
+
3. Impact analysis (patient safety, data)
|
|
50
|
+
4. Develop and test patch
|
|
51
|
+
5. Deploy and verify patch
|
|
52
|
+
6. FDA notification (if required)
|
|
53
|
+
7. Customer notification
|
|
54
|
+
8. Post-incident review
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 5. Coordinated Vulnerability Disclosure
|
|
59
|
+
|
|
60
|
+
Describe the process by which external researchers can report vulnerabilities and how reports are triaged and disclosed.
|
|
61
|
+
|
|
62
|
+
_[TODO: Describe the coordinated disclosure policy for external researchers]_
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
{{include:shared/snippets/revision-history-table.md}}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: postmarket-surveillance
|
|
3
|
+
title: Post-Market Cybersecurity Surveillance Plan
|
|
4
|
+
standard: FDA Cybersecurity Guidance 2023
|
|
5
|
+
clauses: ["5"]
|
|
6
|
+
required_for: ["FDA_510k", "FDA_PMA"]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
{{include:shared/snippets/document-control-header.md}}
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Purpose
|
|
14
|
+
|
|
15
|
+
Defines ongoing cybersecurity surveillance for **{{project.product}}** in the post-market phase per FDA's 2023 guidance.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 2. Surveillance Sources
|
|
20
|
+
|
|
21
|
+
- NVD / CVE database monitoring for SOUP vulnerabilities
|
|
22
|
+
- ICS-CERT / FDA MedSun cybersecurity alerts
|
|
23
|
+
- Vulnerability reports from customers and researchers
|
|
24
|
+
- Threat intelligence feeds
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 3. SOUP Monitoring
|
|
29
|
+
|
|
30
|
+
Describe the process for ongoing monitoring of SOUP components for newly published vulnerabilities.
|
|
31
|
+
|
|
32
|
+
```memo-query
|
|
33
|
+
kind: SOUPComponent
|
|
34
|
+
display: table
|
|
35
|
+
columns: name, doc
|
|
36
|
+
sort: name
|
|
37
|
+
empty: "No SOUP components to monitor."
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 4. Response Timelines
|
|
43
|
+
|
|
44
|
+
Define target timelines for triage, containment, remediation, and notification per incident class.
|
|
45
|
+
|
|
46
|
+
| Severity | CVSS Score | Response Target |
|
|
47
|
+
| --- | --- | --- |
|
|
48
|
+
| Critical | 9.0–10.0 | 30 days |
|
|
49
|
+
| High | 7.0–8.9 | 60 days |
|
|
50
|
+
| Medium | 4.0–6.9 | 90 days |
|
|
51
|
+
| Low | < 4.0 | Next release |
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 5. Patch and Update Process
|
|
56
|
+
|
|
57
|
+
Describe how security patches are developed, verified, approved, and deployed to fielded devices.
|
|
58
|
+
|
|
59
|
+
_[TODO: Describe how security patches are tested, validated, and released]_
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
{{include:shared/snippets/revision-history-table.md}}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: security-arch
|
|
3
|
+
title: Cybersecurity Architecture Description
|
|
4
|
+
standard: FDA Cybersecurity Guidance 2023
|
|
5
|
+
clauses: ["3.3"]
|
|
6
|
+
required_for: ["FDA_510k", "FDA_PMA"]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
{{include:shared/snippets/document-control-header.md}}
|
|
10
|
+
|
|
11
|
+
{{toc}}
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 1. Purpose
|
|
16
|
+
|
|
17
|
+
Describes the cybersecurity architecture for **{{project.product}}** per FDA's 2023 guidance and IEC 81001-5-1:2021.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 2. Security Architecture
|
|
22
|
+
|
|
23
|
+
This section describes the security architecture of **{{project.product}}**. The security-relevant elements below are drawn from the model:
|
|
24
|
+
|
|
25
|
+
{{diagram:security-architecture}}
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 3. Trusted Zones and Communication Paths
|
|
30
|
+
|
|
31
|
+
Define the trusted zones, the communication paths crossing zone boundaries, and the protection applied at each crossing.
|
|
32
|
+
|
|
33
|
+
```memo-query
|
|
34
|
+
kind: Interface
|
|
35
|
+
display: table
|
|
36
|
+
columns: name, layer, doc
|
|
37
|
+
sort: name
|
|
38
|
+
empty: "No interfaces defined."
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 4. Security Controls
|
|
44
|
+
|
|
45
|
+
Security controls implemented in **{{project.product}}** are listed below from the model. Each control should trace to at least one identified threat:
|
|
46
|
+
|
|
47
|
+
```memo-query
|
|
48
|
+
kind: SecurityControl
|
|
49
|
+
display: table
|
|
50
|
+
columns: name, layer, doc
|
|
51
|
+
sort: name
|
|
52
|
+
empty: "No security controls defined."
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 5. Cybersecurity Design Principles Applied
|
|
58
|
+
|
|
59
|
+
Describe how core security principles (least privilege, defense in depth, secure defaults, fail secure) are applied in the design.
|
|
60
|
+
|
|
61
|
+
_[TODO: Document which NIST CSF or IEC 81001-5-1 principles are applied]_
|
|
62
|
+
|
|
63
|
+
| Principle | Implementation | Reference |
|
|
64
|
+
| --- | --- | --- |
|
|
65
|
+
| Least privilege | | |
|
|
66
|
+
| Defense in depth | | |
|
|
67
|
+
| Fail secure | | |
|
|
68
|
+
| Cryptographic controls | | |
|
|
69
|
+
| Secure boot | | |
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 6. Security Testing
|
|
74
|
+
|
|
75
|
+
Describe the security testing performed (e.g. static analysis, fuzzing, penetration testing) and reference the detailed results.
|
|
76
|
+
|
|
77
|
+
_[TODO: Describe penetration testing, vulnerability scanning, and security code review]_
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
{{include:shared/snippets/revision-history-table.md}}
|
|
82
|
+
|
|
83
|
+
{{include:shared/snippets/approval-block.md}}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: threat-model
|
|
3
|
+
title: Cybersecurity Threat Model
|
|
4
|
+
standard: FDA Cybersecurity Guidance 2023
|
|
5
|
+
clauses: ["3.2"]
|
|
6
|
+
required_for: ["FDA_510k", "FDA_PMA"]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
{{include:shared/snippets/document-control-header.md}}
|
|
10
|
+
|
|
11
|
+
{{toc}}
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 1. Purpose
|
|
16
|
+
|
|
17
|
+
This threat model documents cybersecurity threats for **{{project.product}}** per FDA's 2023 Cybersecurity in Medical Devices guidance and IEC 81001-5-1:2021.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 2. System Assets
|
|
22
|
+
|
|
23
|
+
Assets requiring protection (data, functions, interfaces), drawn from the model:
|
|
24
|
+
|
|
25
|
+
```memo-query
|
|
26
|
+
kind: [SoftwareSystem, Interface, SOUPComponent]
|
|
27
|
+
display: table
|
|
28
|
+
columns: name, kind, layer, doc
|
|
29
|
+
sort: name
|
|
30
|
+
empty: "No system assets defined."
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 3. Entry Points and Attack Surface
|
|
36
|
+
|
|
37
|
+
Entry points and externally reachable interfaces constituting the attack surface, drawn from the model:
|
|
38
|
+
|
|
39
|
+
```memo-query
|
|
40
|
+
kind: Interface
|
|
41
|
+
display: table
|
|
42
|
+
columns: name, layer, doc
|
|
43
|
+
sort: name
|
|
44
|
+
empty: "No interfaces defined."
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 4. Threat Catalog
|
|
50
|
+
|
|
51
|
+
The threat catalog below is generated from the model. Each threat should be assessed for likelihood and impact and trace to mitigating security controls:
|
|
52
|
+
|
|
53
|
+
```memo-query
|
|
54
|
+
kind: ThreatModel
|
|
55
|
+
display: table
|
|
56
|
+
columns: name, layer, doc
|
|
57
|
+
sort: name
|
|
58
|
+
empty: "No threat model elements defined. Add ThreatModel elements."
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### 4.1 STRIDE Analysis
|
|
62
|
+
|
|
63
|
+
| Threat Category | Description | Affected Assets | Likelihood | Impact |
|
|
64
|
+
| --- | --- | --- | --- | --- |
|
|
65
|
+
| Spoofing | | | | |
|
|
66
|
+
| Tampering | | | | |
|
|
67
|
+
| Repudiation | | | | |
|
|
68
|
+
| Information Disclosure | | | | |
|
|
69
|
+
| Denial of Service | | | | |
|
|
70
|
+
| Elevation of Privilege | | | | |
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 5. Security Controls
|
|
75
|
+
|
|
76
|
+
Security controls implemented in **{{project.product}}** are listed below from the model. Each control should trace to at least one identified threat:
|
|
77
|
+
|
|
78
|
+
```memo-query
|
|
79
|
+
kind: SecurityControl
|
|
80
|
+
display: table
|
|
81
|
+
columns: name, layer, doc
|
|
82
|
+
sort: name
|
|
83
|
+
empty: "No security controls defined."
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## 6. Unmitigated Threats
|
|
89
|
+
|
|
90
|
+
Threats without a mitigating security control are surfaced below by a live model query — this list should be empty before release:
|
|
91
|
+
|
|
92
|
+
_[TODO: List any threats without security controls and provide residual risk justification]_
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
{{include:shared/snippets/revision-history-table.md}}
|
|
97
|
+
|
|
98
|
+
{{include:shared/snippets/approval-block.md}}
|
|
99
|
+
|
|
100
|
+
{{include:shared/snippets/references-section.md}}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: vuln-assessment
|
|
3
|
+
title: Vulnerability Assessment and Penetration Testing Report
|
|
4
|
+
standard: FDA Cybersecurity Guidance 2023
|
|
5
|
+
clauses: ["3.4"]
|
|
6
|
+
required_for: ["FDA_510k", "FDA_PMA"]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
{{include:shared/snippets/document-control-header.md}}
|
|
10
|
+
|
|
11
|
+
{{toc}}
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 1. Purpose
|
|
16
|
+
|
|
17
|
+
Documents cybersecurity vulnerability assessment and testing for **{{project.product}}** per FDA's 2023 cybersecurity guidance.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 2. Scope of Assessment
|
|
22
|
+
|
|
23
|
+
Define the boundaries of this assessment: components, interfaces, and threat classes in and out of scope.
|
|
24
|
+
|
|
25
|
+
```memo-query
|
|
26
|
+
kind: [SoftwareSystem, SoftwareItem, Interface]
|
|
27
|
+
display: table
|
|
28
|
+
columns: name, kind, layer
|
|
29
|
+
sort: name
|
|
30
|
+
empty: "No software assets defined."
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 3. SOUP/Third-Party Component Vulnerabilities
|
|
36
|
+
|
|
37
|
+
Known vulnerabilities in SOUP and third-party components (e.g. from CVE/NVD monitoring) and their disposition:
|
|
38
|
+
|
|
39
|
+
```memo-query
|
|
40
|
+
kind: SOUPComponent
|
|
41
|
+
display: table
|
|
42
|
+
columns: name, doc
|
|
43
|
+
sort: name
|
|
44
|
+
empty: "No SOUP components defined."
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 4. Vulnerability Findings
|
|
50
|
+
|
|
51
|
+
Identified vulnerabilities and their assessment are listed below:
|
|
52
|
+
|
|
53
|
+
| CVE / Finding | Component | Severity (CVSS) | Status | Mitigation |
|
|
54
|
+
| --- | --- | --- | --- | --- |
|
|
55
|
+
| | | | | |
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 5. Penetration Test Results
|
|
60
|
+
|
|
61
|
+
Summarize the scope, methodology, and findings of penetration testing.
|
|
62
|
+
|
|
63
|
+
_[TODO: Summarize penetration testing scope, methodology, and findings]_
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 6. Residual Vulnerabilities
|
|
68
|
+
|
|
69
|
+
Vulnerabilities remaining after mitigation, with the rationale for their acceptability:
|
|
70
|
+
|
|
71
|
+
_[TODO: Document any accepted residual vulnerabilities with justification]_
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
{{include:shared/snippets/revision-history-table.md}}
|
|
76
|
+
|
|
77
|
+
{{include:shared/snippets/approval-block.md}}
|