@memoarchitect/ontology 0.6.5 → 0.8.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/README.md +4 -2
  2. package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +1 -1
  3. package/examples/connected-patient-monitor/model/catalog/project.sysml +24 -0
  4. package/examples/connected-patient-monitor/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  5. package/examples/connected-patient-monitor/model/{viewpoints → catalog/viewpoints/unassigned/views}/connected_patient_monitor_overview.sysml +1 -1
  6. package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +7 -5
  7. package/examples/embedded-infusion-pump/model/catalog/project.sysml +24 -0
  8. package/examples/embedded-infusion-pump/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  9. package/examples/embedded-infusion-pump/model/{viewpoints → catalog/viewpoints/unassigned/views}/embedded_infusion_pump_overview.sysml +1 -1
  10. package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +5 -5
  11. package/examples/functional-logical-physical/model/catalog/project.sysml +24 -0
  12. package/examples/functional-logical-physical/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  13. package/examples/functional-logical-physical/model/{viewpoints → catalog/viewpoints/unassigned/views}/functional_logical_physical_overview.sysml +1 -1
  14. package/examples/gpca-pump/methodology/gpca_methodology.sysml +7 -8
  15. package/examples/gpca-pump/methodology/gpca_profiles.sysml +89 -11
  16. package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +19 -9
  17. package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +342 -100
  18. package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +27 -13
  19. package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +329 -272
  20. package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +57 -16
  21. package/examples/gpca-pump/model/catalog/gpca_context.sysml +12 -8
  22. package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +14 -10
  23. package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +1 -15
  24. package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +181 -264
  25. package/examples/gpca-pump/model/catalog/gpca_operational.sysml +95 -60
  26. package/examples/gpca-pump/model/catalog/gpca_physical.sysml +6 -11
  27. package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +102 -101
  28. package/examples/gpca-pump/model/catalog/gpca_risk.sysml +1 -1
  29. package/examples/gpca-pump/model/catalog/gpca_standards.sysml +161 -0
  30. package/examples/gpca-pump/model/catalog/gpca_system.sysml +47 -30
  31. package/examples/gpca-pump/model/catalog/gpca_trace.sysml +301 -354
  32. package/examples/gpca-pump/model/catalog/gpca_verification.sysml +116 -36
  33. package/examples/gpca-pump/model/catalog/project.sysml +26 -0
  34. package/examples/gpca-pump/model/catalog/viewpoints/context/viewpoint.sysml +8 -0
  35. package/examples/gpca-pump/model/{views → catalog/viewpoints/context/views}/context_system_context_view.sysml +4 -4
  36. package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/viewpoint.sysml +8 -0
  37. package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/cybersecurity_cybersecurity_view.sysml +4 -4
  38. package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/document_cyber_assessment_view.sysml +4 -4
  39. package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/document_threat_model_view.sysml +5 -5
  40. package/examples/gpca-pump/model/catalog/viewpoints/functional/viewpoint.sysml +8 -0
  41. package/examples/gpca-pump/model/{views → catalog/viewpoints/functional/views}/functional_function_allocation_view.sysml +2 -2
  42. package/examples/gpca-pump/model/{views → catalog/viewpoints/functional/views}/functional_function_browser_view.sysml +3 -3
  43. package/examples/gpca-pump/model/catalog/viewpoints/logical/viewpoint.sysml +8 -0
  44. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/behavior_action_flow_view.sysml +3 -3
  45. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/document_architecture_description_view.sysml +8 -8
  46. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_device_interconnect_view.sysml +5 -5
  47. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_logical_architecture_view.sysml +3 -3
  48. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_mode_state_view.sysml +4 -4
  49. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_system_decomposition_view.sysml +3 -3
  50. package/examples/gpca-pump/model/catalog/viewpoints/operational/viewpoint.sysml +8 -0
  51. package/examples/gpca-pump/model/{views → catalog/viewpoints/operational/views}/operational_scenario_sequence_view.sysml +3 -3
  52. package/examples/gpca-pump/model/{views → catalog/viewpoints/operational/views}/operational_use_case_view.sysml +4 -4
  53. package/examples/gpca-pump/model/catalog/viewpoints/physical/viewpoint.sysml +8 -0
  54. package/examples/gpca-pump/model/{views → catalog/viewpoints/physical/views}/physical_physical_bom_view.sysml +2 -2
  55. package/examples/gpca-pump/model/catalog/viewpoints/requirements/viewpoint.sysml +8 -0
  56. package/examples/gpca-pump/model/{views → catalog/viewpoints/requirements/views}/document_dhf_index_view.sysml +8 -8
  57. package/examples/gpca-pump/model/{views → catalog/viewpoints/requirements/views}/requirements_requirements_trace_view.sysml +2 -2
  58. package/examples/gpca-pump/model/catalog/viewpoints/risk/viewpoint.sysml +8 -0
  59. package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/document_hazard_analysis_view.sysml +8 -5
  60. package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/document_rmf_view.sysml +7 -5
  61. package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/risk_fmea_view.sysml +3 -3
  62. package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/risk_risk_chain_view.sysml +3 -3
  63. package/examples/gpca-pump/model/catalog/viewpoints/software/viewpoint.sysml +8 -0
  64. package/examples/gpca-pump/model/{views → catalog/viewpoints/software/views}/document_sdd_view.sysml +4 -4
  65. package/examples/gpca-pump/model/{views → catalog/viewpoints/software/views}/software_software_architecture_view.sysml +5 -5
  66. package/examples/gpca-pump/model/catalog/viewpoints/usability/viewpoint.sysml +8 -0
  67. package/examples/gpca-pump/model/{views → catalog/viewpoints/usability/views}/document_usability_view.sysml +8 -6
  68. package/examples/gpca-pump/model/catalog/viewpoints/verification/viewpoint.sysml +8 -0
  69. package/examples/gpca-pump/model/{views → catalog/viewpoints/verification/views}/document_vv_view.sysml +7 -5
  70. package/examples/gpca-pump/model/{views → catalog/viewpoints/verification/views}/verification_verification_coverage_view.sysml +3 -3
  71. package/examples/ivd-laboratory-system/model/catalog/project.sysml +24 -0
  72. package/examples/ivd-laboratory-system/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  73. package/examples/ivd-laboratory-system/model/{viewpoints → catalog/viewpoints/unassigned/views}/ivd_laboratory_system_overview.sysml +1 -1
  74. package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +4 -2
  75. package/examples/manual-surgical-instrument/model/catalog/project.sysml +24 -0
  76. package/examples/manual-surgical-instrument/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  77. package/examples/manual-surgical-instrument/model/{viewpoints → catalog/viewpoints/unassigned/views}/manual_surgical_instrument_overview.sysml +1 -1
  78. package/examples/multidimensional-layers/model/catalog/multidimensional_layers.sysml +6 -2
  79. package/examples/multidimensional-layers/model/catalog/project.sysml +24 -0
  80. package/examples/multidimensional-layers/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  81. package/examples/multidimensional-layers/model/{viewpoints → catalog/viewpoints/unassigned/views}/multidimensional_layers_overview.sysml +1 -1
  82. package/examples/nested-architecture-dsm/README.md +49 -0
  83. package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +179 -0
  84. package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +165 -0
  85. package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +53 -0
  86. package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +89 -0
  87. package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +113 -0
  88. package/examples/nested-architecture-dsm/model/catalog/project.sysml +28 -0
  89. package/examples/nested-architecture-dsm/model/catalog/traces.sysml +48 -0
  90. package/examples/reusable-instrument/model/catalog/project.sysml +24 -0
  91. package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +11 -8
  92. package/examples/reusable-instrument/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  93. package/examples/reusable-instrument/model/{viewpoints → catalog/viewpoints/unassigned/views}/reusable_instrument_overview.sysml +1 -1
  94. package/examples/ros-mobile-robot/README.md +40 -0
  95. package/examples/ros-mobile-robot/model/catalog/project.sysml +33 -0
  96. package/examples/ros-mobile-robot/model/catalog/ros_mobile_robot.sysml +296 -0
  97. package/examples/ros-mobile-robot/model/catalog/viewpoints/unassigned/viewpoint.sysml +7 -0
  98. package/examples/ros-mobile-robot/model/catalog/viewpoints/unassigned/views/ros_mobile_robot_overview.sysml +13 -0
  99. package/examples/software-only-medical-device/model/catalog/project.sysml +28 -0
  100. package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +11 -5
  101. package/examples/software-only-medical-device/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  102. package/examples/software-only-medical-device/model/{viewpoints → catalog/viewpoints/unassigned/views}/software_only_medical_device_overview.sysml +1 -1
  103. package/examples/surgical-closure-workflow/model/catalog/project.sysml +24 -0
  104. package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +57 -57
  105. package/examples/surgical-closure-workflow/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  106. package/examples/surgical-closure-workflow/model/{viewpoints → catalog/viewpoints/unassigned/views}/surgical_closure_workflow_overview.sysml +1 -1
  107. package/examples/surgical-robot/model/catalog/project.sysml +24 -0
  108. package/examples/surgical-robot/model/catalog/surgical_robot.sysml +6 -4
  109. package/examples/surgical-robot/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  110. package/examples/surgical-robot/model/{viewpoints → catalog/viewpoints/unassigned/views}/surgical_robot_overview.sysml +1 -1
  111. package/examples/sysml-diagram-samples/README.md +7 -0
  112. package/examples/sysml-diagram-samples/dhf/documents/DOC-HAR-001.md +11 -0
  113. package/examples/sysml-diagram-samples/memo.package.yaml +11 -5
  114. package/examples/sysml-diagram-samples/model/catalog/project.sysml +33 -0
  115. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  116. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/action_flow_view.sysml +23 -20
  117. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/context_view.sysml +11 -11
  118. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.viewlayout +47 -0
  119. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +143 -0
  120. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +87 -0
  121. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.viewlayout +94 -0
  122. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +109 -0
  123. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.viewlayout +13 -0
  124. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/requirements_view.sysml +6 -7
  125. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +33 -0
  126. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +80 -0
  127. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +48 -0
  128. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/use_case_view.sysml +15 -9
  129. package/examples/sysml-diagram-samples/model/sysml_v2_activity_example.sysml +93 -0
  130. package/examples/temperature-alarm/model/catalog/project.sysml +24 -0
  131. package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +29 -21
  132. package/examples/temperature-alarm/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  133. package/examples/temperature-alarm/model/{viewpoints → catalog/viewpoints/unassigned/views}/temperature_alarm_overview.sysml +1 -1
  134. package/examples/ui-screen-regions/README.md +117 -0
  135. package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +84 -0
  136. package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +212 -0
  137. package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +61 -0
  138. package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/drugSelectorRegion/drug-selector-expanded-2.4.1.png +0 -0
  139. package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/mainScreenLayout/main-screen-2.4.1.png +0 -0
  140. package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/settingsScreenLayout/settings-screen-2.4.1.png +0 -0
  141. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +51 -0
  142. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +27 -0
  143. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +27 -0
  144. package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +59 -0
  145. package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +25 -0
  146. package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +178 -0
  147. package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +93 -0
  148. package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +75 -0
  149. package/examples/ui-screen-regions/model/catalog/project.sysml +45 -0
  150. package/examples/ui-screen-regions/model/catalog/relationships.sysml +8 -0
  151. package/examples/ui-screen-regions/model/catalog/traces.sysml +179 -0
  152. package/examples/ui-screen-regions/model/catalog/viewpoints/functional/viewpoint.sysml +8 -0
  153. package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +62 -0
  154. package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/viewpoint.sysml +8 -0
  155. package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +62 -0
  156. package/examples/ui-screen-regions/model/catalog/viewpoints/risk/viewpoint.sysml +8 -0
  157. package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +62 -0
  158. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/viewpoint.sysml +8 -0
  159. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/main_screen_layout.sysml +57 -0
  160. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/settings_screen_layout.sysml +52 -0
  161. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/ui_region_trace.sysml +54 -0
  162. package/extensions/LICENSES/MIT.txt +19 -0
  163. package/extensions/README.md +94 -0
  164. package/extensions/aadl/memo.package.yaml +18 -0
  165. package/extensions/aadl/src/aadl_extension.sysml +6 -0
  166. package/extensions/aadl/src/correspondence/memo_aadl_correspondence.sysml +147 -0
  167. package/extensions/aadl/src/methodology/aadl_methodology.sysml +17 -0
  168. package/extensions/aadl/src/runtime/memo_aadl_runtime.sysml +56 -0
  169. package/extensions/clinical/memo.package.yaml +18 -0
  170. package/extensions/clinical/src/methodology/clinical_methodology.sysml +22 -0
  171. package/extensions/cloud/memo.package.yaml +18 -0
  172. package/extensions/cloud/src/cloud_extension.sysml +44 -0
  173. package/extensions/cloud/src/methodology/cloud_methodology.sysml +17 -0
  174. package/extensions/container/memo.package.yaml +18 -0
  175. package/extensions/container/src/container_extension.sysml +37 -0
  176. package/extensions/container/src/methodology/container_methodology.sysml +17 -0
  177. package/extensions/messaging/memo.package.yaml +18 -0
  178. package/extensions/messaging/src/messaging_extension.sysml +64 -0
  179. package/extensions/messaging/src/methodology/messaging_methodology.sysml +17 -0
  180. package/extensions/ros/memo.package.yaml +18 -0
  181. package/extensions/ros/src/methodology/ros_methodology.sysml +25 -0
  182. package/extensions/ros/src/ros_extension.sysml +200 -0
  183. package/extensions/template/memo.package.yaml +17 -0
  184. package/extensions/template/src/extension.sysml +37 -0
  185. package/memo.manifest.yaml +15 -2
  186. package/methodologies/default/memo.package.yaml +19 -9
  187. package/methodologies/gpca/memo.package.yaml +18 -9
  188. package/ontology/memo.package.yaml +23 -8
  189. package/package.json +6 -6
  190. package/profile/memo.package.yaml +18 -9
  191. package/src/architecture/decisions/memo_decisions.sysml +28 -0
  192. package/src/architecture/functional/behavior/memo_behavior.sysml +50 -22
  193. package/src/architecture/functional/constraints/memo_constraints.sysml +3 -2
  194. package/src/architecture/functional/functions/memo_functions.sysml +93 -43
  195. package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +46 -24
  196. package/src/architecture/implementation/software/structure/memo_software_structure.sysml +52 -12
  197. package/src/architecture/implementation/ui/memo_ui.sysml +276 -53
  198. package/src/architecture/logical/interfaces/memo_interfaces.sysml +64 -13
  199. package/src/architecture/logical/structure/memo_logical_structure.sysml +92 -35
  200. package/src/architecture/operational/activities/memo_activities.sysml +10 -4
  201. package/src/architecture/operational/context/actors/memo_actors.sysml +5 -8
  202. package/src/architecture/operational/context/stakeholders/memo_stakeholders.sysml +13 -30
  203. package/src/architecture/operational/context/use_context/memo_use_context.sysml +42 -16
  204. package/src/architecture/operational/scenarios/memo_scenarios.sysml +57 -23
  205. package/src/architecture/operational/use_cases/memo_use_cases.sysml +35 -26
  206. package/src/architecture/operational/workflows/memo_workflows.sysml +28 -15
  207. package/src/architecture/realization/deployment/memo_deployment.sysml +111 -16
  208. package/src/architecture/realization/physical/memo_physical_architecture.sysml +27 -2
  209. package/src/artifacts/configuration_management/memo_configuration_management.sysml +35 -0
  210. package/src/artifacts/core/memo_controlled_artifacts.sysml +35 -0
  211. package/src/artifacts/documents/risk_management/memo_risk_management.sysml +12 -0
  212. package/src/artifacts/standards/cfr_21_820.sysml +116 -0
  213. package/src/artifacts/standards/fda_cybersecurity_2023.sysml +80 -0
  214. package/src/artifacts/standards/iec_60601_1.sysml +149 -0
  215. package/src/artifacts/standards/iec_60601_1_2.sysml +56 -0
  216. package/src/artifacts/standards/iec_60812.sysml +51 -0
  217. package/src/artifacts/standards/iec_62304.sysml +210 -0
  218. package/src/artifacts/standards/iec_62366_1.sysml +113 -0
  219. package/src/artifacts/standards/iec_81001_5_1.sysml +84 -0
  220. package/src/artifacts/standards/iso_13485.sysml +113 -0
  221. package/src/artifacts/standards/iso_14971.sysml +94 -0
  222. package/src/artifacts/standards/iso_iec_ieee_42010.sysml +42 -0
  223. package/src/artifacts/standards/memo_artifacts_standards_traceability.sysml +132 -0
  224. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-input.md +1 -1
  225. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-output.md +5 -5
  226. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-review.md +1 -1
  227. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-validation.md +2 -2
  228. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-verification.md +2 -2
  229. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/dhf-index.md +2 -2
  230. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/transfer-plan.md +1 -1
  231. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/user-needs.md +1 -1
  232. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/vv-plan.md +3 -3
  233. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/vv-report.md +4 -4
  234. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/incident-response.md +1 -1
  235. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/postmarket-surveillance.md +3 -2
  236. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/security-arch.md +2 -2
  237. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/threat-model.md +4 -4
  238. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/vuln-assessment.md +4 -3
  239. package/src/artifacts/templates/dhf/iec-60601/hrs.md +170 -0
  240. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/detailed-design.md +1 -1
  241. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/integration-test.md +3 -3
  242. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sad.md +6 -5
  243. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sbom.md +3 -2
  244. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sdp.md +5 -4
  245. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/soup.md +4 -2
  246. package/src/artifacts/templates/dhf/iec-62304/srs.md +172 -0
  247. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sw-traceability.md +3 -3
  248. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/system-test.md +1 -1
  249. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/summative-eval.md +1 -1
  250. package/src/artifacts/templates/dhf/iec-62366/task-analysis.md +93 -0
  251. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/ue-plan.md +1 -1
  252. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/urra.md +3 -3
  253. package/src/artifacts/templates/dhf/iso-14971/fmea.md +116 -0
  254. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/har.md +3 -3
  255. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/rmp.md +2 -2
  256. package/src/artifacts/templates/dhf/system/sad.md +173 -0
  257. package/src/artifacts/templates/dhf/system/standards-checklist.md +87 -0
  258. package/src/artifacts/templates/dhf/system/standards-traceability.md +125 -0
  259. package/src/artifacts/templates/dhf/system/syrs.md +128 -0
  260. package/src/assurance/cybersecurity/memo_cybersecurity.sysml +39 -20
  261. package/src/assurance/human_factors/memo_human_factors.sysml +29 -22
  262. package/src/assurance/requirements/memo_requirements.sysml +5 -2
  263. package/src/assurance/requirements/needs/memo_needs.sysml +1 -1
  264. package/src/assurance/safety_risk/analysis/memo_fmea.sysml +118 -13
  265. package/src/assurance/safety_risk/memo_risk.sysml +78 -7
  266. package/src/assurance/safety_risk/postmarket_surveillance/memo_postmarket_surveillance.sysml +27 -0
  267. package/src/assurance/verification_validation/clinical_evaluation/memo_clinical_evaluation.sysml +11 -0
  268. package/src/assurance/verification_validation/memo_assurance.sysml +17 -21
  269. package/src/core/annotations/memo_annotations.sysml +96 -0
  270. package/src/core/common/memo_common.sysml +140 -18
  271. package/src/core/consistency_rules/consistency_rules.sysml +7 -0
  272. package/src/core/dimensions/dimensions.sysml +17 -1
  273. package/src/core/enumerations/memo_enumerations.sysml +101 -20
  274. package/src/core/methodology_scope/methodology_scope.sysml +7 -15
  275. package/src/core/relationships/memo_relationships.sysml +199 -194
  276. package/src/memo_namespaces.sysml +127 -67
  277. package/src/methodology/core/memo_core.sysml +69 -2
  278. package/src/methodology/profiles/memo_profiles.sysml +31 -41
  279. package/src/methodology/workflow/memo_workflow.sysml +7 -2
  280. package/src/rules/closure/closure_rules.sysml +104 -31
  281. package/src/rules/coverage/coverage_rules.sysml +4 -256
  282. package/src/rules/crosslayer/cross_layer_rules.sysml +6 -15
  283. package/src/rules/lifecycle/lifecycle_rules.sysml +4 -39
  284. package/src/rules/ontology/ontology_invariants.sysml +243 -74
  285. package/src/rules/quantitative/quantitative_rules.sysml +8 -8
  286. package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +10 -3
  287. package/src/viewpoints/clinical/clinical_viewpoint.sysml +4 -2
  288. package/src/viewpoints/clinical/{clinical_evidence_view → views/clinical_evidence_view}/clinical_evidence_view.sysml +2 -2
  289. package/src/viewpoints/context/context_viewpoint.sysml +4 -2
  290. package/src/viewpoints/context/{system_context_view → views/system_context_view}/system_context_view.sysml +2 -2
  291. package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +4 -2
  292. package/src/viewpoints/cybersecurity/{cybersecurity_assessment_view → views/cybersecurity_assessment_view}/cybersecurity_assessment_view.sysml +2 -2
  293. package/src/viewpoints/cybersecurity/{threat_model_view → views/threat_model_view}/threat_model_view.sysml +2 -2
  294. package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +5 -0
  295. package/src/viewpoints/functional/functional_viewpoint.sysml +4 -2
  296. package/src/viewpoints/functional/{function_allocation_view → views/function_allocation_view}/function_allocation_view.sysml +3 -3
  297. package/src/viewpoints/functional/{system_functional_tree_view → views/system_functional_tree_view}/system_functional_tree_view.sysml +3 -3
  298. package/src/viewpoints/logical/logical_viewpoint.sysml +3 -1
  299. package/src/viewpoints/logical/{logical_architecture_view → views/logical_architecture_view}/logical_architecture_view.sysml +2 -2
  300. package/src/viewpoints/operational/operational_viewpoint.sysml +4 -2
  301. package/src/viewpoints/operational/{use_case_view → views/use_case_view}/use_case_view.sysml +3 -3
  302. package/src/viewpoints/physical/physical_viewpoint.sysml +3 -1
  303. package/src/viewpoints/physical/{network_topology_view → views/network_topology_view}/network_topology_view.sysml +2 -2
  304. package/src/viewpoints/physical/{physical_bom_view → views/physical_bom_view}/physical_bom_view.sysml +2 -2
  305. package/src/viewpoints/rendering/memo_rendering.sysml +354 -0
  306. package/src/viewpoints/requirements/requirements_viewpoint.sysml +3 -1
  307. package/src/viewpoints/requirements/{requirements_traceability_view → views/requirements_traceability_view}/requirements_traceability_view.sysml +2 -2
  308. package/src/viewpoints/risk/risk_viewpoint.sysml +3 -1
  309. package/src/viewpoints/risk/{risk_chain_view → views/risk_chain_view}/risk_chain_view.sysml +2 -2
  310. package/src/viewpoints/software/software_viewpoint.sysml +3 -1
  311. package/src/viewpoints/software/{software_architecture_view → views/software_architecture_view}/software_architecture_view.sysml +2 -2
  312. package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +28 -0
  313. package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +23 -0
  314. package/src/viewpoints/usability/usability_viewpoint.sysml +3 -1
  315. package/src/viewpoints/usability/{usability_engineering_view → views/usability_engineering_view}/usability_engineering_view.sysml +2 -2
  316. package/src/viewpoints/verification/verification_viewpoint.sysml +4 -2
  317. package/src/viewpoints/verification/{verification_coverage_view → views/verification_coverage_view}/verification_coverage_view.sysml +3 -3
  318. package/templates/connected-device/memo.package.yaml +11 -5
  319. package/templates/connected-device/model/catalog/project.sysml +28 -0
  320. package/templates/connected-device/syside.toml +1 -1
  321. package/templates/default/memo.package.yaml +11 -5
  322. package/templates/default/model/catalog/project.sysml +28 -0
  323. package/templates/default/syside.toml +1 -1
  324. package/templates/infusion-pump/memo.package.yaml +11 -5
  325. package/templates/infusion-pump/model/catalog/project.sysml +28 -0
  326. package/templates/infusion-pump/syside.toml +1 -1
  327. package/templates/monitoring-device/memo.package.yaml +11 -5
  328. package/templates/monitoring-device/model/catalog/project.sysml +28 -0
  329. package/templates/monitoring-device/syside.toml +1 -1
  330. package/templates/samd/memo.package.yaml +11 -5
  331. package/templates/samd/model/catalog/project.sysml +28 -0
  332. package/templates/samd/syside.toml +1 -1
  333. package/examples/connected-patient-monitor/model/connected_patient_monitor.sysml +0 -3
  334. package/examples/embedded-infusion-pump/model/embedded_infusion_pump.sysml +0 -3
  335. package/examples/extensions/README.md +0 -16
  336. package/examples/extensions/clinical/memo.package.yaml +0 -9
  337. package/examples/extensions/clinical/src/methodology/clinical_methodology.sysml +0 -14
  338. package/examples/extensions/template/memo.package.yaml +0 -9
  339. package/examples/extensions/template/src/extension.sysml +0 -15
  340. package/examples/functional-logical-physical/model/functional_logical_physical.sysml +0 -3
  341. package/examples/gpca-pump/memo.config.yaml +0 -9
  342. package/examples/gpca-pump/methodology/gpca_scope.sysml +0 -25
  343. package/examples/ivd-laboratory-system/model/ivd_laboratory_system.sysml +0 -3
  344. package/examples/manual-surgical-instrument/model/manual_surgical_instrument.sysml +0 -3
  345. package/examples/multidimensional-layers/model/multidimensional_layers.sysml +0 -4
  346. package/examples/reusable-instrument/model/reusable_instrument.sysml +0 -4
  347. package/examples/software-only-medical-device/model/software_only_medical_device.sysml +0 -4
  348. package/examples/surgical-closure-workflow/model/surgical_closure_workflow.sysml +0 -4
  349. package/examples/surgical-robot/model/surgical_robot.sysml +0 -4
  350. package/examples/sysml-diagram-samples/model/samples/functional_flow_view.sysml +0 -164
  351. package/examples/sysml-diagram-samples/model/samples/interconnection_view.sysml +0 -94
  352. package/examples/sysml-diagram-samples/model/samples/operational_behaviour_view.sysml +0 -135
  353. package/examples/sysml-diagram-samples/model/samples/state_transition_view.sysml +0 -109
  354. package/examples/sysml-diagram-samples/model/samples/tree_view.sysml +0 -56
  355. package/examples/temperature-alarm/model/temperature_alarm.sysml +0 -4
  356. package/ontology/memo.rendering.yaml +0 -84
  357. package/src/compliance/artifacts/memo_artifacts.sysml +0 -12
  358. package/src/compliance/change/memo_change.sysml +0 -17
  359. package/src/compliance/dhf-templates/iec-62304/srs.md +0 -138
  360. package/src/compliance/dhf-templates/iec-62366/task-analysis.md +0 -57
  361. package/src/compliance/dhf-templates/iso-14971/fmea.md +0 -93
  362. package/src/compliance/document_views/memo_document_views.sysml +0 -7
  363. package/src/compliance/iso14971/risk_management_file.sysml +0 -16
  364. package/src/compliance/postmarket/memo_postmarket.sysml +0 -16
  365. /package/{examples/extensions → extensions}/clinical/src/clinical_extension.sysml +0 -0
  366. /package/{examples/extensions → extensions}/clinical/src/procedures/memo_clinical_procedures.sysml +0 -0
  367. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/change-record.md +0 -0
  368. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/change-control.md +0 -0
  369. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/formative-eval.md +0 -0
  370. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/ui-spec.md +0 -0
  371. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/use-spec.md +0 -0
  372. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/fta.md +0 -0
  373. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/risk-benefit.md +0 -0
  374. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/risk-matrix.md +0 -0
  375. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/rmr.md +0 -0
  376. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/approval-block.md +0 -0
  377. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/document-control-header.md +0 -0
  378. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/references-section.md +0 -0
  379. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/revision-history-table.md +0 -0
  380. /package/templates/connected-device/{src → model/catalog}/architecture/system.sysml +0 -0
  381. /package/templates/connected-device/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  382. /package/templates/connected-device/{src → model/catalog}/assurance/requirements.sysml +0 -0
  383. /package/templates/default/{src → model/catalog}/architecture/system.sysml +0 -0
  384. /package/templates/default/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  385. /package/templates/default/{src → model/catalog}/assurance/requirements.sysml +0 -0
  386. /package/templates/infusion-pump/{src → model/catalog}/architecture/system.sysml +0 -0
  387. /package/templates/infusion-pump/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  388. /package/templates/infusion-pump/{src → model/catalog}/assurance/requirements.sysml +0 -0
  389. /package/templates/monitoring-device/{src → model/catalog}/architecture/system.sysml +0 -0
  390. /package/templates/monitoring-device/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  391. /package/templates/monitoring-device/{src → model/catalog}/assurance/requirements.sysml +0 -0
  392. /package/templates/samd/{src → model/catalog}/architecture/system.sysml +0 -0
  393. /package/templates/samd/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  394. /package/templates/samd/{src → model/catalog}/assurance/requirements.sysml +0 -0
