UNPKG

@dvsa/mes-test-schema

Version:

Domain model for data associated with tests administered by the Driving Examiner Services project

497 lines (496 loc) 13.6 kB
{ "title": "Test Result Cat CPC Schema", "type": "object", "definitions": { "testData": { "additionalProperties": false, "description": "Data associated with the test", "properties": { "combination": { "$ref": "#/definitions/combinationCodes" }, "question1": { "$ref": "#/definitions/question" }, "question2": { "$ref": "#/definitions/question" }, "question3": { "$ref": "#/definitions/question" }, "question4": { "$ref": "#/definitions/question" }, "question5": { "$ref": "#/definitions/question5" }, "totalPercent": { "description": "Overall score for questions", "type": "number" } }, "required": [ "question1", "question2", "question3", "question4", "question5", "totalPercent" ] }, "examiner": { "$ref": "../common/index.json#/definitions/examiner" }, "testCentre": { "$ref": "../common/index.json#/definitions/testCentre" }, "name": { "$ref": "../common/index.json#/definitions/name" }, "address": { "$ref": "../common/index.json#/definitions/address" }, "candidate": { "$ref": "../common/index.json#/definitions/candidate" }, "applicationReference": { "$ref": "../common/index.json#/definitions/applicationReference" }, "testSlotAttributes": { "$ref": "../common/index.json#/definitions/testSlotAttributes" }, "journalData": { "$ref": "../common/index.json#/definitions/journalData" }, "signature": { "$ref": "../common/index.json#/definitions/signature" }, "communicationMethod": { "$ref": "../common/index.json#/definitions/communicationMethod" }, "conductedLanguage": { "$ref": "../common/index.json#/definitions/conductedLanguage" }, "communicationPreferences": { "$ref": "../common/index.json#/definitions/communicationPreferences" }, "preTestDeclarations": { "type": "object", "additionalProperties": false, "properties": { "insuranceDeclarationAccepted": { "description": "Whether or not the candidate has declared that their test vehicle has a valid insurance policy", "type": "boolean" }, "residencyDeclarationAccepted": { "description": "Whether or not the candidate has declared that they have lived in the UK for a period acceptable for taking the test", "type": "boolean" }, "preTestSignature": { "$ref": "#/definitions/signature" }, "candidateDeclarationSigned": { "description": "Whether or not the candidate signature had been recorded for delegated tests", "type": "boolean" } }, "required": [ "insuranceDeclarationAccepted", "residencyDeclarationAccepted", "preTestSignature" ] }, "accompaniment": { "description": "Indicators for anybody else overseeing the test", "type": "object", "properties": { "supervisor": { "description": "Indicates whether a DVSA supervisor was present during the test", "type": "boolean" }, "interpreter": { "description": "Indicates whether an interpreter was present during the test", "type": "boolean" } }, "additionalProperties": false }, "answer": { "description": "Answers to the question", "additionalProperties": false, "properties": { "selected": { "type": "boolean" }, "label": { "type": "string" } }, "required": [ "label", "selected" ] }, "question": { "type": "object", "additionalProperties": false, "properties": { "questionCode": { "description": "Short code for Question", "type": "string" }, "title": { "description": "Question description", "type": "string" }, "subtitle": { "description": "Question sub-description", "type": "string" }, "additionalItems": { "description": "Additional questions that might be asked", "type": "array", "items": { "type": "string" } }, "answer1": { "$ref": "#/definitions/answer" }, "answer2": { "$ref": "#/definitions/answer" }, "answer3": { "$ref": "#/definitions/answer" }, "answer4": { "$ref": "#/definitions/answer" }, "score": { "description": "Score in percent", "type": "number" } } }, "question5": { "type": "object", "additionalProperties": false, "properties": { "questionCode": { "description": "Short code for Question", "type": "string" }, "title": { "description": "Question description", "type": "string" }, "subtitle": { "description": "Question sub-description", "type": "string" }, "additionalItems": { "description": "Additional questions that might be asked", "type": "array", "items": { "type": "string" } }, "answer1": { "$ref": "#/definitions/answer" }, "answer2": { "$ref": "#/definitions/answer" }, "answer3": { "$ref": "#/definitions/answer" }, "answer4": { "$ref": "#/definitions/answer" }, "answer5": { "$ref": "#/definitions/answer" }, "answer6": { "$ref": "#/definitions/answer" }, "answer7": { "$ref": "#/definitions/answer" }, "answer8": { "$ref": "#/definitions/answer" }, "answer9": { "$ref": "#/definitions/answer" }, "answer10": { "$ref": "#/definitions/answer" }, "score": { "description": "Score in percent", "type": "number" } } }, "gearboxCategory": { "$ref": "../common/index.json#/definitions/gearboxCategory" }, "postTestDeclarations": { "$ref": "../common/index.json#/definitions/postTestDeclarations" }, "identification": { "$ref": "../common/index.json#/definitions/identification" }, "testSummary": { "description": "Recording of other characteristics of the test", "type": "object", "properties": { "trueLikenessToPhoto": { "description": "Physical appearance resembles a true likeness to provided ID", "type": "boolean" }, "candidateDescription": { "description": "Physical description of the candidate", "type": "string", "maxLength": 1000 }, "debriefWitnessed": { "description": "Indicates whether anybody else (e.g. ADI) was present for the debrief", "type": "boolean" }, "identification": { "$ref": "#/definitions/identification" }, "D255": { "description": "Indicates whether a D255 form needs to be completed", "type": "boolean" }, "additionalInformation": { "description": "Any comments that the DE wants to record about the test", "type": "string" }, "assessmentReport": { "description": "Assessment report for the test", "type": "string" } }, "additionalProperties": false }, "categoryCode": { "$ref": "../common/index.json#/definitions/categoryCode" }, "activityCode": { "$ref": "../common/index.json#/definitions/activityCode" }, "gender": { "$ref": "../common/index.json#/definitions/gender" }, "rekeyReason": { "$ref": "../common/index.json#/definitions/rekeyReason" }, "transfer": { "$ref": "../common/index.json#/definitions/transfer" }, "ipadIssue": { "$ref": "../common/index.json#/definitions/ipadIssue" }, "other": { "$ref": "../common/index.json#/definitions/other" }, "configuration": { "description": "The vehicle configuration", "type": "string", "enum": [ "Rigid", "Articulated", "Drawbar" ] }, "vehicleDetails": { "description": "Details about the vehicle to be used for the test", "type": "object", "properties": { "registrationNumber": { "description": "The vehicle registration number", "type": "string", "maxLength": 7 }, "motStatus": { "description": "The mot status of the vehicle", "type": "string" }, "motEvidenceProvided": { "description": "Marker stating if alternative MOT evidence was provided", "type": "boolean" }, "motEvidence": { "description": "Alternative MOT evidence", "type": "string" }, "make": { "description": "The make of the vehicle", "type": "string" }, "model": { "description": "The model of the vehicle", "type": "string" }, "testExpiryDate": { "description": "The test expiry date of the vehicle", "type": "string" }, "previouslySearchedRegNumbers": { "description": "Previously searched for registration numbers", "type": "array", "items": { "type": "string" } }, "gearboxCategory": { "$ref": "#/definitions/gearboxCategory" }, "configuration": { "$ref": "#/definitions/configuration" } }, "additionalProperties": false }, "passCompletion": { "description": "Finalisation of a successful test outcome", "type": "object", "properties": { "passCertificateNumber": { "description": "The PCN issued to the candidate", "type": "string", "maxLength": 8, "minLength": 8 } }, "additionalProperties": false, "required": [ "passCertificateNumber" ] }, "businessName": { "description": "Name of the business the candidate relates to", "type": "string", "maxLength": 100 }, "businessTelephone": { "description": "Telephone number of the business the candidate relates to", "type": "string", "maxLength": 20 }, "combinationCodes": { "description": "Short codes for the CPC questions", "type": "string", "enum": [ "LGV1", "LGV2", "LGV3", "LGV4", "LGV5", "LGV6", "LGV7", "LGV8", "PCV1", "PCV2", "PCV3", "PCV4", "PCV5", "PCV6", "PCV7", "PCV8" ] } }, "properties": { "version": { "description": "Version number", "type": "string" }, "appVersion": { "description": "App version number", "type": "string" }, "category": { "$ref": "#/definitions/categoryCode" }, "journalData": { "$ref": "#/definitions/journalData" }, "activityCode": { "$ref": "#/definitions/activityCode" }, "communicationPreferences": { "$ref": "#/definitions/communicationPreferences" }, "preTestDeclarations": { "$ref": "#/definitions/preTestDeclarations" }, "accompaniment": { "$ref": "#/definitions/accompaniment" }, "postTestDeclarations": { "$ref": "#/definitions/postTestDeclarations" }, "testSummary": { "$ref": "#/definitions/testSummary" }, "rekeyReason": { "$ref": "#/definitions/rekeyReason" }, "rekey": { "description": "Whether the test was rekeyed or not", "type": "boolean" }, "rekeyDate": { "description": "Date the test was rekeyed", "type": "string" }, "delegatedTest": { "description": "Whether the test was completed by a delegated examiner or not", "type": "boolean" }, "changeMarker": { "description": "Whether the test was conducted by another examiner", "type": "boolean" }, "examinerBooked": { "description": "The examiner who the test was booked to", "type": ["number", "string"] }, "examinerConducted": { "description": "The examiner who conducted the test", "type": ["number", "string"] }, "examinerKeyed": { "description": "The examiner who keyed the test into the iPad", "type": "number" }, "passCompletion": { "$ref": "#/definitions/passCompletion" }, "vehicleDetails": { "$ref": "#/definitions/vehicleDetails" }, "userExitedApp": { "$ref": "../common/index.json#/definitions/userExitedApp" }, "testData": { "$ref": "#/definitions/testData" } }, "additionalProperties": false, "required": [ "version", "category", "journalData", "activityCode", "rekey", "changeMarker", "examinerBooked", "examinerConducted", "examinerKeyed", "journalData" ] }