Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
533e2f5
moved from orscf-fork to feature branch
KornSW Apr 22, 2022
e1eeefd
installed orscf-subjectdata-contract
KornSW Apr 24, 2022
b716cb0
Sdr Search reactivated
keinich May 1, 2022
01e3cc5
added mapping also for updates of ParticipantEntry
KornSW May 14, 2022
d4e99b9
Merge remote-tracking branch 'origin/fb-orscf' into fb-orscf
keinich May 17, 2022
1dac039
VDR and OrscfStateModel for AddToQueue
keinich Aug 4, 2022
e718109
Merge branch 'main' into fb-orscf
KornSW Oct 6, 2022
2c5d6c2
changes made by linting after merge....
KornSW Oct 6, 2022
22aa859
Merge branch 'main' into fb-orscf
KornSW Oct 6, 2022
4c8eadf
adapted breaking changes after merge
KornSW Oct 6, 2022
404959d
temp
keinich Oct 9, 2022
5db728d
orscf filter update
keinich Oct 9, 2022
f21f892
test
keinich Oct 9, 2022
560c97f
Merge branch 'fb-orscf' of https://github.com/NUMde/compass-numapp-ba…
keinich Oct 9, 2022
aa194f8
fix after merge
keinich Oct 9, 2022
e334ac4
fixed issue in new orscf filtering ('and'-clause)
KornSW Oct 11, 2022
77f30c5
lintngchanges
KornSW Oct 11, 2022
48d2a7d
Subject Consume Filter Finished
keinich Oct 13, 2022
252d6f9
Merge branch 'main' into fb-orscf
mbastian93 Feb 23, 2023
f5e5045
Merge branch 'main' into fb-orscf
mbastian93 Feb 23, 2023
9b36e3b
remove unused import
mbastian93 Feb 23, 2023
de03fc0
remove unneeded defensive code
mbastian93 Feb 23, 2023
92841bd
Anpassungen Github Findings
keinich Mar 7, 2023
782ad12
Merge remote-tracking branch 'origin/fb-orscf' into fb-orscf
keinich Mar 7, 2023
6ef25e3
cleanup before merge
KornSW Mar 16, 2023
1b5e384
cleanup before merge
KornSW Mar 16, 2023
3cd3534
Anpassungen ORSCF-API an compass-Logik
keinich Mar 19, 2023
365881d
refactoring for stable access of visits
KornSW Mar 22, 2023
f58f121
refactoring for stable access of visits
KornSW Mar 22, 2023
0aec26b
workarround in orscfstatemodel
KornSW Mar 30, 2023
834ece9
linitng
KornSW Mar 30, 2023
71686b1
decoupl. visit/subject-modif. from state recalc
KornSW May 8, 2023
dabcf80
auto linting after last commit
KornSW May 8, 2023
9c80d66
fixed sql command with string conv. of variables
KornSW May 10, 2023
349ee3a
auto linting
KornSW May 10, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .env.sample
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,25 @@ database-user='compass_user'
# a secret used for JWT generation
JWT_SECRET='mein_schatz'

# ORSCF api endpoint configuration
JWT_ALLOWED_HOSTS='localhost'
JWT_ALLOWED_ISSUERS='TrustedIssuer1;TrustedIssuer2'

# independend from the 'JWT_SECRET' above, this ist used to VERIFY the JWTs accessing the ORSCF api (one key per allowed issuer)
ORSCF_JWT_PUBLIC_KEY_OR_SECRET_TrustedIssuer1 = '...the..signkey..which..was..used..by..TrustedIssuer1...'
ORSCF_JWT_PUBLIC_KEY_OR_SECRET_TrustedIssuer2 = '...the..signkey..which..was..used..by..TrustedIssuer2...'

# ORSCF study uid (needs to be inside the jwt's "scope" claim) as follows: Study:00000000-0000-000...
STUDY_UID='00000000-0000-0000-0000-000000000000'