@@ -1,5 +1,6 @@
1
- package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1
+ package memo_examples_gpca_pump_gpca_requirements {
2
2
  private import ScalarValues::*;
3
+ private import memo_core_dimensions::*; // ElementStatusKind
3
4
 
4
5
  private import memo_assurance_requirements::*;
5
6
  private import memo_assurance_requirements_needs::*;
@@ -401,7 +402,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
401
402
  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.";
402
403
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
403
404
  attribute :>> concernKind = ConcernKind::safety;
404
- attribute :>> requirementStatus = RequirementStatusKind::approved;
405
+ attribute :>> status = ElementStatusKind::approved;
405
406
  attribute :>> acceptanceCriteria = "Mode output is always exactly one valid exclusive value.";
406
407
  attribute :>> subjectDescription = "GPCA system";
407
408
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.1.1 (REQ 1)";
@@ -412,7 +413,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
412
413
  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.";
413
414
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
414
415
  attribute :>> concernKind = ConcernKind::performance;
415
- attribute :>> requirementStatus = RequirementStatusKind::approved;
416
+ attribute :>> status = ElementStatusKind::approved;
416
417
  attribute :>> acceptanceCriteria = "transition time <= Max_Mode_Change_Duration_const";
417
418
  attribute :>> subjectDescription = "GPCA system";
418
419
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.1.1 (REQ 2)";
@@ -423,7 +424,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
423
424
  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.";
424
425
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
425
426
  attribute :>> concernKind = ConcernKind::performance;
426
- attribute :>> requirementStatus = RequirementStatusKind::approved;
427
+ attribute :>> status = ElementStatusKind::approved;
427
428
  attribute :>> acceptanceCriteria = "flow ramp rate <= Max_Rateof_Flow_Change_const OR transition time <= Max_Mode_Change_Duration_const (quickest wins)";
428
429
  attribute :>> subjectDescription = "GPCA system";
429
430
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.1.1 (REQ 3)";
@@ -434,7 +435,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
434
435
  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.";
435
436
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
436
437
  attribute :>> concernKind = ConcernKind::safety;
437
- attribute :>> requirementStatus = RequirementStatusKind::approved;
438
+ attribute :>> status = ElementStatusKind::approved;
438
439
  attribute :>> acceptanceCriteria = "System_start_prog in OFF => mode = ON > IDLE and A.4 variables at defaults";
439
440
  attribute :>> subjectDescription = "GPCA system (OFF -> ON transition)";
440
441
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.1.2 (REQ 4)";
@@ -445,7 +446,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
445
446
  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.";
446
447
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
447
448
  attribute :>> concernKind = ConcernKind::safety;
448
- attribute :>> requirementStatus = RequirementStatusKind::approved;
449
+ attribute :>> status = ElementStatusKind::approved;
449
450
  attribute :>> acceptanceCriteria = "System_stop_prog in ON => infusion stopped, active notifications cancelled, mode = OFF";
450
451
  attribute :>> subjectDescription = "GPCA system (ON -> OFF transition)";
451
452
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.1.2 (REQ 5)";
@@ -458,7 +459,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
458
459
  attribute :>> statement = "While in OFF mode, the system shall not deliver any drug.";
459
460
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
460
461
  attribute :>> concernKind = ConcernKind::safety;
461
- attribute :>> requirementStatus = RequirementStatusKind::approved;
462
+ attribute :>> status = ElementStatusKind::approved;
462
463
  attribute :>> acceptanceCriteria = "FlowRate_output = 0";
463
464
  attribute :>> subjectDescription = "OFF mode";
464
465
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.2.1 (REQ 6)";
@@ -471,7 +472,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
471
472
  attribute :>> statement = "While in ON mode, the system shall allow initiation of infusion only when a saved prescription is available.";
472
473
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
473
474
  attribute :>> concernKind = ConcernKind::safety;
474
- attribute :>> requirementStatus = RequirementStatusKind::approved;
475
+ attribute :>> status = ElementStatusKind::approved;
475
476
  attribute :>> acceptanceCriteria = "Infusion initiation is rejected when no saved prescription exists.";
476
477
  attribute :>> subjectDescription = "ON mode";
477
478
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.1 (REQ 7)";
@@ -482,7 +483,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
482
483
  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).";
