Appointment Booked (v0.0.1)

Appointment booked event

Overview

Triggered after an appointment is booked for a Participant with a screening office whose sub-specialty supports the required clinical procedure. Provides details about appointment information.

Internal JSON Messages

Messages within the NSP, whilst adhering to the FHIR data model, do not need to subscribe to the FHIR payload structure

Internal JSON Schema

Internal Sample JSON Payload

Internal json example
{
"appointmentId": "APT-123456",
"appointmentType": "Initial Screening",
"appointmentDate": "20250715",
"appointmentTime": "0930",
"appointmentStatusCode": "B",
"appointmentStatusDisplay": "Booked",
"appointmentBookedByCode": "H",
"appointmentBookedByDisplay": "Hospital",
"episodeID": "EPI-789012",
"managingEntityId": "ORG-456",
"appointmentFacilityCode": "FAC-001",
"appointmentLocationCode": "LOC-123",
"appointmentLocationName": "Main Screening Centre",
"appointmentLocationNameAlias": "NHS Screening Centre",
"appointmentLocationAddressLine1": "123 Health Street",
"appointmentLocationAddressLine2": "Screening Wing",
"appointmentLocationAddressLine3": "Building A",
"appointmentLocationAddressLine4": "Healthcare Campus",
"appointmentLocationAddressLine5": "North Zone",
"appointmentLocationPostalCode": "HX1 1XX",
"holdingClinicIndicator": true,
"screeningBatchId": "BATCH-202507"
}

External JSON Messages

As a principle, externally consumed data messages will adhere to FHIR 4.0.1 standards

External JSON Schema

External Sample JSON Payload

Internal json example
{
"resourceType": "Appointment",
"id": "appointment-001",
"status": "booked",
"appointmentType": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0276",
"code": "FOLLOWUP",
"display": "A follow up visit from a previous appointment"
}
]
},
"serviceType": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/service-type",
"code": "272",
"display": "Breast Screen"
}
]
}
],
"start": "2025-07-15T09:30:00+01:00",
"end": "2025-07-15T10:00:00+01:00",
"participant": [
{
"actor": {
"reference": "Patient/patient-123",
"display": "John Smith"
},
"required": "required",
"status": "accepted"
},
{
"type": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType",
"code": "LOC",
"display": "Location"
}
]
}
],
"actor": {
"reference": "Location/location-456",
"display": "Leeds Screening Centre - Room A"
},
"required": "required",
"status": "accepted"
}
]
}
appointmentId string
required

The unique identifier assigned to the appointment by the originating source system (e.g., a local hospital system or scheduling application). It's important to note that the format and structure of this appointmentId may vary significantly depending on the specific source system that created the appointment. This identifier allows for referencing the appointment within the context of the originating system.

appointmentType string

Specifies the category or nature of the appointment. This attribute may contain one or more values, depending on the level of detail provided by the originating system (e.g., 'Initial Screening', 'Follow-up Assessment', 'Telephone Consultation'). The values used will be specific to the originating system and might require mapping to a standardised set of appointment types for consistent reporting and analysis across the National Screening Platform.

appointmentDate string
required

The scheduled date of the appointment, formatted as YYYYMMDD. This attribute provides the year, month, and day of the original appointment. The consistent YYYYMMDD format ensures unambiguous interpretation of the date across different systems.

Match pattern: ^[0-9]{8}$
appointmentTime string
required

The scheduled time of the appointment, represented in 24-hour format as HHMM. This attribute, when combined with the appointmentDate, provides the complete scheduled date and time of the original appointment. The 24-hour format ensures clarity and avoids ambiguity related to AM/PM designations.

Match pattern: ^[0-9]{4}$
appointmentStatusCode string
required

The values for this attribute are drawn from a centrally managed and standardised reference dataset within the National Screening Platform. This ensures consistent interpretation of appointment statuses across all integrated systems.

appointmentStatusDisplay string

A human-readable description corresponding to the appointmentStatusCode. The values for this attribute are derived from the same centrally managed and standardised reference dataset as the appointmentStatusCode, ensuring a consistent and easily understandable representation of the appointment's status (e.g., 'Cancelled', 'Booked'). This attribute provides clarity on the meaning of the status code.

appointmentBookedByCode string

A code specifying the entity that initiated the booking of the appointment. The values for this attribute are governed by a centrally managed and standardised reference dataset within the National Screening Platform. This ensures consistent identification of the booking party across all systems. The corresponding human-readable description for this code is provided in the appointmentBookedByDisplay attribute.

