RxRefund - Nilsu Bozan; Melis Atagun; Eylul Kadioglu; Buse Tosuner; Ahmet Ezdesir;
From CS486wiki
Week 1 (1.25.2024)
- Accomplishments:
- A quick summary of the previous semester was made
- The upload file, company, and user sections was reviewed
- The page on Notion was updated, and tasks were assigned
- To-do:
- Check if the database and code are up-to-date and working on AWS
- Distribute tasks for the analytics, database and frontend
- Create an architecture for users, including company admin, pharmacy admin, and super user
- Upload new TXT files without making any changes
Week 2 (2.1.2024)
- Problems:
- Archived transactions can not go to the archived_data table. We think that it is because new files contain a new column that we do not have in the archive_data table yet.
- ec2 instance was unable to connect to the database due to security reasons.
- Accomplishments:
- A quick summary of the previous semester was made
- Some of the TX files are tested and they were uploaded successfully.
- Tasks were assigned.
- Permissions of the database in ec2 instance changed and then successfuly connected to database.
- To-do:
- company users, access control, include permissions in menu items.
- Break archive tables by NPI.
- Implement tx_search for our current pharmacy (NPI) structure
- Confirm page for #rows and date range in intersection.
- Improve date range intersection algorithm
Week 3 (2.8.2024)
- Problems:
- The problem is that we need to divide the process_and_check_npi function in a way that modifies the database after the confirm button is clicked.
- We need something like “wait” until the button is clicked.
- Accomplishments:
- Frontend is done for confirming uploads.
- Buttons are placed (not effective right now).
- User can see the dates and affected rows.
- Created a separate archive table for each NPI
- Added entries for the newly created archive tables to the List Uploads
- Updated the delete function in the List Uploads section; it now removes entries from both the webpage and the database
- To-do:
- Improve the performance by analyzing the process_and_check_npi function.
- Make demos from the source code on the EC2 server.
- Admin should have a list of users for each functionality. It controls what the user can do or not.
- Admin should be a role, not a user.
- You are a user and you can be assigned to a role. you can be an admin for Newhard company, which will get you two pharmacies that Newhard company owns.
- Different forms for adding users and adding companies are required.
- Users can be company admins or not, pharmacy admins or not.
- System users should be Jamie and employees.
- Adjust delete functionality in the List Uploads section so that users are restricted to deleting only the files they have uploaded
Week 4 (2.15.2024)
- Problems:
- The server is overloaded when the process_and_check_npi function is running.
- "View Archived Transactions" does not list all the rows on the webpage(only displays 100 rows).
- Accomplishments:
- A new company form is created.
- Process_and_check_npi function is divided into two separate functions allowing us to commit and rollback database operations.
- Cancel and confirm transaction buttons are now functional.
- We updated the code in the server and it is running.
- We created the functionality of the "View Archived Transactions" page.
- Utils.py file modified due to reduce the time required to upload files - result is from 370 seconds to 329 seconds.
- To-do:
- A new pharmacy form will be created.
- The access control system will be improved.
- We will add a new filtering option to 'View Tx' and 'View Archived Transaction' page that enables user to apply filter to list transactions that has a certain # NPI number.
Week 5 (2.22.2024)
- Problems:
- The server is overloaded when the process_and_check_npi function is running (tried several things listed below).
- Accomplishments:
- Within the connection to the server, we defined ServerAliveInterval and ServerAliveCountMax to prevent the timeout error.
- A new pharmacy form is created but some improvements are required like dynamic selection.
- To-do:
- Dynamic selection on the pharmacy form.
- Make Pharmacy state licence expiration selection a date field (It takes string now, ux bad).