483
484
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
484
485
  attribute :>> concernKind = ConcernKind::usability;
485
- attribute :>> requirementStatus = RequirementStatusKind::approved;
486
+ attribute :>> status = ElementStatusKind::approved;
486
487
  attribute :>> acceptanceCriteria = "DataConfig_prog is accepted in ON mode and enters the §4.2 configuration flow.";
487
488
  attribute :>> subjectDescription = "ON mode";
488
489
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.1 (REQ 8)";
@@ -493,7 +494,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
493
494
  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.";
494
495
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
495
496
  attribute :>> concernKind = ConcernKind::usability;
496
- attribute :>> requirementStatus = RequirementStatusKind::approved;
497
+ attribute :>> status = ElementStatusKind::approved;
497
498
  attribute :>> acceptanceCriteria = "First Infusion_initiate_prog displays saved values; therapy starts only after a second Infusion_initiate_prog.";
498
499
  attribute :>> subjectDescription = "ON mode";
499
500
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.1 (REQ 9)";
@@ -504,7 +505,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
504
505
  attribute :>> statement = "While in ON mode, the system shall allow visual and audio notification as described in §4.3.";
505
506
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
506
507
  attribute :>> concernKind = ConcernKind::safety;
507
- attribute :>> requirementStatus = RequirementStatusKind::approved;
508
+ attribute :>> status = ElementStatusKind::approved;
508
509
  attribute :>> acceptanceCriteria = "Notification behaviors of §4.3 are available whenever the system is in ON mode.";
