Got feedback or spotted a mistake?

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

PPID Format

To auto-generate 'Participant Protocol ID (PPID)', the below tokens can be used. You can configure the PPID format at the collection protocol level, i.e., each protocol can have its own format.

Tokens to generate PPIDs

You can set the formats to auto-generate PPIDs for the participants using the specific tokens.

 Click here to view the tokens...
Token name
Description
Example
CP_IDAn autogenerated number that uniquely identifies the CP in the system.%CP_ID%-%CP_UID(2)%, PPID generated will be 7-01, 7-02, 7-03 etc. Here 7 is a unique ID assigned by the system to the CP when it was created.
CP_CODE

CP code as specified in the collection protocol page.

%CP_CODE%.%CP_UID(2)%, PPID generated will be 'PW-02', where 'PW' is the CP code set while creating CP and '02' is the 2 digits unique identifier generated within the CP.
CP_UID(n)

Generates a unique identifier within this CP. The argument n is optional and specifies the number of digits in the identifier.

For example:

%CP_UID% generates IDs like 1, 10, 1010 etc

%CP_UID(5)% generates IDs like 00001, 00002, 00003, 00004, ... 00010, 00011 etc

%CP_CODE%.%CP_UID(4)%, PPID generated will be 'SPW-0004', where 'SPW' is the CP code set while creating CP and '0004' is the 4 digits unique identifier generated within the CP.
SYS_UID(n)

Assigns unique sequential numbers across all collection protocols.

For example: Generates IDs like 1,2,3,.........101,102, etc. These numbers will be unique across all the collection protocols.

(n): Optionally specify the number of digits. For example, if (2) is used, then the numbers generated will be 01, 02, 03, etc.

%SYS_UID%, PPID generated will be '36', the unique sequential number across all collection protocols
CP_SITE_CODE

CP specific site code of participant's first MRN. The order of MRNs is based on the order in which they were assigned to the participant.

The CP site code is defined in the collection protocol.

%CP_SITE_CODE%_%CP_UID(4)%, the PPID generated will be 'KP-01_0012', where 'KP-01' is the CP site code and '0012' is the unique sequential identifier within the CP.
SITE_CODE

System-wide site code of participant's first MRN. The order of MRNs is based on the order in which they were assigned to the participant.

This is specified on the site page.

%SITE_CODE%_%CP_UID(4)%, PPID generated will be 'KP_0013', where 'KP' is the site code, and '0013' is the 4 digits unique identifier within the CP.
EXT_SUBJECT_ID

External subject ID specified during participant registration. External subject ID is a typically unique study-based or system-wide IDs assigned by external systems like OpenClinica, REDCap to identify the subjects or patients.

Works v4.3 onward

%CP_CODE%-%EXT_SUBJECT_ID%, the generated PPID will be 'PW-OC-0001' where 'PW' is the CP code, and 'OC-0001' is external subject ID
REG_SITE_CODE

CP site code of participant's registration site, if specified.

Works v4.3 onward

%CP_CODE%-%EXT_SUBJECT_ID%-%REG_SITE_CODE%, then the generated PPID will look like 'PW-OC-0001-KP' where 'PW' is CP code, 'OC-0001' is external subject ID, and 'KP' is the CP site code for the registration site.
CUSTOM_FIELD(level, fieldName)

Include the value of any custom field identified by "fieldName" at the specified level. The field name is the same as the attribute name that appears in the custom form designer. The allowed values of level are "cpr" and "cp"

Works v5.0 onward

  1. %CUSTOM_FIELD(cp, piCode)%, will include the value of CP custom field "piCode" 
  2. %CUSTOM_FIELD(cpr, patientId)%, will include the value of registration custom field "patientId"

Advance Tokens

You can use the EVAL(expr) token to add advanced tokens at the participant level. This token includes the result of expression evaluation in the generated labels. The expression can be a field name or complex expression.

 Click here to expand...

Token Name

Description

Example

%EVAL(#cpr.externalSubjectId)%

This will include the external subject ID in the generated PPIDs.


%EVAL(#cpr.participant.gender.value?.charAt(0))%This will include the first character of the participant gender, if any, in the generated PPIDs.
%EVAL(#formatDate(#cpr.registrationDate, "yyyy"))%This will include the registration year in the generated PPIDs.
%EVAL(#cpr.participant?.extension?.getAttrValues()['adapt'] == '1' ? 'A' : 'B')%This will add A in the label if the adapt checkbox is checked and visa versa.TIA_41_A
%EVAL(#cpr.collectionProtocol.shortTitle)%Includes CP short title in the label
%EVAL(#cpr.participant.empi)%Includes the eMPI of the participant in the PPID


Examples

 Click here to view the examples...
Example
Description
%CP_CODE%_%CP_UID(3)%
Each protocol can have a unique CP code that can be used as part of the PPID. This example format will generate PPID like 'GC_001' if the CP code is set as 'GC.'


Steps to configure PPID format 

 Click here to view the steps...
  1. Go to the collection protocols list page and click on the 'View Details' icon of the CP for which the PPID Format has to be set.
  2. Click on the 'Settings' icon from the left side menu of the overview page and select the option 'Label Format and Print.' 
  3. Set the desired PPID label format and click on the 'Save' button


Got feedback or spotted a mistake?

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