Introduction
REDCap does not have fixed instruments for participants and visits. Therefore, you need to map the REDCap Instruments with OpenSpecimen Participant and Visit fields.
For mapping, the REDCap variables can be obtained from the ‘data dictionary’ available under ‘Project Home and Design’.
Configure REDCap Server
Before configuring the REDCap project to a specific Collection Protocol in OpenSpecimen, you must establish a link between your desired REDCap and OpenSpecimen servers. This will helps the OpenSpecimen to pull the data from the REDCap projects associated with the REDCap server using API tokens. Furthermore, once the server is configured, you can reuse the saved configuration multiple times for adding the projects. You can add the REDCap Server in the following steps:
Add REDCap Project
To add a new REDCap project to your desired collection protocol, you can follow the below steps:
Mapping Participants and Visits
Mapping can be done at two levels: Participant (Both classical and longitudinal studies) and Visit (Longitudinal study)
Participant Level Mapping
After adding the project, you can move to the ‘Fields and Events Mapping’ page by clicking the Next button.
Map REDCap variables (on the left) obtained from the 'data dictionary' to OpenSpecimen (on the right) as shown below.
List of Participant Fields and Variables
Field Name | Variable Name |
---|---|
PPID | ppid |
Registration Date | registrationDate |
External Subject ID | externalSubjectId |
Registration Site | site |
First Name | participant.firstName |
Last Name | participant.lastName |
Middle Name | participant.middleName |
Birth Date | participant.birthDate |
Death Date | participant.deathDate |
Gender | participant.gender |
Races | participant.races |
Vital Status | participant.vitalStatus |
Ethnicity | participant.ethnicities |
eMPI | participant.empi |
National ID / SSN | participant.uid |
MRN Site | participant.pmis.siteName |
MRN | participant.pmis.mrn |
Custom field | participant.extensionDetail.attrsMap.<custom_field_name> For example: if the field name is 'redcap_age' in the custom form the use: participant.extensionDetail.attrsMap.redcap_age |
Event and Visit Level Mapping
Like 'Participant Level Mapping', map visits fields for the REDCap project as shown below.
Additionally, you can map events for the REDCap project, as shown below.
Those events from REDCap which are not mapped can create unwanted, unplanned events in OpenSpecimen. To avoid this, click on the 'Ignore Unmapped Events’ checkbox as shown above in the red box.
List of Visit Fields and Variables
Fields Name | Variable Name |
---|---|
Event Label | eventLabel |
Visit Date | visitDate |
Clinical Diagnosis | clinicalDiagnoses |
Visit Site | site |
Clinical Status | clinicalStatus |
Path. Report Number | surgicalPathologyNumber |
Cohort | cohort |
Comments | comments |
Collection Status | status |
Custom Field | extensionDetail.attrsMap.<custom_field_name> For example: if the field name is 'visit_number' in the custom form the use: extensionDetail.attrsMap.visit_number |
Advance Features
Add the list of forms/fields separated by comma, tab, or newline.
Records Inclusion Rule
The user can define certain conditions to synchronize specific REDCap records to OpenSpecimen. Once applied, the system will ignore all other records that don’t satisfy the criteria irrespective of being mapped to the participant or visit field.
The expression is formed using REDCap variables obtained from the 'data dictionary'.
The example shown below will only fetch the records of female participants who are 18 years or older from REDCap.
The example show below will only fetch the records where the eligibility has value either ‘eligible, needs scheduled' or 'eligible, scheduled’.
This example show below will only fetch those records who have value in their mrn field
Forms Exclusion List
The user can define the list of forms to exclude for synchronization irrespective of being mapped to participant or visit field.
If the user provides the list to the ‘Forms Exclusion list’ text box, then all the forms will be synchronized except the forms mentioned on the list.
Fields Exclusion/Inclusion List
Like ‘Forms Exclusion List’, the user can also define the list of fields to either include or exclude for synchronization. The user can’t define both the parameters at once.
If the user provides the list to the ‘Field Exclusion list’ text box, then all the fields will be synchronized except the fields mentioned on the list. On the other hand, only specified fields will be synchronized if the user provides the list to the ‘Field Inclusion list’.
To include or exclude a form/field use the variable name of the form/field from REDCap.
Data Dictionary for Fields and Events Mapping
Add the list of fields/forms separated by a comma, tab, or newline.
During participant and visit fields mapping, REDCap variables should be on the left side, whereas OpenSpecimen variables should be on the right side.
For Field Exclusion List and Field Inclusion List, the user can define only one of the parameters at a time.
Field Name | Mandatory? | Supported study type | Description |
---|---|---|---|
Participant Fields Mapping | No | Classical/Longitudinal | Specifies the list of OpenSpecimen participant fields that are mapped to their respective REDCap fields. For example, rcRecordId=ppid,dob=participant.birthDate |
Visit Fields Mapping | No | Classical/Longitudinal | Specifies the list of OpenSpecimen visit fields which are mapped to their respective REDCap fields. For example, visit_label=eventLable,visit_site=site,visit_date=visitDate |
Records Inclusion Rule | No | Classical/Longitudinal | Defines condition/s to synchronize specific REDCap records to OpenSpecimen. The expression is formed using REDCap variables obtained from the 'data dictionary'. For example, to fetch the records of female participants who are 18 years old or older we can use following expression: #sex == 'Female' and #yearBetween(#dob, #regDate) >= 18 |
Form Exclusion List | No | Classical/Longitudinal | Defines the list of forms to be excluded for synchronization irrespective of being mapped to participant or visit field. For examples, Follow_up_year_1,Follow_up_year_2 |
Fields Inclusion List | No | Classical/Longitudinal | Defines the list of fields to be included for synchronization. For examples, enrollment_date, consent_date |
Fields Exclusion List | No | Classical/Longitudinal | Defines the list of fields to be excluded for synchronization irrespective of being mapped to participant or visit field. |
Events Mapping | No | Longitudinal | Specifies the list of OpenSpecimen events which are mapped to their respective REDCap events. |
Ignore Unmapped Events | No | Longitudinal | Checkbox fields that can be ‘ticked’ to ignore the unmapped events of the REDCap. This prevents the creation of unwanted, unplanned events in OpenSpecimen. |
Integration Points
REDCap | OpenSpecimen | Description |
---|---|---|
Project | Collection Protocol | The RC project can be synchronized with a particular CP in OS. |
Instruments/Forms | Forms | The instruments from RC can be synchronized with forms linked with a particular CP in OS. |
Records | Participant | The records from RC can be synchronized with participants linked with a particular CP in OS. |
Visits/Events | Visits/Events | The visits/events from RC can be synchronized with visits/events linked with a particular CP in OS. |
Adding more project
To add more than one REDCap project to your collection protocol in OpenSpecimen, you can follow below steps:
Go to the REDCap configuration page for your collection protocol of choice.
Click on the ‘More' option and select ‘+Add Another’.
Configure the new project as shown above.
Mapping PVs from REDCap to corresponding PVs of OpenSpecimen
Ans: It is a very common problem faced by the integration of any two disparate systems. Let's say you want to map the gender value "M" received from the REDCap project to the corresponding OpenSpecimen PV "Male". In OpenSpecimen, you can do this by adding the property value to the dropdown of your choice, as shown below: