From 7db32118bc7fcb52af1eb534905badfc0712b251 Mon Sep 17 00:00:00 2001 From: Mutesasira Moses Date: Mon, 1 Jul 2024 22:44:36 +0300 Subject: [PATCH] Update HIV.Non_Functional.fsh (#26) (#11) --- input/fsh/requirements/HIV.Non_Functional.fsh | 340 +++++++----------- 1 file changed, 138 insertions(+), 202 deletions(-) diff --git a/input/fsh/requirements/HIV.Non_Functional.fsh b/input/fsh/requirements/HIV.Non_Functional.fsh index 238cca688b2..ada6c9b77ca 100644 --- a/input/fsh/requirements/HIV.Non_Functional.fsh +++ b/input/fsh/requirements/HIV.Non_Functional.fsh @@ -7,409 +7,345 @@ Usage: #example * statement[+] * key = "HIV.NFXNREQ.001" * requirement = """ - Category : Security - confidentiality - Provide password protected access for authorized users - """ + For Security - confidentiality , + Provide password protected access for authorized users """ * statement[+] * key = "HIV.NFXNREQ.002" * requirement = """ - Category : Security - confidentiality - Provide a means to ensure confidentiality and privacy of personal health information - """ + For Security - confidentiality , + Provide a means to ensure confidentiality and privacy of personal health information """ * statement[+] * key = "HIV.NFXNREQ.003" * requirement = """ - Category : Security - confidentiality - Provide ability for authorized users to view confidential data - """ + For Security - confidentiality , + Provide ability for authorized users to view confidential data """ * statement[+] * key = "HIV.NFXNREQ.004" * requirement = """ - Category : Security - confidentiality - Anonymise data that is exported from the system - """ + For Security - confidentiality , + Anonymise data that is exported from the system """ * statement[+] * key = "HIV.NFXNREQ.005" * requirement = """ - Category : Security - confidentiality - Prevent remembering username and password - """ + For Security - confidentiality , + Prevent remembering username and password """ * statement[+] * key = "HIV.NFXNREQ.006" * requirement = """ - Category : Security - confidentiality - Log out the user after specified time of inactivity - """ + For Security - confidentiality , + Log out the user after specified time of inactivity """ * statement[+] * key = "HIV.NFXNREQ.007" * requirement = """ - Category : Security - confidentiality - Provide encrypted communication between components - """ + For Security - confidentiality , + Provide encrypted communication between components """ * statement[+] * key = "HIV.NFXNREQ.008" * requirement = """ - Category : Security - authentication - Notify the user to change their password the first time they log in - """ + For Security - authentication , + Notify the user to change their password the first time they log in """ * statement[+] * key = "HIV.NFXNREQ.009" * requirement = """ - Category : Security - authentication - Adhere to complex password requirements - """ + For Security - authentication , + Adhere to complex password requirements """ * statement[+] * key = "HIV.NFXNREQ.010" * requirement = """ - Category : Security - authentication - Provide a mechanism to securely change a user's password - """ + For Security - authentication , + Provide a mechanism to securely change a user's password """ * statement[+] * key = "HIV.NFXNREQ.011" * requirement = """ - Category : Security - authentication - Notify the user of password change to their account - """ + For Security - authentication , + Notify the user of password change to their account """ * statement[+] * key = "HIV.NFXNREQ.012" * requirement = """ - Category : Security - authentication - Reset a user's password in a secure manner - """ + For Security - authentication , + Reset a user's password in a secure manner """ * statement[+] * key = "HIV.NFXNREQ.013" * requirement = """ - Category : Security - authentication - Lock a user out after a specified number of wrong password attempts - """ + For Security - authentication , + Lock a user out after a specified number of wrong password attempts """ * statement[+] * key = "HIV.NFXNREQ.014" * requirement = """ - Category : Security - authentication - Notify a user if their account is locked due to wrong password attempts - """ + For Security - authentication , + Notify a user if their account is locked due to wrong password attempts """ * statement[+] * key = "HIV.NFXNREQ.015" * requirement = """ - Category : Security - authentication - Provide role-based access to the system - """ + For Security - authentication , + Provide role-based access to the system """ * statement[+] * key = "HIV.NFXNREQ.016" * requirement = """ - Category : Security - audit trail and logs - Log system logins and logouts - """ + For Security - audit trail and logs , + Log system logins and logouts """ * statement[+] * key = "HIV.NFXNREQ.017" * requirement = """ - Category : Security - audit trail and logs - Record all authentication violations - """ + For Security - audit trail and logs , + Record all authentication violations """ * statement[+] * key = "HIV.NFXNREQ.018" * requirement = """ - Category : Security - audit trail and logs - Log all activities performed by the user, including date and time stamp - """ + For Security - audit trail and logs , + Log all activities performed by the user, including date and time stamp """ * statement[+] * key = "HIV.NFXNREQ.019" * requirement = """ - Category : Security - audit trail and logs - Log access to views of individual client records - """ + For Security - audit trail and logs , + Log access to views of individual client records """ * statement[+] * key = "HIV.NFXNREQ.020" * requirement = """ - Category : Security - audit trail and logs - Log access to data summaries, reports, analysis and visualization features - """ + For Security - audit trail and logs , + Log access to data summaries, reports, analysis and visualization features """ * statement[+] * key = "HIV.NFXNREQ.021" * requirement = """ - Category : Security - audit trail and logs - Log exchange of data with other systems - """ + For Security - audit trail and logs , + Log exchange of data with other systems """ * statement[+] * key = "HIV.NFXNREQ.022" * requirement = """ - Category : Security - audit trail and logs - Generate analysis of the usage of different system features and reports - """ + For Security - audit trail and logs , + Generate analysis of the usage of different system features and reports """ * statement[+] * key = "HIV.NFXNREQ.023" * requirement = """ - Category : Security - audit trail and logs - Log all data and system errors - """ + For Security - audit trail and logs , + Log all data and system errors """ * statement[+] * key = "HIV.NFXNREQ.024" * requirement = """ - Category : Security - user management - Allow user with permission to create a new user and temporary password - """ + For Security - user management , + Allow user with permission to create a new user and temporary password """ * statement[+] * key = "HIV.NFXNREQ.025" * requirement = """ - Category : Security - user management - Provide role-based access - """ + For Security - user management , + Provide role-based access """ * statement[+] * key = "HIV.NFXNREQ.026" * requirement = """ - Category : Security - user management - Allow roles to be associated with specific geographical areas and/or health facilities - """ + For Security - user management , + Allow roles to be associated with specific geographical areas and/or health facilities """ * statement[+] * key = "HIV.NFXNREQ.027" * requirement = """ - Category : Security - user management - Allow cascading user management and assignment of roles - """ + For Security - user management , + Allow cascading user management and assignment of roles """ * statement[+] * key = "HIV.NFXNREQ.028" * requirement = """ - Category : Security - user management - Allow user to change their own password - """ + For Security - user management , + Allow user to change their own password """ * statement[+] * key = "HIV.NFXNREQ.029" * requirement = """ - Category : Security - user management - Allow admin user to request password reset - """ + For Security - user management , + Allow admin user to request password reset """ * statement[+] * key = "HIV.NFXNREQ.030" * requirement = """ - Category : Security - user management - Notify the user to regularly change the user's password - """ + For Security - user management , + Notify the user to regularly change the user's password """ * statement[+] * key = "HIV.NFXNREQ.031" * requirement = """ - Category : Security - user management - Allow each user to be assigned to one or more roles - """ + For Security - user management , + Allow each user to be assigned to one or more roles """ * statement[+] * key = "HIV.NFXNREQ.032" * requirement = """ - Category : Security - user management - Support definitions of unlimited roles and assigned levels of access, viewing, entry, editing and auditing - """ + For Security - user management , + Support definitions of unlimited roles and assigned levels of access, viewing, entry, editing and auditing """ * statement[+] * key = "HIV.NFXNREQ.033" * requirement = """ - Category : System requirements - general - Provide a unique version number for each revision - """ + For System requirements - general , + Provide a unique version number for each revision """ * statement[+] * key = "HIV.NFXNREQ.034" * requirement = """ - Category : System requirements - general - Enable earlier versions of a record to be recoverable - """ + For System requirements - general , + Enable earlier versions of a record to be recoverable """ * statement[+] * key = "HIV.NFXNREQ.035" * requirement = """ - Category : System requirements - general - Enable deployment in an environment subject to power loss - """ + For System requirements - general , + Enable deployment in an environment subject to power loss """ * statement[+] * key = "HIV.NFXNREQ.036" * requirement = """ - Category : System requirements - general - Work in an environment that is subject to loss of connectivity - """ + For System requirements - general , + Work in an environment that is subject to loss of connectivity """ * statement[+] * key = "HIV.NFXNREQ.037" * requirement = """ - Category : System requirements - general - Generate IDs that are unique across different installations or sites - """ + For System requirements - general , + Generate IDs that are unique across different installations or sites """ * statement[+] * key = "HIV.NFXNREQ.038" * requirement = """ - Category : System requirements - general - Report version number when saving data to the database - """ + For System requirements - general , + Report version number when saving data to the database """ * statement[+] * key = "HIV.NFXNREQ.039" * requirement = """ - Category : System requirements - general - Be designed to be flexible enough to accommodate necessary changes in the future - """ + For System requirements - general , + Be designed to be flexible enough to accommodate necessary changes in the future """ * statement[+] * key = "HIV.NFXNREQ.040" * requirement = """ - Category : System requirements - general - Allow for offline and online functionality - """ + For System requirements - general , + Allow for offline and online functionality """ * statement[+] * key = "HIV.NFXNREQ.041" * requirement = """ - Category : System requirements - general - Show the number of records that are not yet synchronised - """ + For System requirements - general , + Show the number of records that are not yet synchronised """ * statement[+] * key = "HIV.NFXNREQ.042" * requirement = """ - Category : System requirements - general - Have ability to easily back up information - """ + For System requirements - general , + Have ability to easily back up information """ * statement[+] * key = "HIV.NFXNREQ.043" * requirement = """ - Category : System requirements - general - Warn user if no valid backup for more than a predefined number of days - """ + For System requirements - general , + Warn user if no valid backup for more than a predefined number of days """ * statement[+] * key = "HIV.NFXNREQ.044" * requirement = """ - Category : System requirements - general - Must have the ability to store images and other unstructured data - """ + For System requirements - general , + Must have the ability to store images and other unstructured data """ * statement[+] * key = "HIV.NFXNREQ.045" * requirement = """ - Category : System requirements - scalability - Scalable to accommodate new demands - """ + For System requirements - scalability , + Scalable to accommodate new demands """ * statement[+] * key = "HIV.NFXNREQ.046" * requirement = """ - Category : System requirements - scalability - Be able to accommodate at least [x number of] health facilities - """ + For System requirements - scalability , + Be able to accommodate at least [x number of] health facilities """ * statement[+] * key = "HIV.NFXNREQ.047" * requirement = """ - Category : System requirements - scalability - Be able to accommodate at least [x number of] concurrent users - """ + For System requirements - scalability , + Be able to accommodate at least [x number of] concurrent users """ * statement[+] * key = "HIV.NFXNREQ.048" * requirement = """ - Category : System requirements - usability - Be user-friendly for people with low computer literacy - """ + For System requirements - usability , + Be user-friendly for people with low computer literacy """ * statement[+] * key = "HIV.NFXNREQ.049" * requirement = """ - Category : System requirements - usability - Provide informative error messages and tooltips - """ + For System requirements - usability , + Provide informative error messages and tooltips """ * statement[+] * key = "HIV.NFXNREQ.050" * requirement = """ - Category : System requirements - usability - Alert the user when navigating away from the form without saving - """ + For System requirements - usability , + Alert the user when navigating away from the form without saving """ * statement[+] * key = "HIV.NFXNREQ.051" * requirement = """ - Category : System requirements - usability - Support real time data entry validation and feedback to prevent data entry errors from being recorded - """ + For System requirements - usability , + Support real time data entry validation and feedback to prevent data entry errors from being recorded """ * statement[+] * key = "HIV.NFXNREQ.052" * requirement = """ - Category : System requirements - usability - Simplify data recording through predefined drop-down or searchable lists, radio buttons, check boxes - """ + For System requirements - usability , + Simplify data recording through predefined drop-down or searchable lists, radio buttons, check boxes """ * statement[+] * key = "HIV.NFXNREQ.053" * requirement = """ - Category : System requirements - usability - Support multiple languages - """ + For System requirements - usability , + Support multiple languages """ * statement[+] * key = "HIV.NFXNREQ.054" * requirement = """ - Category : System requirements - usability - Use industry standard user interface practices and apply them in a consistent manner throughout the system - """ + For System requirements - usability , + Use industry standard user interface practices and apply them in a consistent manner throughout the system """ * statement[+] * key = "HIV.NFXNREQ.055" * requirement = """ - Category : System requirements - usability - Easy to learn and intuitive to enable user to navigate between pages - """ + For System requirements - usability , + Easy to learn and intuitive to enable user to navigate between pages """ * statement[+] * key = "HIV.NFXNREQ.056" * requirement = """ - Category : System requirements - usability - Provide guidance to the users to better support clinical guidelines and best clinical practices - """ + For System requirements - usability , + Provide guidance to the users to better support clinical guidelines and best clinical practices """ * statement[+] * key = "HIV.NFXNREQ.057" * requirement = """ - Category : System requirements - usability - Be reliable and robust (minimize the number of system crashes) """ + For System requirements - usability , + Be reliable and robust (minimize the number of system crashes) """ * statement[+] * key = "HIV.NFXNREQ.058" * requirement = """ - Category : System requirements - usability - Adjust display to fit small screens (e.g. mobile phones) """ + For System requirements - usability , + Adjust display to fit small screens (e.g. mobile phones) """ * statement[+] * key = "HIV.NFXNREQ.059" * requirement = """ - Category : System requirements - configuration - Configure the system centrally - """ + For System requirements - configuration , + Configure the system centrally """ * statement[+] * key = "HIV.NFXNREQ.060" * requirement = """ - Category : System requirements - configuration - Configure business rules in line with guidelines and standard operating procedures (SOPs) """ + For System requirements - configuration , + Configure business rules in line with guidelines and standard operating procedures (SOPs) """ * statement[+] * key = "HIV.NFXNREQ.061" * requirement = """ - Category : System requirements - configuration - Configure error messages - """ + For System requirements - configuration , + Configure error messages """ * statement[+] * key = "HIV.NFXNREQ.062" * requirement = """ - Category : System requirements - configuration - Configure workflows and business rules to accommodate differences between facilities - """ + For System requirements - configuration , + Configure workflows and business rules to accommodate differences between facilities """ * statement[+] * key = "HIV.NFXNREQ.063" * requirement = """ - Category : System requirements - interoperability - Communicate with external systems through mediators - """ + For System requirements - interoperability , + Communicate with external systems through mediators """ * statement[+] * key = "HIV.NFXNREQ.064" * requirement = """ - Category : System requirements - interoperability - Provide access to data through application programming interfaces (APIs) """ + For System requirements - interoperability , + Provide access to data through application programming interfaces (APIs) """ * statement[+] * key = "HIV.NFXNREQ.065" * requirement = """ - Category : System requirements - interoperability - Be interoperable with external systems through mediators - """ + For System requirements - interoperability , + Be interoperable with external systems through mediators """ * statement[+] * key = "HIV.NFXNREQ.066" * requirement = """ - Category : System requirements - interoperability - Link with insurance systems to verify eligibility and submit claims - """ + For System requirements - interoperability , + Link with insurance systems to verify eligibility and submit claims """ * statement[+] * key = "HIV.NFXNREQ.067" * requirement = """ - Category : System requirements - interoperability - Exchange data with other approved systems - """ + For System requirements - interoperability , + Exchange data with other approved systems """ * statement[+] * key = "HIV.NFXNREQ.068" * requirement = """ - Category : System requirements - interoperability - Accept data from multiple input methods including paper, geocoding (GPS) """ + For System requirements - interoperability , + Accept data from multiple input methods including paper, geocoding (GPS) """ * statement[+] * key = "HIV.NFXNREQ.069" * requirement = """ - Category : System requirements - hardware and connectivity - Allow for data exchange and efficient synchronization across multiple facilities and points of service when internet is available, even when it is intermittent and slow - """ + For System requirements - hardware and connectivity , + Allow for data exchange and efficient synchronization across multiple facilities and points of service when internet is available, even when it is intermittent and slow """