@memoarchitect/ontology 0.7.0 → 0.8.22
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/README.md +4 -2
- package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +1 -1
- package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +7 -5
- package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +5 -5
- package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +18 -8
- package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +341 -99
- package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +25 -11
- package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +328 -271
- package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +52 -11
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +9 -0
- package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +9 -5
- package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +175 -259
- package/examples/gpca-pump/model/catalog/gpca_operational.sysml +82 -58
- package/examples/gpca-pump/model/catalog/gpca_physical.sysml +5 -10
- package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +101 -100
- package/examples/gpca-pump/model/catalog/gpca_standards.sysml +161 -0
- package/examples/gpca-pump/model/catalog/gpca_system.sysml +15 -2
- package/examples/gpca-pump/model/catalog/gpca_trace.sysml +274 -331
- package/examples/gpca-pump/model/catalog/gpca_verification.sysml +115 -35
- package/examples/gpca-pump/model/catalog/project.sysml +5 -0
- package/examples/gpca-pump/model/catalog/viewpoints/context/views/context_system_context_view.sysml +1 -1
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/cybersecurity_cybersecurity_view.sysml +1 -1
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_threat_model_view.sysml +1 -1
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/document_architecture_description_view.sysml +1 -1
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_device_interconnect_view.sysml +2 -2
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_mode_state_view.sysml +1 -1
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_scenario_sequence_view.sysml +1 -1
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_use_case_view.sysml +1 -1
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/document_dhf_index_view.sysml +2 -2
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_hazard_analysis_view.sysml +5 -2
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_rmf_view.sysml +4 -2
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_fmea_view.sysml +1 -1
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/document_sdd_view.sysml +1 -1
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/software_software_architecture_view.sysml +2 -2
- package/examples/gpca-pump/model/catalog/viewpoints/usability/views/document_usability_view.sysml +4 -2
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/document_vv_view.sysml +4 -2
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/verification_verification_coverage_view.sysml +1 -1
- package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +3 -2
- package/examples/multidimensional-layers/model/catalog/multidimensional_layers.sysml +6 -2
- package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +133 -128
- package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +139 -157
- package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +56 -33
- package/examples/nested-architecture-dsm/model/catalog/traces.sysml +25 -26
- package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +7 -5
- package/examples/ros-mobile-robot/README.md +40 -0
- package/examples/ros-mobile-robot/model/catalog/project.sysml +33 -0
- package/examples/ros-mobile-robot/model/catalog/ros_mobile_robot.sysml +296 -0
- package/examples/ros-mobile-robot/model/catalog/viewpoints/unassigned/viewpoint.sysml +7 -0
- package/examples/ros-mobile-robot/model/catalog/viewpoints/unassigned/views/ros_mobile_robot_overview.sysml +13 -0
- package/examples/software-only-medical-device/model/catalog/project.sysml +4 -0
- package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +11 -5
- package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +56 -60
- package/examples/surgical-robot/model/catalog/surgical_robot.sysml +1 -1
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/action_flow_view.sysml +10 -15
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.sysml +7 -9
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +42 -66
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +56 -66
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +26 -55
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/requirements_view.sysml +3 -6
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +0 -18
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +51 -82
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +21 -31
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/use_case_view.sysml +12 -8
- package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +28 -21
- package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +57 -33
- package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +102 -79
- package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +5 -5
- package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +21 -6
- package/examples/ui-screen-regions/model/catalog/relationships.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/traces.sysml +28 -125
- package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +1 -1
- package/extensions/LICENSES/MIT.txt +19 -0
- package/extensions/README.md +94 -0
- package/extensions/aadl/memo.package.yaml +18 -0
- package/extensions/aadl/src/aadl_extension.sysml +6 -0
- package/extensions/aadl/src/correspondence/memo_aadl_correspondence.sysml +147 -0
- package/extensions/aadl/src/methodology/aadl_methodology.sysml +17 -0
- package/extensions/aadl/src/runtime/memo_aadl_runtime.sysml +56 -0
- package/extensions/cloud/memo.package.yaml +18 -0
- package/extensions/cloud/src/cloud_extension.sysml +44 -0
- package/extensions/cloud/src/methodology/cloud_methodology.sysml +17 -0
- package/extensions/container/memo.package.yaml +18 -0
- package/extensions/container/src/container_extension.sysml +37 -0
- package/extensions/container/src/methodology/container_methodology.sysml +17 -0
- package/extensions/messaging/memo.package.yaml +18 -0
- package/extensions/messaging/src/messaging_extension.sysml +64 -0
- package/extensions/messaging/src/methodology/messaging_methodology.sysml +17 -0
- package/extensions/ros/memo.package.yaml +18 -0
- package/extensions/ros/src/methodology/ros_methodology.sysml +25 -0
- package/extensions/ros/src/ros_extension.sysml +200 -0
- package/extensions/template/src/extension.sysml +37 -0
- package/memo.manifest.yaml +13 -2
- package/methodologies/default/memo.package.yaml +1 -1
- package/methodologies/gpca/memo.package.yaml +1 -1
- package/ontology/memo.package.yaml +1 -1
- package/package.json +5 -3
- package/profile/memo.package.yaml +1 -1
- package/src/architecture/decisions/memo_decisions.sysml +23 -2
- package/src/architecture/functional/behavior/memo_behavior.sysml +49 -21
- package/src/architecture/functional/constraints/memo_constraints.sysml +3 -2
- package/src/architecture/functional/functions/memo_functions.sysml +91 -34
- package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +46 -22
- package/src/architecture/implementation/software/structure/memo_software_structure.sysml +37 -10
- package/src/architecture/implementation/ui/memo_ui.sysml +78 -38
- package/src/architecture/logical/interfaces/memo_interfaces.sysml +63 -11
- package/src/architecture/logical/structure/memo_logical_structure.sysml +21 -20
- package/src/architecture/operational/activities/memo_activities.sysml +10 -3
- package/src/architecture/operational/context/actors/memo_actors.sysml +5 -8
- package/src/architecture/operational/context/stakeholders/memo_stakeholders.sysml +13 -30
- package/src/architecture/operational/context/use_context/memo_use_context.sysml +42 -16
- package/src/architecture/operational/scenarios/memo_scenarios.sysml +57 -23
- package/src/architecture/operational/use_cases/memo_use_cases.sysml +35 -26
- package/src/architecture/operational/workflows/memo_workflows.sysml +29 -10
- package/src/architecture/realization/deployment/memo_deployment.sysml +111 -16
- package/src/architecture/realization/physical/memo_physical_architecture.sysml +27 -2
- package/src/artifacts/configuration_management/memo_configuration_management.sysml +16 -0
- package/src/artifacts/core/memo_controlled_artifacts.sysml +3 -1
- package/src/artifacts/standards/cfr_21_820.sysml +116 -0
- package/src/artifacts/standards/fda_cybersecurity_2023.sysml +80 -0
- package/src/artifacts/standards/iec_60601_1.sysml +149 -0
- package/src/artifacts/standards/iec_60601_1_2.sysml +56 -0
- package/src/artifacts/standards/iec_60812.sysml +51 -0
- package/src/artifacts/standards/iec_62304.sysml +210 -0
- package/src/artifacts/standards/iec_62366_1.sysml +113 -0
- package/src/artifacts/standards/iec_81001_5_1.sysml +84 -0
- package/src/artifacts/standards/iso_13485.sysml +113 -0
- package/src/artifacts/standards/iso_14971.sysml +94 -0
- package/src/artifacts/standards/iso_iec_ieee_42010.sysml +42 -0
- package/src/artifacts/standards/memo_artifacts_standards_traceability.sysml +132 -0
- package/src/artifacts/templates/dhf/21cfr820/design-input.md +1 -1
- package/src/artifacts/templates/dhf/21cfr820/design-output.md +5 -5
- package/src/artifacts/templates/dhf/21cfr820/design-review.md +1 -1
- package/src/artifacts/templates/dhf/21cfr820/design-validation.md +2 -2
- package/src/artifacts/templates/dhf/21cfr820/design-verification.md +2 -2
- package/src/artifacts/templates/dhf/21cfr820/dhf-index.md +2 -2
- package/src/artifacts/templates/dhf/21cfr820/transfer-plan.md +1 -1
- package/src/artifacts/templates/dhf/21cfr820/user-needs.md +1 -1
- package/src/artifacts/templates/dhf/21cfr820/vv-plan.md +3 -3
- package/src/artifacts/templates/dhf/21cfr820/vv-report.md +4 -4
- package/src/artifacts/templates/dhf/fda-cybersecurity/incident-response.md +1 -1
- package/src/artifacts/templates/dhf/fda-cybersecurity/postmarket-surveillance.md +3 -2
- package/src/artifacts/templates/dhf/fda-cybersecurity/security-arch.md +2 -2
- package/src/artifacts/templates/dhf/fda-cybersecurity/threat-model.md +4 -4
- package/src/artifacts/templates/dhf/fda-cybersecurity/vuln-assessment.md +4 -3
- package/src/artifacts/templates/dhf/iec-60601/hrs.md +170 -0
- package/src/artifacts/templates/dhf/iec-62304/detailed-design.md +1 -1
- package/src/artifacts/templates/dhf/iec-62304/integration-test.md +3 -3
- package/src/artifacts/templates/dhf/iec-62304/sad.md +6 -5
- package/src/artifacts/templates/dhf/iec-62304/sbom.md +3 -2
- package/src/artifacts/templates/dhf/iec-62304/sdp.md +5 -4
- package/src/artifacts/templates/dhf/iec-62304/soup.md +4 -2
- package/src/artifacts/templates/dhf/iec-62304/srs.md +54 -20
- package/src/artifacts/templates/dhf/iec-62304/sw-traceability.md +3 -3
- package/src/artifacts/templates/dhf/iec-62304/system-test.md +1 -1
- package/src/artifacts/templates/dhf/iec-62366/summative-eval.md +1 -1
- package/src/artifacts/templates/dhf/iec-62366/task-analysis.md +40 -4
- package/src/artifacts/templates/dhf/iec-62366/ue-plan.md +1 -1
- package/src/artifacts/templates/dhf/iec-62366/urra.md +3 -3
- package/src/artifacts/templates/dhf/iso-14971/fmea.md +42 -19
- package/src/artifacts/templates/dhf/iso-14971/har.md +3 -3
- package/src/artifacts/templates/dhf/iso-14971/rmp.md +2 -2
- package/src/artifacts/templates/dhf/system/sad.md +173 -0
- package/src/artifacts/templates/dhf/system/standards-checklist.md +87 -0
- package/src/artifacts/templates/dhf/system/standards-traceability.md +125 -0
- package/src/artifacts/templates/dhf/system/syrs.md +128 -0
- package/src/assurance/cybersecurity/memo_cybersecurity.sysml +39 -20
- package/src/assurance/human_factors/memo_human_factors.sysml +29 -22
- package/src/assurance/requirements/memo_requirements.sysml +5 -2
- package/src/assurance/requirements/needs/memo_needs.sysml +1 -1
- package/src/assurance/safety_risk/analysis/memo_fmea.sysml +118 -13
- package/src/assurance/safety_risk/memo_risk.sysml +78 -7
- package/src/assurance/safety_risk/postmarket_surveillance/memo_postmarket_surveillance.sysml +16 -0
- package/src/assurance/verification_validation/memo_assurance.sysml +17 -21
- package/src/core/annotations/memo_annotations.sysml +25 -6
- package/src/core/common/memo_common.sysml +121 -16
- package/src/core/consistency_rules/consistency_rules.sysml +1 -1
- package/src/core/dimensions/dimensions.sysml +12 -0
- package/src/core/enumerations/memo_enumerations.sysml +60 -14
- package/src/core/relationships/memo_relationships.sysml +199 -196
- package/src/memo_namespaces.sysml +30 -0
- package/src/methodology/core/memo_core.sysml +24 -0
- package/src/methodology/profiles/memo_profiles.sysml +1 -1
- package/src/rules/ontology/ontology_invariants.sysml +213 -1
- package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +3 -3
- package/src/viewpoints/clinical/clinical_viewpoint.sysml +1 -1
- package/src/viewpoints/context/context_viewpoint.sysml +1 -1
- package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +1 -1
- package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +1 -0
- package/src/viewpoints/functional/functional_viewpoint.sysml +1 -1
- package/src/viewpoints/functional/views/function_allocation_view/function_allocation_view.sysml +1 -1
- package/src/viewpoints/functional/views/system_functional_tree_view/system_functional_tree_view.sysml +1 -1
- package/src/viewpoints/operational/operational_viewpoint.sysml +1 -1
- package/src/viewpoints/operational/views/use_case_view/use_case_view.sysml +1 -1
- package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +1 -1
- package/src/viewpoints/verification/verification_viewpoint.sysml +1 -1
- package/src/viewpoints/verification/views/verification_coverage_view/verification_coverage_view.sysml +1 -1
- package/examples/extensions/README.md +0 -16
- package/examples/extensions/template/src/extension.sysml +0 -15
- package/examples/gpca-pump/gpca-pump.kpar +0 -0
- /package/{examples/extensions → extensions}/clinical/memo.package.yaml +0 -0
- /package/{examples/extensions → extensions}/clinical/src/clinical_extension.sysml +0 -0
- /package/{examples/extensions → extensions}/clinical/src/methodology/clinical_methodology.sysml +0 -0
- /package/{examples/extensions → extensions}/clinical/src/procedures/memo_clinical_procedures.sysml +0 -0
- /package/{examples/extensions → extensions}/template/memo.package.yaml +0 -0
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
package memo_artifacts_configuration_management {
|
|
2
|
+
private import Metaobjects::SemanticMetadata;
|
|
2
3
|
private import ScalarValues::*;
|
|
4
|
+
private import memo_core_relationships::*; // MemoRelationship
|
|
3
5
|
|
|
4
6
|
private import memo_core_common::*;
|
|
5
7
|
private import memo_core_enumerations::*;
|
|
@@ -16,4 +18,18 @@ package memo_artifacts_configuration_management {
|
|
|
16
18
|
attribute baseline : String;
|
|
17
19
|
attribute controlLevel : String;
|
|
18
20
|
}
|
|
21
|
+
|
|
22
|
+
// ── Relations owned by this package ─────────────────────────────
|
|
23
|
+
// Moved out of memo_core_relationships: their ends are typed against
|
|
24
|
+
// types declared here, and core must not depend on a domain package.
|
|
25
|
+
connection def Changes :> MemoRelationship {
|
|
26
|
+
end changeRequest : ChangeRequest :>> source;
|
|
27
|
+
end changedElement : MemoPart :>> target;
|
|
28
|
+
}
|
|
29
|
+
abstract connection changesLinks : Changes[*];
|
|
30
|
+
metadata def <changes> ChangesMetadata :> SemanticMetadata {
|
|
31
|
+
:> annotatedElement : SysML::ConnectionDefinition;
|
|
32
|
+
:> annotatedElement : SysML::ConnectionUsage;
|
|
33
|
+
:>> baseType = changesLinks meta SysML::Usage;
|
|
34
|
+
}
|
|
19
35
|
}
|
|
@@ -4,7 +4,9 @@ package memo_artifacts_core {
|
|
|
4
4
|
private import memo_core_common::*;
|
|
5
5
|
private import memo_core_enumerations::*;
|
|
6
6
|
|
|
7
|
-
item def
|
|
7
|
+
abstract item def MemoArtifactItem :> MemoItem;
|
|
8
|
+
|
|
9
|
+
item def ControlledArtifact :> MemoArtifactItem {
|
|
8
10
|
attribute version : String;
|
|
9
11
|
attribute artifactKind : ArtifactKind;
|
|
10
12
|
attribute owner : String;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
// 21 CFR Part 820 — FDA Quality System Regulation, design controls.
|
|
2
|
+
//
|
|
3
|
+
// Only §820.30 (design controls) and its paragraphs are represented: those are
|
|
4
|
+
// the provisions a design history file traces to. The production, purchasing
|
|
5
|
+
// and records subparts are QMS scope that no model element claims.
|
|
6
|
+
//
|
|
7
|
+
// Terminology: under QMSR (effective February 2026) Part 820 incorporates
|
|
8
|
+
// ISO 13485:2016 by reference, so a project may end up claiming both this pack
|
|
9
|
+
// and the 13485 one for the same document. That is two claims about one
|
|
10
|
+
// artifact, which is exactly what ConformsTo is for — it is not a duplicate
|
|
11
|
+
// registry.
|
|
12
|
+
package memo_artifacts_standards_cfr_21_820 {
|
|
13
|
+
private import ScalarValues::*;
|
|
14
|
+
private import memo_core_enumerations::*;
|
|
15
|
+
private import memo_core_relationships::*;
|
|
16
|
+
private import memo_artifacts_standards_traceability::*;
|
|
17
|
+
|
|
18
|
+
item cfr21Part820 : RegulatoryStandard {
|
|
19
|
+
attribute :>> id = "STD-21-CFR-820";
|
|
20
|
+
attribute :>> name = "CFR21Part820";
|
|
21
|
+
attribute :>> designation = "21 CFR Part 820";
|
|
22
|
+
attribute :>> issuer = "FDA";
|
|
23
|
+
attribute :>> appliesToRegime = (RegulatoryRegimeKind::FDA_510k, RegulatoryRegimeKind::FDA_PMA);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
item cfr820_30 : StandardClause {
|
|
27
|
+
attribute :>> id = "STD-21-CFR-820-30";
|
|
28
|
+
attribute :>> name = "CFR820_30";
|
|
29
|
+
attribute :>> clauseNumber = "820.30";
|
|
30
|
+
attribute :>> title = "design controls";
|
|
31
|
+
attribute :>> normativeStrength = "shall";
|
|
32
|
+
}
|
|
33
|
+
item cfr820_30a : StandardClause {
|
|
34
|
+
attribute :>> id = "STD-21-CFR-820-30-A";
|
|
35
|
+
attribute :>> name = "CFR820_30a";
|
|
36
|
+
attribute :>> clauseNumber = "820.30(a)";
|
|
37
|
+
attribute :>> title = "general design control applicability";
|
|
38
|
+
attribute :>> normativeStrength = "shall";
|
|
39
|
+
}
|
|
40
|
+
item cfr820_30b : StandardClause {
|
|
41
|
+
attribute :>> id = "STD-21-CFR-820-30-B";
|
|
42
|
+
attribute :>> name = "CFR820_30b";
|
|
43
|
+
attribute :>> clauseNumber = "820.30(b)";
|
|
44
|
+
attribute :>> title = "design and development planning";
|
|
45
|
+
attribute :>> normativeStrength = "shall";
|
|
46
|
+
}
|
|
47
|
+
item cfr820_30c : StandardClause {
|
|
48
|
+
attribute :>> id = "STD-21-CFR-820-30-C";
|
|
49
|
+
attribute :>> name = "CFR820_30c";
|
|
50
|
+
attribute :>> clauseNumber = "820.30(c)";
|
|
51
|
+
attribute :>> title = "design input";
|
|
52
|
+
attribute :>> normativeStrength = "shall";
|
|
53
|
+
}
|
|
54
|
+
item cfr820_30d : StandardClause {
|
|
55
|
+
attribute :>> id = "STD-21-CFR-820-30-D";
|
|
56
|
+
attribute :>> name = "CFR820_30d";
|
|
57
|
+
attribute :>> clauseNumber = "820.30(d)";
|
|
58
|
+
attribute :>> title = "design output";
|
|
59
|
+
attribute :>> normativeStrength = "shall";
|
|
60
|
+
}
|
|
61
|
+
item cfr820_30e : StandardClause {
|
|
62
|
+
attribute :>> id = "STD-21-CFR-820-30-E";
|
|
63
|
+
attribute :>> name = "CFR820_30e";
|
|
64
|
+
attribute :>> clauseNumber = "820.30(e)";
|
|
65
|
+
attribute :>> title = "design review";
|
|
66
|
+
attribute :>> normativeStrength = "shall";
|
|
67
|
+
}
|
|
68
|
+
item cfr820_30f : StandardClause {
|
|
69
|
+
attribute :>> id = "STD-21-CFR-820-30-F";
|
|
70
|
+
attribute :>> name = "CFR820_30f";
|
|
71
|
+
attribute :>> clauseNumber = "820.30(f)";
|
|
72
|
+
attribute :>> title = "design verification";
|
|
73
|
+
attribute :>> normativeStrength = "shall";
|
|
74
|
+
}
|
|
75
|
+
item cfr820_30g : StandardClause {
|
|
76
|
+
attribute :>> id = "STD-21-CFR-820-30-G";
|
|
77
|
+
attribute :>> name = "CFR820_30g";
|
|
78
|
+
attribute :>> clauseNumber = "820.30(g)";
|
|
79
|
+
attribute :>> title = "design validation";
|
|
80
|
+
attribute :>> normativeStrength = "shall";
|
|
81
|
+
}
|
|
82
|
+
item cfr820_30h : StandardClause {
|
|
83
|
+
attribute :>> id = "STD-21-CFR-820-30-H";
|
|
84
|
+
attribute :>> name = "CFR820_30h";
|
|
85
|
+
attribute :>> clauseNumber = "820.30(h)";
|
|
86
|
+
attribute :>> title = "design transfer";
|
|
87
|
+
attribute :>> normativeStrength = "shall";
|
|
88
|
+
}
|
|
89
|
+
item cfr820_30i : StandardClause {
|
|
90
|
+
attribute :>> id = "STD-21-CFR-820-30-I";
|
|
91
|
+
attribute :>> name = "CFR820_30i";
|
|
92
|
+
attribute :>> clauseNumber = "820.30(i)";
|
|
93
|
+
attribute :>> title = "design changes";
|
|
94
|
+
attribute :>> normativeStrength = "shall";
|
|
95
|
+
}
|
|
96
|
+
item cfr820_30j : StandardClause {
|
|
97
|
+
attribute :>> id = "STD-21-CFR-820-30-J";
|
|
98
|
+
attribute :>> name = "CFR820_30j";
|
|
99
|
+
attribute :>> clauseNumber = "820.30(j)";
|
|
100
|
+
attribute :>> title = "design history file";
|
|
101
|
+
attribute :>> normativeStrength = "shall";
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
connection cfr820Has30 : Composes connect parent ::> cfr21Part820 to child ::> cfr820_30;
|
|
105
|
+
|
|
106
|
+
connection cfr820_30HasA : Composes connect parent ::> cfr820_30 to child ::> cfr820_30a;
|
|
107
|
+
connection cfr820_30HasB : Composes connect parent ::> cfr820_30 to child ::> cfr820_30b;
|
|
108
|
+
connection cfr820_30HasC : Composes connect parent ::> cfr820_30 to child ::> cfr820_30c;
|
|
109
|
+
connection cfr820_30HasD : Composes connect parent ::> cfr820_30 to child ::> cfr820_30d;
|
|
110
|
+
connection cfr820_30HasE : Composes connect parent ::> cfr820_30 to child ::> cfr820_30e;
|
|
111
|
+
connection cfr820_30HasF : Composes connect parent ::> cfr820_30 to child ::> cfr820_30f;
|
|
112
|
+
connection cfr820_30HasG : Composes connect parent ::> cfr820_30 to child ::> cfr820_30g;
|
|
113
|
+
connection cfr820_30HasH : Composes connect parent ::> cfr820_30 to child ::> cfr820_30h;
|
|
114
|
+
connection cfr820_30HasI : Composes connect parent ::> cfr820_30 to child ::> cfr820_30i;
|
|
115
|
+
connection cfr820_30HasJ : Composes connect parent ::> cfr820_30 to child ::> cfr820_30j;
|
|
116
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// FDA guidance — "Cybersecurity in Medical Devices: Quality System
|
|
2
|
+
// Considerations and Content of Premarket Submissions" (September 2023).
|
|
3
|
+
//
|
|
4
|
+
// Guidance, not a consensus standard, so every clause here carries
|
|
5
|
+
// normativeStrength = "informative": FDA guidance describes current thinking
|
|
6
|
+
// and is not binding. It is modelled as a RegulatoryStandard all the same,
|
|
7
|
+
// because a submission traces to it exactly the way it traces to IEC 62304 —
|
|
8
|
+
// the traceability question is identical, only the enforceability differs, and
|
|
9
|
+
// that difference is data on the clause rather than a second mechanism.
|
|
10
|
+
//
|
|
11
|
+
// Reference granularity is the guidance's own lettered section structure
|
|
12
|
+
// (IV, V.A, …), not a decimal clause numbering — this document has none. The
|
|
13
|
+
// templates previously cited decimal numbers ("3.2", "5.2") that match no
|
|
14
|
+
// section of the published guidance; those were replaced when this pack landed.
|
|
15
|
+
package memo_artifacts_standards_fda_cybersecurity_2023 {
|
|
16
|
+
private import ScalarValues::*;
|
|
17
|
+
private import memo_core_enumerations::*;
|
|
18
|
+
private import memo_core_relationships::*;
|
|
19
|
+
private import memo_artifacts_standards_traceability::*;
|
|
20
|
+
|
|
21
|
+
item fdaCybersecurity2023 : RegulatoryStandard {
|
|
22
|
+
attribute :>> id = "STD-FDA-CYBER-2023";
|
|
23
|
+
attribute :>> name = "FDACybersecurity2023";
|
|
24
|
+
attribute :>> designation = "FDA Cybersecurity Guidance 2023";
|
|
25
|
+
attribute :>> edition = "2023-09";
|
|
26
|
+
attribute :>> issuer = "FDA";
|
|
27
|
+
attribute :>> appliesToRegime = (RegulatoryRegimeKind::FDA_510k, RegulatoryRegimeKind::FDA_PMA);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
item fdaCyberSection4 : StandardClause {
|
|
31
|
+
attribute :>> id = "STD-FDA-CYBER-2023-IV";
|
|
32
|
+
attribute :>> name = "FDACyberSectionIV";
|
|
33
|
+
attribute :>> clauseNumber = "IV";
|
|
34
|
+
attribute :>> title = "general cybersecurity principles";
|
|
35
|
+
attribute :>> normativeStrength = "informative";
|
|
36
|
+
}
|
|
37
|
+
item fdaCyberSection5 : StandardClause {
|
|
38
|
+
attribute :>> id = "STD-FDA-CYBER-2023-V";
|
|
39
|
+
attribute :>> name = "FDACyberSectionV";
|
|
40
|
+
attribute :>> clauseNumber = "V";
|
|
41
|
+
attribute :>> title = "secure product development framework";
|
|
42
|
+
attribute :>> normativeStrength = "informative";
|
|
43
|
+
}
|
|
44
|
+
item fdaCyberSection5A : StandardClause {
|
|
45
|
+
attribute :>> id = "STD-FDA-CYBER-2023-V-A";
|
|
46
|
+
attribute :>> name = "FDACyberSectionVA";
|
|
47
|
+
attribute :>> clauseNumber = "V.A";
|
|
48
|
+
attribute :>> title = "security risk management";
|
|
49
|
+
attribute :>> normativeStrength = "informative";
|
|
50
|
+
}
|
|
51
|
+
item fdaCyberSection5B : StandardClause {
|
|
52
|
+
attribute :>> id = "STD-FDA-CYBER-2023-V-B";
|
|
53
|
+
attribute :>> name = "FDACyberSectionVB";
|
|
54
|
+
attribute :>> clauseNumber = "V.B";
|
|
55
|
+
attribute :>> title = "security architecture";
|
|
56
|
+
attribute :>> normativeStrength = "informative";
|
|
57
|
+
}
|
|
58
|
+
item fdaCyberSection5C : StandardClause {
|
|
59
|
+
attribute :>> id = "STD-FDA-CYBER-2023-V-C";
|
|
60
|
+
attribute :>> name = "FDACyberSectionVC";
|
|
61
|
+
attribute :>> clauseNumber = "V.C";
|
|
62
|
+
attribute :>> title = "cybersecurity testing";
|
|
63
|
+
attribute :>> normativeStrength = "informative";
|
|
64
|
+
}
|
|
65
|
+
item fdaCyberSection6 : StandardClause {
|
|
66
|
+
attribute :>> id = "STD-FDA-CYBER-2023-VI";
|
|
67
|
+
attribute :>> name = "FDACyberSectionVI";
|
|
68
|
+
attribute :>> clauseNumber = "VI";
|
|
69
|
+
attribute :>> title = "cybersecurity transparency and vulnerability management";
|
|
70
|
+
attribute :>> normativeStrength = "informative";
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
connection fdaCyberHas4 : Composes connect parent ::> fdaCybersecurity2023 to child ::> fdaCyberSection4;
|
|
74
|
+
connection fdaCyberHas5 : Composes connect parent ::> fdaCybersecurity2023 to child ::> fdaCyberSection5;
|
|
75
|
+
connection fdaCyberHas6 : Composes connect parent ::> fdaCybersecurity2023 to child ::> fdaCyberSection6;
|
|
76
|
+
|
|
77
|
+
connection fdaCyberHas5A : Composes connect parent ::> fdaCyberSection5 to child ::> fdaCyberSection5A;
|
|
78
|
+
connection fdaCyberHas5B : Composes connect parent ::> fdaCyberSection5 to child ::> fdaCyberSection5B;
|
|
79
|
+
connection fdaCyberHas5C : Composes connect parent ::> fdaCyberSection5 to child ::> fdaCyberSection5C;
|
|
80
|
+
}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
// IEC 60601-1:2005+AMD1:2012+AMD2:2020 — basic safety and essential
|
|
2
|
+
// performance of medical electrical equipment.
|
|
3
|
+
//
|
|
4
|
+
// This pack is the test of whether the standards library generalises past
|
|
5
|
+
// software: 60601-1 is a hardware-and-system standard, so its clauses are
|
|
6
|
+
// claimed by hardware requirements, physical elements and system-level
|
|
7
|
+
// documents rather than by software items.
|
|
8
|
+
//
|
|
9
|
+
// Depth is representative — the clause level, plus the sub-clauses MEMO
|
|
10
|
+
// documents actually claim. `title` is a MEMO-AUTHORED scope phrase, never
|
|
11
|
+
// the standard's own normative wording.
|
|
12
|
+
package memo_artifacts_standards_iec_60601_1 {
|
|
13
|
+
private import ScalarValues::*;
|
|
14
|
+
private import memo_core_enumerations::*;
|
|
15
|
+
private import memo_core_relationships::*;
|
|
16
|
+
private import memo_artifacts_standards_traceability::*;
|
|
17
|
+
|
|
18
|
+
item iec60601_1 : RegulatoryStandard {
|
|
19
|
+
attribute :>> id = "STD-IEC-60601-1";
|
|
20
|
+
attribute :>> name = "IEC60601_1";
|
|
21
|
+
attribute :>> designation = "IEC 60601-1:2005+AMD1:2012+AMD2:2020";
|
|
22
|
+
attribute :>> edition = "3.2";
|
|
23
|
+
attribute :>> issuer = "IEC";
|
|
24
|
+
attribute :>> appliesToRegime = (RegulatoryRegimeKind::CE, RegulatoryRegimeKind::MDR, RegulatoryRegimeKind::UKCA, RegulatoryRegimeKind::FDA_510k, RegulatoryRegimeKind::FDA_PMA);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
item iec60601_1Clause4 : StandardClause {
|
|
28
|
+
attribute :>> id = "STD-IEC-60601-1-4";
|
|
29
|
+
attribute :>> name = "IEC60601_1Clause4";
|
|
30
|
+
attribute :>> clauseNumber = "4";
|
|
31
|
+
attribute :>> title = "general requirements for basic safety and essential performance";
|
|
32
|
+
attribute :>> normativeStrength = "shall";
|
|
33
|
+
}
|
|
34
|
+
item iec60601_1Clause4_2 : StandardClause {
|
|
35
|
+
attribute :>> id = "STD-IEC-60601-1-4-2";
|
|
36
|
+
attribute :>> name = "IEC60601_1Clause4_2";
|
|
37
|
+
attribute :>> clauseNumber = "4.2";
|
|
38
|
+
attribute :>> title = "risk management process for medical electrical equipment";
|
|
39
|
+
attribute :>> normativeStrength = "shall";
|
|
40
|
+
}
|
|
41
|
+
item iec60601_1Clause4_3 : StandardClause {
|
|
42
|
+
attribute :>> id = "STD-IEC-60601-1-4-3";
|
|
43
|
+
attribute :>> name = "IEC60601_1Clause4_3";
|
|
44
|
+
attribute :>> clauseNumber = "4.3";
|
|
45
|
+
attribute :>> title = "essential performance identification";
|
|
46
|
+
attribute :>> normativeStrength = "shall";
|
|
47
|
+
}
|
|
48
|
+
item iec60601_1Clause5 : StandardClause {
|
|
49
|
+
attribute :>> id = "STD-IEC-60601-1-5";
|
|
50
|
+
attribute :>> name = "IEC60601_1Clause5";
|
|
51
|
+
attribute :>> clauseNumber = "5";
|
|
52
|
+
attribute :>> title = "general requirements for testing";
|
|
53
|
+
attribute :>> normativeStrength = "shall";
|
|
54
|
+
}
|
|
55
|
+
item iec60601_1Clause7 : StandardClause {
|
|
56
|
+
attribute :>> id = "STD-IEC-60601-1-7";
|
|
57
|
+
attribute :>> name = "IEC60601_1Clause7";
|
|
58
|
+
attribute :>> clauseNumber = "7";
|
|
59
|
+
attribute :>> title = "equipment identification, marking and accompanying documents";
|
|
60
|
+
attribute :>> normativeStrength = "shall";
|
|
61
|
+
}
|
|
62
|
+
item iec60601_1Clause8 : StandardClause {
|
|
63
|
+
attribute :>> id = "STD-IEC-60601-1-8";
|
|
64
|
+
attribute :>> name = "IEC60601_1Clause8";
|
|
65
|
+
attribute :>> clauseNumber = "8";
|
|
66
|
+
attribute :>> title = "protection against electrical hazards";
|
|
67
|
+
attribute :>> normativeStrength = "shall";
|
|
68
|
+
}
|
|
69
|
+
item iec60601_1Clause9 : StandardClause {
|
|
70
|
+
attribute :>> id = "STD-IEC-60601-1-9";
|
|
71
|
+
attribute :>> name = "IEC60601_1Clause9";
|
|
72
|
+
attribute :>> clauseNumber = "9";
|
|
73
|
+
attribute :>> title = "protection against mechanical hazards";
|
|
74
|
+
attribute :>> normativeStrength = "shall";
|
|
75
|
+
}
|
|
76
|
+
item iec60601_1Clause10 : StandardClause {
|
|
77
|
+
attribute :>> id = "STD-IEC-60601-1-10";
|
|
78
|
+
attribute :>> name = "IEC60601_1Clause10";
|
|
79
|
+
attribute :>> clauseNumber = "10";
|
|
80
|
+
attribute :>> title = "protection against unwanted and excessive radiation";
|
|
81
|
+
attribute :>> normativeStrength = "shall";
|
|
82
|
+
}
|
|
83
|
+
item iec60601_1Clause11 : StandardClause {
|
|
84
|
+
attribute :>> id = "STD-IEC-60601-1-11";
|
|
85
|
+
attribute :>> name = "IEC60601_1Clause11";
|
|
86
|
+
attribute :>> clauseNumber = "11";
|
|
87
|
+
attribute :>> title = "protection against excessive temperatures and related hazards";
|
|
88
|
+
attribute :>> normativeStrength = "shall";
|
|
89
|
+
}
|
|
90
|
+
item iec60601_1Clause12 : StandardClause {
|
|
91
|
+
attribute :>> id = "STD-IEC-60601-1-12";
|
|
92
|
+
attribute :>> name = "IEC60601_1Clause12";
|
|
93
|
+
attribute :>> clauseNumber = "12";
|
|
94
|
+
attribute :>> title = "accuracy of controls and protection against hazardous output";
|
|
95
|
+
attribute :>> normativeStrength = "shall";
|
|
96
|
+
}
|
|
97
|
+
item iec60601_1Clause13 : StandardClause {
|
|
98
|
+
attribute :>> id = "STD-IEC-60601-1-13";
|
|
99
|
+
attribute :>> name = "IEC60601_1Clause13";
|
|
100
|
+
attribute :>> clauseNumber = "13";
|
|
101
|
+
attribute :>> title = "hazardous situations and fault conditions";
|
|
102
|
+
attribute :>> normativeStrength = "shall";
|
|
103
|
+
}
|
|
104
|
+
item iec60601_1Clause14 : StandardClause {
|
|
105
|
+
attribute :>> id = "STD-IEC-60601-1-14";
|
|
106
|
+
attribute :>> name = "IEC60601_1Clause14";
|
|
107
|
+
attribute :>> clauseNumber = "14";
|
|
108
|
+
attribute :>> title = "programmable electrical medical systems";
|
|
109
|
+
attribute :>> normativeStrength = "shall";
|
|
110
|
+
}
|
|
111
|
+
item iec60601_1Clause15 : StandardClause {
|
|
112
|
+
attribute :>> id = "STD-IEC-60601-1-15";
|
|
113
|
+
attribute :>> name = "IEC60601_1Clause15";
|
|
114
|
+
attribute :>> clauseNumber = "15";
|
|
115
|
+
attribute :>> title = "construction of medical electrical equipment";
|
|
116
|
+
attribute :>> normativeStrength = "shall";
|
|
117
|
+
}
|
|
118
|
+
item iec60601_1Clause16 : StandardClause {
|
|
119
|
+
attribute :>> id = "STD-IEC-60601-1-16";
|
|
120
|
+
attribute :>> name = "IEC60601_1Clause16";
|
|
121
|
+
attribute :>> clauseNumber = "16";
|
|
122
|
+
attribute :>> title = "medical electrical systems";
|
|
123
|
+
attribute :>> normativeStrength = "shall";
|
|
124
|
+
}
|
|
125
|
+
item iec60601_1Clause17 : StandardClause {
|
|
126
|
+
attribute :>> id = "STD-IEC-60601-1-17";
|
|
127
|
+
attribute :>> name = "IEC60601_1Clause17";
|
|
128
|
+
attribute :>> clauseNumber = "17";
|
|
129
|
+
attribute :>> title = "electromagnetic compatibility";
|
|
130
|
+
attribute :>> normativeStrength = "shall";
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
connection iec60601_1Has4 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause4;
|
|
134
|
+
connection iec60601_1Has5 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause5;
|
|
135
|
+
connection iec60601_1Has7 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause7;
|
|
136
|
+
connection iec60601_1Has8 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause8;
|
|
137
|
+
connection iec60601_1Has9 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause9;
|
|
138
|
+
connection iec60601_1Has10 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause10;
|
|
139
|
+
connection iec60601_1Has11 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause11;
|
|
140
|
+
connection iec60601_1Has12 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause12;
|
|
141
|
+
connection iec60601_1Has13 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause13;
|
|
142
|
+
connection iec60601_1Has14 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause14;
|
|
143
|
+
connection iec60601_1Has15 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause15;
|
|
144
|
+
connection iec60601_1Has16 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause16;
|
|
145
|
+
connection iec60601_1Has17 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause17;
|
|
146
|
+
|
|
147
|
+
connection iec60601_1Has4_2 : Composes connect parent ::> iec60601_1Clause4 to child ::> iec60601_1Clause4_2;
|
|
148
|
+
connection iec60601_1Has4_3 : Composes connect parent ::> iec60601_1Clause4 to child ::> iec60601_1Clause4_3;
|
|
149
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// IEC 60601-1-2:2014+AMD1:2020 — collateral standard for electromagnetic
|
|
2
|
+
// disturbances.
|
|
3
|
+
//
|
|
4
|
+
// Separate from the 60601-1 pack because it is a separate designation with its
|
|
5
|
+
// own edition and amendment history: a hardware requirement claiming EMC
|
|
6
|
+
// emissions cites this document, not the general standard.
|
|
7
|
+
package memo_artifacts_standards_iec_60601_1_2 {
|
|
8
|
+
private import ScalarValues::*;
|
|
9
|
+
private import memo_core_enumerations::*;
|
|
10
|
+
private import memo_core_relationships::*;
|
|
11
|
+
private import memo_artifacts_standards_traceability::*;
|
|
12
|
+
|
|
13
|
+
item iec60601_1_2 : RegulatoryStandard {
|
|
14
|
+
attribute :>> id = "STD-IEC-60601-1-2-COLLATERAL";
|
|
15
|
+
attribute :>> name = "IEC60601_1_2";
|
|
16
|
+
attribute :>> designation = "IEC 60601-1-2:2014+AMD1:2020";
|
|
17
|
+
attribute :>> edition = "4.1";
|
|
18
|
+
attribute :>> issuer = "IEC";
|
|
19
|
+
attribute :>> amendments = "AMD1:2020";
|
|
20
|
+
attribute :>> appliesToRegime = (RegulatoryRegimeKind::CE, RegulatoryRegimeKind::MDR, RegulatoryRegimeKind::UKCA, RegulatoryRegimeKind::FDA_510k, RegulatoryRegimeKind::FDA_PMA);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
item iec60601_1_2Clause4 : StandardClause {
|
|
24
|
+
attribute :>> id = "STD-IEC-60601-1-2-4";
|
|
25
|
+
attribute :>> name = "IEC60601_1_2Clause4";
|
|
26
|
+
attribute :>> clauseNumber = "4";
|
|
27
|
+
attribute :>> title = "general requirements for electromagnetic disturbances";
|
|
28
|
+
attribute :>> normativeStrength = "shall";
|
|
29
|
+
}
|
|
30
|
+
item iec60601_1_2Clause5 : StandardClause {
|
|
31
|
+
attribute :>> id = "STD-IEC-60601-1-2-5";
|
|
32
|
+
attribute :>> name = "IEC60601_1_2Clause5";
|
|
33
|
+
attribute :>> clauseNumber = "5";
|
|
34
|
+
attribute :>> title = "electromagnetic compatibility information in accompanying documents";
|
|
35
|
+
attribute :>> normativeStrength = "shall";
|
|
36
|
+
}
|
|
37
|
+
item iec60601_1_2Clause7 : StandardClause {
|
|
38
|
+
attribute :>> id = "STD-IEC-60601-1-2-7";
|
|
39
|
+
attribute :>> name = "IEC60601_1_2Clause7";
|
|
40
|
+
attribute :>> clauseNumber = "7";
|
|
41
|
+
attribute :>> title = "electromagnetic emissions";
|
|
42
|
+
attribute :>> normativeStrength = "shall";
|
|
43
|
+
}
|
|
44
|
+
item iec60601_1_2Clause8 : StandardClause {
|
|
45
|
+
attribute :>> id = "STD-IEC-60601-1-2-8";
|
|
46
|
+
attribute :>> name = "IEC60601_1_2Clause8";
|
|
47
|
+
attribute :>> clauseNumber = "8";
|
|
48
|
+
attribute :>> title = "electromagnetic immunity";
|
|
49
|
+
attribute :>> normativeStrength = "shall";
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
connection iec60601_1_2Has4 : Composes connect parent ::> iec60601_1_2 to child ::> iec60601_1_2Clause4;
|
|
53
|
+
connection iec60601_1_2Has5 : Composes connect parent ::> iec60601_1_2 to child ::> iec60601_1_2Clause5;
|
|
54
|
+
connection iec60601_1_2Has7 : Composes connect parent ::> iec60601_1_2 to child ::> iec60601_1_2Clause7;
|
|
55
|
+
connection iec60601_1_2Has8 : Composes connect parent ::> iec60601_1_2 to child ::> iec60601_1_2Clause8;
|
|
56
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// IEC 60812:2018 — failure modes and effects analysis (FMEA and FMECA).
|
|
2
|
+
//
|
|
3
|
+
// The analysis method the FMEA template claims; the risk-management process it
|
|
4
|
+
// feeds is ISO 14971, carried separately in that template's `clauses:`.
|
|
5
|
+
//
|
|
6
|
+
// SCOPE PHRASES DELIBERATELY ABSENT. `title` is optional, and the clauses this
|
|
7
|
+
// pack needs are cited by number in the FMEA template without MEMO having a
|
|
8
|
+
// verified reading of what each one governs in the 2018 edition. An absent
|
|
9
|
+
// label is a visible gap a regulatory reviewer can close in one line; a guessed
|
|
10
|
+
// one is a citation nobody can check. Clause resolution and traceability work
|
|
11
|
+
// either way — the phrase is a display label, never what queries match on.
|
|
12
|
+
package memo_artifacts_standards_iec_60812 {
|
|
13
|
+
private import ScalarValues::*;
|
|
14
|
+
private import memo_core_relationships::*;
|
|
15
|
+
private import memo_artifacts_standards_traceability::*;
|
|
16
|
+
|
|
17
|
+
item iec60812 : RegulatoryStandard {
|
|
18
|
+
attribute :>> id = "STD-IEC-60812";
|
|
19
|
+
attribute :>> name = "IEC60812";
|
|
20
|
+
attribute :>> designation = "IEC 60812:2018";
|
|
21
|
+
attribute :>> edition = "2018";
|
|
22
|
+
attribute :>> issuer = "IEC";
|
|
23
|
+
// No submission regime mandates this standard: it is a method /
|
|
24
|
+
// reference standard, cited by documents rather than required by a
|
|
25
|
+
// market. Empty is the authored value, not an omission — see
|
|
26
|
+
// appliesToRegime in memo_artifacts_standards_traceability.
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
item iec60812Clause5 : StandardClause {
|
|
30
|
+
attribute :>> id = "STD-IEC-60812-5";
|
|
31
|
+
attribute :>> name = "IEC60812Clause5";
|
|
32
|
+
attribute :>> clauseNumber = "5";
|
|
33
|
+
attribute :>> normativeStrength = "shall";
|
|
34
|
+
}
|
|
35
|
+
item iec60812Clause6 : StandardClause {
|
|
36
|
+
attribute :>> id = "STD-IEC-60812-6";
|
|
37
|
+
attribute :>> name = "IEC60812Clause6";
|
|
38
|
+
attribute :>> clauseNumber = "6";
|
|
39
|
+
attribute :>> normativeStrength = "shall";
|
|
40
|
+
}
|
|
41
|
+
item iec60812Clause7 : StandardClause {
|
|
42
|
+
attribute :>> id = "STD-IEC-60812-7";
|
|
43
|
+
attribute :>> name = "IEC60812Clause7";
|
|
44
|
+
attribute :>> clauseNumber = "7";
|
|
45
|
+
attribute :>> normativeStrength = "shall";
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
connection iec60812Has5 : Composes connect parent ::> iec60812 to child ::> iec60812Clause5;
|
|
49
|
+
connection iec60812Has6 : Composes connect parent ::> iec60812 to child ::> iec60812Clause6;
|
|
50
|
+
connection iec60812Has7 : Composes connect parent ::> iec60812 to child ::> iec60812Clause7;
|
|
51
|
+
}
|