Result

Results Result
Methods Supported:
  • GET – read only

Filters supported:
  • ID – primary key

  • AssessmentID – the related assessment

  • ParticipantName – for filtering by Participant

  • GroupName – for filtering by Group

  • WhenFinished – for filtering by data of submission

Expansions supported:
  • Answers – the answers associated with this result

The Results feed contains data about assessment results. Entries are defined by the deliveryodata.Result type.

action PurgeResultsByParticipantName (ParticipantName Edm.String) Edm.Null

New in version 2018.05.

Purges all results for a named participant, all answers and other data associated with the results are removed. The results are also removed from the Results Warehouse.

To invoke this action use http POST with a JSON body like this:

POST /deliveryodata/<customer-id>/Results/PurgeResultsByParticipantName

{
    "ParticipantName": "bob"
}

The PurgeResultsByParticipantName action returns a 202 accepted response on success, result deletion happens asynchronously to ensure that it doesn’t conflict with the delivery of assessments.

The participant is passed by name and not by ParticipantID. This ensures that it is possible to delete results for participants that have already been deleted from the repository and for participants that were never created as real users.

Warning

Matching results of open assessments are also removed by this action. Users of open assessments are typically prompted to enter their name at the start of the assessment without authentication. Users are free to choose any name and this is recorded in the database as the participant name.

action PurgeParticipantAndResultsByParticipantName (ParticipantName Edm.String) Edm.Null

New in version 2018.05.

Similar to PurgeResultsByParticipantName but also removes the Participant’s user account if one exists in the repository.

action PurgeResultsByAssessmentId (AssessmentID Edm.String) Edm.Null

New in version 2018.05.

Similar to PurgeResultsByParticipantName except that all results for a given assessment are removed instead.

To invoke this action use http POST with a JSON body like this:

POST /deliveryodata/<customer-id>/Results/PurgeResultsByAssessmentId

{
    "AssessmentID": "2185231530264478"
}

Warning

The AssessmentID is a string and not an Int64.

action PurgeResultsByRetentionPolicy (AdministratorName Edm.String, RunType Edm.String) Edm.Null

New in version 2020.11.

It is possible to configure an area with a retention policy for results, effectively a number of days after which Result data will be purged by this method. If a policy has not been set, or is invalid, then no action is taken.

The AdministratorName allows the caller to provide the name of the end user that triggered the action (for auditing purposes).

The RunType parameter can be used to provide a description of the trigger for the action (for auditing purposes). The value “Scheduled” is reserved for Questionmark use and indicates that an automated periodic clean-up process was responsible for the action.

Warning

The PurgeResultByRetentionPolicy action cannot be undone. Use of this method on the Questionmark OnDemand platform requires a Questionmark approved retention policy to have been configured for the tenant concerned.

action ReplayResultsByDateRange (StartDate Edm.DateTime, EndDate Edm.DateTime) Edm.Null

New in version 2021.03.

Reserved for internal use.

action ReplayResultsByIDList (ResultIds Collection( Edm.Int32)) Edm.Null

New in version 2022.02.

Reserved for internal use.

EntityType: Result

Result entities are drawn from A_Result in the data model but contain only a subset of the properties. Result entities are generally read-only with the exception of the Result.Status and Result.ExtraTime properties.

Entity Key: ID Edm.Int32 NOT NULL

See A_Result.Result_ID.

AssessmentID Edm.Int64 NOT NULL

The OData feed exposes the Assessment using a combined ID rather than the MID+LID forms found in the data model. See A_Result.Session_MID for more information.

ParticipantName Edm.String

The name of the participant, see A_Result.Participant.

GroupName Edm.String

The name of the participant’s group, see A_Result.Member_Group.

TestCenterName Edm.String

The name of the Test Center where the participant took the assessment that generated this result. This value is populated automatically if the assessment was created using an associated Schedule.

New in version 2019.02.

ParticipantDetails Edm.String

See A_Result.Participant_Details.

Status Edm.Int16

See A_Result.Status for details of the permitted values.

Unlike most fields in this entity the value of Status may be set directly by a PATCH/MERGE or PUT request. A very limited set of transitions is permitted:

In progress results (value 1) may be paused (6) or terminated (7). Similarly paused results may be returned to in progress (1) or terminated (7). All other transitions will generate errors if attempted.

Setting the status using OData does not dynamically affect the state of the running assessment but it may change the behaviour when an assessment is resumed (e.g., after a device or network failure). Questionmark software uses an additional component, known as the Real Time Service (RTS), to signal state changes to the client’s device.

MaxScore Edm.Int32

Taken from A_Result.Max_Score.

TotalScore Edm.Int32

Taken from A_Result.Total_Score.

ScoreBandTitle Edm.String

Taken from A_Result.Score_Band_Title.

PercentageScore Edm.Int16

Taken from A_Result.Percentage_Score.

WhenFinished Edm.DateTime

Taken from A_Result.When_Finished_UTC. Despite having no UTC suffix this time is always expressed in UTC.

WhenStarted Edm.DateTime

Taken from A_Result.When_Started_UTC. Despite having no UTC suffix this time is always expressed in UTC.

ExtraTime Edm.Int32

