Releases: AY2425S1-CS2103T-T11-4/tp
v1.6
v1.5
Merge pull request #193 from nayanaamahesh/master Fix bug for empty allergy in filter
v1.4
Command Updates
1. Date command
- Description: Using name and email / phone number, the user can add or update the next appointment date
- New Command Format:
date n/NAME p/PHONE e/EMAIL d/DATE
- Details:
2. Schedule command:
- Description: shows the schedule for the day inputted by the user (i.e. shows all patients whose next appointment is on the day inputted by the user)
- New Command Format
schedule d/DATE
- Details:
3. Filter command
- Description: filter by combination of phone, email, address, and/or tags
- New Command Format:
filter n/NAME p/PHONE e/EMAIL t/TAG
- Details:
-
For each filter command, the results can only be filtered by phone, email, address and/or tags, and nothing else.
-
For each filter command at least one feature must be present to filter by
-
This is an AND search: if more than one feature is given, the system outputs the list of people who match all the features being filtered by
-
Allergy System Update
- Description: Allows users to view information about their patients’ allergies
- Command Format:
m/ALLERGY
(in add command)- Users must input an allergy otherwise a message is prompted asking them to input allergy using the format m/ALLERGY.
- Details:
v1.3
Validation Updates
- Name Validation
Names should only contain alphanumeric characters, spaces, and hyphens, and it should not be blank.
![Screenshot 2024-10-17 at 1 21 02 AM](https://private-user-images.githubusercontent.com/156591790/377163516-d8938688-29b0-4e33-ac57-3af8dcd7b74e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0ODA4MzYsIm5iZiI6MTczOTQ4MDUzNiwicGF0aCI6Ii8xNTY1OTE3OTAvMzc3MTYzNTE2LWQ4OTM4Njg4LTI5YjAtNGUzMy1hYzU3LTNhZjhkY2Q3Yjc0ZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxM1QyMTAyMTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01OGNlOWU2YWQ1MWMzYTQ3Y2FkMmE2ODBjOTcwZjJlNmM1OWZkZmUyNjJlMzMxZDRkYjU4MDk4NTI5ZmZlODRlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.6XVJfyt3NSPEL9JaEUoW7Ecv52JY4dDJcf_VW6QP6T4)
- Phone Validation
Phone numbers must be 8 digits long and must start with 3, 6, 8, or 9 to comply with Singapore’s valid number format.
Phone numbers entered with spaces will automatically be reformatted to remove spaces for consistency.
![Screenshot 2024-10-17 at 1 22 49 AM](https://private-user-images.githubusercontent.com/156591790/377164013-c5485c82-8e48-4ef5-9c98-e00f25e04b0d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0ODA4MzYsIm5iZiI6MTczOTQ4MDUzNiwicGF0aCI6Ii8xNTY1OTE3OTAvMzc3MTY0MDEzLWM1NDg1YzgyLThlNDgtNGVmNS05Yzk4LWUwMGYyNWUwNGIwZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxM1QyMTAyMTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mMjYwZGIwMjc5OWZlNjAwMmRhMTYzZGVhZDVkZDFiODQ2NjUxN2VhNzg4NDYyZWJhNGI2ZTM0MDk5Y2ExYWJiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.UKexJdjr0_241sDOsN7uGO80uNfMSAPKvSe4rpFDJis)
-
Email Validation
Local Part (before '@'):
- Allowed characters: Letters, digits,. , _ , +, -
- Rules: Cannot start or end with special characters. No spaces allowed.Domain Part (After '@'):
- Allowed characters: Letters, digits,-, .
- Rules: Cannot start or end with a hyphen, must have a TLD of at least 2 characters.Error Message:
- For invalid email input, this error message is shown: "Invalid email format. Please ensure your email includes a valid domain (e.g., [email protected])".
![Screenshot 2024-10-17 at 1 39 11 AM](https://private-user-images.githubusercontent.com/156591790/377168941-f57cbc72-e0bb-474d-b298-52eb30ae26cf.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0ODA4MzYsIm5iZiI6MTczOTQ4MDUzNiwicGF0aCI6Ii8xNTY1OTE3OTAvMzc3MTY4OTQxLWY1N2NiYzcyLWUwYmItNDc0ZC1iMjk4LTUyZWIzMGFlMjZjZi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxM1QyMTAyMTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jNjZiNGIzYWNhNDQ1NDdmZTMyNzFiZThiNjVhYTcwYzI2NjNlYTc0MWRlODliNmQyZTlhN2U2OTlhYzgxNGFlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.Y5iiMDXBCCXNwcb0qUWSsTyCvUjxgQTb7KL_5CZy-_c)
Command Updates
- Delete Command
New Command Format:delete n/name p/phone e/email
At least one parameter is required; up to three parameters can be included.
Updated messages for incorrect command format, no entry detected, and multiple entries detected.
Parameter order is flexible and does not impact functionality.
![Screenshot 2024-10-17 at 1 41 48 AM](https://private-user-images.githubusercontent.com/156591790/377169806-df37c30b-64c4-4f46-9402-f74fc7142912.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0ODA4MzYsIm5iZiI6MTczOTQ4MDUzNiwicGF0aCI6Ii8xNTY1OTE3OTAvMzc3MTY5ODA2LWRmMzdjMzBiLTY0YzQtNGY0Ni05NDAyLWY3NGZjNzE0MjkxMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxM1QyMTAyMTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mYzU4MWQ2ODMyNWZlNGNmYmE0N2NmZGRjOTU4YTM1NDFkMTM0NjM4ZDQwNzU4Mjc1ZTE2YmJiYTM3NmRiYjBjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.b3XqfZyA3CHUWap8T4RoJJOlFjty_mDD4IyI2cguVfg)
![Screenshot 2024-10-17 at 1 42 03 AM](https://private-user-images.githubusercontent.com/156591790/377169873-a866b62d-a5f8-48ee-b98e-24ac94764cb9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0ODA4MzYsIm5iZiI6MTczOTQ4MDUzNiwicGF0aCI6Ii8xNTY1OTE3OTAvMzc3MTY5ODczLWE4NjZiNjJkLWE1ZjgtNDhlZS1iOThlLTI0YWM5NDc2NGNiOS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxM1QyMTAyMTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lOGY2ZjQ5NmFlOWQ2OGI2MGVjYTk2ZTY2MzQxN2IxM2JlMWQyMjVjYmZlNDc0Nzg2YjE2YTcwZWFjMGI4ZTg5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.fMFzZTLhDNuwuS6Ifk5PIpLwDtJbDTx4goKjXpi4B6s)
- View Command
The list command has been replaced with view. This command retains the same functionality as list, displaying all entries.
![Screenshot 2024-10-17 at 1 44 12 AM](https://private-user-images.githubusercontent.com/156591790/377170544-17779ec1-8daa-4495-bd83-81d4e865d8c2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0ODA4MzYsIm5iZiI6MTczOTQ4MDUzNiwicGF0aCI6Ii8xNTY1OTE3OTAvMzc3MTcwNTQ0LTE3Nzc5ZWMxLThkYWEtNDQ5NS1iZDgzLTgxZDRlODY1ZDhjMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxM1QyMTAyMTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00ZmIzNzg5YTA5ZTM3YjVlN2VlNjFlNjg4ZTAzNTliNjZiNzcyNWE0MDQ3OWJlMjRkYmIzMTQ0NWM5OTAzZWI0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.GsA9LSjg7V8HbxHtWAXZkIQz94N6-aOu9ekePYbIfI8)
Tagging System Update
Every person must have exactly one tag.
The tag must be one of three values: "High Risk", "Medium Risk", or "Low Risk".
Duplicate Person Logic
Two people are considered duplicates if and only if they have the same name and phone number.
People with the same name but different phone numbers should not be considered duplicates (e.g., common names).
People with different names but the same phone number (e.g., households or children sharing a contact) are also considered unique.