RxRefund - Nilsu Bozan; Melis Atagun; Eylul Kadioglu; Buse Tosuner; Ahmet Ezdesir;: Difference between revisions

From CS486wiki
Jump to navigationJump to search
Content deleted Content added
 
(48 intermediate revisions by the same user not shown)
Line 48: Line 48:
# Buttons are placed (not effective right now).
# Buttons are placed (not effective right now).
# User can see the dates and affected rows.
# 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:''
* ''To-do:''
Line 59: Line 63:
# Users can be company admins or not, pharmacy admins or not.
# Users can be company admins or not, pharmacy admins or not.
# System users should be Jamie and employees.
# 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.
# Removed the user section from the sidebar
# Updated the “create new” form in the company section
# When creating a company, the username and password are entered, and the company_admin role is added to the user table simultaneously
# Updated the menu sections for different roles

* ''To-do:''

# Dynamic selection on the pharmacy form.
# Make Pharmacy state licence expiration selection a date field (It takes string now, ux bad).
# Change "NEWWEB" to "Rx Autonetics"
# Include the "pharmacies" section in the menu for the "pharmacy_admin" role
# Add a 'add user' button to the pharmacies section within the company to manage pharmacy users

=='''Week 6 (2.29.2024)'''==

* ''Problems:''
# Server timeout error is still happening in the middle of process_and_check_npi function.
# Updated the server if it solves the timeout error. We got the database backup from ec2 and built it in a local machine to further test new solutions. We made this to prevent the server from being down in every attempt we made to solve the problem.
# We copied the backup file from the ec2 server into a local machine and set up the database to continue testing without causing the server go down again and again.


* ''Accomplishments:''

# Made companyID selection dynamic - user doesn’t need to know companyID
# Made Pharmacy state licence expiration a date field (it was string, ux bad)
# view archived transaction checkbox added. - user is able to filter by npi number on view archived transactions page.

* ''To-do:''

# Add edit pharmacy info section.
# Send Jamie an email that the file has 2 different NPI numbers.
# Delete unnecessary tables.
# Request more files from Jamie.
# Implement pharmacy-npi relation on pharmacy table.

=='''Week 7 (3.7.2024) - Spring Break'''==

* ''Problems:''
# Server timeout error is still happening in the middle of process_and_check_npi function.


* ''Accomplishments:''
# Deleted the faulted TX files
# Changed the View_Tx selections according to the true files.
# -

* ''To-do:''

# Add edit pharmacy info section.
# Send Jamie an email that the file has 2 different NPI numbers.
# Delete unnecessary tables.
# Request more files from Jamie.
# Implement pharmacy-npi relation on pharmacy table.

=='''Week 8 (3.14.2024)'''==

* ''Problems:''



* ''Accomplishments:''
# Sent Jamie an email that the file has 2 different NPI numbers.
# Realized that one file can have more than one NPI.
# Will assume that one file has primary NPI and secondary NPI.
# Updated the server if it solves the timeout error.
# Got the backup of the database from ec2 and built it in a local machine to further test new solutions.

* ''To-do:''

# Add edit pharmacy info section.
# Add secondary NPI to the pharmacy table.
# When npi2 comes, put it on the same table as npi1 table.

=='''Week 9 (3.21.2024)'''==

* ''Problems:''



* ''Accomplishments:''
# to_sql function is further tested on local machine (works without a problem)
# chunksize method is applied to improve the performance
# bulk method is thought but it is not suitable with our design
# Realized that to_sql function works with file ending with 31 and does not work with 96
# To consider, file ending with 31 has few thousands of line, file ending with 96 has more than 300,000

* ''To-do:''

# Add edit pharmacy info section.
# Add secondary NPI to the pharmacy table.
# When npi2 comes, put it on the same table as npi1 table.

=='''Week 10 (3.28.2024)'''==

* ''Problems:''



* ''Accomplishments:''
# Added secondary NPI to the pharmacy table.
# Deleted unnecessary tables.
# Restrictions of 'List Uploads' for each user profile completed.
# The password issue in the company_admin section has been resolved
# The pharmacy_admin has been added to the pharmacy form
# User section has been added to the sidebar for the pharmacy_admin user, and only the users associated with that pharmacy are displayed there
# The Npi2 section has been added to the form


* ''To-do:''

# Add edit pharmacy info section.
# When npi2 comes, put it on the same table as npi1 table.
# If pharmacy npi is not in the pharmacy table, don't add the file
# Check if current user NPI matches with the one from incoming file.
# Implement multiple NPI selection for 'View Archived Transactions' page.
# Delete the old Minnich files and upload the new files to the system.
# Investigate why it is getting caught in the health checks. Refer to the AWS documentation on health checks.

