UNPKG

@dvsa/mes-test-schema

Version:

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

535 lines (533 loc) 14.9 kB
{ "title": "Test Result Cat ADI3 Schema", "type": "object", "definitions": { "testData": { "additionalProperties": false, "description": "Data associated with the test", "properties": { "lessonAndTheme": { "$ref": "#/definitions/lessonAndTheme" }, "lessonPlanning": { "$ref": "#/definitions/lessonPlanning" }, "riskManagement": { "$ref": "#/definitions/riskManagement" }, "teachingLearningStrategies": { "$ref": "#/definitions/teachingLearningStrategies" }, "review": { "$ref": "#/definitions/review" }, "startTime": { "description": "Start time of test", "type": "string" }, "endTime": { "description": "End time of test", "type": "string" }, "totalScore": { "description": "Overall score for questions", "type": "number" } } }, "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" }, "validCertificate": { "description": "Whether there candidate held/presented a valid certificate", "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" }, "trainer": { "description": "Indicates whether a trainer was present during the test", "type": "boolean" }, "other": { "description": "Indicates whether another type of person was present during the test", "type": "boolean" } }, "additionalProperties": false }, "question": { "type": "object", "additionalProperties": false, "properties": { "title": { "description": "Question title", "type": "string" }, "score": { "description": "Score given for the question", "type": "number" } } }, "studentLevel": { "description": "Question description", "type": "string", "enum": [ "beginner", "partlyTrained", "trained", "flhNew", "flhExperienced" ] }, "lessonTheme": { "description": "List of themes for the lesson", "type": "string", "enum": [ "junctions", "townCityDriving", "interactionWithOtherRoadUsers", "dualCarriagewayFasterRoads", "defensiveDriving", "effectiveUseOfMirrors", "independentDriving", "ruralRoads", "motorways", "ecoSafeDriving", "recapAManoeuvre", "commentary", "recapEmergencyStop", "other" ] }, "gearboxCategory": { "$ref": "../common/index.json#/definitions/gearboxCategory" }, "postTestDeclarations": { "$ref": "../common/index.json#/definitions/postTestDeclarations" }, "testSummary": { "description": "Recording of other characteristics of the test", "type": "object", "properties": { "debriefWitnessed": { "description": "Indicates whether anybody else (e.g. ADI) was present for the debrief", "type": "boolean" }, "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" } }, "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" }, "vehicleDetails": { "description": "Details about the vehicle to be used for the test", "type": "object", "additionalProperties": false, "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" }, "dualControls": { "description": "Indicates whether or not the vehicle has dual controls fitted", "type": "boolean" } } }, "trainerDetails": { "additionalProperties": false, "type": "object", "properties": { "orditTrainedCandidate": { "description": "Did the candidate receive training from an ORDIT trainer", "type": "boolean" }, "pdiLogbook": { "description": "Does the PDI have a logbook", "type": "boolean" }, "traineeLicence": { "description": "Does the trainee have a licence", "type": "boolean" }, "trainerRegistrationNumber": { "description": "Trainer registration number (PRN)", "type": "number", "maxLength": 7 } } }, "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 }, "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 }, "lessonAndTheme": { "type": "object", "additionalProperties": false, "properties": { "studentLevel": { "$ref": "#/definitions/studentLevel" }, "lessonThemes": { "type": "array", "description": "List of lesson themes", "items": { "$ref": "#/definitions/lessonTheme" } }, "other": { "description": "Other description", "type": "string" } } }, "lessonPlanning": { "type": "object", "additionalProperties": false, "properties": { "q1": { "$ref": "#/definitions/question" }, "q2": { "$ref": "#/definitions/question" }, "q3": { "$ref": "#/definitions/question" }, "q4": { "$ref": "#/definitions/question" }, "score": { "description": "Overall score for questions", "type": "number" } } }, "riskManagement": { "type": "object", "additionalProperties": false, "properties": { "q1": { "$ref": "#/definitions/question" }, "q2": { "$ref": "#/definitions/question" }, "q3": { "$ref": "#/definitions/question" }, "q4": { "$ref": "#/definitions/question" }, "q5": { "$ref": "#/definitions/question" }, "score": { "description": "Overall score for questions", "type": "number" } } }, "teachingLearningStrategies": { "type": "object", "additionalProperties": false, "properties": { "q1": { "$ref": "#/definitions/question" }, "q2": { "$ref": "#/definitions/question" }, "q3": { "$ref": "#/definitions/question" }, "q4": { "$ref": "#/definitions/question" }, "q5": { "$ref": "#/definitions/question" }, "q6": { "$ref": "#/definitions/question" }, "q7": { "$ref": "#/definitions/question" }, "q8": { "$ref": "#/definitions/question" }, "score": { "description": "Overall score for questions", "type": "number" } } }, "review": { "type": "object", "additionalProperties": false, "properties": { "immediateDanger": { "description": "Whether at any point there was an incident/behavior that put someone in potential danger", "type": "boolean" }, "seekFurtherDevelopment": { "description": "Whether advice was given to seek further development to the candidate", "type": "boolean" }, "reasonForNoAdviceGiven": { "description": "Reason for no advice given to candidate", "type": "string" }, "feedback": { "description": "Feedback offered to candidate", "type": "string" }, "grade": { "description": "ADI3 have different levels of passes represented in grade form", "type": "string" } } } }, "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" }, "trainerDetails": { "$ref": "#/definitions/trainerDetails" }, "userExitedApp": { "$ref": "../common/index.json#/definitions/userExitedApp" }, "testData": { "$ref": "#/definitions/testData" } }, "additionalProperties": false, "required": [ "version", "category", "journalData", "activityCode", "rekey", "changeMarker", "examinerBooked", "examinerConducted", "examinerKeyed", "journalData" ] }