From 8282460410f2bc3b2444a81e7ebc110fb9cb2a61 Mon Sep 17 00:00:00 2001 From: David Wass Date: Fri, 15 Nov 2024 10:24:58 +0000 Subject: [PATCH 1/3] [ERSSUP-81413]-[]-[RM27b - OAS modelling for End Triage Reasons]-[DMW] --- .../ReferralCancellationReasonCodeSystem.json | 112 ++++++++++++++++++ .../stu3/schemas/CodeSystemConcept.yaml | 2 + .../stu3/schemas/CodeSystemProperties.yaml | 2 + .../RequestCancellationProviderUsage.yaml | 28 +++++ .../schemas/properties/ProviderUsage.yaml | 23 ++++ 5 files changed, 167 insertions(+) create mode 100644 specification/components/stu3/schemas/codings/RequestCancellationProviderUsage.yaml create mode 100644 specification/components/stu3/schemas/properties/ProviderUsage.yaml diff --git a/sandbox/src/mocks/stu3/getCodeSystem/responses/ReferralCancellationReasonCodeSystem.json b/sandbox/src/mocks/stu3/getCodeSystem/responses/ReferralCancellationReasonCodeSystem.json index 1e114f83f..90fa280e0 100644 --- a/sandbox/src/mocks/stu3/getCodeSystem/responses/ReferralCancellationReasonCodeSystem.json +++ b/sandbox/src/mocks/stu3/getCodeSystem/responses/ReferralCancellationReasonCodeSystem.json @@ -65,6 +65,20 @@ { "code": "canCancelAppointment", "valueBoolean": false + }, + { + "code": "businessFunction", + "valueCoding": { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1", + "code": "SERVICE_PROVIDER_CLINICIAN" + } + }, + { + "code": "providerUsage", + "valueCoding": { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1", + "code": "END_TRIAGE" + } } ] }, @@ -101,6 +115,20 @@ { "code": "canCancelAppointment", "valueBoolean": false + }, + { + "code": "businessFunction", + "valueCoding": { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1", + "code": "SERVICE_PROVIDER_CLINICIAN" + } + }, + { + "code": "providerUsage", + "valueCoding": { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1", + "code": "END_TRIAGE" + } } ] }, @@ -119,6 +147,20 @@ { "code": "canCancelAppointment", "valueBoolean": false + }, + { + "code": "businessFunction", + "valueCoding": { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1", + "code": "SERVICE_PROVIDER_CLINICIAN" + } + }, + { + "code": "providerUsage", + "valueCoding": { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1", + "code": "END_TRIAGE" + } } ] }, @@ -176,6 +218,20 @@ { "code": "canCancelAppointment", "valueBoolean": false + }, + { + "code": "businessFunction", + "valueCoding": { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1", + "code": "SERVICE_PROVIDER_CLINICIAN" + } + }, + { + "code": "providerUsage", + "valueCoding": { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1", + "code": "END_TRIAGE" + } } ] }, @@ -194,6 +250,20 @@ { "code": "canCancelAppointment", "valueBoolean": false + }, + { + "code": "businessFunction", + "valueCoding": { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1", + "code": "SERVICE_PROVIDER_CLINICIAN" + } + }, + { + "code": "providerUsage", + "valueCoding": { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1", + "code": "END_TRIAGE" + } } ] }, @@ -212,6 +282,20 @@ { "code": "canCancelAppointment", "valueBoolean": false + }, + { + "code": "businessFunction", + "valueCoding": { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1", + "code": "SERVICE_PROVIDER_CLINICIAN" + } + }, + { + "code": "providerUsage", + "valueCoding": { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1", + "code": "END_TRIAGE" + } } ] }, @@ -230,6 +314,20 @@ { "code": "canCancelAppointment", "valueBoolean": false + }, + { + "code": "businessFunction", + "valueCoding": { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1", + "code": "SERVICE_PROVIDER_CLINICIAN" + } + }, + { + "code": "providerUsage", + "valueCoding": { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1", + "code": "END_TRIAGE" + } } ] }, @@ -404,6 +502,20 @@ { "code": "canCancelAppointment", "valueBoolean": false + }, + { + "code": "businessFunction", + "valueCoding": { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1", + "code": "SERVICE_PROVIDER_CLINICIAN" + } + }, + { + "code": "providerUsage", + "valueCoding": { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1", + "code": "END_TRIAGE" + } } ] }, diff --git a/specification/components/stu3/schemas/CodeSystemConcept.yaml b/specification/components/stu3/schemas/CodeSystemConcept.yaml index 46dd37948..5ab6ee107 100644 --- a/specification/components/stu3/schemas/CodeSystemConcept.yaml +++ b/specification/components/stu3/schemas/CodeSystemConcept.yaml @@ -57,6 +57,7 @@ properties: | businessFunction | APPOINTMENT-CANCELLATION-REASON/REFERRAL-CANCELLATION-REASON | | CanCancelAppointment | REFERRAL-CANCELLATION-REASON | | RequestCancellationReferrerUsage | REFERRAL-CANCELLATION-REASON | + | RequestCancellationProviderUsage | REFERRAL-CANCELLATION-REASON | | DeferToProviderContactDays | PRIORITY | | TriageContactDays | PRIORITY | @@ -74,5 +75,6 @@ properties: - $ref: 'codings/BusinessFunction.yaml' - $ref: 'codings/CanCancelAppointment.yaml' - $ref: 'codings/RequestCancellationReferrerUsage.yaml' + - $ref: 'codings/RequestCancellationProviderUsage.yaml' - $ref: 'codings/DeferToProviderContactDays.yaml' - $ref: 'codings/TriageContactDays.yaml' diff --git a/specification/components/stu3/schemas/CodeSystemProperties.yaml b/specification/components/stu3/schemas/CodeSystemProperties.yaml index 7eeb3cd23..4484556b9 100644 --- a/specification/components/stu3/schemas/CodeSystemProperties.yaml +++ b/specification/components/stu3/schemas/CodeSystemProperties.yaml @@ -15,6 +15,7 @@ description: | | BusinessFunction | APPOINTMENT-CANCELLATION-REASON / REFERRAL-CANCELLATION-REASON | | CanCancelAppointment | REFERRAL-CANCELLATION-REASON | | ReferrerUsage | REFERRAL-CANCELLATION-REASON | + | ProviderUsage | REFERRAL-CANCELLATION-REASON | | DeferToProviderContactDays | PRIORITY | | TriageContactDays | PRIORITY | @@ -31,5 +32,6 @@ items: - $ref: 'properties/BusinessFunction.yaml' - $ref: 'properties/CanCancelAppointment.yaml' - $ref: 'properties/ReferrerUsage.yaml' + - $ref: 'properties/ProviderUsage.yaml' - $ref: 'properties/DeferToProviderContactDays.yaml' - $ref: 'properties/TriageContactDays.yaml' diff --git a/specification/components/stu3/schemas/codings/RequestCancellationProviderUsage.yaml b/specification/components/stu3/schemas/codings/RequestCancellationProviderUsage.yaml new file mode 100644 index 000000000..4c48e290f --- /dev/null +++ b/specification/components/stu3/schemas/codings/RequestCancellationProviderUsage.yaml @@ -0,0 +1,28 @@ +title: RequestCancellationProviderUsage +description: This will only be returned when `codeSystemType` is `REFERRAL-CANCELLATION-REASON` +type: object +required: + - code + - valueCoding +properties: + code: + type: string + enum: + - providerUsage + example: 'providerUsage' + valueCoding: + type: object + required: + - system + - code + properties: + system: + type: string + enum: + - 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1' + example: 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1' + code: + type: string + enum: + - END_TRIAGE + example: 'END_TRIAGE' diff --git a/specification/components/stu3/schemas/properties/ProviderUsage.yaml b/specification/components/stu3/schemas/properties/ProviderUsage.yaml new file mode 100644 index 000000000..92f5d61ac --- /dev/null +++ b/specification/components/stu3/schemas/properties/ProviderUsage.yaml @@ -0,0 +1,23 @@ +title: ProviderUsage +description: This will only be returned when codeSystemType is REFERRAL-CANCELLATION-REASON +type: object +required: + - code + - uri + - type +properties: + code: + type: string + enum: + - providerUsage + example: 'providerUsage' + uri: + type: string + enum: + - 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-Concept-Properties-1#providerUsage' + example: 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-Concept-Properties-1#providerUsage' + type: + type: string + enum: + - Coding + example: 'Coding' From a0f1e7ae69e706702dbeff85730c3dafc1ed992b Mon Sep 17 00:00:00 2001 From: David Wass Date: Fri, 15 Nov 2024 21:31:30 +0000 Subject: [PATCH 2/3] [ERSSUP-81431]-[]-[Refactor Worklists before update]-[DMW] --- .../stu3/schemas/eRS-FetchWorklist-List.yaml | 804 +----------------- ...dviceAndGuidanceRequests-WorkListItem.yaml | 38 + ...RS-AppointmentSlotIssues-WorkListItem.yaml | 42 + ...mentReturnedCancelledDna-WorklistItem.yaml | 35 + ...sion-eRS-AwaitingBooking-WorklistItem.yaml | 34 + ...n-eRS-LettersOutstanding-WorklistItem.yaml | 30 + ...n-eRS-ReferralsforReview-WorkListItem.yaml | 44 + ...S-RejectedTriageResponse-WorkListItem.yaml | 34 + ...ion-WorklistItem-AdviceFirstRequested.yaml | 15 + ...ension-WorklistItem-AdviceLastUpdated.yaml | 15 + ...nsion-WorklistItem-AllocatedClinician.yaml | 19 + ...istItem-AppointmentCancellationReason.yaml | 36 + ...tension-WorklistItem-AppointmentStart.yaml | 15 + .../Extension-WorklistItem-Category.yaml | 41 + ...rklistItem-ClinicalInfoFirstSubmitted.yaml | 15 + ...-WorklistItem-ClinicalInfoLastUpdated.yaml | 15 + ...orklistItem-ClinicalInformationStatus.yaml | 39 + .../Extension-WorklistItem-LastContact.yaml | 15 + .../Extension-WorklistItem-LetterDue.yaml | 15 + ...-WorklistItem-NamedClinicianReference.yaml | 18 + ...n-WorklistItem-PatientContactExpected.yaml | 15 + ...tension-WorklistItem-PatientReference.yaml | 19 + ...rklistItem-ReferralCancellationReason.yaml | 36 + ...ion-WorklistItem-ReferralPathwayStart.yaml | 15 + .../Extension-WorklistItem-ReferralType.yaml | 37 + ...ion-WorklistItem-RequestContextStatus.yaml | 43 + .../Extension-WorklistItem-ReviewReason.yaml | 39 + .../Extension-WorklistItem-UbrnReceived.yaml | 15 + .../schemas/parameters/BookingReasons.yaml | 37 + 29 files changed, 779 insertions(+), 796 deletions(-) create mode 100644 specification/components/stu3/schemas/extensions/Extension-eRS-AdviceAndGuidanceRequests-WorkListItem.yaml create mode 100644 specification/components/stu3/schemas/extensions/Extension-eRS-AppointmentSlotIssues-WorkListItem.yaml create mode 100644 specification/components/stu3/schemas/extensions/Extension-eRS-AssessmentReturnedCancelledDna-WorklistItem.yaml create mode 100644 specification/components/stu3/schemas/extensions/Extension-eRS-AwaitingBooking-WorklistItem.yaml create mode 100644 specification/components/stu3/schemas/extensions/Extension-eRS-LettersOutstanding-WorklistItem.yaml create mode 100644 specification/components/stu3/schemas/extensions/Extension-eRS-ReferralsforReview-WorkListItem.yaml create mode 100644 specification/components/stu3/schemas/extensions/Extension-eRS-RejectedTriageResponse-WorkListItem.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AdviceFirstRequested.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AdviceLastUpdated.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AllocatedClinician.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AppointmentCancellationReason.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AppointmentStart.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-Category.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ClinicalInfoFirstSubmitted.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ClinicalInfoLastUpdated.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ClinicalInformationStatus.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-LastContact.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-LetterDue.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-NamedClinicianReference.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-PatientContactExpected.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-PatientReference.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ReferralCancellationReason.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ReferralPathwayStart.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ReferralType.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-RequestContextStatus.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ReviewReason.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-UbrnReceived.yaml create mode 100644 specification/components/stu3/schemas/parameters/BookingReasons.yaml diff --git a/specification/components/stu3/schemas/eRS-FetchWorklist-List.yaml b/specification/components/stu3/schemas/eRS-FetchWorklist-List.yaml index 82f8588d7..5e63151a4 100644 --- a/specification/components/stu3/schemas/eRS-FetchWorklist-List.yaml +++ b/specification/components/stu3/schemas/eRS-FetchWorklist-List.yaml @@ -146,799 +146,11 @@ properties: | `Extension-eRS-LettersOutstanding-WorklistItem` | `0..1` | Type of worklist items depends on the worklist type requested | items: anyOf: - - title: Extension-eRS-ReferralsforReview-WorkListItem - type: object - required: - - url - - extension - properties: - url: - type: string - enum: - - 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-ReferralsforReview-WorkListItem-1' - example: 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-ReferralsforReview-WorkListItem-1' - extension: - type: array - description: | - | Field | Cardinality | Notes | - | ------------------------------ | ----------- | ------------------------------------------ | - | `priority` | `1..1` | | - | `specialty` | `1..1` | | - | `patient` | `1..1` | | - | `namedClinician` | `0..1` | | - | `eReferralPathwayStart` | `1..1` | | - | `clinicalInfoPrinted` | `1..1` | | - | `requestContextStatus` | `1..1` | | - | `clinicalInfoFirstSubmitted` | `0..1` | | - | `clinicalInfoLastUpdated` | `0..1` | | - | `appointmentStart` | `0..1` | | - | `allocatedClinician` | `0..1` | | - | `service` | `1..1` | | - items: - anyOf: - - title: priority - type: object - required: - - url - - valueCodeableConcept - properties: - url: - type: string - enum: - - priority - example: 'priority' - valueCodeableConcept: - type: object - required: - - coding - properties: - coding: - type: array - items: - $ref: '../schemas/codings/Priority.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-Specialty.yaml' - - title: patient - type: object - required: - - url - - valueReference - properties: - url: - type: string - enum: - - patient - example: 'patient' - valueReference: - type: object - required: - - reference - properties: - reference: - type: string - example: '#Patient-9462979626' - - title: namedClinician - type: object - required: - - url - - valueReference - properties: - url: - type: string - enum: - - namedClinician - example: 'namedClinician' - valueReference: - type: object - required: - - reference - properties: - reference: - type: string - example: '#Practitioner-021600556514' - - title: eReferralPathwayStart - type: object - required: - - url - - valueDateTime - properties: - url: - type: string - enum: - - eReferralPathwayStart - example: 'eReferralPathwayStart' - valueDateTime: - type: string - format: date-time - example: '2021-09-01T14:26:18.314Z' - - $ref: './extensions/worklists/Extension-WorklistItem-ClinicalInfoPrinted.yaml' - - title: requestContextStatus - type: object - required: - - url - - valueCodeableConcept - properties: - url: - type: string - enum: - - requestContextStatus - example: 'requestContextStatus' - valueCodeableConcept: - type: object - required: - - coding - properties: - coding: - type: array - minItems: 1 - maxItems: 1 - items: - type: object - required: - - system - - code - - display - properties: - system: - type: string - enum: - - https://fhir.nhs.uk/STU3/CodeSystem/eRS-RequestContextStatus-1 - example: 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-RequestContextStatus-1' - code: - type: string - enum: - - LETTER_CHANGED - - PRIORITY_CHANGED - - PRIORITY_AND_LETTER_CHANGED - - NEVER_REVIEWED - example: 'NEVER_REVIEWED' - display: - type: string - example: 'Never Reviewed' - - title: clinicalInfoFirstSubmitted - type: object - required: - - url - - valueDateTime - properties: - url: - type: string - enum: - - clinicalInfoFirstSubmitted - example: 'clinicalInfoFirstSubmitted' - valueDateTime: - type: string - format: date-time - example: '2021-09-01T14:26:18.314Z' - - title: clinicalInfoLastUpdated - type: object - required: - - url - - valueDateTime - properties: - url: - type: string - enum: - - clinicalInfoLastUpdated - example: 'clinicalInfoLastUpdated' - valueDateTime: - type: string - format: date-time - example: '2021-09-03T10:44:42.764Z' - - title: referralType - type: object - required: - - url - - valueCodeableConcept - properties: - url: - type: string - enum: - - referralType - example: 'referralType' - valueCodeableConcept: - type: object - required: - - coding - properties: - coding: - type: array - minItems: 1 - maxItems: 1 - items: - type: object - required: - - system - - code - properties: - system: - type: string - enum: - - https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralType-1 - example: 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralType-1' - code: - type: string - enum: - - APPOINTMENT - - TRIAGE_DEFERRAL - example: 'TRIAGE_DEFERRAL' - - title: appointmentStart - type: object - required: - - url - - valueDateTime - properties: - url: - type: string - enum: - - appointmentStart - example: 'appointmentStart' - valueDateTime: - type: string - format: date-time - example: '2021-09-02T14:15:00.000Z' - - title: allocatedClinician - type: object - required: - - url - - valueReference - properties: - url: - type: string - enum: - - allocatedClinician - example: 'allocatedClinician' - valueReference: - type: object - required: - - reference - properties: - reference: - type: string - example: '#Practitioner-021600556514' - - $ref: './extensions/worklists/Extension-WorklistItem-Service.yaml' - - title: Extension-eRS-AppointmentSlotIssues-WorkListItem - type: object - required: - - url - - extension - properties: - url: - type: string - enum: - - 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AppointmentSlotIssues-WorkListItem-1' - example: 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AppointmentSlotIssues-WorkListItem-1' - extension: - type: array - description: | - | Field | Cardinality | Notes | - | ------------------------------ | ----------- | ------------------------------------------ | - | `priority` | `1..1` | | - | `specialty` | `1..1` | | - | `patient` | `1..1` | | - | `namedClinician` | `0..1` | | - | `eReferralPathwayStart` | `1..1` | | - | `clinicalInfoPrinted` | `1..1` | | - | `ubrnReceived` | `0..1` | | - | `patientContactExpected` | `0..1` | | - | `clinicalInformationStatus` | `0..1` | | - | `reason` | `0..1` | | - | `lastContact` | `0..1` | | - | `service` | `1..1` | | - items: - anyOf: - - $ref: './extensions/worklists/Extension-WorklistItem-Priority.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-Specialty.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-Patient.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-NamedClinician.yaml' - - title: eReferralPathwayStart - type: object - required: - - url - - valueDateTime - properties: - url: - type: string - enum: - - eReferralPathwayStart - example: 'eReferralPathwayStart' - valueDateTime: - type: string - format: date-time - example: '2021-09-01T14:26:18.314Z' - - $ref: './extensions/worklists/Extension-WorklistItem-ClinicalInfoPrinted.yaml' - - title: ubrnReceived - type: object - required: - - url - - valueDateTime - properties: - url: - type: string - enum: - - ubrnReceived - example: 'ubrnReceived' - valueDateTime: - type: string - format: date-time - example: '2021-09-01T14:26:18.314Z' - - title: patientContactExpected - type: object - required: - - url - - valueDate - properties: - url: - type: string - enum: - - patientContactExpected - example: 'patientContactExpected' - valueDate: - type: string - format: date - example: '2021-09-07' - - title: clinicalInformationStatus - type: object - required: - - url - - valueCodeableConcept - properties: - url: - type: string - enum: - - clinicalInformationStatus - example: 'clinicalInformationStatus' - valueCodeableConcept: - type: object - required: - - coding - properties: - coding: - type: array - minItems: 1 - maxItems: 1 - items: - type: object - required: - - system - - code - properties: - system: - type: string - enum: - - https://fhir.nhs.uk/STU3/CodeSystem/eRS-ClinicalInformationStatus-1 - example: 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-ClinicalInformationStatus-1' - code: - type: string - enum: - - PRESENT - - NOT_APPLICABLE - - NOT_DUE - - OVERDUE - example: 'NOT_DUE' - - title: reason - type: object - required: - - url - - valueCodeableConcept - properties: - url: - type: string - enum: - - reason - example: 'reason' - valueCodeableConcept: - type: object - required: - - coding - properties: - coding: - type: array - minItems: 1 - maxItems: 1 - items: - type: object - required: - - system - - code - properties: - system: - type: string - enum: - - https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReviewReason-1 - example: 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReviewReason-1' - code: - type: string - enum: - - NO_SLOTS_AT_SERVICE - - SLOT_NOT_AVAILABLE - - BOOKING_ATTEMPT_PROBLEM - - TRIAGE - example: 'NO_SLOTS_AT_SERVICE' - - title: lastContact - type: object - required: - - url - - valueDateTime - properties: - url: - type: string - enum: - - lastContact - example: 'lastContact' - valueDateTime: - type: string - format: date-time - example: '2021-09-01T14:26:18.314Z' - - $ref: './extensions/worklists/Extension-WorklistItem-Service.yaml' - - title: Extension-eRS-AdviceAndGuidanceRequests-WorkListItem - type: object - required: - - url - - extension - properties: - url: - type: string - enum: - - 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AdviceAndGuidanceRequests-WorkListItem-1' - example: 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AdviceAndGuidanceRequests-WorkListItem-1' - extension: - type: array - description: | - | Field | Cardinality | Notes | - | ------------------------------ | ----------- | ------------------------------------------ | - | `priority` | `1..1` | | - | `specialty` | `1..1` | | - | `patient` | `1..1` | | - | `namedClinician` | `0..1` | | - | `category` | `1..1` | | - | `adviceFirstRequested` | `1..1` | | - | `adviceLastUpdated` | `1..1` | | - | `referrer` | `1..1` | | - | `service` | `1..1` | | - | `clinicType` | `0..1` | | - items: - anyOf: - - $ref: './extensions/worklists/Extension-WorklistItem-Priority.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-Specialty.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-Patient.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-NamedClinician.yaml' - - title: category - type: object - required: - - url - - valueCodeableConcept - properties: - url: - type: string - enum: - - category - example: 'category' - valueCodeableConcept: - type: object - required: - - coding - properties: - coding: - type: array - minItems: 1 - maxItems: 1 - items: - type: object - required: - - system - - code - properties: - system: - type: string - enum: - - https://fhir.nhs.uk/STU3/CodeSystem/eRS-AdviceAndGuidanceStatus-1 - example: 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-AdviceAndGuidanceStatus-1' - code: - type: string - enum: - - PROVIDER_RESPONSE_REQUIRED - - REFERRER_TO_SUBMIT_FURTHER_INFORMATION - - REFERRER_TO_REVIEW_RESPONSE - - CONVERSATION_ENDED_CANCELLED - - CONVERSATION_ENDED_CLOSED - - ADVICE_CONVERTED - example: 'PROVIDER_RESPONSE_REQUIRED' - - title: adviceFirstRequested - type: object - required: - - url - - valueDateTime - properties: - url: - type: string - enum: - - adviceFirstRequested - example: 'adviceFirstRequested' - valueDateTime: - type: string - format: date-time - example: '2021-09-01T14:26:18.314Z' - - title: adviceLastUpdated - type: object - required: - - url - - valueDateTime - properties: - url: - type: string - enum: - - adviceLastUpdated - example: 'adviceLastUpdated' - valueDateTime: - type: string - format: date-time - example: '2021-09-01T14:26:18.314Z' - - title: adviceLastUpdated - type: object - required: - - url - - valueDateTime - properties: - url: - type: string - enum: - - adviceLastUpdated - example: 'adviceLastUpdated' - valueDateTime: - type: string - format: date-time - example: '2021-09-01T14:26:18.314Z' - - $ref: './extensions/worklists/Extension-WorklistItem-Referrer.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-Service.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-ClinicType.yaml' - - title: Extension-eRS-RejectedTriageResponse-WorkListItem - type: object - required: - - url - - extension - properties: - url: - type: string - enum: - - 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-RejectedTriageResponse-WorkListItem-1' - example: 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-RejectedTriageResponse-WorkListItem-1' - extension: - type: array - description: | - | Field | Cardinality | Notes | - | ------------------------------ | ----------- | -------------------------------------------------------------------------------------------------------------------------- | - | `patient` | `1..1` | The patient associated with the `ReferralRequest` | - | `priority` | `1..1` | The priority associated with the `ReferralRequest` | - | `referralCreated` | `1..1` | The Date and Time the `ReferralRequest` was initiated | - | `clinicalContext` | `1..1` | The clinical context for the `ReferralRequest` | - | `referrer` | `1..1` | The `Practitioner` who initially creates the `ReferralRequest` | - | `referralLastUpdated` | `1..1` | The `dateTime` the `ReferralRequest` was last updated | - | `status` | `1..1` | The status of the `ReferralRequest` | - | `reason` | `0..1` | The reason the `ReferralRequest` is on the Rejected/TriageRequest worklist, only included if `status` is `TRIAGE_RESPONSE` | - items: - anyOf: - - $ref: './extensions/worklists/Extension-WorklistItem-Patient.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-Priority.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-ReferralCreated.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-ClinicalContext.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-Referrer.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-ReferralLastUpdated.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-Status.yaml' - - title: reason - type: object - required: - - url - - valueCodeableConcept - properties: - url: - type: string - enum: - - reason - example: reason - valueCodeableConcept: - type: object - required: - - coding - properties: - coding: - type: array - items: - type: object - required: - - system - - code - - display - properties: - system: - type: string - enum: - - _baseurl_/STU3/CodeSystem/APPOINTMENT-CANCELLATION-REASON - example: _baseurl_/STU3/CodeSystem/APPOINTMENT-CANCELLATION-REASON - code: - type: string - example: FURTHER_INFORMATION_REQUIRED - display: - type: string - example: 'Further information required' - - title: 'Extension-eRS-AssessmentReturnedCancelledDna-WorklistItem' - type: object - required: - - url - - extension - properties: - url: - type: string - enum: - - 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AssessmentReturnedCancelledDna-WorkListItem-1' - example: 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AssessmentReturnedCancelledDna-WorkListItem-1' - extension: - description: | - | Field | Cardinality | Notes | - | ------------------------------ | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------- | - | `patient` | `1..1` | The patient associated with the `ReferralRequest` | - | `priority` | `1..1` | The priority associated with the `ReferralRequest` | - | `referralCreated` | `1..1` | The Date and Time the `ReferralRequest` was initiated | - | `clinicalContext` | `1..1` | The clinical context for the `ReferralRequest` | - | `referrer` | `1..1` | The `Practitioner` who initially creates the `ReferralRequest` | - | `referralLastUpdated` | `1..1` | The `dateTime` the `ReferralRequest` was last updated | - | `status` | `1..1` | The status of the `ReferralRequest` | - | `reason` | `0..1` | The reason the `ReferralRequest` is on the Assessment Returned / Cancelled / DNA worklist, only included if `status` is `CANCELLED_REFERRAL` | - type: array - items: - anyOf: - - $ref: './extensions/worklists/Extension-WorklistItem-Patient.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-Priority.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-ReferralCreated.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-ClinicalContext.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-Referrer.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-ReferralLastUpdated.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-Status.yaml' - - title: reason - type: object - required: - - url - - valueCodeableConcept - properties: - url: - type: string - enum: - - reason - example: reason - valueCodeableConcept: - type: object - required: - - coding - properties: - coding: - type: array - items: - type: object - required: - - system - - code - - display - properties: - system: - type: string - enum: - - _baseurl_/STU3/CodeSystem/REFERRAL-CANCELLATION-REASON - example: _baseurl_/STU3/CodeSystem/REFERRAL-CANCELLATION-REASON - code: - type: string - example: INTEND_PRIVATE - display: - type: string - example: Patient will go to a private clinic - - title: 'Extension-eRS-AwaitingBooking-WorklistItem' - type: object - required: - - url - - extension - properties: - url: - type: string - enum: - - 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AwaitingBooking-WorkListItem-1' - example: 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AwaitingBooking-WorkListItem-1' - extension: - description: | - | Field | Cardinality | Notes | - | ------------------------------ | ----------- | -------------------------------------------------------------------------------------------------------------------------- | - | `patient` | `1..1` | The patient associated with the `ReferralRequest` | - | `priority` | `1..1` | The priority associated with the `ReferralRequest` | - | `referralCreated` | `1..1` | The Date and Time the `ReferralRequest` was initiated | - | `clinicalContext` | `1..1` | The clinical context for the `ReferralRequest` | - | `referrer` | `1..1` | The `Practitioner` who initially creates the `ReferralRequest` | - | `referralLastUpdated` | `1..1` | The `dateTime` the `ReferralRequest` was last updated | - | `status` | `1..1` | The status of the `ReferralRequest` | - | `reason` | `0..1` | The reason the `ReferralRequest` is on the Awaiting Booking worklist, only included if `status` is `APPOINTMENT_CANCELLED_BY_PROVIDER` or `APPOINTMENT_CANCELLED_BY_PATIENT` | - type: array - items: - anyOf: - - $ref: './extensions/worklists/Extension-WorklistItem-Patient.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-Priority.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-ReferralCreated.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-ClinicalContext.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-Referrer.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-ReferralLastUpdated.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-Status.yaml' - - title: reason - type: object - required: - - url - - valueCodeableConcept - properties: - url: - type: string - enum: - - reason - example: reason - valueCodeableConcept: - type: object - required: - - coding - properties: - coding: - type: array - items: - type: object - required: - - system - - code - - display - properties: - system: - type: string - enum: - - _baseurl_/STU3/CodeSystem/APPOINTMENT-CANCELLATION-REASON - example: _baseurl_/STU3/CodeSystem/APPOINTMENT-CANCELLATION-REASON - code: - type: string - example: PATIENT_APPOINTMENT_CLASH - display: - type: string - example: Patient - Clashes with another appointment - - title: Extension-eRS-LettersOutstanding-WorklistItem - type: object - required: - - url - - extension - properties: - url: - type: string - enum: - - 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-LettersOutstanding-WorkListItem-1' - example: 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-LettersOutstanding-WorkListItem-1' - extension: - description: | - | Field | Cardinality | Notes | - | ------------------------------ | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------- | - | `patient` | `1..1` | The patient associated with the `ReferralRequest` | - | `priority` | `1..1` | The priority associated with the `ReferralRequest` | - | `referralCreated` | `1..1` | The Date and Time the `ReferralRequest` was initiated | - | `clinicalContext` | `1..1` | The clinical context for the `ReferralRequest` | - | `referrer` | `1..1` | The `Practitioner` who initially creates the `ReferralRequest` | - | `letterDue` | `1..1` | The `date` a referral letter is due for the `ReferralRequest` | - type: array - items: - anyOf: - - $ref: './extensions/worklists/Extension-WorklistItem-Patient.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-Priority.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-ReferralCreated.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-ClinicalContext.yaml' - - $ref: './extensions/worklists/Extension-WorklistItem-Referrer.yaml' - - title: letterDue - type: object - required: - - url - - valueDate - properties: - url: - type: string - enum: - - letterDue - example: letterDue - valueDate: - type: string - format: date - example: '2021-11-24' + - $ref: 'extensions/Extension-eRS-ReferralsforReview-WorkListItem.yaml' + - $ref: 'extensions/Extension-eRS-AppointmentSlotIssues-WorkListItem.yaml' + - $ref: 'extensions/Extension-eRS-AdviceAndGuidanceRequests-WorkListItem.yaml' + - $ref: 'extensions/Extension-eRS-RejectedTriageResponse-WorkListItem.yaml' + - $ref: 'extensions/Extension-eRS-AssessmentReturnedCancelledDna-WorklistItem.yaml' + - $ref: 'extensions/Extension-eRS-AwaitingBooking-WorklistItem.yaml' + - $ref: 'extensions/Extension-eRS-LettersOutstanding-WorklistItem.yaml' + diff --git a/specification/components/stu3/schemas/extensions/Extension-eRS-AdviceAndGuidanceRequests-WorkListItem.yaml b/specification/components/stu3/schemas/extensions/Extension-eRS-AdviceAndGuidanceRequests-WorkListItem.yaml new file mode 100644 index 000000000..06b848c2d --- /dev/null +++ b/specification/components/stu3/schemas/extensions/Extension-eRS-AdviceAndGuidanceRequests-WorkListItem.yaml @@ -0,0 +1,38 @@ +title: Extension-eRS-AdviceAndGuidanceRequests-WorkListItem +type: object +required: + - url + - extension +properties: + url: + type: string + enum: + - 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AdviceAndGuidanceRequests-WorkListItem-1' + example: 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AdviceAndGuidanceRequests-WorkListItem-1' + extension: + type: array + description: | + | Field | Cardinality | Notes | + | ------------------------------ | ----------- | ------------------------------------------ | + | `priority` | `1..1` | | + | `specialty` | `1..1` | | + | `patient` | `1..1` | | + | `namedClinician` | `0..1` | | + | `category` | `1..1` | | + | `adviceFirstRequested` | `1..1` | | + | `adviceLastUpdated` | `1..1` | | + | `referrer` | `1..1` | | + | `service` | `1..1` | | + | `clinicType` | `0..1` | | + items: + anyOf: + - $ref: './worklists/Extension-WorklistItem-Priority.yaml' + - $ref: './worklists/Extension-WorklistItem-Specialty.yaml' + - $ref: './worklists/Extension-WorklistItem-Patient.yaml' + - $ref: './worklists/Extension-WorklistItem-NamedClinician.yaml' + - $ref: './worklists/Extension-WorklistItem-Category.yaml' + - $ref: './worklists/Extension-WorklistItem-AdviceFirstRequested.yaml' + - $ref: './worklists/Extension-WorklistItem-AdviceLastUpdated.yaml' + - $ref: './worklists/Extension-WorklistItem-Referrer.yaml' + - $ref: './worklists/Extension-WorklistItem-Service.yaml' + - $ref: './worklists/Extension-WorklistItem-ClinicType.yaml' diff --git a/specification/components/stu3/schemas/extensions/Extension-eRS-AppointmentSlotIssues-WorkListItem.yaml b/specification/components/stu3/schemas/extensions/Extension-eRS-AppointmentSlotIssues-WorkListItem.yaml new file mode 100644 index 000000000..038ec1798 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/Extension-eRS-AppointmentSlotIssues-WorkListItem.yaml @@ -0,0 +1,42 @@ +title: Extension-eRS-AppointmentSlotIssues-WorkListItem +type: object +required: + - url + - extension +properties: + url: + type: string + enum: + - 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AppointmentSlotIssues-WorkListItem-1' + example: 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AppointmentSlotIssues-WorkListItem-1' + extension: + type: array + description: | + | Field | Cardinality | Notes | + | ------------------------------ | ----------- | ------------------------------------------ | + | `priority` | `1..1` | | + | `specialty` | `1..1` | | + | `patient` | `1..1` | | + | `namedClinician` | `0..1` | | + | `eReferralPathwayStart` | `1..1` | | + | `clinicalInfoPrinted` | `1..1` | | + | `ubrnReceived` | `0..1` | | + | `patientContactExpected` | `0..1` | | + | `clinicalInformationStatus` | `0..1` | | + | `reason` | `0..1` | | + | `lastContact` | `0..1` | | + | `service` | `1..1` | | + items: + anyOf: + - $ref: './worklists/Extension-WorklistItem-Priority.yaml' + - $ref: './worklists/Extension-WorklistItem-Specialty.yaml' + - $ref: './worklists/Extension-WorklistItem-Patient.yaml' + - $ref: './worklists/Extension-WorklistItem-NamedClinician.yaml' + - $ref: './worklists/Extension-WorklistItem-ReferralPathwayStart.yaml' + - $ref: './worklists/Extension-WorklistItem-ClinicalInfoPrinted.yaml' + - $ref: './worklists/Extension-WorklistItem-UbrnReceived.yaml' + - $ref: './worklists/Extension-WorklistItem-PatientContactExpected.yaml' + - $ref: './worklists/Extension-WorklistItem-ClinicalInformationStatus.yaml' + - $ref: './worklists/Extension-WorklistItem-ReviewReason.yaml' + - $ref: './worklists/Extension-WorklistItem-LastContact.yaml' + - $ref: './worklists/Extension-WorklistItem-Service.yaml' diff --git a/specification/components/stu3/schemas/extensions/Extension-eRS-AssessmentReturnedCancelledDna-WorklistItem.yaml b/specification/components/stu3/schemas/extensions/Extension-eRS-AssessmentReturnedCancelledDna-WorklistItem.yaml new file mode 100644 index 000000000..6704b98f5 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/Extension-eRS-AssessmentReturnedCancelledDna-WorklistItem.yaml @@ -0,0 +1,35 @@ +title: 'Extension-eRS-AssessmentReturnedCancelledDna-WorklistItem' +type: object +required: + - url + - extension +properties: + url: + type: string + enum: + - 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AssessmentReturnedCancelledDna-WorkListItem-1' + example: 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AssessmentReturnedCancelledDna-WorkListItem-1' + extension: + description: | + | Field | Cardinality | Notes | + | ------------------------------ | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------- | + | `patient` | `1..1` | The patient associated with the `ReferralRequest` | + | `priority` | `1..1` | The priority associated with the `ReferralRequest` | + | `referralCreated` | `1..1` | The Date and Time the `ReferralRequest` was initiated | + | `clinicalContext` | `1..1` | The clinical context for the `ReferralRequest` | + | `referrer` | `1..1` | The `Practitioner` who initially creates the `ReferralRequest` | + | `referralLastUpdated` | `1..1` | The `dateTime` the `ReferralRequest` was last updated | + | `status` | `1..1` | The status of the `ReferralRequest` | + | `reason` | `0..1` | The reason the `ReferralRequest` is on the Assessment Returned / Cancelled / DNA worklist, only included if `status` is `CANCELLED_REFERRAL` | + type: array + items: + anyOf: + - $ref: './worklists/Extension-WorklistItem-Patient.yaml' + - $ref: './worklists/Extension-WorklistItem-Priority.yaml' + - $ref: './worklists/Extension-WorklistItem-ReferralCreated.yaml' + - $ref: './worklists/Extension-WorklistItem-ClinicalContext.yaml' + - $ref: './worklists/Extension-WorklistItem-Referrer.yaml' + - $ref: './worklists/Extension-WorklistItem-ReferralLastUpdated.yaml' + - $ref: './worklists/Extension-WorklistItem-Status.yaml' + - $ref: './worklists/Extension-WorklistItem-ReferralCancellationReason.yaml' + diff --git a/specification/components/stu3/schemas/extensions/Extension-eRS-AwaitingBooking-WorklistItem.yaml b/specification/components/stu3/schemas/extensions/Extension-eRS-AwaitingBooking-WorklistItem.yaml new file mode 100644 index 000000000..4c2000229 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/Extension-eRS-AwaitingBooking-WorklistItem.yaml @@ -0,0 +1,34 @@ +title: 'Extension-eRS-AwaitingBooking-WorklistItem' +type: object +required: + - url + - extension +properties: + url: + type: string + enum: + - 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AwaitingBooking-WorkListItem-1' + example: 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AwaitingBooking-WorkListItem-1' + extension: + description: | + | Field | Cardinality | Notes | + | ------------------------------ | ----------- | -------------------------------------------------------------------------------------------------------------------------- | + | `patient` | `1..1` | The patient associated with the `ReferralRequest` | + | `priority` | `1..1` | The priority associated with the `ReferralRequest` | + | `referralCreated` | `1..1` | The Date and Time the `ReferralRequest` was initiated | + | `clinicalContext` | `1..1` | The clinical context for the `ReferralRequest` | + | `referrer` | `1..1` | The `Practitioner` who initially creates the `ReferralRequest` | + | `referralLastUpdated` | `1..1` | The `dateTime` the `ReferralRequest` was last updated | + | `status` | `1..1` | The status of the `ReferralRequest` | + | `reason` | `0..1` | The reason the `ReferralRequest` is on the Awaiting Booking worklist, only included if `status` is `APPOINTMENT_CANCELLED_BY_PROVIDER` or `APPOINTMENT_CANCELLED_BY_PATIENT` | + type: array + items: + anyOf: + - $ref: './worklists/Extension-WorklistItem-Patient.yaml' + - $ref: './worklists/Extension-WorklistItem-Priority.yaml' + - $ref: './worklists/Extension-WorklistItem-ReferralCreated.yaml' + - $ref: './worklists/Extension-WorklistItem-ClinicalContext.yaml' + - $ref: './worklists/Extension-WorklistItem-Referrer.yaml' + - $ref: './worklists/Extension-WorklistItem-ReferralLastUpdated.yaml' + - $ref: './worklists/Extension-WorklistItem-Status.yaml' + - $ref: './worklists/Extension-WorklistItem-AppointmentCancellationReason.yaml' diff --git a/specification/components/stu3/schemas/extensions/Extension-eRS-LettersOutstanding-WorklistItem.yaml b/specification/components/stu3/schemas/extensions/Extension-eRS-LettersOutstanding-WorklistItem.yaml new file mode 100644 index 000000000..b417e065d --- /dev/null +++ b/specification/components/stu3/schemas/extensions/Extension-eRS-LettersOutstanding-WorklistItem.yaml @@ -0,0 +1,30 @@ +title: Extension-eRS-LettersOutstanding-WorklistItem +type: object +required: + - url + - extension +properties: + url: + type: string + enum: + - 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-LettersOutstanding-WorkListItem-1' + example: 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-LettersOutstanding-WorkListItem-1' + extension: + description: | + | Field | Cardinality | Notes | + | ------------------------------ | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------- | + | `patient` | `1..1` | The patient associated with the `ReferralRequest` | + | `priority` | `1..1` | The priority associated with the `ReferralRequest` | + | `referralCreated` | `1..1` | The Date and Time the `ReferralRequest` was initiated | + | `clinicalContext` | `1..1` | The clinical context for the `ReferralRequest` | + | `referrer` | `1..1` | The `Practitioner` who initially creates the `ReferralRequest` | + | `letterDue` | `1..1` | The `date` a referral letter is due for the `ReferralRequest` | + type: array + items: + anyOf: + - $ref: './worklists/Extension-WorklistItem-Patient.yaml' + - $ref: './worklists/Extension-WorklistItem-Priority.yaml' + - $ref: './worklists/Extension-WorklistItem-ReferralCreated.yaml' + - $ref: './worklists/Extension-WorklistItem-ClinicalContext.yaml' + - $ref: './worklists/Extension-WorklistItem-Referrer.yaml' + - $ref: './worklists/Extension-WorklistItem-LetterDue.yaml' diff --git a/specification/components/stu3/schemas/extensions/Extension-eRS-ReferralsforReview-WorkListItem.yaml b/specification/components/stu3/schemas/extensions/Extension-eRS-ReferralsforReview-WorkListItem.yaml new file mode 100644 index 000000000..bbf6b7949 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/Extension-eRS-ReferralsforReview-WorkListItem.yaml @@ -0,0 +1,44 @@ +title: Extension-eRS-ReferralsforReview-WorkListItem +type: object +required: + - url + - extension +properties: + url: + type: string + enum: + - 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-ReferralsforReview-WorkListItem-1' + example: 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-ReferralsforReview-WorkListItem-1' + extension: + type: array + description: | + | Field | Cardinality | Notes | + | ------------------------------ | ----------- | ------------------------------------------ | + | `priority` | `1..1` | | + | `specialty` | `1..1` | | + | `patient` | `1..1` | | + | `namedClinician` | `0..1` | | + | `eReferralPathwayStart` | `1..1` | | + | `clinicalInfoPrinted` | `1..1` | | + | `requestContextStatus` | `1..1` | | + | `clinicalInfoFirstSubmitted` | `0..1` | | + | `clinicalInfoLastUpdated` | `0..1` | | + | `referralType` | `0..1` | | + | `appointmentStart` | `0..1` | | + | `allocatedClinician` | `0..1` | | + | `service` | `1..1` | | + items: + anyOf: + - $ref: './worklists/Extension-WorklistItem-Priority.yaml' + - $ref: './worklists/Extension-WorklistItem-Specialty.yaml' + - $ref: './worklists/Extension-WorklistItem-PatientReference.yaml' + - $ref: './worklists/Extension-WorklistItem-NamedClinicianReference.yaml' + - $ref: './worklists/Extension-WorklistItem-ReferralPathwayStart.yaml' + - $ref: './worklists/Extension-WorklistItem-ClinicalInfoPrinted.yaml' + - $ref: './worklists/Extension-WorklistItem-RequestContextStatus.yaml' + - $ref: './worklists/Extension-WorklistItem-ClinicalInfoFirstSubmitted.yaml' + - $ref: './worklists/Extension-WorklistItem-ClinicalInfoLastUpdated.yaml' + - $ref: './worklists/Extension-WorklistItem-ReferralType.yaml' + - $ref: './worklists/Extension-WorklistItem-AppointmentStart.yaml' + - $ref: './worklists/Extension-WorklistItem-AllocatedClinician.yaml' + - $ref: './worklists/Extension-WorklistItem-Service.yaml' diff --git a/specification/components/stu3/schemas/extensions/Extension-eRS-RejectedTriageResponse-WorkListItem.yaml b/specification/components/stu3/schemas/extensions/Extension-eRS-RejectedTriageResponse-WorkListItem.yaml new file mode 100644 index 000000000..4901efdd4 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/Extension-eRS-RejectedTriageResponse-WorkListItem.yaml @@ -0,0 +1,34 @@ +title: Extension-eRS-RejectedTriageResponse-WorkListItem +type: object +required: + - url + - extension +properties: + url: + type: string + enum: + - 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-RejectedTriageResponse-WorkListItem-1' + example: 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-RejectedTriageResponse-WorkListItem-1' + extension: + type: array + description: | + | Field | Cardinality | Notes | + | ------------------------------ | ----------- | -------------------------------------------------------------------------------------------------------------------------- | + | `patient` | `1..1` | The patient associated with the `ReferralRequest` | + | `priority` | `1..1` | The priority associated with the `ReferralRequest` | + | `referralCreated` | `1..1` | The Date and Time the `ReferralRequest` was initiated | + | `clinicalContext` | `1..1` | The clinical context for the `ReferralRequest` | + | `referrer` | `1..1` | The `Practitioner` who initially creates the `ReferralRequest` | + | `referralLastUpdated` | `1..1` | The `dateTime` the `ReferralRequest` was last updated | + | `status` | `1..1` | The status of the `ReferralRequest` | + | `reason` | `0..1` | The reason the `ReferralRequest` is on the Rejected/TriageRequest worklist, only included if `status` is `TRIAGE_RESPONSE` | + items: + anyOf: + - $ref: './worklists/Extension-WorklistItem-Patient.yaml' + - $ref: './worklists/Extension-WorklistItem-Priority.yaml' + - $ref: './worklists/Extension-WorklistItem-ReferralCreated.yaml' + - $ref: './worklists/Extension-WorklistItem-ClinicalContext.yaml' + - $ref: './worklists/Extension-WorklistItem-Referrer.yaml' + - $ref: './worklists/Extension-WorklistItem-ReferralLastUpdated.yaml' + - $ref: './worklists/Extension-WorklistItem-Status.yaml' + - $ref: './worklists/Extension-WorklistItem-AppointmentCancellationReason.yaml' diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AdviceFirstRequested.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AdviceFirstRequested.yaml new file mode 100644 index 000000000..8691ad0ee --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AdviceFirstRequested.yaml @@ -0,0 +1,15 @@ +title: adviceFirstRequested +type: object +required: + - url + - valueDateTime +properties: + url: + type: string + enum: + - adviceFirstRequested + example: 'adviceFirstRequested' + valueDateTime: + type: string + format: date-time + example: '2021-09-01T14:26:18.314Z' diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AdviceLastUpdated.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AdviceLastUpdated.yaml new file mode 100644 index 000000000..8c4b18175 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AdviceLastUpdated.yaml @@ -0,0 +1,15 @@ +title: adviceLastUpdated +type: object +required: + - url + - valueDateTime +properties: + url: + type: string + enum: + - adviceLastUpdated + example: 'adviceLastUpdated' + valueDateTime: + type: string + format: date-time + example: '2021-09-01T14:26:18.314Z' diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AllocatedClinician.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AllocatedClinician.yaml new file mode 100644 index 000000000..679f9098f --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AllocatedClinician.yaml @@ -0,0 +1,19 @@ +title: allocatedClinician +type: object +required: + - url + - valueReference +properties: + url: + type: string + enum: + - allocatedClinician + example: 'allocatedClinician' + valueReference: + type: object + required: + - reference + properties: + reference: + type: string + example: '#Practitioner-021600556514' diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AppointmentCancellationReason.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AppointmentCancellationReason.yaml new file mode 100644 index 000000000..27facc4c9 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AppointmentCancellationReason.yaml @@ -0,0 +1,36 @@ +title: reason +type: object +required: + - url + - valueCodeableConcept +properties: + url: + type: string + enum: + - reason + example: reason + valueCodeableConcept: + type: object + required: + - coding + properties: + coding: + type: array + items: + type: object + required: + - system + - code + - display + properties: + system: + type: string + enum: + - _baseurl_/STU3/CodeSystem/APPOINTMENT-CANCELLATION-REASON + example: _baseurl_/STU3/CodeSystem/APPOINTMENT-CANCELLATION-REASON + code: + type: string + example: FURTHER_INFORMATION_REQUIRED + display: + type: string + example: 'Further information required' diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AppointmentStart.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AppointmentStart.yaml new file mode 100644 index 000000000..8d80850c1 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-AppointmentStart.yaml @@ -0,0 +1,15 @@ +title: appointmentStart +type: object +required: + - url + - valueDateTime +properties: + url: + type: string + enum: + - appointmentStart + example: 'appointmentStart' + valueDateTime: + type: string + format: date-time + example: '2021-09-02T14:15:00.000Z' diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-Category.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-Category.yaml new file mode 100644 index 000000000..cfc453f09 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-Category.yaml @@ -0,0 +1,41 @@ +title: category +type: object +required: + - url + - valueCodeableConcept +properties: + url: + type: string + enum: + - category + example: 'category' + valueCodeableConcept: + type: object + required: + - coding + properties: + coding: + type: array + minItems: 1 + maxItems: 1 + items: + type: object + required: + - system + - code + properties: + system: + type: string + enum: + - https://fhir.nhs.uk/STU3/CodeSystem/eRS-AdviceAndGuidanceStatus-1 + example: 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-AdviceAndGuidanceStatus-1' + code: + type: string + enum: + - PROVIDER_RESPONSE_REQUIRED + - REFERRER_TO_SUBMIT_FURTHER_INFORMATION + - REFERRER_TO_REVIEW_RESPONSE + - CONVERSATION_ENDED_CANCELLED + - CONVERSATION_ENDED_CLOSED + - ADVICE_CONVERTED + example: 'PROVIDER_RESPONSE_REQUIRED' diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ClinicalInfoFirstSubmitted.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ClinicalInfoFirstSubmitted.yaml new file mode 100644 index 000000000..428d988a3 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ClinicalInfoFirstSubmitted.yaml @@ -0,0 +1,15 @@ +title: clinicalInfoFirstSubmitted +type: object +required: + - url + - valueDateTime +properties: + url: + type: string + enum: + - clinicalInfoFirstSubmitted + example: 'clinicalInfoFirstSubmitted' + valueDateTime: + type: string + format: date-time + example: '2021-09-01T14:26:18.314Z' diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ClinicalInfoLastUpdated.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ClinicalInfoLastUpdated.yaml new file mode 100644 index 000000000..d9a8ec0d2 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ClinicalInfoLastUpdated.yaml @@ -0,0 +1,15 @@ +title: clinicalInfoLastUpdated +type: object +required: + - url + - valueDateTime +properties: + url: + type: string + enum: + - clinicalInfoLastUpdated + example: 'clinicalInfoLastUpdated' + valueDateTime: + type: string + format: date-time + example: '2021-09-03T10:44:42.764Z' diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ClinicalInformationStatus.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ClinicalInformationStatus.yaml new file mode 100644 index 000000000..c835cfd8e --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ClinicalInformationStatus.yaml @@ -0,0 +1,39 @@ +title: clinicalInformationStatus +type: object +required: + - url + - valueCodeableConcept +properties: + url: + type: string + enum: + - clinicalInformationStatus + example: 'clinicalInformationStatus' + valueCodeableConcept: + type: object + required: + - coding + properties: + coding: + type: array + minItems: 1 + maxItems: 1 + items: + type: object + required: + - system + - code + properties: + system: + type: string + enum: + - https://fhir.nhs.uk/STU3/CodeSystem/eRS-ClinicalInformationStatus-1 + example: 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-ClinicalInformationStatus-1' + code: + type: string + enum: + - PRESENT + - NOT_APPLICABLE + - NOT_DUE + - OVERDUE + example: 'NOT_DUE' diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-LastContact.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-LastContact.yaml new file mode 100644 index 000000000..390164d85 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-LastContact.yaml @@ -0,0 +1,15 @@ +title: lastContact +type: object +required: + - url + - valueDateTime +properties: + url: + type: string + enum: + - lastContact + example: 'lastContact' + valueDateTime: + type: string + format: date-time + example: '2021-09-01T14:26:18.314Z' diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-LetterDue.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-LetterDue.yaml new file mode 100644 index 000000000..e2d00bfa0 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-LetterDue.yaml @@ -0,0 +1,15 @@ +title: letterDue +type: object +required: + - url + - valueDate +properties: + url: + type: string + enum: + - letterDue + example: letterDue + valueDate: + type: string + format: date + example: '2021-11-24' diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-NamedClinicianReference.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-NamedClinicianReference.yaml new file mode 100644 index 000000000..6ff152dc2 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-NamedClinicianReference.yaml @@ -0,0 +1,18 @@ +title: namedClinician +type: object +required: + - url + - valueReference +properties: + url: + type: string + enum: + - namedClinician + example: 'namedClinician' + valueReference: + type: object + required: + - identifier + properties: + identifier: + $ref: '../../identifiers/STU3_UserId.yaml' \ No newline at end of file diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-PatientContactExpected.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-PatientContactExpected.yaml new file mode 100644 index 000000000..89bce1a93 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-PatientContactExpected.yaml @@ -0,0 +1,15 @@ +title: patientContactExpected +type: object +required: + - url + - valueDate +properties: + url: + type: string + enum: + - patientContactExpected + example: 'patientContactExpected' + valueDate: + type: string + format: date + example: '2021-09-07' diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-PatientReference.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-PatientReference.yaml new file mode 100644 index 000000000..ce2cf4c51 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-PatientReference.yaml @@ -0,0 +1,19 @@ +title: patient +type: object +required: + - url + - valueReference +properties: + url: + type: string + enum: + - patient + example: 'patient' + valueReference: + type: object + required: + - reference + properties: + reference: + type: string + example: '#Patient-9462979626' diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ReferralCancellationReason.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ReferralCancellationReason.yaml new file mode 100644 index 000000000..669bd5066 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ReferralCancellationReason.yaml @@ -0,0 +1,36 @@ +title: reason +type: object +required: + - url + - valueCodeableConcept +properties: + url: + type: string + enum: + - reason + example: reason + valueCodeableConcept: + type: object + required: + - coding + properties: + coding: + type: array + items: + type: object + required: + - system + - code + - display + properties: + system: + type: string + enum: + - _baseurl_/STU3/CodeSystem/REFERRAL-CANCELLATION-REASON + example: _baseurl_/STU3/CodeSystem/REFERRAL-CANCELLATION-REASON + code: + type: string + example: INTEND_PRIVATE + display: + type: string + example: Patient will go to a private clinic diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ReferralPathwayStart.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ReferralPathwayStart.yaml new file mode 100644 index 000000000..f7b0870f4 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ReferralPathwayStart.yaml @@ -0,0 +1,15 @@ +title: eReferralPathwayStart +type: object +required: + - url + - valueDateTime +properties: + url: + type: string + enum: + - eReferralPathwayStart + example: 'eReferralPathwayStart' + valueDateTime: + type: string + format: date-time + example: '2021-09-01T14:26:18.314Z' diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ReferralType.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ReferralType.yaml new file mode 100644 index 000000000..5bac0f3cf --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ReferralType.yaml @@ -0,0 +1,37 @@ +title: referralType +type: object +required: + - url + - valueCodeableConcept +properties: + url: + type: string + enum: + - referralType + example: 'referralType' + valueCodeableConcept: + type: object + required: + - coding + properties: + coding: + type: array + minItems: 1 + maxItems: 1 + items: + type: object + required: + - system + - code + properties: + system: + type: string + enum: + - https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralType-1 + example: 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralType-1' + code: + type: string + enum: + - APPOINTMENT + - TRIAGE_DEFERRAL + example: 'TRIAGE_DEFERRAL' diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-RequestContextStatus.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-RequestContextStatus.yaml new file mode 100644 index 000000000..f846e8a90 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-RequestContextStatus.yaml @@ -0,0 +1,43 @@ +title: requestContextStatus +type: object +required: + - url + - valueCodeableConcept +properties: + url: + type: string + enum: + - requestContextStatus + example: 'requestContextStatus' + valueCodeableConcept: + type: object + required: + - coding + properties: + coding: + type: array + minItems: 1 + maxItems: 1 + items: + type: object + required: + - system + - code + - display + properties: + system: + type: string + enum: + - https://fhir.nhs.uk/STU3/CodeSystem/eRS-RequestContextStatus-1 + example: 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-RequestContextStatus-1' + code: + type: string + enum: + - LETTER_CHANGED + - PRIORITY_CHANGED + - PRIORITY_AND_LETTER_CHANGED + - NEVER_REVIEWED + example: 'NEVER_REVIEWED' + display: + type: string + example: 'Never Reviewed' diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ReviewReason.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ReviewReason.yaml new file mode 100644 index 000000000..abf91f310 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-ReviewReason.yaml @@ -0,0 +1,39 @@ +title: reason +type: object +required: + - url + - valueCodeableConcept +properties: + url: + type: string + enum: + - reason + example: 'reason' + valueCodeableConcept: + type: object + required: + - coding + properties: + coding: + type: array + minItems: 1 + maxItems: 1 + items: + type: object + required: + - system + - code + properties: + system: + type: string + enum: + - https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReviewReason-1 + example: 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReviewReason-1' + code: + type: string + enum: + - NO_SLOTS_AT_SERVICE + - SLOT_NOT_AVAILABLE + - BOOKING_ATTEMPT_PROBLEM + - TRIAGE + example: 'NO_SLOTS_AT_SERVICE' diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-UbrnReceived.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-UbrnReceived.yaml new file mode 100644 index 000000000..49381cfed --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-UbrnReceived.yaml @@ -0,0 +1,15 @@ +title: ubrnReceived +type: object +required: + - url + - valueDateTime +properties: + url: + type: string + enum: + - ubrnReceived + example: 'ubrnReceived' + valueDateTime: + type: string + format: date-time + example: '2021-09-01T14:26:18.314Z' diff --git a/specification/components/stu3/schemas/parameters/BookingReasons.yaml b/specification/components/stu3/schemas/parameters/BookingReasons.yaml new file mode 100644 index 000000000..c4526f56e --- /dev/null +++ b/specification/components/stu3/schemas/parameters/BookingReasons.yaml @@ -0,0 +1,37 @@ +- title: bookingReason + description: Parameter to supply a booking reason + type: object + required: + - name + - valueCoding + properties: + name: + type: string + enum: + - bookingReason + example: 'bookingReason' + valueCoding: + type: object + required: + - system + - code + properties: + system: + type: string + enum: + - https://fhir.nhs.uk/STU3/CodeSystem/eRS-BookingReason-1 + example: https://fhir.nhs.uk/STU3/CodeSystem/eRS-BookingReason-1 + code: + type: string + enum: + - REBOOKING + - CANCELLED_APPOINTMENT_ADMIN_REBOOK + - CANCELLED_BY_PATIENT + - CANCELLED_BY_PROVIDER + - DEFERRED_TO_PROVIDER + - ONWARD_REFERRAL + - DNA + - TRIAGE_TO_BE_BOOKED + - TRIAGE_SEE_COMMENTS + - TRIAGE_ANG_CONVERTED_SEE_COMMENTS + example: TRIAGE_TO_BE_BOOKED From d64879ac3e3a89ee374af573be410bc698d5e6e1 Mon Sep 17 00:00:00 2001 From: David Wass Date: Fri, 15 Nov 2024 21:33:08 +0000 Subject: [PATCH 3/3] [ERSSUP-81432]-[]-[Fetch Appointments for booking worklist OAS changes]-[DMW] --- .../AppointmentsForBookingWithReason.json | 28 +++ .../responses/AppointmentsForBooking.json | 174 ++++++++++++++++++ .../stu3/services/mockResponseProvider.js | 9 +- .../stu3/schemas/eRS-FetchWorklist-List.yaml | 2 + .../schemas/eRS-FetchWorklist-Parameters.yaml | 3 + .../endpoints/a008-retrieve-worklist.yaml | 4 + ...S-AppointmentsForBooking-WorklistItem.yaml | 36 ++++ .../Extension-WorklistItem-BookingReason.yaml | 45 +++++ .../schemas/parameters/BookingReasons.yaml | 74 ++++---- .../stu3/schemas/parameters/ListType.yaml | 1 + .../retrieveWorklist/200Response.yaml | 4 + specification/e-referrals-service-api.yaml | 2 + .../stu3/test_a008_get_referral_worklist.py | 4 + 13 files changed, 345 insertions(+), 41 deletions(-) create mode 100644 sandbox/src/mocks/stu3/retrieveWorklist/requests/AppointmentsForBookingWithReason.json create mode 100644 sandbox/src/mocks/stu3/retrieveWorklist/responses/AppointmentsForBooking.json create mode 100644 specification/components/stu3/schemas/extensions/Extension-eRS-AppointmentsForBooking-WorklistItem.yaml create mode 100644 specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-BookingReason.yaml diff --git a/sandbox/src/mocks/stu3/retrieveWorklist/requests/AppointmentsForBookingWithReason.json b/sandbox/src/mocks/stu3/retrieveWorklist/requests/AppointmentsForBookingWithReason.json new file mode 100644 index 000000000..b3035f6c2 --- /dev/null +++ b/sandbox/src/mocks/stu3/retrieveWorklist/requests/AppointmentsForBookingWithReason.json @@ -0,0 +1,28 @@ +{ + "resourceType": "Parameters", + "meta": { + "profile": [ + "https://fhir.nhs.uk/STU3/StructureDefinition/eRS-FetchWorklist-Parameters-1" + ] + }, + "parameter": [ + { + "name": "listType", + "valueCodeableConcept": { + "coding": [ + { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralListSelector-1", + "code": "APPOINTMENTS_FOR_BOOKING" + } + ] + } + }, + { + "name": "bookingReason", + "valueCoding": { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BookingReason-1", + "code": "TRIAGE_TO_BE_BOOKED" + } + } + ] +} diff --git a/sandbox/src/mocks/stu3/retrieveWorklist/responses/AppointmentsForBooking.json b/sandbox/src/mocks/stu3/retrieveWorklist/responses/AppointmentsForBooking.json new file mode 100644 index 000000000..4a6e65895 --- /dev/null +++ b/sandbox/src/mocks/stu3/retrieveWorklist/responses/AppointmentsForBooking.json @@ -0,0 +1,174 @@ +{ + "meta": { + "profile": [ + "https://fhir.nhs.uk/STU3/StructureDefinition/eRS-FetchWorklist-List-1" + ] + }, + "resourceType": "List", + "status": "current", + "mode": "snapshot", + "entry": [ + { + "extension": [ + { + "extension": [ + { + "url": "patient", + "valueReference": { + "identifier": { + "system": "http://fhir.nhs.net/Id/nhs-number", + "value": "9462979626" + } + } + }, + { + "url": "appointmentStart", + "valueDateTime": "2021-09-05T19:24:02.198Z" + }, + { + "url": "eReferralPathwayStart", + "valueDateTime": "2021-09-03T14:24:06.483Z" + }, + { + "url": "referrer", + "valueReference": { + "identifier": { + "system": "http://fhir.nhs.net/Id/sds-user-id", + "value": "021600556514" + } + } + }, + { + "url": "priority", + "valueCodeableConcept": { + "coding": [ + { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-Priority-1", + "code": "ROUTINE" + } + ] + } + }, + { + "url": "reason", + "valueCodeableConcept": { + "coding": [ + { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BookingReason-1", + "code": "TRIAGE_TO_BE_BOOKED" + } + ] + } + }, + { + "url": "service", + "valueReference": { + "identifier": { + "system": "http://fhir.nhs.net/Id/ers-service", + "value": "11012" + }, + "display": "Excellent Cardiology Business Service 12" + } + }, + { + "url": "specialty", + "valueCodeableConcept": { + "coding": [ + { + "system": "_baseUrl_/STU3/CodeSystem/SPECIALTY", + "code": "CARDIOLOGY" + } + ] + } + } + ], + "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AppointmentsForBooking-WorkListItem-1" + } + ], + "item": { + "reference": "ReferralRequest/000000070001" + } + }, + { + "extension": [ + { + "extension": [ + { + "url": "patient", + "valueReference": { + "identifier": { + "system": "http://fhir.nhs.net/Id/nhs-number", + "value": "9462979626" + } + } + }, + { + "url": "appointmentStart", + "valueDateTime": "2021-09-05T19:24:02.198Z" + }, + { + "url": "eReferralPathwayStart", + "valueDateTime": "2021-09-03T14:24:06.483Z" + }, + { + "url": "referrer", + "valueReference": { + "identifier": { + "system": "http://fhir.nhs.net/Id/sds-user-id", + "value": "021600556514" + } + } + }, + { + "url": "priority", + "valueCodeableConcept": { + "coding": [ + { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-Priority-1", + "code": "ROUTINE" + } + ] + } + }, + { + "url": "reason", + "valueCodeableConcept": { + "coding": [ + { + "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BookingReason-1", + "code": "TRIAGE_TO_BE_BOOKED" + } + ] + } + }, + { + "url": "service", + "valueReference": { + "identifier": { + "system": "http://fhir.nhs.net/Id/ers-service", + "value": "11012" + }, + "display": "Excellent Cardiology Business Service 12" + } + }, + { + "url": "specialty", + "valueCodeableConcept": { + "coding": [ + { + "system": "_baseUrl_/STU3/CodeSystem/SPECIALTY", + "code": "CARDIOLOGY" + } + ] + } + } + ], + "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AppointmentsForBooking-WorkListItem-1" + } + ], + "item": { + "reference": "ReferralRequest/000000070001" + } + } + ] + } diff --git a/sandbox/src/routes/stu3/services/mockResponseProvider.js b/sandbox/src/routes/stu3/services/mockResponseProvider.js index e07279f98..f3e8ce2e8 100644 --- a/sandbox/src/routes/stu3/services/mockResponseProvider.js +++ b/sandbox/src/routes/stu3/services/mockResponseProvider.js @@ -169,11 +169,11 @@ module.exports = { const attachmentId = request.params.attachmentLogicalID if (attachmentId) { - + if (attachmentId.startsWith('att-')) { return { responsePath: 'stu3/retrieveAttachment/responses/example_attachment.pdf', filename: 'example_attachment.pdf', responseCode: 200 } } - + if (attachmentId === 'c5d2d200-7613-4a69-9c5f-1bb68e04b8d8') { return { responsePath: 'stu3/retrieveAttachment/responses/example_attachment.pdf', filename: 'example_attachment.pdf', responseCode: 200 } } @@ -276,7 +276,7 @@ module.exports = { getExampleResponseForRetrieveAdviceAndGuidanceOverviewPdf: function () { return { responsePath: 'stu3/retrieveAdviceAndGuidanceOverviewPdf/responses/000049146177_Advice_And_Guidance_20220610143044.pdf', filename: '000049146177_Advice_And_Guidance_20220610143044.pdf', responseCode: 200 } - }, + }, getExampleResponseForRetrieveWorklist: function (request) { var responseMap = { @@ -287,7 +287,8 @@ module.exports = { 'src/mocks/stu3/retrieveWorklist/requests/MinimalRejectedTriageResponse.json': 'stu3/retrieveWorklist/responses/RejectedTriageResponse.json', 'src/mocks/stu3/retrieveWorklist/requests/MinimalAssessmentReturnedCancelledDna.json': 'stu3/retrieveWorklist/responses/AssessmentReturnedCancelledDna.json', 'src/mocks/stu3/retrieveWorklist/requests/MinimalAwaitingBooking.json': 'stu3/retrieveWorklist/responses/AwaitingBooking.json', - 'src/mocks/stu3/retrieveWorklist/requests/MinimalLettersOutstanding.json': 'stu3/retrieveWorklist/responses/LettersOutstanding.json' + 'src/mocks/stu3/retrieveWorklist/requests/MinimalLettersOutstanding.json': 'stu3/retrieveWorklist/responses/LettersOutstanding.json', + 'src/mocks/stu3/retrieveWorklist/requests/AppointmentsForBookingWithReason.json': 'stu3/retrieveWorklist/responses/AppointmentsForBooking.json' } return mapExampleResponse(request, responseMap) diff --git a/specification/components/stu3/schemas/eRS-FetchWorklist-List.yaml b/specification/components/stu3/schemas/eRS-FetchWorklist-List.yaml index 5e63151a4..30ee28543 100644 --- a/specification/components/stu3/schemas/eRS-FetchWorklist-List.yaml +++ b/specification/components/stu3/schemas/eRS-FetchWorklist-List.yaml @@ -144,6 +144,7 @@ properties: | `Extension-eRS-AssessmentReturnedCancelledDna-WorklistItem` | `0..1` | Type of worklist items depends on the worklist type requested | | `Extension-eRS-AwaitingBooking-WorklistItem` | `0..1` | Type of worklist items depends on the worklist type requested | | `Extension-eRS-LettersOutstanding-WorklistItem` | `0..1` | Type of worklist items depends on the worklist type requested | + | `Extension-eRS-AppointmentsForBooking-WorklistItem` | `0..1` | Type of worklist items depends on the worklist type requested | items: anyOf: - $ref: 'extensions/Extension-eRS-ReferralsforReview-WorkListItem.yaml' @@ -153,4 +154,5 @@ properties: - $ref: 'extensions/Extension-eRS-AssessmentReturnedCancelledDna-WorklistItem.yaml' - $ref: 'extensions/Extension-eRS-AwaitingBooking-WorklistItem.yaml' - $ref: 'extensions/Extension-eRS-LettersOutstanding-WorklistItem.yaml' + - $ref: 'extensions/Extension-eRS-AppointmentsForBooking-WorklistItem.yaml' diff --git a/specification/components/stu3/schemas/eRS-FetchWorklist-Parameters.yaml b/specification/components/stu3/schemas/eRS-FetchWorklist-Parameters.yaml index 66c10be71..8b75ddae6 100644 --- a/specification/components/stu3/schemas/eRS-FetchWorklist-Parameters.yaml +++ b/specification/components/stu3/schemas/eRS-FetchWorklist-Parameters.yaml @@ -37,6 +37,8 @@ properties: | `location` | `0..1` | | | `clinicianAssignedIndicator` | `0..1` | | | `clinician` | `0..1` | | + | `bookingReason` | `0..*` | | + items: anyOf: - $ref: 'parameters/ListType.yaml' @@ -46,3 +48,4 @@ properties: - $ref: 'parameters/Location.yaml' - $ref: 'parameters/ClinicianAssignedIndicator.yaml' - $ref: 'parameters/Clinician.yaml' + - $ref: 'parameters/BookingReasons.yaml' diff --git a/specification/components/stu3/schemas/endpoints/a008-retrieve-worklist.yaml b/specification/components/stu3/schemas/endpoints/a008-retrieve-worklist.yaml index 07b5412e1..66fb3c768 100644 --- a/specification/components/stu3/schemas/endpoints/a008-retrieve-worklist.yaml +++ b/specification/components/stu3/schemas/endpoints/a008-retrieve-worklist.yaml @@ -160,6 +160,10 @@ requestBody: summary: Letters Outstanding value: $ref: '../../examples/retrieveWorklist/requests/MinimalLettersOutstanding.json' + appointments-for-booking: + summary: Appointments For Booking + value: + $ref: '../../examples/retrieveWorklist/requests/AppointmentsForBookingWithReason.json' responses: '200': $ref: '../responses/retrieveWorklist/200Response.yaml' diff --git a/specification/components/stu3/schemas/extensions/Extension-eRS-AppointmentsForBooking-WorklistItem.yaml b/specification/components/stu3/schemas/extensions/Extension-eRS-AppointmentsForBooking-WorklistItem.yaml new file mode 100644 index 000000000..7c34193a8 --- /dev/null +++ b/specification/components/stu3/schemas/extensions/Extension-eRS-AppointmentsForBooking-WorklistItem.yaml @@ -0,0 +1,36 @@ +title: 'Extension-eRS-AppointmentsForBooking-WorklistItem' +type: object +required: + - url + - extension +properties: + url: + type: string + enum: + - 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AppointmentsForBooking-WorkListItem-1' + example: 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AppointmentsForBooking-WorkListItem-1' + extension: + description: | + | Field | Cardinality | Notes | + | ------------------------------ | ----------- | -------------------------------------------------------------------------------------------------------------------------- | + | `patient` | `1..1` | The patient associated with the `ReferralRequest` | + | `appointmentStart` | `0..1` | The current appointment start time | + | `eReferralPathwayStart` | `1..1` | The start time of the referral pathway | + | `referrer` | `1..1` | The `Practitioner` who initially creates the `ReferralRequest` | + | `priority` | `1..1` | The priority associated with the `ReferralRequest` | + | `service` | `1..1` | The Service Name of the deferred-to Service associated with the Appointment Request. | + | `reason` | `1..1` | Reason that Appointment requires booking | + | `specialty` | `1..1` | The speciality of the current booking | + + type: array + items: + anyOf: + - $ref: './worklists/Extension-WorklistItem-Patient.yaml' + - $ref: './worklists/Extension-WorklistItem-AppointmentStart.yaml' + - $ref: './worklists/Extension-WorklistItem-ReferralPathwayStart.yaml' + - $ref: './worklists/Extension-WorklistItem-Referrer.yaml' + - $ref: './worklists/Extension-WorklistItem-Priority.yaml' + - $ref: './worklists/Extension-WorklistItem-Service.yaml' + - $ref: './worklists/Extension-WorklistItem-BookingReason.yaml' + - $ref: './worklists/Extension-WorklistItem-Specialty.yaml' + diff --git a/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-BookingReason.yaml b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-BookingReason.yaml new file mode 100644 index 000000000..6aa72010c --- /dev/null +++ b/specification/components/stu3/schemas/extensions/worklists/Extension-WorklistItem-BookingReason.yaml @@ -0,0 +1,45 @@ +title: reason +type: object +required: + - url + - valueCodeableConcept +properties: + url: + type: string + enum: + - reason + example: 'reason' + valueCodeableConcept: + type: object + required: + - coding + properties: + coding: + type: array + minItems: 1 + maxItems: 1 + items: + type: object + required: + - system + - code + properties: + system: + type: string + enum: + - https://fhir.nhs.uk/STU3/CodeSystem/eRS-BookingReason-1 + example: 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-BookingReason-1' + code: + type: string + enum: + - REBOOKING + - CANCELLED_APPOINTMENT_ADMIN_REBOOK + - CANCELLED_BY_PATIENT + - CANCELLED_BY_PROVIDER + - DEFERRED_TO_PROVIDER + - ONWARD_REFERRAL + - DNA + - TRIAGE_TO_BE_BOOKED + - TRIAGE_SEE_COMMENTS + - TRIAGE_ANG_CONVERTED_SEE_COMMENTS + example: 'TRIAGE_TO_BE_BOOKED' diff --git a/specification/components/stu3/schemas/parameters/BookingReasons.yaml b/specification/components/stu3/schemas/parameters/BookingReasons.yaml index c4526f56e..a45da1dff 100644 --- a/specification/components/stu3/schemas/parameters/BookingReasons.yaml +++ b/specification/components/stu3/schemas/parameters/BookingReasons.yaml @@ -1,37 +1,37 @@ -- title: bookingReason - description: Parameter to supply a booking reason - type: object - required: - - name - - valueCoding - properties: - name: - type: string - enum: - - bookingReason - example: 'bookingReason' - valueCoding: - type: object - required: - - system - - code - properties: - system: - type: string - enum: - - https://fhir.nhs.uk/STU3/CodeSystem/eRS-BookingReason-1 - example: https://fhir.nhs.uk/STU3/CodeSystem/eRS-BookingReason-1 - code: - type: string - enum: - - REBOOKING - - CANCELLED_APPOINTMENT_ADMIN_REBOOK - - CANCELLED_BY_PATIENT - - CANCELLED_BY_PROVIDER - - DEFERRED_TO_PROVIDER - - ONWARD_REFERRAL - - DNA - - TRIAGE_TO_BE_BOOKED - - TRIAGE_SEE_COMMENTS - - TRIAGE_ANG_CONVERTED_SEE_COMMENTS - example: TRIAGE_TO_BE_BOOKED +title: bookingReason +description: Parameter to supply a booking reason +type: object +required: + - name + - valueCoding +properties: + name: + type: string + enum: + - bookingReason + example: 'bookingReason' + valueCoding: + type: object + required: + - system + - code + properties: + system: + type: string + enum: + - https://fhir.nhs.uk/STU3/CodeSystem/eRS-BookingReason-1 + example: https://fhir.nhs.uk/STU3/CodeSystem/eRS-BookingReason-1 + code: + type: string + enum: + - REBOOKING + - CANCELLED_APPOINTMENT_ADMIN_REBOOK + - CANCELLED_BY_PATIENT + - CANCELLED_BY_PROVIDER + - DEFERRED_TO_PROVIDER + - ONWARD_REFERRAL + - DNA + - TRIAGE_TO_BE_BOOKED + - TRIAGE_SEE_COMMENTS + - TRIAGE_ANG_CONVERTED_SEE_COMMENTS + example: TRIAGE_TO_BE_BOOKED diff --git a/specification/components/stu3/schemas/parameters/ListType.yaml b/specification/components/stu3/schemas/parameters/ListType.yaml index 678983cff..da11d3e00 100644 --- a/specification/components/stu3/schemas/parameters/ListType.yaml +++ b/specification/components/stu3/schemas/parameters/ListType.yaml @@ -47,6 +47,7 @@ properties: - ASSESSMENT_RETURNED_CANCELLED_DNA - AWAITING_BOOKING - LETTERS_OUTSTANDING + - APPOINTMENTS_FOR_BOOKING example: 'REFERRALS_FOR_REVIEW' - title: eRS-CommunicationListSelector type: object diff --git a/specification/components/stu3/schemas/responses/retrieveWorklist/200Response.yaml b/specification/components/stu3/schemas/responses/retrieveWorklist/200Response.yaml index df9591b6f..2e9228bc8 100644 --- a/specification/components/stu3/schemas/responses/retrieveWorklist/200Response.yaml +++ b/specification/components/stu3/schemas/responses/retrieveWorklist/200Response.yaml @@ -47,3 +47,7 @@ content: summary: Letters Outstanding value: $ref: '../../../examples/retrieveWorklist/responses/LettersOutstanding.json' + appointments-for-booking: + summary: Appointments For Booking + value: + $ref: '../../../examples/retrieveWorklist/responses/AppointmentsForBooking.json' diff --git a/specification/e-referrals-service-api.yaml b/specification/e-referrals-service-api.yaml index 8d9d8a546..938124832 100644 --- a/specification/e-referrals-service-api.yaml +++ b/specification/e-referrals-service-api.yaml @@ -290,6 +290,8 @@ info: license: name: MIT servers: + - url: 'https://internal-dev-sandbox.api.service.nhs.uk/referrals-pr-1884/FHIR' + description: Sandbox environment. - url: 'https://sandbox.api.service.nhs.uk/referrals/FHIR' description: Sandbox environment. - url: 'https://int.api.service.nhs.uk/referrals/FHIR' diff --git a/tests/sandbox/stu3/test_a008_get_referral_worklist.py b/tests/sandbox/stu3/test_a008_get_referral_worklist.py index 2a85e9673..45fd040c0 100644 --- a/tests/sandbox/stu3/test_a008_get_referral_worklist.py +++ b/tests/sandbox/stu3/test_a008_get_referral_worklist.py @@ -57,6 +57,10 @@ class TestGetReferralWorklist(SandboxTest): "stu3/retrieveWorklist/requests/MinimalLettersOutstanding.json", "stu3/retrieveWorklist/responses/LettersOutstanding.json", ), + ( + "stu3/retrieveWorklist/requests/AppointmentsForBookingWithReason.json", + "stu3/retrieveWorklist/responses/AppointmentsForBooking.json", + ), ] @pytest.fixture