=='''Week 11 (4.4.2024)'''==

* ''Problems:''



* ''Accomplishments:''
# If pharmacy npi is not in the pharmacy table, don't add the file
# Check if current user NPI matches with the one from incoming file.
# Delete the old Minnich files and upload the new files to the system.
# Implement multiple NPI selection for 'View Archived Transactions' page.

* ''To-do:''
# Add edit pharmacy info section.
# When npi2 comes, put it on the same table as npi1 table.
# Investigate why it is getting caught in the health checks. Refer to the AWS documentation on health checks.

=='''Week 12 (4.11.2024)'''==

* ''Problems:''



* ''Accomplishments:''
# Company or Pharmacy admin can upload to their NPIs, not users.
# System admin can upload to any pharmacy he wants.
# Added roles check in addition to NPI check.

* ''To-do:''
# When a company is created, using the add company form, the company admin is created on users table but its company name and pharmacy name come as null. Fix that (its pharmacy can be null).
# Active users do not show all the users when we log in as system admin. Fix that.
# Put active users next to archive users (only for system admin).
# Active users can show active users for that company/pharmacy if logged in as that company/pharmacy admin (this is the next step).
# Our repository is 99 mb which is high (compared to 3 mb). The reason is that we also push our uploaded Txt files to the remote repository (bitbucket). We can use the "git ignore" functionality to prevent those files from going to the bitbucket and keep the repo size as usual.

=='''Week 13 (4.18.2024)'''==

* ''Problems:''



* ''Accomplishments:''
# When a company is created, using the add company form, the company admin is created on users table but its company name and pharmacy name come as null. It is fixed now.
# Active users do not show all the users when we log in as system admin. It is fixed now.
# Our repository is 99 mb which is high (compared to 3 mb). The reason is that we also push our uploaded Txt files to the remote repository (bitbucket). We can use the "git ignore" functionality to prevent those files from going to the bitbucket and delete the ones already in the Bitbucket. It is fixed now.
# The updated deltrack files were added to the database along with the NPI of the user.

* ''To-do:''
# Put active users next to archive users (only for system admin).
# Active users can show active users for that company/pharmacy if logged in as that company/pharmacy admin (this is the next step).
# Resolve the Ajax database error that occurred while displaying the uploaded files in the view deltrack section.

=='''Week 14 (4.25.2024)'''==

* ''Problems:''



* ''Accomplishments:''
# No meeting

* ''To-do:''
# Put active users next to archive users (only for system admin).
# Active users can show active users for that company/pharmacy if logged in as that company/pharmacy admin (this is the next step).
# Resolve the Ajax database error that occurred while displaying the uploaded files in the view deltrack section.

=='''Week 15 (5.2.2024) - Last Meeting'''==

* ''Problems:''



* ''Accomplishments:''
# Put active users next to archive users (only for system admin).
# Active users can show active users for that company/pharmacy if logged in as that company/pharmacy admin (this is the next step).
# Resolve the Ajax database error that occurred while displaying the uploaded files in the view deltrack section.
# Did a presentation.

* ''To-do:''

Latest revision as of 00:50, 3 May 2024

Week 1 (1.25.2024)

  • Accomplishments:
  1. A quick summary of the previous semester was made
  2. The upload file, company, and user sections was reviewed
  3. The page on Notion was updated, and tasks were assigned


  • To-do:
  1. Check if the database and code are up-to-date and working on AWS
  2. Distribute tasks for the analytics, database and frontend
  3. Create an architecture for users, including company admin, pharmacy admin, and super user
  4. Upload new TXT files without making any changes

Week 2 (2.1.2024)

  • Problems:
  1. 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.
  2. ec2 instance was unable to connect to the database due to security reasons.
  • Accomplishments:
  1. A quick summary of the previous semester was made
  2. Some of the TX files are tested and they were uploaded successfully.
  3. Tasks were assigned.
  4. Permissions of the database in ec2 instance changed and then successfuly connected to database.
  • To-do:
  1. company users, access control, include permissions in menu items.
  2. Break archive tables by NPI.
  3. Implement tx_search for our current pharmacy (NPI) structure
  4. Confirm page for #rows and date range in intersection.
  5. Improve date range intersection algorithm

