Rationale

The Booking Standard attempts to align with unmodified versions of the CareConnect FHIR Profiles to increase familiarity and ensure validation works without an excessive number of exceptions to maintain. On occassions though it is necesary for the Booking Standard to deviate from the defaults and below is a list of the affected profiles and related overrides.

The main reason for the overriding the profiles is because there is a reilance on data that, as default, is not mandatory. For example, the Booking Standard stipulates a requirement for start and end, within Appointment, to be populated, ensuring a time period is allocated and agreed between the Provider and Consumer and something tangiable can be given to the patient. Furthermore, the decision to utilise contained resources was an attempt to simplify the inital implementations, rather than adopt standard FHIR bundles.

Overrides

Appointment

Field Base Profile Booking Override
contained resources - 1..1
contained[0] (DocumentReference) - 1..1
contained[1] (Patient) - 1..1
contained[2] (Slot) - 1..1
start 0..1 1..1
end 0..1 1..1
created 0..1 1..1
description 0..1 1..1
supportingInformation 0..* 1..1
incomingReferral 0..* 0..1
participant 1..* 1..1

HealthcareService

Field Base Profile Booking Override
id (Booking) identifier (Base) 0..* 1..1
location 0..* 0..1

Patient

Field Base Profile Booking Override
id (unique in contained Appointment Resource) - 1..1
identifier 0..* 0..1
identifier (nhsNumber) 0..* 0..1
identifier (nhsNumber).extension 0..* 1..1
identifier (nhsNumber).use 0..* 0..1
identifier (nhsNumber).system 0..* 1..1
identifier (nhsNumber).value 0..* 1..1
name 0..* 1..1
gender 0..1 1..1
birthdate 0..1 1..1
address 0..* 1..1
telecom.rank (if telecom is populated) 0..1 1..1
contact.telecom.rank (if telecom is populated) 0..1 1..1

Schedule

Field Base Profile Booking Override
id (Booking) identifier (Base) 0..* 1..1
actor 1..* 1..3
actor(HealthcareService) 1..* 1..1
actor(Practitioner) 1..* 0..1
actor(PractitionerRole) 1..* 0..1

Slot

Field Base Profile Booking Override
identifier 0..* 1..1