@memoarchitect/ontology 0.10.9 → 0.11.2
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 +1 -1
- package/examples/gpca-pump/memo.identity.yaml +12 -6
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +7 -4
- package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +100 -100
- package/examples/nested-architecture-dsm/memo.identity.yaml +181 -0
- package/examples/nested-architecture-dsm/model/catalog/architecture/operational/context.sysml +34 -0
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +5 -2
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +7 -7
- package/examples/nested-architecture-dsm/model/catalog/project.sysml +1 -0
- package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +3 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/requirements_view.sysml +3 -3
- package/examples/ui-screen-regions/memo.identity.yaml +205 -0
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +12 -12
- package/extensions/aadl/memo.package.yaml +1 -1
- package/extensions/cloud/memo.package.yaml +1 -1
- package/extensions/container/memo.package.yaml +1 -1
- package/extensions/messaging/memo.package.yaml +1 -1
- package/extensions/ros/memo.package.yaml +1 -1
- package/methodologies/default/memo.package.yaml +1 -1
- package/methodologies/gpca/memo.package.yaml +1 -1
- package/ontology/memo.package.yaml +1 -1
- package/package.json +1 -1
- package/profile/memo.package.yaml +1 -1
- package/src/architecture/operational/scenarios/memo_scenarios.sysml +1 -2
- package/src/artifacts/templates/dhf/iec-60601/hrs.md +6 -6
- package/src/artifacts/templates/dhf/iec-62304/srs.md +10 -10
- package/src/artifacts/templates/dhf/system/syrs.md +6 -6
- package/src/assurance/cybersecurity/memo_cybersecurity.sysml +5 -1
- package/src/assurance/human_factors/memo_human_factors.sysml +0 -1
- package/src/assurance/requirements/memo_requirements.sysml +20 -16
- package/src/assurance/requirements/needs/memo_needs.sysml +33 -5
- package/src/assurance/safety_risk/memo_risk.sysml +39 -16
- package/src/assurance/verification_validation/memo_assurance.sysml +18 -0
- package/src/rules/closure/closure_rules.sysml +36 -2
- package/src/rules/crosslayer/cross_layer_rules.sysml +1 -1
- package/src/rules/ontology/ontology_invariants.sysml +13 -2
|
@@ -399,7 +399,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
399
399
|
|
|
400
400
|
// ═════ CriSys system requirements — §4.1.1 GPCA System ══════
|
|
401
401
|
requirement reqCs01 : Requirement {
|
|
402
|
-
attribute :>>
|
|
402
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
403
403
|
@MemoIdentity { :>> providedId = "REQ-CS-01"; } attribute :>> name = "SingleActiveMode";
|
|
404
404
|
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.";
|
|
405
405
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -410,7 +410,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
410
410
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.1.1 (REQ 1)"; }
|
|
411
411
|
}
|
|
412
412
|
requirement reqCs02 : Requirement {
|
|
413
|
-
attribute :>>
|
|
413
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
414
414
|
@MemoIdentity { :>> providedId = "REQ-CS-02"; } attribute :>> name = "ModeChangeDurationWithoutFlowChange";
|
|
415
415
|
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.";
|
|
416
416
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -421,7 +421,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
421
421
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.1.1 (REQ 2)"; }
|
|
422
422
|
}
|
|
423
423
|
requirement reqCs03 : Requirement {
|
|
424
|
-
attribute :>>
|
|
424
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
425
425
|
@MemoIdentity { :>> providedId = "REQ-CS-03"; } attribute :>> name = "ModeChangeFlowRamp";
|
|
426
426
|
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.";
|
|
427
427
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -432,7 +432,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
432
432
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.1.1 (REQ 3)"; }
|
|
433
433
|
}
|
|
434
434
|
requirement reqCs04 : Requirement {
|
|
435
|
-
attribute :>>
|
|
435
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
436
436
|
@MemoIdentity { :>> providedId = "REQ-CS-04"; } attribute :>> name = "OffToIdleOnSystemStart";
|
|
437
437
|
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.";
|
|
438
438
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -443,7 +443,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
443
443
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.1.2 (REQ 4)"; }
|
|
444
444
|
}
|
|
445
445
|
requirement reqCs05 : Requirement {
|
|
446
|
-
attribute :>>
|
|
446
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
447
447
|
@MemoIdentity { :>> providedId = "REQ-CS-05"; } attribute :>> name = "OnToOffOnSystemStop";
|
|
448
448
|
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.";
|
|
449
449
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -456,7 +456,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
456
456
|
|
|
457
457
|
// ── §4.1.2 OFF mode ─────────────────────────────────────────
|
|
458
458
|
requirement reqCs06 : Requirement {
|
|
459
|
-
attribute :>>
|
|
459
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
460
460
|
@MemoIdentity { :>> providedId = "REQ-CS-06"; } attribute :>> name = "OffModeNoDelivery";
|
|
461
461
|
attribute :>> statement = "While in OFF mode, the system shall not deliver any drug.";
|
|
462
462
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -469,7 +469,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
469
469
|
|
|
470
470
|
// ── §4.1.3 ON mode ──────────────────────────────────────────
|
|
471
471
|
requirement reqCs07 : Requirement {
|
|
472
|
-
attribute :>>
|
|
472
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
473
473
|
@MemoIdentity { :>> providedId = "REQ-CS-07"; } attribute :>> name = "InfusionRequiresSavedPrescription";
|
|
474
474
|
attribute :>> statement = "While in ON mode, the system shall allow initiation of infusion only when a saved prescription is available.";
|
|
475
475
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -480,7 +480,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
480
480
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.1 (REQ 7)"; }
|
|
481
481
|
}
|
|
482
482
|
requirement reqCs08 : Requirement {
|
|
483
|
-
attribute :>>
|
|
483
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
484
484
|
@MemoIdentity { :>> providedId = "REQ-CS-08"; } attribute :>> name = "AllowDataConfigurationInOn";
|
|
485
485
|
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).";
|
|
486
486
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -491,7 +491,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
491
491
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.1 (REQ 8)"; }
|
|
492
492
|
}
|
|
493
493
|
requirement reqCs09 : Requirement {
|
|
494
|
-
attribute :>>
|
|
494
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
495
495
|
@MemoIdentity { :>> providedId = "REQ-CS-09"; } attribute :>> name = "PrescriptionDisplayAndConfirm";
|
|
496
496
|
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.";
|
|
497
497
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -502,7 +502,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
502
502
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.1 (REQ 9)"; }
|
|
503
503
|
}
|
|
504
504
|
requirement reqCs10 : Requirement {
|
|
505
|
-
attribute :>>
|
|
505
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
506
506
|
@MemoIdentity { :>> providedId = "REQ-CS-10"; } attribute :>> name = "AllowNotificationsInOn";
|
|
507
507
|
attribute :>> statement = "While in ON mode, the system shall allow visual and audio notification as described in §4.3.";
|
|
508
508
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -513,7 +513,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
513
513
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.1 (REQ 10)"; }
|
|
514
514
|
}
|
|
515
515
|
requirement reqCs11 : Requirement {
|
|
516
|
-
attribute :>>
|
|
516
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
517
517
|
@MemoIdentity { :>> providedId = "REQ-CS-11"; } attribute :>> name = "AllowLoggingInOn";
|
|
518
518
|
attribute :>> statement = "While in ON mode, the system shall allow logging as described in §4.4.";
|
|
519
519
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -524,7 +524,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
524
524
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.1 (REQ 11)"; }
|
|
525
525
|
}
|
|
526
526
|
requirement reqCs12 : Requirement {
|
|
527
|
-
attribute :>>
|
|
527
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
528
528
|
@MemoIdentity { :>> providedId = "REQ-CS-12"; } attribute :>> name = "ConfirmedInitiateStartsBasal";
|
|
529
529
|
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.";
|
|
530
530
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -535,7 +535,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
535
535
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.2 (REQ 12)"; }
|
|
536
536
|
}
|
|
537
537
|
requirement reqCs13 : Requirement {
|
|
538
|
-
attribute :>>
|
|
538
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
539
539
|
@MemoIdentity { :>> providedId = "REQ-CS-13"; } attribute :>> name = "ConfirmedInitiateWhileInhibitedPauses";
|
|
540
540
|
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'.";
|
|
541
541
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -548,7 +548,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
548
548
|
|
|
549
549
|
// ── §4.1.4 ON > IDLE mode ───────────────────────────────────
|
|
550
550
|
requirement reqCs14 : Requirement {
|
|
551
|
-
attribute :>>
|
|
551
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
552
552
|
@MemoIdentity { :>> providedId = "REQ-CS-14"; } attribute :>> name = "IdleModeNoDelivery";
|
|
553
553
|
attribute :>> statement = "While in IDLE mode, the system shall not deliver any drug.";
|
|
554
554
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -559,7 +559,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
559
559
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.4.1 (REQ 14)"; }
|
|
560
560
|
}
|
|
561
561
|
requirement reqCs15 : Requirement {
|
|
562
|
-
attribute :>>
|
|
562
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
563
563
|
@MemoIdentity { :>> providedId = "REQ-CS-15"; } attribute :>> name = "IdleTimeNotification";
|
|
564
564
|
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'.";
|
|
565
565
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -572,7 +572,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
572
572
|
|
|
573
573
|
// ── §4.1.5 ON > THERAPY mode ────────────────────────────────
|
|
574
574
|
requirement reqCs16 : Requirement {
|
|
575
|
-
attribute :>>
|
|
575
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
576
576
|
@MemoIdentity { :>> providedId = "REQ-CS-16"; } attribute :>> name = "TherapyDeliveryWithinTolerance";
|
|
577
577
|
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.";
|
|
578
578
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -583,7 +583,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
583
583
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.1 (REQ 16)"; }
|
|
584
584
|
}
|
|
585
585
|
requirement reqCs17 : Requirement {
|
|
586
|
-
attribute :>>
|
|
586
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
587
587
|
@MemoIdentity { :>> providedId = "REQ-CS-17"; } attribute :>> name = "UnderInfusionFlowRateNotification";
|
|
588
588
|
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.";
|
|
589
589
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -594,7 +594,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
594
594
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.1 (REQ 17)"; }
|
|
595
595
|
}
|
|
596
596
|
requirement reqCs18 : Requirement {
|
|
597
|
-
attribute :>>
|
|
597
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
598
598
|
@MemoIdentity { :>> providedId = "REQ-CS-18"; } attribute :>> name = "LowReservoirNotification";
|
|
599
599
|
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'.";
|
|
600
600
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -605,7 +605,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
605
605
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.1 (REQ 18)"; }
|
|
606
606
|
}
|
|
607
607
|
requirement reqCs19 : Requirement {
|
|
608
|
-
attribute :>>
|
|
608
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
609
609
|
@MemoIdentity { :>> providedId = "REQ-CS-19"; } attribute :>> name = "OverInfusionFlowRatePause";
|
|
610
610
|
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.";
|
|
611
611
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -616,7 +616,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
616
616
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.2 (REQ 19)"; }
|
|
617
617
|
}
|
|
618
618
|
requirement reqCs20 : Requirement {
|
|
619
|
-
attribute :>>
|
|
619
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
620
620
|
@MemoIdentity { :>> providedId = "REQ-CS-20"; } attribute :>> name = "OverInfusionVtbiPause";
|
|
621
621
|
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.";
|
|
622
622
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -627,7 +627,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
627
627
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.2 (REQ 20)"; }
|
|
628
628
|
}
|
|
629
629
|
requirement reqCs21 : Requirement {
|
|
630
|
-
attribute :>>
|
|
630
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
631
631
|
@MemoIdentity { :>> providedId = "REQ-CS-21"; } attribute :>> name = "AirEmbolismPause";
|
|
632
632
|
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.";
|
|
633
633
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -638,7 +638,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
638
638
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.2 (REQ 21)"; }
|
|
639
639
|
}
|
|
640
640
|
requirement reqCs22 : Requirement {
|
|
641
|
-
attribute :>>
|
|
641
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
642
642
|
@MemoIdentity { :>> providedId = "REQ-CS-22"; } attribute :>> name = "ReverseDeliveryPause";
|
|
643
643
|
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.";
|
|
644
644
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -649,7 +649,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
649
649
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.2 (REQ 22)"; }
|
|
650
650
|
}
|
|
651
651
|
requirement reqCs23 : Requirement {
|
|
652
|
-
attribute :>>
|
|
652
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
653
653
|
@MemoIdentity { :>> providedId = "REQ-CS-23"; } attribute :>> name = "EmptyReservoirPause";
|
|
654
654
|
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'.";
|
|
655
655
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -662,7 +662,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
662
662
|
|
|
663
663
|
// ── §4.1.6 ON > THERAPY > ACTIVE mode ───────────────────────
|
|
664
664
|
requirement reqCs24 : Requirement {
|
|
665
|
-
attribute :>>
|
|
665
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
666
666
|
@MemoIdentity { :>> providedId = "REQ-CS-24"; } attribute :>> name = "SquareBolusAutoSchedule";
|
|
667
667
|
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.";
|
|
668
668
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -673,7 +673,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
673
673
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.1 (REQ 24)"; }
|
|
674
674
|
}
|
|
675
675
|
requirement reqCs25 : Requirement {
|
|
676
|
-
attribute :>>
|
|
676
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
677
677
|
@MemoIdentity { :>> providedId = "REQ-CS-25"; } attribute :>> name = "IgnorePatientBolusRequestConditions";
|
|
678
678
|
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.";
|
|
679
679
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -684,7 +684,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
684
684
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.1 (REQ 25)"; }
|
|
685
685
|
}
|
|
686
686
|
requirement reqCs26 : Requirement {
|
|
687
|
-
attribute :>>
|
|
687
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
688
688
|
@MemoIdentity { :>> providedId = "REQ-CS-26"; } attribute :>> name = "FrequentBolusRequestsNotification";
|
|
689
689
|
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.";
|
|
690
690
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -695,7 +695,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
695
695
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.1 (REQ 26)"; }
|
|
696
696
|
}
|
|
697
697
|
requirement reqCs27 : Requirement {
|
|
698
|
-
attribute :>>
|
|
698
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
699
699
|
@MemoIdentity { :>> providedId = "REQ-CS-27"; } attribute :>> name = "BolusExceededNotification";
|
|
700
700
|
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.";
|
|
701
701
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -706,7 +706,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
706
706
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.1 (REQ 27)"; }
|
|
707
707
|
}
|
|
708
708
|
requirement reqCs28 : Requirement {
|
|
709
|
-
attribute :>>
|
|
709
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
710
710
|
@MemoIdentity { :>> providedId = "REQ-CS-28"; } attribute :>> name = "InfusionCompleteToIdle";
|
|
711
711
|
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.";
|
|
712
712
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -717,7 +717,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
717
717
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 28)"; }
|
|
718
718
|
}
|
|
719
719
|
requirement reqCs29 : Requirement {
|
|
720
|
-
attribute :>>
|
|
720
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
721
721
|
@MemoIdentity { :>> providedId = "REQ-CS-29"; } attribute :>> name = "ManualInhibitToPaused";
|
|
722
722
|
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'.";
|
|
723
723
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -728,7 +728,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
728
728
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 29)"; }
|
|
729
729
|
}
|
|
730
730
|
requirement reqCs30 : Requirement {
|
|
731
|
-
attribute :>>
|
|
731
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
732
732
|
@MemoIdentity { :>> providedId = "REQ-CS-30"; } attribute :>> name = "AllInhibitedToPaused";
|
|
733
733
|
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.";
|
|
734
734
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -739,7 +739,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
739
739
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 30)"; }
|
|
740
740
|
}
|
|
741
741
|
requirement reqCs31 : Requirement {
|
|
742
|
-
attribute :>>
|
|
742
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
743
743
|
@MemoIdentity { :>> providedId = "REQ-CS-31"; } attribute :>> name = "BasalToSquareBolus";
|
|
744
744
|
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.";
|
|
745
745
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -750,7 +750,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
750
750
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 31)"; }
|
|
751
751
|
}
|
|
752
752
|
requirement reqCs32 : Requirement {
|
|
753
|
-
attribute :>>
|
|
753
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
754
754
|
@MemoIdentity { :>> providedId = "REQ-CS-32"; } attribute :>> name = "BasalToPatientBolus";
|
|
755
755
|
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.";
|
|
756
756
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -761,7 +761,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
761
761
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 32)"; }
|
|
762
762
|
}
|
|
763
763
|
requirement reqCs33 : Requirement {
|
|
764
|
-
attribute :>>
|
|
764
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
765
765
|
@MemoIdentity { :>> providedId = "REQ-CS-33"; } attribute :>> name = "SquareBolusToPatientBolus";
|
|
766
766
|
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.";
|
|
767
767
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -772,7 +772,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
772
772
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 33)"; }
|
|
773
773
|
}
|
|
774
774
|
requirement reqCs34 : Requirement {
|
|
775
|
-
attribute :>>
|
|
775
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
776
776
|
@MemoIdentity { :>> providedId = "REQ-CS-34"; } attribute :>> name = "SquareBolusToBasal";
|
|
777
777
|
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.";
|
|
778
778
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -783,7 +783,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
783
783
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 34)"; }
|
|
784
784
|
}
|
|
785
785
|
requirement reqCs35 : Requirement {
|
|
786
|
-
attribute :>>
|
|
786
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
787
787
|
@MemoIdentity { :>> providedId = "REQ-CS-35"; } attribute :>> name = "PatientBolusToBasal";
|
|
788
788
|
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.";
|
|
789
789
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -794,7 +794,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
794
794
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 35)"; }
|
|
795
795
|
}
|
|
796
796
|
requirement reqCs36 : Requirement {
|
|
797
|
-
attribute :>>
|
|
797
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
798
798
|
@MemoIdentity { :>> providedId = "REQ-CS-36"; } attribute :>> name = "PatientBolusToSquareBolus";
|
|
799
799
|
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.";
|
|
800
800
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -805,7 +805,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
805
805
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 36)"; }
|
|
806
806
|
}
|
|
807
807
|
requirement reqCs37 : Requirement {
|
|
808
|
-
attribute :>>
|
|
808
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
809
809
|
@MemoIdentity { :>> providedId = "REQ-CS-37"; } attribute :>> name = "BasalToPauseOnInhibit";
|
|
810
810
|
attribute :>> statement = "While in BASAL mode, if Inhibited_Infusion_macro = TRUE, the system shall transition to PAUSE mode.";
|
|
811
811
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -816,7 +816,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
816
816
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 37)"; }
|
|
817
817
|
}
|
|
818
818
|
requirement reqCs38 : Requirement {
|
|
819
|
-
attribute :>>
|
|
819
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
820
820
|
@MemoIdentity { :>> providedId = "REQ-CS-38"; } attribute :>> name = "PatientBolusToPauseOnInhibit";
|
|
821
821
|
attribute :>> statement = "While in PATIENT BOLUS mode, the system shall transition to PAUSE mode if Inhibited_PatientBolus_macro = TRUE and Inhibited_Infusion_macro = TRUE.";
|
|
822
822
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -827,7 +827,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
827
827
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 38)"; }
|
|
828
828
|
}
|
|
829
829
|
requirement reqCs39 : Requirement {
|
|
830
|
-
attribute :>>
|
|
830
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
831
831
|
@MemoIdentity { :>> providedId = "REQ-CS-39"; } attribute :>> name = "SquareBolusToPauseOnInhibit";
|
|
832
832
|
attribute :>> statement = "While in SQUARE BOLUS mode, the system shall transition to PAUSE mode if Inhibited_Bolus_macro = TRUE and Inhibited_Infusion_macro = TRUE.";
|
|
833
833
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -840,7 +840,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
840
840
|
|
|
841
841
|
// ── §4.1.7–4.1.9 BASAL / SQUARE BOLUS / PATIENT BOLUS ───────
|
|
842
842
|
requirement reqCs40 : Requirement {
|
|
843
|
-
attribute :>>
|
|
843
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
844
844
|
@MemoIdentity { :>> providedId = "REQ-CS-40"; } attribute :>> name = "BasalDeliveryRate";
|
|
845
845
|
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.";
|
|
846
846
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -851,7 +851,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
851
851
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.7.1 (REQ 40)"; }
|
|
852
852
|
}
|
|
853
853
|
requirement reqCs41 : Requirement {
|
|
854
|
-
attribute :>>
|
|
854
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
855
855
|
@MemoIdentity { :>> providedId = "REQ-CS-41"; } attribute :>> name = "SquareBolusDeliveryRate";
|
|
856
856
|
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.";
|
|
857
857
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -862,7 +862,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
862
862
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.8.1 (REQ 41)"; }
|
|
863
863
|
}
|
|
864
864
|
requirement reqCs42 : Requirement {
|
|
865
|
-
attribute :>>
|
|
865
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
866
866
|
@MemoIdentity { :>> providedId = "REQ-CS-42"; } attribute :>> name = "PatientBolusDeliveryRate";
|
|
867
867
|
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.";
|
|
868
868
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -875,7 +875,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
875
875
|
|
|
876
876
|
// ── §4.1.10 ON > THERAPY > PAUSED mode ──────────────────────
|
|
877
877
|
requirement reqCs43 : Requirement {
|
|
878
|
-
attribute :>>
|
|
878
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
879
879
|
@MemoIdentity { :>> providedId = "REQ-CS-43"; } attribute :>> name = "PausedKvoDelivery";
|
|
880
880
|
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.";
|
|
881
881
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -886,7 +886,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
886
886
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.10.1 (REQ 43)"; }
|
|
887
887
|
}
|
|
888
888
|
requirement reqCs44 : Requirement {
|
|
889
|
-
attribute :>>
|
|
889
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
890
890
|
@MemoIdentity { :>> providedId = "REQ-CS-44"; } attribute :>> name = "PausedTimeNotification";
|
|
891
891
|
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'.";
|
|
892
892
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -897,7 +897,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
897
897
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.10.1 (REQ 44)"; }
|
|
898
898
|
}
|
|
899
899
|
requirement reqCs45 : Requirement {
|
|
900
|
-
attribute :>>
|
|
900
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
901
901
|
@MemoIdentity { :>> providedId = "REQ-CS-45"; } attribute :>> name = "PausedInitiateWhileInhibitedNoTransition";
|
|
902
902
|
attribute :>> statement = "While in PAUSED mode, when Infusion_initiate_prog and Inhibited_Infusion_macro = TRUE, the system shall not perform any transition.";
|
|
903
903
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -908,7 +908,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
908
908
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.10.1 (REQ 45)"; }
|
|
909
909
|
}
|
|
910
910
|
requirement reqCs46 : Requirement {
|
|
911
|
-
attribute :>>
|
|
911
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
912
912
|
@MemoIdentity { :>> providedId = "REQ-CS-46"; } attribute :>> name = "PausedResumeToBasal";
|
|
913
913
|
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.";
|
|
914
914
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -919,7 +919,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
919
919
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.10.2 (REQ 46)"; }
|
|
920
920
|
}
|
|
921
921
|
requirement reqCs47 : Requirement {
|
|
922
|
-
attribute :>>
|
|
922
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
923
923
|
@MemoIdentity { :>> providedId = "REQ-CS-47"; } attribute :>> name = "PausedInhibitToIdle";
|
|
924
924
|
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'.";
|
|
925
925
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -932,7 +932,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
932
932
|
|
|
933
933
|
// ═════ §4.2 Data Configuration Requirements ═════════════════
|
|
934
934
|
requirement reqCs48 : Requirement {
|
|
935
|
-
attribute :>>
|
|
935
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
936
936
|
@MemoIdentity { :>> providedId = "REQ-CS-48"; } attribute :>> name = "DisplaySavedPrescriptionOnConfig";
|
|
937
937
|
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.";
|
|
938
938
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -943,7 +943,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
943
943
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 48)"; }
|
|
944
944
|
}
|
|
945
945
|
requirement reqCs49 : Requirement {
|
|
946
|
-
attribute :>>
|
|
946
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
947
947
|
@MemoIdentity { :>> providedId = "REQ-CS-49"; } attribute :>> name = "EditValuesOneAtATime";
|
|
948
948
|
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.";
|
|
949
949
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -954,7 +954,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
954
954
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 49)"; }
|
|
955
955
|
}
|
|
956
956
|
requirement reqCs50 : Requirement {
|
|
957
|
-
attribute :>>
|
|
957
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
958
958
|
@MemoIdentity { :>> providedId = "REQ-CS-50"; } attribute :>> name = "AllowInitiateWithNewValues";
|
|
959
959
|
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).";
|
|
960
960
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -965,7 +965,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
965
965
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 50)"; }
|
|
966
966
|
}
|
|
967
967
|
requirement reqCs51 : Requirement {
|
|
968
|
-
attribute :>>
|
|
968
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
969
969
|
@MemoIdentity { :>> providedId = "REQ-CS-51"; } attribute :>> name = "ValidateValuesOnInitiate";
|
|
970
970
|
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.";
|
|
971
971
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -976,7 +976,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
976
976
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 51)"; }
|
|
977
977
|
}
|
|
978
978
|
requirement reqCs52 : Requirement {
|
|
979
|
-
attribute :>>
|
|
979
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
980
980
|
@MemoIdentity { :>> providedId = "REQ-CS-52"; } attribute :>> name = "DrugDatabaseNotReachable";
|
|
981
981
|
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'.";
|
|
982
982
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -987,7 +987,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
987
987
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 52)"; }
|
|
988
988
|
}
|
|
989
989
|
requirement reqCs53 : Requirement {
|
|
990
|
-
attribute :>>
|
|
990
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
991
991
|
@MemoIdentity { :>> providedId = "REQ-CS-53"; } attribute :>> name = "DrugSafeValueNotPresent";
|
|
992
992
|
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.";
|
|
993
993
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -998,7 +998,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
998
998
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 53)"; }
|
|
999
999
|
}
|
|
1000
1000
|
requirement reqCs54 : Requirement {
|
|
1001
|
-
attribute :>>
|
|
1001
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1002
1002
|
@MemoIdentity { :>> providedId = "REQ-CS-54"; } attribute :>> name = "SaveValidatedPrescription";
|
|
1003
1003
|
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.";
|
|
1004
1004
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1009,7 +1009,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1009
1009
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 54)"; }
|
|
1010
1010
|
}
|
|
1011
1011
|
requirement reqCs55 : Requirement {
|
|
1012
|
-
attribute :>>
|
|
1012
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1013
1013
|
@MemoIdentity { :>> providedId = "REQ-CS-55"; } attribute :>> name = "RejectInvalidPrescription";
|
|
1014
1014
|
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.";
|
|
1015
1015
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1020,7 +1020,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1020
1020
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 55)"; }
|
|
1021
1021
|
}
|
|
1022
1022
|
requirement reqCs56 : Requirement {
|
|
1023
|
-
attribute :>>
|
|
1023
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1024
1024
|
@MemoIdentity { :>> providedId = "REQ-CS-56"; } attribute :>> name = "RemainInModeDuringConfig";
|
|
1025
1025
|
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.";
|
|
1026
1026
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1031,7 +1031,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1031
1031
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 56)"; }
|
|
1032
1032
|
}
|
|
1033
1033
|
requirement reqCs57 : Requirement {
|
|
1034
|
-
attribute :>>
|
|
1034
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1035
1035
|
@MemoIdentity { :>> providedId = "REQ-CS-57"; } attribute :>> name = "ConfigWarningNotification";
|
|
1036
1036
|
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'.";
|
|
1037
1037
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1042,7 +1042,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1042
1042
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 57)"; }
|
|
1043
1043
|
}
|
|
1044
1044
|
requirement reqCs58 : Requirement {
|
|
1045
|
-
attribute :>>
|
|
1045
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1046
1046
|
@MemoIdentity { :>> providedId = "REQ-CS-58"; } attribute :>> name = "MaxConfigDurationClears";
|
|
1047
1047
|
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'.";
|
|
1048
1048
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1055,7 +1055,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1055
1055
|
|
|
1056
1056
|
// ═════ §4.3 Notification Requirements ═══════════════════════
|
|
1057
1057
|
requirement reqCs59 : Requirement {
|
|
1058
|
-
attribute :>>
|
|
1058
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1059
1059
|
@MemoIdentity { :>> providedId = "REQ-CS-59"; } attribute :>> name = "NotificationActionTable";
|
|
1060
1060
|
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.";
|
|
1061
1061
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1066,7 +1066,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1066
1066
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 59)"; }
|
|
1067
1067
|
}
|
|
1068
1068
|
requirement reqCs60 : Requirement {
|
|
1069
|
-
attribute :>>
|
|
1069
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1070
1070
|
@MemoIdentity { :>> providedId = "REQ-CS-60"; } attribute :>> name = "HighestPriorityActionsFirst";
|
|
1071
1071
|
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.";
|
|
1072
1072
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1077,7 +1077,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1077
1077
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 60)"; }
|
|
1078
1078
|
}
|
|
1079
1079
|
requirement reqCs61 : Requirement {
|
|
1080
|
-
attribute :>>
|
|
1080
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1081
1081
|
@MemoIdentity { :>> providedId = "REQ-CS-61"; } attribute :>> name = "MostRestrictiveSamePriority";
|
|
1082
1082
|
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.";
|
|
1083
1083
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1088,7 +1088,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1088
1088
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 61)"; }
|
|
1089
1089
|
}
|
|
1090
1090
|
requirement reqCs62 : Requirement {
|
|
1091
|
-
attribute :>>
|
|
1091
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1092
1092
|
@MemoIdentity { :>> providedId = "REQ-CS-62"; } attribute :>> name = "MostRestrictiveTieBreak";
|
|
1093
1093
|
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.";
|
|
1094
1094
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1099,7 +1099,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1099
1099
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 62)"; }
|
|
1100
1100
|
}
|
|
1101
1101
|
requirement reqCs63 : Requirement {
|
|
1102
|
-
attribute :>>
|
|
1102
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1103
1103
|
@MemoIdentity { :>> providedId = "REQ-CS-63"; } attribute :>> name = "EscalateToMoreRestrictive";
|
|
1104
1104
|
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.";
|
|
1105
1105
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1110,7 +1110,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1110
1110
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 63)"; }
|
|
1111
1111
|
}
|
|
1112
1112
|
requirement reqCs64 : Requirement {
|
|
1113
|
-
attribute :>>
|
|
1113
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1114
1114
|
@MemoIdentity { :>> providedId = "REQ-CS-64"; } attribute :>> name = "LowPriorityListedOnly";
|
|
1115
1115
|
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.";
|
|
1116
1116
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1121,7 +1121,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1121
1121
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 64)"; }
|
|
1122
1122
|
}
|
|
1123
1123
|
requirement reqCs65 : Requirement {
|
|
1124
|
-
attribute :>>
|
|
1124
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1125
1125
|
@MemoIdentity { :>> providedId = "REQ-CS-65"; } attribute :>> name = "CancelNotificationsOneAtATime";
|
|
1126
1126
|
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).";
|
|
1127
1127
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1132,7 +1132,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1132
1132
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 65)"; }
|
|
1133
1133
|
}
|
|
1134
1134
|
requirement reqCs66 : Requirement {
|
|
1135
|
-
attribute :>>
|
|
1135
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1136
1136
|
@MemoIdentity { :>> providedId = "REQ-CS-66"; } attribute :>> name = "CancelClearsRestrictions";
|
|
1137
1137
|
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.";
|
|
1138
1138
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1143,7 +1143,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1143
1143
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 66)"; }
|
|
1144
1144
|
}
|
|
1145
1145
|
requirement reqCs67 : Requirement {
|
|
1146
|
-
attribute :>>
|
|
1146
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1147
1147
|
@MemoIdentity { :>> providedId = "REQ-CS-67"; } attribute :>> name = "NextNotificationAfterCancel";
|
|
1148
1148
|
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.";
|
|
1149
1149
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1156,7 +1156,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1156
1156
|
|
|
1157
1157
|
// ── §4.3.1 Visual notification ──────────────────────────────
|
|
1158
1158
|
requirement reqCs68 : Requirement {
|
|
1159
|
-
attribute :>>
|
|
1159
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1160
1160
|
@MemoIdentity { :>> providedId = "REQ-CS-68"; } attribute :>> name = "DisplayActiveNotificationsOrdered";
|
|
1161
1161
|
attribute :>> statement = "The system shall display all active notifications in order of priority and descending order of occurrence (Notification_Visual_output).";
|
|
1162
1162
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1167,7 +1167,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1167
1167
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.1 (REQ 68)"; }
|
|
1168
1168
|
}
|
|
1169
1169
|
requirement reqCs69 : Requirement {
|
|
1170
|
-
attribute :>>
|
|
1170
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1171
1171
|
@MemoIdentity { :>> providedId = "REQ-CS-69"; } attribute :>> name = "DisplayNotificationNameAndTime";
|
|
1172
1172
|
attribute :>> statement = "The system shall display the name of all the active notifications and the time of the occurrence.";
|
|
1173
1173
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1178,7 +1178,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1178
1178
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.1 (REQ 69)"; }
|
|
1179
1179
|
}
|
|
1180
1180
|
requirement reqCs70 : Requirement {
|
|
1181
|
-
attribute :>>
|
|
1181
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1182
1182
|
@MemoIdentity { :>> providedId = "REQ-CS-70"; } attribute :>> name = "DisplaySimultaneousNotifications";
|
|
1183
1183
|
attribute :>> statement = "When more than one notification occurs at the same time, the system shall display all the notifications as per REQ 68.";
|
|
1184
1184
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1189,7 +1189,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1189
1189
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.1 (REQ 70)"; }
|
|
1190
1190
|
}
|
|
1191
1191
|
requirement reqCs71 : Requirement {
|
|
1192
|
-
attribute :>>
|
|
1192
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1193
1193
|
@MemoIdentity { :>> providedId = "REQ-CS-71"; } attribute :>> name = "RemoveCancelledNotificationFromList";
|
|
1194
1194
|
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.";
|
|
1195
1195
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1202,7 +1202,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1202
1202
|
|
|
1203
1203
|
// ── §4.3.2 Audio notification ───────────────────────────────
|
|
1204
1204
|
requirement reqCs72 : Requirement {
|
|
1205
|
-
attribute :>>
|
|
1205
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1206
1206
|
@MemoIdentity { :>> providedId = "REQ-CS-72"; } attribute :>> name = "AudibleSoundPerNotification";
|
|
1207
1207
|
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.";
|
|
1208
1208
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1213,7 +1213,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1213
1213
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.2 (REQ 72)"; }
|
|
1214
1214
|
}
|
|
1215
1215
|
requirement reqCs73 : Requirement {
|
|
1216
|
-
attribute :>>
|
|
1216
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1217
1217
|
@MemoIdentity { :>> providedId = "REQ-CS-73"; } attribute :>> name = "AudioDisableSilenceEnable";
|
|
1218
1218
|
attribute :>> statement = "The system shall allow the clinician to disable audible alarm, silence the alarm temporarily and enable a disabled or silenced alarm.";
|
|
1219
1219
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1224,7 +1224,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1224
1224
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.2 (REQ 73)"; }
|
|
1225
1225
|
}
|
|
1226
1226
|
requirement reqCs74 : Requirement {
|
|
1227
|
-
attribute :>>
|
|
1227
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1228
1228
|
@MemoIdentity { :>> providedId = "REQ-CS-74"; } attribute :>> name = "NoAudioWhileDisabled";
|
|
1229
1229
|
attribute :>> statement = "If Disable_audio_prog = 'PERM' or 'TEMP', the system shall not produce audible alarm until it is enabled (Disable_audio_prog = FALSE).";
|
|
1230
1230
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1235,7 +1235,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1235
1235
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.2 (REQ 74)"; }
|
|
1236
1236
|
}
|
|
1237
1237
|
requirement reqCs75 : Requirement {
|
|
1238
|
-
attribute :>>
|
|
1238
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1239
1239
|
@MemoIdentity { :>> providedId = "REQ-CS-75"; } attribute :>> name = "TempSilenceAutoReenable";
|
|
1240
1240
|
attribute :>> statement = "If Disable_audio_prog = 'TEMP', the system shall automatically enable it (Disable_audio_prog = FALSE) after Audio_Enable_Duration_const minutes.";
|
|
1241
1241
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1246,7 +1246,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1246
1246
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.2 (REQ 75)"; }
|
|
1247
1247
|
}
|
|
1248
1248
|
requirement reqCs76 : Requirement {
|
|
1249
|
-
attribute :>>
|
|
1249
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1250
1250
|
@MemoIdentity { :>> providedId = "REQ-CS-76"; } attribute :>> name = "ReannunciateLongActiveNotifications";
|
|
1251
1251
|
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.";
|
|
1252
1252
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1259,7 +1259,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1259
1259
|
|
|
1260
1260
|
// ═════ §4.4 Log Requirements ════════════════════════════════
|
|
1261
1261
|
requirement reqCs77 : Requirement {
|
|
1262
|
-
attribute :>>
|
|
1262
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1263
1263
|
@MemoIdentity { :>> providedId = "REQ-CS-77"; } attribute :>> name = "LogWhileOn";
|
|
1264
1264
|
attribute :>> statement = "The system shall log all the operational and error data when the system is in ON mode.";
|
|
1265
1265
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1270,7 +1270,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1270
1270
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.4 (REQ 77)"; }
|
|
1271
1271
|
}
|
|
1272
1272
|
requirement reqCs78 : Requirement {
|
|
1273
|
-
attribute :>>
|
|
1273
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1274
1274
|
@MemoIdentity { :>> providedId = "REQ-CS-78"; } attribute :>> name = "OperationalLogContent";
|
|
1275
1275
|
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.";
|
|
1276
1276
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1281,7 +1281,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1281
1281
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.4 (REQ 78)"; }
|
|
1282
1282
|
}
|
|
1283
1283
|
requirement reqCs79 : Requirement {
|
|
1284
|
-
attribute :>>
|
|
1284
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1285
1285
|
@MemoIdentity { :>> providedId = "REQ-CS-79"; } attribute :>> name = "InfusionCompleteLogContent";
|
|
1286
1286
|
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).";
|
|
1287
1287
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1292,7 +1292,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1292
1292
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.4 (REQ 79)"; }
|
|
1293
1293
|
}
|
|
1294
1294
|
requirement reqCs80 : Requirement {
|
|
1295
|
-
attribute :>>
|
|
1295
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1296
1296
|
@MemoIdentity { :>> providedId = "REQ-CS-80"; } attribute :>> name = "ErrorLogContent";
|
|
1297
1297
|
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.";
|
|
1298
1298
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1303,7 +1303,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1303
1303
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.4 (REQ 80)"; }
|
|
1304
1304
|
}
|
|
1305
1305
|
requirement reqCs81 : Requirement {
|
|
1306
|
-
attribute :>>
|
|
1306
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1307
1307
|
@MemoIdentity { :>> providedId = "REQ-CS-81"; } attribute :>> name = "NotificationCancelLogContent";
|
|
1308
1308
|
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.";
|
|
1309
1309
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1316,7 +1316,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1316
1316
|
|
|
1317
1317
|
// ═════ §4.5 Security Requirements ═══════════════════════════
|
|
1318
1318
|
requirement reqCs82 : Requirement {
|
|
1319
|
-
attribute :>>
|
|
1319
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1320
1320
|
@MemoIdentity { :>> providedId = "REQ-CS-82"; } attribute :>> name = "AuthorizedCliniciansOnly";
|
|
1321
1321
|
attribute :>> statement = "The system shall allow only authorized clinicians to configure the system.";
|
|
1322
1322
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1329,7 +1329,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1329
1329
|
|
|
1330
1330
|
// ═════ Ch.5 Non-Behavioral Requirements ═════════════════════
|
|
1331
1331
|
requirement reqCs83 : Requirement {
|
|
1332
|
-
attribute :>>
|
|
1332
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1333
1333
|
@MemoIdentity { :>> providedId = "REQ-CS-83"; } attribute :>> name = "DropResistance";
|
|
1334
1334
|
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.";
|
|
1335
1335
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1340,7 +1340,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1340
1340
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §5.1 (REQ 83)"; }
|
|
1341
1341
|
}
|
|
1342
1342
|
requirement reqCs84 : Requirement {
|
|
1343
|
-
attribute :>>
|
|
1343
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1344
1344
|
@MemoIdentity { :>> providedId = "REQ-CS-84"; } attribute :>> name = "WaterResistance";
|
|
1345
1345
|
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.";
|
|
1346
1346
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1351,7 +1351,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1351
1351
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §5.1 (REQ 84)"; }
|
|
1352
1352
|
}
|
|
1353
1353
|
requirement reqCs85 : Requirement {
|
|
1354
|
-
attribute :>>
|
|
1354
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1355
1355
|
@MemoIdentity { :>> providedId = "REQ-CS-85"; } attribute :>> name = "LogRetention";
|
|
1356
1356
|
attribute :>> statement = "The system shall persist the most recent 30 days of error log data and 15 days of operational log data.";
|
|
1357
1357
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1362,7 +1362,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1362
1362
|
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §5.1 (REQ 85)"; }
|
|
1363
1363
|
}
|
|
1364
1364
|
requirement reqCs86 : Requirement {
|
|
1365
|
-
attribute :>>
|
|
1365
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1366
1366
|
@MemoIdentity { :>> providedId = "REQ-CS-86"; } attribute :>> name = "PrescriptionRetention";
|
|
1367
1367
|
attribute :>> statement = "The system shall persist the last saved prescription data for 15 days.";
|
|
1368
1368
|
attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
|
|
@@ -1379,7 +1379,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1379
1379
|
// and hardware requirements. sourceKind = extension segregates
|
|
1380
1380
|
// them from the REQ-CS family.
|
|
1381
1381
|
requirement reqDrugLibraryLimits : Requirement {
|
|
1382
|
-
attribute :>>
|
|
1382
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1383
1383
|
@MemoIdentity { :>> providedId = "REQ-X-01"; } attribute :>> name = "PrescriptionWithinDrugLibraryLimits";
|
|
1384
1384
|
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.";
|
|
1385
1385
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1398,7 +1398,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1398
1398
|
attribute :>> systemResponse = "reject hard-limit violations and require confirmation of soft-limit violations";
|
|
1399
1399
|
}
|
|
1400
1400
|
requirement reqPost : Requirement {
|
|
1401
|
-
attribute :>>
|
|
1401
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1402
1402
|
@MemoIdentity { :>> providedId = "REQ-X-02"; } attribute :>> name = "PowerOnSelfTest";
|
|
1403
1403
|
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.";
|
|
1404
1404
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1417,7 +1417,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1417
1417
|
attribute :>> systemResponse = "complete POST before permitting therapy";
|
|
1418
1418
|
}
|
|
1419
1419
|
requirement reqPowerLossRetention : Requirement {
|
|
1420
|
-
attribute :>>
|
|
1420
|
+
attribute :>> requirementType = RequirementTypeKind::system;
|
|
1421
1421
|
@MemoIdentity { :>> providedId = "REQ-X-03"; } attribute :>> name = "PrescriptionRetainedAcrossPowerLoss";
|
|
1422
1422
|
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.";
|
|
1423
1423
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1436,7 +1436,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1436
1436
|
attribute :>> systemResponse = "retain prescription and log; resume only after confirmation";
|
|
1437
1437
|
}
|
|
1438
1438
|
requirement reqOcclusion : Requirement {
|
|
1439
|
-
attribute :>>
|
|
1439
|
+
attribute :>> requirementType = RequirementTypeKind::software;
|
|
1440
1440
|
@MemoIdentity { :>> providedId = "REQ-X-04"; } attribute :>> name = "OcclusionDetectionAndAlarm";
|
|
1441
1441
|
attribute :>> statement = "When downstream line pressure exceeds the occlusion threshold, the system shall pause infusion and raise a High-priority notification.";
|
|
1442
1442
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1451,7 +1451,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1451
1451
|
@MemoIdentity { :>> sourceReference = "MEMO extension — occlusion sensing is not specified by the CriSys source (under-infusion flow rate, REQ-CS-17, is the source-level effect)"; }
|
|
1452
1452
|
}
|
|
1453
1453
|
requirement reqDoorOpen : Requirement {
|
|
1454
|
-
attribute :>>
|
|
1454
|
+
attribute :>> requirementType = RequirementTypeKind::software;
|
|
1455
1455
|
@MemoIdentity { :>> providedId = "REQ-X-05"; } attribute :>> name = "DoorOpenPreventsDelivery";
|
|
1456
1456
|
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.";
|
|
1457
1457
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1471,7 +1471,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1471
1471
|
attribute :>> systemResponse = "inhibit delivery and notify if therapy was active";
|
|
1472
1472
|
}
|
|
1473
1473
|
requirement reqMaxHourlyDose : Requirement {
|
|
1474
|
-
attribute :>>
|
|
1474
|
+
attribute :>> requirementType = RequirementTypeKind::software;
|
|
1475
1475
|
@MemoIdentity { :>> providedId = "REQ-X-06"; } attribute :>> name = "MaximumHourlyDoseEnforcement";
|
|
1476
1476
|
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.";
|
|
1477
1477
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1486,7 +1486,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1486
1486
|
@MemoIdentity { :>> sourceReference = "MEMO extension — sliding-window hourly limit is not specified by the CriSys source"; }
|
|
1487
1487
|
}
|
|
1488
1488
|
requirement reqEventLogging : Requirement {
|
|
1489
|
-
attribute :>>
|
|
1489
|
+
attribute :>> requirementType = RequirementTypeKind::software;
|
|
1490
1490
|
@MemoIdentity { :>> providedId = "REQ-X-07"; } attribute :>> name = "TamperEvidentTherapyLog";
|
|
1491
1491
|
attribute :>> statement = "The system shall record therapy events in a timestamped, tamper-evident event log such that any modification of recorded entries is detectable.";
|
|
1492
1492
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1501,7 +1501,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1501
1501
|
@MemoIdentity { :>> sourceReference = "MEMO extension — tamper evidence is not specified by the CriSys source (log content: REQ-CS-77..81)"; }
|
|
1502
1502
|
}
|
|
1503
1503
|
requirement reqWatchdogSafeState : Requirement {
|
|
1504
|
-
attribute :>>
|
|
1504
|
+
attribute :>> requirementType = RequirementTypeKind::software;
|
|
1505
1505
|
@MemoIdentity { :>> providedId = "REQ-X-08"; } attribute :>> name = "WatchdogForcesSafeState";
|
|
1506
1506
|
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.";
|
|
1507
1507
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1521,7 +1521,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1521
1521
|
attribute :>> systemResponse = "force zero flow and continuous alarm";
|
|
1522
1522
|
}
|
|
1523
1523
|
requirement reqStuckButton : Requirement {
|
|
1524
|
-
attribute :>>
|
|
1524
|
+
attribute :>> requirementType = RequirementTypeKind::software;
|
|
1525
1525
|
@MemoIdentity { :>> providedId = "REQ-X-09"; } attribute :>> name = "StuckBolusButtonDetection";
|
|
1526
1526
|
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.";
|
|
1527
1527
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1536,7 +1536,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1536
1536
|
@MemoIdentity { :>> sourceReference = "MEMO extension — stuck-input detection is not specified by the CriSys source"; }
|
|
1537
1537
|
}
|
|
1538
1538
|
requirement reqFlowCrossCheck : Requirement {
|
|
1539
|
-
attribute :>>
|
|
1539
|
+
attribute :>> requirementType = RequirementTypeKind::software;
|
|
1540
1540
|
@MemoIdentity { :>> providedId = "REQ-X-10"; } attribute :>> name = "CommandedVsMeasuredFlowCrossCheck";
|
|
1541
1541
|
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.";
|
|
1542
1542
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1551,7 +1551,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1551
1551
|
@MemoIdentity { :>> sourceReference = "MEMO extension — independent cross-check channel beyond CriSys REQ-CS-17/19 tolerance monitoring; thresholds reuse App. A.4 constants"; }
|
|
1552
1552
|
}
|
|
1553
1553
|
requirement reqPumpAccuracy : Requirement {
|
|
1554
|
-
attribute :>>
|
|
1554
|
+
attribute :>> requirementType = RequirementTypeKind::hardware;
|
|
1555
1555
|
@MemoIdentity { :>> providedId = "REQ-X-11"; } attribute :>> name = "DeliveryAccuracy";
|
|
1556
1556
|
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.";
|
|
1557
1557
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1566,7 +1566,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1566
1566
|
attribute :>> electricalSafetyRelevant = false;
|
|
1567
1567
|
}
|
|
1568
1568
|
requirement reqAlarmLoudness : Requirement {
|
|
1569
|
-
attribute :>>
|
|
1569
|
+
attribute :>> requirementType = RequirementTypeKind::hardware;
|
|
1570
1570
|
@MemoIdentity { :>> providedId = "REQ-X-12"; } attribute :>> name = "AlarmSoundPressureLevel";
|
|
1571
1571
|
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.";
|
|
1572
1572
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1581,7 +1581,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1581
1581
|
attribute :>> electricalSafetyRelevant = false;
|
|
1582
1582
|
}
|
|
1583
1583
|
requirement reqBatteryBackup : Requirement {
|
|
1584
|
-
attribute :>>
|
|
1584
|
+
attribute :>> requirementType = RequirementTypeKind::hardware;
|
|
1585
1585
|
@MemoIdentity { :>> providedId = "REQ-X-13"; } attribute :>> name = "BatteryBackupDuration";
|
|
1586
1586
|
attribute :>> statement = "The battery shall sustain nominal therapy and alarm annunciation for at least 4 hours after loss of mains power.";
|
|
1587
1587
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|
|
@@ -1596,7 +1596,7 @@ package memo_examples_gpca_pump_gpca_requirements {
|
|
|
1596
1596
|
attribute :>> electricalSafetyRelevant = true;
|
|
1597
1597
|
}
|
|
1598
1598
|
requirement reqFreeFlowPrevention : Requirement {
|
|
1599
|
-
attribute :>>
|
|
1599
|
+
attribute :>> requirementType = RequirementTypeKind::hardware;
|
|
1600
1600
|
@MemoIdentity { :>> providedId = "REQ-X-14"; } attribute :>> name = "MechanicalFreeFlowPrevention";
|
|
1601
1601
|
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.";
|
|
1602
1602
|
attribute :>> sourceKind = RequirementSourceKind::extension;
|