# optional Push Service configuration
GOOGLE_APPLICATION_CREDENTIALS='./google-services.json'

# have node use a common time zone
TZ = 'Europe/Amsterdam'

# encryption keys

COMPASS_PUBLIC_KEY='-----BEGIN PUBLIC KEY-----\nMII ... \n ... \n-----END PUBLIC KEY-----'
COMPASS_PRIVATE_KEY='-----BEGIN PRIVATE KEY-----\nMII ... \n ... =\n-----END PRIVATE KEY-----'

Expand All @@ -27,3 +39,4 @@ COMPASS_RECIPIENT_CERTIFICATE='-----BEGIN CERTIFICATE-----\nMII .... \n ... \n--
# if you don't use the ibm cloud (openshift) for deployment
# Attention: self signed certificates won't work!
# DB_SSL_CA='-----BEGIN CERTIFICATE-----\nMII .... \n ... \n-----END CERTIFICATE-----'

6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,9 @@ private*.pem
public*.pem
*cert*.pem
google-services.json

# vs
/.vs/ProjectSettings.json
/.vs/slnx.sqlite
/.vs/*
.vscode/*
4 changes: 4 additions & 0 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -121,3 +121,7 @@ The current configuration is suited for an OpenShift deployment. Find detailed i
== Database Setup

Dedicated documentation for the database setup can be found here link:./db[DB Setup].

== Interoperability

This backend provides API access that conforms to the https://orscf.org[ORSCF] standard's SDR and VDR endpoint definitions.
2 changes: 1 addition & 1 deletion db/flyway.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module.exports = function() {
return {
flywayArgs: {
// JDBC string that addresses the database
url: 'jdbc:postgresql://localhost:15432/compass',
url: 'jdbc:postgresql://localhost:5432/compass',
// the default schema of a Postgresql database
schemas: 'public',
// local location where the db migration scripts are stored
Expand Down
13 changes: 13 additions & 0 deletions db/migration/V008__Sdr.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
-- Add column to store device token for Firebase push notifications
ALTER TABLE
studyparticipant
ADD
COLUMN subject_uid character varying NULL,
ADD
COLUMN study_uid character varying NULL,
ADD
COLUMN actual_site_uid character varying NULL,
ADD
COLUMN enrolling_site_uid character varying NULL,
ADD
COLUMN actual_site_defined_patient_identifier character varying NULL;
44 changes: 44 additions & 0 deletions db/migration/V009__Vdr.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
CREATE TABLE visits
(
id character varying(355) NOT NULL,

study_uid character varying(355) NOT NULL,
site_uid character varying(355) NOT NULL,
subject_identifier character varying(355) NOT NULL,
modification_timestamp_utc int NOT NULL,

visit_procedure_name character varying(355) NOT NULL,
visit_execution_title character varying(355) NOT NULL,
scheduled_date_utc timestamp without time zone NULL,
execution_date_utc timestamp without time zone NULL,
execution_state int NOT NULL,
execution_person character varying(355) NOT NULL,
CONSTRAINT visits_pkey PRIMARY KEY (id),
CONSTRAINT visits_id_key UNIQUE (id)
);

CREATE TABLE datarecordings
(
id character varying(355) NOT NULL,

modification_timestamp_utc int NOT NULL,

data_recording_name character varying(355) NOT NULL,
task_execution_title character varying(355) NOT NULL,
scheduled_date_utc timestamp without time zone NULL,
execution_date_utc timestamp without time zone NULL,
execution_state int NOT NULL,
data_scheme_url character varying(355) NOT NULL,
notes_regarding_outcome character varying(355) NOT NULL,
execution_person character varying(355) NOT NULL,

visit_id character varying(355) NOT NULL,

recorded_data character varying(355) NOT NULL,
CONSTRAINT datarecordings_pkey PRIMARY KEY (id),
CONSTRAINT datarecordings_id_key UNIQUE (id),
CONSTRAINT fk_visit
FOREIGN KEY(visit_id)
REFERENCES visits(id)

)
Loading