Skip to content

Commit

Permalink
Merge branch 'main' into 2024_10_28_instrument_data_parser
Browse files Browse the repository at this point in the history
  • Loading branch information
jeffersoncasimir authored Feb 20, 2025
2 parents b2e4a95 + 108491c commit e334448
Show file tree
Hide file tree
Showing 268 changed files with 25,340 additions and 23,263 deletions.
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ node_modules/*
vendor/*
project/*
babel.config.js
webpack.config.ts

# compiled js ignored since it is run on the jsx directory
modules/*/js/*
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ the `Data` key instead of `$InstrumentName` (PR #7857)
- Fixed broken DB calls in `assign_missing_instruments` and `instruments` (PR #8162)
- Add support for PHP 8.1 (PR #7989)
- Fix Project tab of Configuration module to give correct errors, and prevent saving without Alias (PR #8349)
- Fix BVL feedback summary in instruments (PR #8889)
### Modules
#### API
- Ability to use PSCID instead of the CandID in the candidates API (PR #8138)
Expand Down
114 changes: 64 additions & 50 deletions SQL/0000-00-00-schema.sql

Large diffs are not rendered by default.

10 changes: 7 additions & 3 deletions SQL/0000-00-02-Permission.sql
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,8 @@ INSERT INTO `permissions` VALUES
(33,'genomic_data_manager','Genomic Files',(SELECT ID FROM modules WHERE Name='genomic_browser'),'Upload','2'),
(34,'media_write','Candidate Media Files',(SELECT ID FROM modules WHERE Name='media'),'Edit/Upload/Hide','2'),
(35,'media_read','Candidate Media Files',(SELECT ID FROM modules WHERE Name='media'),'View/Download','2'),
(36,'issue_tracker_reporter', 'Create/Edit Own Issues and Comment on All Issues',(SELECT ID FROM modules WHERE Name='issue_tracker'),NULL, 2),
(37,'issue_tracker_developer', 'Close/Edit/Re-assign/Comment on All Issues',(SELECT ID FROM modules WHERE Name='issue_tracker'),NULL, 2),
(36,'issue_tracker_own_issue', 'See/Edit/Comment and Close on Own Issues',(SELECT ID FROM modules WHERE Name='issue_tracker'),NULL, 2),
(37,'issue_tracker_all_issue', 'See/Edit/Comment on all Issues',(SELECT ID FROM modules WHERE Name='issue_tracker'),NULL, 2),
(38,'imaging_browser_phantom_allsites', 'Phantom Scans - All Sites',(SELECT ID FROM modules WHERE Name='imaging_browser'),'View', 2),
(39,'imaging_browser_phantom_ownsite', 'Phantom Scans - Own Sites',(SELECT ID FROM modules WHERE Name='imaging_browser'),'View', 2),
(40,'data_release_view', 'Release Files',(SELECT ID FROM modules WHERE Name='data_release'),'View', 2),
Expand Down Expand Up @@ -136,7 +136,11 @@ INSERT INTO `permissions` VALUES
(64,'dataquery_admin','Admin dataquery queries',(SELECT ID FROM modules WHERE Name='dataquery'),NULL,'2'),
(65,'schedule_module','Schedule Module - edit and delete the appointment',(SELECT ID FROM modules WHERE Name='schedule_module'),'View/Create/Edit','2'),
(66,'document_repository_categories','Categories',(SELECT ID FROM modules WHERE Name='document_repository'), 'Edit/Upload/Delete', '2'),
(67,'document_repository_hidden','Restricted files',(SELECT ID FROM modules WHERE Name='document_repository'), 'View', '2');
(67,'document_repository_hidden','Restricted files',(SELECT ID FROM modules WHERE Name='document_repository'), 'View', '2'),
(68,'issue_tracker_site_issue','See/Edit/Comment on Own Site Issues',(SELECT ID FROM modules WHERE Name = 'issue_tracker'),NULL,2),
(69,'issue_tracker_close_site_issue','Close Own Site Issues',(SELECT ID FROM modules WHERE Name = 'issue_tracker'),NULL,2),
(70,'issue_tracker_close_all_issue','Close all Issues',(SELECT ID FROM modules WHERE Name = 'issue_tracker'),NULL,2);


INSERT INTO `user_perm_rel` (userID, permID)
SELECT u.ID, p.permID
Expand Down
1 change: 0 additions & 1 deletion SQL/0000-00-03-ConfigTables.sql
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,6 @@ INSERT INTO Config (ConfigID, Value) SELECT ID, "365" FROM ConfigSettings WHERE

INSERT INTO Config (ConfigID, Value) SELECT ID, "/data/%PROJECTNAME%/data/" FROM ConfigSettings WHERE Name="imagePath";
INSERT INTO Config (ConfigID, Value) SELECT ID, "%LORISROOT%" FROM ConfigSettings WHERE Name="base";
INSERT INTO Config (ConfigID, Value) SELECT ID, "%LORISROOT%" FROM ConfigSettings WHERE Name="DownloadPath";
INSERT INTO Config (ConfigID, Value) SELECT ID, "tools/logs/" FROM ConfigSettings WHERE Name="log";
INSERT INTO Config (ConfigID, Value) SELECT ID, "/data/%PROJECTNAME%/bin/mri/" FROM ConfigSettings WHERE Name="MRICodePath";
INSERT INTO Config (ConfigID, Value) SELECT ID, "/data/incoming/" FROM ConfigSettings WHERE Name="MRIUploadIncomingPath";
Expand Down
1 change: 1 addition & 0 deletions SQL/9999-99-99-drop_tables.sql
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ DROP TABLE IF EXISTS dataquery_shared_queries_rel;
DROP TABLE IF EXISTS dataquery_run_queries;
DROP TABLE IF EXISTS dataquery_query_names;
DROP TABLE IF EXISTS dataquery_queries;
DROP TABLE IF EXISTS `Login_Summary_Statistics`;

-- 0000-00-05-ElectrophysiologyTables.sql
DROP TABLE IF EXISTS `physiological_event_parameter_category_level`;
Expand Down
9 changes: 9 additions & 0 deletions SQL/Login_Summary_Statistics/01_Female Participant.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
SELECT
IFNULL(Project.Name, 'All Projects') as ProjectName,
COUNT(DISTINCT c.CandID) AS count
FROM candidate c
JOIN Project ON c.RegistrationProjectID = Project.ProjectID
WHERE Project.showSummaryOnLogin = 1
AND c.Sex = 'Female'
AND Entity_type = 'Human'
GROUP BY Project.Name WITH ROLLUP
9 changes: 9 additions & 0 deletions SQL/Login_Summary_Statistics/02_Male Participant.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
SELECT
IFNULL(Project.Name, 'All Projects') as ProjectName,
COUNT(DISTINCT c.CandID) AS count
FROM candidate c
JOIN Project ON c.RegistrationProjectID = Project.ProjectID
WHERE Project.showSummaryOnLogin = 1
AND c.Sex = 'Male'
AND Entity_type = 'Human'
GROUP BY Project.Name WITH ROLLUP
8 changes: 8 additions & 0 deletions SQL/Login_Summary_Statistics/03_Site.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
SELECT
IFNULL(Project.Name, 'All Projects') as ProjectName,
COUNT(DISTINCT psc.CenterID) AS count
FROM psc
JOIN session s ON s.CenterID = psc.CenterID
JOIN Project ON s.ProjectID = Project.ProjectID
WHERE Project.showSummaryOnLogin = 1
GROUP BY Project.Name WITH ROLLUP
7 changes: 7 additions & 0 deletions SQL/Login_Summary_Statistics/04_Visit.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
SELECT
IFNULL(Project.Name, 'All Projects') as ProjectName,
COUNT(s.ID) AS count
FROM session s
JOIN Project ON (s.ProjectID = Project.ProjectID)
WHERE Project.showSummaryOnLogin = 1
GROUP BY Project.Name WITH ROLLUP
8 changes: 8 additions & 0 deletions SQL/Login_Summary_Statistics/05_Instrument.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
SELECT
IFNULL(Project.Name, 'All Projects') as ProjectName,
COUNT(DISTINCT TestID) AS count
FROM flag f
JOIN session s ON s.ID = f.SessionID
JOIN Project ON s.ProjectID = Project.ProjectID
WHERE Project.showSummaryOnLogin = 1
GROUP BY Project.Name WITH ROLLUP;
8 changes: 8 additions & 0 deletions SQL/Login_Summary_Statistics/06_Scan.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
SELECT
IFNULL(Project.Name, 'All Projects') as ProjectName,
COUNT(FileID) AS count
FROM files f
JOIN session s ON s.ID = f.SessionID
JOIN Project ON s.ProjectID = Project.ProjectID
WHERE Project.showSummaryOnLogin = 1
GROUP BY Project.Name WITH ROLLUP;
17 changes: 17 additions & 0 deletions SQL/Login_Summary_Statistics/07_EEG Recording.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
SELECT
IFNULL(Project.Name, 'All Projects') as ProjectName,
COUNT(PhysiologicalFileID) AS count
FROM physiological_parameter_file ppf
LEFT JOIN physiological_file USING (PhysiologicalFileID)
LEFT JOIN physiological_output_type USING (PhysiologicalOutputTypeID)
LEFT JOIN Project ON ppf.ProjectID = Project.ProjectID
WHERE (
ParameterTypeID = (
SELECT ParameterTypeID
FROM parameter_type
WHERE Name = 'RecordingDuration'
)
)
-- AND OutputTypeName = 'raw'
AND Project.showSummaryOnLogin = 1
GROUP BY Project.Name WITH ROLLUP
5 changes: 5 additions & 0 deletions SQL/New_patches/2024-10-08-issuetracker-watch-all.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
INSERT INTO notification_modules (module_name, operation_type, as_admin, template_file, description) VALUES
('issue_tracker', 'create/edit', 'N', 'issue_change.tpl', 'Notify for all issues created or edited');

INSERT INTO notification_modules_services_rel (module_id, service_id) VALUES
((SELECT id FROM notification_modules WHERE module_name='issue_tracker' AND operation_type='create/edit'), (SELECT id FROM notification_services WHERE service='email_text'));
13 changes: 13 additions & 0 deletions SQL/New_patches/2024-12-18-Login_statistics.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
CREATE TABLE Login_Summary_Statistics (
Title VARCHAR(255),
Project VARCHAR(255),
Value INT,
QueryOrder INT,
PRIMARY KEY (Title, Project)
);

ALTER TABLE dataquery_study_queries_rel
MODIFY COLUMN PinType enum('topquery','dashboard', 'loginpage') DEFAULT NULL;

ALTER TABLE Project
ADD COLUMN showSummaryOnLogin BOOLEAN DEFAULT TRUE;
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
UPDATE permissions SET code = 'issue_tracker_own_issue', description = 'See/Edit/Comment and Close on Own Issues'
WHERE code = 'issue_tracker_reporter';
UPDATE permissions SET code = 'issue_tracker_all_issue', description = 'See/Edit/Comment on all Issues'
WHERE code = 'issue_tracker_developer';

INSERT INTO permissions (code, description, moduleID, categoryID) VALUES
('issue_tracker_site_issue','See/Edit/Comment on Own Site Issues',(SELECT ID FROM modules WHERE Name = 'issue_tracker'),2),
('issue_tracker_close_site_issue','Close Own Site Issues',(SELECT ID FROM modules WHERE Name = 'issue_tracker'),2),
('issue_tracker_close_all_issue','Close all Issues',(SELECT ID FROM modules WHERE Name = 'issue_tracker'),2);
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
UPDATE permissions
SET description = 'Create/Edit/Close Own Issues and Comment on All Issues'
WHERE code = 'issue_tracker_reporter';
88 changes: 88 additions & 0 deletions SQL/New_patches/2025_02_05_change_candid_fk_to_id.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
-- Change FKs from CandID to CandidateID which is now candidate.ID
ALTER TABLE CNV DROP constraint CNV_ibfk_3;
UPDATE CNV SET CandID=(SELECT ID from candidate c WHERE c.CandID=CNV.CandID);
ALTER TABLE CNV CHANGE CandID CandidateID int(10) unsigned DEFAULT NULL;
ALTER TABLE CNV ADD CONSTRAINT CNV_ibfk_3 FOREIGN KEY (CandidateID) REFERENCES candidate(ID);

ALTER TABLE candidate_consent_rel DROP CONSTRAINT `FK_candidate_consent_rel_CandidateID`;
UPDATE candidate_consent_rel SET CandidateID=(SELECT ID from candidate c WHERE c.CandID=candidate_consent_rel.CandidateID);
ALTER TABLE candidate_consent_rel CHANGE CandidateID CandidateID int(10) unsigned NOT NULL;
ALTER TABLE candidate_consent_rel ADD CONSTRAINT FK_candidate_consent_rel_CandidateID FOREIGN KEY (CandidateID) REFERENCES candidate(ID) ON DELETE RESTRICT ON UPDATE RESTRICT;

ALTER TABLE participant_status DROP CONSTRAINT `fk_participant_status_3`;
UPDATE participant_status SET CandID=(SELECT ID from candidate c WHERE c.CandID=participant_status.CandID);
ALTER TABLE participant_status CHANGE CandID CandidateID int(10) unsigned NOT NULL;
ALTER TABLE participant_status ADD CONSTRAINT FK_participant_status_3 FOREIGN KEY (CandidateID) REFERENCES candidate(ID) ON DELETE CASCADE ON UPDATE CASCADE;

ALTER TABLE dataquery_run_results DROP CONSTRAINT `dataquery_run_results_ibfk_1`;
UPDATE dataquery_run_results SET CandID=(SELECT ID from candidate c WHERE c.CandID=dataquery_run_results.CandID);
ALTER TABLE dataquery_run_results CHANGE CandID CandidateID int(10) unsigned NOT NULL;
ALTER TABLE dataquery_run_results ADD CONSTRAINT dataquery_run_results_ibfk_1 FOREIGN KEY (CandidateID) REFERENCES candidate(ID);

ALTER TABLE issues DROP CONSTRAINT `fk_issues_3`;
UPDATE issues SET CandID=(SELECT ID from candidate c WHERE c.CandID=issues.CandID);
ALTER TABLE issues CHANGE CandID CandidateID int(10) unsigned DEFAULT NULL;
ALTER TABLE issues ADD CONSTRAINT fk_issues_3 FOREIGN KEY (CandidateID) REFERENCES candidate(ID);

ALTER TABLE session DROP CONSTRAINT `fk_session_1`;
UPDATE session SET CandID=(SELECT ID from candidate c WHERE c.CandID=session.CandID);
ALTER TABLE session CHANGE CandID CandidateID int(10) unsigned NOT NULL;
ALTER TABLE session ADD CONSTRAINT fk_session_1 FOREIGN KEY (CandidateID) REFERENCES candidate(ID);

ALTER TABLE genomic_candidate_files_rel DROP CONSTRAINT `genomic_candidate_files_rel_ibfk_1`;
UPDATE genomic_candidate_files_rel SET CandID=(SELECT ID from candidate c WHERE c.CandID=genomic_candidate_files_rel.CandID);
ALTER TABLE genomic_candidate_files_rel CHANGE CandID CandidateID int(10) unsigned NOT NULL;
ALTER TABLE genomic_candidate_files_rel ADD CONSTRAINT genomic_candidate_files_rel_ibfk_1 FOREIGN KEY (CandidateID) REFERENCES candidate(ID);

ALTER TABLE mri_scanner DROP CONSTRAINT `FK_mri_scanner_1`;
UPDATE mri_scanner SET CandID=(SELECT ID from candidate c WHERE c.CandID=mri_scanner.CandID);
ALTER TABLE mri_scanner CHANGE CandID CandidateID int(10) unsigned DEFAULT NULL;
ALTER TABLE mri_scanner ADD CONSTRAINT FK_mri_scanner_1 FOREIGN KEY (CandidateID) REFERENCES candidate(ID);

ALTER TABLE genomic_sample_candidate_rel DROP CONSTRAINT `genomic_sample_candidate_rel_ibfk_1`;
UPDATE genomic_sample_candidate_rel SET CandID=(SELECT ID from candidate c WHERE c.CandID=genomic_sample_candidate_rel.CandID);
ALTER TABLE genomic_sample_candidate_rel CHANGE CandID CandidateID int(10) unsigned NOT NULL;
ALTER TABLE genomic_sample_candidate_rel ADD CONSTRAINT `genomic_sample_candidate_rel_ibfk_1` FOREIGN KEY (CandidateID) REFERENCES `candidate`(`ID`);

ALTER TABLE SNP_candidate_rel DROP CONSTRAINT `fk_SNP_candidate_rel_2`;
UPDATE SNP_candidate_rel SET CandID=(SELECT ID from candidate c WHERE c.CandID=SNP_candidate_rel.CandID);
ALTER TABLE SNP_candidate_rel CHANGE CandID CandidateID int(10) unsigned NOT NULL;
ALTER TABLE SNP_candidate_rel ADD CONSTRAINT `fk_SNP_candidate_rel_2` FOREIGN KEY (CandidateID) REFERENCES candidate(ID) ON DELETE NO ACTION ON UPDATE NO ACTION;

ALTER TABLE parameter_candidate DROP CONSTRAINT `FK_parameter_candidate_2`;
UPDATE parameter_candidate SET CandID=(SELECT ID from candidate c WHERE c.CandID=parameter_candidate.CandID);
ALTER TABLE parameter_candidate CHANGE CandID CandidateID int(10) unsigned NOT NULL;
ALTER TABLE parameter_candidate ADD CONSTRAINT FK_parameter_candidate_2 FOREIGN KEY (CandidateID) REFERENCES candidate(ID);

ALTER TABLE candidate_diagnosis_evolution_rel DROP CONSTRAINT `PK_candidate_diagnosis_evolution_rel`;
ALTER TABLE candidate_diagnosis_evolution_rel DROP CONSTRAINT `FK_candidate_diagnosis_evolution_rel_CandID`;
UPDATE candidate_diagnosis_evolution_rel SET CandID=(SELECT ID from candidate c WHERE c.CandID=candidate_diagnosis_evolution_rel.CandID);
ALTER TABLE candidate_diagnosis_evolution_rel CHANGE CandID CandidateID int(10) unsigned NOT NULL;
ALTER TABLE candidate_diagnosis_evolution_rel ADD CONSTRAINT PK_candidate_diagnosis_evolution_rel PRIMARY KEY (CandidateID, DxEvolutionID);
ALTER TABLE candidate_diagnosis_evolution_rel ADD CONSTRAINT FK_candidate_diagnosis_evolution_rel_CandID FOREIGN KEY (CandidateID) REFERENCES candidate(ID) ON DELETE RESTRICT ON UPDATE RESTRICT;


-- Changes references to candidate.CandID that were NOT FK. Add FK
UPDATE feedback_bvl_thread SET CandID=(SELECT ID from candidate c WHERE c.CandID=feedback_bvl_thread.CandID);
ALTER TABLE feedback_bvl_thread CHANGE CandID CandidateID int(10) unsigned DEFAULT NULL;
ALTER TABLE feedback_bvl_thread ADD CONSTRAINT FK_feedback_bvl_thread_candidate_1 FOREIGN KEY (CandidateID) REFERENCES candidate(ID);

UPDATE mri_violations_log SET CandID=(SELECT ID from candidate c WHERE c.CandID=mri_violations_log.CandID);
ALTER TABLE mri_violations_log CHANGE CandID CandidateID int(10) unsigned DEFAULT NULL;
ALTER TABLE mri_violations_log ADD CONSTRAINT FK_mri_violations_log_candidate_1 FOREIGN KEY (CandidateID) REFERENCES candidate(ID);

UPDATE mri_protocol_violated_scans SET CandID=(SELECT ID from candidate c WHERE c.CandID=mri_protocol_violated_scans.CandID);
ALTER TABLE mri_protocol_violated_scans CHANGE CandID CandidateID int(10) unsigned;
ALTER TABLE mri_protocol_violated_scans ADD CONSTRAINT FK_mri_protocol_violated_scans_candidate_1 FOREIGN KEY (CandidateID) REFERENCES candidate(ID);

UPDATE participant_status_history SET CandID=(SELECT ID from candidate c WHERE c.CandID=participant_status_history.CandID);
ALTER TABLE participant_status_history CHANGE CandID CandidateID int(10) unsigned NOT NULL;
ALTER TABLE participant_status_history ADD CONSTRAINT FK_participant_status_history_candidate_1 FOREIGN KEY (CandidateID) REFERENCES candidate(ID);

UPDATE family SET CandID=(SELECT ID from candidate c WHERE c.CandID=family.CandID);
ALTER TABLE family CHANGE CandID CandidateID int(10) unsigned NOT NULL;
ALTER TABLE family ADD CONSTRAINT FK_family_candidate_1 FOREIGN KEY (CandidateID) REFERENCES candidate(ID);


-- Change candidate's PK to ID
ALTER TABLE candidate DROP PRIMARY KEY, ADD PRIMARY KEY(ID);
16 changes: 8 additions & 8 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit e334448

Please sign in to comment.