@memoarchitect/ontology 0.4.5 → 0.6.0
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 +5 -4
- package/examples/connected-patient-monitor/README.md +7 -0
- package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +70 -0
- package/examples/connected-patient-monitor/model/connected_patient_monitor.sysml +3 -0
- package/examples/connected-patient-monitor/model/viewpoints/connected_patient_monitor_overview.sysml +6 -0
- package/examples/embedded-infusion-pump/README.md +7 -0
- package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +66 -0
- package/examples/embedded-infusion-pump/model/embedded_infusion_pump.sysml +3 -0
- package/examples/embedded-infusion-pump/model/viewpoints/embedded_infusion_pump_overview.sysml +6 -0
- package/examples/extensions/README.md +16 -0
- package/examples/extensions/clinical/memo.package.yaml +9 -0
- package/examples/extensions/clinical/src/clinical_extension.sysml +3 -0
- package/examples/extensions/clinical/src/methodology/clinical_methodology.sysml +14 -0
- package/examples/extensions/clinical/src/procedures/memo_clinical_procedures.sysml +16 -0
- package/examples/extensions/template/memo.package.yaml +9 -0
- package/examples/extensions/template/src/extension.sysml +15 -0
- package/examples/functional-logical-physical/README.md +7 -0
- package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +50 -0
- package/examples/functional-logical-physical/model/functional_logical_physical.sysml +3 -0
- package/examples/functional-logical-physical/model/viewpoints/functional_logical_physical_overview.sysml +6 -0
- package/examples/gpca-pump/README.md +26 -0
- package/examples/gpca-pump/dhf/documents/DOC-RMP-001.md +1 -1
- package/examples/gpca-pump/memo.config.yaml +2 -2
- package/examples/gpca-pump/methodology/gpca_profiles.sysml +1 -1
- package/examples/gpca-pump/methodology/gpca_scope.sysml +2 -2
- package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +1 -1
- package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +10 -10
- package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +17 -6
- package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +11 -11
- package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +35 -22
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +25 -6
- package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +6 -6
- package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +29 -15
- package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +293 -169
- package/examples/gpca-pump/model/catalog/gpca_operational.sysml +139 -21
- package/examples/gpca-pump/model/catalog/gpca_physical.sysml +1 -1
- package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +210 -105
- package/examples/gpca-pump/model/catalog/gpca_risk.sysml +66 -69
- package/examples/gpca-pump/model/catalog/gpca_system.sysml +43 -76
- package/examples/gpca-pump/model/catalog/gpca_trace.sysml +73 -70
- package/examples/gpca-pump/model/catalog/gpca_verification.sysml +27 -27
- package/examples/gpca-pump/model/views/context_system_context_view.sysml +2 -2
- package/examples/gpca-pump/model/views/document_architecture_description_view.sysml +2 -2
- package/examples/gpca-pump/model/views/document_cyber_assessment_view.sysml +2 -2
- package/examples/gpca-pump/model/views/document_hazard_analysis_view.sysml +1 -1
- package/examples/gpca-pump/model/views/document_rmf_view.sysml +2 -2
- package/examples/gpca-pump/model/views/document_sdd_view.sysml +2 -2
- package/examples/gpca-pump/model/views/document_threat_model_view.sysml +1 -1
- package/examples/gpca-pump/model/views/document_usability_view.sysml +1 -1
- package/examples/gpca-pump/model/views/document_vv_view.sysml +1 -1
- package/examples/gpca-pump/model/views/functional_function_allocation_view.sysml +1 -1
- package/examples/gpca-pump/model/views/functional_function_browser_view.sysml +1 -1
- package/examples/gpca-pump/model/views/logical_device_interconnect_view.sysml +1 -1
- package/examples/gpca-pump/model/views/logical_mode_state_view.sysml +1 -1
- package/examples/gpca-pump/model/views/logical_system_decomposition_view.sysml +1 -1
- package/examples/gpca-pump/model/views/operational_scenario_sequence_view.sysml +1 -1
- package/examples/gpca-pump/model/views/operational_use_case_view.sysml +6 -6
- package/examples/gpca-pump/model/views/physical_physical_bom_view.sysml +1 -1
- package/examples/gpca-pump/model/views/requirements_requirements_trace_view.sysml +1 -1
- package/examples/gpca-pump/model/views/risk_risk_chain_view.sysml +2 -2
- package/examples/gpca-pump/model/views/software_software_architecture_view.sysml +1 -1
- package/examples/gpca-pump/model/views/verification_verification_coverage_view.sysml +1 -1
- package/examples/ivd-laboratory-system/README.md +7 -0
- package/examples/ivd-laboratory-system/model/catalog/ivd_laboratory_system.sysml +58 -0
- package/examples/ivd-laboratory-system/model/ivd_laboratory_system.sysml +3 -0
- package/examples/ivd-laboratory-system/model/viewpoints/ivd_laboratory_system_overview.sysml +6 -0
- package/examples/manual-surgical-instrument/README.md +7 -0
- package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +41 -0
- package/examples/manual-surgical-instrument/model/manual_surgical_instrument.sysml +3 -0
- package/examples/manual-surgical-instrument/model/viewpoints/manual_surgical_instrument_overview.sysml +6 -0
- package/examples/multidimensional-layers/README.md +7 -0
- package/examples/multidimensional-layers/model/catalog/multidimensional_layers.sysml +51 -0
- package/examples/multidimensional-layers/model/multidimensional_layers.sysml +4 -0
- package/examples/multidimensional-layers/model/viewpoints/multidimensional_layers_overview.sysml +13 -0
- package/examples/reusable-instrument/README.md +7 -0
- package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +71 -0
- package/examples/reusable-instrument/model/reusable_instrument.sysml +4 -0
- package/examples/reusable-instrument/model/viewpoints/reusable_instrument_overview.sysml +13 -0
- package/examples/software-only-medical-device/README.md +7 -0
- package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +62 -0
- package/examples/software-only-medical-device/model/software_only_medical_device.sysml +4 -0
- package/examples/software-only-medical-device/model/viewpoints/software_only_medical_device_overview.sysml +13 -0
- package/examples/surgical-closure-workflow/README.md +8 -0
- package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +151 -0
- package/examples/surgical-closure-workflow/model/surgical_closure_workflow.sysml +4 -0
- package/examples/surgical-closure-workflow/model/viewpoints/surgical_closure_workflow_overview.sysml +13 -0
- package/examples/surgical-robot/README.md +7 -0
- package/examples/surgical-robot/model/catalog/surgical_robot.sysml +58 -0
- package/examples/surgical-robot/model/surgical_robot.sysml +4 -0
- package/examples/surgical-robot/model/viewpoints/surgical_robot_overview.sysml +13 -0
- package/examples/sysml-diagram-samples/README.md +32 -0
- package/examples/sysml-diagram-samples/memo.package.yaml +5 -0
- package/examples/{gpca-pump → sysml-diagram-samples}/model/samples/action_flow_view.sysml +22 -4
- package/examples/sysml-diagram-samples/model/samples/context_view.sysml +55 -0
- package/examples/{gpca-pump → sysml-diagram-samples}/model/samples/functional_flow_view.sysml +17 -6
- package/examples/{gpca-pump → sysml-diagram-samples}/model/samples/interconnection_view.sysml +4 -3
- package/examples/{gpca-pump → sysml-diagram-samples}/model/samples/operational_behaviour_view.sysml +32 -42
- package/examples/sysml-diagram-samples/model/samples/requirements_view.sysml +63 -0
- package/examples/sysml-diagram-samples/model/samples/state_transition_view.sysml +109 -0
- package/examples/{gpca-pump → sysml-diagram-samples}/model/samples/tree_view.sysml +3 -3
- package/examples/sysml-diagram-samples/model/samples/use_case_view.sysml +81 -0
- package/examples/temperature-alarm/README.md +7 -0
- package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +140 -0
- package/examples/temperature-alarm/model/temperature_alarm.sysml +4 -0
- package/examples/temperature-alarm/model/viewpoints/temperature_alarm_overview.sysml +13 -0
- package/memo.manifest.yaml +4 -1
- package/methodologies/default/memo.package.yaml +1 -1
- package/methodologies/gpca/memo.package.yaml +4 -4
- package/ontology/memo.package.yaml +1 -1
- package/ontology/memo.rendering.yaml +37 -0
- package/package.json +17 -7
- package/profile/memo.package.yaml +1 -1
- package/profile/templates/connected-device/starter.sysml +3 -3
- package/profile/templates/infusion-pump/starter.sysml +3 -3
- package/profile/templates/monitoring-device/starter.sysml +3 -3
- package/profile/templates/samd/starter.sysml +3 -3
- package/src/architecture/decisions/memo_decisions.sysml +1 -1
- package/src/architecture/{behavior → functional/behavior}/memo_behavior.sysml +12 -11
- package/src/architecture/{constraints → functional/constraints}/memo_constraints.sysml +2 -2
- package/src/architecture/functional/functions/memo_functions.sysml +81 -0
- package/src/architecture/implementation/hardware/common/memo_hardware_common.sysml +46 -0
- package/src/architecture/implementation/hardware/electrical/memo_hardware_electrical.sysml +36 -0
- package/src/architecture/implementation/hardware/fluidic/memo_hardware_fluidic.sysml +14 -0
- package/src/architecture/implementation/hardware/mechanical/memo_hardware_mechanical.sysml +14 -0
- package/src/architecture/implementation/hardware/optical/memo_hardware_optical.sysml +11 -0
- package/src/architecture/implementation/hardware/sensing/memo_hardware_sensing.sysml +17 -0
- package/src/architecture/implementation/hardware/structure/memo_hardware_structure.sysml +12 -0
- package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +70 -0
- package/src/architecture/implementation/software/structure/memo_software_structure.sysml +80 -0
- package/src/architecture/implementation/ui/memo_ui.sysml +159 -0
- package/src/architecture/logical/interfaces/memo_interfaces.sysml +102 -0
- package/src/architecture/logical/structure/memo_logical_structure.sysml +150 -0
- package/src/architecture/operational/activities/memo_activities.sysml +86 -0
- package/src/architecture/operational/context/actors/memo_actors.sysml +38 -0
- package/src/architecture/operational/context/stakeholders/memo_stakeholders.sysml +64 -0
- package/src/architecture/operational/context/use_context/memo_use_context.sysml +53 -0
- package/src/architecture/operational/scenarios/memo_scenarios.sysml +116 -0
- package/src/architecture/operational/structure/memo_operational.sysml +26 -0
- package/src/architecture/operational/use_cases/memo_use_cases.sysml +67 -0
- package/src/architecture/operational/workflows/memo_workflows.sysml +126 -0
- package/src/architecture/realization/deployment/memo_deployment.sysml +90 -0
- package/src/architecture/{physical → realization/physical}/memo_physical_architecture.sysml +12 -1
- package/src/artifacts/definitions/memo_artifact_definitions.sysml +1 -1
- package/src/{architecture → assurance}/cybersecurity/memo_cybersecurity.sysml +14 -10
- package/src/assurance/human_factors/memo_human_factors.sysml +50 -0
- package/src/{architecture → assurance}/requirements/memo_requirements.sysml +45 -21
- package/src/assurance/requirements/needs/memo_needs.sysml +43 -0
- package/src/{architecture → assurance/safety_risk}/analysis/memo_fmea.sysml +13 -13
- package/src/{architecture/risk → assurance/safety_risk}/memo_arch_risk.sysml +2 -2
- package/src/{architecture/risk → assurance/safety_risk}/memo_risk.sysml +25 -16
- package/src/assurance/verification_validation/memo_assurance.sysml +49 -0
- package/src/compliance/artifacts/memo_artifacts.sysml +1 -1
- package/src/compliance/change/memo_change.sysml +2 -2
- package/src/compliance/dhf-templates/21cfr820/design-input.md +1 -1
- package/src/compliance/dhf-templates/21cfr820/design-validation.md +1 -1
- package/src/compliance/dhf-templates/21cfr820/user-needs.md +2 -2
- package/src/compliance/dhf-templates/iec-62366/urra.md +1 -1
- package/src/compliance/dhf-templates/iso-14971/fmea.md +1 -1
- package/src/compliance/dhf-templates/iso-14971/har.md +4 -4
- package/src/compliance/dhf-templates/iso-14971/risk-matrix.md +1 -1
- package/src/compliance/dhf-templates/iso-14971/rmp.md +1 -1
- package/src/compliance/dhf-templates/iso-14971/rmr.md +1 -1
- package/src/compliance/iso14971/risk_management_file.sysml +1 -1
- package/src/compliance/postmarket/memo_postmarket.sysml +2 -2
- package/src/core/common/memo_common.sysml +123 -14
- package/src/core/consistency_rules/consistency_rules.sysml +2 -2
- package/src/core/dimensions/dimensions.sysml +45 -24
- package/src/core/enumerations/memo_enumerations.sysml +11 -16
- package/src/core/methodology_scope/methodology_scope.sysml +10 -28
- package/src/core/relationships/memo_relationships.sysml +178 -146
- package/src/core/stdlib/{collections.sysml → collections/collections.sysml} +1 -1
- package/src/core/stdlib/{functions.sysml → functions/functions.sysml} +1 -1
- package/src/core/stdlib/{scalars.sysml → scalars/scalars.sysml} +1 -1
- package/src/core/stdlib/{time.sysml → time/time.sysml} +1 -1
- package/src/core/terminology/terminology.sysml +35 -0
- package/src/memo_namespaces.sysml +247 -302
- package/src/methodology/{memo_core.sysml → core/memo_core.sysml} +19 -13
- package/src/methodology/{memo_gates.sysml → gates/memo_gates.sysml} +1 -1
- package/src/methodology/{memo_patterns.sysml → patterns/memo_patterns.sysml} +1 -1
- package/src/methodology/{memo_profiles.sysml → profiles/memo_profiles.sysml} +27 -35
- package/src/methodology/{memo_workflow.sysml → workflow/memo_workflow.sysml} +1 -1
- package/src/rules/closure/closure_rules.sysml +11 -11
- package/src/rules/coverage/coverage_rules.sysml +8 -8
- package/src/rules/crosslayer/cross_layer_rules.sysml +2 -2
- package/src/rules/lifecycle/lifecycle_rules.sysml +1 -1
- package/src/rules/ontology/ontology_invariants.sysml +133 -0
- package/src/rules/quantitative/quantitative_rules.sysml +2 -2
- package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +189 -0
- package/src/viewpoints/clinical/clinical_viewpoint.sysml +0 -1
- package/src/viewpoints/context/context_viewpoint.sysml +1 -2
- package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +1 -2
- package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +8 -8
- package/src/viewpoints/functional/{function_allocation_view.sysml → function_allocation_view/function_allocation_view.sysml} +1 -1
- package/src/viewpoints/functional/functional_viewpoint.sysml +2 -3
- package/src/viewpoints/functional/{system_functional_tree_view.sysml → system_functional_tree_view/system_functional_tree_view.sysml} +1 -1
- package/src/viewpoints/logical/logical_viewpoint.sysml +0 -1
- package/src/viewpoints/operational/operational_viewpoint.sysml +1 -2
- package/src/viewpoints/operational/{use_case_view.sysml → use_case_view/use_case_view.sysml} +1 -1
- package/src/viewpoints/physical/physical_viewpoint.sysml +0 -1
- package/src/viewpoints/requirements/{requirements_traceability_view.sysml → requirements_traceability_view/requirements_traceability_view.sysml} +1 -1
- package/src/viewpoints/requirements/requirements_viewpoint.sysml +1 -2
- package/src/viewpoints/risk/{risk_chain_view.sysml → risk_chain_view/risk_chain_view.sysml} +2 -2
- package/src/viewpoints/risk/risk_viewpoint.sysml +1 -2
- package/src/viewpoints/software/{software_architecture_view.sysml → software_architecture_view/software_architecture_view.sysml} +1 -1
- package/src/viewpoints/software/software_viewpoint.sysml +1 -2
- package/src/viewpoints/usability/usability_viewpoint.sysml +0 -1
- package/src/viewpoints/verification/verification_viewpoint.sysml +0 -1
- package/template/memo.package.yaml +1 -1
- package/template/src/catalog/starter.sysml +3 -3
- package/examples/gpca-pump/model/samples/README.md +0 -24
- package/examples/gpca-pump/model/samples/action_flow_view.viewlayout +0 -9
- package/examples/gpca-pump/model/samples/interconnection_view.viewlayout +0 -99
- package/src/architecture/assurance/memo_assurance.sysml +0 -29
- package/src/architecture/context/memo_context.sysml +0 -58
- package/src/architecture/functions/memo_functions.sysml +0 -30
- package/src/architecture/hardware_structure/memo_hardware_structure.sysml +0 -15
- package/src/architecture/interfaces/memo_interfaces.sysml +0 -103
- package/src/architecture/logical_structure/memo_logical_structure.sysml +0 -10
- package/src/architecture/operational/memo_operational.sysml +0 -51
- package/src/architecture/software_structure/memo_software_structure.sysml +0 -44
- package/src/architecture/system/memo_system_analysis.sysml +0 -54
- package/src/artifacts/clinical_safety_report.sysml +0 -12
- package/src/artifacts/cybersecurity_assessment_report.sysml +0 -12
- package/src/artifacts/design_change_log.sysml +0 -12
- package/src/artifacts/design_history_file_index.sysml +0 -12
- package/src/artifacts/design_input_plan.sysml +0 -12
- package/src/artifacts/design_output_plan.sysml +0 -12
- package/src/artifacts/evidence_record.sysml +0 -12
- package/src/artifacts/failure_mode_effects_analysis.sysml +0 -12
- package/src/artifacts/hazard_analysis_report.sysml +0 -12
- package/src/artifacts/labeling_specification.sysml +0 -12
- package/src/artifacts/requirements_specification.sysml +0 -12
- package/src/artifacts/requirements_traceability_matrix.sysml +0 -12
- package/src/artifacts/risk_management_plan.sysml +0 -12
- package/src/artifacts/software_design_description.sysml +0 -12
- package/src/artifacts/software_development_plan.sysml +0 -12
- package/src/artifacts/soup_list.sysml +0 -12
- package/src/artifacts/system_architecture_description.sysml +0 -12
- package/src/artifacts/test_protocol.sysml +0 -12
- package/src/artifacts/test_report.sysml +0 -12
- package/src/artifacts/threat_model_report.sysml +0 -12
- package/src/artifacts/usability_engineering_report.sysml +0 -12
- package/src/medical_device_library.sysml +0 -100
- /package/src/methodology/{memo_archetypes.sysml → archetypes/memo_archetypes.sysml} +0 -0
- /package/src/methodology/{memo_rules.sysml → rules/memo_rules.sysml} +0 -0
- /package/src/methodology/{memo_viewpoints.sysml → viewpoints/memo_viewpoints.sysml} +0 -0
- /package/src/viewpoints/clinical/{clinical_evidence_view.sysml → clinical_evidence_view/clinical_evidence_view.sysml} +0 -0
- /package/src/viewpoints/context/{system_context_view.sysml → system_context_view/system_context_view.sysml} +0 -0
- /package/src/viewpoints/cybersecurity/{cybersecurity_assessment_view.sysml → cybersecurity_assessment_view/cybersecurity_assessment_view.sysml} +0 -0
- /package/src/viewpoints/cybersecurity/{threat_model_view.sysml → threat_model_view/threat_model_view.sysml} +0 -0
- /package/src/viewpoints/logical/{logical_architecture_view.sysml → logical_architecture_view/logical_architecture_view.sysml} +0 -0
- /package/src/viewpoints/physical/{network_topology_view.sysml → network_topology_view/network_topology_view.sysml} +0 -0
- /package/src/viewpoints/physical/{physical_bom_view.sysml → physical_bom_view/physical_bom_view.sysml} +0 -0
- /package/src/viewpoints/usability/{usability_engineering_view.sysml → usability_engineering_view/usability_engineering_view.sysml} +0 -0
- /package/src/viewpoints/verification/{verification_coverage_view.sysml → verification_coverage_view/verification_coverage_view.sysml} +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
|
-
private import
|
|
4
|
+
private import memo_assurance_requirements::*;
|
|
5
|
+
private import memo_assurance_requirements_needs::*;
|
|
5
6
|
private import memo_core_enumerations::*;
|
|
6
7
|
|
|
7
8
|
// ═════════════════════════════════════════════════════════════
|
|
@@ -22,22 +23,26 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
22
23
|
// ═════════════════════════════════════════════════════════════
|
|
23
24
|
|
|
24
25
|
// ── Stakeholder needs ───────────────────────────────────────
|
|
25
|
-
requirement needSafeTherapy :
|
|
26
|
+
requirement needSafeTherapy : Need {
|
|
27
|
+
attribute :>> needKind = NeedKind::stakeholder;
|
|
26
28
|
attribute :>> id = "NEED-001"; attribute :>> name = "SafePatientControlledTherapy";
|
|
27
29
|
attribute :>> statement = "The device shall support safe patient controlled analgesic infusion therapy.";
|
|
28
30
|
attribute :>> priority = "high";
|
|
29
31
|
}
|
|
30
|
-
requirement needEffectiveAnalgesia :
|
|
32
|
+
requirement needEffectiveAnalgesia : Need {
|
|
33
|
+
attribute :>> needKind = NeedKind::stakeholder;
|
|
31
34
|
attribute :>> id = "NEED-002"; attribute :>> name = "EffectivePainManagement";
|
|
32
35
|
attribute :>> statement = "The device shall deliver the prescribed basal and bolus doses accurately so the patient receives effective analgesia.";
|
|
33
36
|
attribute :>> priority = "high";
|
|
34
37
|
}
|
|
35
|
-
requirement needTimelyAlarms :
|
|
38
|
+
requirement needTimelyAlarms : Need {
|
|
39
|
+
attribute :>> needKind = NeedKind::stakeholder;
|
|
36
40
|
attribute :>> id = "NEED-003"; attribute :>> name = "TimelyAlarmNotification";
|
|
37
41
|
attribute :>> statement = "Clinicians shall be notified promptly and unambiguously of any condition that interrupts or endangers therapy.";
|
|
38
42
|
attribute :>> priority = "high";
|
|
39
43
|
}
|
|
40
|
-
requirement needAuditableRecord :
|
|
44
|
+
requirement needAuditableRecord : Need {
|
|
45
|
+
attribute :>> needKind = NeedKind::stakeholder;
|
|
41
46
|
attribute :>> id = "NEED-004"; attribute :>> name = "AuditableTherapyRecord";
|
|
42
47
|
attribute :>> statement = "All delivered doses, alarms, and prescription changes shall be reviewable after the fact.";
|
|
43
48
|
attribute :>> priority = "medium";
|
|
@@ -390,7 +395,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
390
395
|
}
|
|
391
396
|
|
|
392
397
|
// ═════ CriSys system requirements — §4.1.1 GPCA System ══════
|
|
393
|
-
requirement reqCs01 :
|
|
398
|
+
requirement reqCs01 : Requirement {
|
|
399
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
394
400
|
attribute :>> id = "REQ-CS-01"; attribute :>> name = "SingleActiveMode";
|
|
395
401
|
attribute :>> statement = "The system shall always be in only one of the following modes: OFF (default mode), IDLE, PAUSED, BASAL, SQUARE BOLUS or PATIENT BOLUS.";
|
|
396
402
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -400,7 +406,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
400
406
|
attribute :>> subjectDescription = "GPCA system";
|
|
401
407
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.1.1 (REQ 1)";
|
|
402
408
|
}
|
|
403
|
-
requirement reqCs02 :
|
|
409
|
+
requirement reqCs02 : Requirement {
|
|
410
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
404
411
|
attribute :>> id = "REQ-CS-02"; attribute :>> name = "ModeChangeDurationWithoutFlowChange";
|
|
405
412
|
attribute :>> statement = "If there are mode transitions without change in flow rates between the two modes, the system shall transition within Max_Mode_Change_Duration_const.";
|
|
406
413
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -410,7 +417,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
410
417
|
attribute :>> subjectDescription = "GPCA system";
|
|
411
418
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.1.1 (REQ 2)";
|
|
412
419
|
}
|
|
413
|
-
requirement reqCs03 :
|
|
420
|
+
requirement reqCs03 : Requirement {
|
|
421
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
414
422
|
attribute :>> id = "REQ-CS-03"; attribute :>> name = "ModeChangeFlowRamp";
|
|
415
423
|
attribute :>> statement = "If there are mode transitions with change in flow rates between the two modes, the system shall change from the current mode flow rate to the new mode flow rate at a rate not more than Max_Rateof_Flow_Change_const or within Max_Mode_Change_Duration_const, whichever achieves the new desired flow rate the quickest.";
|
|
416
424
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -420,7 +428,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
420
428
|
attribute :>> subjectDescription = "GPCA system";
|
|
421
429
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.1.1 (REQ 3)";
|
|
422
430
|
}
|
|
423
|
-
requirement reqCs04 :
|
|
431
|
+
requirement reqCs04 : Requirement {
|
|
432
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
424
433
|
attribute :>> id = "REQ-CS-04"; attribute :>> name = "OffToIdleOnSystemStart";
|
|
425
434
|
attribute :>> statement = "The system shall transition from OFF mode to ON > IDLE mode when System_start_prog is commanded. At this transition, the variables in App. A.4 shall be set to their default values.";
|
|
426
435
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -430,7 +439,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
430
439
|
attribute :>> subjectDescription = "GPCA system (OFF -> ON transition)";
|
|
431
440
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.1.2 (REQ 4)";
|
|
432
441
|
}
|
|
433
|
-
requirement reqCs05 :
|
|
442
|
+
requirement reqCs05 : Requirement {
|
|
443
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
434
444
|
attribute :>> id = "REQ-CS-05"; attribute :>> name = "OnToOffOnSystemStop";
|
|
435
445
|
attribute :>> statement = "While in ON mode, when System_stop_prog is commanded, the system shall stop infusion, cancel all notifications and transition to OFF mode.";
|
|
436
446
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -442,7 +452,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
442
452
|
}
|
|
443
453
|
|
|
444
454
|
// ── §4.1.2 OFF mode ─────────────────────────────────────────
|
|
445
|
-
requirement reqCs06 :
|
|
455
|
+
requirement reqCs06 : Requirement {
|
|
456
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
446
457
|
attribute :>> id = "REQ-CS-06"; attribute :>> name = "OffModeNoDelivery";
|
|
447
458
|
attribute :>> statement = "While in OFF mode, the system shall not deliver any drug.";
|
|
448
459
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -454,7 +465,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
454
465
|
}
|
|
455
466
|
|
|
456
467
|
// ── §4.1.3 ON mode ──────────────────────────────────────────
|
|
457
|
-
requirement reqCs07 :
|
|
468
|
+
requirement reqCs07 : Requirement {
|
|
469
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
458
470
|
attribute :>> id = "REQ-CS-07"; attribute :>> name = "InfusionRequiresSavedPrescription";
|
|
459
471
|
attribute :>> statement = "While in ON mode, the system shall allow initiation of infusion only when a saved prescription is available.";
|
|
460
472
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -464,7 +476,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
464
476
|
attribute :>> subjectDescription = "ON mode";
|
|
465
477
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.1 (REQ 7)";
|
|
466
478
|
}
|
|
467
|
-
requirement reqCs08 :
|
|
479
|
+
requirement reqCs08 : Requirement {
|
|
480
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
468
481
|
attribute :>> id = "REQ-CS-08"; attribute :>> name = "AllowDataConfigurationInOn";
|
|
469
482
|
attribute :>> statement = "While in ON mode, the system shall allow configuring (DataConfig_prog) new or saved prescription data and reservoir initial volume, as described in the Data Configuration Requirements (§4.2).";
|
|
470
483
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -474,7 +487,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
474
487
|
attribute :>> subjectDescription = "ON mode";
|
|
475
488
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.1 (REQ 8)";
|
|
476
489
|
}
|
|
477
|
-
requirement reqCs09 :
|
|
490
|
+
requirement reqCs09 : Requirement {
|
|
491
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
478
492
|
attribute :>> id = "REQ-CS-09"; attribute :>> name = "PrescriptionDisplayAndConfirm";
|
|
479
493
|
attribute :>> statement = "While in ON mode, if Infusion_initiate_prog, the system shall display the saved prescription values and allow the clinician to confirm the prescription with another Infusion_initiate_prog.";
|
|
480
494
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -484,7 +498,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
484
498
|
attribute :>> subjectDescription = "ON mode";
|
|
485
499
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.1 (REQ 9)";
|
|
486
500
|
}
|
|
487
|
-
requirement reqCs10 :
|
|
501
|
+
requirement reqCs10 : Requirement {
|
|
502
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
488
503
|
attribute :>> id = "REQ-CS-10"; attribute :>> name = "AllowNotificationsInOn";
|
|
489
504
|
attribute :>> statement = "While in ON mode, the system shall allow visual and audio notification as described in §4.3.";
|
|
490
505
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -494,7 +509,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
494
509
|
attribute :>> subjectDescription = "ON mode";
|
|
495
510
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.1 (REQ 10)";
|
|
496
511
|
}
|
|
497
|
-
requirement reqCs11 :
|
|
512
|
+
requirement reqCs11 : Requirement {
|
|
513
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
498
514
|
attribute :>> id = "REQ-CS-11"; attribute :>> name = "AllowLoggingInOn";
|
|
499
515
|
attribute :>> statement = "While in ON mode, the system shall allow logging as described in §4.4.";
|
|
500
516
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -504,7 +520,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
504
520
|
attribute :>> subjectDescription = "ON mode";
|
|
505
521
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.1 (REQ 11)";
|
|
506
522
|
}
|
|
507
|
-
requirement reqCs12 :
|
|
523
|
+
requirement reqCs12 : Requirement {
|
|
524
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
508
525
|
attribute :>> id = "REQ-CS-12"; attribute :>> name = "ConfirmedInitiateStartsBasal";
|
|
509
526
|
attribute :>> statement = "While in ON mode, when the second Infusion_initiate_prog is commanded as per REQ 9 and Inhibited_Infusion_macro = FALSE, the system shall reset Actual_Infusion_Duration_macro = 0 and Actual_Volume_Infused_macro = 0 and shall transition to ON > THERAPY > ACTIVE > BASAL mode.";
|
|
510
527
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -514,7 +531,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
514
531
|
attribute :>> subjectDescription = "ON mode transitions";
|
|
515
532
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.2 (REQ 12)";
|
|
516
533
|
}
|
|
517
|
-
requirement reqCs13 :
|
|
534
|
+
requirement reqCs13 : Requirement {
|
|
535
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
518
536
|
attribute :>> id = "REQ-CS-13"; attribute :>> name = "ConfirmedInitiateWhileInhibitedPauses";
|
|
519
537
|
attribute :>> statement = "While in ON mode, when the second Infusion_initiate_prog is commanded as per REQ 9 and Inhibited_Infusion_macro = TRUE, the system shall reset Actual_Infusion_Duration_macro = 0 and Actual_Volume_Infused_macro = 0, shall transition to ON > THERAPY > PAUSED mode and perform actions as described in REQ 59 for 'Infusion Inhibited'.";
|
|
520
538
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -526,7 +544,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
526
544
|
}
|
|
527
545
|
|
|
528
546
|
// ── §4.1.4 ON > IDLE mode ───────────────────────────────────
|
|
529
|
-
requirement reqCs14 :
|
|
547
|
+
requirement reqCs14 : Requirement {
|
|
548
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
530
549
|
attribute :>> id = "REQ-CS-14"; attribute :>> name = "IdleModeNoDelivery";
|
|
531
550
|
attribute :>> statement = "While in IDLE mode, the system shall not deliver any drug.";
|
|
532
551
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -536,7 +555,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
536
555
|
attribute :>> subjectDescription = "ON > IDLE mode";
|
|
537
556
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.4.1 (REQ 14)";
|
|
538
557
|
}
|
|
539
|
-
requirement reqCs15 :
|
|
558
|
+
requirement reqCs15 : Requirement {
|
|
559
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
540
560
|
attribute :>> id = "REQ-CS-15"; attribute :>> name = "IdleTimeNotification";
|
|
541
561
|
attribute :>> statement = "While in IDLE mode for more than Max_IDLE_Duration_const, the system shall take actions as defined in REQ 59 for 'IDLE Time'.";
|
|
542
562
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -548,7 +568,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
548
568
|
}
|
|
549
569
|
|
|
550
570
|
// ── §4.1.5 ON > THERAPY mode ────────────────────────────────
|
|
551
|
-
requirement reqCs16 :
|
|
571
|
+
requirement reqCs16 : Requirement {
|
|
572
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
552
573
|
attribute :>> id = "REQ-CS-16"; attribute :>> name = "TherapyDeliveryWithinTolerance";
|
|
553
574
|
attribute :>> statement = "While in THERAPY mode, the system shall deliver the drug as per the respective sub-mode's programmed flow rate, FlowRate_Mode_macro, within a tolerance of Tolerance_Max_const.";
|
|
554
575
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -558,7 +579,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
558
579
|
attribute :>> subjectDescription = "ON > THERAPY mode";
|
|
559
580
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.1 (REQ 16)";
|
|
560
581
|
}
|
|
561
|
-
requirement reqCs17 :
|
|
582
|
+
requirement reqCs17 : Requirement {
|
|
583
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
562
584
|
attribute :>> id = "REQ-CS-17"; attribute :>> name = "UnderInfusionFlowRateNotification";
|
|
563
585
|
attribute :>> statement = "While in THERAPY mode, the system shall take actions as defined in REQ 59 for 'Under Infusion FlowRate' if the output flow rate falls below the mode flow rate beyond the tolerance windows.";
|
|
564
586
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -568,7 +590,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
568
590
|
attribute :>> subjectDescription = "ON > THERAPY mode";
|
|
569
591
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.1 (REQ 17)";
|
|
570
592
|
}
|
|
571
|
-
requirement reqCs18 :
|
|
593
|
+
requirement reqCs18 : Requirement {
|
|
594
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
572
595
|
attribute :>> id = "REQ-CS-18"; attribute :>> name = "LowReservoirNotification";
|
|
573
596
|
attribute :>> statement = "While in THERAPY mode, when the current volume of drug in the reservoir is less than Low_Reservoir_const, the system shall perform the actions defined in REQ 59 for 'Low Reservoir'.";
|
|
574
597
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -578,7 +601,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
578
601
|
attribute :>> subjectDescription = "ON > THERAPY mode";
|
|
579
602
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.1 (REQ 18)";
|
|
580
603
|
}
|
|
581
|
-
requirement reqCs19 :
|
|
604
|
+
requirement reqCs19 : Requirement {
|
|
605
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
582
606
|
attribute :>> id = "REQ-CS-19"; attribute :>> name = "OverInfusionFlowRatePause";
|
|
583
607
|
attribute :>> statement = "While in THERAPY mode, the system shall transition to PAUSED mode and perform the actions described in REQ 59 for 'Over Infusion FlowRate' if the output flow rate exceeds the mode flow rate beyond the tolerance windows.";
|
|
584
608
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -588,7 +612,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
588
612
|
attribute :>> subjectDescription = "ON > THERAPY mode transitions";
|
|
589
613
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.2 (REQ 19)";
|
|
590
614
|
}
|
|
591
|
-
requirement reqCs20 :
|
|
615
|
+
requirement reqCs20 : Requirement {
|
|
616
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
592
617
|
attribute :>> id = "REQ-CS-20"; attribute :>> name = "OverInfusionVtbiPause";
|
|
593
618
|
attribute :>> statement = "While in THERAPY mode, the system shall transition to PAUSED mode and take the actions described in REQ 59 for 'Over Infusion VTBI' if the actual volume infused exceeds the drug-database maximum VTBI.";
|
|
594
619
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -598,7 +623,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
598
623
|
attribute :>> subjectDescription = "ON > THERAPY mode transitions";
|
|
599
624
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.2 (REQ 20)";
|
|
600
625
|
}
|
|
601
|
-
requirement reqCs21 :
|
|
626
|
+
requirement reqCs21 : Requirement {
|
|
627
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
602
628
|
attribute :>> id = "REQ-CS-21"; attribute :>> name = "AirEmbolismPause";
|
|
603
629
|
attribute :>> statement = "While in THERAPY mode, the system shall transition to PAUSED mode and perform the actions defined in REQ 59 for 'Air embolism' if an air bubble of a volume larger than Single_AirBubble_Volume_const flows through the hose, or the sum of volume of all air bubbles flowing through the hose exceeds Cumulative_AirBubble_Volume_const for the same time interval defined for Cumulative_AirBubble_Volume_const.";
|
|
604
630
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -608,7 +634,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
608
634
|
attribute :>> subjectDescription = "ON > THERAPY mode transitions";
|
|
609
635
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.2 (REQ 21)";
|
|
610
636
|
}
|
|
611
|
-
requirement reqCs22 :
|
|
637
|
+
requirement reqCs22 : Requirement {
|
|
638
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
612
639
|
attribute :>> id = "REQ-CS-22"; attribute :>> name = "ReverseDeliveryPause";
|
|
613
640
|
attribute :>> statement = "While in THERAPY mode, the system shall transition to PAUSED mode and perform actions defined in REQ 59 for 'Reverse Delivery' if there is continuous reverse delivery for more than Rev_Delivery_Continuous_Duration_const, or the cumulative time of all reverse delivery episodes exceeds Rev_Delivery_Cumulative_Duration_const.";
|
|
614
641
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -618,7 +645,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
618
645
|
attribute :>> subjectDescription = "ON > THERAPY mode transitions";
|
|
619
646
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.2 (REQ 22)";
|
|
620
647
|
}
|
|
621
|
-
requirement reqCs23 :
|
|
648
|
+
requirement reqCs23 : Requirement {
|
|
649
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
622
650
|
attribute :>> id = "REQ-CS-23"; attribute :>> name = "EmptyReservoirPause";
|
|
623
651
|
attribute :>> statement = "While in THERAPY mode and if the volume of drug in the reservoir is less than Empty_Reservoir_const, the system shall transition to PAUSED mode and perform actions as listed in REQ 59 for 'Empty Reservoir'.";
|
|
624
652
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -630,7 +658,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
630
658
|
}
|
|
631
659
|
|
|
632
660
|
// ── §4.1.6 ON > THERAPY > ACTIVE mode ───────────────────────
|
|
633
|
-
requirement reqCs24 :
|
|
661
|
+
requirement reqCs24 : Requirement {
|
|
662
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
634
663
|
attribute :>> id = "REQ-CS-24"; attribute :>> name = "SquareBolusAutoSchedule";
|
|
635
664
|
attribute :>> statement = "While in ACTIVE mode, the system shall schedule to start a SQUARE BOLUS every Interval_sbolus_prog and end after Duration_sbolus_prog during the Duration_total_prog.";
|
|
636
665
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -640,7 +669,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
640
669
|
attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode";
|
|
641
670
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.1 (REQ 24)";
|
|
642
671
|
}
|
|
643
|
-
requirement reqCs25 :
|
|
672
|
+
requirement reqCs25 : Requirement {
|
|
673
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
644
674
|
attribute :>> id = "REQ-CS-25"; attribute :>> name = "IgnorePatientBolusRequestConditions";
|
|
645
675
|
attribute :>> statement = "While in ACTIVE mode, when BolusRequest_prog, the system shall ignore the patient bolus request (BolusRequest_prog = FALSE) if: (1) Inhibited_Infusion_macro = TRUE, OR (2) Inhibited_PatientBolus_macro = TRUE, OR (3) the interval between the most recent PATIENT BOLUS mode end time and the current BolusRequest_prog time violates LockOutPeriod_pbolus_prog, OR (4) the total number of delivered patient boluses for the current prescription violates the programmed maximum number of patient boluses, OR (5) the system is currently in PATIENT BOLUS mode.";
|
|
646
676
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -650,7 +680,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
650
680
|
attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode";
|
|
651
681
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.1 (REQ 25)";
|
|
652
682
|
}
|
|
653
|
-
requirement reqCs26 :
|
|
683
|
+
requirement reqCs26 : Requirement {
|
|
684
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
654
685
|
attribute :>> id = "REQ-CS-26"; attribute :>> name = "FrequentBolusRequestsNotification";
|
|
655
686
|
attribute :>> statement = "While in ACTIVE mode, the system shall perform the actions described in REQ 59 for 'Frequent Bolus Requests' if the condition described in REQ 25.3 or REQ 25.5 occurs.";
|
|
656
687
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -660,7 +691,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
660
691
|
attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode";
|
|
661
692
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.1 (REQ 26)";
|
|
662
693
|
}
|
|
663
|
-
requirement reqCs27 :
|
|
694
|
+
requirement reqCs27 : Requirement {
|
|
695
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
664
696
|
attribute :>> id = "REQ-CS-27"; attribute :>> name = "BolusExceededNotification";
|
|
665
697
|
attribute :>> statement = "While in ACTIVE mode, the system shall perform the actions described in REQ 59 for 'Bolus Exceeded' if the condition described in REQ 25.4 occurs.";
|
|
666
698
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -670,7 +702,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
670
702
|
attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode";
|
|
671
703
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.1 (REQ 27)";
|
|
672
704
|
}
|
|
673
|
-
requirement reqCs28 :
|
|
705
|
+
requirement reqCs28 : Requirement {
|
|
706
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
674
707
|
attribute :>> id = "REQ-CS-28"; attribute :>> name = "InfusionCompleteToIdle";
|
|
675
708
|
attribute :>> statement = "While in ACTIVE mode, the system shall transition to IDLE and perform actions described in REQ 59 for 'Infusion Complete' if the actual duration of infusion is greater than or equal to the programmed prescription total duration, or the total volume infused is greater than or equal to the programmed prescription maximum VTBI.";
|
|
676
709
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -680,7 +713,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
680
713
|
attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
|
|
681
714
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 28)";
|
|
682
715
|
}
|
|
683
|
-
requirement reqCs29 :
|
|
716
|
+
requirement reqCs29 : Requirement {
|
|
717
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
684
718
|
attribute :>> id = "REQ-CS-29"; attribute :>> name = "ManualInhibitToPaused";
|
|
685
719
|
attribute :>> statement = "While in ACTIVE mode, when Infusion_inhibit_prog, the system shall transition to PAUSED mode and perform actions described in REQ 59 for 'Infusion Manually Inhibited'.";
|
|
686
720
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -690,7 +724,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
690
724
|
attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
|
|
691
725
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 29)";
|
|
692
726
|
}
|
|
693
|
-
requirement reqCs30 :
|
|
727
|
+
requirement reqCs30 : Requirement {
|
|
728
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
694
729
|
attribute :>> id = "REQ-CS-30"; attribute :>> name = "AllInhibitedToPaused";
|
|
695
730
|
attribute :>> statement = "While in ACTIVE mode, when Inhibited_Infusion_macro = TRUE, Inhibited_Bolus_macro = TRUE and Inhibited_PatientBolus_macro = TRUE, the system shall transition to PAUSED mode.";
|
|
696
731
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -700,7 +735,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
700
735
|
attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
|
|
701
736
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 30)";
|
|
702
737
|
}
|
|
703
|
-
requirement reqCs31 :
|
|
738
|
+
requirement reqCs31 : Requirement {
|
|
739
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
704
740
|
attribute :>> id = "REQ-CS-31"; attribute :>> name = "BasalToSquareBolus";
|
|
705
741
|
attribute :>> statement = "While in BASAL mode, when SQUARE BOLUS is initiated as described in REQ 24, the system shall transition to SQUARE BOLUS mode if (1) Inhibited_Bolus_macro = FALSE, AND (2) Inhibited_Infusion_macro = FALSE, AND (3) either there is no BolusRequest_prog, or there is a BolusRequest_prog and at least one of the conditions listed in REQ 25 is true.";
|
|
706
742
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -710,7 +746,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
710
746
|
attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
|
|
711
747
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 31)";
|
|
712
748
|
}
|
|
713
|
-
requirement reqCs32 :
|
|
749
|
+
requirement reqCs32 : Requirement {
|
|
750
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
714
751
|
attribute :>> id = "REQ-CS-32"; attribute :>> name = "BasalToPatientBolus";
|
|
715
752
|
attribute :>> statement = "While in BASAL mode, the system shall transition to PATIENT BOLUS mode when BolusRequest_prog and none of the conditions listed in REQ 25 are true.";
|
|
716
753
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -720,7 +757,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
720
757
|
attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
|
|
721
758
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 32)";
|
|
722
759
|
}
|
|
723
|
-
requirement reqCs33 :
|
|
760
|
+
requirement reqCs33 : Requirement {
|
|
761
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
724
762
|
attribute :>> id = "REQ-CS-33"; attribute :>> name = "SquareBolusToPatientBolus";
|
|
725
763
|
attribute :>> statement = "While in SQUARE BOLUS mode, the system shall transition to PATIENT BOLUS mode if BolusRequest_prog and none of the conditions listed in REQ 25 are true.";
|
|
726
764
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -730,7 +768,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
730
768
|
attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
|
|
731
769
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 33)";
|
|
732
770
|
}
|
|
733
|
-
requirement reqCs34 :
|
|
771
|
+
requirement reqCs34 : Requirement {
|
|
772
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
734
773
|
attribute :>> id = "REQ-CS-34"; attribute :>> name = "SquareBolusToBasal";
|
|
735
774
|
attribute :>> statement = "While in SQUARE BOLUS mode, if Inhibited_Bolus_macro = TRUE or the SQUARE BOLUS is scheduled to end (as described in REQ 24), the system shall transition to BASAL mode if (1) Inhibited_Infusion_macro = FALSE, AND (2) there is no BolusRequest_prog, or BolusRequest_prog and at least one of the conditions listed in REQ 25 is true.";
|
|
736
775
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -740,7 +779,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
740
779
|
attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
|
|
741
780
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 34)";
|
|
742
781
|
}
|
|
743
|
-
requirement reqCs35 :
|
|
782
|
+
requirement reqCs35 : Requirement {
|
|
783
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
744
784
|
attribute :>> id = "REQ-CS-35"; attribute :>> name = "PatientBolusToBasal";
|
|
745
785
|
attribute :>> statement = "While in PATIENT BOLUS mode, when Inhibited_PatientBolus_macro = TRUE or the total duration in the current PATIENT BOLUS mode is greater than or equal to Duration_pbolus_prog, the system shall stop the PATIENT BOLUS delivery and transition to BASAL mode if (1) Inhibited_Infusion_macro = FALSE, AND (2) no SQUARE BOLUS is scheduled to be in progress at the time of transition, OR (3) a SQUARE BOLUS is scheduled to be in progress at the time of transition and Inhibited_Bolus_macro = TRUE.";
|
|
746
786
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -750,7 +790,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
750
790
|
attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
|
|
751
791
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 35)";
|
|
752
792
|
}
|
|
753
|
-
requirement reqCs36 :
|
|
793
|
+
requirement reqCs36 : Requirement {
|
|
794
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
754
795
|
attribute :>> id = "REQ-CS-36"; attribute :>> name = "PatientBolusToSquareBolus";
|
|
755
796
|
attribute :>> statement = "While in PATIENT BOLUS mode, when Inhibited_PatientBolus_macro = TRUE or the total duration in the current PATIENT BOLUS mode is greater than or equal to Duration_pbolus_prog, the system shall stop the PATIENT BOLUS delivery and transition to SQUARE BOLUS mode if (1) Inhibited_Infusion_macro = FALSE, AND (2) a SQUARE BOLUS is scheduled to be in progress at the time of transition, AND (3) Inhibited_Bolus_macro = FALSE.";
|
|
756
797
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -760,7 +801,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
760
801
|
attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
|
|
761
802
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 36)";
|
|
762
803
|
}
|
|
763
|
-
requirement reqCs37 :
|
|
804
|
+
requirement reqCs37 : Requirement {
|
|
805
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
764
806
|
attribute :>> id = "REQ-CS-37"; attribute :>> name = "BasalToPauseOnInhibit";
|
|
765
807
|
attribute :>> statement = "While in BASAL mode, if Inhibited_Infusion_macro = TRUE, the system shall transition to PAUSE mode.";
|
|
766
808
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -770,7 +812,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
770
812
|
attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
|
|
771
813
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 37)";
|
|
772
814
|
}
|
|
773
|
-
requirement reqCs38 :
|
|
815
|
+
requirement reqCs38 : Requirement {
|
|
816
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
774
817
|
attribute :>> id = "REQ-CS-38"; attribute :>> name = "PatientBolusToPauseOnInhibit";
|
|
775
818
|
attribute :>> statement = "While in PATIENT BOLUS mode, the system shall transition to PAUSE mode if Inhibited_PatientBolus_macro = TRUE and Inhibited_Infusion_macro = TRUE.";
|
|
776
819
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -780,7 +823,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
780
823
|
attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
|
|
781
824
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 38)";
|
|
782
825
|
}
|
|
783
|
-
requirement reqCs39 :
|
|
826
|
+
requirement reqCs39 : Requirement {
|
|
827
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
784
828
|
attribute :>> id = "REQ-CS-39"; attribute :>> name = "SquareBolusToPauseOnInhibit";
|
|
785
829
|
attribute :>> statement = "While in SQUARE BOLUS mode, the system shall transition to PAUSE mode if Inhibited_Bolus_macro = TRUE and Inhibited_Infusion_macro = TRUE.";
|
|
786
830
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -792,7 +836,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
792
836
|
}
|
|
793
837
|
|
|
794
838
|
// ── §4.1.7–4.1.9 BASAL / SQUARE BOLUS / PATIENT BOLUS ───────
|
|
795
|
-
requirement reqCs40 :
|
|
839
|
+
requirement reqCs40 : Requirement {
|
|
840
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
796
841
|
attribute :>> id = "REQ-CS-40"; attribute :>> name = "BasalDeliveryRate";
|
|
797
842
|
attribute :>> statement = "While in BASAL mode, the system shall deliver the drug at a flow rate FlowRate_basal_prog with a variation up to Tolerance_Max_const.";
|
|
798
843
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -802,7 +847,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
802
847
|
attribute :>> subjectDescription = "ON > THERAPY > ACTIVE > BASAL mode";
|
|
803
848
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.7.1 (REQ 40)";
|
|
804
849
|
}
|
|
805
|
-
requirement reqCs41 :
|
|
850
|
+
requirement reqCs41 : Requirement {
|
|
851
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
806
852
|
attribute :>> id = "REQ-CS-41"; attribute :>> name = "SquareBolusDeliveryRate";
|
|
807
853
|
attribute :>> statement = "While in SQUARE BOLUS mode, the system shall deliver the drug at a flow rate FlowRate_sbolus_prog with a variation up to Tolerance_Max_const.";
|
|
808
854
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -812,7 +858,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
812
858
|
attribute :>> subjectDescription = "ON > THERAPY > ACTIVE > SQUARE BOLUS mode";
|
|
813
859
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.8.1 (REQ 41)";
|
|
814
860
|
}
|
|
815
|
-
requirement reqCs42 :
|
|
861
|
+
requirement reqCs42 : Requirement {
|
|
862
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
816
863
|
attribute :>> id = "REQ-CS-42"; attribute :>> name = "PatientBolusDeliveryRate";
|
|
817
864
|
attribute :>> statement = "While in PATIENT BOLUS mode, the system shall deliver the drug at a flow rate FlowRate_pbolus_prog with a variation up to Tolerance_Max_const.";
|
|
818
865
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -824,7 +871,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
824
871
|
}
|
|
825
872
|
|
|
826
873
|
// ── §4.1.10 ON > THERAPY > PAUSED mode ──────────────────────
|
|
827
|
-
requirement reqCs43 :
|
|
874
|
+
requirement reqCs43 : Requirement {
|
|
875
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
828
876
|
attribute :>> id = "REQ-CS-43"; attribute :>> name = "PausedKvoDelivery";
|
|
829
877
|
attribute :>> statement = "While in PAUSED mode, the system shall allow drug infusion at a flow rate FlowRate_kvo_hd with a variation up to Tolerance_Max_const, to keep the vein open when infusion is paused.";
|
|
830
878
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -834,7 +882,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
834
882
|
attribute :>> subjectDescription = "ON > THERAPY > PAUSED mode";
|
|
835
883
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.10.1 (REQ 43)";
|
|
836
884
|
}
|
|
837
|
-
requirement reqCs44 :
|
|
885
|
+
requirement reqCs44 : Requirement {
|
|
886
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
838
887
|
attribute :>> id = "REQ-CS-44"; attribute :>> name = "PausedTimeNotification";
|
|
839
888
|
attribute :>> statement = "While in PAUSED mode for more than Max_PAUSED_Duration_const, the system shall perform actions as described in REQ 59 for 'PAUSED Time'.";
|
|
840
889
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -844,7 +893,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
844
893
|
attribute :>> subjectDescription = "ON > THERAPY > PAUSED mode";
|
|
845
894
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.10.1 (REQ 44)";
|
|
846
895
|
}
|
|
847
|
-
requirement reqCs45 :
|
|
896
|
+
requirement reqCs45 : Requirement {
|
|
897
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
848
898
|
attribute :>> id = "REQ-CS-45"; attribute :>> name = "PausedInitiateWhileInhibitedNoTransition";
|
|
849
899
|
attribute :>> statement = "While in PAUSED mode, when Infusion_initiate_prog and Inhibited_Infusion_macro = TRUE, the system shall not perform any transition.";
|
|
850
900
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -854,7 +904,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
854
904
|
attribute :>> subjectDescription = "ON > THERAPY > PAUSED mode";
|
|
855
905
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.10.1 (REQ 45)";
|
|
856
906
|
}
|
|
857
|
-
requirement reqCs46 :
|
|
907
|
+
requirement reqCs46 : Requirement {
|
|
908
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
858
909
|
attribute :>> id = "REQ-CS-46"; attribute :>> name = "PausedResumeToBasal";
|
|
859
910
|
attribute :>> statement = "While in PAUSED mode, when Infusion_initiate_prog and Inhibited_Infusion_macro = FALSE, the system shall transition to ON > THERAPY > ACTIVE > BASAL mode.";
|
|
860
911
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -864,7 +915,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
864
915
|
attribute :>> subjectDescription = "ON > THERAPY > PAUSED mode transitions";
|
|
865
916
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.10.2 (REQ 46)";
|
|
866
917
|
}
|
|
867
|
-
requirement reqCs47 :
|
|
918
|
+
requirement reqCs47 : Requirement {
|
|
919
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
868
920
|
attribute :>> id = "REQ-CS-47"; attribute :>> name = "PausedInhibitToIdle";
|
|
869
921
|
attribute :>> statement = "While in PAUSED mode, when Infusion_inhibit_prog, the system shall transition to ON > IDLE mode and perform actions as described in REQ 59 for 'Infusion Stopped Manually'.";
|
|
870
922
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -876,7 +928,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
876
928
|
}
|
|
877
929
|
|
|
878
930
|
// ═════ §4.2 Data Configuration Requirements ═════════════════
|
|
879
|
-
requirement reqCs48 :
|
|
931
|
+
requirement reqCs48 : Requirement {
|
|
932
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
880
933
|
attribute :>> id = "REQ-CS-48"; attribute :>> name = "DisplaySavedPrescriptionOnConfig";
|
|
881
934
|
attribute :>> statement = "When in ON mode, if DataConfig_prog as described in REQ 8, the system shall display the saved prescription and reservoir initial volume values or their default values (if there are no saved prescription and reservoir initial volume values) in the order listed in §3.1.1 and §3.1.3.";
|
|
882
935
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -886,7 +939,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
886
939
|
attribute :>> subjectDescription = "Data configuration";
|
|
887
940
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 48)";
|
|
888
941
|
}
|
|
889
|
-
requirement reqCs49 :
|
|
942
|
+
requirement reqCs49 : Requirement {
|
|
943
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
890
944
|
attribute :>> id = "REQ-CS-49"; attribute :>> name = "EditValuesOneAtATime";
|
|
891
945
|
attribute :>> statement = "When the prescription and reservoir initial volume data are displayed as described in REQ 48, the system shall allow editing the values one at a time in the order they are displayed.";
|
|
892
946
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -896,7 +950,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
896
950
|
attribute :>> subjectDescription = "Data configuration";
|
|
897
951
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 49)";
|
|
898
952
|
}
|
|
899
|
-
requirement reqCs50 :
|
|
953
|
+
requirement reqCs50 : Requirement {
|
|
954
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
900
955
|
attribute :>> id = "REQ-CS-50"; attribute :>> name = "AllowInitiateWithNewValues";
|
|
901
956
|
attribute :>> statement = "When the values are modified as described in REQ 49, the system shall allow infusion initiation with the new set of values (Infusion_initiate_prog).";
|
|
902
957
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -906,7 +961,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
906
961
|
attribute :>> subjectDescription = "Data configuration";
|
|
907
962
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 50)";
|
|
908
963
|
}
|
|
909
|
-
requirement reqCs51 :
|
|
964
|
+
requirement reqCs51 : Requirement {
|
|
965
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
910
966
|
attribute :>> id = "REQ-CS-51"; attribute :>> name = "ValidateValuesOnInitiate";
|
|
911
967
|
attribute :>> statement = "When Infusion_initiate_prog as described in REQ 50, the system shall validate if all the values are consistent with the conditions specified in their respective Type Condition fields in §3.1.1 and §3.1.3.";
|
|
912
968
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -916,7 +972,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
916
972
|
attribute :>> subjectDescription = "Data configuration";
|
|
917
973
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 51)";
|
|
918
974
|
}
|
|
919
|
-
requirement reqCs52 :
|
|
975
|
+
requirement reqCs52 : Requirement {
|
|
976
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
920
977
|
attribute :>> id = "REQ-CS-52"; attribute :>> name = "DrugDatabaseNotReachable";
|
|
921
978
|
attribute :>> statement = "When the system is validating data as described in REQ 51, if the system is unable to access the drug database safe values, the system shall not save the values and perform actions as described in REQ 59 for 'Drug database not reachable'.";
|
|
922
979
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -926,7 +983,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
926
983
|
attribute :>> subjectDescription = "Data configuration";
|
|
927
984
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 52)";
|
|
928
985
|
}
|
|
929
|
-
requirement reqCs53 :
|
|
986
|
+
requirement reqCs53 : Requirement {
|
|
987
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
930
988
|
attribute :>> id = "REQ-CS-53"; attribute :>> name = "DrugSafeValueNotPresent";
|
|
931
989
|
attribute :>> statement = "When the system is validating data as described in REQ 51, if any of the drug database safe values listed in §3.5 is not present, the system shall not perform the validation with respect to that missing field, perform actions as described in REQ 59 for 'Drug safe value not present' and continue validation.";
|
|
932
990
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -936,7 +994,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
936
994
|
attribute :>> subjectDescription = "Data configuration";
|
|
937
995
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 53)";
|
|
938
996
|
}
|
|
939
|
-
requirement reqCs54 :
|
|
997
|
+
requirement reqCs54 : Requirement {
|
|
998
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
940
999
|
attribute :>> id = "REQ-CS-54"; attribute :>> name = "SaveValidatedPrescription";
|
|
941
1000
|
attribute :>> statement = "If there are no notifications from REQ 51 and REQ 52, the system shall save the prescription values, clear all the notifications previously generated by REQ 51, REQ 52 and REQ 53 if any, and allow initiate infusion with the new values as described in REQ 9.";
|
|
942
1001
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -946,7 +1005,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
946
1005
|
attribute :>> subjectDescription = "Data configuration";
|
|
947
1006
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 54)";
|
|
948
1007
|
}
|
|
949
|
-
requirement reqCs55 :
|
|
1008
|
+
requirement reqCs55 : Requirement {
|
|
1009
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
950
1010
|
attribute :>> id = "REQ-CS-55"; attribute :>> name = "RejectInvalidPrescription";
|
|
951
1011
|
attribute :>> statement = "If REQ 51 or REQ 52 had generated a notification, the system shall not save the prescription values, allow the clinician to edit the values of the fields as described in REQ 49 and then repeat steps from REQ 50 until all validations are passed as described in REQ 54.";
|
|
952
1012
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -956,7 +1016,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
956
1016
|
attribute :>> subjectDescription = "Data configuration";
|
|
957
1017
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 55)";
|
|
958
1018
|
}
|
|
959
|
-
requirement reqCs56 :
|
|
1019
|
+
requirement reqCs56 : Requirement {
|
|
1020
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
960
1021
|
attribute :>> id = "REQ-CS-56"; attribute :>> name = "RemainInModeDuringConfig";
|
|
961
1022
|
attribute :>> statement = "While data configuration is in progress, the system shall remain in its current mode with the currently active prescription values, until infusion is initiated with the new prescription values as described in REQ 54.";
|
|
962
1023
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -966,7 +1027,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
966
1027
|
attribute :>> subjectDescription = "Data configuration";
|
|
967
1028
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 56)";
|
|
968
1029
|
}
|
|
969
|
-
requirement reqCs57 :
|
|
1030
|
+
requirement reqCs57 : Requirement {
|
|
1031
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
970
1032
|
attribute :>> id = "REQ-CS-57"; attribute :>> name = "ConfigWarningNotification";
|
|
971
1033
|
attribute :>> statement = "When the clinician has attempted to configure the data for more than Config_Warning_Duration_const continuously, the system shall perform actions as described in REQ 59 for 'Config Time'.";
|
|
972
1034
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -976,7 +1038,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
976
1038
|
attribute :>> subjectDescription = "Data configuration";
|
|
977
1039
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 57)";
|
|
978
1040
|
}
|
|
979
|
-
requirement reqCs58 :
|
|
1041
|
+
requirement reqCs58 : Requirement {
|
|
1042
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
980
1043
|
attribute :>> id = "REQ-CS-58"; attribute :>> name = "MaxConfigDurationClears";
|
|
981
1044
|
attribute :>> statement = "When the clinician has attempted to configure the data for more than Max_Config_Duration_const continuously, the system shall clear all unsaved prescription values and shall perform actions as described in REQ 59 for 'Unsaved Configuration Cleared'.";
|
|
982
1045
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -988,7 +1051,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
988
1051
|
}
|
|
989
1052
|
|
|
990
1053
|
// ═════ §4.3 Notification Requirements ═══════════════════════
|
|
991
|
-
requirement reqCs59 :
|
|
1054
|
+
requirement reqCs59 : Requirement {
|
|
1055
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
992
1056
|
attribute :>> id = "REQ-CS-59"; attribute :>> name = "NotificationActionTable";
|
|
993
1057
|
attribute :>> statement = "The system shall perform all the actions listed in the notification action table for the respective notification. The table defines, for each of the 20 notifications, its priority (High/Med/Low) and the actions Visual, Audio, Inhibit Infusion, Inhibit Square Bolus, Inhibit Patient Bolus, and Stop Bolus. Notification requirements have higher precedence over all other requirements in the system.";
|
|
994
1058
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -998,7 +1062,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
998
1062
|
attribute :>> subjectDescription = "Notification handling (see NOTIF-01..NOTIF-20)";
|
|
999
1063
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 59)";
|
|
1000
1064
|
}
|
|
1001
|
-
requirement reqCs60 :
|
|
1065
|
+
requirement reqCs60 : Requirement {
|
|
1066
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1002
1067
|
attribute :>> id = "REQ-CS-60"; attribute :>> name = "HighestPriorityActionsFirst";
|
|
1003
1068
|
attribute :>> statement = "When more than one notification having different priorities occurs at the same time, the system shall take actions listed for the highest priority notification.";
|
|
1004
1069
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1008,7 +1073,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1008
1073
|
attribute :>> subjectDescription = "Notification precedence";
|
|
1009
1074
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 60)";
|
|
1010
1075
|
}
|
|
1011
|
-
requirement reqCs61 :
|
|
1076
|
+
requirement reqCs61 : Requirement {
|
|
1077
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1012
1078
|
attribute :>> id = "REQ-CS-61"; attribute :>> name = "MostRestrictiveSamePriority";
|
|
1013
1079
|
attribute :>> statement = "When more than one notification having same priorities and different set of actions occurs at the same time, the system shall take actions listed for the most restrictive notification.";
|
|
1014
1080
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1018,7 +1084,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1018
1084
|
attribute :>> subjectDescription = "Notification precedence";
|
|
1019
1085
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 61)";
|
|
1020
1086
|
}
|
|
1021
|
-
requirement reqCs62 :
|
|
1087
|
+
requirement reqCs62 : Requirement {
|
|
1088
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1022
1089
|
attribute :>> id = "REQ-CS-62"; attribute :>> name = "MostRestrictiveTieBreak";
|
|
1023
1090
|
attribute :>> statement = "When more than one notification having same priorities and same set of actions occurs at the same time, the system will take actions for the notification that has the most restrictive actions as listed in REQ 59.";
|
|
1024
1091
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1028,7 +1095,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1028
1095
|
attribute :>> subjectDescription = "Notification precedence";
|
|
1029
1096
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 62)";
|
|
1030
1097
|
}
|
|
1031
|
-
requirement reqCs63 :
|
|
1098
|
+
requirement reqCs63 : Requirement {
|
|
1099
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1032
1100
|
attribute :>> id = "REQ-CS-63"; attribute :>> name = "EscalateToMoreRestrictive";
|
|
1033
1101
|
attribute :>> statement = "While a low priority or less restrictive notification is in effect and a higher priority or more restrictive same-priority notification occurs, the system shall take actions for the high priority or more restrictive notification as listed in REQ 59.";
|
|
1034
1102
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1038,7 +1106,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1038
1106
|
attribute :>> subjectDescription = "Notification precedence";
|
|
1039
1107
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 63)";
|
|
1040
1108
|
}
|
|
1041
|
-
requirement reqCs64 :
|
|
1109
|
+
requirement reqCs64 : Requirement {
|
|
1110
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1042
1111
|
attribute :>> id = "REQ-CS-64"; attribute :>> name = "LowPriorityListedOnly";
|
|
1043
1112
|
attribute :>> statement = "While a high priority notification is in effect and a low priority notification occurs, the system shall only add the notification to the active notification list and shall not take any other actions for the low priority notification.";
|
|
1044
1113
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1048,7 +1117,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1048
1117
|
attribute :>> subjectDescription = "Notification precedence";
|
|
1049
1118
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 64)";
|
|
1050
1119
|
}
|
|
1051
|
-
requirement reqCs65 :
|
|
1120
|
+
requirement reqCs65 : Requirement {
|
|
1121
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1052
1122
|
attribute :>> id = "REQ-CS-65"; attribute :>> name = "CancelNotificationsOneAtATime";
|
|
1053
1123
|
attribute :>> statement = "The system shall allow the clinician to cancel the active notifications, starting from the first in the list, one at a time (Notification_cancel_prog).";
|
|
1054
1124
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1058,7 +1128,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1058
1128
|
attribute :>> subjectDescription = "Notification cancellation";
|
|
1059
1129
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 65)";
|
|
1060
1130
|
}
|
|
1061
|
-
requirement reqCs66 :
|
|
1131
|
+
requirement reqCs66 : Requirement {
|
|
1132
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1062
1133
|
attribute :>> id = "REQ-CS-66"; attribute :>> name = "CancelClearsRestrictions";
|
|
1063
1134
|
attribute :>> statement = "When Notification_cancel_prog for a notification, the system shall cancel and clear the restrictions for that notification: Inhibited_Infusion_macro = FALSE, Inhibited_Bolus_macro = FALSE, Inhibited_PatientBolus_macro = FALSE, and cancel and clear the corresponding audio notification.";
|
|
1064
1135
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1068,7 +1139,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1068
1139
|
attribute :>> subjectDescription = "Notification cancellation";
|
|
1069
1140
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 66)";
|
|
1070
1141
|
}
|
|
1071
|
-
requirement reqCs67 :
|
|
1142
|
+
requirement reqCs67 : Requirement {
|
|
1143
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1072
1144
|
attribute :>> id = "REQ-CS-67"; attribute :>> name = "NextNotificationAfterCancel";
|
|
1073
1145
|
attribute :>> statement = "When Notification_cancel_prog for a notification, the system takes actions for the next active notification in order of priority and descending order of occurrence.";
|
|
1074
1146
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1080,7 +1152,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1080
1152
|
}
|
|
1081
1153
|
|
|
1082
1154
|
// ── §4.3.1 Visual notification ──────────────────────────────
|
|
1083
|
-
requirement reqCs68 :
|
|
1155
|
+
requirement reqCs68 : Requirement {
|
|
1156
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1084
1157
|
attribute :>> id = "REQ-CS-68"; attribute :>> name = "DisplayActiveNotificationsOrdered";
|
|
1085
1158
|
attribute :>> statement = "The system shall display all active notifications in order of priority and descending order of occurrence (Notification_Visual_output).";
|
|
1086
1159
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1090,7 +1163,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1090
1163
|
attribute :>> subjectDescription = "Visual notification";
|
|
1091
1164
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.1 (REQ 68)";
|
|
1092
1165
|
}
|
|
1093
|
-
requirement reqCs69 :
|
|
1166
|
+
requirement reqCs69 : Requirement {
|
|
1167
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1094
1168
|
attribute :>> id = "REQ-CS-69"; attribute :>> name = "DisplayNotificationNameAndTime";
|
|
1095
1169
|
attribute :>> statement = "The system shall display the name of all the active notifications and the time of the occurrence.";
|
|
1096
1170
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1100,7 +1174,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1100
1174
|
attribute :>> subjectDescription = "Visual notification";
|
|
1101
1175
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.1 (REQ 69)";
|
|
1102
1176
|
}
|
|
1103
|
-
requirement reqCs70 :
|
|
1177
|
+
requirement reqCs70 : Requirement {
|
|
1178
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1104
1179
|
attribute :>> id = "REQ-CS-70"; attribute :>> name = "DisplaySimultaneousNotifications";
|
|
1105
1180
|
attribute :>> statement = "When more than one notification occurs at the same time, the system shall display all the notifications as per REQ 68.";
|
|
1106
1181
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1110,7 +1185,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1110
1185
|
attribute :>> subjectDescription = "Visual notification";
|
|
1111
1186
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.1 (REQ 70)";
|
|
1112
1187
|
}
|
|
1113
|
-
requirement reqCs71 :
|
|
1188
|
+
requirement reqCs71 : Requirement {
|
|
1189
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1114
1190
|
attribute :>> id = "REQ-CS-71"; attribute :>> name = "RemoveCancelledNotificationFromList";
|
|
1115
1191
|
attribute :>> statement = "When Notification_cancel_prog for a notification, the system shall remove the notification from the list and shall display the list of remaining notifications.";
|
|
1116
1192
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1122,7 +1198,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1122
1198
|
}
|
|
1123
1199
|
|
|
1124
1200
|
// ── §4.3.2 Audio notification ───────────────────────────────
|
|
1125
|
-
requirement reqCs72 :
|
|
1201
|
+
requirement reqCs72 : Requirement {
|
|
1202
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1126
1203
|
attribute :>> id = "REQ-CS-72"; attribute :>> name = "AudibleSoundPerNotification";
|
|
1127
1204
|
attribute :>> statement = "When each notification occurs that requires an audio alarm as listed in REQ 59, the system shall produce a single audible sound of Audio_level_const, unless the audio is disabled or silenced.";
|
|
1128
1205
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1132,7 +1209,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1132
1209
|
attribute :>> subjectDescription = "Audio notification";
|
|
1133
1210
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.2 (REQ 72)";
|
|
1134
1211
|
}
|
|
1135
|
-
requirement reqCs73 :
|
|
1212
|
+
requirement reqCs73 : Requirement {
|
|
1213
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1136
1214
|
attribute :>> id = "REQ-CS-73"; attribute :>> name = "AudioDisableSilenceEnable";
|
|
1137
1215
|
attribute :>> statement = "The system shall allow the clinician to disable audible alarm, silence the alarm temporarily and enable a disabled or silenced alarm.";
|
|
1138
1216
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1142,7 +1220,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1142
1220
|
attribute :>> subjectDescription = "Audio notification";
|
|
1143
1221
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.2 (REQ 73)";
|
|
1144
1222
|
}
|
|
1145
|
-
requirement reqCs74 :
|
|
1223
|
+
requirement reqCs74 : Requirement {
|
|
1224
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1146
1225
|
attribute :>> id = "REQ-CS-74"; attribute :>> name = "NoAudioWhileDisabled";
|
|
1147
1226
|
attribute :>> statement = "If Disable_audio_prog = 'PERM' or 'TEMP', the system shall not produce audible alarm until it is enabled (Disable_audio_prog = FALSE).";
|
|
1148
1227
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1152,7 +1231,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1152
1231
|
attribute :>> subjectDescription = "Audio notification";
|
|
1153
1232
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.2 (REQ 74)";
|
|
1154
1233
|
}
|
|
1155
|
-
requirement reqCs75 :
|
|
1234
|
+
requirement reqCs75 : Requirement {
|
|
1235
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1156
1236
|
attribute :>> id = "REQ-CS-75"; attribute :>> name = "TempSilenceAutoReenable";
|
|
1157
1237
|
attribute :>> statement = "If Disable_audio_prog = 'TEMP', the system shall automatically enable it (Disable_audio_prog = FALSE) after Audio_Enable_Duration_const minutes.";
|
|
1158
1238
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1162,7 +1242,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1162
1242
|
attribute :>> subjectDescription = "Audio notification";
|
|
1163
1243
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.2 (REQ 75)";
|
|
1164
1244
|
}
|
|
1165
|
-
requirement reqCs76 :
|
|
1245
|
+
requirement reqCs76 : Requirement {
|
|
1246
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1166
1247
|
attribute :>> id = "REQ-CS-76"; attribute :>> name = "ReannunciateLongActiveNotifications";
|
|
1167
1248
|
attribute :>> statement = "For every notification with audio alarm that is active for more than Audio_Enable_Duration_const minutes, the system shall produce audible sound as described in REQ 72.";
|
|
1168
1249
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1174,7 +1255,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1174
1255
|
}
|
|
1175
1256
|
|
|
1176
1257
|
// ═════ §4.4 Log Requirements ════════════════════════════════
|
|
1177
|
-
requirement reqCs77 :
|
|
1258
|
+
requirement reqCs77 : Requirement {
|
|
1259
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1178
1260
|
attribute :>> id = "REQ-CS-77"; attribute :>> name = "LogWhileOn";
|
|
1179
1261
|
attribute :>> statement = "The system shall log all the operational and error data when the system is in ON mode.";
|
|
1180
1262
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1184,7 +1266,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1184
1266
|
attribute :>> subjectDescription = "Logging";
|
|
1185
1267
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.4 (REQ 77)";
|
|
1186
1268
|
}
|
|
1187
|
-
requirement reqCs78 :
|
|
1269
|
+
requirement reqCs78 : Requirement {
|
|
1270
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1188
1271
|
attribute :>> id = "REQ-CS-78"; attribute :>> name = "OperationalLogContent";
|
|
1189
1272
|
attribute :>> statement = "While in ON mode, every Log_Interval_const minutes or when a mode transition occurs, the system shall record the following information in an 'Operational log': (1) date in dd/MM/yy format, (2) time in HH:MM:SS GMT, (3) Patient ID, (4) prescription information, (5) current mode of the system, (6) current flow rate of the system.";
|
|
1190
1273
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1194,7 +1277,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1194
1277
|
attribute :>> subjectDescription = "Logging";
|
|
1195
1278
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.4 (REQ 78)";
|
|
1196
1279
|
}
|
|
1197
|
-
requirement reqCs79 :
|
|
1280
|
+
requirement reqCs79 : Requirement {
|
|
1281
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1198
1282
|
attribute :>> id = "REQ-CS-79"; attribute :>> name = "InfusionCompleteLogContent";
|
|
1199
1283
|
attribute :>> statement = "When infusion is completed as per REQ 28, the system shall record the following information in addition to the information listed in REQ 78 in the 'Operational log': (1) total volume infused for that prescription, (2) total duration of infusion for that prescription (total duration in ACTIVE mode).";
|
|
1200
1284
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1204,7 +1288,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1204
1288
|
attribute :>> subjectDescription = "Logging";
|
|
1205
1289
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.4 (REQ 79)";
|
|
1206
1290
|
}
|
|
1207
|
-
requirement reqCs80 :
|
|
1291
|
+
requirement reqCs80 : Requirement {
|
|
1292
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1208
1293
|
attribute :>> id = "REQ-CS-80"; attribute :>> name = "ErrorLogContent";
|
|
1209
1294
|
attribute :>> statement = "When any notification condition listed in REQ 59 occurs, the system shall record the following information in an error log: (1) date in dd/MM/yy format, (2) time in HH:MM:SS GMT, (3) notification description, (4) current mode of the system, (5) remaining drug volume.";
|
|
1210
1295
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1214,7 +1299,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1214
1299
|
attribute :>> subjectDescription = "Logging";
|
|
1215
1300
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.4 (REQ 80)";
|
|
1216
1301
|
}
|
|
1217
|
-
requirement reqCs81 :
|
|
1302
|
+
requirement reqCs81 : Requirement {
|
|
1303
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1218
1304
|
attribute :>> id = "REQ-CS-81"; attribute :>> name = "NotificationCancelLogContent";
|
|
1219
1305
|
attribute :>> statement = "When a notification is cancelled as described in REQ 66, the system shall record the following information in the 'Operational log': (1) date in dd/MM/yy format, (2) time in HH:MM:SS GMT, (3) description of the notification cancelled.";
|
|
1220
1306
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1226,7 +1312,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1226
1312
|
}
|
|
1227
1313
|
|
|
1228
1314
|
// ═════ §4.5 Security Requirements ═══════════════════════════
|
|
1229
|
-
requirement reqCs82 :
|
|
1315
|
+
requirement reqCs82 : Requirement {
|
|
1316
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1230
1317
|
attribute :>> id = "REQ-CS-82"; attribute :>> name = "AuthorizedCliniciansOnly";
|
|
1231
1318
|
attribute :>> statement = "The system shall allow only authorized clinicians to configure the system.";
|
|
1232
1319
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1238,7 +1325,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1238
1325
|
}
|
|
1239
1326
|
|
|
1240
1327
|
// ═════ Ch.5 Non-Behavioral Requirements ═════════════════════
|
|
1241
|
-
requirement reqCs83 :
|
|
1328
|
+
requirement reqCs83 : Requirement {
|
|
1329
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1242
1330
|
attribute :>> id = "REQ-CS-83"; attribute :>> name = "DropResistance";
|
|
1243
1331
|
attribute :>> statement = "The system shall be unbreakable if it is dropped on a laminate floor from y m of height with no additional force than gravity.";
|
|
1244
1332
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1248,7 +1336,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1248
1336
|
attribute :>> subjectDescription = "GPCA enclosure";
|
|
1249
1337
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §5.1 (REQ 83)";
|
|
1250
1338
|
}
|
|
1251
|
-
requirement reqCs84 :
|
|
1339
|
+
requirement reqCs84 : Requirement {
|
|
1340
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1252
1341
|
attribute :>> id = "REQ-CS-84"; attribute :>> name = "WaterResistance";
|
|
1253
1342
|
attribute :>> statement = "The system shall be waterproof to non-acidic liquid of less than x ml on any side of the pump for a maximum of 2 hours.";
|
|
1254
1343
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1258,7 +1347,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1258
1347
|
attribute :>> subjectDescription = "GPCA enclosure";
|
|
1259
1348
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §5.1 (REQ 84)";
|
|
1260
1349
|
}
|
|
1261
|
-
requirement reqCs85 :
|
|
1350
|
+
requirement reqCs85 : Requirement {
|
|
1351
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1262
1352
|
attribute :>> id = "REQ-CS-85"; attribute :>> name = "LogRetention";
|
|
1263
1353
|
attribute :>> statement = "The system shall persist the most recent 30 days of error log data and 15 days of operational log data.";
|
|
1264
1354
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1268,7 +1358,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1268
1358
|
attribute :>> subjectDescription = "Logging";
|
|
1269
1359
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §5.1 (REQ 85)";
|
|
1270
1360
|
}
|
|
1271
|
-
requirement reqCs86 :
|
|
1361
|
+
requirement reqCs86 : Requirement {
|
|
1362
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1272
1363
|
attribute :>> id = "REQ-CS-86"; attribute :>> name = "PrescriptionRetention";
|
|
1273
1364
|
attribute :>> statement = "The system shall persist the last saved prescription data for 15 days.";
|
|
1274
1365
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1284,7 +1375,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1284
1375
|
// methodology extends a source specification with risk-driven
|
|
1285
1376
|
// and hardware requirements. sourceKind = extension segregates
|
|
1286
1377
|
// them from the REQ-CS family.
|
|
1287
|
-
requirement reqDrugLibraryLimits :
|
|
1378
|
+
requirement reqDrugLibraryLimits : Requirement {
|
|
1379
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1288
1380
|
attribute :>> id = "REQ-X-01"; attribute :>> name = "PrescriptionWithinDrugLibraryLimits";
|
|
1289
1381
|
attribute :>> statement = "When a prescription parameter is entered, the system shall reject values outside drug-library hard limits and shall require explicit confirmation for values outside soft limits.";
|
|
1290
1382
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1302,7 +1394,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1302
1394
|
attribute :>> conditionClause = "When a prescription parameter is entered";
|
|
1303
1395
|
attribute :>> systemResponse = "reject hard-limit violations and require confirmation of soft-limit violations";
|
|
1304
1396
|
}
|
|
1305
|
-
requirement reqPost :
|
|
1397
|
+
requirement reqPost : Requirement {
|
|
1398
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1306
1399
|
attribute :>> id = "REQ-X-02"; attribute :>> name = "PowerOnSelfTest";
|
|
1307
1400
|
attribute :>> statement = "On power-up, the system shall complete a self test of CPU, memory, watchdog, and safety sensors before permitting therapy, and shall remain locked out of therapy if any check fails.";
|
|
1308
1401
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1320,7 +1413,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1320
1413
|
attribute :>> conditionClause = "On power-up";
|
|
1321
1414
|
attribute :>> systemResponse = "complete POST before permitting therapy";
|
|
1322
1415
|
}
|
|
1323
|
-
requirement reqPowerLossRetention :
|
|
1416
|
+
requirement reqPowerLossRetention : Requirement {
|
|
1417
|
+
attribute :>> requirementKind = RequirementKind::system;
|
|
1324
1418
|
attribute :>> id = "REQ-X-03"; attribute :>> name = "PrescriptionRetainedAcrossPowerLoss";
|
|
1325
1419
|
attribute :>> statement = "If all power is lost, the system shall retain the confirmed prescription and event log, and on power restoration shall resume therapy only after clinician confirmation.";
|
|
1326
1420
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1338,7 +1432,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1338
1432
|
attribute :>> conditionClause = "If all power is lost";
|
|
1339
1433
|
attribute :>> systemResponse = "retain prescription and log; resume only after confirmation";
|
|
1340
1434
|
}
|
|
1341
|
-
requirement reqOcclusion :
|
|
1435
|
+
requirement reqOcclusion : Requirement {
|
|
1436
|
+
attribute :>> requirementKind = RequirementKind::software;
|
|
1342
1437
|
attribute :>> id = "REQ-X-04"; attribute :>> name = "OcclusionDetectionAndAlarm";
|
|
1343
1438
|
attribute :>> statement = "When downstream line pressure exceeds the occlusion threshold, the system shall pause infusion and raise a High-priority notification.";
|
|
1344
1439
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1352,7 +1447,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1352
1447
|
attribute :>> guaranteeSummary = "no sustained pumping against a blocked line";
|
|
1353
1448
|
attribute :>> sourceReference = "MEMO extension — occlusion sensing is not specified by the CriSys source (under-infusion flow rate, REQ-CS-17, is the source-level effect)";
|
|
1354
1449
|
}
|
|
1355
|
-
requirement reqDoorOpen :
|
|
1450
|
+
requirement reqDoorOpen : Requirement {
|
|
1451
|
+
attribute :>> requirementKind = RequirementKind::software;
|
|
1356
1452
|
attribute :>> id = "REQ-X-05"; attribute :>> name = "DoorOpenPreventsDelivery";
|
|
1357
1453
|
attribute :>> statement = "While the reservoir door is open or unlatched, the system shall not deliver drug and shall raise a Medium-priority notification if therapy was active.";
|
|
1358
1454
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1371,7 +1467,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1371
1467
|
attribute :>> conditionClause = "While the reservoir door is open";
|
|
1372
1468
|
attribute :>> systemResponse = "inhibit delivery and notify if therapy was active";
|
|
1373
1469
|
}
|
|
1374
|
-
requirement reqMaxHourlyDose :
|
|
1470
|
+
requirement reqMaxHourlyDose : Requirement {
|
|
1471
|
+
attribute :>> requirementKind = RequirementKind::software;
|
|
1375
1472
|
attribute :>> id = "REQ-X-06"; attribute :>> name = "MaximumHourlyDoseEnforcement";
|
|
1376
1473
|
attribute :>> statement = "The system shall not deliver more than the prescribed maximum drug volume in any sliding one-hour window, counting basal, patient bolus, and square bolus contributions.";
|
|
1377
1474
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1385,7 +1482,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1385
1482
|
attribute :>> guaranteeSummary = "hourly dose ceiling never exceeded";
|
|
1386
1483
|
attribute :>> sourceReference = "MEMO extension — sliding-window hourly limit is not specified by the CriSys source";
|
|
1387
1484
|
}
|
|
1388
|
-
requirement reqEventLogging :
|
|
1485
|
+
requirement reqEventLogging : Requirement {
|
|
1486
|
+
attribute :>> requirementKind = RequirementKind::software;
|
|
1389
1487
|
attribute :>> id = "REQ-X-07"; attribute :>> name = "TamperEvidentTherapyLog";
|
|
1390
1488
|
attribute :>> statement = "The system shall record therapy events in a timestamped, tamper-evident event log such that any modification of recorded entries is detectable.";
|
|
1391
1489
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1399,7 +1497,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1399
1497
|
attribute :>> guaranteeSummary = "log tampering cannot go unnoticed";
|
|
1400
1498
|
attribute :>> sourceReference = "MEMO extension — tamper evidence is not specified by the CriSys source (log content: REQ-CS-77..81)";
|
|
1401
1499
|
}
|
|
1402
|
-
requirement reqWatchdogSafeState :
|
|
1500
|
+
requirement reqWatchdogSafeState : Requirement {
|
|
1501
|
+
attribute :>> requirementKind = RequirementKind::software;
|
|
1403
1502
|
attribute :>> id = "REQ-X-08"; attribute :>> name = "WatchdogForcesSafeState";
|
|
1404
1503
|
attribute :>> statement = "If the software fails to service the hardware watchdog within its timeout, the system shall force pump output to zero flow and raise a continuous audible alarm.";
|
|
1405
1504
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1418,7 +1517,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1418
1517
|
attribute :>> conditionClause = "If the watchdog is not serviced within its timeout";
|
|
1419
1518
|
attribute :>> systemResponse = "force zero flow and continuous alarm";
|
|
1420
1519
|
}
|
|
1421
|
-
requirement reqStuckButton :
|
|
1520
|
+
requirement reqStuckButton : Requirement {
|
|
1521
|
+
attribute :>> requirementKind = RequirementKind::software;
|
|
1422
1522
|
attribute :>> id = "REQ-X-09"; attribute :>> name = "StuckBolusButtonDetection";
|
|
1423
1523
|
attribute :>> statement = "If the patient bolus button remains asserted for more than 60 seconds, the system shall treat the input as failed, ignore it, and raise a Medium-priority notification.";
|
|
1424
1524
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1432,7 +1532,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1432
1532
|
attribute :>> guaranteeSummary = "a shorted pendant cannot request repeated boluses";
|
|
1433
1533
|
attribute :>> sourceReference = "MEMO extension — stuck-input detection is not specified by the CriSys source";
|
|
1434
1534
|
}
|
|
1435
|
-
requirement reqFlowCrossCheck :
|
|
1535
|
+
requirement reqFlowCrossCheck : Requirement {
|
|
1536
|
+
attribute :>> requirementKind = RequirementKind::software;
|
|
1436
1537
|
attribute :>> id = "REQ-X-10"; attribute :>> name = "CommandedVsMeasuredFlowCrossCheck";
|
|
1437
1538
|
attribute :>> statement = "The system shall compare measured delivered flow against commanded flow using an independent flow sensor, and shall raise a High-priority notification and pause infusion when the deviation exceeds Tolerance_Min_const for more than Max_Duration_OverInfusion_const.";
|
|
1438
1539
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1446,7 +1547,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1446
1547
|
attribute :>> guaranteeSummary = "over- and under-infusion detected independently of motor control";
|
|
1447
1548
|
attribute :>> sourceReference = "MEMO extension — independent cross-check channel beyond CriSys REQ-CS-17/19 tolerance monitoring; thresholds reuse App. A.4 constants";
|
|
1448
1549
|
}
|
|
1449
|
-
requirement reqPumpAccuracy :
|
|
1550
|
+
requirement reqPumpAccuracy : Requirement {
|
|
1551
|
+
attribute :>> requirementKind = RequirementKind::hardware;
|
|
1450
1552
|
attribute :>> id = "REQ-X-11"; attribute :>> name = "DeliveryAccuracy";
|
|
1451
1553
|
attribute :>> statement = "The pump mechanism shall deliver programmed volumes with an accuracy of plus or minus Tolerance_Min_const (5 percent) over the full rate range, so that the system-level flow tolerances of REQ-CS-16 are achievable.";
|
|
1452
1554
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1460,7 +1562,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1460
1562
|
attribute :>> sourceReference = "MEMO extension — mechanism-level accuracy budget derived from App. A.4 Tolerance_Min_const";
|
|
1461
1563
|
attribute :>> electricalSafetyRelevant = false;
|
|
1462
1564
|
}
|
|
1463
|
-
requirement reqAlarmLoudness :
|
|
1565
|
+
requirement reqAlarmLoudness : Requirement {
|
|
1566
|
+
attribute :>> requirementKind = RequirementKind::hardware;
|
|
1464
1567
|
attribute :>> id = "REQ-X-12"; attribute :>> name = "AlarmSoundPressureLevel";
|
|
1465
1568
|
attribute :>> statement = "The audible annunciator shall produce notification tones at the sound level defined by Audio_level_const (50 db for 2 seconds per interface spec I 8), distinguishable by priority.";
|
|
1466
1569
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1474,7 +1577,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1474
1577
|
attribute :>> sourceReference = "MEMO extension — hardware annunciator budget realizing CriSys I 8 / Audio_level_const";
|
|
1475
1578
|
attribute :>> electricalSafetyRelevant = false;
|
|
1476
1579
|
}
|
|
1477
|
-
requirement reqBatteryBackup :
|
|
1580
|
+
requirement reqBatteryBackup : Requirement {
|
|
1581
|
+
attribute :>> requirementKind = RequirementKind::hardware;
|
|
1478
1582
|
attribute :>> id = "REQ-X-13"; attribute :>> name = "BatteryBackupDuration";
|
|
1479
1583
|
attribute :>> statement = "The battery shall sustain nominal therapy and alarm annunciation for at least 4 hours after loss of mains power.";
|
|
1480
1584
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1488,7 +1592,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
|
|
|
1488
1592
|
attribute :>> sourceReference = "MEMO extension — power backup is not specified by the CriSys source";
|
|
1489
1593
|
attribute :>> electricalSafetyRelevant = true;
|
|
1490
1594
|
}
|
|
1491
|
-
requirement reqFreeFlowPrevention :
|
|
1595
|
+
requirement reqFreeFlowPrevention : Requirement {
|
|
1596
|
+
attribute :>> requirementKind = RequirementKind::hardware;
|
|
1492
1597
|
attribute :>> id = "REQ-X-14"; attribute :>> name = "MechanicalFreeFlowPrevention";
|
|
1493
1598
|
attribute :>> statement = "The fluid path shall include a mechanical anti-free-flow valve that blocks gravity flow whenever the administration set is disengaged from the pumping mechanism.";
|
|
1494
1599
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|