509
510
  attribute :>> subjectDescription = "ON mode";
510
511
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.1 (REQ 10)";
@@ -515,7 +516,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
515
516
  attribute :>> statement = "While in ON mode, the system shall allow logging as described in §4.4.";
516
517
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
517
518
  attribute :>> concernKind = ConcernKind::regulatory;
518
- attribute :>> requirementStatus = RequirementStatusKind::approved;
519
+ attribute :>> status = ElementStatusKind::approved;
519
520
  attribute :>> acceptanceCriteria = "Log behaviors of §4.4 are available whenever the system is in ON mode.";
520
521
  attribute :>> subjectDescription = "ON mode";
521
522
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.1 (REQ 11)";
@@ -526,7 +527,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
526
527
  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.";
527
528
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
528
529
  attribute :>> concernKind = ConcernKind::safety;
529
- attribute :>> requirementStatus = RequirementStatusKind::approved;
530
+ attribute :>> status = ElementStatusKind::approved;
530
531
  attribute :>> acceptanceCriteria = "Actual_Infusion_Duration_macro = 0 AND Actual_Volume_Infused_macro = 0 AND mode = ON > THERAPY > ACTIVE > BASAL";
531
532
  attribute :>> subjectDescription = "ON mode transitions";
532
533
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.2 (REQ 12)";
@@ -537,7 +538,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
537
538
  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'.";
538
539
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
539
540
  attribute :>> concernKind = ConcernKind::safety;
540
- attribute :>> requirementStatus = RequirementStatusKind::approved;
541
+ attribute :>> status = ElementStatusKind::approved;
541
542
  attribute :>> acceptanceCriteria = "Inhibited_Infusion_macro = TRUE => mode = ON > THERAPY > PAUSED and 'Infusion Inhibited' actions taken";
542
543
  attribute :>> subjectDescription = "ON mode transitions";
543
544
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.3.2 (REQ 13)";
@@ -550,7 +551,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
550
551
  attribute :>> statement = "While in IDLE mode, the system shall not deliver any drug.";
551
552
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
552
553
  attribute :>> concernKind = ConcernKind::safety;
553
- attribute :>> requirementStatus = RequirementStatusKind::approved;
554
+ attribute :>> status = ElementStatusKind::approved;
554
555
  attribute :>> acceptanceCriteria = "FlowRate_output = 0";
555
556
  attribute :>> subjectDescription = "ON > IDLE mode";
556
557
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.4.1 (REQ 14)";
@@ -561,7 +562,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
561
562
  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'.";
562
563
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
563
564
  attribute :>> concernKind = ConcernKind::safety;
564
- attribute :>> requirementStatus = RequirementStatusKind::approved;
565
+ attribute :>> status = ElementStatusKind::approved;
565
566
  attribute :>> acceptanceCriteria = "time in IDLE > Max_IDLE_Duration_const => 'IDLE Time' actions taken";
566
567
  attribute :>> subjectDescription = "ON > IDLE mode";
567
568
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.4.1 (REQ 15)";
@@ -574,7 +575,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
574
575
  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.";
575
576
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
576
577
  attribute :>> concernKind = ConcernKind::safety;
577
- attribute :>> requirementStatus = RequirementStatusKind::approved;
578
+ attribute :>> status = ElementStatusKind::approved;
578
579
  attribute :>> acceptanceCriteria = "FlowRate_output < FlowRate_Mode_macro + Tolerance_Max_const";
579
580
  attribute :>> subjectDescription = "ON > THERAPY mode";
580
581
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.1 (REQ 16)";
@@ -585,7 +586,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
585
586
  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.";
586
587
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
587
588
  attribute :>> concernKind = ConcernKind::safety;
588
- attribute :>> requirementStatus = RequirementStatusKind::approved;
589
+ attribute :>> status = ElementStatusKind::approved;
589
590
  attribute :>> acceptanceCriteria = "FlowRate_output < FlowRate_Mode_macro - Tolerance_Min_const for more than Max_Duration_UnderInfusion_const OR FlowRate_output < FlowRate_Mode_macro - Tolerance_Max_const OR FlowRate_output < FlowRate_lo_hd";
590
591
  attribute :>> subjectDescription = "ON > THERAPY mode";
591
592
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.1 (REQ 17)";
@@ -596,7 +597,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
596
597
  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'.";
597
598
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
598
599
  attribute :>> concernKind = ConcernKind::safety;
599
- attribute :>> requirementStatus = RequirementStatusKind::approved;
600
+ attribute :>> status = ElementStatusKind::approved;
600
601
  attribute :>> acceptanceCriteria = "reservoir volume < Low_Reservoir_const => 'Low Reservoir' actions taken";
601
602
  attribute :>> subjectDescription = "ON > THERAPY mode";
602
603
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.1 (REQ 18)";
@@ -607,7 +608,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
607
608
  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.";
608
609
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
609
610
  attribute :>> concernKind = ConcernKind::safety;
610
- attribute :>> requirementStatus = RequirementStatusKind::approved;
611
+ attribute :>> status = ElementStatusKind::approved;
611
612
  attribute :>> acceptanceCriteria = "FlowRate_output > FlowRate_Mode_macro + Tolerance_Min_const for more than Max_Duration_OverInfusion_const OR FlowRate_output > FlowRate_Mode_macro + Tolerance_Max_const OR FlowRate_output > FlowRate_hi_hd";
612
613
  attribute :>> subjectDescription = "ON > THERAPY mode transitions";
613
614
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.2 (REQ 19)";
@@ -618,7 +619,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
618
619
  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.";
619
620
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
620
621
  attribute :>> concernKind = ConcernKind::safety;
621
- attribute :>> requirementStatus = RequirementStatusKind::approved;
622
+ attribute :>> status = ElementStatusKind::approved;
622
623
  attribute :>> acceptanceCriteria = "Actual_Volume_Infused_macro > VTBI_hi_hd";
623
624
  attribute :>> subjectDescription = "ON > THERAPY mode transitions";
624
625
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.2 (REQ 20)";
@@ -629,7 +630,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
629
630
  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.";
630
631
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
631
632
  attribute :>> concernKind = ConcernKind::safety;
632
- attribute :>> requirementStatus = RequirementStatusKind::approved;
633
+ attribute :>> status = ElementStatusKind::approved;
633
634
  attribute :>> acceptanceCriteria = "single bubble volume > Single_AirBubble_Volume_const OR cumulative bubble volume > Cumulative_AirBubble_Volume_const";
634
635
  attribute :>> subjectDescription = "ON > THERAPY mode transitions";
635
636
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.2 (REQ 21)";
@@ -640,7 +641,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
640
641
  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.";
641
642
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
642
643
  attribute :>> concernKind = ConcernKind::safety;
643
- attribute :>> requirementStatus = RequirementStatusKind::approved;
644
+ attribute :>> status = ElementStatusKind::approved;
644
645
  attribute :>> acceptanceCriteria = "continuous reverse delivery > Rev_Delivery_Continuous_Duration_const OR cumulative reverse delivery > Rev_Delivery_Cumulative_Duration_const";
645
646
  attribute :>> subjectDescription = "ON > THERAPY mode transitions";
646
647
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.2 (REQ 22)";
@@ -651,7 +652,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
651
652
  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'.";
652
653
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
653
654
  attribute :>> concernKind = ConcernKind::safety;
654
- attribute :>> requirementStatus = RequirementStatusKind::approved;
655
+ attribute :>> status = ElementStatusKind::approved;
655
656
  attribute :>> acceptanceCriteria = "reservoir volume < Empty_Reservoir_const => mode = PAUSED and 'Empty Reservoir' actions taken";
656
657
  attribute :>> subjectDescription = "ON > THERAPY mode transitions";
