CreateScheduleWithParticipantGroupTestCenter

Applies to the following products: 
Questionmark OnDemand
Questionmark Perception
Questionmark OnPremise
Applies to the following Perception versions: 
Perception 5.7

This method creates and schedules a participant in conjunction with a test center. It will add the participant to the database if they do not already exist, along with all details supplied, but for existing participants (where the Participant_Name matches) any details supplied apart from the password will be overwritten, while any details that are blank will not be overwritten. The method will return the Schedule_ID for the schedule that has been created.

The method will:

  • Find the Assessment_ID that corresponds with the Schedule_Name in the database
  • Check if a test center that matches Name exists
    • Update the test center details if they have changed (label, department, country, and location)
    • If the test center does not exist the test center and the details passed about the name, label, department, country and location is created and marked as active
  • Check if the participant exists in the repository
    • If the participant exists, their details are updated with the new input supplied, except for the password
    • If the participant does not exist, the participant is created and the details available in the fields First_Name, Last_Name, Details, Title, etc., are updated to the repository
    • If the password field is left blank and the participant does not exist a random password is generated
  • Check if a root group exists that has the same name as the test center and update as necessary
    • If the root group does not exist the group is created in the Perception repository
  • Check if a top level sub group exists that matches the EventName
    • If the sub group exists the EventDescription is updated, if necessary
    • If the sub group does not exists a new one is created. The method does not check if the participant is already a member of another sub group assigned to the test center.
  • The participant will be added to the sub group associated with the EventName
  • The participant will be scheduled to take an assessment at the test center referenced
  • An individual schedule will be created for each assessment listed if it exists and if it is allowed to be run from integration
  • If Schedule_Starts and Schedule_Ends are not defined the schedule will be set to only allow one attempt at any date
  • If a Schedule_Ends date is defined but not a specific time the time is automatically set as 23:59:00 on the selected day
  • Any input that is greater than the allowed length will be truncated
  • Search for assessments and can be set to either:
    • Fail if assessment can not be found
    • Search for the associated assessment folder for all assessments similar to the Schedule_Name provided in the input and then a random assessment chosen from this list. This can be used to create different versions of the same assessment and allow the assessments to be randomly scheduled using this method
  • If the Select_Form setting is not defined it defaults to 0

If the participant cannot be created/edited and the schedule created with the information provided a SOAP fault message will be returned. Samples of why SOAP fault messages that can be returned include:

  • Any of the mandatory fields are not supplied
  • Assessment ID supplied does not exist in the system
  • If creation of new participant, group, or test center exceeds the maximum limit specified in the license file

This method can use secure headers to verify credentials before it is processed by Perception. For further information about secure headers, please refer to the Security chapter.

Available in:

  • Perception 4.4 +
  • Perception 5.1 +

Parameters

Input name   Description Date type

Participant2

 

   

 

Participant_ID

A participant ID to use for the participant created

String

 

Participant_Name

Must be 0

String

 

Password

The login password of the new participant

String

 

First_Name

The new participant's forename

String

 

Last_Name

The new participant's surname

String

 

Middle_Name

The new participant's middle name(s)

String

 

Use_Correspondence

This indicates how email correspondence will be used

Integer

 

Primary_Address_1

The first line of the new participant's primary address

String

 

Primary_Address_2

The second line of the primary address

String

 

Primary_City

The city or town in the primary address

String

 

Primary_State

The state or county in the primary address

String

 

Primary_ZIP_Code

The ZIP or postal code in the primary address

String

 

Primary_Country

The country in the primary address

String

 

Primary_Phone

The new participant's primary telephone number

String

 

Primary_Fax

The new participant's primary fax number

String

 

Primary_Email

The new participant's primary email address

String

 

Secondary_Address_1

The new participant's secondary address

String

 

Secondary_Address_2

 

String

 

Secondary_City

 

String

 

Secondary_State

 

String

 

Secondary_ZIP_Code

 

String

 

Secondary_Country

 

String

 

Secondary_Phone

 

String

 

Secondary_Fax

 

String

 

Secondary_Email

 

String

 

Salutation

How to address the new participant

