Skip to content

Use Cases (7, 8, 9, 10, 11)

HumphreyLu6 edited this page Dec 3, 2018 · 5 revisions
  • This page is for describing (using detailed textual use cases) the tasks for using the application.
  • This page presents use case Offline behavior, Photographs, Geo-location and Maps and Body-locations.


7. Offline behavior


  • As a patient, I want to add or edit problems and records while off the network, and have these changes synchronized once I regain connectivity.
ID 7.1
Name Offline operation
Actor(s) Patient
Description Patient can add or edit problems/records offline and synchronize changes.
User Story US 08.01.01
Trigger The user wishes to add or edit offline
Precondition Offline
Postcondition Changes gets stored in App
Basic Flow 1. When the MedicalTracker app is offline, the user adds/edits problems/records
2. All changes are saved
3. Once the MedicalTracker app is online, all changes are synchronized automatically
Exception The device cannot get geo-location information offline, which causes users cannot edit geo-locations for records

8. Photographs


  • As a patient, I want to optionally attach one or more photographs as further viewable details to a record of mine.
ID 8.1
Name Attach photographs to a record
Actor(s) Patient
Description Patient can optionally add one or more photographs to a record of his/her
User Story US 09.01.01
Trigger The user wishes to add a photo
Precondition The user is a patient
Postcondition Changes gets stored in App
Basic Flow 1. User chooses a specific record he/she wants to add photographs to
2. User presses edits on the record details page
3. User chooses open camera option
4. User takes a picture
5. The user confirms in preview page to save the photograph and jump to
record detail activity or cancel in preview page to open the camera again
Exception The device has no permission to camera

  • As a patient, I want the maximum number of photographs that can be attached to a record to be at least 10.
ID 8.2
Name The maximum number of photographs to a record
Actor(s) Care provider
Description Patient can add at least 10 photographs to one record
User Story US 09.01.02
Trigger Over the limit
Precondition The user has a record to add a photo to
Postcondition Changes gets stored in the App
Basic Flow 1. In the record detail page, remind the user that how many more photographs she/he can added
2. If the number of photographs of the record is equal to the limit, remind the user to
delete photos before he/she adds photos
Exception The storage of local device or server is full

  • As a patient or care provider, I want to view any attached photograph for a record.
ID 8.3
Name View attached photographs
Actor(s) Care provider or patient
Description Care provider or patient can view any photograph for a record
User Story US 09.02.01
Trigger The user chooses to view uploaded photos
Precondition The viewer is a registered user
Postcondition The corresponding photos are displayed
Basic Flow 1.User chooses a specific record
2. The record details are shown and the user presses on the thumbnail of photographs
3. All photographs of the record are shown
Exception None

  • As a system admin, I want each photograph to be under 65536 bytes in size.
ID 8.4
Name Photograph size constraint
Actor(s) System admin
Description System admin restricts photograph size to be under 65536 bytes
User Story US 09.03.01
Trigger Over the limit
Precondition There is photo uploaded
Postcondition None
Basic Flow 1.User confirms in the preview page
Exception The app checks if the photograph's size is over the limit
65536 bytes and if so, adjust the size of the preview page

9. Geo-location and Maps


  • As a patient, I want to specify a geo-location on a map of a record.
ID 9.1
Name Specify geo locations
Actor(s) Patient
Description Patient can specify the geo-location of a record
User Story US 10.01.01
Trigger The user chooses to add a geo-location
Precondition There exists a record
Postcondition New data gets stored in the App
Basic Flow 1. User chooses GPS location option in record detail page
2. App displays a map and a default location is chosen
3. User can adjust the geo-location on the map
4. The user confirms the addition of the geo-location
Exception Empty address if failed to get location

  • As a patient or provider, I want to view any geo-location for a record, on a map.
ID 9.2
Name View geo-locations
Actor(s) Care provider and patient
Description A care provider or patient can view the geo-location of a record
User Story US 10.02.01
Trigger The user chooses to view the geo-location
Precondition There is a record
Postcondition The locations are displayed
Basic Flow 1. User chooses the geo-location option on record detail page
2. The app displays the geo-location on a map
Exception The app lost google play services

  • As a patient or care provider, I want to see a map of all records for a patient (that have locations).
ID 9.3
Name View all geo-locations
Actor(s) Care provider and patient
Description A care provider or patient can view all geo-locations of records
User Story US 10.03.01
Trigger The user chooses to view the map of the patient's records
Precondition There exists records of the patient
Postcondition The locations are displayed
Basic Flow 1. User chooses view_all_locations option on the map
2. The app displays all geo-locations of records on the map
Exception The app lost google play services

10. Body_locations


  • As a patient, I want to upload at least front and back body-location photos so I may indicate where photo records were taken on my body.
ID 10.1
Name Upload body location photos
Actor(s) Patient
Description A patient can upload at least two body location photos for each record
User Story US 11.01.01
Trigger The user chooses to upload the body location photos
Precondition The user is a patient
Postcondition Changes gets stored in the App
Basic Flow 1. User chooses body location area to enable camera
2. User takes photos
3. The user chooses a body location photo and indicates a point location
Exception The internet is unstable caused uploading failed

  • As a patient, body locations are effectively a reference to a body-location photo and a point location on the photo.
