The diagram shows the Redcap Data Service creation process. The logical model is created from an existing Redcap data model using the Enterprise Architect and the xml metadata interchange(.xmi) is exported from it. We can create the domain model xml using the domain model creator by giving .xmi as input. This generates the domain model xml file which in turn can be used in introduce to create the data service. The RedcapDataService.xsd is used to generate the required stubs during the data service creation process using the Introduce.
For more information on creating a data service using introduce refer the documentation at
Once the skeleton data service is created with the required stubs the stubs are annotated using hibernate annotations to map the logical model to the database. RedcapDataService uses a custom query processor to convert the incoming CQL (common/cagrid query language) into HQL (Hibernate Query Language) using the CQL to HQL Convertor. The service is secured by enabling the transport level security and is configured for Grid Grouper based authentication. So only those users who belong to the rcconnecttest group are given access to the data service.
Using RedcapDataService we can retrieve data from the Redcap database where the databases are configured for table based authentication. Results are filtered based on the authorization levels configured for different users in the data access groups.
The following diagram below gives a detailed view of all the data types involved and the explanation shows how to query against REDCap.
As we know the user can create several different types of databases in REDCap the Traditional databases, Longitudinal Databases and Longitudinal Databases with Scheduling, the following model covers all of these scenarios where associations from Projects -> Forms -> Data represents a Traditional Databases where the user can perform simple data collection for several forms. The associations from Projects -> EventArms -> Events -> Forms -> Data represent the longitudinal databases, and the Events Calendar associated to the events represents the Longitudinal Databases with scheduling. Creating a new project in REDCap is analogous to creating a new project and each study is given a unique study id to identify different patients or record.