All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Bug fetching REDCap data introduced in v1.12.1.
- Automatic deployment of services to
systemd.
redcap-track-curious: REDCap PID 891{instrument}_complete→ `"Curious Track.{instrument}_received".
hbnmigration.from_redcap.from_redcapexport_fieldsparameter.
- Copies participant information to both operations and Curious data REDCap projects from intake.
- Moved logic for looking up REDCap indicies from this repository to
mindlogger-data-export.
- Fixes bug where Curious-to-REDCap data were falling back on potentially incorrect values.
- Only send one email per participant to Curious when creating an account.
- Split Curious into parent and child applets.
- Split REDCap into Operations and Curious projects.
._config_variables.curious_variables.curious_variables.activity_ids._config_variables.curious_variables.curious_variables.applet_ids._config_variables.curious_variables.curious_variables.Credentials._config_variables.curious_variables.curious_variables.AppletCredentials.hbn_mindlogger.from_redcap.config.Values.PID247.enrollment_complete
- REDCap PID 247
adult_consent.parent_involvement→ PID 625.
- EEG eligibility responses from REDCap consent project to REDCap operations project.
- Harmonized conflicting datetime formats.
- Removed reduplicitave field names in REDCap invitation instruments.
- Set
permission_audiovideo_participantto "Not Applicable" when participant's age is < 11 or ≥ 18 years.
- Cache delay of 1 cycle for new subjects from Ripple.
- Protection against log injection attacks.
- Column misalignment in Ripple-to-REDCap.
- Convert float values to int for
redcap_repeat_instance.
- Updating caching logic to incorporate full state, not just record ID.
- Convert "parent_involvement" from a set to a list before JSON serializing.
- Checking for fields we know don't exist in REDCap.
- Restored minute-by-minute jobs pending AWS permission update.
- Endpoints to recieve REDCap Data Entry Triggers.
- Updated
curious_account_createdtracking.
- Websocket now gets a new token when the one it's trying expires.
- Bug in creating new Curious users after splitting REDCap and Curious projects.
- REDCap «HBN - Responder Tracking (PID 879)» authentication.
- Fields "r_id", "curious_email_child" and "curious_password_child" for PID 625 to Curious.
- REDCap-to-Curious data now comes from PID 625.
- Temporarily disabled connection to PID 879 in favor of manual
r_idfield in PID 625. - Handle more datetime options in
mindlogger-autoexport.
- Send timestamps to Curious API in UTC.
hbnmigration.from_redcap.config.Fields.export_247
- Split config for Curious invitations.
- Exception handling for REDCap timeout.
- Commented out missing fields.
- Curious invitations CLI.
- Config keys to set Curious applet credential environment variable names.
- Split parent-report and self-report into separate Curious applets.
- Updated mappings for REDCap PID 247 to PID 625.
- Moved
enrollment_completefrom PID 247 to PID 625.
- Python@3.14
._config_variables.curious_variables.curious_variables.activity_ids._config_variables.curious_variables.curious_variables.applet_ids._config_variables.curious_variables.curious_variables.Credentials._config_variables.curious_variables.curious_variables.AppletCredentials.hbn_mindlogger.from_redcap.config.Values.PID247.enrollment_complete
- Alerts to Microsoft Teams on certain failures.
- Look up indices for options in REDCap instead of following
{Curious index} + 1heuristic. - Check for duplicate data and skip those records when copying data from Curious to REDCap.
- Bug where MRNs & REDCap record IDs didn't match in data from Curious to REDCap (using MRN as record ID).
- Timeouts to minute-by-minute transfers to avoid hanging on connection failures.
- Curious data and alerts now go to prod REDCap project even in dev mode.
- Moved project status to envrironment variable
$HBNMIGRATION_PROJECT_STATUSwith default"prod" - Log missing fields but push acceptable data in those cases
- Log invalid categories separately
- Optimize from day-by-day to minute-by-minute
- Don't create
{mrn}_Precords in REDCap. - Handle differences in websocket and HTTPS Curious alerts API responses.
no alerts triggeredset for potential alerts that did completed without triggering
- REDCap status changed from dev to prod
mrn_error_log.tsv- Python scripts / jobs
- Curious data to REDCap
{activity_name}_start_dateto Curious instruments in REDCap
- Curious data to REDCap
- bug in pushing Curous alerts to REDCap
- bug in pushing REDCap participants to Curious
- Python scripts / jobs
- Curious invitations to REDCap
- TypeScript scripts / jobs
- decrypt single answer
- REDCap PID 744
record_ids now matchmrns - When setting
"complete_parent_second_guardian_consent"in PID 744:if then PID 247 PID 744 ["guardian2_consent"]["parent_second_guardian_consent_complete"]["complete_parent_second_guardian_consent"]"No"any "Not Required""Not Applicable (Adult Participant)""Not Applicable (Adult Participant)"not in ["No", "Not Applicable (Adult Participant)"]"Incomplete""Incomplete""Unverified""Unverified""Complete""Complete"
- Python scripts / jobs
- Curious alerts to REDCap
- initial Terraform configuration
- utility function library
- Python scripts / jobs
- REDCap to Curious
- initial Terraform configuration
- utility function library
- Python scripts / jobs
- REDCap to REDCap
- initial Terraform configuration
- utility function library
- initial Terraform configuration
- utility function library
- Python scripts / jobs
- Ripple to REDCap