Excerpt from the requirements specification for KELINDA mobile application development

EX-10.4 3 f10.4excerptfromtherequireme.htm EXCERPT FROM THE SOFTWARE REQUIREMENTS SPECIFICATION   

Excerpt from the requirements specification for

KELINDA mobile application development

 

 

General project description

 

"Kelinda" multilingual mobile application provides users with health check-up panels for children and adults.

There are two types of check-up panels:

- recommended (check-ups, which should be taken at a certain age or by age groups);

- specific (check-ups arranged by specific diseases, if a user is aware that he is predisposed to one or a group of diseases, he adds a corresponding panel to user’s calendar).

A user can create his personal health check-up schedule, turn on and off in-application notifications (reminders) for appointments to taking certain tests and visiting doctors. Alternatively, users are offered to take default schedules provided by chosen panels. That way, the user only needs to define an exact date of an initial appointment of the panel and the rest of schedules appointments shall be pulled into his calendar.

A user can synchronize the in-application check-ups calendar with Apple Calendar and/or Google Calendar of his device.

The application provides an opportunity to store personal data (test results and medical prescriptions, which a user can upload to the application at his discretion) and to exchange these data with other users upon mutual consent. To trusted users, the shared data are only available for viewing, not downloading.

After downloading the mobile application from the Application Store or Google Play Market users are granted a 30-day free trial period (to experience the functionality). At the end of the period, in order to continue using the application, it is required to get a paid subscription (subscription cost is defined by the Customer).

 

 

General requirements

 

1. Operating systems

 

The mobile application must correctly operate on the following platforms: iOS as of 10.0 version, Android as of 5.0 version.

 

2. Requirements to mobile application display

 

The application must be correctly displayed on the screens of the following devices:

 

Android:

LG Nexus 6P, Google Pixel 2, Google Pixel XL 2, Samsung Galaxy S7, Samsung Galaxy S8

 

iOS:

iPhone SE, iPhone 8, iPhone 8+, iPhone - X

 

The application should be correctly displayed at the following aspect ratio of a user’s device: 16:9, 18:9., 18.5:9

 

 

Structure and functionality of the mobile application

 

1. Creating an account and application login

 

Any user who installed the “Kelinda” mobile application on his device is offered to create his private profile by filling in a registration form. Then he needs to get himself authorized and get a full access to the user account with the data entered into the registration form.

 

2. Navigation element “Menu”

 

It enables a quick transition to any function of the application and consists of the following components:

*Logo  

*My profile 

*My account 

*My doctors  

*Panels 

*My documents 

*Notifications 

*FAQ 

*Contact us 

*Subscribe  

*Settings 

*Manual 

*Logout 

*Terms and Conditions 

 

3. My account, Calendar

 

It enables a user to get a quick access to general tests list, the list of chosen tests and his calendar and to see the list of upcoming events (appointments to taking tests and visiting doctors) scheduled in his personal calendar.

 

4. Event setting

 

It enables a user to define a time of an event, as well as to define a day and a time, when the application should remind him of the upcoming event.

 

5. My panels

 

Consists of 3 sections:

*Panels 

*Tests  

*Medicines 

 

The “Panels” tab consists of a list of Panels.

 

Each element of the Panels list consists of the following elements:

*Panel name  

When tapping on an element in the list, user is taken to the “Internal panel page” in the state: The panel is added.

 

The “Internal Panel Page” representation can be in two states:

*Panel is added  

*Panel is not added  

 

State: Panel is added

The representation is displayed in this state when a user has already added this Panel to his Chosen Panels.

On this page, the user can:

*Change the name of the Panel;  

*Add the Panel to his calendar one more time. When the element is tapped, user is taken to the Event: Test representation. 

*Remove the Panel. The data of passing the analyzes of this panel in the past are not deleted. 

 

Additional elements on the Tests list:

* Date/time  

* Graphic element – Appointment state. There are two types of Appointment states: Visited / Not visited  

 

 

The “Tests” tab consists of a list of tests and analyzes.


Each element of the Tests list consists of the following elements:

*Date and time 

If there are scheduled tests, the date of an upcoming scheduled test is displayed
If there are no upcoming  scheduled tests, the date of the last test taken is displayed.

*Test name 

When the element is tapped, user is taken to “Internal test page” in the state “there are related events”.

 

The “Internal test page” representation consists of 2 sections:

*The test information  

*The history of the past test takings  

The “Internal test page” representation can be in two states:

*No related events  

