Skip to content

Instantly share code, notes, and snippets.

@grongierisc
Created September 29, 2021 16:09
Show Gist options
  • Save grongierisc/44aff734f94921198e868d291ef0d483 to your computer and use it in GitHub Desktop.
Save grongierisc/44aff734f94921198e868d291ef0d483 to your computer and use it in GitHub Desktop.
{
"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