Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Starting v3.4, OpenSpecimen supports the locking of participant fields. This locks the fields across all collection protocols. 

The locked fields cannot be edited either from UI or through API. This allows biobankers biobanks to put in check constraints to ensure users do not inadvertently modify participant information fetched from external sources like REDCap, OpenClinica, OnCore, or any other clinical research system.

It is possible to configure fields to be locked depending on the source from which the participant information is fetched. The locking information can be configured only at the system level using configuration settings UI & API as described below:

...

  1. Navigate to Settings → Biospecimen → System Workflows
  2. Click the URL displayed for setting to download workflows workflow JSON
  3. Open workflows JSON file in any editor of your choice
  4. Prepare locking to lock fields configuration JSON as illustrated below. Add this JSON to the array in workflows the workflow JSON file. Ensure there is only one array element named "locked-fields". The example configuration instructs OpenSpecimen to disallow edits to identified fields of participants sourced from EPIC. EPIC is an example of a data source. It could be REDCap, OpenClinica, OnCore, etc. The default data source name for participants created directly in OS is OpenSpecimen
  5. The system workflow JSON file should look like the attached file system-workflows.json
  6. Upload updated workflows JSON by clicking on the System Workflows setting
  7. Test that the locking of fields is done properly based on the "data source name"

Code Block
    {
        "name": "locked-fields",
        "data": {
            "participant": {
              "EPIC": [
                  "cpr.participant.firstName",
                  "cpr.participant.lastName",
                  "cpr.participant.middleName",
                  "cpr.participant.birthDate",
                  "cpr.participant.gender",
                  "cpr.participant.pmis",
                  "cpr.participant.ethnicityethnicities",
                  "cpr.participant.races",
                  "cpr.participant.empi",
                  "cpr.participant.vitalStatus",
                  "cpr.participant.deathDate",
                  "cpr.participant.uid"
              ]
            }
        }
    }

Settings API

...

4e0db682-ec8d-4ca6-be30-9239e78127e8_system-workflows-9.json

...

}