*There are related events 

State: No related events. In the state of “No related events”, the representation consists of one section:

*The test information  

On this screen, the user can:

* Add the Test to the calendar. When the element is tapped, user is taken to the “Event: test” representation 

* Edit the name of the test. The action is available, if the test is added by the user 

* Remove the test. The action is available, if the test is added by the user. The data of passing the analyzes of this panel in the past are not deleted. 

 

 

Additions to the Test information section:

*“Panels” block. The block consists of a list of Panels that include this test/analysis. When the element is tapped, user is taken to the “Internal panel page”. 

 

State: There are related events. In state of “There are related events” state, the representation consists of 2 sections:

*The test information  

*The history of the past test takings  

 

 

The history of the test takings consists of the list of Events of Test type. The composition of the elements of the list is described in “Editing events of a date”.

 

 

The “Medicines” tab consists of a list of Medicines.

 

Each element of Medicines list consists of the following elements:

* Medicine name 

* Medicine intake data 

The display of this element depends on the settings of a Medicine.

If a medicine intake is active, the following information is displayed:

*“every day”, if the element “every day” is ticked in the taking frequency box; 

*“Mon, Wed, Fri”, if “on certain days” is ticked in the taking frequency box; 

*“each “6 days”, if the element “day interval” is ticked in the taking frequency box; 

*“DD.MM.YY”, if the intake is one-time only, the date of taking is specified; 

*“DD.MM. – DD.MM.”, if “course of reception” is ticked. 

If a medicine intake is not active, the following information is displayed:

*“The date of the last intake “DD.MM.YY”. 

When the element is tapped, user is taken to “My medicine”.

 

Elements, which should be excluded from representation:

 

* Edit button from Panels list element.  

* Edit button from Tests list element.  

* Delete button from Panels list element.  

* Delete button from Tests list element.  

 

6. Doctor’s card

*“Last Name, First Name” input box 

*Input box with the drop-down list “Specialization” 

The user can choose the doctor’s area of expertise or fill in the input box.

The drop-down list displays the list of areas of expertise satisfying a user’s entered value.

The drop-down list is displayed after entering the 3rd and following symbols. The list displays up to 5 elements.

“Find on map” element

When the element is tapped, user is taken to “the Maps page”.

* “Address” input box 

*“Registry phone number” input box 

*“Office phone number” input box 

*“Mobile phone number” input box 

*“Email address” input box 

*“Working days” input box 

*“Save” button 

 

If a transition to this representation is made from “My doctors” representation without a doctor list or “My doctors” with a doctor list, when the “Save” button is tapped, user is taken to “My doctors” with a doctor list.

If a transition to this representation is made from “Doctor selection” representation to create a new appointment, when the “Save” button is tapped, user is taken to the “Event: Doctor’s appointment” representation.

 

 

Application architecture and operation algorithms description

 

1. Subscription

 

A user can subscribe to the application using the application stores:

*Android  

*iOs 

Terms and subscription rates are defined by the System manager in the corresponding application stores.

 

2. Authorization

 

A user can use the application on several devices at the same time.

 

3. System messages

 

Android: System messages are shown as toast.

iOS: System messages appear as an Alert with OK button. When the OK button is tapped, Alert closes.

 

4. Push-notifications

*There are two types of push-notifications:  

*Push-reminder of an event  

*Push- reminder of preparation to a Test event 

*Push- reminder on the day of an event (Test, Doctor’s appointment)  

*Push- reminder of the course of medicine reception 

*Push- notifications of marking an event  

*Push- notifications of medicine taking  

*Push- notifications of sharing the access to personal data 

Notification localization depends on the current setting of user’s localization.

Notification localization settings are done by the Manager.

Push-notifications repeat

For push-notifications, there is repeat notifications.

Repeat notification is not provided for “Push- reminder of the course of medicine reception”.

If a user having received a push-notification, opened it in the app, repeat notifications aren’t sent to the user.

If a user having received a push-notification, did not open it in the app, the user should be sent a repeat notification in:

*First repeat notification in 15 minutes, if a user did not open the initial notification  

*Second repeat notification in 30 minutes, if the user did not open the first repeat notification 

*Third repeat notification in 60 minutes, if the user didn’t open the second repeat notification 

 

5. User’s file storage architecture.

 

A user can create folders both in the root partition and all child partitions.

Files within the repository can be located in several folders.

When you delete a file, it is deleted from all folders where it was located.

The root system provides the following system folders that the user cannot change:

●  Available to trusted users

○  Trusted user 1

All files available to this trusted user are shown in the folder

○  Trusted user n

●  Doctors

○  Doctor 1 name

- Doctor’s list of files

- Appointment 1 date

The folder displays all the files that the user has attached to this doctor’s appointment.

- Appointment n date

○  Doctor n name

●  Tests

○  Test 1 name

- Test 1 date

The folder displays all the files that the user has attached to this test.

- Test n date

○  Test n name

 

System folders are automatically created in case of the following actions of a user:

*A user shared files with a trusted user – a folder named after the trusted user is created.
If folder “Available to trusted users” does not exist, the “Available to trusted users” folder is created.  

*A user uploaded files to an event configuration screen such as a Doctor’s appointment – a folder named after this event date is created. 

* If a folder of a given doctor does not exist, a folder of this doctor is created named by the name of this doctor. 

If a “Doctors” folder does not exist, the “Doctors folder is created.

*A user uploaded files to the Doctor’s card screen. 

If there’s no folder of this doctor, a folder of this doctor named after this doctor is created.

If there’s no “Doctors” folder, the “Doctors” folder is created.

*A user uploaded files to an event configuration screen such as a Test – a folder named after the date of this event is created. 

If there’s no folder of this test, a folder named after this test is created.


Additional functionality

 

1. My medicine

 

Consists of two sections:

*Medicine information 

*The history of the past medicine takings 

 

 

Medicine information:

 

There are two states of the Medicine information section:

*One-time intake 

*Multiple intake  

 

The following items are displayed for both types of notifications:

*Headline – Medicine name  

*“Edit the name” button 

*“Back” button 

*“Save” button 

*Dosing input box  

*Drop-down list of dose measurement units 

*Checkbox One-time intake  

The checkbox is inactive by default. “Multiple intake” state is selected by default instead.

When Checkbox is active, “One-time intake” state screen displays.

*Finish intake button 

Is available when medicine intake is active.

Tap – Intake becomes inactive and users do not receive notifications of medicine intake again.

*Activate intake button 

Is available when medicine intake is inactive.

Tap – Intake becomes active and users receive notifications of medicine intake according to their intake period settings.

*Delete button 

Tap – medicine intake is deleted, medicine intake history is not deleted.

 

Multiple intake, consists of the following elements:

*Number of intakes per day unit 

The unit consists of numbers of intakes per day.

The following values are presented in the drop-down list:

*1 time – when chosen, intake time selected is 8:00 am by default 

*2 times - when chosen, intake times selected are 8:00 am and 8:00 pm by default 

*3 times – when chosen, intake times selected are 8:00 am, 2:00 pm and 8:00 pm by default 

*4 times - when chosen, intake times selected are 8:00 am, 2:00 pm, 8:00 pm and 00:00 am by default 

*Intake time selection unit 

The unit shows the intake time selection buttons

The number of buttons and their values by default are shown according to the chosen value in the drop-down list of the number of intakes.

When the button is tapped, the system component of time selection opens.

*Intake frequency unit 

The unit consists of the radiobutton:

*Everyday
Displayed by default  

*On certain days 

When the element is tapped, an additional weekday selection menu is displayed.

When an inactive day of the week is tapped on, the day becomes active. When an active day of the week is tapped on, the day becomes inactive.

*Day interval 

When the element is tapped, an additional drop-down list displays:

The drop-down list consists of the following elements:

■ 2 days ■ 3 days ■ 4 days ■ 5 days ■ 6 days ■ 7 days

*“Course of reception” 

The unit consists of the following elements:

*Start date 

When tapped, Calendar opens. This component allows choosing the date of the beginning of the course.
When the specified date comes, the medicine intake becomes active and the user receives notifications of medicine intake according to his intake frequency settings.

*End date 

When tapped, Calendar opens. This component allows choosing the date of completion of the course.
When the specified date comes, the medicine intake becomes inactive and the user stops receiving notifications of medicine intake.

*Meal unit 

The unit consists of a drop-down list.

The drop-down list consists of the following elements:

 * Not specified. Set as default 

* Before  

* During 

** After 

One-time intake, consists of the following elements:

*Meal date unit 

The unit consists of the following elements:

* Meal date 

When tapped, a system element of date selection displays.

* Meal time 

When tapped, a system element of time selection displays.

*Meal box 

The box consists of a drop-down list:

The drop-down list consists of the following elements:

* Not specified. Set as default 

* Before  

* During 

** After