657
658
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.5.2 (REQ 23)";
@@ -664,7 +665,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
664
665
  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.";
665
666
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
666
667
  attribute :>> concernKind = ConcernKind::safety;
667
- attribute :>> requirementStatus = RequirementStatusKind::approved;
668
+ attribute :>> status = ElementStatusKind::approved;
668
669
  attribute :>> acceptanceCriteria = "Square boluses are auto-scheduled by the system every Interval_sbolus_prog for Duration_sbolus_prog; no external trigger is required.";
669
670
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode";
670
671
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.1 (REQ 24)";
@@ -675,7 +676,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
675
676
  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.";
676
677
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
677
678
  attribute :>> concernKind = ConcernKind::safety;
678
- attribute :>> requirementStatus = RequirementStatusKind::approved;
679
+ attribute :>> status = ElementStatusKind::approved;
679
680
  attribute :>> acceptanceCriteria = "Source formal conditions: (3) (BolusRequest_prog time - most recent PATIENT BOLUS end time) > LockOutPeriod_pbolus_prog; (4) sum of occurrences of all PATIENT BOLUS modes > NumberMax_pbolus_prog (source prose and formal expressions are inconsistent; transcribed as written).";
680
681
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode";
681
682
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.1 (REQ 25)";
@@ -686,7 +687,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
686
687
  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.";
687
688
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
688
689
  attribute :>> concernKind = ConcernKind::safety;
689
- attribute :>> requirementStatus = RequirementStatusKind::approved;
690
+ attribute :>> status = ElementStatusKind::approved;
690
691
  attribute :>> acceptanceCriteria = "REQ 25 condition 3 or 5 => 'Frequent Bolus Requests' actions taken";
691
692
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode";
692
693
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.1 (REQ 26)";
@@ -697,7 +698,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
697
698
  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.";
698
699
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
699
700
  attribute :>> concernKind = ConcernKind::safety;
700
- attribute :>> requirementStatus = RequirementStatusKind::approved;
701
+ attribute :>> status = ElementStatusKind::approved;
701
702
  attribute :>> acceptanceCriteria = "REQ 25 condition 4 => 'Bolus Exceeded' actions taken";
702
703
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode";
703
704
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.1 (REQ 27)";
@@ -708,7 +709,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
708
709
  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.";
709
710
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
710
711
  attribute :>> concernKind = ConcernKind::safety;
711
- attribute :>> requirementStatus = RequirementStatusKind::approved;
712
+ attribute :>> status = ElementStatusKind::approved;
712
713
  attribute :>> acceptanceCriteria = "Actual_Infusion_Duration_macro >= Duration_total_prog OR Actual_Volume_Infused_macro >= VTBI_total_prog";
713
714
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
714
715
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 28)";
@@ -719,7 +720,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
719
720
  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'.";
720
721
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
721
722
  attribute :>> concernKind = ConcernKind::safety;
722
- attribute :>> requirementStatus = RequirementStatusKind::approved;
723
+ attribute :>> status = ElementStatusKind::approved;
723
724
  attribute :>> acceptanceCriteria = "Infusion_inhibit_prog => mode = PAUSED and 'Infusion Manually Inhibited' actions taken";
724
725
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
725
726
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 29)";
@@ -730,7 +731,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
730
731
  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.";
731
732
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
732
733
  attribute :>> concernKind = ConcernKind::safety;
733
- attribute :>> requirementStatus = RequirementStatusKind::approved;
734
+ attribute :>> status = ElementStatusKind::approved;
734
735
  attribute :>> acceptanceCriteria = "Inhibited_Infusion_macro AND Inhibited_Bolus_macro AND Inhibited_PatientBolus_macro => mode = PAUSED";
735
736
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
736
737
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 30)";
@@ -741,7 +742,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
741
742
  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.";
742
743
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
743
744
  attribute :>> concernKind = ConcernKind::safety;
744
- attribute :>> requirementStatus = RequirementStatusKind::approved;
745
+ attribute :>> status = ElementStatusKind::approved;
745
746
  attribute :>> acceptanceCriteria = "NOT Inhibited_Bolus_macro AND NOT Inhibited_Infusion_macro AND (no BolusRequest_prog OR a REQ 25 ignore condition holds)";
746
747
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
747
748
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 31)";
@@ -752,7 +753,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
752
753
  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.";
753
754
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
754
755
  attribute :>> concernKind = ConcernKind::safety;
755
- attribute :>> requirementStatus = RequirementStatusKind::approved;
756
+ attribute :>> status = ElementStatusKind::approved;
756
757
  attribute :>> acceptanceCriteria = "BolusRequest_prog AND no REQ 25 ignore condition holds => mode = PATIENT BOLUS";
757
758
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
758
759
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 32)";
@@ -763,7 +764,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
763
764
  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.";
764
765
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
765
766
  attribute :>> concernKind = ConcernKind::safety;
766
- attribute :>> requirementStatus = RequirementStatusKind::approved;
767
+ attribute :>> status = ElementStatusKind::approved;
767
768
  attribute :>> acceptanceCriteria = "BolusRequest_prog AND no REQ 25 ignore condition holds => mode = PATIENT BOLUS";
768
769
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
769
770
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 33)";
@@ -774,7 +775,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
774
775
  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.";
775
776
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
776
777
  attribute :>> concernKind = ConcernKind::safety;
777
- attribute :>> requirementStatus = RequirementStatusKind::approved;
778
+ attribute :>> status = ElementStatusKind::approved;
778
779
  attribute :>> acceptanceCriteria = "(Inhibited_Bolus_macro OR scheduled end) AND NOT Inhibited_Infusion_macro AND (no BolusRequest_prog OR a REQ 25 ignore condition holds) => mode = BASAL";
779
780
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
780
781
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 34)";
@@ -785,7 +786,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
785
786
  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.";
786
787
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
787
788
  attribute :>> concernKind = ConcernKind::safety;
788
- attribute :>> requirementStatus = RequirementStatusKind::approved;
789
+ attribute :>> status = ElementStatusKind::approved;
789
790
  attribute :>> acceptanceCriteria = "(Inhibited_PatientBolus_macro OR patient-bolus duration >= Duration_pbolus_prog) AND NOT Inhibited_Infusion_macro AND (no square bolus scheduled OR (square bolus scheduled AND Inhibited_Bolus_macro)) => mode = BASAL";
790
791
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
791
792
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 35)";
@@ -796,7 +797,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
796
797
  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.";
797
798
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
798
799
  attribute :>> concernKind = ConcernKind::safety;
799
- attribute :>> requirementStatus = RequirementStatusKind::approved;
800
+ attribute :>> status = ElementStatusKind::approved;
800
801
  attribute :>> acceptanceCriteria = "(Inhibited_PatientBolus_macro OR patient-bolus duration >= Duration_pbolus_prog) AND NOT Inhibited_Infusion_macro AND square bolus scheduled AND NOT Inhibited_Bolus_macro => mode = SQUARE BOLUS";
801
802
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
802
803
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 36)";
@@ -807,7 +808,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
807
808
  attribute :>> statement = "While in BASAL mode, if Inhibited_Infusion_macro = TRUE, the system shall transition to PAUSE mode.";
808
809
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
809
810
  attribute :>> concernKind = ConcernKind::safety;
810
- attribute :>> requirementStatus = RequirementStatusKind::approved;
811
+ attribute :>> status = ElementStatusKind::approved;
811
812
  attribute :>> acceptanceCriteria = "Inhibited_Infusion_macro => mode = PAUSED";
812
813
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
813
814
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 37)";
@@ -818,7 +819,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
818
819
  attribute :>> statement = "While in PATIENT BOLUS mode, the system shall transition to PAUSE mode if Inhibited_PatientBolus_macro = TRUE and Inhibited_Infusion_macro = TRUE.";
819
820
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
820
821
  attribute :>> concernKind = ConcernKind::safety;
821
- attribute :>> requirementStatus = RequirementStatusKind::approved;
822
+ attribute :>> status = ElementStatusKind::approved;
822
823
  attribute :>> acceptanceCriteria = "Inhibited_PatientBolus_macro AND Inhibited_Infusion_macro => mode = PAUSED";
823
824
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
824
825
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 38)";
@@ -829,7 +830,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
829
830
  attribute :>> statement = "While in SQUARE BOLUS mode, the system shall transition to PAUSE mode if Inhibited_Bolus_macro = TRUE and Inhibited_Infusion_macro = TRUE.";
830
831
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
831
832
  attribute :>> concernKind = ConcernKind::safety;
832
- attribute :>> requirementStatus = RequirementStatusKind::approved;
833
+ attribute :>> status = ElementStatusKind::approved;
833
834
  attribute :>> acceptanceCriteria = "Inhibited_Bolus_macro AND Inhibited_Infusion_macro => mode = PAUSED";
834
835
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE mode transitions";
835
836
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.6.2 (REQ 39)";
@@ -842,7 +843,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
842
843
  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.";
843
844
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
844
845
  attribute :>> concernKind = ConcernKind::safety;
845
- attribute :>> requirementStatus = RequirementStatusKind::approved;
846
+ attribute :>> status = ElementStatusKind::approved;
846
847
  attribute :>> acceptanceCriteria = "FlowRate_output within Tolerance_Max_const of FlowRate_basal_prog";
847
848
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE > BASAL mode";
848
849
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.7.1 (REQ 40)";
@@ -853,7 +854,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
853
854
  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.";
854
855
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
855
856
  attribute :>> concernKind = ConcernKind::safety;
856
- attribute :>> requirementStatus = RequirementStatusKind::approved;
857
+ attribute :>> status = ElementStatusKind::approved;
857
858
  attribute :>> acceptanceCriteria = "FlowRate_output within Tolerance_Max_const of FlowRate_sbolus_prog";
858
859
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE > SQUARE BOLUS mode";
859
860
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.8.1 (REQ 41)";
@@ -864,7 +865,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
864
865
  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.";
865
866
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
866
867
  attribute :>> concernKind = ConcernKind::safety;
867
- attribute :>> requirementStatus = RequirementStatusKind::approved;
868
+ attribute :>> status = ElementStatusKind::approved;
868
869
  attribute :>> acceptanceCriteria = "FlowRate_output within Tolerance_Max_const of FlowRate_pbolus_prog";
869
870
  attribute :>> subjectDescription = "ON > THERAPY > ACTIVE > PATIENT BOLUS mode";
870
871
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.9.1 (REQ 42)";
@@ -877,7 +878,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
877
878
  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.";
878
879
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
879
880
  attribute :>> concernKind = ConcernKind::safety;