String

 

Organization_Name

The name of the new participant's organization

String

 

Department

The new participant's department within their organization

String

 

Title

The new participant's title

String

 

Assistant_Name

The name of the new participant's assistant

String

 

Manager_Name

The name of the new participant's manager

String

 

Gender

The new participant's gender

String

 

URL

A URL for the new participant (such as that of a homepage or picture)

String

 

Details

The new participant's general details

String

 

Details_1

Short description/name for the organization where the participant belongs

String

 

Details_2

The ID of the organization the participant belongs too

String

 

Details_3

The participant's language preference. Possible values include:

en, fr, de, es, it

String

 

Details_4 to 20

 

String

 

Authenticate_Ext

This indicates whether the new participant must be authenticated externally

Integer

 

Date_Registration

The date the new participant was registered

String

Schedule2

 

These contain specific details about the participant

 

 

Session_Language

The language the assessment should be displayed in if it has been translated

String

 

Participant_Can_Choose

Determines if the participant can choose to take the assessment on or off-line

Boolean

 

Select_Form

0 - System will check for the assessment name associated with Schedule_Name as specified in the input. If the assessment name is not found, an error will be shown.

1 - The repository will be searched for the assessment folder with name Schedule_Name. A random assessment will then be chosen from the folder.

For example:

  • Schedule_Name = Example Folder
  • Assessment folder determined = Example Folder
  • Assessments available in folder = AssessmentExample, Assessment1, Assessment2
  • Randomly picked assessment = Assessment1

    If no assessment folder is found that matches the Schedule_Name, an 'Assessment not found' error is returned.

If no assessment name is found that matches the Schedule_Name an 'Assessment not found' error is returned.

Integer

 

Schedule_ID

The schedule ID

String

 

Assessment_ID

The assessment ID of the assessment in the schedule

String

 

Participant_ID

This is the participant ID of the participant in the schedule

String

 

Group_ID

The group ID of the participant in the schedule

String

 

Schedule_Name

This the name of the assessment being scheduled.

String

 

Restrict_Times

This indicates whether Schedule_Starts and Schedule_Stops below are used to restrict the period for which the assessment is available

Boolean

 

Restrict_Attempts

This indicates whether or not to use Max_Attempts

Boolean

 

Max_Attempts

This is the maximum number of times the schedule can be accessed

Integer

 

Monitored

0 - Assessment in schedule not monitored 1 - Assessment in schedule monitored

Integer

 

Schedule_Starts

If Restrict_Times above is set, this is the date and time at which this schedule becomes available

String

 

Schedule_Stops

If Restrict_Times above is set, this is the date and time at which this schedule ceases to be available

String

Event

 

 

 

 

EventName

The name of the event to be created. The event name equates to the sub group the participant is placed in

String

 

EventDescription

A description of the event

String

TestCenter

 

 

 

 

TestCenterId

A test center to deliver this assessment the relevant ID is required

 

 

Label

A short descriptive name associated with

String

 

Name

The name of the test center

String

 

Department

The department the test center belongs to. You can optionally define this field. It has no meaning within Perception but is recorded in the database.

String

 

Location

The location of the test center

String

 

Active

Whether the test center is currently active

Boolean

 

TimeZone

The timezone the test center resides in

String

 

SupportedTechnology

The delivery technology the test center supports.

0 = Web, 1 = Windows, 2 = Both.

Should be set to 0 initially

Short

 

Capacity

The capacity the test center is capable of dealing with

Integer

 

Address1

The Address and contact details of the test center

String

 

Address2

 

String

 

City

 

String

 

State

 

String

 

ZipCode

 

String

 

Country

 

String

 

Phone

 

String

 

Fax

 

String

 

Logo

The logo used for the test center (currently not used in Perception)

String

 

AdminMail

The email address of the administrator for the test center

String

 

Properties

For future use in storing properties of test center (e.g. opening hours). Should be left blank at present.

String

Response

Input name Description Data type

Schedule_Id

The ID of the schedule created

Integer

Troubleshooting

Please refer to the following page for any error codes that are displayed when using this method.

Appendix - Error codes