· 6 years ago · Oct 10, 2019, 12:26 AM
1Surgeon's Scheduler
2[working title]
3
4Table of Contents
51.Description
62.Glossary
73.Use Cases
84.User Roles
95.Data Object
10
111.Description
12
13Project Scope:
14This software is to be designed as an assistive tool that manages the scheduling of tasks performed by medical officials. Users will be able to create cases in which they will be able to assign others as members of their team based on availability. Members of the team can assign additional members under their lead to complete the case. When assigned to a new case the user will receive a notification. With each case is a procedure that the team is tasked with completing and any changes to this will notify all participants of procedure.
15
16Features:
17User profiles contain separate roles managed through the administrator
18Schedule system that updates immediately with changes in availability to prevent schedule conflicts
19Control availability through individual profile; If there is a time the user isn't available they may set it manually without needing to be in a case on that time frame.
20Portable mobile app for notifications on the go
21Management of tasks and procedures to be handled by faculty
22
23Target Platform(s)
24Desktop(Windows,Mac), Mobile(Android, Apple)
25
26Alternative Solutions
27Using available spreadsheet applications such as Google SpreadSheets and Excel from Microsoft
28Keeping a whiteboard calendar accessible by faculty to record date and times of procedures
29
302.Glossary
31Case(data object): The current job all participants are in charge of completing, this begins the hierarchy of tasks and participants.
32Task(data object): The job a specific team is in charge of. The completion of a task should assist in the current procedure and ultimately the completion of the case.
33Procedure(Data Object): A job assigned to a case when it is created and headed by surgeon. These are usually a type of surgery
34Participant(Data Object): A user that is assigned to a case
35Team(Data Object): A group consisting of a team leader and users they added to assist them. The leader is only allowed to edit/remove those immediately underneath them and not users that a member added to be in their own team.
36Anesthesiologist: A doctor who practices anesthesia and is tasked with keeping the patient properly torpor throughout the surgery.
37Surgeon: A doctor who specialized in the treatment of patients using a set of medical instruments to repair unwanted ruptured areas, improve bodily function, investigate/solve pathological conditions, or treat disease/injury.
38Nurse: A professional tasked with assisting doctors and maintaining surveillance on the condition of the patient to maintain optimal health.
39Administrator(Data Object): A special account with ultimate governance of user profiles. They can create/update/remove user profiles, cases, tasks, and teams.
40User: An individual with access to the software through their own unique account.
41
42
433.Use Cases
44
45Create User
46Creates a new user account. This is exclusive to the administrative data Object (which inherits user). A username and password are requested, and if successfully accepted, will prompt for simple identifying factors such as name and ID number. At this time the administrator will be able to assign the new account with a specific role based on the responsibilities of the person the account it created for. If all fields are valid the account is created with a temporary password the intended user will be able to change.
47Data Objects: Administrator
48Constraint: accessible only by the administrator for initial account creation
49
50
51Remove User
52Should there be no more use for a specific user the administrative account has the ability to remove said user. This is exclusive to only the administrative account. By using they user's username and agreeing when prompted to confirm the deletion the account it removed from the system.
53Data Objects: Administrator
54Constraint: accessible only by the administrator, must use exact username(case sensitive)
55
56
57Update User
58If there is a specific user that requires specific information to be changed then the administrator as special permission to do so. The administrator is also able to change the current role/profession of the user being updated which is specific to the administrative user. When all changes are completed and filled with valid information it is sent to the system and updated promptly.
59Data Objects: Administrator
60Constraint: accessible only by the administrator
61
62Login
63When the user attempts to access the software they will be prompted for their login credentials before they may access anything. These credentials and account are established by the administrative account first. If incorrect credentials are entered it will report so. Upon valid credentials the user will enter a main menu where they may view current cases, access their account, change their availability, create/edit cases, etc.
64Data Objects: User, Administrator
65Constraint: currently not logged into an account
66
67
68Log Out
69After a user is done using the software they are able to log out to defend their account from unapproved access or to allow others use of the software on their accounts. By hitting a button with “log out” recessed in the corner of the main menu they will be successfully logged out and returned to the account credential text field.
70Data Objects: User, Administrator
71Constraint:credentials passed securely (most likely encryption)
72
73Edit Profile
74Should the user need to update personal information they will be able to do so by pressing an edit profile button accessible by the main menu. From there they will be allowed multiple text fields that are filled with the information that is currently on record. By changing that information with valid information they will be able to update that information when they hit the confirm button. Here they may also update their password by entering their old password and their new one twice to confirm it. Certain information like ID numbers and roles/professions can only be edited by the Administrative profile.
75Data Objects: User, Administrator
76Constraint:
77
78Reset Password
79Within the edit profile menu is will be an option to reset the current password. By entering in the current password once and the new one twice in the respective fields the user will be able to change the password to the account.
80Data Objects:User, Administrator
81Constraint:
82
83View Schedule
84From the main menu will be a visible calendar that shows an approximated view of the user's current availability for the current month. By pressing on the calendar you will be given a more detailed view that will show the duration/time frame of any cases that the user is currently scheduled to be a participant of.
85Data Objects:User, Administrator
86Constraint:
87
88Update Schedule
89From the “view schedule” menu there will be a button that allows the user to further update their visibility. The menu accessed from this button will allow the user to set up time frames in which they are not available and choose how often those frames repeat (weekly, only on weekends, etc). This will assist synchronizing availability.
90Data Objects: User, Administrator
91Constraint: currently in the view schedule menu
92
93View Case
94From the main menu the user is able to access their current cases by pressing a button located near the schedule preview. This bring the user to a screen that will show the cases that the user is currently a part of. It will also give concise information on the case such as team leader, members under the leader, current task, and time/date. These cases can be clicked on to view them in further detail. This further detail takes the appearance of a tree diagram that begins with the case at the top, linked to the case will be all users connected to the case (not just those involved in the user's immediate team), and any current tasks/procedures. It should also report information on the scheduled time and date.
95Data Objects:User, Administrator
96Constraint:
97
98Create Case
99From the View-Case menu there will be a button to create new cases. This button will bring the user to a screen that will ask for basic information on the current case and allow the user to bring in new members based on their availability. If no time is given it will default to 1 hour duration. If no name is provided it will default to the next successive number of all cases created. If any user is unavailable at the time of the case it should appear so. Additional participants can be added later with the respective case/method.
100Data Objects:User, Administrator
101Constraint:
102
103Edit Case
104When viewing an individual case in greater detail there will be the option to edit information about the case. The information available for edit will only be for the user who created the case. Any other user will not be given the ability to edit the case. This information will be along the lines of time, date, procedure, and even case name. Any adjustments will be reported to any participants of the case via the notification system.
105Data Objects:User, Administrator
106Constraint: must be the creator of the case
107
108Cancel Case
109At any point of time the case is no longer necessary or postponed indefinitely, the user that created the case will be able to cancel it. Upon cancellation of the case all users will be notified and appropriately freed in their schedule. Cancellation is requested and a notification is sent to the administrator for approval. Administrators will be able to cancel any case without requiring permission.
110Data Objects:User, Administrator
111Constraint: cases canceled by user must receive approval
112
113
114Add Participant
115While viewing the current case is greater detail a user will be able to add participants. When selecting new participants the user will first choose the role/profession they require and then another specific user to fill that position. Adding participants is not exclusive to the creator of the case and can allow those under a team leader to have members under their own lead. Any new users added as participants receive a notification and become unavailable for other cases during that time period. It will also update their schedule to reflect as such.
116Data Objects:User, Administrator
117Constraint: added participant must be available
118
119Remove Participant
120While viewing the case in greater detail a team leader will be allowed to remove any participants that are no longer necessary. A team leader will be able to click on a member of their team and choose an option to remove them from the case. This can only be done by those team members directly under the supervision of their team leader and not one higher than the team leader(The higher position team leader will have to communicate with the lower level team leader). When done this will send a notification to the respective user and free their schedule for the time of the case.
121Data Objects:User, Administrator
122Constraint: user must have a participant in their immediate subtree
123
124View Users
125From the main menu the user will be able to click on a users button to access a list of current users. This will generate a list of the last and first name of all users that currently have an account within the software. Clicking on an individual user will bring up a concise profile of the user consisting of name, email, and if they are currently available.
126Data Objects:User, Administrator
127Constraint:
128
129Search Users
130While viewing users there will be text field where you will be able to filter the list of users by a specific last and/or first name. There will also be filters for individual roles/professions to further finalize the user's search.
131Data Objects:User, Administrator
132Constraint:
133
134Send Message
135When the User if viewing another user's page they will be able to send a direct message to that user. Upon pressing the button with “send message” on it the user will be brought to text field with simple text editor toolbars and tools to draft the message. When complete the user will be able to send it immediately. The recipient will then receive a notification of an unread message in their inbox. Messages may also be sent to any participants in a case the user is currently a participant of.
136Data Objects:User, Administrator
137Constraint:
138
139View Messages
140From the main menu the user will be able to see a simple mail icon that will be paired with the current amount of unread messages in the inbox. When an unread message exists in the inbox it will have a visible color change. By clicking on this icon/text they will be moved to their inbox to view their current messages.
141Data Objects:User, Administrator
142Constraint:
143
1444.User Roles
145
146User
147Login
148Logout
149Edit Profile
150Reset Password
151View Schedule
152Update Schedule
153View Case
154Create Case
155Edit Case
156Cancel Case
157Add Participant
158Remove Participant
159View Users
160Search Users
161Send Message
162View Messages
163
164
165Surgeon (inherits User)
166(Currently rethinking the importance of individual procedure creation and not use of the Edit Case use case)
167
168Administrator (inherits User)
169Update User
170Remove User
171
172
173
174
175
1765.Data Objects
177
178User
179Fields
180login: user's login id
181password: user's login password
182Use Cases
183Login
184Logout
185Edit Profile
186View Schedule
187Update Schedule
188Reset Password
189View Case
190Create Case
191Edit Case
192Cancel Case
193Add Participant
194Remove Participant
195Send Message
196View Message
197Update User
198Remove User
199
200Case
201Fields
202case id: case's identifying title/number
203duration: length of the case
204Use Cases
205View Schedule
206Create Case
207Edit Case
208Cancel Case
209Add Participant
210Remove Participant
211
212Task
213Fields
214task name: name of the task
215creator: initial creator of the task
216Use Cases
217View Case
218Edit Case