CT077-3-2-DSTR Group Assignment Page 1 of 7
DENGUE FEVER SURVEILLANCE AND ALERT SYSTEM
FOR MALAYSIAN MINISTRY OF HEALTH (MOH)
Dengue fever is an illness spread by the bite of mosquitos infected with one of the dengue viruses. Symptoms are usually flu-like but can worsen to severe dengue (dengue hemorrhagic fever), a life-threatening condition. Dengue fever is a nationwide and year-round threat in Malaysia; however, transmission is typically highest October-March when environmental conditions are ideal for mosquito breeding. Malaysia reported roughly 64,078 dengue fever cases nationwide in 2022, 26,365 cases in 2021, and 90,304 cases in 2020 (Malaysia: Elevated dengue fever activity reported nationwide, especially in Selangor, through late May, 2023).
The Malaysian Ministry of Health (MOH) is looking to collaborate with industry partners to establish a dengue surveillance system and notify people when it detects any dengue case happen. The dengue system is also aimed at ensuring that Malaysians receive weekly or monthly warnings about any Malaysian state that may experience an increase in dengue cases.
Your team is honored to be chosen as a part of the development team for this project. Including you, your team consists of FOUR (4) members. During the development phase, the Ministry of Health (MOH) shared two sets of statistical data about dengue cases in recent years for this project.
-
Dataset 1: Annual number of dengue cases by state.csv
-
Dataset 2: Number of dengue fever cases weekly by state.csv
These TWO (2) datasets contain information such as number of cases per week, number of cases per year, age categories infected with dengue, etc. Your team must develop this system in C++ programming and implement appropriate data structures to store and manage different types of information in the system.
As required by MOH, system capabilities must include, but not be limited to, the following criteria:
User:
Login and logout
Manage their personal information, e.g., current state of residence, phone number,
etc.
View total dengue cases based on selected years or selected states.
View daily dengue cases for all states in descending order based on state name.
View dengue alert messages from the MOH admin. Move backwards and forwards
between received alert messages.
Use a date range to find personal's past dengue fever status and information reported
by multiple doctors (relevant to option 2.3)
Doctor:
MOH admin
Additional information for this assignment:
2.1 Login and logout
2.2 Manage their personal information, e.g., current state of residence, phone number,
etc.
2.3 Report the patient that infected by dengue fever (including their name, age, date, and
doctor information, etc.)
2.4 View all dengue cases reported by current doctors in latest date.
2.5 Find dengue fever cases based on patient name or patient id.
2.6 Find the number of cases for any given age range and any given state range.
3.1 Login and logout.
3.2 View total dengue cases reported in Malaysia between 2018 – 2023 (including the
new cases reported in option 2.3). Compare them by using a simple bar chart. Sample:
3.3 View weekly dengue cases for all states in ascending order based on case number.
3.4 Send an alert message to users when dengue fever cases in their state reach 20 and
persist for more than two weeks.
3.5 Manage doctor account.
3.6 Manage user accounts, including deleting user accounts based on inactivity status.
a) You are encouraged to use at least ONE (1) type of search algorithm and at least ONE (1) type of sort algorithm within the system. Evaluate the algorithms’ efficiency. Justify your answer.
b) BUILT-IN containers are not allowed in this assignment. All containers are self-created.
c) This assignment does not require any SQL or NO-SQL and file database to store any
details.
d) Include all validations required for the system and use good programming practices (e.g., indentation, meaningful identifier names, comments, etc.).
Assignment Requirements
A group can have a minimum of 2 students and a maximum of 4 students. There are two submissions of the required in this assignment:
-
Proposal Stage (Week 8)
-
You need to submit your proposal to the LMS by week 8.
-
Proposals should include a few diagrams of proposed data structures, an overall system
workflow diagram, and some key system function algorithms diagrams.
-
These algorithms should be presented in the form of flowcharts. Justify their use.
-
This proposal will contribute 20% for the final assignment marks (under Design criteria).
-
Refer to Appendix 1 for the PowerPoint Slides contents.
Approximation of Total Pages for the PowerPoint slides: 15 - 20 (max).
-
-
Final Report and Presentation Stage (follow the hand-in date)
You are required to submit a softcopy of the assignment report and source code to the Moodle system. The report should contain:
-
- Detailed explanation of the data structures and classes created in program, with proper justification on your decisions (include source code defining classes, data members, and method headers).
-
- Brief explanation about the algorithms used to implement the functionalities stated above (include code snippets of important parts of implementation).
-
- Source code of the main function, with screenshots showing program’s input and output interactions.
Approximation of Total Pages for the documentation: 40 - 60 (max). Approximation of Words for the documentation: 2000 words (min)
You must present your assignment solution and answers to the lecturer during a Q&A session that will be conducted after the hand-in date.
If you use some code which has been taken or adapted from another source (book, magazine, internet, forum, etc.) then this must be cited and referenced using APA Referencing Style within your source code, and this must be mentioned explicitly in the report. Failure to reference code properly will be treated as plagiarism. Automated tools for checking code similarities among submissions will be used, and all detected cases will be treated as cheating. Assessment marks are divided as follows:
-
Total Percentage |
80% |
20% |
||
Design (proposal) |
Implementation |
Documentation |
Presentation |
|
Total raw marks in each section |
25 |
75 |
50 |
50 |
What You Need to Hand In during the final submission?
-
You are required to hand in the group project report on or before the due date mentioned on the cover sheet of the assignment.
-
A softcopy of the report (in Word Document / PDF format), in addition to the C++ files of the programs. The organization of files and folders must adhere to the following instructions precisely:
-
The report should be named using format
“<GroupNo>_<student ID-leader>_<student ID-member1>_<student ID-member2>_<student ID-member3>.docx”.For example “G1_TP012345_TP012344_TP012123_TP012126.docx”
-
All the source codes (.cpp and .h) should be zipped into one file and named following the above format. Make sure to DELETE all non-source-code files, including executables (*.exe).
-
-
You should present an executable solution during Q&A session to demonstrate program execution, the working of the data structure, your understanding of the code, and ability to modify / fix it.
Bibliography
Malaysia: Elevated dengue fever activity reported nationwide, especially in Selangor, through late May. (2023, May 30). Retrieved from Crisis24: https://crisis24.garda.com/alerts/2023/05/malaysia-elevated-dengue-fever-activity- reported-nationwide-especially-in-selangor-through-late-may
Marking Criteria:
The program submitted will be evaluated according to the following performance criteria:
Distinction (90% and above)
-
- Program compiles and executes perfectly
-
- At least 90% of the required functionalities are correctly implemented
-
- Efficient data structures and\or algorithms are used in the implementation
-
- Clear coding style and structure, and code is properly commented
-
- Functionalities are fully tested/validated in program execution
Credit (70% – 89%)
-
- Program compiles and executes
-
- Between 70% and 90% of the required functionalities are correctly implemented
-
- Implementation uses a data structure or algorithm that is not most efficient
-
- Clear coding style, and code is properly commented
-
- Functionalities are not fully tested/validated in program execution
Pass (50% - 69%)
-
- Program compiles perfectly and executes
-
- Between 50% and 70% of the required functionalities are correctly implemented
-
- Implementation uses inefficient data structures or algorithms
-
- Unclear coding style, or code is not properly commented
-
- Functionalities are not full tested/validated in program execution, or produce errors in some cases
Marginal Fail (30% - 49%)
-
- Program does not compile or run, but coding logic is almost correct
-
- Between 30% and 50% of the required functionalities are correctly implemented
-
- Implementation uses inefficient data structures or algorithms
-
- Unclear coding style, and no comments provided
-
- Functionalities are not tested/validated in program execution
Fail (below 30%)
- - - - -
Program is not given
Program does not compile or run
Less than 30% of the required functionalities are implemented
Implementation uses very inefficient data structures or algorithms
No proper code structure and no comments provided