880
- attribute :>> requirementStatus = RequirementStatusKind::approved;
881
+ attribute :>> status = ElementStatusKind::approved;
881
882
  attribute :>> acceptanceCriteria = "FlowRate_Mode_macro = FlowRate_kvo_hd; FlowRate_output within Tolerance_Max_const of FlowRate_kvo_hd (KVO flow, not zero)";
882
883
  attribute :>> subjectDescription = "ON > THERAPY > PAUSED mode";
883
884
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.10.1 (REQ 43)";
@@ -888,7 +889,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
888
889
  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'.";
889
890
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
890
891
  attribute :>> concernKind = ConcernKind::safety;
891
- attribute :>> requirementStatus = RequirementStatusKind::approved;
892
+ attribute :>> status = ElementStatusKind::approved;
892
893
  attribute :>> acceptanceCriteria = "time in PAUSED > Max_PAUSED_Duration_const => 'PAUSED Time' actions taken";
893
894
  attribute :>> subjectDescription = "ON > THERAPY > PAUSED mode";
894
895
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.10.1 (REQ 44)";
@@ -899,7 +900,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
899
900
  attribute :>> statement = "While in PAUSED mode, when Infusion_initiate_prog and Inhibited_Infusion_macro = TRUE, the system shall not perform any transition.";
900
901
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
901
902
  attribute :>> concernKind = ConcernKind::safety;
902
- attribute :>> requirementStatus = RequirementStatusKind::approved;
903
+ attribute :>> status = ElementStatusKind::approved;
903
904
  attribute :>> acceptanceCriteria = "Infusion_initiate_prog AND Inhibited_Infusion_macro => mode unchanged";
904
905
  attribute :>> subjectDescription = "ON > THERAPY > PAUSED mode";
905
906
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.10.1 (REQ 45)";
@@ -910,7 +911,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
910
911
  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.";
911
912
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
912
913
  attribute :>> concernKind = ConcernKind::safety;
913
- attribute :>> requirementStatus = RequirementStatusKind::approved;
914
+ attribute :>> status = ElementStatusKind::approved;
914
915
  attribute :>> acceptanceCriteria = "Infusion_initiate_prog AND NOT Inhibited_Infusion_macro => mode = ON > THERAPY > ACTIVE > BASAL";
915
916
  attribute :>> subjectDescription = "ON > THERAPY > PAUSED mode transitions";
916
917
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.10.2 (REQ 46)";
@@ -921,7 +922,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
921
922
  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'.";
922
923
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
923
924
  attribute :>> concernKind = ConcernKind::safety;
924
- attribute :>> requirementStatus = RequirementStatusKind::approved;
925
+ attribute :>> status = ElementStatusKind::approved;
925
926
  attribute :>> acceptanceCriteria = "Infusion_inhibit_prog => mode = ON > IDLE and 'Infusion Stopped Manually' actions taken";
926
927
  attribute :>> subjectDescription = "ON > THERAPY > PAUSED mode transitions";
927
928
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.10.2 (REQ 47)";
@@ -934,7 +935,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
934
935
  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.";
935
936
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
936
937
  attribute :>> concernKind = ConcernKind::usability;
937
- attribute :>> requirementStatus = RequirementStatusKind::approved;
938
+ attribute :>> status = ElementStatusKind::approved;
938
939
  attribute :>> acceptanceCriteria = "Displayed values equal saved values (or defaults) in the interface-specified order.";
939
940
  attribute :>> subjectDescription = "Data configuration";
940
941
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 48)";
@@ -945,7 +946,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
945
946
  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.";
946
947
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
947
948
  attribute :>> concernKind = ConcernKind::usability;
948
- attribute :>> requirementStatus = RequirementStatusKind::approved;
949
+ attribute :>> status = ElementStatusKind::approved;
949
950
  attribute :>> acceptanceCriteria = "Exactly one value is editable at a time, in display order.";
950
951
  attribute :>> subjectDescription = "Data configuration";
951
952
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 49)";
@@ -956,7 +957,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
956
957
  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).";
957
958
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
958
959
  attribute :>> concernKind = ConcernKind::usability;
959
- attribute :>> requirementStatus = RequirementStatusKind::approved;
960
+ attribute :>> status = ElementStatusKind::approved;
960
961
  attribute :>> acceptanceCriteria = "Infusion_initiate_prog is accepted with the modified value set.";
961
962
  attribute :>> subjectDescription = "Data configuration";
962
963
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 50)";
@@ -967,7 +968,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
967
968
  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.";
968
969
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
969
970
  attribute :>> concernKind = ConcernKind::safety;
970
- attribute :>> requirementStatus = RequirementStatusKind::approved;
971
+ attribute :>> status = ElementStatusKind::approved;
971
972
  attribute :>> acceptanceCriteria = "Every entered value satisfies its Type Condition constraints before saving.";
972
973
  attribute :>> subjectDescription = "Data configuration";
973
974
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 51)";
@@ -978,7 +979,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
978
979
  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'.";
979
980
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
980
981
  attribute :>> concernKind = ConcernKind::safety;
981
- attribute :>> requirementStatus = RequirementStatusKind::approved;
982
+ attribute :>> status = ElementStatusKind::approved;
982
983
  attribute :>> acceptanceCriteria = "Database unreachable => values not saved and 'Drug database not reachable' actions taken";
983
984
  attribute :>> subjectDescription = "Data configuration";
984
985
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 52)";
@@ -989,7 +990,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
989
990
  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.";
990
991
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
991
992
  attribute :>> concernKind = ConcernKind::safety;
992
- attribute :>> requirementStatus = RequirementStatusKind::approved;
993
+ attribute :>> status = ElementStatusKind::approved;
993
994
  attribute :>> acceptanceCriteria = "Missing safe value => that field's validation skipped, 'Drug safe value not present' actions taken, validation continues";
994
995
  attribute :>> subjectDescription = "Data configuration";
995
996
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 53)";
@@ -1000,7 +1001,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1000
1001
  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.";
1001
1002
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1002
1003
  attribute :>> concernKind = ConcernKind::safety;
1003
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1004
+ attribute :>> status = ElementStatusKind::approved;
1004
1005
  attribute :>> acceptanceCriteria = "Validation clean => values saved, prior validation notifications cleared, initiation enabled per REQ 9.";
1005
1006
  attribute :>> subjectDescription = "Data configuration";
1006
1007
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 54)";
@@ -1011,7 +1012,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1011
1012
  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.";
1012
1013
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1013
1014
  attribute :>> concernKind = ConcernKind::safety;
1014
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1015
+ attribute :>> status = ElementStatusKind::approved;
1015
1016
  attribute :>> acceptanceCriteria = "Validation notification present => values not saved; edit-and-revalidate loop until clean.";
1016
1017
  attribute :>> subjectDescription = "Data configuration";
1017
1018
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 55)";
@@ -1022,7 +1023,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1022
1023
  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.";
1023
1024
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1024
1025
  attribute :>> concernKind = ConcernKind::safety;
1025
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1026
+ attribute :>> status = ElementStatusKind::approved;
1026
1027
  attribute :>> acceptanceCriteria = "Mode and active prescription are unchanged during configuration.";
1027
1028
  attribute :>> subjectDescription = "Data configuration";
1028
1029
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 56)";
@@ -1033,7 +1034,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1033
1034
  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'.";
1034
1035
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1035
1036
  attribute :>> concernKind = ConcernKind::usability;
1036
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1037
+ attribute :>> status = ElementStatusKind::approved;
1037
1038
  attribute :>> acceptanceCriteria = "continuous configuration time > Config_Warning_Duration_const => 'Config Time' actions taken";
1038
1039
  attribute :>> subjectDescription = "Data configuration";
1039
1040
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 57)";
@@ -1044,7 +1045,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1044
1045
  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'.";
1045
1046
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1046
1047
  attribute :>> concernKind = ConcernKind::usability;
1047
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1048
+ attribute :>> status = ElementStatusKind::approved;
1048
1049
  attribute :>> acceptanceCriteria = "continuous configuration time > Max_Config_Duration_const => unsaved values cleared ('Unsaved Configuration Cleared' is referenced by the source but absent from the REQ 59 table — a documented source inconsistency).";
1049
1050
  attribute :>> subjectDescription = "Data configuration";
1050
1051
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.2 (REQ 58)";
@@ -1057,7 +1058,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1057
1058
  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.";
1058
1059
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1059
1060
  attribute :>> concernKind = ConcernKind::safety;
1060
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1061
+ attribute :>> status = ElementStatusKind::approved;
1061
1062
  attribute :>> acceptanceCriteria = "For every raised notification, the actions equal the NOTIF-01..NOTIF-20 table row: Inhibit Infusion => Inhibited_Infusion_macro = TRUE; Inhibit Square Bolus => Inhibited_Bolus_macro = TRUE; Inhibit Patient Bolus => Inhibited_PatientBolus_macro = TRUE; Stop Bolus => stop all boluses in progress.";
1062
1063
  attribute :>> subjectDescription = "Notification handling (see NOTIF-01..NOTIF-20)";
1063
1064
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 59)";
@@ -1068,7 +1069,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1068
1069
  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.";
1069
1070
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1070
1071
  attribute :>> concernKind = ConcernKind::safety;
1071
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1072
+ attribute :>> status = ElementStatusKind::approved;
1072
1073
  attribute :>> acceptanceCriteria = "Simultaneous notifications with different priorities => actions of the highest priority notification are taken.";
1073
1074
  attribute :>> subjectDescription = "Notification precedence";
1074
1075
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 60)";
@@ -1079,7 +1080,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1079
1080
  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.";
1080
1081
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1081
1082
  attribute :>> concernKind = ConcernKind::safety;
1082
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1083
+ attribute :>> status = ElementStatusKind::approved;
1083
1084
  attribute :>> acceptanceCriteria = "Order of restriction: Inhibit All Infusion > Inhibit Square Bolus > Inhibit Patient Bolus.";
1084
1085
  attribute :>> subjectDescription = "Notification precedence";
1085
1086
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 61)";
@@ -1090,7 +1091,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1090
1091
  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.";
1091
1092
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1092
1093
  attribute :>> concernKind = ConcernKind::safety;
1093
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1094
+ attribute :>> status = ElementStatusKind::approved;
1094
1095
  attribute :>> acceptanceCriteria = "Tie on priority and actions => REQ 59 restriction ordering breaks the tie.";
1095
1096
  attribute :>> subjectDescription = "Notification precedence";
1096
1097
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 62)";
@@ -1101,7 +1102,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1101
1102
  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.";
1102
1103
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1103
1104
  attribute :>> concernKind = ConcernKind::safety;
1104
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1105
+ attribute :>> status = ElementStatusKind::approved;
1105
1106
  attribute :>> acceptanceCriteria = "In-effect notification is superseded by a higher-priority or more restrictive notification.";