May be set directly using PATCH/MERGE or PUT messages on the entity. See also the comments under Result.Status for limitations on the use of this adjustment for a running assessment.

See A_Result.EXTRA_TIME for information about the interpretation of this field’s value.

Special1 Edm.String

See A_Result.Special_1.

The special field values (Special1..Special10) are populated from AttemptMetadata, from input parameters in PIP calls or from default values configured in System Settings.

New in version 2019.02.

Special2 Edm.String
Special3 Edm.String
Special4 Edm.String
Special5 Edm.String
Special6 Edm.String
Special7 Edm.String
Special8 Edm.String
Special9 Edm.String
Special10 Edm.String
StillGoing Edm.Boolean

A boolean indicating if the participant’s attempt is in progress (True) or complete (False).

New in version 2019.02.

TimeTaken Edm.Int32

The length of tie taken on the assessment (in seconds).

New in version 2019.02.

ScheduleName Edm.String

The name of the schedule that was used to launch the corresponding Attempt. This value is the name at the time the participant launched their attempt at the Assessment, if the Schedule is subsequently renamed or deleted the original value can still be retrieved here.

New in version 2019.02.

FirstName Edm.String

The first name of the Participant at the time they launched the corresponding Attempt. See Participant.FirstName.

New in version 2019.02.

LastName Edm.String

The first name of the Participant at the time they launched the corresponding Attempt. See Participant.LastName.

New in version 2019.02.

AttemptId Edm.Int32

The Attempt.ID of the corresponding Attempt.

New in version 2020.02.

Assessment Assessment NOT NULL

A navigation property to the associated Assessment (see also AssessmentID).

Answers Answer Collection

A navigation property to the Participant’s Answers

ScoringTasks ScoringTask Collection

A navigation property to the ScoringTasks associated with this result, if any. One ScoringTasks is associated with the result for each unscored Answer.

Attempt Attempt

A navigation property to the Attempt associated with this result, if any.

New in version 2020.02.

TopicScores TopicScore Collection

New in version 2021.11.

A navigation property to the TopicScores associated with this result, if any.

action Purge () Edm.Null

New in version 2018.05.

Purges this result from the repository, all answers and other data associated with the result are removed. The result is also removed from the Results Warehouse.

To invoke this action use http POST with an empty JSON body:

POST /deliveryodata/<customer-id>/Result(123457)/Purge

{

}

The Purge action returns a 202 accepted response on success, result deletion happens asynchronously to ensure that it doesn’t conflict with the delivery of assessments.

action ReplayResult () Edm.Null

New in version 2021.03.

Reserved for internal use.

TopicScores TopicScore
Methods Supported:
  • GET – read only

Filters supported:
  • ID – primary key

Expansions supported:
  • Result – the Result the TopicScore is associated with.

New in version 2021.11.

EntityType: TopicScore

New in version 2021.11.

An entity representing a sub-score for the specified topic. TopicScores are always associated with a related Result entity.

Entity Key: ResultID Edm.Int32 NOT NULL
Entity Key: TopicID Edm.Int32 NOT NULL
PercentageScore Edm.Double NOT NULL
TotalScore Edm.Int32 NOT NULL
MaxScore Edm.Int32 NOT NULL
ScoreBandTitle Edm.String
NumQuestions Edm.Int32 NOT NULL
TopicPath Edm.String
Result Result
ResultsAuditLog ResultAuditLog
Methods Supported:
  • GET – read only

Filters supported:
  • ID – primary key

  • MessageID – the unique ID used in the message queue

  • RequestUserID – the type of action requested

  • RequestDateTime – when the action was requested

New in version 2018.05.

$orderby is supported so you can reverse sort the log using:

$orderby=RequestDateTime desc
EntityType: ResultAuditLog

New in version 2018.05.

An entity documenting auditable actions against the entity set of results. Due to the importance of the result set some actions generate a ResultAuditLog entity automatically when they are called. This entity also allows the status of long running tasks (such as the bulk removal of data) to be tracked.

Entity Key: ID Edm.Int32 NOT NULL

The primary key of this entity.

MessageID Edm.String

The unique message ID associated with this action. This value is a longer key used internally to track the action from the initial point of the request through to completion.

RequestUserID Edm.Int32 NOT NULL

The user (Administrator) that initiated the request. This is typically the ID of the service account responsible for calling the API method that triggered the auditable action.

RequestType Edm.String

The name of the auditable action such as PurgeResultsByResultIdCommand.

RequestData Edm.String

The data associated with the request.

Source Edm.String

The source of the request, for API calls this is the IP address of the machine that issued the request.

RequestDateTime Edm.DateTime NOT NULL

The time the request was made.

IsInQueue Edm.Boolean" NOT NULL

A boolean which is “true” if the request is waiting to be processed. Auditable actions are placed in a queue and actioned when system resources become available. Once the action has been carried out this is updated to “false” and the remaining fields can be used to read back the outcome.

ProcessedDateTime Edm.DateTime

The time the request was processed.

WasSuccessful Edm.Boolean

A boolean flag indicating whether or not the request was successfully processed (true) or if it failed (false).

TotalResultsAffected Edm.Int32 NOT NULL

The number of results affected by the request.