ID 10.2
Name Body location references
Actor(s) Patient
Description As a patient, body locations are effectively a reference to a body-location photo and a point location on the photo
User Story US 11.02.01
Trigger None
Precondition The user is a patient
Postcondition The body location is indeed a reference
Basic Flow 1. The user takes a photo
2. The user marks a point on the paper-doll cutout
Exception None

  • As a patient, I should be able to have at least 2 body location pictures.
ID 10.3
Name Number of body locations
Actor(s) Patient
Description As a patient, I should be able to have at least 2 body location pictures
User Story US 11.03.01
Trigger The user chooses to upload photos
Precondition The user is a patient
Postcondition There are indeed at least two body location photos
Basic Flow 1. The user uploads photos
2. The user is able to add 2+ body location photos for each record
Exception The storage of the local device is full

  • As a patient, when I view a body location it should be a clear indicator of a point on a body-location picture.
ID 10.4
Name View body location photos
Actor(s) Patient
Description As a patient, when I view a body location it should be a clear indicator of a point on a body-location picture
User Story US 11.04.01
Trigger The user chooses to view uploaded photos
Precondition The user is a patient
Postcondition The correct body location photo is indeed displayed
Basic Flow 1. User chooses body location photos in record detail page
2. The screen displays the body location photos with a clear indicator of a point
Exception There wasn't an indicator of a point on the picture

  • As a patient, when making a record I want to choose from available body locations to associate with a photo or a record.
ID 10.5
Name Associate record/photo with body locations
Actor(s) Patient
Description As a patient, when making a record I want to choose from available body locations to associate with a photo or a record.
User Story US 11.05.01
Trigger The user chooses body locations in edit/add record page
Precondition The user is a patient
Postcondition A body location is selected for a record/photo
Basic Flow 1. The user is trying to add a record
2. The user chooses body location in add record page
3. The user takes photos
Exception None

  • As a patient, I should be able to add body location photos.
ID 10.6
Name Add body location photos
Actor(s) Patient
Description As a patient, I should be able to add body location photos.
User Story US 11.06.01
Trigger The user chooses to add body location photos in add/edit record detail page
Precondition The user is a patient
Postcondition A body location photo is added to a record
Basic Flow 1. The user chooses to add body location photos
2. The camera of a device is enabled and the user takes a photo
3. The user confirms the photo or cancels to go back to step 2
Exception The app does not have camera permissions

  • As a patient, I should be able to remove body location photos.
ID 10.7
Name Remove body location photos
Actor(s) Patient
Description As a patient, I should be able to remove body location photos.
User Story US 11.07.01
Trigger The user chooses to remove body location photos in edit record detail page
Precondition The user is a patient
Postcondition body location photos of a record are removed
Basic Flow 1. The user chooses to view body location photos
2. The user chooses body location photos that he/she wanted to remove
3. The app asks for confirmation of removing
4. The user chooses to confirm or cancel
5. The app removes the body location photos of a record or goes back to body location photos view page.
Exception The device has no internet services

  • As a patient, I should be able to label body location photos.
ID 10.8
Name Label body location photos
Actor(s) Patient
Description As a patient, I should be able to label body location photos
User Story US 11.08.01
Trigger The user need to specify where the problem is on the photos
Precondition The user is a patient
Postcondition A label was labeled on the body location photos
Basic Flow 1. After the user took a photo, the user points a point on the photo
2. The app put on a circle label on the point where the user pointed
Exception None

  • As a patient, I want body-location photos stored locally on my device (and remotely) so that access to them is fast.
ID 10.8
Name Store body-location photos
Actor(s) Patient
Description As a patient, I want body-location photos stored locally on my device (and remotely) so that access to them is fast.
User Story US 11.09.01
Trigger The user could access body-location photos faster
Precondition The user is a patient
Postcondition Body location photos are stored locally on the user's device and remotely
Basic Flow 1. The user takes body location photos
2. The user confirms to add a record with the body location photos
3. The app store the body location photos on his/her device
Exception Limitation of storage of a device

10. Sys-admin


  • As a sysadmin, I want to use a Free/Libre Open Source Software service-side tool such as Elasticsearch to host this application. No proprietary software for data-hosting.
ID 10.8
Name Open source software service-side tool
Actor(s) sysadmin
Description As a sysadmin, I want to use a Free/Libre Open Source Software service-side tool such as Elasticsearch to host this application. No proprietary software for data-hosting.
User Story US 12.01.01
Trigger The sysadmin wants to avoid proprietary software for data-hosting
Precondition Data of the app needs to be stored and accessed by users
Postcondition Data of the app stores on a Free/Libre Open Source Software
Basic Flow 1. When users are adding, editing or deleting records/problems/profile and so on, the app saved data on Elasticsearch
Exception Elasticsearch crashes when the app stores or accesses data



Clone this wiki locally