Overview
The Kuali Protocols module is setup to pull data from the Kuali Research CITI integration. Some institutions want to serve data form their own LMS systems, or serve other types of data to populate the training gadget in the Kuali Research system. Kuali provides a standard API format that can be setup for Kuali Protocols to retrieve in place of our out of the box training data.
Kuali API Format
When the Kuali Protocol system requests training data from an External API it will call the API configured in the External Data page, and then pass the following additional parameters
https://{{customer API path}}/${personId}?moduleCode=${moduleCodeId}
The module code corresponds so the protocol module being used, so your API can be setup to only send IRB trainings to IRB protocols, IACUC trainings to IACUC protocols, etc. The module codes are:
- IRB = 7
- IACUC = 9
- IBC = 13
The personID is the School ID configured in the Kuali Person record. This is the primary key used for persons in the Kuali Protocols system.
Example API call:
https://miskatonic.edu/apitool/researchTrainings/123456700?moduleCode=7
The Kuali Protocols system expects an array of json objects with the following attributes to be returned. Each json object represents a single training completed by a researcher.
- personTrainingId: This is a unique ID for each training record
- personId: This is the same School ID that is passed in the API call
- trainingCode: This is a unique code associated with each “course”. This code will be entered into the training gadget when configuring training on the protocol form.
- Example:
- “Working with Laboratory Rats Level 1” has trainingCode 12
- “Working with Laboratory Mice - Level 1” has trainingCode 13
- dateSubmitted: This is the date the course was completed. This must be passed in the unix date format.
- followupDate: This is the date the training expires.This must be passed in the unix date format.
- active: This is a boolean value. Only active training records will be listed in a protocol.
- Training: This is an object with details about the specific course type.
- trainingCode: This is a unique code associated with each “course”.
- Description: This is the human readable label for each course and will display in Kuali Protocols.
Example API Call Format:
[
{
"personTrainingId": 29,
"personId": "123456700",
"trainingCode": 1,
"dateSubmitted": 1614582000000,
"followupDate": 1648706400000,
"active": true,
"training": {
"trainingCode": 1,
"description": "Rochester Training Booklet - Human Subjects"
}
},
{
"personTrainingId": 64,
"personId": "123456700",
"trainingCode": 1,
"dateSubmitted": 1614582000000,
"followupDate": 1648706400000,
"active": true,
"training": {
"trainingCode": 1,
"description": "Rochester Training Booklet - Human Subjects"
}
}
]
Comments
0 comments
Article is closed for comments.