appointmentBookedByDisplay string

A human-readable description corresponding to the appointmentBookedByCode, indicating who initiated the cancellation of the appointment. The values for this attribute are derived from the same centrally managed and standardised reference dataset as the appointmentBookedByCode, providing a clear understanding of the booking entity (e.g., 'Screening Office', 'Participant'). This attribute complements the code by offering a user-friendly representation.

episodeID string

A unique identifier assigned to the specific episode of care or screening process to which this appointment belongs. An episode might encompass a series of related appointments, tests, and outcomes for a participant within a particular screening pathway. This episodeID allows for the grouping and tracking of all activities associated with a single screening episode. Its format and generation are determined by the originating system.

managingEntityId string

A unique identifier representing the specific screening office or service provider responsible for managing the appointment. The values for this managingEntityId are drawn from a centrally managed and standardised reference dataset within the National Screening Platform. This ensures consistent identification of the responsible entity (e.g., a specific hospital trust or screening office) across all systems.

appointmentFacilityCode string

This attribute represents a unique code that identifies the specific clinic or healthcare facility where the appointment has been booked. This code can be used to differentiate between various locations within a healthcare provider network or organisation. It allows for accurate routing, reporting, and analysis of appointment data based on the physical location of the service. The absence of this attribute might indicate a virtual appointment or a scenario where a specific clinic code is not applicable.

appointmentLocationCode string

This attribute specifies a code that uniquely identifies the physical location of the place where the appointment is scheduled. This code provides a granular identifier for the specific building, campus, or site of the screening service delivery.

appointmentLocationName string

This attribute provides the human-readable name of the clinic or place where the appointment is scheduled. This name is intended for display purposes and helps users easily identify the location of their appointment. While a appointmentLocationCode provides a unique, system-identifiable reference, the appointmentLocationName offers a more intuitive and recognisable label for the participant and staff.

appointmentLocationNameAlias string

This attribute specifies the name of the clinic or healthcare facility as it should appear on official correspondence, such as appointment letters or other patient communications. This might differ slightly from the internal appointmentLocationName and could include specific formatting, legal names, or a more patient-facing presentation.

appointmentLocationAddressLine1 string

This attribute represents the first line of the physical address for the location where the appointment is scheduled. It typically contains the street number and street name of the facility.

appointmentLocationAddressLine2 string

This attribute represents the second line of the physical address for the location where the appointment is scheduled.

appointmentLocationAddressLine3 string

This attribute represents the third line of the physical address for the location where the appointment is scheduled.

appointmentLocationAddressLine4 string

This attribute represents the fourth line of the physical address for the location where the appointment is scheduled.

appointmentLocationAddressLine5 string

This attribute represents the fifth line of the physical address for the location where the appointment is scheduled.

appointmentLocationPostalCode string

This attribute specifies the post code for the location where the appointment is scheduled.

holdingClinicIndicator boolean

This attribute is a binary flag indicating whether the booked appointment is associated with a designated "holding clinic." A holding clinic might serve as a temporary location or a specific service point for initial assessment, triage, or specific appointment types before a patient is directed to a more specialised clinic.

screeningBatchId string

An optional identifier assigned by the originating source system to group a set of screening-related activities or records, if such a batch concept is applicable to the appointment cancellation. If the source system processes appointments in batches, this screeningBatchId can be used to correlate this appointment with its original batch. The presence and value of this attribute depend on the capabilities of the originating system.

FHIR based schema

resourceType string
required

This must be set to 'Appointment' to conform with the FHIR Appointment resource specification.

identifier array [object]
required

A list of identifiers associated with the appointment, such as an ID from the source system.

status string
required

The overall status of the appointment, such as 'booked' or 'cancelled'.

serviceType array [object]

The specific type of appointment being booked, such as 'Initial Screening'.

start string <date-time>
required

The start date and time of the appointment, in full ISO 8601 format (e.g., 2025-04-28T09:30:00+00:00).

meta object

Metadata about the resource, including extensions like bookedBy and holdingClinicIndicator.

episodeOfCare array [object]

Reference to the episode of care that this appointment is associated with.

managingEntity object

Reference to the organization or group managing the appointment.

location array [object]

The location(s) where the appointment will occur, as references to contained or external resources.

contained array [object]

Resources that are referenced from this appointment but are included inline (e.g., a Location resource).