1106
1107
  attribute :>> subjectDescription = "Notification precedence";
1107
1108
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 63)";
@@ -1112,7 +1113,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1112
1113
  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.";
1113
1114
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1114
1115
  attribute :>> concernKind = ConcernKind::safety;
1115
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1116
+ attribute :>> status = ElementStatusKind::approved;
1116
1117
  attribute :>> acceptanceCriteria = "Lower-priority notification is listed but its actions are not taken while a higher-priority notification is in effect.";
1117
1118
  attribute :>> subjectDescription = "Notification precedence";
1118
1119
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 64)";
@@ -1123,7 +1124,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1123
1124
  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).";
1124
1125
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1125
1126
  attribute :>> concernKind = ConcernKind::usability;
1126
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1127
+ attribute :>> status = ElementStatusKind::approved;
1127
1128
  attribute :>> acceptanceCriteria = "Cancellation proceeds one notification at a time from the head of the list.";
1128
1129
  attribute :>> subjectDescription = "Notification cancellation";
1129
1130
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 65)";
@@ -1134,7 +1135,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1134
1135
  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.";
1135
1136
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1136
1137
  attribute :>> concernKind = ConcernKind::safety;
1137
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1138
+ attribute :>> status = ElementStatusKind::approved;
1138
1139
  attribute :>> acceptanceCriteria = "After cancel: Inhibited_Infusion_macro = FALSE AND Inhibited_Bolus_macro = FALSE AND Inhibited_PatientBolus_macro = FALSE AND audio cleared for that notification.";
1139
1140
  attribute :>> subjectDescription = "Notification cancellation";
1140
1141
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 66)";
@@ -1145,7 +1146,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1145
1146
  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.";
1146
1147
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1147
1148
  attribute :>> concernKind = ConcernKind::safety;
1148
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1149
+ attribute :>> status = ElementStatusKind::approved;
1149
1150
  attribute :>> acceptanceCriteria = "After cancel, the next active notification (by priority, then recency) becomes the notification in effect.";
1150
1151
  attribute :>> subjectDescription = "Notification cancellation";
1151
1152
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 (REQ 67)";
@@ -1158,7 +1159,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1158
1159
  attribute :>> statement = "The system shall display all active notifications in order of priority and descending order of occurrence (Notification_Visual_output).";
1159
1160
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1160
1161
  attribute :>> concernKind = ConcernKind::usability;
1161
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1162
+ attribute :>> status = ElementStatusKind::approved;
1162
1163
  attribute :>> acceptanceCriteria = "Notification_Visual_output lists active notifications ordered by priority, then most recent first.";
1163
1164
  attribute :>> subjectDescription = "Visual notification";
1164
1165
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.1 (REQ 68)";
@@ -1169,7 +1170,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1169
1170
  attribute :>> statement = "The system shall display the name of all the active notifications and the time of the occurrence.";
1170
1171
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1171
1172
  attribute :>> concernKind = ConcernKind::usability;
1172
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1173
+ attribute :>> status = ElementStatusKind::approved;
1173
1174
  attribute :>> acceptanceCriteria = "Every active notification is shown with name and occurrence time.";
1174
1175
  attribute :>> subjectDescription = "Visual notification";
1175
1176
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.1 (REQ 69)";
@@ -1180,7 +1181,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1180
1181
  attribute :>> statement = "When more than one notification occurs at the same time, the system shall display all the notifications as per REQ 68.";
1181
1182
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1182
1183
  attribute :>> concernKind = ConcernKind::usability;
1183
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1184
+ attribute :>> status = ElementStatusKind::approved;
1184
1185
  attribute :>> acceptanceCriteria = "Simultaneous notifications are all displayed in REQ 68 order.";
1185
1186
  attribute :>> subjectDescription = "Visual notification";
1186
1187
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.1 (REQ 70)";
@@ -1191,7 +1192,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1191
1192
  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.";
1192
1193
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1193
1194
  attribute :>> concernKind = ConcernKind::usability;
1194
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1195
+ attribute :>> status = ElementStatusKind::approved;
1195
1196
  attribute :>> acceptanceCriteria = "Cancelled notification disappears from the displayed list; remaining list stays displayed.";
1196
1197
  attribute :>> subjectDescription = "Visual notification";
1197
1198
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.1 (REQ 71)";
@@ -1204,7 +1205,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1204
1205
  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.";
1205
1206
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1206
1207
  attribute :>> concernKind = ConcernKind::safety;
1207
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1208
+ attribute :>> status = ElementStatusKind::approved;
1208
1209
  attribute :>> acceptanceCriteria = "Audio-flagged notification => one audible sound at Audio_level_const (50 db for 2 seconds per I 8) unless Disable_audio_prog is set.";
1209
1210
  attribute :>> subjectDescription = "Audio notification";
1210
1211
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.2 (REQ 72)";
@@ -1215,7 +1216,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1215
1216
  attribute :>> statement = "The system shall allow the clinician to disable audible alarm, silence the alarm temporarily and enable a disabled or silenced alarm.";
1216
1217
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1217
1218
  attribute :>> concernKind = ConcernKind::usability;
1218
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1219
+ attribute :>> status = ElementStatusKind::approved;
1219
1220
  attribute :>> acceptanceCriteria = "Notification_Audio_output = FALSE if Disable_audio_prog = 'PERM' (disabled) or 'TEMP' (silenced); Notification_Audio_output = TRUE if Disable_audio_prog = FALSE.";
1220
1221
  attribute :>> subjectDescription = "Audio notification";
1221
1222
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.2 (REQ 73)";
@@ -1226,7 +1227,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1226
1227
  attribute :>> statement = "If Disable_audio_prog = 'PERM' or 'TEMP', the system shall not produce audible alarm until it is enabled (Disable_audio_prog = FALSE).";
1227
1228
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1228
1229
  attribute :>> concernKind = ConcernKind::usability;
1229
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1230
+ attribute :>> status = ElementStatusKind::approved;
1230
1231
  attribute :>> acceptanceCriteria = "No audible alarm while Disable_audio_prog is 'PERM' or 'TEMP'.";
1231
1232
  attribute :>> subjectDescription = "Audio notification";
1232
1233
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.2 (REQ 74)";
@@ -1237,7 +1238,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1237
1238
  attribute :>> statement = "If Disable_audio_prog = 'TEMP', the system shall automatically enable it (Disable_audio_prog = FALSE) after Audio_Enable_Duration_const minutes.";
1238
1239
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1239
1240
  attribute :>> concernKind = ConcernKind::safety;
1240
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1241
+ attribute :>> status = ElementStatusKind::approved;
1241
1242
  attribute :>> acceptanceCriteria = "Temporary silence expires after Audio_Enable_Duration_const (30) minutes.";
1242
1243
  attribute :>> subjectDescription = "Audio notification";
1243
1244
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.2 (REQ 75)";
@@ -1248,7 +1249,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1248
1249
  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.";
1249
1250
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1250
1251
  attribute :>> concernKind = ConcernKind::safety;
1251
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1252
+ attribute :>> status = ElementStatusKind::approved;
1252
1253
  attribute :>> acceptanceCriteria = "Audio-flagged notification active > Audio_Enable_Duration_const minutes => REQ 72 sound re-produced.";
1253
1254
  attribute :>> subjectDescription = "Audio notification";
1254
1255
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3.2 (REQ 76)";
@@ -1261,7 +1262,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1261
1262
  attribute :>> statement = "The system shall log all the operational and error data when the system is in ON mode.";
1262
1263
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1263
1264
  attribute :>> concernKind = ConcernKind::regulatory;
1264
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1265
+ attribute :>> status = ElementStatusKind::approved;
1265
1266
  attribute :>> acceptanceCriteria = "Operational log and error log are recorded whenever the system is in ON mode.";
1266
1267
  attribute :>> subjectDescription = "Logging";
1267
1268
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.4 (REQ 77)";
@@ -1272,7 +1273,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1272
1273
  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.";
1273
1274
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1274
1275
  attribute :>> concernKind = ConcernKind::regulatory;
1275
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1276
+ attribute :>> status = ElementStatusKind::approved;
1276
1277
  attribute :>> acceptanceCriteria = "Operational log entries appear every Log_Interval_const (5) minutes and on every mode transition, with all six fields.";
1277
1278
  attribute :>> subjectDescription = "Logging";
1278
1279
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.4 (REQ 78)";
@@ -1283,7 +1284,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1283
1284
  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).";
1284
1285
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1285
1286
  attribute :>> concernKind = ConcernKind::regulatory;
1286
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1287
+ attribute :>> status = ElementStatusKind::approved;
1287
1288
  attribute :>> acceptanceCriteria = "Infusion-complete log entry includes total volume infused and total ACTIVE-mode duration.";
1288
1289
  attribute :>> subjectDescription = "Logging";
1289
1290
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.4 (REQ 79)";
@@ -1294,7 +1295,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1294
1295
  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.";
1295
1296
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1296
1297
  attribute :>> concernKind = ConcernKind::regulatory;
1297
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1298
+ attribute :>> status = ElementStatusKind::approved;
1298
1299
  attribute :>> acceptanceCriteria = "Every REQ 59 notification produces an error log entry with all five fields.";
1299
1300
  attribute :>> subjectDescription = "Logging";
1300
1301
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.4 (REQ 80)";
@@ -1305,7 +1306,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1305
1306
  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.";
1306
1307
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1307
1308
  attribute :>> concernKind = ConcernKind::regulatory;
1308
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1309
+ attribute :>> status = ElementStatusKind::approved;
1309
1310
  attribute :>> acceptanceCriteria = "Every notification cancellation produces an operational log entry with all three fields.";
1310
1311
  attribute :>> subjectDescription = "Logging";
1311
1312
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.4 (REQ 81)";
@@ -1318,7 +1319,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1318
1319
  attribute :>> statement = "The system shall allow only authorized clinicians to configure the system.";
1319
1320
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1320
1321
  attribute :>> concernKind = ConcernKind::cybersecurity;
1321
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1322
+ attribute :>> status = ElementStatusKind::approved;
1322
1323
  attribute :>> acceptanceCriteria = "Configuration is rejected for unauthorized users.";
1323
1324
  attribute :>> subjectDescription = "System configuration access";
1324
1325
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.5 (REQ 82)";
@@ -1331,7 +1332,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1331
1332
  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.";
1332
1333
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1333
1334
  attribute :>> concernKind = ConcernKind::reliability;
1334
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1335
+ attribute :>> status = ElementStatusKind::approved;
1335
1336
  attribute :>> acceptanceCriteria = "Drop from height y m (value left open by the source) onto laminate floor causes no breakage.";
1336
1337
  attribute :>> subjectDescription = "GPCA enclosure";
