Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Info |
---|
SummaryExam eligibility information, sometimes called "Authorization to Test", can be automatically sent to |
Prolydian by a Workflow Behavior. |
LearningBuilder supports "Test-First" registration via Prolydian . In this model, candidates take their test before they establish an account in LearningBuilder. During the application process, these candidates can "claim" their exam results. |
Overview
LearningBuilder can integrate seamlessly with Pearson VUE with Prolydian to:
Establish eligibility for a candidate to sit for an
examAllow the candidate to schedule theirexam
using Pearson's self-service websiteObtain exam results
from Pearson VUEfrom Prolydian
Dynamically update the candidate's application based on those results
The integration is enabled via a Workflow Behavior. It supports these Workflow types:
Create Activity
- Complete Activity
- Complete Learning Plan
- Grant/Edit Member Role
Data Flow
Data Flow
When the Behavior is configured, administrator selects a Queue Template that controls the eligibility API payload sent to Prolydian, and an /wiki/spaces/DOCS/pages/639991859 which specifies what happens when results are received.
Image AddedImage AddedWhen a Workflow Action triggers the Behavior,
Workflow refreshes, Candidate sees a "Schedule Exam" button.Clicking this button navigates the user to the Pearson VUE self-service exam scheduling website where they can schedule their exam
Candidate is redirected to LearningBuilder and either continues with their Workflow or exits, depending on configuration.
the Message Queue is used to call the Atlas eligibility API. Prolydian is notified of:
The Candidate Id, a unqiue identifier for the candidate themselves, and
The Eligibility Id, a unique identifier which represents the authorization to sit for a specific exam administration. The Eligibility Id is determined by the Activity Instance.
At some point in the future, after the candidate has actually taken the exam,
Prolydian calls the xAPI API endpoint and provides an xAPI document representing the exam results
. The configured handler is executed which parses the document, extracts the document, and maps its values to the Activity Instance as configured. (Note: technically, Prolydian calls an endpoint in the Integration Hub, which then forwards the request to LearningBuilder. This prevents exam results from being dropped if LearningBuilder is down for maintenance. The integration hub plugin is NOT client-specific)
Workflow Attributes are updated with relevant pieces of the result data, per the Behavior configuration
The appropriate Workflow Action is executed depending on the exam grade. (This typically moves the Workflow forward into the next step)
Configuration
- Enable the integration via App Config
- Obtain client certificate from Pearson VUE
- Configure the Pearson VUE web service
- Create the Attributes used by the integration
- Create the Actions used by the integration
- Add the Behavior to a Workflow
The Behavior cannot be added to a Workflow unless the "PearsonVueMode" App Config setting is "Test" or "Prod". If set to "Off" the integration is disabled.
Each client will need to obtain, from Pearson, a client certificate. This will be a PKS #12 file with a .p12 extension.
Upload the certificate to Sys Admin → App Configuration → Client Certificates. The name that you assign the certificate is not significant, but make note of it because you'll need it for the app config settings.
The Behavior can be configured once the feature toggle is enabled, but it will not function properly until the Pearson VUE web service is properly configured.
Note that some settings have separate values for TEST and PROD modes.
Can be "Off", "Test", or "Prod".
Setting this to "Off" disables the entire feature and prevents the Behavior from being added to a Workflow.
PearsonVueCertificateNameProd
PearsonVueCertificateNameTest
PearsonVueClientId
PearsonVueUserName(Test|Prod)
PearsonVuePassword(Test|Prod)
PearsonVuePassphrase(Test|Prod)
Credentials used when calling the EAD and CDD services.
These are client-specific and should be obtained from Pearson.
PearsonVueClientCode
PearsonVueSsoPassphrase(Test|Prod)
Credentials used during the "SSO" handshake when redirecting users to Pearson's self-service exam scheduling website.
These are client-specific and should be obtained from Pearson.
PearsonVueSFTPUsername
PearsonVueSFTPPassword(Test|Prod)
Credentials used when polling Pearson's SFTP server.
These are client-specific and should be obtained from Pearson.
Before configuring the Behavior you must first configure some Workflow Attributes that will be referenced by the Behavior configuration:
Exam Code - Tells Pearson VUE which exam the eligibility record is for. Can be a text-based attribute or a Template. Common configurations are a Picklist that gets the value from the candidate, a Template that calculates the exam code based on custom business logic, or a value that is specified on one of the Workflow's "reference entities" as part of the back-end configuration.Eligibility Start / End Date - Specifies the date range within which the candidate is allowed to sit for their exam. Can be a date-based attribute or a Template.
Special Accommodations - (optional) Specifies a semicolon-delimited list of accommodation codes recognized by Pearson. Can be a text-based attribute, Picklist, Multi-select, or Template.
Authorization Id - A Short Text attribute into which the Authorization Id, which is established by Pearson VUE, is stored following a successful connection to their eligibility API.
API Result - A Long Text attribute into which the full API response is stored. This is not generally displayed to the candidate and is stored primarily for troubleshooting purposes.
Exam Date - A DateTime attribute into which the actual exam date is stored during the processing of the exam results file.
Exam Score - A Numeric attribute into which the candidate's exam score is stored during the processing of the exam results file.
Exam Grade - A Short Text attribute into which the "grade", which is either "Pass" or "Fail", is stored during the processing of the exam results file.
In addition, you must also configure the Workflow Actions that will be executed after processing the exam results file. LearningBuilder can execute different Actions based on the grade:
"On Pass" Action - the Action to execute if the candidate passed the exam.IMPORTANT: The Workflow must be on the step that owns the specified Action at the time that the results file is processed or else the result processing will fail. (The Workflow doesn't have to transition to that step immediately upon sending the eligibility, it just has to be on that step by the time the exam results are processed)
Once the supporting fields and actions are created, add the Behavior to a Workflow Action, Workflow Step, or Workflow Completion State configuration.
SFTP details
The SFTP website is managed by Pearson VUE. Credentials are stored in App Config. The site is checked for new files on a nightly basis.
Requirements
LearningBuilder 9.2 or laterClient Certificate from Pearson VUE (client-specific)
Capabilities
Calls Pearson VUE's "Candidate Demographic Data" web service to establish a Candidate IdCalls Pearson VUE's "Exam Authorization Data" web service to create an eligibility record for a specified Exam Code and within a specified eligibility period. All values are pulled from Workflow Attributes and support Templates
Special Accommodations can be collected and passed to Pearson
Exam results can be stored in additional Attributes:
Can execute a specific Workflow Action upon receiving a "pass" result.
Can execute a specific Workflow Action upon receiving a "fail" result.
Related articles
Filter by label (Content by label) | ||
---|---|---|
|
How to set up Prolydian integration for a new customer
Please complete for each customer. This will become a template so we can create one for each project with minimal hand-off between Implementation and Integration Support.
We need the following :
Note |
---|
This is a high-level summary. Please copy and fill out the /wiki/spaces/IC/pages/4105732097 for your specific client implementation. |
Data | Value |
---|---|
Customer contact | |
Prolydian contact | |
PTI contact (If HS client contracts Prolydian through PTI) | |
Prolydian API access Credentials (often the same across clients, but validate w/ Prolydian at Kickoff) | |
Prolydian-provided key | |
Exam Code | |
Test Group | |
ClientCandidateId Prefix | |
ClientAuthorizationId Prefix | |
Form code (if to be passed in) |
Configuration
Configure the Prolydian integration as follows ( Steve Ross needs to provide details):
If the client has used Prolydian in the past, and you need to maintain the PTI ID, create a short text PTI ID on the Member Role, Learning Plan Instance, and the Exam Activity Instance and also create a Template field call PTI - Computed on the Member Role with logic similar to
Code Block @( Model.MemberRole.GetText("PTI ID").IsNotNullOrEmpty() ? Model.MemberRole.GetText("PTI ID") : "PTINIGPCPP8" + ("000000000" + Model.MemberRole.GetText("Unique Identifier")).Right(9) )
The prefix “PTINIGPCCP8” will be changed to whatever the PTI tells us it needs to be for the client. In this example the template also support PTI IDs assigned prior to launching in LearningBuilder and thus will not overwrite an existing value.
3. Include an Update Workflow Instance Attribute behavior on the Role Grant Workflow or an Update Member Role for Learning Plan behavior on the LPI workflow to set the PTI ID prior to exam eligibility.
4. Include a series of behaviors on the LPI prior to scheduling similar to below:
Image AddedInfo |
---|
The last two behaviors are only needed if the issue where the Feature does not handle new vs existing candidates is not yet addressed. |
5. Prior to these behaviors being executed, the Exam Activity must already be added to the learning plan.
Option 1: Pre-add the exam activity on the Learning Plan Definition
Option 2: Have an administrator manually add it prior to approving the eligibility
Option 3: Create a custom SPROC to add it as part of the process
Option 4: Use the new Add Activity to Learning Plan behavior to do it, (not tested)
Option 5: Have the practitioner do it themselves (see NIGP). In this case, the must be an action on the Activity Instance that is executed prior to sending the eligibility that Executes an Action on the Parent Learning Plan that does the above behaviors. If there is a payment required on the exam exactivity, the Save action on Payment is a good candidate for this (see NIGP). If not, there need to be at least two practitioner steps on the Exam Workflow as the above behaviors must be executed on an entirely separate action from the one that sends the eligibility to Prolydian.
6. Create a Rabbit MQ template called Prolydian Exam Eligibility with the message to send the eligibility. Below is an example.
Update the Client prefix and Authorization prefix for the client.
Ensure the Activity Dates are mapped correctly
Update the Test Group
Ensure the Code is mapped correctly, or if only one, hard code it here. If no, include it as an extrinsic attribute on the Exam Activity Definition.
Code Block |
---|
@using Heuristics.Library.Extensions
@{
var ptiId = Model.GetAttributeValue("PTI ID");
var clientCandidateId = ptiId.Replace("PTINIGPCPP", "");
var clientAuthorizationId = "PTINIGPLB" + ("00000000000" + Model.Instance.WriteToItemId.ToString()).Right(11);
var examCode = Model.GetAttributeValue("Exam Code");
var activityStartDate = Model.GetAttributeValue("Activity Start Date");
var activityEndDate = Model.GetAttributeValue("Activity End Date");
var address = Model.Member.DefaultMemberAddress;
var phone = Model.Member.DefaultPhone;
var country = address.Country.ToUpper();
country =
country == "UNITED STATES" ? "USA" :
country == "CANADA" ? "CAN" :
country.IsNull() ? "" : (country+"XXX").Substring(0,3);
var zip = address.MailCode;
zip = zip.IsNull() ? "" : (zip+"00000").Substring(0,5);
}
{
"TestAdministrationId": "@examCode",
"PearsonCandidate":
{
"ClientCandidateId": "@clientCandidateId",
"TestGroup": "NIGP"
},
"PearsonAuthorization": {
"TestAdministrationId": "@examCode",
"StartDate": "@activityStartDate",
"EndDate": "@activityEndDate",
"ClientAuthorizationId": "@clientAuthorizationId",
"AuthorizationCount": 1
},
"FamilyName": "@Model.Member.LastName",
"GivenName": "@Model.Member.FirstName",
"Address":
{
"AddressLine1": "@address.Street1",
"AddressLine2": "@address.Street2",
"AddressLine3": "@address.Street3",
"City": "@address.City",
"State": "@address.State",
"Zip": "@zip",
"ZipExtension": null,
"Country": "@country"
},
"Phone":
{
"Number": "@phone",
"CountryCode": "1"
},
"Email":
{
"Address": "@Model.Member.Email",
"EmailType": "Work"
},
"object":
{
"identifier": "@clientAuthorizationId",
"objectType": "LearningBuilderXApiMessage",
"xApiHandler": "Prolydian",
"activityInstanceId": "@Model.Instance.WriteToItemId",
"ownerId": "@Model.Instance.OwnerId"
}
}
|
Info |
---|
If the issue where the Feature does not handle new vs existing candidates is not yet addressed. |
8. Include these behaviors on the action on the Exam Workflow that is trigger when the eligklbity should be sent:
Image AddedInfo |
---|
The last two behaviors and the conditional rules are only needed if the issue where the Feature does not handle new vs existing candidates is not yet addressed. |
See
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
hidden | true |
---|
|
Requirements
LearningBuilder 11.0.3 or later
Capabilities
Makes an API call to Prolydian using a configurable template, which allows for customization of the data that are passed
When exam results are reported back to LearningBuilder, a custom /wiki/spaces/DOCS/pages/639991859 allows values in the payload to be mapped back into Workflow Attributes
Candidates may take their test before they have an account in LearningBuilder. Exam results are stored in a pending state until they are "claimed" during the application process.
Technical details
Prolydian uses OAuth for authentication, so the 1st class Behavior in LearningBuilder calls a productized LearningBuilder Lambda endpoint that handles the authentication and then forwards the payload (which is controlled by a System Template) to Prolydian.