You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
The key has expired.
Logic
Input/Output
Added "all" keyword, updated Javadoc and added new exception messages to Open, Save, Import and Export.
Increased black outline of numbers and filled in teeth with white color for BaseLayer.png
Added PDF export to SaveCommand and ExportCommand, with title, subtitle and image.
Save and Export are now able to handle very long strings
Teeth image added to PDF export
Record Related
New RecordAdd Command
Only works when MainWindow is in GoTo mode
Adds a Record to the Patient specified when entering the GoTo mode
The new Record will be added to the top of the list and be sorted on next visit
Name of Dentist of Record is inferred from the Dentist class (see below)
New Record Related Commands
RecordEdit - Edits a record by index
RecordDelete - Deletes a record by index
TeethEdit - Edits a status of a tooth
New RecordClear command
Requires to be in GoTo mode, where a patient is specified
All records of the patient are deleted
Does not commit to addressbook
Tags
Tags are now updated automatically to reflect the current teeth health of patients
Only the most severe cases are shown: Absent > Status > Healthy
New Task Related Commands
Added new taskcal command that displays a Task Calendar upon running the command
Added tasksort, tasklist
Task Calendar now takes in task related commands and dates as inputs in the text box, allowing the user to add, edit, modify tasks or view dates with tasks in the popup window. This should be sufficient as a context switch from patient to tasks and vice versa.
New command taskdone
New command taskdone sets a tasks' priority to be COMPLETED by specifying an INDEX for use
Task targeted by command will also automatically adds a record to its linked patient with the description as the task's title
Task with no linked patient will simply be set to complete
Viewing Data Commands
Find Command
Now has options for case sensitivity, AND operations, and allows multiple parameter searching
Able to use with all current patient attribues
Sorting
SortCommand has been changed into an abstract class using generics that can be extended from to create the necessary sortCommands for overall data types [Resolves #92]
SortPatientCommand & SortRecordCommand is able to sort all attributes of Patient and Record respectively
SortCommandParser has implemented pseudo-context switching, creating the appropriate sort command depending on whether the program is current in goTo mode.
Added updateFilteredRecordList & sortRecordsBook to ModelManager
Added sortInternalList to UniqueRecordList
DateOfBirth comparator now uses the compare function within DateBase
Misc Commands
GoToCommand
Specifies a patient by index and shows his or her dental records
Record list overlays the current patient list panel
Other patients' particulars are hidden. Providing a focused view of the specified patient
To exit the mode, the tentative command is back
New Back Command
Only works when main window is in GoTo mode
Hides the patient's record list and shows the patient list
An alert box prompts for confirmation upon command execution
Model
Patient class updates
Sex of Patient
A new attribute of Patient
Format: sex/
Specifies a patient's sex
Is now a compulsory field when adding a new patient
UI displays the sex of the patient to the right of his or her name
Can be edited via the edit command
DrugAllergy of Patient
Format da/
Contains a string of drug allergies that a patient might have
Optional field
Next Of Kin class linked to Patient
Contains information on the next of kin's name, relationship, phone, & address
Name, Phone, Address use the existing classes under patient, Relationship uses NextOfKinRelation
Task class updates
Added new enum class, Priority added a property for Task. *
Implemented Start Time and End Time properties for Task using TimeCustom class.
Modified taskadd and taskedit commands to support the new implementations for Task
Dentist class
Saves the dentist's name in a .txt file
Prompts the user for his or her name upon the very first application startup
This is done using a text alert box
Dentist's name can be of any alphanumerical sequence
There is no command to change the name from the CLI - to uphold the one user policy
Record class updates
Now takes in Procedure attribute
Duplicate records are now saved as it would for unique records, but a message tells the user that a similar record already exists
Record methods now correctly throw DuplicateRecordException when required, rather than the wrong Exception - DuplicateTaskException
Interface ExportableTeeth
An interface that can be used to link up Teeth class with further classes
Tentatively, it is primarily used to export current Teeth structure for drawing
Only Permanent Teeth
Primary Teeth or No Teeth templates will be made unavailable
Could be potentially implemented in v1.4 or v2.0
All patients added are assumed to have full permanent healthy teeth by default
Storage
JSON Data File
Now stores more information on Patient and Task
Consists of Teeth current structure and Record list, as well as all new attributes (Sex, DrugAllergy, Description, NextOfKin)
UI
Added new display panel to show teeth status based on patient's information
Goto mode now displays the teeth image of the patient automatically upon entering the mode
New Task Calendar UI
list of task for the given date
calendar that highlights dates with tasks (currently hard-coded, will be implementing priority to task next update)
update tasks in the list panel after selecting dates from the calendar
Task Related UI
Tasks in task calendar now properly highlights specific dates with the highest priority for that day.
Task cards now tasks with a priority tag, color-coded for each priority type [High : Red], [Medium: Orange], [Low: Yellow].