Hospital starter Readme.md

# Hospital Starter Software Requirements

**Version 1.5** — Jan 5, 2015

| S.No. | % | Module | User Story | Description | User Roles | Phase | Order | Notes |
|------:|---|--------|------------|-------------|------------|------:|------:|-------|
| 1 | 10% | Functional | App settings | Should have a generic way to store details of the app in a name value pair in the database. This will help customize installations and keep settings uniform over a cluster. | Admin | 1 | 1 | Till facade is enough, UI later only read. For dao - take all params, add %% make a custom query and get all return list. In service add to get 1 app setting object, get string (with default), get int (with default), get list (direct from dao) |
| 7 | 10% | Login | User Login | As a registered user, I should be able to login to the site and be able to access the authenticated parts of the site based on my rights of access | Patient/Nurse/Doctor/Admin | 1 | 2 | With spring security |
| 8 | ? | Logout | User Logout | As a logged in user, I should be able to click on "Logout" to log myself out of the site. | Patient/Nurse/Doctor/Admin | 1 | 2 | With spring security |
| 2 | 70% | Patient Registration | User Registration by Clerk | As a Clerk I should be able to register patient/other user to the site by providing the following details:<br>1. Name (First and Last name)<br>2. Email id, mobile country code and mobile number, 2 addresses (home and office)<br>3. Date of Birth<br>4. Gender<br>5. Password (at least 6 alphanumeric characters including special characters)<br>6. Re-Type Password<br>7. Terms and Conditions (checkbox, unchecked by default)<br>8. Submit and Cancel button<br><br>All the above fields are mandatory. (A system generated password will be sent to the Patient's registered Email id on successful reg.) | Clerk | 1 | 3 | Clerk can register after logging in. Initially can keep hard coded login for clerk. |
| 4 | 40% | Schedule Planner | Patient's planner | As a Clerk, I should be able to request for an appointment with desired Doctor along with specific patient, date and slot. In the Planner page, I should have the following:<br>1. Option to select the department<br>2. Option to select the Doctor<br>3. Option to select the date<br>4. On selection of date, option to select available slot in a lane (non-available slots for the day will be selectable but in different color). Each day will be divided into 1-3 lanes (meaning one doctor can have parallel appointments up to 3 at a time). No linking business rules except doctor can choose max lanes in admin set up (1, 2 or 3). Each lane into slots of x minutes (standard for now 15 minutes)<br>5. List of appointments requested along with color for rejected appointments (like if doctor had emergency).<br>App status: These are plain types for now and indicators, no extra business meaning:<br>"Free" - Default<br>"NA" - not available/vacation<br>"OP" - OPD out patient short appt<br>"Busy"<br>"Surgery"<br>"IP"<br>6. Clerk can change status from busy to free (patient cancelled), or to other status.<br>7. Once an appointment has a Patient record, cannot edit the slot (make it free or change type) and a yellow dot or other UI should appear to indicate that it has a patient record. Clicking that slot should take me to patient record so I can read, edit (if I have doctor or nurse role) and download attachments | Patient | 1 | 3 | |
| 3 | 60% | Patient Records | Adding Prescription details page | As a Nurse/Doctor, I should be able to add visits and its details for the Patients to view them in the future.<br>This Page should have edit view of a) Date of visit (date field), b) Doctor visited (drop-down), c) summary (text field), d) detailed prescription (dropdown with master list of medicines), e) option to upload attachments. (TWO) | Nurse/Doctor | 1 | 4 | 0, 1 or max 2 attachments |
| 5 | | Schedule Planner | Doctor's planner | As a Doctor, I should be able to see all the requests for appointment with me along with specific date and slot. In the Planner page, I should have the following:<br>Similar to patient planner but my own Dept and Doctor name should already be selected. Doctor can cancel or block slots/days (javascript to select a day) | Nurse/Doctor | 1 | 5 | |
| 6 | | Inventory | Master list | As an Admin/Nurse/Doctor, I should be able to see the entire list of medicines in the Inventory page. I should see the following in a grid (columns values below):<br>1. Entire list of medicines<br>2. Available quantity<br>3. Threshold quantity<br>4. Edit quantity (on click will make the corresponding row item's 2nd and 3rd column fields editable and the 'edit' option will be replaced with 'save' and 'cancel' options) | Admin/Nurse/Doctor | 1 | 6 | 10-Jan |
| 9 | 80% | Patient Records | Listing of visits | As a Patient, I should be able to view the list of visits that I made to the hospital in the "My Records" page.<br>This list should have grid with a) Date of visit, b) Doctor visited, c) summary. I should be able to click on the individual grid items. | Patient | 2 | | To decide on this - if to allow login after register for patient |
| 10 | 80% | Patient Records | Prescription details page | As a Patient, I should be able to view the detailed prescription of a visit in the "Prescription Details" page, when I click on the individual item on the list of visits in the "My Records" page.<br>This Page should have a) Date of visit, b) Doctor visited, c) summary, d) detailed prescription, e) option to download the attachments. | Patient | 2 | | Attachment are uploaded to web app area. So app will be installed via uploaded war, so we can upload and for download can be direct href link |
| 11 | 80% | Notifications | Reorder notification | When the 'Available quantity' reaches the value in 'Threshold quantity' for any of the items in the inventory, system should send an automated email to the stakeholders (TBD) with the item(s) which are in threshold level. | System | 2 | | |
| 13 | 80% | Notifications | Appointment notification | When the 'accepted' appointment for a Patient falls the next day (i.e., one day before the current date) system should send an automated email to that Patient with the details. | System | 2 | | |
| 14 | | Login | Forgot password | As a registered user, I should be able to retrieve my password using 'forgot password' option. When the user clicks on this option, the user will be asked for the registered email id. Once the entered Email id is validated, an update password link will be sent to the user. The user can click on the link from their Email and update their password. | Patient/Nurse/Doctor/Admin | 3 | | |
| 15 | | Login | Change password | As a registered user, I should be able to change my password. When I click on this option, this gives:<br>1. Field to enter old password (validation required)<br>2. Field to enter new password (password security validation required. Same as the one in registration page)<br>3. Field to re-enter new password (validate match with previous field)<br>4. Submit and Cancel button. | Patient/Nurse/Doctor/Admin | 3 | | |
| 16 | 100% | Internationalization | Dual Language | All forms and pages should support data entry & viewing in Arabic. The site does not need a change language button/functionality right now. But any label can be bi-lingual. Similarly all text boxes should allow Arabic text, and the same should appear in reports, edit and view screens. | All | 2 | 2 | |