-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Recap data pull discussion #10
Comments
Hi @kcho and @sbouix , let's continue the discussion here. By Kevin (edited by Tashrif): I found a “Data Entry Trigger” function in Redcap. Whenever a record is modified or updated, it sends a POST signal with a bunch of information to a dedicated server. If the major problem in pulling all the data on a daily basis is the REDCap server overloading, do you think implementing “Data Entry Trigger” and connecting to lochness would be a solution (or overkill?) Suggested workflow:
This would solve the REDCap server problem and we would be able to keep all of the up-to-date REDCap data in lochness. |
Okay, here is my modified workflow:
The last three steps could be done by a cron like bot. |
To add the agenda the ability to detect tags for particular variables. |
Thanks for this @tashrifbillah Could you set up a or if we have any other publically open ports among PNL servers, please let me know. I'll test getting the signal. |
The only 2 externally facing servers I know of are hcpep-xnat and our web server. Predict is behind the firewall. |
Hi Kevin, do you know of a tutorial that I can go through to learn to upload a file to REDCap? I need to be able to upload, trigger, and listen independently to be able to set up such a thing. Also, where did you get the screenshot? If writing is hard, MS Teams call works for me. |
Is this the function I need? |
I have not uploaded a file before, but I would suggest to look at the
Screenshot is from |
Quickly tested to see if REDCap sends the signal to an open server.
are sent to the server. I think it can act as a very useful logging system. I’ll bring this up in our next meeting, so we can discuss how we can including this.
|
The HCP-EP survey I am working with has 915 fields in each of the six instruments a.k.a surveys.
The fields are the same across the six instruments so they should be consistent across the study. |
@sbouix @tashrifbillah Proposed
|
What is the distinction between points 2 and 3 under |
Sorry - edited a bit |
Let's concentrate on REDCap server overloading first. The PII masking is more complex, some variables can be deleted (e.g. name), others replaced by another variable (e.g. birthdate -> age in years). I am not sure we should have two copies of pretty much the same thing (raw vs processed). Also because I would like to import the anonymized data into MGB REDCap, we should figure out how that will be affected by (2) vs (3). Finally, we may be better off having a table with a list of pii variables as input rather than try to extract the tag from REDCap. |
For lochness to lochness transfer. I also think datalad might be useful. Something to discuss with Chris and Mathias on Friday. |
Hi @kcho , did you try making a workstation listen to REDCap signal yet? If you haven't, I can try that for my entertainment out of DPDash crisscross ;) |
I haven't yet tried it in the workstation- but I've drafted a commandline tool and a module for listening to the POST signal from the redcap server in the |
The model shown below has been uploaded to the To do
FigureSummary1. Make a database from the POST signals from the REDCap
|
timestamp | project_id | redcap_username | record | instrument |
---|---|---|---|---|
1617823322.701979 | 26709 | kc244 | subject0002 | inclusionexclusion |
1617823322.711633 | 26709 | kc244 | subject0001 | inclusionexclusion |
- The path of the
DB
above entered intoconfig.yml
2. lochness.redcap
checks for any updates in the Data Entry Trigger
database before executing datapull
lochness.redcap.get_data_entry_trigger_df
: loads theDET
databaselochness.redcap.check_if_modified
: comparesst_mtime
of already savedjson
s vsDET
database for any recent updates
In
Do you plan to compare checksum like mediaflux does? Here are nipype ways of computing checksum: |
Since the |
Currently, how is it being programmed-- |
Currently, the two python scripts have to be executed separately. Just realized it could be useful to design following your comment.
Any downside to doing this? Programatically, how would you spin out |
It should be a chanied process--trigger comes first and then pull. We shall discuss more during our Monday brainstorming session. By the way, do we have access to @sbouix 's presentation on what data reside in what platforms? I am trying to understand which platforms should trigger data entry signals. I understand for |
The primary database system for PRESCIENT will be RPMS (Research Project Management System). It is custom built by the Orygen team and doesn't have the extensive documentation or API functionalities of REDCap. We're working to get access to their IT infrastructure to setup a development environment and start developing the Lochness RPMS module. |
lochness.redcap
is pulling all available data from the REDCap to a json filelochness.redcap.sync
is re-executed,lochness
pulls the whole data again and then compares existing json before overwriting.Problems
1. Daily pull of the data for all subjects may put too much load on the
REDCap
server2. extensive work is required on the
logbook
to select and extract the data from thejson dump
to visualize in theDPDash
Solutions
lochness.redcap
to pull only specificfields
?REDCap
?)json
-> redownload all filesjson
-> skipThe text was updated successfully, but these errors were encountered: