ICP Assignment Question
ICP Assignment Question
This project challenges you to design and develop a basic Hospital Management System
(HMS) using your programming skills. This system will streamline essential hospital
functionalities to improve efficiency and patient care.
Your HMS should include, but not be limited to, the following features:
Hospital Administrator
Login and logout from the system
Register new users – (patient, doctor and staff nurse) into the system.
Appointment trends - Identify peak appointment times and adjust staffing or clinic
hours accordingly.
Managing inventory (view and search)– (Track hospital supplies and medications,
ensuring timely restocking and preventing shortages.)
Patient
Login and logout from the system.
Appointment Management - View, reschedule, and cancel appointments
electronically.
Electronic Health Records (EHR) Access (view only): Secure access to a portion of
their medical history, prescriptions, appointment history, and billing information.
Billing Management (view and search) - billing details and manage insurance claims.
Doctor
Login and logout from the system.
Doctor Scheduler - Manage their schedules and availability for appointments,
allowing patients to book slots conveniently and reducing wait times.
Secure EHR Access (view only) - Provide doctors with secure access to complete
patient Electronic Health Records (EHR). This includes demographics, medical
history, allergies, medications, past procedures, and diagnostic reports. This
comprehensive view allows for informed diagnosis and treatment planning.
Reporting and Analytics (view and search) - Doctors may be able to generate reports
on their own patients or specific conditions, allowing them to track treatment trends
and measure outcomes.
Staff Nurse
Login and logout from the system
Doctor Scheduler – Access doctor schedules and availability for appointments.
Inventory Management - Access and manage supplies and medications at the nurse's
station directly through the HMS.
Reporting and Analytics (view and search) - Nurses may be able to generate reports
on their patients or specific units, allowing them to identify trends and areas for
improvement in care delivery.
Figure 1 show an example of application login screen and administrator menu for the HMS.
The application should include but not limited to the functionalities listed in the menu.
You are required to form a group of 4 students to design, implement, test, and document the -
HMS. Use your creativity to design and develop the HMS application. You are encouraged
to review any existing Hospital Management System available on the shelf and add on any
suitable additional features on top of the basic requirements provided.
2.0 REQUIREMENTS
i. You are required to carry out extra research for your system and document any
logical assumptions you made after the research.
ii. Your program should use symbolic constants where appropriate. Validations need
to be included to ensure the accuracy of the system. State any assumptions that
you make under each function.
iii. You are required to store all data in a text file.
iv. You are expected to use control structures, functions, array, pointers, structures,
unions and files in your program. Your program must embrace modular
programming technique and should be menu-driven. Functions of similar
operations can be grouped (or kept alone) and stored as separate C files. Header
files are to be stored separately as .h files.
v. You may include any extra features which you may feel relevant and that add
value to the system.
vi. There should be no need for graphics (user interface) in your program, as what is
being assessed, is your programming skill not the interface design.
vii. You should include the good programming practice such as comments, variable
naming conventions and indentation.
viii. In a situation where a student:
- Failed to attempt the assignment demonstration, overall marks awarded for
the assignment will be based on the documentation and design components
only with a maximum 40 marks.
- Found to be involved in plagiarism, the offence will be dealt in accordance
to APU regulations on plagiarism.
ix. You are required to use portable ANSI C programming language to implement the
solution. Use of any other language like C++/Java and etc. is not allowed. Global
variable is not allowed.
x. Results of a comprehensive testing is to be included in your document in the form
of Input/Output screenshots with sufficient explanation. The tests conducted shall
take into consideration of all valid inputs and negative test cases.
3.0 DELIVERABLES
2. Program / Source files (.c files), Header files (.h files) and text file
(archived as single .zip or .rar file)
iv. Submission
- All three files to be uploaded to Moodle
- Refer to the Moodle for the assignment deadline.
unique logic with hardly any errors / omissions. The documentation does not have any
missing components. Sample outputs documented have clear explanation. All work is
referenced according to APA Referencing convention. Student must be able to provide
excellent explanation of the codes and work done, show additional concepts / new ideas used
in the solution, able to answer all questions posed with accurate / logical answers /
explanation provided with sound arguments and clear discussion. Overall an excellent piece
of work submitted.
Credit (65%-74%)
This grade will be assigned to work which of good standard and meets most of the
requirements stated in the question. The program runs smoothly when executed. There is
clear evidence and application of C concepts up to at least intermediate level. The program
solution is unique with good coding styles and validation. The program implemented maps
well against the design (pseudocode or flowchart) as seen in the documentation. The design
of the solution varies in styles and has unique logic with minor errors / omissions. The
documentation does not have any missing components. Sample outputs documented with
some explanation. All work is referenced according to APA Referencing convention but with
some minor errors / omissions. Student must be able to provide good explanation of the codes
and work done, answer most questions posed with mostly accurate / logical answers /
explanation. Overall a good assignment submitted.
Pass (50%-64%)
This grade will be assigned to work which meets at least half of the basic requirements
(approximately 50%) stated in the questions. The program runs smoothly when executed.
There is clear evidence and application of C concepts at basic level. The program solution is
common with basic coding styles and validation. The program implemented somewhat maps
with the design (pseudocode or flowchart) as seen in the documentation. The design of the
solution is average in terms of logic and style with some errors / omissions. The
documentation has some missing components. Sample outputs documented but without any
explanation. Did some referencing but not according to APA Referencing convention and
with some minor errors / omissions. Student must be able to explain some codes and work
done and able to answer some questions posed with some accurate / logical answers /
explanation. Overall an average piece of work submitted.