Categorising requirements
There is no absolute standard in how to collate or categorise end user and functional requirements.
However, it can be helpful to take the view that:
- end user requirements can be summarised for each user group
- functional requirements take account of the inputs, processes and outputs necessary for the database to function properly
End user requirements
There are three groups of end-users in the doctor's surgery example, each with different needs:
- reception staff who must be able to:
- enrol patients
- search for basic patient data
- output appointment letters
- output a summary of patient details
- medical staff who must be able to:
- add medical notes
- generate onward referrals
- access more sensitive patient data
- output prescriptions
Portering staff report that they must be able to:
- know patient whereabouts
- patient mobility (independently mobile or mobile with assistance)
- need assistance with communication (e.g interpreter)
- access where patients appointments are (e.g. x-ray, physiotherapy)
Functional requirements
Input (Forms) | Processes (Queries) | Outputs (Reports) |
Receptionist group | ||
Enrol patient | Search/sort by surname, DOB, address, patient ID | Patient details |
Edit patient details | Appointment | |
New appointment | ||
Medical group | ||
Add medical notes | Search/sort by test results, known illness, surname, DOB, patient ID | Prescription |
Full history | ||
Generate referral | Referral confirmation | |
Porter group | ||
Patient location | Search/sort by location, appointment, patient ID | Patient location |
Appointment location | ||
Communication assistance | Interpreter needed or not |
Input (Forms) | Receptionist group |
---|---|
Processes (Queries) | |
Outputs (Reports) |
Input (Forms) | Enrol patient |
---|---|
Processes (Queries) | Search/sort by surname, DOB, address, patient ID |
Outputs (Reports) | Patient details |
Input (Forms) | Edit patient details |
---|---|
Processes (Queries) | |
Outputs (Reports) | Appointment |
Input (Forms) | New appointment |
---|---|
Processes (Queries) | |
Outputs (Reports) |
Input (Forms) | Medical group |
---|---|
Processes (Queries) | |
Outputs (Reports) |
Input (Forms) | Add medical notes |
---|---|
Processes (Queries) | Search/sort by test results, known illness, surname, DOB, patient ID |
Outputs (Reports) | Prescription |
Input (Forms) | |
---|---|
Processes (Queries) | |
Outputs (Reports) | Full history |
Input (Forms) | Generate referral |
---|---|
Processes (Queries) | |
Outputs (Reports) | Referral confirmation |
Input (Forms) | Porter group |
---|---|
Processes (Queries) | |
Outputs (Reports) |
Input (Forms) | Patient location |
---|---|
Processes (Queries) | Search/sort by location, appointment, patient ID |
Outputs (Reports) | Patient location |
Input (Forms) | |
---|---|
Processes (Queries) | |
Outputs (Reports) | Appointment location |
Input (Forms) | Communication assistance |
---|---|
Processes (Queries) | |
Outputs (Reports) | Interpreter needed or not |