Got feedback or spotted a mistake?

Leave a comment at the end of this page or email contact@krishagni.com

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 13 Next »

OpenSpecimen supports the locking of participant fields. The locked fields cannot be edited either from UI or through API. This allows 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:

Configuring the lock fields in the System JSON

 Click here to expand...

Given below are steps to configure fields to be locked:

  1. Navigate to Settings → Biospecimen → System Workflows

  2. Click the URL displayed for setting to download workflow JSON

  3. Open workflows JSON file in any editor of your choice

  4. Prepare to lock fields configuration JSON as illustrated below. Add this JSON to the array in 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"

JSON Code

 Click here to expand...
    {
        "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.ethnicities",
                  "cpr.participant.races",
                  "cpr.participant.empi",
                  "cpr.participant.vitalStatus",
                  "cpr.participant.deathDate",
                  "cpr.participant.uid"
              ]
            }
        }
    }

How does the 'Lock Fields' works?

 Click here to expand...

The lock fields works only if the 'Lock Field' configuration is done at the system level and source of the object is not OpenSpecimen. Please check the below table for the workings:

Use Case

'Locked Fields' Working

If participant is directly synced from source. E.g., Participant is created after syncing from REDCap.

The fields mentioned in the 'locked-fields' configuration will be locked from data entry.

If participant is created in OpenSpecimen and later linked to the source. E.g., Participant is created in OpenSpecimen and later linked to the REDCap using an identifier like MRN, eMPI, etc.

The fields mentioned in the 'locked-fields' configuration will not be locked from data entry, as the source is OpenSpecimen.

If participant ‘A' was registered in a CP through OpenSpecimen and a participant ‘B’ is synced in different CP through source, e.g. REDCap. As the participant ‘B’ had same identifier MRN/eMPI, it got merged with participant 'A’.

The fields mentioned in the 'locked-fields' configuration will not be locked from data entry, as the source is OpenSpecimen.

Example JSON

  • No labels