1337
1338
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §5.1 (REQ 83)";
@@ -1342,7 +1343,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1342
1343
  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.";
1343
1344
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1344
1345
  attribute :>> concernKind = ConcernKind::reliability;
1345
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1346
+ attribute :>> status = ElementStatusKind::approved;
1346
1347
  attribute :>> acceptanceCriteria = "Exposure to < x ml (value left open by the source) non-acidic liquid for up to 2 hours causes no ingress failure.";
1347
1348
  attribute :>> subjectDescription = "GPCA enclosure";
1348
1349
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §5.1 (REQ 84)";
@@ -1353,7 +1354,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1353
1354
  attribute :>> statement = "The system shall persist the most recent 30 days of error log data and 15 days of operational log data.";
1354
1355
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1355
1356
  attribute :>> concernKind = ConcernKind::regulatory;
1356
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1357
+ attribute :>> status = ElementStatusKind::approved;
1357
1358
  attribute :>> acceptanceCriteria = "error log retention >= Error_Log_Retention (30 days); operational log retention >= Operational_Log_Retention (15 days)";
1358
1359
  attribute :>> subjectDescription = "Logging";
1359
1360
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §5.1 (REQ 85)";
@@ -1364,7 +1365,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1364
1365
  attribute :>> statement = "The system shall persist the last saved prescription data for 15 days.";
1365
1366
  attribute :>> sourceKind = RequirementSourceKind::sourceDocument;
1366
1367
  attribute :>> concernKind = ConcernKind::regulatory;
1367
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1368
+ attribute :>> status = ElementStatusKind::approved;
1368
1369
  attribute :>> acceptanceCriteria = "saved prescription retention >= Prescription_Persist_Duration (15 days)";
1369
1370
  attribute :>> subjectDescription = "Prescription storage";
1370
1371
  attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §5.1 (REQ 86)";
@@ -1381,7 +1382,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1381
1382
  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.";
1382
1383
  attribute :>> sourceKind = RequirementSourceKind::extension;
1383
1384
  attribute :>> concernKind = ConcernKind::safety;
1384
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1385
+ attribute :>> status = ElementStatusKind::approved;
1385
1386
  attribute :>> acceptanceCriteria = "Hard-limit violations cannot be saved; soft-limit violations require a distinct confirmation step; both are logged.";
1386
1387
  attribute :>> subjectDescription = "Config";
1387
1388
  attribute :>> actorDescription = "clinician";
@@ -1400,7 +1401,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1400
1401
  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.";
1401
1402
  attribute :>> sourceKind = RequirementSourceKind::extension;
1402
1403
  attribute :>> concernKind = ConcernKind::safety;
1403
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1404
+ attribute :>> status = ElementStatusKind::approved;
1404
1405
  attribute :>> acceptanceCriteria = "Failed POST inhibits all infusion modes and raises a High-priority notification.";
1405
1406
  attribute :>> subjectDescription = "System_Monitor and Top_Level_Mode";
1406
1407
  attribute :>> actorDescription = "clinician";
@@ -1419,7 +1420,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1419
1420
  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.";
1420
1421
  attribute :>> sourceKind = RequirementSourceKind::extension;
1421
1422
  attribute :>> concernKind = ConcernKind::safety;
1422
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1423
+ attribute :>> status = ElementStatusKind::approved;
1423
1424
  attribute :>> acceptanceCriteria = "Stored prescription checksum verifies after power cycle; therapy does not auto-resume. Retention durations remain governed by REQ-CS-85/86.";
1424
1425
  attribute :>> subjectDescription = "Config and Top_Level_Mode";
1425
1426
  attribute :>> actorDescription = "clinician";
@@ -1439,7 +1440,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1439
1440
  attribute :>> sourceKind = RequirementSourceKind::extension;
1440
1441
  attribute :>> concernKind = ConcernKind::safety;
1441
1442
  attribute :>> safetyClass = SafetyClassKind::C;
1442
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1443
+ attribute :>> status = ElementStatusKind::approved;
1443
1444
  attribute :>> acceptanceCriteria = "Occlusion above threshold pauses infusion within one execution step and annunciates. Complements REQ-CS-17 under-infusion detection with a direct pressure measurement.";
1444
1445
  attribute :>> subjectDescription = "Alarm and Infusion_Manager";
1445
1446
  attribute :>> actorDescription = "patient";
@@ -1454,7 +1455,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1454
1455
  attribute :>> sourceKind = RequirementSourceKind::extension;
1455
1456
  attribute :>> concernKind = ConcernKind::safety;
1456
1457
  attribute :>> safetyClass = SafetyClassKind::C;
1457
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1458
+ attribute :>> status = ElementStatusKind::approved;
1458
1459
  attribute :>> acceptanceCriteria = "Flow command forced to zero whenever door state is open; notification raised on transition during ACTIVE.";
1459
1460
  attribute :>> subjectDescription = "Infusion_Manager";
1460
1461
  attribute :>> actorDescription = "clinician";
@@ -1474,7 +1475,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1474
1475
  attribute :>> sourceKind = RequirementSourceKind::extension;
1475
1476
  attribute :>> concernKind = ConcernKind::safety;
1476
1477
  attribute :>> safetyClass = SafetyClassKind::C;
1477
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1478
+ attribute :>> status = ElementStatusKind::approved;
1478
1479
  attribute :>> acceptanceCriteria = "Cumulative delivered volume in every one-hour window is at or below the prescribed maximum. Complements the CriSys total-VTBI ceiling (REQ-CS-20, REQ-CS-28).";
1479
1480
  attribute :>> subjectDescription = "Infusion_Manager";
1480
1481
  attribute :>> actorDescription = "patient";
@@ -1489,7 +1490,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1489
1490
  attribute :>> sourceKind = RequirementSourceKind::extension;
1490
1491
  attribute :>> concernKind = ConcernKind::regulatory;
1491
1492
  attribute :>> safetyClass = SafetyClassKind::B;
1492
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1493
+ attribute :>> status = ElementStatusKind::approved;
1493
1494
  attribute :>> acceptanceCriteria = "Modification of a stored log entry is detectable. Log content and cadence are governed by REQ-CS-77..81; retention by REQ-CS-85.";
1494
1495
  attribute :>> subjectDescription = "Logging";
1495
1496
  attribute :>> actorDescription = "clinician and auditor";
@@ -1504,7 +1505,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1504
1505
  attribute :>> sourceKind = RequirementSourceKind::extension;
1505
1506
  attribute :>> concernKind = ConcernKind::safety;
1506
1507
  attribute :>> safetyClass = SafetyClassKind::C;
1507
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1508
+ attribute :>> status = ElementStatusKind::approved;
1508
1509
  attribute :>> acceptanceCriteria = "Induced CPU hang results in zero flow and alarm within the watchdog timeout.";
1509
1510
  attribute :>> subjectDescription = "System_Monitor and watchdog hardware";
1510
1511
  attribute :>> actorDescription = "clinician";
@@ -1524,7 +1525,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1524
1525
  attribute :>> sourceKind = RequirementSourceKind::extension;
1525
1526
  attribute :>> concernKind = ConcernKind::safety;
1526
1527
  attribute :>> safetyClass = SafetyClassKind::C;
1527
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1528
+ attribute :>> status = ElementStatusKind::approved;
1528
1529
  attribute :>> acceptanceCriteria = "Continuous assertion beyond 60 s produces no bolus and raises a notification. Complements REQ-CS-25/26 request-level filtering with an input-failure check.";
1529
1530
  attribute :>> subjectDescription = "Infusion_Manager";
1530
1531
  attribute :>> actorDescription = "patient";
@@ -1539,7 +1540,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1539
1540
  attribute :>> sourceKind = RequirementSourceKind::extension;
1540
1541
  attribute :>> concernKind = ConcernKind::safety;
1541
1542
  attribute :>> safetyClass = SafetyClassKind::C;
1542
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1543
+ attribute :>> status = ElementStatusKind::approved;
1543
1544
  attribute :>> acceptanceCriteria = "Injected flow deviation beyond Tolerance_Min_const (5 %) sustained past Max_Duration_OverInfusion_const pauses therapy and annunciates; detection is independent of motor control.";
1544
1545
  attribute :>> subjectDescription = "Alarm and Infusion_Manager";
1545
1546
  attribute :>> actorDescription = "patient";
@@ -1553,7 +1554,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1553
1554
  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.";
1554
1555
  attribute :>> sourceKind = RequirementSourceKind::extension;
1555
1556
  attribute :>> concernKind = ConcernKind::performance;
1556
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1557
+ attribute :>> status = ElementStatusKind::approved;
1557
1558
  attribute :>> acceptanceCriteria = "Gravimetric bench test across min/nominal/max rates within ±5% (Tolerance_Min_const).";
1558
1559
  attribute :>> subjectDescription = "PumpMotorAssembly";
1559
1560
  attribute :>> actorDescription = "patient";
@@ -1568,7 +1569,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1568
1569
  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.";
1569
1570
  attribute :>> sourceKind = RequirementSourceKind::extension;
1570
1571
  attribute :>> concernKind = ConcernKind::usability;
1571
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1572
+ attribute :>> status = ElementStatusKind::approved;
1572
1573
  attribute :>> acceptanceCriteria = "Calibrated SPL measurement meets Audio_level_const for each priority tone.";
1573
1574
  attribute :>> subjectDescription = "AudibleAlarmAnnunciator";
1574
1575
  attribute :>> actorDescription = "clinician";
@@ -1583,7 +1584,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1583
1584
  attribute :>> statement = "The battery shall sustain nominal therapy and alarm annunciation for at least 4 hours after loss of mains power.";
1584
1585
  attribute :>> sourceKind = RequirementSourceKind::extension;
1585
1586
  attribute :>> concernKind = ConcernKind::reliability;
1586
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1587
+ attribute :>> status = ElementStatusKind::approved;
1587
1588
  attribute :>> acceptanceCriteria = "Discharge test at nominal rate exceeds 4 h with low-battery warning at 30 min remaining.";
1588
1589
  attribute :>> subjectDescription = "BatteryPack";
1589
1590
  attribute :>> actorDescription = "clinician";
@@ -1598,7 +1599,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_requirements {
1598
1599
  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.";
1599
1600
  attribute :>> sourceKind = RequirementSourceKind::extension;
1600
1601
  attribute :>> concernKind = ConcernKind::safety;
1601
- attribute :>> requirementStatus = RequirementStatusKind::approved;
1602
+ attribute :>> status = ElementStatusKind::approved;
1602
1603
  attribute :>> acceptanceCriteria = "No measurable flow under gravity head with set disengaged and door open.";
1603
1604
  attribute :>> subjectDescription = "AntiFreeFlowValve";
1604
1605
  attribute :>> actorDescription = "patient";