Created
September 29, 2021 16:09
-
-
Save grongierisc/44aff734f94921198e868d291ef0d483 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"openapi": "3.0.0", | |
"info": { | |
"title": "NHSI/E WDS Temp Staffing (Sample Draft API Spec)", | |
"description": "This is NHSI/E WDS Temp Staffing API Specifications (Sample Draft API Spec)", | |
"termsOfService": "http://nhsdigital.nhs.uk/", | |
"contact": { | |
"name": "NHSI/E WDS Team", | |
"email": "medi.harsini1@nhs.net" | |
}, | |
"version": "3.0.0" | |
}, | |
"externalDocs": { | |
"description": "Find out more about Swagger", | |
"url": "http://swagger.io" | |
}, | |
"servers": [ | |
{ | |
"url": "https://nhsworkforcemanagement.azurewebsites.net", | |
"description": "SwaggerHub API Auto Mocking" | |
} | |
], | |
"tags": [ | |
{ | |
"name": "Vacancy", | |
"description": "Vacancy Resource to define demand" | |
}, | |
{ | |
"name": "Booking", | |
"description": "booking resource in response to Vacancy" | |
}, | |
{ | |
"name": "Timesheet", | |
"description": "Timesheet resource when a shift is worked and finalised" | |
} | |
], | |
"paths": { | |
"/Vacancy": { | |
"post": { | |
"tags": [ | |
"Vacancy" | |
], | |
"summary": "Add a new Vacancy", | |
"operationId": "addVacancy", | |
"requestBody": { | |
"$ref": "#/components/requestBodies/Vacancy" | |
}, | |
"responses": { | |
"201": { | |
"description": "Resource created", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/inline_response_201" | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Bad Reequest" | |
} | |
} | |
} | |
}, | |
"/Vacancy/{id}": { | |
"get": { | |
"tags": [ | |
"Vacancy" | |
], | |
"summary": "Read Vacancy by id", | |
"operationId": "readVacancy", | |
"parameters": [ | |
{ | |
"name": "id", | |
"in": "path", | |
"description": "ID of Vacancy to update", | |
"required": true, | |
"style": "simple", | |
"explode": false, | |
"schema": { | |
"type": "string", | |
"description": "UUID" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Vacancy" | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "Not found" | |
}, | |
"410": { | |
"description": "Gone" | |
} | |
} | |
}, | |
"put": { | |
"tags": [ | |
"Vacancy" | |
], | |
"summary": "Update a Vacancy", | |
"operationId": "UpdateVacancy", | |
"parameters": [ | |
{ | |
"name": "id", | |
"in": "path", | |
"description": "ID of Vacancy to update", | |
"required": true, | |
"style": "simple", | |
"explode": false, | |
"schema": { | |
"type": "string", | |
"description": "UUID" | |
} | |
} | |
], | |
"requestBody": { | |
"$ref": "#/components/requestBodies/Vacancy" | |
}, | |
"responses": { | |
"200": { | |
"description": "Resource updated successfully", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Vacancy" | |
} | |
} | |
} | |
}, | |
"201": { | |
"description": "Created", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Vacancy" | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Bad Request" | |
}, | |
"404": { | |
"description": "description Not found" | |
} | |
} | |
}, | |
"delete": { | |
"tags": [ | |
"Vacancy" | |
], | |
"summary": "Read Vacancy by id", | |
"operationId": "deleteVacancy", | |
"parameters": [ | |
{ | |
"name": "id", | |
"in": "path", | |
"description": "ID of Vacancy to update", | |
"required": true, | |
"style": "simple", | |
"explode": false, | |
"schema": { | |
"type": "string", | |
"description": "UUID" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Vacancy" | |
} | |
} | |
} | |
}, | |
"204": { | |
"description": "No Content" | |
}, | |
"404": { | |
"description": "Not found" | |
} | |
} | |
} | |
}, | |
"/Booking": { | |
"post": { | |
"tags": [ | |
"Booking" | |
], | |
"summary": "Add a new Booking", | |
"operationId": "addBooking", | |
"requestBody": { | |
"$ref": "#/components/requestBodies/Booking" | |
}, | |
"responses": { | |
"201": { | |
"description": "Resource created", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/inline_response_201_1" | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Bad Reequest" | |
} | |
} | |
} | |
}, | |
"/Booking/{id}": { | |
"get": { | |
"tags": [ | |
"Booking" | |
], | |
"summary": "Read Booking by id", | |
"operationId": "readBooking", | |
"parameters": [ | |
{ | |
"name": "id", | |
"in": "path", | |
"description": "ID of Booking to update", | |
"required": true, | |
"style": "simple", | |
"explode": false, | |
"schema": { | |
"type": "string", | |
"description": "UUID" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Booking" | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "Not found" | |
}, | |
"410": { | |
"description": "Gone" | |
} | |
} | |
}, | |
"put": { | |
"tags": [ | |
"Booking" | |
], | |
"summary": "Update a Booking", | |
"operationId": "UpdateBooking", | |
"parameters": [ | |
{ | |
"name": "id", | |
"in": "path", | |
"description": "ID of Booking to update", | |
"required": true, | |
"style": "simple", | |
"explode": false, | |
"schema": { | |
"type": "string", | |
"description": "UUID" | |
} | |
} | |
], | |
"requestBody": { | |
"$ref": "#/components/requestBodies/Booking" | |
}, | |
"responses": { | |
"200": { | |
"description": "Resource updated successfully", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Booking" | |
} | |
} | |
} | |
}, | |
"201": { | |
"description": "Created", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Booking" | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Bad Request" | |
}, | |
"404": { | |
"description": "description Not found" | |
} | |
} | |
}, | |
"delete": { | |
"tags": [ | |
"Booking" | |
], | |
"summary": "Read Booking by id", | |
"operationId": "deleteBooking", | |
"parameters": [ | |
{ | |
"name": "id", | |
"in": "path", | |
"description": "ID of Booking to update", | |
"required": true, | |
"style": "simple", | |
"explode": false, | |
"schema": { | |
"type": "string", | |
"description": "UUID" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Booking" | |
} | |
} | |
} | |
}, | |
"204": { | |
"description": "No Content" | |
}, | |
"404": { | |
"description": "Not found" | |
} | |
} | |
} | |
}, | |
"/Timesheet": { | |
"post": { | |
"tags": [ | |
"Timesheet" | |
], | |
"summary": "Add a new Timesheet", | |
"operationId": "addTimesheet", | |
"requestBody": { | |
"$ref": "#/components/requestBodies/Timesheet" | |
}, | |
"responses": { | |
"201": { | |
"description": "Resource created", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/inline_response_201_2" | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Bad Reequest" | |
} | |
} | |
} | |
}, | |
"/Timesheet/{id}": { | |
"get": { | |
"tags": [ | |
"Timesheet" | |
], | |
"summary": "Read Timesheet by id", | |
"operationId": "readTimesheet", | |
"parameters": [ | |
{ | |
"name": "id", | |
"in": "path", | |
"description": "ID of Timesheet to update", | |
"required": true, | |
"style": "simple", | |
"explode": false, | |
"schema": { | |
"type": "string", | |
"description": "UUID" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Timesheet" | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "Not found" | |
}, | |
"410": { | |
"description": "Gone" | |
} | |
} | |
}, | |
"put": { | |
"tags": [ | |
"Timesheet" | |
], | |
"summary": "Update a Timesheet", | |
"operationId": "UpdateTimesheet", | |
"parameters": [ | |
{ | |
"name": "id", | |
"in": "path", | |
"description": "ID of Timesheet to update", | |
"required": true, | |
"style": "simple", | |
"explode": false, | |
"schema": { | |
"type": "string", | |
"description": "UUID" | |
} | |
} | |
], | |
"requestBody": { | |
"$ref": "#/components/requestBodies/Timesheet" | |
}, | |
"responses": { | |
"200": { | |
"description": "Resource updated successfully", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Timesheet" | |
} | |
} | |
} | |
}, | |
"201": { | |
"description": "Created", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Timesheet" | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Bad Request" | |
}, | |
"404": { | |
"description": "description Not found" | |
} | |
} | |
}, | |
"delete": { | |
"tags": [ | |
"Timesheet" | |
], | |
"summary": "Read Timesheet by id", | |
"operationId": "deleteTimesheet", | |
"parameters": [ | |
{ | |
"name": "id", | |
"in": "path", | |
"description": "ID of Timesheet to update", | |
"required": true, | |
"style": "simple", | |
"explode": false, | |
"schema": { | |
"type": "string", | |
"description": "UUID" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Timesheet" | |
} | |
} | |
} | |
}, | |
"204": { | |
"description": "No Content" | |
}, | |
"404": { | |
"description": "Not found" | |
} | |
} | |
} | |
} | |
}, | |
"components": { | |
"schemas": { | |
"Vacancy": { | |
"required": [ | |
"Organization", | |
"id", | |
"plannedTime", | |
"resourceType", | |
"source", | |
"staffGroup", | |
"status" | |
], | |
"properties": { | |
"resourceType": { | |
"type": "string", | |
"example": "Vacancy" | |
}, | |
"id": { | |
"type": "string", | |
"example": "7b4d88af-bb8f-4d36-8460-f2b4227e0d67" | |
}, | |
"meta": { | |
"$ref": "#/components/schemas/Vacancy_meta" | |
}, | |
"identifier": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_identifier" | |
} | |
}, | |
"status": { | |
"type": "string", | |
"example": "requested", | |
"enum": [ | |
"requested", | |
"booked", | |
"revoked", | |
"on-hold", | |
"in-progress", | |
"entered-in-error" | |
] | |
}, | |
"Organization": { | |
"required": [ | |
"display" | |
], | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_Organization" | |
} | |
}, | |
"plannedTime": { | |
"$ref": "#/components/schemas/Vacancy_plannedTime" | |
}, | |
"reasonCode": { | |
"$ref": "#/components/schemas/Vacancy_reasonCode" | |
}, | |
"cancellationReason": { | |
"$ref": "#/components/schemas/Vacancy_cancellationReason" | |
}, | |
"authorisationDate": { | |
"type": "string", | |
"example": "2020-03-09T00:32:50.461Z" | |
}, | |
"authorisationCode": { | |
"type": "string", | |
"example": "Code123" | |
}, | |
"trigerredBy": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_trigerredBy" | |
} | |
}, | |
"cancellationDate": { | |
"type": "string", | |
"example": "2020-03-10T00:32:50.461Z" | |
}, | |
"gender": { | |
"$ref": "#/components/schemas/Vacancy_gender" | |
}, | |
"workerType": { | |
"$ref": "#/components/schemas/Vacancy_workerType" | |
}, | |
"shiftType": { | |
"$ref": "#/components/schemas/Vacancy_shiftType" | |
}, | |
"directEngagement": { | |
"$ref": "#/components/schemas/Vacancy_directEngagement" | |
}, | |
"qualifications": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_qualifications" | |
} | |
}, | |
"notes": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_notes" | |
} | |
}, | |
"staffGroup": { | |
"$ref": "#/components/schemas/Vacancy_staffGroup" | |
}, | |
"payScale": { | |
"$ref": "#/components/schemas/Vacancy_payScale" | |
}, | |
"supervisor": { | |
"$ref": "#/components/schemas/Vacancy_supervisor" | |
}, | |
"workingPattern": { | |
"$ref": "#/components/schemas/Vacancy_workingPattern" | |
}, | |
"costCentre": { | |
"type": "string", | |
"example": "65388" | |
}, | |
"source": { | |
"$ref": "#/components/schemas/Vacancy_source" | |
}, | |
"destination": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_destination" | |
} | |
}, | |
"basedOn": { | |
"$ref": "#/components/schemas/Vacancy_basedOn" | |
}, | |
"partOf": { | |
"maxItems": 1, | |
"minItems": 1, | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_partOf" | |
} | |
} | |
} | |
}, | |
"Booking": { | |
"required": [ | |
"Organization", | |
"basedOn", | |
"id", | |
"resourceType", | |
"source", | |
"staffGroup", | |
"status", | |
"worker" | |
], | |
"properties": { | |
"resourceType": { | |
"type": "string", | |
"example": "Booking" | |
}, | |
"id": { | |
"type": "string", | |
"example": "7b4d88af-bb8f-4d36-8460-f2b4227e0d67" | |
}, | |
"meta": { | |
"$ref": "#/components/schemas/Booking_meta" | |
}, | |
"identifier": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Booking_identifier" | |
} | |
}, | |
"status": { | |
"type": "string", | |
"example": "unfilled", | |
"enum": [ | |
"proposed", | |
"confirmed", | |
"canceleld", | |
"entered-in-error" | |
] | |
}, | |
"Organization": { | |
"required": [ | |
"display" | |
], | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_Organization" | |
} | |
}, | |
"bookedTime": { | |
"$ref": "#/components/schemas/Vacancy_plannedTime" | |
}, | |
"reasonCode": { | |
"$ref": "#/components/schemas/Booking_reasonCode" | |
}, | |
"cancellationReason": { | |
"$ref": "#/components/schemas/Vacancy_cancellationReason" | |
}, | |
"cancellationDate": { | |
"type": "string", | |
"example": "2020-03-09T00:32:50.461Z" | |
}, | |
"trigerredBy": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_trigerredBy" | |
} | |
}, | |
"Worker": { | |
"$ref": "#/components/schemas/Booking_Worker" | |
}, | |
"shiftType": { | |
"$ref": "#/components/schemas/Vacancy_shiftType" | |
}, | |
"directEngagement": { | |
"$ref": "#/components/schemas/Vacancy_directEngagement" | |
}, | |
"qualifications": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Booking_qualifications" | |
} | |
}, | |
"notes": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_notes" | |
} | |
}, | |
"staffGroup": { | |
"$ref": "#/components/schemas/Vacancy_staffGroup" | |
}, | |
"payScale": { | |
"$ref": "#/components/schemas/Vacancy_payScale" | |
}, | |
"supervisor": { | |
"$ref": "#/components/schemas/Vacancy_supervisor" | |
}, | |
"costCentre": { | |
"type": "string", | |
"example": "65388" | |
}, | |
"source": { | |
"$ref": "#/components/schemas/Booking_source" | |
}, | |
"provider": { | |
"$ref": "#/components/schemas/Booking_provider" | |
}, | |
"employer": { | |
"$ref": "#/components/schemas/Booking_employer" | |
}, | |
"agencyWorkersRegulations": { | |
"type": "boolean" | |
}, | |
"basedOn": { | |
"$ref": "#/components/schemas/Booking_basedOn" | |
} | |
} | |
}, | |
"Timesheet": { | |
"required": [ | |
"Organization", | |
"basedOn", | |
"employer", | |
"id", | |
"resourceType", | |
"source", | |
"staffGroup", | |
"status", | |
"workedTime", | |
"worker" | |
], | |
"properties": { | |
"resourceType": { | |
"type": "string", | |
"example": "Timesheet" | |
}, | |
"id": { | |
"type": "string", | |
"example": "7b4d88af-bb8f-4d36-8460-f2b4227e0w67" | |
}, | |
"meta": { | |
"$ref": "#/components/schemas/Timesheet_meta" | |
}, | |
"identifier": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Timesheet_identifier" | |
} | |
}, | |
"status": { | |
"type": "string", | |
"example": "submitted", | |
"enum": [ | |
"submitted", | |
"authorised", | |
"queried", | |
"released", | |
"process-for-payment", | |
"paid", | |
"entered-in-error" | |
] | |
}, | |
"Organization": { | |
"required": [ | |
"display" | |
], | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Timesheet_Organization" | |
} | |
}, | |
"WorkedTime": { | |
"$ref": "#/components/schemas/Vacancy_plannedTime" | |
}, | |
"reasonCode": { | |
"$ref": "#/components/schemas/Timesheet_reasonCode" | |
}, | |
"trigerredBy": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_trigerredBy" | |
} | |
}, | |
"Worker": { | |
"$ref": "#/components/schemas/Timesheet_Worker" | |
}, | |
"shiftType": { | |
"$ref": "#/components/schemas/Vacancy_shiftType" | |
}, | |
"directEngagement": { | |
"$ref": "#/components/schemas/Vacancy_directEngagement" | |
}, | |
"qualifications": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Booking_qualifications" | |
} | |
}, | |
"notes": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_notes" | |
} | |
}, | |
"payScale": { | |
"$ref": "#/components/schemas/Vacancy_payScale" | |
}, | |
"supervisor": { | |
"$ref": "#/components/schemas/Vacancy_supervisor" | |
}, | |
"costCentre": { | |
"type": "string", | |
"example": "65388" | |
}, | |
"source": { | |
"$ref": "#/components/schemas/Booking_source" | |
}, | |
"provider": { | |
"$ref": "#/components/schemas/Booking_provider" | |
}, | |
"employer": { | |
"$ref": "#/components/schemas/Booking_employer" | |
}, | |
"agencyWorkersRegulations": { | |
"type": "boolean" | |
}, | |
"basedOn": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Timesheet_basedOn" | |
} | |
} | |
} | |
}, | |
"ApiResponse": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"message": { | |
"type": "string" | |
} | |
} | |
}, | |
"Organization": { | |
"required": [ | |
"active", | |
"partOf", | |
"resourceType", | |
"usage" | |
], | |
"properties": { | |
"resourceType": { | |
"type": "string", | |
"enum": [ | |
"Organization" | |
] | |
}, | |
"id": { | |
"type": "string" | |
}, | |
"active": { | |
"type": "boolean" | |
}, | |
"type": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Organization_type" | |
} | |
}, | |
"identifier": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Organization_identifier" | |
} | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"telecom": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Organization_telecom" | |
} | |
}, | |
"address": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Organization_address" | |
} | |
}, | |
"partOf": { | |
"$ref": "#/components/schemas/Organization_partOf" | |
}, | |
"usage": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"contact": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Organization_contact" | |
} | |
} | |
}, | |
"description": "A sample Oganization Structure, you may refer to https://www.hl7.org/fhir/organization.html for further details" | |
}, | |
"inline_response_201": { | |
"allOf": [ | |
{ | |
"$ref": "#/components/schemas/Vacancy" | |
}, | |
{ | |
"$ref": "#/components/schemas/ApiResponse" | |
} | |
] | |
}, | |
"inline_response_201_1": { | |
"allOf": [ | |
{ | |
"$ref": "#/components/schemas/Booking" | |
}, | |
{ | |
"$ref": "#/components/schemas/ApiResponse" | |
} | |
] | |
}, | |
"inline_response_201_2": { | |
"allOf": [ | |
{ | |
"$ref": "#/components/schemas/Timesheet" | |
}, | |
{ | |
"$ref": "#/components/schemas/ApiResponse" | |
} | |
] | |
}, | |
"Vacancy_meta": { | |
"required": [ | |
"profile" | |
], | |
"type": "object", | |
"properties": { | |
"versionId": { | |
"type": "number", | |
"example": 0.1 | |
}, | |
"lastUpdated": { | |
"type": "string", | |
"example": "2020-03-09T00:32:50.460Z" | |
}, | |
"profile": { | |
"type": "string", | |
"example": "http://developer.nhs.uk/fhir/StructureDefinition/Vacancy" | |
} | |
} | |
}, | |
"Vacancy_type_coding": { | |
"properties": { | |
"system": { | |
"type": "string", | |
"example": "mycompany.co.uk/fhir/codeSystem/identifierType" | |
}, | |
"code": { | |
"type": "string", | |
"example": "SBSRI" | |
}, | |
"display": { | |
"type": "string", | |
"example": "Staff Bank Shift reference Identifier" | |
} | |
} | |
}, | |
"Vacancy_type": { | |
"type": "object", | |
"properties": { | |
"coding": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_type_coding" | |
} | |
} | |
} | |
}, | |
"Vacancy_period": { | |
"type": "object", | |
"properties": { | |
"start": { | |
"type": "string", | |
"example": "2020-03-09T00:32:50.460Z" | |
}, | |
"end": { | |
"type": "string", | |
"example": "2020-03-09T00:32:50.460Z" | |
} | |
} | |
}, | |
"Vacancy_assigner_identifier": { | |
"required": [ | |
"system", | |
"value" | |
], | |
"type": "object", | |
"properties": { | |
"system": { | |
"type": "string", | |
"example": "http://fhir.nhs.uk/Id/ods-organistion-code" | |
}, | |
"value": { | |
"type": "string", | |
"example": "T1430" | |
} | |
} | |
}, | |
"Vacancy_assigner": { | |
"required": [ | |
"display" | |
], | |
"type": "object", | |
"properties": { | |
"reference": { | |
"type": "string", | |
"example": "https://directory.spineservices.nhs.uk/STU3/Organization/T1430" | |
}, | |
"type": { | |
"type": "string", | |
"example": "Organization" | |
}, | |
"identifier": { | |
"$ref": "#/components/schemas/Vacancy_assigner_identifier" | |
}, | |
"display": { | |
"type": "string", | |
"example": "Health and Social Care Informariion Centre" | |
} | |
} | |
}, | |
"Vacancy_identifier": { | |
"required": [ | |
"system", | |
"type", | |
"value" | |
], | |
"type": "object", | |
"properties": { | |
"type": { | |
"$ref": "#/components/schemas/Vacancy_type" | |
}, | |
"system": { | |
"type": "string", | |
"example": "NHSP" | |
}, | |
"value": { | |
"type": "string", | |
"example": "ref123" | |
}, | |
"period": { | |
"$ref": "#/components/schemas/Vacancy_period" | |
}, | |
"assigner": { | |
"$ref": "#/components/schemas/Vacancy_assigner" | |
} | |
} | |
}, | |
"Vacancy_identifier_1_type_coding": { | |
"properties": { | |
"system": { | |
"type": "string", | |
"example": "mycompany.co.uk/codeSystem/identifierType" | |
}, | |
"code": { | |
"type": "string", | |
"example": "SBWI" | |
}, | |
"display": { | |
"type": "string", | |
"example": "Staff Bank Ward Identifier" | |
} | |
} | |
}, | |
"Vacancy_identifier_1_type": { | |
"required": [ | |
"coding" | |
], | |
"type": "object", | |
"properties": { | |
"coding": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_identifier_1_type_coding" | |
} | |
} | |
} | |
}, | |
"Vacancy_identifier_1": { | |
"required": [ | |
"system", | |
"value" | |
], | |
"type": "object", | |
"properties": { | |
"type": { | |
"$ref": "#/components/schemas/Vacancy_identifier_1_type" | |
}, | |
"system": { | |
"type": "string", | |
"example": "myCompanyName" | |
}, | |
"value": { | |
"type": "string", | |
"example": "wardName123" | |
} | |
} | |
}, | |
"Vacancy_Organization": { | |
"properties": { | |
"type": { | |
"type": "string", | |
"example": "Organization" | |
}, | |
"reference": { | |
"type": "string", | |
"example": "http://mycompany.co.uk/Organization/wardName123" | |
}, | |
"identifier": { | |
"$ref": "#/components/schemas/Vacancy_identifier_1" | |
}, | |
"display": { | |
"type": "string", | |
"example": "WardName123 Full Name" | |
} | |
} | |
}, | |
"Vacancy_plannedTime_servicePeriod_serviceDuration": { | |
"type": "object", | |
"properties": { | |
"unit": { | |
"type": "string", | |
"example": "h" | |
}, | |
"value": { | |
"type": "string", | |
"example": "8" | |
} | |
} | |
}, | |
"Vacancy_plannedTime_servicePeriod": { | |
"type": "object", | |
"properties": { | |
"start": { | |
"type": "string", | |
"example": "09:00:00" | |
}, | |
"end": { | |
"type": "string", | |
"example": "17:00:00" | |
}, | |
"serviceDuration": { | |
"$ref": "#/components/schemas/Vacancy_plannedTime_servicePeriod_serviceDuration" | |
} | |
} | |
}, | |
"Vacancy_plannedTime_breakPeriod_breakDuration": { | |
"type": "object", | |
"properties": { | |
"unit": { | |
"type": "string", | |
"example": "m" | |
}, | |
"value": { | |
"type": "string", | |
"example": "60" | |
} | |
} | |
}, | |
"Vacancy_plannedTime_breakPeriod": { | |
"type": "object", | |
"properties": { | |
"start": { | |
"type": "string", | |
"example": "12:00:00" | |
}, | |
"end": { | |
"type": "string", | |
"example": "13:00:00" | |
}, | |
"breakDuration": { | |
"$ref": "#/components/schemas/Vacancy_plannedTime_breakPeriod_breakDuration" | |
} | |
} | |
}, | |
"Vacancy_plannedTime_timing": { | |
"required": [ | |
"boundsPeriod", | |
"servicePeriod" | |
], | |
"type": "object", | |
"properties": { | |
"boundsPeriod": { | |
"$ref": "#/components/schemas/Vacancy_period" | |
}, | |
"servicePeriod": { | |
"$ref": "#/components/schemas/Vacancy_plannedTime_servicePeriod" | |
}, | |
"breakPeriod": { | |
"$ref": "#/components/schemas/Vacancy_plannedTime_breakPeriod" | |
}, | |
"daysOfWeek": { | |
"type": "array", | |
"example": [ | |
"mon", | |
"tue", | |
"wed" | |
], | |
"items": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"Vacancy_plannedTime": { | |
"required": [ | |
"timing" | |
], | |
"type": "object", | |
"properties": { | |
"timing": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_plannedTime_timing" | |
} | |
}, | |
"earliestStartDate": { | |
"type": "string", | |
"example": "2020-03-09T00:32:50.460Z" | |
}, | |
"contractPeriod": { | |
"$ref": "#/components/schemas/Vacancy_period" | |
} | |
} | |
}, | |
"Vacancy_reasonCode_coding": { | |
"properties": { | |
"system": { | |
"type": "string", | |
"example": "mycompany.co.uk/codeSystem/reasonCodes" | |
}, | |
"code": { | |
"type": "string", | |
"example": "r5" | |
}, | |
"display": { | |
"type": "string", | |
"example": "Staff Maternity Absence" | |
} | |
} | |
}, | |
"Vacancy_reasonCode": { | |
"type": "object", | |
"properties": { | |
"coding": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_reasonCode_coding" | |
} | |
} | |
} | |
}, | |
"Vacancy_cancellationReason_coding": { | |
"properties": { | |
"system": { | |
"type": "string", | |
"example": "mycompany.co.uk/codeSystem/cancellationReason" | |
}, | |
"code": { | |
"type": "string", | |
"example": "b2" | |
}, | |
"display": { | |
"type": "string", | |
"example": "Already booked internally" | |
} | |
} | |
}, | |
"Vacancy_cancellationReason": { | |
"type": "object", | |
"properties": { | |
"coding": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_cancellationReason_coding" | |
} | |
} | |
} | |
}, | |
"Vacancy_trigerredBy": { | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Medi Harsini" | |
}, | |
"type": { | |
"type": "string", | |
"description": "This is an extensible list means the list can be expanded", | |
"example": "resourceStatus", | |
"enum": [ | |
"resourceStatus", | |
"confirmedBy", | |
"bookedBy" | |
] | |
}, | |
"date": { | |
"type": "string", | |
"description": "date is only application if resourceStatus is not selected. In case type = resourceStatus then the date is equal to the resource.meta.lastUpdated", | |
"example": "2014-06-25T00:00:00.000Z" | |
} | |
} | |
}, | |
"Vacancy_gender_coding": { | |
"properties": { | |
"system": { | |
"type": "string", | |
"example": "mycompany.co.uk/codeSystem/gender" | |
}, | |
"code": { | |
"type": "string", | |
"example": "male" | |
}, | |
"display": { | |
"type": "string", | |
"example": "Male" | |
} | |
} | |
}, | |
"Vacancy_gender": { | |
"required": [ | |
"coding" | |
], | |
"type": "object", | |
"properties": { | |
"coding": { | |
"required": [ | |
"code" | |
], | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_gender_coding" | |
} | |
} | |
} | |
}, | |
"Vacancy_workerType_coding": { | |
"properties": { | |
"system": { | |
"type": "string", | |
"example": "mycompany.com/CodeSystem/performerType" | |
}, | |
"code": { | |
"type": "string", | |
"example": "Bank" | |
}, | |
"display": { | |
"type": "string", | |
"example": "Bank Worker" | |
} | |
} | |
}, | |
"Vacancy_workerType_fallback": { | |
"type": "object", | |
"properties": { | |
"unit": { | |
"type": "string", | |
"example": "min" | |
}, | |
"value": { | |
"type": "string", | |
"example": "120" | |
} | |
} | |
}, | |
"Vacancy_workerType_type": { | |
"type": "object", | |
"properties": { | |
"coding": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_workerType_coding" | |
} | |
}, | |
"priority": { | |
"type": "string", | |
"example": "0" | |
}, | |
"fallback": { | |
"$ref": "#/components/schemas/Vacancy_workerType_fallback" | |
} | |
} | |
}, | |
"Vacancy_workerType": { | |
"type": "object", | |
"properties": { | |
"multipleWorker": { | |
"type": "boolean", | |
"example": false | |
}, | |
"AgencyNotPreferred": { | |
"type": "boolean", | |
"example": true | |
}, | |
"type": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_workerType_type" | |
} | |
} | |
} | |
}, | |
"Vacancy_shiftType_coding": { | |
"properties": { | |
"system": { | |
"type": "string", | |
"example": "mycompany.co.uk/CodeSystem/shiftType" | |
}, | |
"code": { | |
"type": "string", | |
"example": "N" | |
}, | |
"display": { | |
"type": "string", | |
"example": "Normal" | |
} | |
} | |
}, | |
"Vacancy_shiftType": { | |
"type": "object", | |
"properties": { | |
"coding": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_shiftType_coding" | |
} | |
} | |
} | |
}, | |
"Vacancy_directEngagement": { | |
"required": [ | |
"contract", | |
"flag" | |
], | |
"type": "object", | |
"properties": { | |
"flag": { | |
"type": "boolean", | |
"example": true | |
}, | |
"contract": { | |
"type": "string", | |
"example": "http://mycompany.co.uk/DEContract/CON123" | |
} | |
} | |
}, | |
"Vacancy_code_coding": { | |
"properties": { | |
"system": { | |
"type": "string", | |
"example": "mycompany.co.uk/codeSystem/assignmentCode" | |
}, | |
"code": { | |
"type": "string", | |
"example": "RN04" | |
}, | |
"display": { | |
"type": "string", | |
"example": "registred Nurse" | |
} | |
} | |
}, | |
"Vacancy_code": { | |
"required": [ | |
"coding" | |
], | |
"type": "object", | |
"properties": { | |
"coding": { | |
"required": [ | |
"code" | |
], | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_code_coding" | |
} | |
} | |
} | |
}, | |
"Vacancy_period_1": { | |
"type": "object", | |
"properties": { | |
"start": { | |
"type": "string", | |
"example": "2020-03-09T11:09:56.977Z" | |
}, | |
"end": { | |
"type": "string", | |
"example": "2020-03-09T11:09:56.977Z" | |
} | |
} | |
}, | |
"Vacancy_issuer": { | |
"type": "object", | |
"properties": { | |
"reference": { | |
"type": "string", | |
"example": "http://mycompany.co.uk/organization/org456" | |
} | |
} | |
}, | |
"Vacancy_qualifications": { | |
"required": [ | |
"code", | |
"priority", | |
"type" | |
], | |
"type": "object", | |
"properties": { | |
"type": { | |
"type": "string", | |
"description": "An extensible list, meaning that it can be expanded", | |
"enum": [ | |
"speciality", | |
"assignmentCode", | |
"grade", | |
"skills", | |
"NMC registration", | |
"qualification" | |
] | |
}, | |
"code": { | |
"$ref": "#/components/schemas/Vacancy_code" | |
}, | |
"priority": { | |
"type": "string", | |
"example": "0" | |
}, | |
"period": { | |
"$ref": "#/components/schemas/Vacancy_period_1" | |
}, | |
"issuer": { | |
"$ref": "#/components/schemas/Vacancy_issuer" | |
}, | |
"fallback": { | |
"$ref": "#/components/schemas/Vacancy_workerType_fallback" | |
} | |
} | |
}, | |
"Vacancy_notes": { | |
"type": "object", | |
"properties": { | |
"text": { | |
"type": "string", | |
"example": "Simple Text part of the note" | |
}, | |
"audience": { | |
"type": "string", | |
"description": "This is an extensible list means it can be expanded", | |
"example": "Worker", | |
"enum": [ | |
"worker", | |
"agency", | |
"trustAdmin", | |
"all" | |
] | |
}, | |
"date": { | |
"type": "string", | |
"example": "2020-11-10T12:58:01.848Z" | |
}, | |
"madeBy": { | |
"type": "string", | |
"example": "Medi Harsini" | |
} | |
} | |
}, | |
"Vacancy_staffGroup_coding": { | |
"required": [ | |
"code", | |
"system" | |
], | |
"type": "object", | |
"properties": { | |
"system": { | |
"type": "string", | |
"example": "www.datadictionary.nhs.uk" | |
}, | |
"code": { | |
"type": "string", | |
"example": "04" | |
}, | |
"display": { | |
"type": "string", | |
"example": "Emergency Care - Other Emergency Care" | |
} | |
} | |
}, | |
"Vacancy_staffGroup": { | |
"required": [ | |
"coding" | |
], | |
"type": "object", | |
"properties": { | |
"coding": { | |
"$ref": "#/components/schemas/Vacancy_staffGroup_coding" | |
} | |
} | |
}, | |
"Vacancy_payScale": { | |
"required": [ | |
"code" | |
], | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "string", | |
"example": "XN02" | |
}, | |
"description": { | |
"type": "string", | |
"example": "Band 2" | |
}, | |
"spinePoint": { | |
"type": "string", | |
"example": "60" | |
}, | |
"type": { | |
"type": "string", | |
"example": "01" | |
} | |
} | |
}, | |
"Vacancy_supervisor": { | |
"type": "object", | |
"properties": { | |
"reference": { | |
"type": "string", | |
"example": "http://mycompany.co.uk/employee/emp456" | |
} | |
} | |
}, | |
"Vacancy_workingPattern_coding": { | |
"properties": { | |
"system": { | |
"type": "string", | |
"example": "www.datadictionary.nhs.uk" | |
}, | |
"code": { | |
"type": "string", | |
"example": "Other Flexible Working" | |
}, | |
"display": { | |
"type": "string", | |
"example": "N/A" | |
} | |
} | |
}, | |
"Vacancy_workingPattern": { | |
"required": [ | |
"coding" | |
], | |
"type": "object", | |
"properties": { | |
"coding": { | |
"required": [ | |
"code", | |
"system" | |
], | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_workingPattern_coding" | |
} | |
} | |
} | |
}, | |
"Vacancy_source": { | |
"required": [ | |
"id" | |
], | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The format would always be DeviceDefinition/{id} where id the unique code. This is a unique code created for supplierInstance+Trust combo" | |
}, | |
"software": { | |
"type": "string" | |
}, | |
"version": { | |
"type": "string" | |
}, | |
"endpoint": { | |
"type": "string" | |
} | |
} | |
}, | |
"Vacancy_receiverType_coding": { | |
"properties": { | |
"system": { | |
"type": "string", | |
"example": "mycompany.co.uk/CodeSystem/agencyTypes" | |
}, | |
"code": { | |
"type": "string", | |
"example": "T1" | |
}, | |
"display": { | |
"type": "string", | |
"example": "Tiered 1 Agency" | |
} | |
} | |
}, | |
"Vacancy_receiverType": { | |
"type": "object", | |
"properties": { | |
"coding": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Vacancy_receiverType_coding" | |
} | |
} | |
} | |
}, | |
"Vacancy_receiver": { | |
"type": "object", | |
"properties": { | |
"type": { | |
"type": "string", | |
"example": "Organization" | |
}, | |
"reference": { | |
"type": "string", | |
"example": "http://mycompany.co.uk/Organization/Agency123" | |
}, | |
"identifier": { | |
"$ref": "#/components/schemas/Vacancy_identifier_1" | |
}, | |
"display": { | |
"type": "string", | |
"example": "WardName123 Full Name" | |
} | |
} | |
}, | |
"Vacancy_destination": { | |
"properties": { | |
"receiverType": { | |
"$ref": "#/components/schemas/Vacancy_receiverType" | |
}, | |
"receiver": { | |
"$ref": "#/components/schemas/Vacancy_receiver" | |
} | |
} | |
}, | |
"Vacancy_basedOn": { | |
"type": "object", | |
"properties": { | |
"reference": { | |
"type": "string", | |
"example": "http://mycompany.co.uk/Position/Post123" | |
} | |
} | |
}, | |
"Vacancy_partOf": { | |
"required": [ | |
"reference", | |
"type" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"Vacancy" | |
] | |
}, | |
"reference": { | |
"type": "string" | |
}, | |
"display": { | |
"type": "string" | |
} | |
} | |
}, | |
"Booking_meta": { | |
"required": [ | |
"profile" | |
], | |
"type": "object", | |
"properties": { | |
"versionId": { | |
"type": "number", | |
"example": 0.1 | |
}, | |
"lastUpdated": { | |
"type": "string", | |
"example": "2020-03-09T00:32:50.460Z" | |
}, | |
"profile": { | |
"type": "string", | |
"example": "http://developer.nhs.uk/fhir/StructureDefinition/Booking" | |
} | |
} | |
}, | |
"Booking_assigner": { | |
"required": [ | |
"display" | |
], | |
"type": "object", | |
"properties": { | |
"reference": { | |
"type": "string", | |
"example": "https://directory.spineservices.nhs.uk/STU3/Organization/T1430" | |
}, | |
"type": { | |
"type": "string", | |
"example": "Organization" | |
}, | |
"identifier": { | |
"$ref": "#/components/schemas/Vacancy_assigner_identifier" | |
}, | |
"display": { | |
"type": "string", | |
"example": "Health and Social Care Information Centre" | |
} | |
} | |
}, | |
"Booking_identifier": { | |
"required": [ | |
"system", | |
"type", | |
"value" | |
], | |
"type": "object", | |
"properties": { | |
"type": { | |
"$ref": "#/components/schemas/Vacancy_type" | |
}, | |
"system": { | |
"type": "string", | |
"example": "NHSP" | |
}, | |
"value": { | |
"type": "string", | |
"example": "ref123" | |
}, | |
"period": { | |
"$ref": "#/components/schemas/Vacancy_period" | |
}, | |
"assigner": { | |
"$ref": "#/components/schemas/Booking_assigner" | |
} | |
} | |
}, | |
"Booking_reasonCode_coding": { | |
"properties": { | |
"system": { | |
"type": "string", | |
"example": "mycompany.co.uk/codeSystem/reasonCodes" | |
}, | |
"code": { | |
"type": "string", | |
"example": "01" | |
}, | |
"display": { | |
"type": "string", | |
"example": "Staff Maternity Absence" | |
} | |
} | |
}, | |
"Booking_reasonCode": { | |
"type": "object", | |
"properties": { | |
"coding": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Booking_reasonCode_coding" | |
} | |
} | |
} | |
}, | |
"Booking_Worker_workerReference_identifier_type_coding": { | |
"required": [ | |
"code", | |
"display", | |
"system" | |
], | |
"properties": { | |
"system": { | |
"type": "string", | |
"example": "mycompany.co.uk/codeSystem/identifierType" | |
}, | |
"code": { | |
"type": "string", | |
"example": "B" | |
}, | |
"display": { | |
"type": "string", | |
"example": "Bank Worker" | |
} | |
} | |
}, | |
"Booking_Worker_workerReference_identifier_type": { | |
"required": [ | |
"coding" | |
], | |
"type": "object", | |
"properties": { | |
"coding": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Booking_Worker_workerReference_identifier_type_coding" | |
} | |
} | |
} | |
}, | |
"Booking_Worker_workerReference_identifier": { | |
"required": [ | |
"type", | |
"value" | |
], | |
"type": "object", | |
"properties": { | |
"type": { | |
"$ref": "#/components/schemas/Booking_Worker_workerReference_identifier_type" | |
}, | |
"system": { | |
"type": "string", | |
"example": "mycompany" | |
}, | |
"value": { | |
"type": "string", | |
"example": "employe123" | |
} | |
} | |
}, | |
"Booking_Worker_workerReference": { | |
"type": "object", | |
"properties": { | |
"reference": { | |
"type": "string", | |
"example": "mycompany.co.uk/employee/employe123" | |
}, | |
"type": { | |
"type": "string", | |
"example": "bankWorker" | |
}, | |
"identifier": { | |
"$ref": "#/components/schemas/Booking_Worker_workerReference_identifier" | |
}, | |
"display": { | |
"type": "string", | |
"example": "Jon Doe" | |
} | |
} | |
}, | |
"Booking_Worker_supplier": { | |
"required": [ | |
"reference", | |
"type" | |
], | |
"type": "object", | |
"properties": { | |
"reference": { | |
"type": "string", | |
"example": "mycompany.co.uk/Organization/NationalBank123" | |
}, | |
"type": { | |
"type": "string", | |
"example": "BankProvider" | |
}, | |
"display": { | |
"type": "string", | |
"example": "Bank Provider 123" | |
} | |
} | |
}, | |
"Booking_Worker_notification": { | |
"type": "object", | |
"properties": { | |
"notificationFlag": { | |
"type": "boolean", | |
"example": true | |
}, | |
"notificationTime": { | |
"type": "string", | |
"example": "2020-03-09T11:09:56.977Z" | |
} | |
} | |
}, | |
"Booking_Worker": { | |
"type": "object", | |
"properties": { | |
"workerReference": { | |
"$ref": "#/components/schemas/Booking_Worker_workerReference" | |
}, | |
"status": { | |
"type": "string", | |
"enum": [ | |
"accepted", | |
"refused", | |
"tentative" | |
] | |
}, | |
"supplier": { | |
"$ref": "#/components/schemas/Booking_Worker_supplier" | |
}, | |
"notification": { | |
"$ref": "#/components/schemas/Booking_Worker_notification" | |
} | |
} | |
}, | |
"Booking_qualifications": { | |
"required": [ | |
"code", | |
"priority" | |
], | |
"type": "object", | |
"properties": { | |
"type": { | |
"type": "string", | |
"description": "An extensible list, meaning that it can be expanded", | |
"enum": [ | |
"speciality", | |
"assignmentCode", | |
"grade", | |
"skills", | |
"NMC registration", | |
"qualification" | |
] | |
}, | |
"code": { | |
"$ref": "#/components/schemas/Vacancy_code" | |
}, | |
"priority": { | |
"type": "string", | |
"example": "0" | |
}, | |
"period": { | |
"$ref": "#/components/schemas/Vacancy_period_1" | |
}, | |
"issuer": { | |
"$ref": "#/components/schemas/Vacancy_issuer" | |
}, | |
"fallback": { | |
"$ref": "#/components/schemas/Vacancy_workerType_fallback" | |
} | |
} | |
}, | |
"Booking_source": { | |
"required": [ | |
"id" | |
], | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The format would always be DeviceDefinition/{id} where id the unique code. This is a unique code created for supplierInstance+Trust combo", | |
"example": "Allocate" | |
}, | |
"software": { | |
"type": "string", | |
"example": "Bank Staff" | |
}, | |
"version": { | |
"type": "string", | |
"example": "1.3.0" | |
}, | |
"endpoint": { | |
"type": "string", | |
"example": "10.0.0.1" | |
} | |
} | |
}, | |
"Booking_provider": { | |
"type": "object", | |
"properties": { | |
"reference": { | |
"type": "string", | |
"example": "mycompany.co.uk/Organization/NHSP" | |
}, | |
"type": { | |
"type": "string", | |
"example": "Bank Provider" | |
}, | |
"display": { | |
"type": "string", | |
"example": "NHS Professionals" | |
} | |
}, | |
"description": "Service Provider Details" | |
}, | |
"Booking_employer": { | |
"type": "object", | |
"properties": { | |
"reference": { | |
"type": "string", | |
"example": "mycompany.co.uk/Organization/NHSP" | |
}, | |
"type": { | |
"type": "string", | |
"example": "Bank Provider" | |
}, | |
"display": { | |
"type": "string", | |
"example": "NHS Professionals" | |
} | |
}, | |
"description": "Employer Details the entity whom in charge of PAYE" | |
}, | |
"Booking_basedOn": { | |
"type": "object", | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"Vacancy" | |
] | |
}, | |
"reference": { | |
"type": "string", | |
"example": "http://mycompany.co.uk/Vacancy/Vacancy123" | |
} | |
} | |
}, | |
"Timesheet_meta": { | |
"required": [ | |
"profile" | |
], | |
"type": "object", | |
"properties": { | |
"versionId": { | |
"type": "number", | |
"example": 0.1 | |
}, | |
"lastUpdated": { | |
"type": "string", | |
"example": "2020-03-09T00:32:50.460Z" | |
}, | |
"profile": { | |
"type": "string", | |
"example": "http://developer.nhs.uk/fhir/StructureDefinition/Timesheet" | |
} | |
} | |
}, | |
"Timesheet_type_coding": { | |
"properties": { | |
"system": { | |
"type": "string", | |
"example": "mycompany.co.uk/fhir/codeSystem/identifierType" | |
}, | |
"code": { | |
"type": "string", | |
"example": "MBTRI" | |
}, | |
"display": { | |
"type": "string", | |
"example": "My Bank Timesheet reference Identifier" | |
} | |
} | |
}, | |
"Timesheet_type": { | |
"type": "object", | |
"properties": { | |
"coding": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Timesheet_type_coding" | |
} | |
} | |
} | |
}, | |
"Timesheet_identifier": { | |
"required": [ | |
"system", | |
"type", | |
"value" | |
], | |
"type": "object", | |
"properties": { | |
"type": { | |
"$ref": "#/components/schemas/Timesheet_type" | |
}, | |
"system": { | |
"type": "string", | |
"example": "NHSP" | |
}, | |
"value": { | |
"type": "string", | |
"example": "ref123" | |
}, | |
"period": { | |
"$ref": "#/components/schemas/Vacancy_period" | |
}, | |
"assigner": { | |
"$ref": "#/components/schemas/Booking_assigner" | |
} | |
} | |
}, | |
"Timesheet_identifier_1_type_coding": { | |
"properties": { | |
"system": { | |
"type": "string", | |
"example": "mycompany.co.uk/codeSystem/identifierType" | |
}, | |
"code": { | |
"type": "string", | |
"example": "BOI" | |
}, | |
"display": { | |
"type": "string", | |
"example": "Bank Organization Identifier" | |
} | |
} | |
}, | |
"Timesheet_identifier_1_type": { | |
"required": [ | |
"coding" | |
], | |
"type": "object", | |
"properties": { | |
"coding": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Timesheet_identifier_1_type_coding" | |
} | |
} | |
} | |
}, | |
"Timesheet_identifier_1": { | |
"required": [ | |
"system", | |
"value" | |
], | |
"type": "object", | |
"properties": { | |
"type": { | |
"$ref": "#/components/schemas/Timesheet_identifier_1_type" | |
}, | |
"system": { | |
"type": "string", | |
"example": "myCompanyName" | |
}, | |
"value": { | |
"type": "string", | |
"example": "Org123" | |
} | |
} | |
}, | |
"Timesheet_Organization": { | |
"properties": { | |
"type": { | |
"type": "string", | |
"example": "Organization" | |
}, | |
"reference": { | |
"type": "string", | |
"example": "http://mycompany.co.uk/Organization/org123" | |
}, | |
"identifier": { | |
"$ref": "#/components/schemas/Timesheet_identifier_1" | |
}, | |
"display": { | |
"type": "string", | |
"example": "Org123 Full Name" | |
} | |
} | |
}, | |
"Timesheet_reasonCode_coding": { | |
"properties": { | |
"system": { | |
"type": "string", | |
"example": "mycompany.co.uk/codeSystem/reasonCodes" | |
}, | |
"code": { | |
"type": "string", | |
"example": "10" | |
}, | |
"display": { | |
"type": "string", | |
"example": "Shift work is completed" | |
} | |
} | |
}, | |
"Timesheet_reasonCode": { | |
"type": "object", | |
"properties": { | |
"coding": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Timesheet_reasonCode_coding" | |
} | |
} | |
} | |
}, | |
"Timesheet_Worker": { | |
"type": "object", | |
"properties": { | |
"workerReference": { | |
"$ref": "#/components/schemas/Booking_Worker_workerReference" | |
}, | |
"supplier": { | |
"$ref": "#/components/schemas/Booking_Worker_supplier" | |
}, | |
"notification": { | |
"$ref": "#/components/schemas/Booking_Worker_notification" | |
} | |
} | |
}, | |
"Timesheet_basedOn": { | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"Booking" | |
] | |
}, | |
"reference": { | |
"type": "string", | |
"example": "http://mycompany.co.uk/Vacancy/Bookin123" | |
} | |
} | |
}, | |
"Organization_coding": { | |
"type": "object", | |
"properties": { | |
"system": { | |
"type": "string" | |
}, | |
"code": { | |
"type": "string" | |
}, | |
"display": { | |
"type": "string" | |
} | |
} | |
}, | |
"Organization_type": { | |
"type": "object", | |
"properties": { | |
"coding": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Organization_coding" | |
} | |
} | |
} | |
}, | |
"Organization_type_1_coding": { | |
"required": [ | |
"code", | |
"system" | |
], | |
"type": "object", | |
"properties": { | |
"system": { | |
"type": "string" | |
}, | |
"code": { | |
"type": "string" | |
}, | |
"display": { | |
"type": "string" | |
} | |
} | |
}, | |
"Organization_type_1": { | |
"required": [ | |
"coding" | |
], | |
"type": "object", | |
"properties": { | |
"coding": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Organization_type_1_coding" | |
} | |
} | |
} | |
}, | |
"Organization_identifier": { | |
"required": [ | |
"system", | |
"value" | |
], | |
"type": "object", | |
"properties": { | |
"type": { | |
"$ref": "#/components/schemas/Organization_type_1" | |
}, | |
"system": { | |
"type": "string" | |
}, | |
"value": { | |
"type": "string" | |
} | |
} | |
}, | |
"Organization_telecom": { | |
"type": "object", | |
"properties": { | |
"system": { | |
"type": "string" | |
}, | |
"value": { | |
"type": "string" | |
} | |
} | |
}, | |
"Organization_address": { | |
"type": "object", | |
"properties": { | |
"line": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"Organization_partOf": { | |
"required": [ | |
"reference" | |
], | |
"type": "object", | |
"properties": { | |
"reference": { | |
"type": "string" | |
} | |
} | |
}, | |
"Organization_purpose_coding": { | |
"type": "object", | |
"properties": { | |
"system": { | |
"type": "string" | |
}, | |
"code": { | |
"type": "string" | |
} | |
} | |
}, | |
"Organization_purpose": { | |
"required": [ | |
"coding" | |
], | |
"type": "object", | |
"properties": { | |
"coding": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Organization_purpose_coding" | |
} | |
} | |
} | |
}, | |
"Organization_name": { | |
"required": [ | |
"text" | |
], | |
"type": "object", | |
"properties": { | |
"text": { | |
"type": "string" | |
} | |
} | |
}, | |
"Organization_contact": { | |
"type": "object", | |
"properties": { | |
"purpose": { | |
"$ref": "#/components/schemas/Organization_purpose" | |
}, | |
"name": { | |
"$ref": "#/components/schemas/Organization_name" | |
}, | |
"telecom": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Organization_telecom" | |
} | |
} | |
} | |
} | |
}, | |
"examples": { | |
"Healthroster123Vacancy": { | |
"value": { | |
"resourceType": "Vacancy", | |
"identifier": [ | |
{ | |
"type": { | |
"coding": [ | |
{ | |
"system": "[Allocate Base URL]/codeSystem/Healthroster123IdentifierType", | |
"code": "01", | |
"display": "Shift reference Identifier" | |
} | |
] | |
}, | |
"system": "[Allocate Base URL]/DeviceDefinition/Healthroster123 or /DeviceDefinition/Healthroster123 or Healthroster123", | |
"value": "ref123" | |
} | |
], | |
"status": "requested", | |
"Organization": [ | |
{ | |
"type": "Organization", | |
"identifier": { | |
"type": { | |
"coding": [ | |
{ | |
"system": "[Allocate Base URL]/codeSystem/Healthroster123IdentifierType", | |
"code": "WI", | |
"display": "Ward Identifier" | |
} | |
] | |
}, | |
"system": "[Allocate Base URL]/DeviceDefinition/Healthroster123 or /DeviceDefinition/Healthroster123 or Healthroster123", | |
"value": "WardA" | |
}, | |
"display": "Ward A Full Name" | |
} | |
], | |
"plannedTime": { | |
"timing": [ | |
{ | |
"boundsPeriod": { | |
"start": "2020-11-11", | |
"end": "2020-11-11" | |
}, | |
"servicePeriod": { | |
"start": "09:00:00", | |
"end": "17:00:00", | |
"serviceDuration": { | |
"unit": "h", | |
"value": "8" | |
} | |
}, | |
"breakPeriod": { | |
"start": "12:00:00", | |
"end": "13:00:00", | |
"breakDuration": { | |
"unit": "m", | |
"value": "60" | |
} | |
} | |
} | |
] | |
}, | |
"reasonCode": { | |
"coding": [ | |
{ | |
"system": "[Allocate Base URL]/codeSystem/Healthroster123ReasonCodes", | |
"code": "r5", | |
"display": "Staff Maternity Absence" | |
} | |
] | |
}, | |
"authorisationDate": "2020-03-09T00:32:50.461Z", | |
"authorisationCode": "Code123", | |
"trigerredBy": [ | |
{ | |
"name": "Medi Harsini", | |
"type": "resourceStatus", | |
"date": "2014-06-25T00:00:00.000Z" | |
} | |
], | |
"gender": { | |
"coding": [ | |
{ | |
"system": "[Allocate Base URL]/codeSystem/Healthroster123-gender", | |
"code": "male", | |
"display": "Male" | |
} | |
] | |
}, | |
"workerType": { | |
"multipleWorker": false, | |
"AgencyNotPreferred": false | |
}, | |
"shiftType": { | |
"coding": [ | |
{ | |
"system": "[Allocate Base URL]/CodeSystem/Healthroster123ShiftType", | |
"code": "N", | |
"display": "Normal" | |
} | |
] | |
}, | |
"qualifications": [ | |
{ | |
"type": "Grade", | |
"code": { | |
"coding": [ | |
{ | |
"system": "[Allocate Base URL]/codeSystem/Healthroster123GradeType", | |
"code": "10", | |
"display": "Band 5 registred Nurse" | |
} | |
] | |
}, | |
"priority": "0", | |
"fallback": { | |
"unit": "min", | |
"value": "120" | |
} | |
}, | |
{ | |
"type": "Grade", | |
"code": { | |
"coding": [ | |
{ | |
"system": "[Allocate Base URL]/codeSystem/Healthroster123GradeType", | |
"code": "12", | |
"display": "Band 6 registred Nurse" | |
} | |
] | |
}, | |
"priority": "1" | |
} | |
], | |
"notes": [ | |
{ | |
"text": "Simple Text part of the note", | |
"audience": "Worker", | |
"date": "2020-11-10T12:58:01.848Z", | |
"madeBy": "Medi Harsini" | |
} | |
], | |
"staffGroup": { | |
"coding": { | |
"system": "NHSdatadictionary.nhs.uk/CodeSystem/staffGroup", | |
"code": "04", | |
"display": "Emergency Care - Other Emergency Care" | |
} | |
}, | |
"costCentre": "65388", | |
"source": { | |
"id": "[Allocate Base URL]/DeviceDefinition/Healthroster123 or Healthroster123", | |
"software": "HealthRoster", | |
"version": "1.0" | |
}, | |
"destination": [ | |
{ | |
"receiverType": { | |
"coding": [ | |
{ | |
"system": "[Allocate Base URL]/CodeSystem/partnerTypes", | |
"code": "MB", | |
"display": "Managed Bank" | |
} | |
] | |
}, | |
"receiver": { | |
"type": "Organization", | |
"reference": "http://[Allocate Base URL]/Organization/NHSP", | |
"display": "NHS Professionals" | |
} | |
} | |
] | |
} | |
}, | |
"NHSPResponceVacancy": { | |
"value": { | |
"resourceType": "Vacancy", | |
"id": "7b4d88af-bb8f-4d36-8460-f2b4227e0d67", | |
"meta": { | |
"versionId": 0.1, | |
"lastUpdated": "2020-03-09T00:32:50.460Z", | |
"profile": "http://developer.nhs.uk/fhir/StructureDefinition/Vacancy" | |
}, | |
"identifier": [ | |
{ | |
"type": { | |
"coding": [ | |
{ | |
"system": "[Allocate Base URL]/codeSystem/Healthroster123IdentifierType", | |
"code": "01", | |
"display": "Shift reference Identifier" | |
} | |
] | |
}, | |
"system": "[Allocate Base URL]/DeviceDefinition/Healthroster123 or /DeviceDefinition/Healthroster123 or Healthroster123", | |
"value": "ref123" | |
}, | |
{ | |
"type": { | |
"coding": [ | |
{ | |
"system": "[NHSP Base URL]/codeSystem/NHSPIdentifierType", | |
"code": "SRI", | |
"display": "Staffbank Shift reference Identifier" | |
} | |
] | |
}, | |
"system": "[NHSP Base URL]/DeviceDefinition/NHSP or /DeviceDefinition/NHSP or NHSP", | |
"value": "ref678" | |
} | |
], | |
"status": "requested", | |
"Organization": [ | |
{ | |
"type": "Organization", | |
"reference": "[Allocate Base URL]/Organization/WardA", | |
"identifier": { | |
"type": { | |
"coding": [ | |
{ | |
"system": "[Allocate Base URL]/codeSystem/Healthroster123IdentifierType", | |
"code": "WI", | |
"display": "Ward Identifier" | |
} | |
] | |
}, | |
"system": "[Allocate Base URL]/DeviceDefinition/Healthroster123 or /DeviceDefinition/Healthroster123 or Healthroster123", | |
"value": "WardA" | |
}, | |
"display": "Ward A Full Name" | |
}, | |
{ | |
"type": "Organization", | |
"reference": "[NHSP Base URL]/Organization/WardB", | |
"identifier": { | |
"type": { | |
"coding": [ | |
{ | |
"system": "[Allocate Base URL]/codeSystem/NHSPIdentifierType", | |
"code": "W", | |
"display": "Ward Identifier" | |
} | |
] | |
}, | |
"system": "[NHSP Base URL]/DeviceDefinition/NHSP or /DeviceDefinition/NHSP or NHSP", | |
"value": "WardB" | |
}, | |
"display": "Ward B Full Name" | |
} | |
], | |
"plannedTime": { | |
"timing": [ | |
{ | |
"boundsPeriod": { | |
"start": "2020-11-11", | |
"end": "2020-11-11" | |
}, | |
"servicePeriod": { | |
"start": "09:00:00", | |
"end": "17:00:00", | |
"serviceDuration": { | |
"unit": "h", | |
"value": "8" | |
} | |
}, | |
"breakPeriod": { | |
"start": "12:00:00", | |
"end": "13:00:00", | |
"breakDuration": { | |
"unit": "m", | |
"value": "60" | |
} | |
} | |
} | |
] | |
}, | |
"reasonCode": { | |
"coding": [ | |
{ | |
"system": "[Allocate Base URL]/codeSystem/Healthroster123ReasonCodes", | |
"code": "r5", | |
"display": "Staff Maternity Absence" | |
}, | |
{ | |
"system": "[NHSP Base URL]/codeSystem/NHSPReasonCodes", | |
"code": "05", | |
"display": "Staff Maternity Absence" | |
} | |
] | |
}, | |
"authorisationDate": "2020-03-09T00:32:50.461Z", | |
"authorisationCode": "Code123", | |
"trigerredBy": [ | |
{ | |
"name": "Medi Harsini", | |
"type": "resourceStatus", | |
"date": "2014-06-25T00:00:00.000Z" | |
} | |
], | |
"gender": { | |
"coding": [ | |
{ | |
"system": "[Allocate Base URL]/codeSystem/Healthroster123Gender", | |
"code": "02", | |
"display": "Male" | |
}, | |
{ | |
"system": "[NHSP Base URL]/codeSystem/NHSP-Gender", | |
"code": "m", | |
"display": "Male" | |
} | |
] | |
}, | |
"workerType": { | |
"multipleWorker": false, | |
"AgencyNotPreferred": false | |
}, | |
"shiftType": { | |
"coding": [ | |
{ | |
"system": "[Allocate Base URL]/CodeSystem/Healthroster123ShiftType", | |
"code": "N", | |
"display": "Normal" | |
}, | |
{ | |
"system": "[NHSP Base URL]/CodeSystem/NHSPShiftType", | |
"code": "N", | |
"display": "Normal" | |
} | |
] | |
}, | |
"qualifications": [ | |
{ | |
"type": "Grade", | |
"code": { | |
"coding": [ | |
{ | |
"system": "[Allocate Base URL]/codeSystem/Healthroster123GradeType", | |
"code": "10", | |
"display": "Band 4 registred Nurse" | |
} | |
] | |
}, | |
"priority": "0", | |
"fallback": { | |
"unit": "min", | |
"value": "120" | |
} | |
}, | |
{ | |
"type": "Grade", | |
"code": { | |
"coding": [ | |
{ | |
"system": "[Allocate Base URL]/codeSystem/Healthroster123GradeType", | |
"code": "12", | |
"display": "Band 6 registred Nurse" | |
} | |
] | |
}, | |
"priority": "1" | |
}, | |
{ | |
"type": "AssignmendCode", | |
"code": { | |
"coding": [ | |
{ | |
"system": "[NHSP Base URL]/codeSystem/NHSP-AssignmendCode", | |
"code": "RN04", | |
"display": "Band 4 registred Nurse" | |
} | |
] | |
}, | |
"priority": "0", | |
"fallback": { | |
"unit": "min", | |
"value": "120" | |
} | |
}, | |
{ | |
"type": "AssignmendCode", | |
"code": { | |
"coding": [ | |
{ | |
"system": "[NHSP Base URL]/codeSystem/NHSP-AssignmendCode", | |
"code": "RN00", | |
"display": "Band 6 registred Nurse" | |
} | |
] | |
}, | |
"priority": "1" | |
} | |
], | |
"notes": [ | |
{ | |
"text": "Simple Text part of the note", | |
"audience": "Worker", | |
"date": "2020-11-10T12:58:01.848Z", | |
"madeBy": "Medi Harsini" | |
} | |
], | |
"staffGroup": { | |
"coding": { | |
"system": "NHSdatadictionary.nhs.uk/CodeSystem/staffGroup", | |
"code": "04", | |
"display": "Emergency Care - Other Emergency Care" | |
} | |
}, | |
"costCentre": "65388", | |
"source": { | |
"id": "[Allocate Base URL]/DeviceDefinition/Healthroster123", | |
"software": "HealthRoster", | |
"version": "1.0" | |
}, | |
"destination": [ | |
{ | |
"receiverType": { | |
"coding": [ | |
{ | |
"system": "[Allocate Base URL]/CodeSystem/partnerTypes", | |
"code": "MB", | |
"display": "Managed Bank" | |
} | |
] | |
}, | |
"receiver": { | |
"type": "Organization", | |
"reference": "http://[Allocate Base URL]/Organization/NHSP", | |
"display": "NHS Professionals" | |
} | |
} | |
] | |
} | |
} | |
}, | |
"requestBodies": { | |
"Vacancy": { | |
"description": "Vacancy Request Body Information", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Vacancy" | |
} | |
} | |
}, | |
"required": true | |
}, | |
"Booking": { | |
"description": "Booking Body Information", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Booking" | |
} | |
} | |
}, | |
"required": true | |
}, | |
"Timesheet": { | |
"description": "Booking Body Information", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Timesheet" | |
} | |
} | |
}, | |
"required": true | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment