... | @@ -8,7 +8,7 @@ When the Castor EDC is used in a (scientific biomedical research) study to gathe |
... | @@ -8,7 +8,7 @@ When the Castor EDC is used in a (scientific biomedical research) study to gathe |
|
- The `pepAssessor` GUI application provides buttons to access participants' Castor records without needing to look them up manually.
|
|
- The `pepAssessor` GUI application provides buttons to access participants' Castor records without needing to look them up manually.
|
|
- Data entered into Castor can be automatically and/or periodically imported into PEP.
|
|
- Data entered into Castor can be automatically and/or periodically imported into PEP.
|
|
|
|
|
|
The first two aspects ensure that assessors create and find proper Castor records for participants during data gathering. This minimizes manual work, and helps ensure that data entered into Castor ends up in the correct record, improving data quality. This can be achieved with minimal configuration by the PEP (support) team. The import facility requires more attention and will be discussed separately.
|
|
The first two aspects ensure that assessors create and find proper Castor records for participants during data gathering. This minimizes manual work, and helps ensure that data entered into Castor ends up in the correct record, improving data quality. This can be achieved with [minimal configuration](#step-by-step) by the PEP (support) team. The import facility requires more attention and will be discussed separately.
|
|
|
|
|
|
# Import
|
|
# Import
|
|
|
|
|
... | @@ -16,30 +16,30 @@ PEP can import (several types of) data from the Castor system. The import stores |
... | @@ -16,30 +16,30 @@ PEP can import (several types of) data from the Castor system. The import stores |
|
|
|
|
|
## Data types
|
|
## Data types
|
|
|
|
|
|
PEP can import several types of data from Castor, depending on what is stored in the Castor study. PEP can import data from multiple Castor studies, and it can import multiple types of data from individual studies.
|
|
Depending on what is stored in a Castor study, PEP can import several types of data from it. PEP can import data from multiple Castor studies, and it can import multiple types of data from any single study.
|
|
|
|
|
|
- *Clinical research forms (CRFs)* are filled out by assessors during a study's data gathering stage. Entered data can then be imported into PEP. Imported data will include any reports generated due to CRFs containing repeated measure fields.
|
|
- *Clinical research forms (CRFs)* are filled out by assessors during a study's data gathering stage. Entered data can then be imported into PEP. Imported data will include any reports generated due to CRFs containing repeated measure fields.
|
|
- *Reports* can also be created in Castor by hand. PEP offers the option to import such standalone reports.
|
|
- *Reports* can be created in Castor by hand. PEP offers the option to import such standalone reports.
|
|
- *Surveys* can be filled out by participants, the data then being stored in Castor. PEP can import data from completed surveys.
|
|
- *Surveys* can be filled out by participants, the data then being stored in Castor. PEP can import data from completed surveys.
|
|
|
|
|
|
## Steps imported individually
|
|
## Steps imported individually
|
|
|
|
|
|
PEP imports data for individual Castor (CRF) [steps](https://helpdesk.castoredc.com/article/18-create-edit-and-delete-phases-and-steps) into separate PEP columns. Since [access to PEP is controlled](Access-control) at the level of columns, the implication is that PEP can distribute Castor data with a granularity of CRF steps. In other words: PEP users can be granted access to (answers to) individual Castor steps, but not to smaller units (e.g. answers to individual questions). This should be taken into account when configuring a Castor study meant for PEP integration. Questions should only be grouped together into a step if their answers should always be distributed (or withheld) together by PEP.
|
|
PEP imports data for individual Castor (CRF) [steps](https://helpdesk.castoredc.com/article/18-create-edit-and-delete-phases-and-steps) into separate PEP columns. Since [access to PEP is controlled](Access-control) at the level of columns, the implication is that Castor data can be distributed with a granularity of (CRF) steps. In other words: PEP users can be granted access to (answers to) individual Castor steps, but not to smaller units (e.g. answers to individual questions). This should be taken into account when configuring a Castor study meant for PEP integration. Questions should only be grouped together into a step if their answers should always be distributed (or withheld) together by PEP.
|
|
|
|
|
|
An equivalent principle applies to the import of Castor survey data: answers to a single survey step end up in a single PEP column. Surveys should therefore also be configured in such a way that their data are chunked appropriately.
|
|
An equivalent principle applies to the import of Castor survey data: answers to a single survey step end up in a single PEP column. Surveys should therefore also be configured in such a way that their data are chunked appropriately.
|
|
|
|
|
|
## Data format
|
|
## Data format
|
|
|
|
|
|
Castor data are stored in PEP as JSON, which is [a data format](https://www.json.org/) that associates keys with values. PEP stores Castor data as a top level JSON node with sub-nodes named `crf` and `reports`.
|
|
Castor data are stored in PEP as JSON: [a data format](https://www.json.org/) that associates keys with values. PEP stores Castor data as a top level JSON node with sub-nodes named `crf` and `reports`.
|
|
|
|
|
|
- The `crf` node's value is an object containing the data entered into Castor.
|
|
- The `crf` node's value is a JSON object containing the data entered into Castor.
|
|
- Keys in this object correspond with Castor question IDs.
|
|
- Keys in this object correspond with Castor question IDs.
|
|
- Values contain the (raw) answer entered into Castor.
|
|
- Values contain the (raw) answer entered into Castor.
|
|
- The `reports` node contains any Castor reports associated with the imported data, e.g. due to a CRF containing [repeated measurements](https://helpdesk.castoredc.com/article/191-the-repeated-measure-field). Its value is a JSON array containing containing objects representing individual measurements.
|
|
- The `reports` node contains any Castor reports associated with the imported data, e.g. due to a CRF containing [repeated measurements](https://helpdesk.castoredc.com/article/191-the-repeated-measure-field). The node's value is an object with sub-nodes named after the types of reports. The value of each such sub-node is a JSON array containing objects representing individual reports of that type:
|
|
- Keys in these objects correspond with Castor question IDs.
|
|
- Keys in these objects correspond with Castor question IDs.
|
|
- Values contain the (raw) answer entered into Castor.
|
|
- Values contain the (raw) answer entered into Castor.
|
|
|
|
|
|
For example, the following data might be stored in PEP:
|
|
For example, a PEP cell might contain the following data:
|
|
|
|
|
|
```
|
|
```
|
|
{
|
|
{
|
... | @@ -72,9 +72,9 @@ In the sample data: |
... | @@ -72,9 +72,9 @@ In the sample data: |
|
|
|
|
|
- the `DiagParkYear` node contains a value of `1960`, indicating that the answer `1960` was entered for a question with this ID. Presumably this patient was diagnosed with Parkinson's disease in the year 1960, but note that PEP does not deal with Castor data semantics.
|
|
- the `DiagParkYear` node contains a value of `1960`, indicating that the answer `1960` was entered for a question with this ID. Presumably this patient was diagnosed with Parkinson's disease in the year 1960, but note that PEP does not deal with Castor data semantics.
|
|
- the `WalkingAid` node (apparently) contains the answers to a [checkbox](https://helpdesk.castoredc.com/article/185-create-a-field-with-option-groups-radio-button-checkbox-and-dropdown)-type question.
|
|
- the `WalkingAid` node (apparently) contains the answers to a [checkbox](https://helpdesk.castoredc.com/article/185-create-a-field-with-option-groups-radio-button-checkbox-and-dropdown)-type question.
|
|
- the `reports` node contains no entries, indicating that no repeated measurements are associated with these Castor data. Perhaps the Castor configuration contained no questions of that type, or zero repeated measurements were taken.
|
|
- the `reports` node contains no entries, indicating that no repeated measurements are associated with these Castor data. Perhaps the Castor configuration contained no questions of that type, or no (repeated) measurements were taken.
|
|
|
|
|
|
If report data are imported, they are placed into the `reports` node. Keys of sub-nodes indicate the *type* of report having been imported. The value will be a JSON array containing the answer sets for individual reports.
|
|
If PEP is configured to import standalone reports, data are placed into the `reports` node. Keys of sub-nodes indicate the *type* of report having been imported. The value will be a JSON array containing the answer sets for individual reports.
|
|
|
|
|
|
The import of standalone reports produces an equivalent JSON structure to keep things consistent across PEP columns. But note that the `crf` node will always be empty in these cases.
|
|
The import of standalone reports produces an equivalent JSON structure to keep things consistent across PEP columns. But note that the `crf` node will always be empty in these cases.
|
|
|
|
|
... | | ... | |