This is not an organized list of issues, but a final checklist of project requirements pulled from the Moodle documents:
[x] The clinic has doctors, nurses, and patients, and administrators, who have personal information, such as id (unique within their groups, for instance, a doctor has a unique doctor id, a patient has a unique patient id, if a doctor becomes a patient, a unique patient id is assigned to him/her), last name, first name, date of birth, mailing address (please break down into smaller components), and contact phone number.
[x] Each doctor has also several specialties stored in the DB.
[x] When a patient calls in for an appointment, a nurse helps him/her first set up an appointment with a doctor on a specific date and time. The reasons for the appointment should also be specified.
[x] If the patient is new, the nurse registers him into the system first before making an appointment. The system doesn't store which user helped with registering the patient.
[x] when creating an appointment, make sure no double booking of the same doctor at the same time
[x] patient's personal information should also editable by a nurse
[x] a patient may be deleted by a nurse if the patient doesn't have any appointments associated with him/her
[x] an appointment can be deleted if there is no visit associated with it yet (e.g. maybe the appointment is canceled)
[x] an appointment may be editable within 24 hours before the appointment datetime.
[x] When the patient comes in on the appointment date, a nurse does routine checks (weight with 2 decimal places, blood pressure including systolic and diastolic reading , body temperature with one decimal place, pulse) and asks him about his symptoms and records this information in the system. Note that the nurse may not be the front desk person who made an appointment for the patient.
[x] Whoever is logged in should be the nurse associated with the visit. The doctor should be the one with whom the patient made an appointment. The doctor's information should be shown in the interface.
[x] The doctor then comes in and tries to make a diagnosis. Note that sh/e may have to order some lab tests before the diagnoses can be made. However, the initial diagnosis will first be entered.
[x] When ordering tests, one can select which tests among a list of standard tests to order, the program should show all the tests that are ordered so that it's clear to the user.
[x] Before the test order is submitted, one can remove from or add tests to the list. A confirmation message should be displayed to the user so that she can submit or cancel the order.
[x] Lab tests may be performed on the same day of the visit or on different dates. Thus the perform datetimes of the tests have to be recorded too. The result typically will not be available until several days later.
[x] a nurse has to record the test results and fill in the final diagnoses on behalf of the doctor. The test results can be anything (a numeric value, or a description). Each result can be normal or abnormal.
[x] The typical tests include white blood cell (WBC), Low-Density Lipoproteins (LDL), hepatitis A test, hepatitis B test, and so on. Each test has a test code (unique), and name (unique).
[x] The nurses/administrators must authenticate themselves before accessing the system.
[x] User authentication should be verified by user name and password (not just user name). The passwords should be hashed for better security.
[x] Once logged in, the system should show who is logged in. If it's a nurse, this nurse will be the person who performs the tasks, therefore, in the UI, it should not let the user choose a nurse again.
[x] a nurse can also search for a patient’s personal information by: date of birth, or name(last name and first name), or the combination of DOB and last name.
[x] a nurse can also search for a patient’s appointment information by: date of birth, or name(last name and first name), or the combination of DOB and last name.
[x] a nurse can also search for a patient’s visit information by: date of birth, or name(last name and first name), or the combination of DOB and last name.
[x] Once an appointment is found for a patient, the nurse can view the past and future appointment information,
[x] Once an appointment is found for a patient, the nurse can edit the details of the future appointment.
[x] Once the visit information is found for a patient, the nurse can view the visit information (e.g. routine check results and any tests ordered and the results if available)
[x] Once the visit information is found for a patient, the nurse can edit the visit by entering test results and final diagnosis. Once the final diagnosis is entered, visit information (e.g. routine checks, test results, etc.) cannot be changed and tests cannot be ordered.
The system should also provide an Admin interface to allow an administrator to
[x] add/view/update a nurse. Instead of deleting a nurse, it's better to flag a nurse to be active or inactive.
[ ] to generate a report in a tabular format. The report is based on the stored procedure in project 2 from last semester. See the description below from last semester for the complete description of the SP getMostPerformedTestsDuringDates. Note that since the requirements have changed since last time, you may also need to update your stored procedure. For your information, the requirements are shown below:
[x] Purpose: Gets the statistics that show the most performed tests during the specified period of time for the tests that were performed at least twice.
[x] Given a startdate and enddate as the parameters, For each test qualified (the test has to be performed at least twice, which may or may not be on the same patient, during the specified time period), show:
test code,
test name,
the total number of times that the qualified test has been performed in the specified date range,
the total number of times that all tests have been performed in the given date range,
the percentage of the number in 3) over the number in 4),
the number of normal results for the qualified test in the specified date range,
the number of abnormal results for the qualified test in the specified date range,
the percentage of the total number of times that the test was performed on a patient in age 18-29 (at the time when the test - was performed) over the total number of times that the test has been performed in the specified date range,
similarly, get the percentage of patients in age 30-39,
the percentage of patients of all other age groups (at the time when the test was performed) who took the test
[x] The result should be sorted in the order of the most performed to least performed tests. For tests that were performed the same number of times, sort them by their test code in descending order.
[x] The report should have a header indicating what the report is about and the user-specified date period.
This is not an organized list of issues, but a final checklist of project requirements pulled from the Moodle documents:
The system should also provide an Admin interface to allow an administrator to