(CaaS) Participant Eligible (v0.0.1)

Event that is published by CaaS to NSP once when participants become eligible

Overview

Event that is published by CaaS to NSP once when participants become eligible

schema.json
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "CaaS Eligible Participant Event Schema",
"description": "Schema for the CaaSEligibleParticipant event that represents a participant becoming eligible for the Cervical Screening Programme",
"type": "object",
"required": [
"participantId",
"nhsNumber",
"dateOfBirth",
"eligibilityDate",
"eligibilityType",
"recordedBy",
"recordedAt"
],
"properties": {
"participantId": {
"type": "string",
"description": "Unique identifier for the participant"
},
"nhsNumber": {
"type": "string",
"pattern": "^[0-9]{10}$",
"description": "NHS number of the participant"
},
"dateOfBirth": {
"type": "string",
"format": "date",
"description": "Participant's date of birth"
},
"eligibilityDate": {
"type": "string",
"format": "date",
"description": "Date when the participant becomes eligible"
},
"eligibilityType": {
"type": "string",
"enum": [
"INITIAL_ELIGIBILITY",
"ROUTINE_RECALL",
"FOLLOW_UP",
"SPECIAL_CASE"
],
"description": "Type of eligibility"
},
"recordedBy": {
"type": "string",
"description": "Identifier of the person recording the eligibility"
},
"recordedAt": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp when the eligibility was recorded"
},
"personalDetails": {
"type": "object",
"properties": {
"firstName": {
"type": "string",
"description": "Participant's first name"
},
"lastName": {
"type": "string",
"description": "Participant's last name"
},
"gender": {
"type": "string",
"enum": ["FEMALE", "OTHER", "NOT_SPECIFIED"],
"description": "Participant's gender"
},
"postcode": {
"type": "string",
"pattern": "^[A-Z]{1,2}[0-9][A-Z0-9]? ?[0-9][A-Z]{2}$",
"description": "Participant's postcode"
}
},
"description": "Basic personal details of the participant"
},
"eligibilityCriteria": {
"type": "object",
"properties": {
"age": {
"type": "integer",
"minimum": 24,
"maximum": 64,
"description": "Participant's age at eligibility"
},
"lastScreeningDate": {
"type": "string",
"format": "date",
"description": "Date of last screening if applicable"
},
"exclusionFactors": {
"type": "array",
"items": {
"type": "string",
"enum": [
"HYSTERECTOMY",
"PREGNANT",
"RECENT_BIRTH",
"MEDICAL_CONTRAINDICATION",
"NONE"
]
},
"description": "Factors that might affect eligibility"
},
"notes": {
"type": "string",
"description": "Additional notes about eligibility"
}
},
"description": "Details of eligibility criteria met"
},
"riskFactors": {
"type": "object",
"properties": {
"factors": {
"type": "array",
"items": {
"type": "string",
"enum": [
"FAMILY_HISTORY",
"PREVIOUS_ABNORMAL_RESULTS",
"IMMUNOSUPPRESSED",
"HIV_POSITIVE",
"OTHER"
]
},
"description": "List of relevant risk factors"
},
"riskLevel": {
"type": "string",
"enum": ["STANDARD", "INCREASED", "HIGH"],
"description": "Overall risk level"
},
"notes": {
"type": "string",
"description": "Additional notes about risk factors"
}
},
"description": "Assessment of participant's risk factors"
},
"invitationPreferences": {
"type": "object",
"properties": {
"preferredLanguage": {
"type": "string",
"description": "Preferred language for communications"
},
"preferredContactMethod": {
"type": "string",
"enum": ["EMAIL", "SMS", "POST", "PHONE"],
"description": "Preferred method of contact"
},
"accessibilityNeeds": {
"type": "array",
"items": {
"type": "string",
"enum": ["LARGE_PRINT", "BRAILLE", "AUDIO", "TRANSLATION", "OTHER"]
},
"description": "Accessibility requirements"
}
},
"description": "Participant's communication preferences"
},
"gpDetails": {
"type": "object",
"properties": {
"gpPracticeCode": {
"type": "string",
"description": "GP practice code"
},
"gpPracticeName": {
"type": "string",
"description": "Name of GP practice"
},
"gpCode": {
"type": "string",
"description": "GP's code"
},
"gpName": {
"type": "string",
"description": "GP's name"
}
},
"description": "Details of participant's GP practice"
},
"metadata": {
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Source system recording the eligibility"
},
"version": {
"type": "string",
"description": "Version of the event schema"
},
"correlationId": {
"type": "string",
"description": "Correlation ID for tracking related events"
}
},
"description": "Additional metadata about the event"
}
}
}