Week 3 (2.8.2024)

  • Problems:
  1. 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.
  2. We need something like “wait” until the button is clicked.
  • Accomplishments:
  1. Frontend is done for confirming uploads.
  2. Buttons are placed (not effective right now).
  3. User can see the dates and affected rows.
  4. Created a separate archive table for each NPI
  5. Added entries for the newly created archive tables to the List Uploads
  6. Updated the delete function in the List Uploads section; it now removes entries from both the webpage and the database


  • To-do:
  1. Improve the performance by analyzing the process_and_check_npi function.
  2. Make demos from the source code on the EC2 server.
  3. Admin should have a list of users for each functionality. It controls what the user can do or not.
  4. Admin should be a role, not a user.
  5. 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.
  6. Different forms for adding users and adding companies are required.
  7. Users can be company admins or not, pharmacy admins or not.
  8. System users should be Jamie and employees.
  9. 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:
  1. The server is overloaded when the process_and_check_npi function is running.
  2. "View Archived Transactions" does not list all the rows on the webpage(only displays 100 rows).


  • Accomplishments:
  1. A new company form is created.
  2. Process_and_check_npi function is divided into two separate functions allowing us to commit and rollback database operations.
  3. Cancel and confirm transaction buttons are now functional.
  4. We updated the code in the server and it is running.
  5. We created the functionality of the "View Archived Transactions" page.
  6. Utils.py file modified due to reduce the time required to upload files - result is from 370 seconds to 329 seconds.
  • To-do:
  1. A new pharmacy form will be created.
  2. The access control system will be improved.
  3. 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:
  1. The server is overloaded when the process_and_check_npi function is running (tried several things listed below).


  • Accomplishments:
  1. Within the connection to the server, we defined ServerAliveInterval and ServerAliveCountMax to prevent the timeout error.
  2. A new pharmacy form is created but some improvements are required like dynamic selection.
  3. Removed the user section from the sidebar
  4. Updated the “create new” form in the company section
  5. When creating a company, the username and password are entered, and the company_admin role is added to the user table simultaneously
  6. Updated the menu sections for different roles
  • To-do:
  1. Dynamic selection on the pharmacy form.
  2. Make Pharmacy state licence expiration selection a date field (It takes string now, ux bad).
  3. Change "NEWWEB" to "Rx Autonetics"
  4. Include the "pharmacies" section in the menu for the "pharmacy_admin" role
  5. Add a 'add user' button to the pharmacies section within the company to manage pharmacy users

Week 6 (2.29.2024)

  • Problems:
  1. Server timeout error is still happening in the middle of process_and_check_npi function.
  2. Updated the server if it solves the timeout error. We got the database backup from ec2 and built it in a local machine to further test new solutions. We made this to prevent the server from being down in every attempt we made to solve the problem.
  3. We copied the backup file from the ec2 server into a local machine and set up the database to continue testing without causing the server go down again and again.


  • Accomplishments:
  1. Made companyID selection dynamic - user doesn’t need to know companyID
  2. Made Pharmacy state licence expiration a date field (it was string, ux bad)
  3. view archived transaction checkbox added. - user is able to filter by npi number on view archived transactions page.
  • To-do:
  1. Add edit pharmacy info section.
  2. Send Jamie an email that the file has 2 different NPI numbers.
  3. Delete unnecessary tables.
  4. Request more files from Jamie.
  5. Implement pharmacy-npi relation on pharmacy table.

Week 7 (3.7.2024) - Spring Break

  • Problems:
  1. Server timeout error is still happening in the middle of process_and_check_npi function.


  • Accomplishments:
  1. Deleted the faulted TX files
  2. Changed the View_Tx selections according to the true files.
  3. -
  • To-do:
  1. Add edit pharmacy info section.
  2. Send Jamie an email that the file has 2 different NPI numbers.
  3. Delete unnecessary tables.
  4. Request more files from Jamie.
  5. Implement pharmacy-npi relation on pharmacy table.

Week 8 (3.14.2024)

  • Problems:


  • Accomplishments:
  1. Sent Jamie an email that the file has 2 different NPI numbers.
  2. Realized that one file can have more than one NPI.
  3. Will assume that one file has primary NPI and secondary NPI.
  4. Updated the server if it solves the timeout error.
  5. Got the backup of the database from ec2 and built it in a local machine to further test new solutions.
  • To-do:
  1. Add edit pharmacy info section.
  2. Add secondary NPI to the pharmacy table.
  3. When npi2 comes, put it on the same table as npi1 table.

