November 2022
Tuesday, November 1, 2022
-
refactored client ratings report to accept no input and return ratings for all clients
October 2022
Friday, October 28th
Date ranges can optionally be passed for these reports by sending start_date
and/or end_date
values in the payload.
-
client ratings report data, gets ratings for all trials for a given client
-
trial ratings report data, gets ratings for all sites in a trial
-
trial sites ratings, gets ratings for sites
Thursday, October 20th, 2022
-
ratings completion: pull by date, date range, and/or trialSite UID
Wednesday, October 19th, 2022
-
include milestone in mileage payments if the milestone name is provided when the payment is created
-
site coordinators no longer have permission to change the participants' payment info
Tuesday, October 17th, 2022
-
Send notifications about messages to the websocket
-
added lookup to find all user UIDs who should have access to a conversation
-
-
Updates to websocket message type for consistency with other API output
-
send test message down websocket every minute as a test
-
improve error logging for websocket disconnections
-
updated dev server nginx to support websockets
Monday, October 16th, 2022
-
improved freeze/cache for permissions lookups
-
added websocket to API
-
add new
request_id
to reimbursement requests -
change "Ginku" in source code to "Mural Link"
-
fix PayPal & Venmo payments to use the
payment_email
instead of participant’s e-mail. -
multiple uploads for reimbursement requests
-
add
current
flag to database to indicate which of the (potentially multiple) uploads are current
-
Friday, October 14th, 2022
-
add freeze/unfreeze caching to speed up permissions checks
-
add profiling to integration test suite
-
fix issue with datetime not being in appointment response
-
added
created
andmodified
timestamps topayment
and populate them -
added custom JSON unmarshaller for
payment
to populatecreated
andmodified
timestamps -
added initial websocket code
Wednesday, October 5th
-
update
get_messages
to not require anenrollment_uid
-
add lookup for all user enrollment UIDs for a participant or caregiver
-
add lookup for all user trial site UIDs for a site coordinator + permission combination
-
add lookup for all enrollment UIDs associated with a trial/site
-
update tests for modified output
-
-
add sender name to
get_messages
response -
add subject ID to
get_messages
response
Monday, October 3rd
-
add
get_appointments
API call with the ability to query either future or past appointments -
rename
patient
toparticipant
in many places in the code
September 2022
Friday, September 30th
-
Add audit logging for successful and failed logins
-
Completed Amazon S3 work for uploading files and getting temporary URLs
-
Modified contract uploads to use Amazon S3
-
Added ability to cache uploads in memory during testing, when Amazon S3 is not available
-
Added database migrations for necessary fields and new "uploads" table
-
Database migrations to delete fields and table that are no longer necessary.
-
-
Reimbursement file upload in progress, requires less than an hour of additional work
Wednesday, September 28th
-
set appointment payment UID once payment is made for milestone (connecting appointment to payment for reporting purposes)
-
getting role permissions returns default permissions if no custom permissions are set for that role for that resource
-
added payment UID to the appointment type
-
API call
get_payable_appointments
-
added graceful shutdown to API when killed with
SIGTERM
-
added profiling to API for future performance improvements
-
added migration for milestone & payment UID fields to appointment database table
-
updated all other appointment SQL queries to include milestone & payment UID fields
-
created / updated API documentation for new functionality
-
additions to test data generation tool to support testing
get_payable_appointments
, which required modifying a few other tests-
automatically add milestones to new trial/site when trial/site is created
-
one-step creation of user with site coordinator role for a trial/site
-
add
milestone
to existingschedule_appointment
API calls
-
-
fix error in
set_payment_type
where sometimes a duplicate address insert would be attempted -
add
created_at
andmodified_at
fields topayment
model and populate them in response to API calls
Tuesday, September 27th
-
added beginnings of AWS code to support S3 uploads
-
clean up dependencies file (delete crap added automatically due to Stripe library integration)
-
plugged in Stripe code for making actual payments (tested!)
-
added
stripe_account_id
toenrollment
query for getting Stripe account token -
completed
payment_address
functionality
Monday, September 26th
-
updated payment queries to check for
claimed
status, instead of the previouspending
status -
added Stripe UID to enrollment model & database migrations
-
added Stripe payment types to database migrations (debit & bank account, in addition to existing PayPal, Venmo, and check)
-
add automatic calls to Stripe transfer & payout APIs when payment is in
claimed
status -
refactor development Stripe code to integrate with API (connect to automatic payout check instead of existing stubs)
-
add or update payment address properly in
set_payment_type
API call -
allow a "generic" rating to be created (not related to a specific appointment)
Friday, September 23rd
-
completed basic messaging functionality
-
check for whether participant or caregiver is involved in a trial (participant enrolled or caregiver for an enrolled participant)
-
API call to get messages for a participant, caregiver, or site coordinator
-
conversation & message models
-
send_message
API call -
get_messages
API call -
added support for multiple caregivers per participant (required for each caregiver to be able to view appropriate messages)
-
added check for whether enrollment exists (convenience feature for messaging)
-
added database table to store read status of messages on a per-user basis
-
-
add additional check to password update to ensure user UID exists
Thursday, September 22nd
-
Renamed
add_patient
toadd_participant
-
Now returning
enrollment
in the response to theenroll
API call. -
Several test updates to change
patient
toparticipant
-
Create a user for a caregiver when the caregiver is created
-
Add caregiver UID to caregiver type
-
Add API call
get_user_by_caregiver_uid
to facilitate testing
Tuesday, September 20th
-
Make participant DoB required
Friday, September 16th
-
Renamed "travel" payments to "mileage."
-
payment categories added for manual payments
-
category is required for manual payments
-
default categories exist
-
add_category`
API call added to create custom categories on a per-trial basis -
categories are validated when a manual payment is attempted
-
-
Added the ability to rate visits
-
get rate-able visits
-
Thursday, September 15th
-
Update
get_payment_types
output to be a map instead of just a list.
Wednesday, September 14th
-
Return a non-200 status code when a user makes an API call but isn’t logged in.
Tuesday, September 13th
-
Add payment e-mail, phone, and address fields to enrollment. This allows a participant to use something different than what is registered to their user to receive payments. For example, they may want to use one e-mail address to log in to the system, and another to received PayPal payments.
Monday, September 12th
Thursday, September 8th
-
Allow multiple caregivers for a patient (replaced
get_caregiver
withget_caregivers
),add_caregiver
is still singular; it may be called multiple times.Wednesday, September 7th
-
added
get_user_trials
-
added validation token to registration e-mail
-
no longer delete validation token on e-mail validation; validate on password change, allowing mobile app to call both
my_info
andchange_password
-
update
change_password
to acceptvalidation_token
during app on-boarding
Friday, September 2nd
-
get_user_sites
endpoint — get any sites associated with a user via their permissions -
get_funding
endpoint — get remaining funding for a contract after any payments that have been made -
get_funding
update — accepttrial_uid
as an alternative tocontract_uid
-
add optional
dob
(date of birth) topatient
. Must be in formatYYYY-MM-DD
or blank. -
my_info
now acceptstoken
in thepayload
. If the token is valid (their token from their welcome e-mail, which will also be their deep-link code), it returns their info and marks their e-mail as verified. -
add
caregiver_relationships
call to get a list of caregiver relationships -
add
relationship
to the caregiver model
Thursday, September 1st
-
Fixed bug causing Nancy’s inability to see patients with her own user.
-
Added patient, trial, site, and caregiver info to the
my_info
query so the mobile app can retrieve patient trial info, so it can claim payments.
August 2022
Wednesday, August 31st
-
Removed ability for repeat milestone payments.
Tuesday, August 30th
-
Add payments and appointments to
get_patients
output. -
Updated filter on
get_patients
— should filter unauthorized patients. -
Updated filter on
get_patients
— should show patients even if they have noTrialSite
-
Updated filter on
get_patients
— should show now properly filter ontrial_uid
if provided. -
Updating a milestone will result in the newest one being used, as long as its
effective_date
is not in the future. -
Updated code for milestone sort order.
Monday, August 29th
-
get_patient
now returns appointment information -
get_patients
now returns all patients a site coordinator can see. Passing intrial_uid
is optional and will filter by trial.
Friday, August 26th
-
Set
user_type
in response tointernal
orexternal
based on whether the user’s e-mail address ends in@muralhealth.com
. -
Added
created_by
to thepayment
object and database table. It contains the UID of the person who created the payment. -
Added
created_by
to the output provided to theget_patient_payments
call. -
Automatically create a
user
when a patient is enrolled in a trial. -
Added
get_unclaimed_payments
endpoint. Usable by the participant, it returns a list of payments they may claim. -
Added
get_user_by_patient_uid
endpoint. Used by admin; created for testing purposes. -
Added
claim_payments
endpoint. Allows a patient to claim their unclaimed payments.
Thursday, August 25th
-
added get_roles API call to get valid roles.
-
Validate roles for
add_role_permission
(valid options are returned byget_roles
, described above) -
Fix bug in
get_caregiver
which could return multiple separate JSON documents in a single response. -
trial_uid
is now optional when callingget_patients
. -
Store client address when create_client is called, ticket #23.
-
Set default permissions for a
Site Coordinator
. -
added get_default_role_permissions API call
-
Add audit for login with user’s IP address
Wednesday, August 24th
-
Any user is allowed to view their own permissions.
-
Fix multiple JSON output from single
copy_permissions
request.
Tuesday, August 23rd
-
Removed ability for non-admins to upload a contract PDF.
-
ticket 91 add
get_trial_sites
call to get all trial sites by trial UID. -
attach caregiver UID to a patient if they have one
-
add
get_caregiver
API call