Participant List View
Got feedback or spotted a mistake?

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

Participant List View

Overview

The participant list page columns and filters are configurable for all the participant-centric CPs. This page outlines how to configure the participant list view using JSON, providing the necessary examples and configurations to help users adapt the view as per their specific requirements. Shown in the screenshot below is a list of all registered participants of a protocol.

Default Configuration

This is the default configuration for the participant list view shipped with OpenSpecimen.

[ { "name": "participant-list-view", "data": { "columns": [ { "expr": "Participant.ppid", "caption": "Participant Protocol ID", "metainfo": { "showLink": "true" } }, { "expr": "concat_ws(\" \", Participant.firstName, Participant.lastName)", "caption": "Name" }, { "expr": "Participant.empi", "caption": "Master Patient Index" }, { "expr": "Participant.regDate", "caption": "Registration Date" }, { "expr": "concat(years_between(current_date(), Participant.dateOfBirth), \" yrs\")", "caption": "Age" } ], "criteria": "Participant.id exists", "orderBy": [ { "expr": "Participant.regDate", "direction": "desc" }, { "expr": "Participant.id", "direction": "desc" } ], "filters": [ { "expr": "Participant.ppid", "caption": "Participant Protocol ID", "searchType": "contains" }, { "expr": "concat_ws(\" \", Participant.firstName, Participant.lastName)", "caption": "Name", "metainfo": { "phi": "true" } }, { "expr": "Participant.empi", "caption": "Master Patient Index", "searchType": "contains", "metainfo": { "phi": "true" } }, { "expr": "Participant.regDate", "caption": "Registration Date" }, { "expr": "years_between(current_date(), Participant.dateOfBirth)", "caption": "Age", "temporal": "true", "metainfo": { "phi": "true" } } ] } } ]

Customise List View

The participant list view is customizable to your needs through JSON configurations. By adjusting columns, sorting orders, filtering options, and conditional criteria, you can optimise the way participant data is displayed. You can modify the list view to add

Default Participant Fields

Field

JSON Code

Field

JSON Code

Registration Site

{ "expr" : "Participant.site", "caption" : "Registration Site" }

MRN Site

{ "expr": "Participant.medicalRecord.mrnSiteName", "caption": "Site" }

MRN

{ "expr": "Participant.medicalRecord.medicalRecordNumber", "caption": "MRN" }

External Subject ID

{ "expr": "Participant.externalSubjectId", "caption": "External Subject ID" }

Date formatting (Refer to the wiki for 'Date Formats')

{ "expr": "Participant.dateOfBirth", "caption": "Date Of Birth", "expr": "date_format(Participant.dateOfBirth, \"%month2%-%month_day%-%year4%\")" }

Participant Creation Date and Time

{ "expr" : "Participant.creationTime", "caption" : "Creation Date" }

Consent Fields

Field

JSON Code

Field

JSON Code

Consent Document Title

{ "expr" : "Participant.econsents.docTitle", "caption" : "eConsent Doc Title" }

Consent Version

{ "expr" : "Participant.econsents.docVersion", "caption" : "Version" }

Consent Statement

{ "expr" : "Participant.econsents.stmtResponses.statement", "caption" : "Consent Statement" }

Consent Response

{ "expr" : "Participant.econsents.stmtResponses.response", "caption" : "Response" }

Consent Code

{ "expr" : "Participant.econsents.stmtResponses.statementCode", "caption" : "Code" }

Consent Custom Field

{ "expr" : "Participant.econsent.customFields.additionalRegistration.preferredLanguage", "caption" : "Preferred Language" }

Consent Date

{ "expr": "Participant.consentSignDate", "caption": "Date of Consent", "datatype": "date" }

Custom Fields

Field

JSON Code

Field

JSON Code

Custom Fields

Syntax:Participant.customFields.<formName>.<attributeName>

  • <formName>: Replace with 'Form Name' of the custom form

  • <attributeName>: Replace with 'Attribute Name' of the custom form field

Note: Ensure that the custom fields are defined in the dictionary section before configuring them in the list view columns or the filter section.

{ "expr": "Participant.customFields.smokingHistoryForm.dateOfSigning", "caption": "Signing Date of Smoking History Form", "datatype": "date" }

Custom Form fields

Field

JSON Code

Field

JSON Code

Custom Form field

Add field of custom form to the participant list view page:

  1. “Participant.extensions”: Default syntax to call participant form fields

  2. “nhms_participant_consent_form“: variable name of custom form

  3. “form_version“: variable name of the field

{ "expr" : "Participant.extensions.nhms_participant_consent_form.form_version", "caption" : "Form Version" }

Calculated Fields

Field

JSON Code

Field

JSON Code

Age

{ "expr": "years_between(current_date(), Participant.dateOfBirth)", "caption": "Age", "temporal": "true", "metainfo": { "phi": "true" } }
Got feedback or spotted a mistake?

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