Week 9 (3.21.2024)

  • Problems:


  • Accomplishments:
  1. to_sql function is further tested on local machine (works without a problem)
  2. chunksize method is applied to improve the performance
  3. bulk method is thought but it is not suitable with our design
  4. Realized that to_sql function works with file ending with 31 and does not work with 96
  5. To consider, file ending with 31 has few thousands of line, file ending with 96 has more than 300,000
  • To-do:
  1. Add edit pharmacy info section.
  2. Add secondary NPI to the pharmacy table.
  3. When npi2 comes, put it on the same table as npi1 table.

Week 10 (3.28.2024)

  • Problems:


  • Accomplishments:
  1. Added secondary NPI to the pharmacy table.
  2. Deleted unnecessary tables.
  3. Restrictions of 'List Uploads' for each user profile completed.
  4. The password issue in the company_admin section has been resolved
  5. The pharmacy_admin has been added to the pharmacy form
  6. User section has been added to the sidebar for the pharmacy_admin user, and only the users associated with that pharmacy are displayed there
  7. The Npi2 section has been added to the form


  • To-do:
  1. Add edit pharmacy info section.
  2. When npi2 comes, put it on the same table as npi1 table.
  3. If pharmacy npi is not in the pharmacy table, don't add the file
  4. Check if current user NPI matches with the one from incoming file.
  5. Implement multiple NPI selection for 'View Archived Transactions' page.
  6. Delete the old Minnich files and upload the new files to the system.
  7. Investigate why it is getting caught in the health checks. Refer to the AWS documentation on health checks.

Week 11 (4.4.2024)

  • Problems:


  • Accomplishments:
  1. If pharmacy npi is not in the pharmacy table, don't add the file
  2. Check if current user NPI matches with the one from incoming file.
  3. Delete the old Minnich files and upload the new files to the system.
  4. Implement multiple NPI selection for 'View Archived Transactions' page.
  • To-do:
  1. Add edit pharmacy info section.
  2. When npi2 comes, put it on the same table as npi1 table.
  3. Investigate why it is getting caught in the health checks. Refer to the AWS documentation on health checks.

Week 12 (4.11.2024)

  • Problems:


  • Accomplishments:
  1. Company or Pharmacy admin can upload to their NPIs, not users.
  2. System admin can upload to any pharmacy he wants.
  3. Added roles check in addition to NPI check.
  • To-do:
  1. When a company is created, using the add company form, the company admin is created on users table but its company name and pharmacy name come as null. Fix that (its pharmacy can be null).
  2. Active users do not show all the users when we log in as system admin. Fix that.
  3. Put active users next to archive users (only for system admin).
  4. Active users can show active users for that company/pharmacy if logged in as that company/pharmacy admin (this is the next step).
  5. Our repository is 99 mb which is high (compared to 3 mb). The reason is that we also push our uploaded Txt files to the remote repository (bitbucket). We can use the "git ignore" functionality to prevent those files from going to the bitbucket and keep the repo size as usual.

Week 13 (4.18.2024)

  • Problems:


  • Accomplishments:
  1. When a company is created, using the add company form, the company admin is created on users table but its company name and pharmacy name come as null. It is fixed now.
  2. Active users do not show all the users when we log in as system admin. It is fixed now.
  3. Our repository is 99 mb which is high (compared to 3 mb). The reason is that we also push our uploaded Txt files to the remote repository (bitbucket). We can use the "git ignore" functionality to prevent those files from going to the bitbucket and delete the ones already in the Bitbucket. It is fixed now.
  4. The updated deltrack files were added to the database along with the NPI of the user.
  • To-do:
  1. Put active users next to archive users (only for system admin).
  2. Active users can show active users for that company/pharmacy if logged in as that company/pharmacy admin (this is the next step).
  3. Resolve the Ajax database error that occurred while displaying the uploaded files in the view deltrack section.

Week 14 (4.25.2024)

  • Problems:


  • Accomplishments:
  1. No meeting
  • To-do:
  1. Put active users next to archive users (only for system admin).
  2. Active users can show active users for that company/pharmacy if logged in as that company/pharmacy admin (this is the next step).
  3. Resolve the Ajax database error that occurred while displaying the uploaded files in the view deltrack section.

Week 15 (5.2.2024) - Last Meeting

  • Problems:


  • Accomplishments:
  1. Put active users next to archive users (only for system admin).
  2. Active users can show active users for that company/pharmacy if logged in as that company/pharmacy admin (this is the next step).
  3. Resolve the Ajax database error that occurred while displaying the uploaded files in the view deltrack section.
  4. Did a presentation.
  • To-do: