WHO SMART Guidelines - HIV
0.3.0 - ci-build

WHO SMART Guidelines - HIV - Local Development build (v0.3.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Functional Requirements

Functional requirements describe the capabilities the system must have in order to meet the end-users’ needs and achieve tasks within the business process.

These requirements are taken from Component 8 and Web Annex D of the WHO Digital Adaptation Kit for HIV (link forthcoming).

Please note that these are not exhaustive lists and should be modified according to context and user persona needs

Key Requirement
HIV.FXNREQ.001

As a Health worker or data entry clerk I want to ensure that the privacy and confidentiality of clients are assured So that clients’ rights and safety are protected and the facility is in compliance with any relevant international or local data protection policies

HIV.FXNREQ.002

As a Health worker or data entry clerk I want to search to see whether client is already in the system So that I can check whether this is a new or existing client

HIV.FXNREQ.003

As a Health worker or data entry clerk I want the system to require me (a user) to search to see whether a client is already in the system prior to starting a new medical record entry So that I can confirm that it is the correct client and update information as necessary

HIV.FXNREQ.004

As a Health worker or data entry clerk I want the system to be able to work offline So that I can carry on care service provision regardless of internet connection. Once the system goes back online, the data is synchronized with the central system

HIV.FXNREQ.005

As a Health worker or data entry clerk I want to provide sufficient data to rule out the possibility that this client is already in the system So that I can avoid duplicates

HIV.FXNREQ.006

As a Health worker or data entry clerk I want to enter a temporary identification in situations when full identity unknown So that I can proceed with registration

HIV.FXNREQ.007

As a Health worker or data entry clerk I want to edit fields on screen before information is committed So that I can ensure information has been checked before submission

HIV.FXNREQ.008

As a Health worker or data entry clerk I want to generate encounter number for contact So that I can initiate the required care services

HIV.FXNREQ.009

As a Health worker or data entry clerk I want to generate or associate to existing facility medical record number So that I can check and confirm the information

HIV.FXNREQ.010

As a Health worker or data entry clerk I want to record if a client consents to follow-up So that the client’s privacy regarding follow-up is protected

HIV.FXNREQ.011

As a Health worker or data entry clerk I want to update the type of setting where care is being provided (in the community or facility) So that I can track where and in what settings cases are being identified (used for indicator HTS.2 HTS test volume and positivity)

HIV.FXNREQ.012

As a Health worker or data entry clerk I want to be able to flag when a client wishes to be contacted with a reminder So that the client can be better supported to remain in care.

HIV.FXNREQ.013

As a Programme manager I want to ensure the system prompts the health worker to get informed consent from the client So that jurisdictional requirements are adhered to and clients’ rights are protected

HIV.FXNREQ.014

As a Health worker or data entry clerk I want to be able to update demographic information So that the most current information on client can be recorded

HIV.FXNREQ.015

As a Health worker or data entry clerk I want to retain previous history of updated information So that I can review past information

HIV.FXNREQ.016

As a Health worker or data entry clerk I want , if this is a returning contact, to add the information to their previous contact So that I can link the information across different contacts

HIV.FXNREQ.017

As a Health worker or data entry clerk I want to be able to update the client history from client-held records So that the clients' history of HIV care can be available when they go to other facilities (for example, transfer, hospital, TB clinic) if history or transfer information is not available from past facilities directly.

HIV.FXNREQ.018

As a Health worker or data entry clerk I want to record a time-and-date-stamped new contact (encounter) So that I can confirm when the client came

HIV.FXNREQ.019

As a Health worker or data entry clerk I want to be able to attach a unique identifier (without using name, address, or other personal information) to the client's record based on national standards consent So that I have additional ways of identifying client.

HIV.FXNREQ.020

As a Health worker I want to have the ability to “check in” a client for a scheduled contact So that I can initiate services at client contact

HIV.FXNREQ.021

As a Health worker or data entry clerk I want to provide a list or roster of all clients due to arrive So that I know which clients to follow-up or are due for services


Key Requirement
HIV.FXNREQ.022

As a Health worker I want to identify the date of the last attended contact So that I can ensure the client is receiving services according to recommended schedule

HIV.FXNREQ.023

As a Health worker I want the system to highlight abnormal values So that I can identify critical health issues or errors (if a data-entry issue)

HIV.FXNREQ.024

As a Health worker I want to see which clinical staging conditions or symptoms the client has already experienced So that the information may be used to help classify the client’s HIV disease severity.

HIV.FXNREQ.025

As a Health worker I want the system to provide real-time range checks and integrity checks on data So that I can ensure entry of accurate information and reduce errors

HIV.FXNREQ.026

As a Health worker or data entry clerk I want to record the HIV status of partners or family members of clients, with proper consent So that I can provide specialized care (for example, in serodiscordant couples)

HIV.FXNREQ.027

As a Health worker I want to review past medical history previously entered So that I can provide appropriate services according to the latest clinical protocols

HIV.FXNREQ.028

As a Health worker or data entry clerk I want to have different question and language prompts when clients are from different populations So that I can better support populations such as adolescents, paediatric clients and caregivers and their unique needs.

HIV.FXNREQ.029

As a Health worker I want a list of tests that I (the health worker) can order So that I can provide appropriate services according to the latest clinical protocols

HIV.FXNREQ.030

As a Health worker I want to print a requisition for lab tests, which includes required information for performing the test So that I can provide the client with list of test required

HIV.FXNREQ.031

As a Health worker I want the system to suggest appropriate treatments/investigations based on data entered So that I can provide appropriate services according to the latest clinical protocols

HIV.FXNREQ.032

As a Health worker I want to see where I can refer clients for specialized counselling that I’m not qualified to provide So that I can direct clients to where they can get the confidential and sensitive support they need

HIV.FXNREQ.033

As a Health worker I want to see a schedule of available days So that I can notify the client when to return for subsequent contact

HIV.FXNREQ.034

As a Health worker I want to have the system automatically calculate the date when the client should return for care based on, for example, risk, prevalence or clinical stability So that I do not have to calculate this myself


Key Requirement
HIV.FXNREQ.035

As a Health worker I want to be prompted to ask about conditions which would exclude a client from certain services So that clients are not provided with services that may not be safe for them

HIV.FXNREQ.036

As a Health worker I want to log the reason a client is not medically eligible for a method So that the next provider has this information, client safety is better protected, and on a future visit it is easier to check whether a client is now eligible

HIV.FXNREQ.037

As a Health worker I want to be alerted if a client was previously not eligible for a method So that I do not have to search through records, given I have limited time

HIV.FXNREQ.038

As a Health worker I want to have flexibility to perform screenings and clinical activities based on my clinical judgment So that I can screen clients for recommended, desirable or other tests in an efficient way

HIV.FXNREQ.039

As a Health worker I want to be able to input custom schedules to allow for contacts on specific days and times, account for holidays, etc So that I can inform the client of their next contact


Key Requirement
HIV.FXNREQ.040

As a Health worker I want to have access to clients’ ART history in one place So that I can support clients with adherence and ensure their regimens are working.

HIV.FXNREQ.041

As a Health worker I want to have access to key test results in one place, such as viral load and CD4 counts So that I can better monitor how a client is responding to treatment.

HIV.FXNREQ.042

As a Health worker I want to see which criteria in the decision logic was met to indicate possible treatment failure So that I can review additional criteria not in the digital record and make a clinical judgment

HIV.FXNREQ.043

As a Health worker I want to be able to expedite diagnostic orders So that clients who may have urgent care needs can be identified, such as infants with HIV

HIV.FXNREQ.044

As a Health worker I want to have additional screenings and diagnostics recommended based on the medications the client is being prescribed So that the necessary screenings and diagnostics are identified during the visit.

HIV.FXNREQ.045

As a Health worker I want the system to provide context-sensitive, real-time decision support in response to entry of clinical data (alerts, advice, resources) So that I can provide appropriate services according to the latest clinical protocols


Key Requirement
HIV.FXNREQ.046

As a Health worker I want the system to be capable to receive diagnosis test results from laboratories or other test centers So that I can have a faster patient follow-up


Key Requirement
HIV.FXNREQ.047

As a Health worker or data entry clerk I want to provide a list of scheduled contact dates to allow for defaulters to be traced So that I can track and follow-up clients requiring services

HIV.FXNREQ.048

As a Facility or community staff member I want to be able to identify clients who tested positive for HIV but have not linked to care So that I can follow up with clients who have not initiated care or may not have received confirmatory testing.

HIV.FXNREQ.049

As a Facility or community staff member I want to record when a client who self-reported as transferring is confirmed to have transferred So that I can better identify patients that are truly lost to follow-up.


Key Requirement
HIV.FXNREQ.050

As a Facility staff member I want to bypass the standard flow at any point if there are signs of serious illness or emergency care is needed; urgent cases should be flagged and seen promptly So that the client can be referred, if needed.

HIV.FXNREQ.051

As a Health worker I want to be able to find out where the required service may be available So that I can refer my client to another facility to receive the appropriate services

HIV.FXNREQ.052

As a Health worker I want to have the ability to find facilities that can provide the service or method that mine cannot provide So that the client does not travel to a facility that cannot help them

HIV.FXNREQ.053

As a Health worker I want to have a list of the contact information for referral facilities So that I can easily contact the facility when making the referral arrangements

HIV.FXNREQ.054

As a Health worker I want to be able to share the client’s health records with the referral facility staff So that they can provide the care that the client needs

HIV.FXNREQ.055

As a Health worker I want to know what care and treatment the client received at the referral facility So that I can provide appropriate care if the client comes back to my facility


Key Requirement
HIV.FXNREQ.056

As a Facility staff member I want to produce a range of prepared and ad hoc reports and analyses So that I am able to use data collected at the facility, including for service delivery (beyond reporting purposes alone).

HIV.FXNREQ.057

As a Facility staff member I want to be able to identify clients that left before a visit was completed So that I can better monitor facility performance (for example, through wait times and clients leaving before completing a visit)

HIV.FXNREQ.058

As a Health worker or data entry clerk I want to be able to view data on my own performance and service delivery So that I can understand trends and challenges and track my own performance over time


Key Requirement
HIV.NFXNREQ.001

For Security - confidentiality , Provide password protected access for authorized users

HIV.NFXNREQ.002

For Security - confidentiality , Provide a means to ensure confidentiality and privacy of personal health information

HIV.NFXNREQ.003

For Security - confidentiality , Provide ability for authorized users to view confidential data

HIV.NFXNREQ.004

For Security - confidentiality , Anonymise data that is exported from the system

HIV.NFXNREQ.005

For Security - confidentiality , Prevent remembering username and password

HIV.NFXNREQ.006

For Security - confidentiality , Log out the user after specified time of inactivity

HIV.NFXNREQ.007

For Security - confidentiality , Provide encrypted communication between components

HIV.NFXNREQ.008

For Security - authentication , Notify the user to change their password the first time they log in

HIV.NFXNREQ.009

For Security - authentication , Adhere to complex password requirements

HIV.NFXNREQ.010

For Security - authentication , Provide a mechanism to securely change a user's password

HIV.NFXNREQ.011

For Security - authentication , Notify the user of password change to their account

HIV.NFXNREQ.012

For Security - authentication , Reset a user's password in a secure manner

HIV.NFXNREQ.013

For Security - authentication , Lock a user out after a specified number of wrong password attempts

HIV.NFXNREQ.014

For Security - authentication , Notify a user if their account is locked due to wrong password attempts

HIV.NFXNREQ.015

For Security - authentication , Provide role-based access to the system

HIV.NFXNREQ.016

For Security - audit trail and logs , Log system logins and logouts

HIV.NFXNREQ.017

For Security - audit trail and logs , Record all authentication violations

HIV.NFXNREQ.018

For Security - audit trail and logs , Log all activities performed by the user, including date and time stamp

HIV.NFXNREQ.019

For Security - audit trail and logs , Log access to views of individual client records

HIV.NFXNREQ.020

For Security - audit trail and logs , Log access to data summaries, reports, analysis and visualization features

HIV.NFXNREQ.021

For Security - audit trail and logs , Log exchange of data with other systems

HIV.NFXNREQ.022

For Security - audit trail and logs , Generate analysis of the usage of different system features and reports

HIV.NFXNREQ.023

For Security - audit trail and logs , Log all data and system errors

HIV.NFXNREQ.024

For Security - user management , Allow user with permission to create a new user and temporary password

HIV.NFXNREQ.025

For Security - user management , Provide role-based access

HIV.NFXNREQ.026

For Security - user management , Allow roles to be associated with specific geographical areas and/or health facilities

HIV.NFXNREQ.027

For Security - user management , Allow cascading user management and assignment of roles

HIV.NFXNREQ.028

For Security - user management , Allow user to change their own password

HIV.NFXNREQ.029

For Security - user management , Allow admin user to request password reset

HIV.NFXNREQ.030

For Security - user management , Notify the user to regularly change the user's password

HIV.NFXNREQ.031

For Security - user management , Allow each user to be assigned to one or more roles

HIV.NFXNREQ.032

For Security - user management , Support definitions of unlimited roles and assigned levels of access, viewing, entry, editing and auditing

HIV.NFXNREQ.033

For System requirements - general , Provide a unique version number for each revision

HIV.NFXNREQ.034

For System requirements - general , Enable earlier versions of a record to be recoverable

HIV.NFXNREQ.035

For System requirements - general , Enable deployment in an environment subject to power loss

HIV.NFXNREQ.036

For System requirements - general , Work in an environment that is subject to loss of connectivity

HIV.NFXNREQ.037

For System requirements - general , Generate IDs that are unique across different installations or sites

HIV.NFXNREQ.038

For System requirements - general , Report version number when saving data to the database

HIV.NFXNREQ.039

For System requirements - general , Be designed to be flexible enough to accommodate necessary changes in the future

HIV.NFXNREQ.040

For System requirements - general , Allow for offline and online functionality

HIV.NFXNREQ.041

For System requirements - general , Show the number of records that are not yet synchronised

HIV.NFXNREQ.042

For System requirements - general , Have ability to easily back up information

HIV.NFXNREQ.043

For System requirements - general , Warn user if no valid backup for more than a predefined number of days

HIV.NFXNREQ.044

For System requirements - general , Must have the ability to store images and other unstructured data

HIV.NFXNREQ.045

For System requirements - scalability , Scalable to accommodate new demands

HIV.NFXNREQ.046

For System requirements - scalability , Be able to accommodate at least [x number of] health facilities

HIV.NFXNREQ.047

For System requirements - scalability , Be able to accommodate at least [x number of] concurrent users

HIV.NFXNREQ.048

For System requirements - usability , Be user-friendly for people with low computer literacy

HIV.NFXNREQ.049

For System requirements - usability , Provide informative error messages and tooltips

HIV.NFXNREQ.050

For System requirements - usability , Alert the user when navigating away from the form without saving

HIV.NFXNREQ.051

For System requirements - usability , Support real time data entry validation and feedback to prevent data entry errors from being recorded

HIV.NFXNREQ.052

For System requirements - usability , Simplify data recording through predefined drop-down or searchable lists, radio buttons, check boxes

HIV.NFXNREQ.053

For System requirements - usability , Support multiple languages

HIV.NFXNREQ.054

For System requirements - usability , Use industry standard user interface practices and apply them in a consistent manner throughout the system

HIV.NFXNREQ.055

For System requirements - usability , Easy to learn and intuitive to enable user to navigate between pages

HIV.NFXNREQ.056

For System requirements - usability , Provide guidance to the users to better support clinical guidelines and best clinical practices

HIV.NFXNREQ.057

For System requirements - usability , Be reliable and robust (minimize the number of system crashes)

HIV.NFXNREQ.058

For System requirements - usability , Adjust display to fit small screens (e.g. mobile phones)

HIV.NFXNREQ.059

For System requirements - configuration , Configure the system centrally

HIV.NFXNREQ.060

For System requirements - configuration , Configure business rules in line with guidelines and standard operating procedures (SOPs)

HIV.NFXNREQ.061

For System requirements - configuration , Configure error messages

HIV.NFXNREQ.062

For System requirements - configuration , Configure workflows and business rules to accommodate differences between facilities

HIV.NFXNREQ.063

For System requirements - interoperability , Communicate with external systems through mediators

HIV.NFXNREQ.064

For System requirements - interoperability , Provide access to data through application programming interfaces (APIs)

HIV.NFXNREQ.065

For System requirements - interoperability , Be interoperable with external systems through mediators

HIV.NFXNREQ.066

For System requirements - interoperability , Link with insurance systems to verify eligibility and submit claims

HIV.NFXNREQ.067

For System requirements - interoperability , Exchange data with other approved systems

HIV.NFXNREQ.068

For System requirements - interoperability , Accept data from multiple input methods including paper, geocoding (GPS)

HIV.NFXNREQ.069

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