{"openapi":"3.0.3","info":{"title":"Directory of Services - Urgent and Emergency Care - SOAP API","description":"\n<div class=\"nhsd-m-emphasis-box nhsd-m-emphasis-box--emphasis nhsd-!t-margin-bottom-6\" aria-label=\"Highlighted Information\">\n <div class=\"nhsd-a-box nhsd-a-box--border-blue\">\n <div class=\"nhsd-m-emphasis-box__image-box\">\n <figure class=\"nhsd-a-image\">\n <picture class=\"nhsd-a-image__picture\">\n <img src=\"http://digital.nhs.uk/binaries/content/gallery/icons/info.svg?colour=231f20\" alt=\"\" style=\"object-fit:fill\">\n </picture>\n </figure>\n </div>\n <div class=\"nhsd-m-emphasis-box__content-box\">\n <div data-uipath=\"website.contentblock.emphasis.content\" class=\"nhsd-t-word-break\">\n <p class=\"nhsd-t-body\">This API will be deprecated on the 31st of May 2026 as we are re-platforming the DoS API and will be replacing it with a new FHIR based API</a>. </p></div></div></div></div>\n\n## Overview\n\nYou can search for services based on a combination of parameters: \n\n* find an appropriate list of services for a specific clinical need\n* get technical endpoint information for a given service, using a service ID or ODS code\n* obtain capacity information for specified hospitals or wards, using a service ID or ODS code\n\nThis service is widely used in an Urgent and Emergency Care context using [NHS Pathways](https://digital.nhs.uk/services/nhs-pathways) outcomes. For example, NHS 111 use it to find a service in real-time with the capacity to help a patient with given symptoms, within range of a given location.\n\nYou need a valid DoS account to use this API.\n\nDuring the [onboarding](https://digital.nhs.uk/developer/api-catalogue/directory-of-services-urgent-and-emergency-care-soap#overview--onboarding) process, an account will be created for each connecting party's application for each environment, where authentication credentials will be granted.\n\nPlease see the [Web Service v1.5 WSDL Documentation](https://www.directoryofservices.nhs.uk/app/api/webservices?wsdl=1.5) for more details.\n\nPlease see the [CheckCapacitySummary](#post-/CheckCapacitySummary) endpoint and the [ServiceDetailsById](#post-/ServiceDetailsById) endpoint for more details on the new functionality included in this release.\n\n### The path to the SOAP API is: \n\nhttps://webservice.directoryofservices.nhs.uk/app/api/webservices where `webservice` is replaced with a subdomain specific to the environment you are targeting.\n\nFor a non-technical overview of how to build software that deals with:\n\n* organisations and healthcare services, see [Building healthcare software - organisations and healthcare services](https://digital.nhs.uk/developer/guides-and-documentation/building-healthcare-software/organisations-and-services)\n* referrals and bookings, see [Building healthcare software - referrals and bookings](https://digital.nhs.uk/developer/guides-and-documentation/building-healthcare-software/referrals-and-bookings)\n\n## Who can use this API\n\nThis API can only be used where there is a legal basis to do so. See our [acceptable use policy](https://digital.nhs.uk/services/directory-of-services-dos/api-acceptable-use-policy) for more details.\n\nYou must have made this request before you can go live (see 'Onboarding' below).\n\n## Access modes\n\nThis API has one access mode:\n\n* application-restricted\n\nThis access mode means that we authenticate and authorise the connecting party's application but not the end user. \n\nDuring the onboarding process, an account will be created for each connecting party's application for each environment, where authentication credentials will be granted.\n\n## Roadmap \n\nWe're currently finalising our roadmap and we'll update this content in due course.\n\n## API status\n\nThis API is [in production](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#statuses).\n\n## Service Level\n\nThis API is a gold service, meaning it is operational and supported 24 hours a day, 365 days a year.\n\nFor more details, see [service levels](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#service-levels).\n\n## Rate limits\n\nWe monitor the number of transactions a connecting party can make per unit of time. We do this to protect our service against excessive use and denial-of-service (DOS) attacks.\n\nIt is paramount to us that our APIs and services are available to all connecting parties at all times, and so it is important that we protect our APIs against rogue requests, DoS attacks and unfair usage (both intentional and unintentional).\n\nOur default rate limit for the production environment is 10 transactions per second (tps) per connecting party account. Rate limits are applied within a rolling minute window, not per individual second - so at the default limit of 10tps, a connecting party account can perform up to 600 transactions in any given (rolling) minute.\n\nWe will monitor the rate limit and traffic flows through our API and will raise concerns if we think the rate limit is too low. As well as us monitoring we encourage connecting parties to also let us know if the 429 occurs too frequently.\n\nWe also encourage connecting parties to let us know if the API response “429 - Too Many Requests” occurs too frequently.\n\nWe will work with and advise connecting parties on configuring the rate limit to meet the legitimate request demands and in helping us protect our APIs and services in making sure that they are always available.\n\n## Technology\n\nThis API is a SOAP API.\n\nFor more details, see [Basic SOAP](https://digital.nhs.uk/developer/guides-and-documentation/api-technologies-at-nhs-digital#basic-soap).\n\n## Network access\n\nThis API is available on the internet and, indirectly, on the [Health and Social Care Network (HSCN)](https://digital.nhs.uk/services/health-and-social-care-network).\n\nWe're operating in a cloud setting and the expectation is that IPv4 addressing should vary.\n\nFor more details, see [Network access for APIs](https://digital.nhs.uk/developer/guides-and-documentation/network-access-for-apis).\n\n## Errors\n\nWe use standard HTTP status codes to show whether an API request succeeded or not. They are usually in the range:\n\n* 200 to 299 if it succeeded, including code 202 if it was accepted by an API that needs to wait for further action\n\n* 500 to 599 if it failed because of an error on our server\n\nErrors specific to each API are shown in the Endpoints section, under Response. See our [reference guide](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#http-status-codes) for more on errors.\n\n## Open source\n\nThere are no open source resources currently available for this API.\n\n## Security and authorisation\n\nYou need a [valid DoS account](https://digital.nhs.uk/services/directory-of-services-dos/api-acceptable-use-policy) to use this API.\n\nPlease see the [authentication](#overview--authentication) section for more details.\n\n## Environments and testing\n\n| Environment | Base URL |\n|----------------------|--------------------------|\n| Integration testing | https://usertest.directoryofservices.nhs.uk/app/controllers/api |\n| Production | https://www.directoryofservices.nhs.uk/app/api/webservices |\n\n### Integration testing\n\nOur [integration testing environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#integration-testing):\n\n* contains a snapshot of production-like data (but with itk/email integration points taken out to prevent test systems from invoking real live processes) \n\n* is for formal integration testing\n\n* includes application-restricted authentication (account credentials)\n\n* includes SSL certificate presentation from our server, signed by production CAs\n\nOur integration test environment is NOT suitable for any of the following without prior written agreement:\n\n* any form of performance, load, or stress testing\n\n* any form of penetration testing\n\nTo prevent the data in our integration test environment from going stale, we refresh its data from production from time to time. All connecting parties currently onboarded onto our integration test environment will receive an email to inform as to when this process is due to take place. \n\n### Production\n\nOur production environment is suitable for live traffic only, and we will monitor calls through our production APIs.\n\n## Services\n\nA service represents some kind of health or care service that is provided by a healthcare provider. Services can be defined at a high level (e.g. High Street Pharmacy) or at a granular level (e.g. High Street Pharmacy - Flu Vaccination Service). Although a service may be created to represent an organisation, or a physical location - it is important to remember that services are not automatically equivalent to organisations and physical locations.\n\nYou may see references to 'profiling' when working with the DoS: the word 'profiling' is often used to describe the process of defining and configuring a service with detailed information ranging from administrative details (eg. name, address, phone number) to clinical capabilities (by way of clinical terminology).\n\n### Service types\n\nMost records within the DoS are a service record of some type. A comprehensive list of the different service types can be found on the [Directory of Services profiling principles page](https://www.england.nhs.uk/long-read/directory-of-services-profiling-principles/). Most service types behave in the same way, but there are a few which have special status or attributes. These are:\n\n* commissioning organisation\n* region\n\n## Disposition codes\n\nA disposition code is an indication of the needs of the patient encompassing both the general category of service required and the timeframe within which that service is required. There are hundreds of dispositions in the [full list](https://www.england.nhs.uk/statistics/statistical-work-areas/iucadc-new-from-april-2021/nhs-111-minimum-data-set/), but they tend to exist in groups. You may have several disposition codes representing a single category of service but covering a number of different timescales.\n\nBelow is an example of some disposition codes:\n\n| Disposition code | Descriptive name |\n|------------------|------------------|\n| Dx13 | Speak to a primary care service within 6 hours |\n| Dx17 | To contact a dental service within 1 hour |\n| Dx80 | Repeat prescription required within 6 hours |\n| Dx120 | Callback by healthcare professional within 4 hours | \n\n### Symptom groups / symptom discriminators (SG/SD codes)\n\nThis is a proprietary coding system developed to support the NHS Pathways triage product.\n \nThe codes are designed to be used in pairs to provide clinical context to a search. The Symptom Group (SG) describes the presenting issue and the Symptom Discriminator (SD) describes the clinical need. Please note that combinations which do not search the DoS are not shown here.\n \nFor a full list of interactions for this API, see the DoS REST API `SG ID SG Description`.\n \n| SG ID | SG Description | \n|------------------|------------------|\n| SG1011 | Ankle or foot injury, blunt |\n| SD4003PC | PC full primary care assessment and prescribing capability |\n| SD4010 | ALL assault, sexual |\n| SD4052ED | ED full ED assessment and management capability |\n| SD4304 | ED unable to weigh to ear |\n| SD4003PC | PC full PC assessment and prescribing capability |\n| SD4020PC | PC Assessment and management capability, minor condition |\n| SD4052ED | ED full ED assessment and management capability |\n\n## Onboarding\n\nYou must get your software onboarded before it can go live.\n\nYou can express your interest in connecting to the DoS SOAP API by using the [Digital Onboarding](https://digital.nhs.uk/developer/guides-and-documentation/digital-onboarding) online portal. This portal supports the onboarding for single or multiple APIs.\n\nAlternatively, if you need help and support connecting to our APIs, to get started with an onboarding process, or to discuss your requirements in more detail, please complete our [enquiry form](https://digital.nhs.uk/services/partner-onboarding/enquiry-form).\n\nOnboarding to the DoS SOAP API usually takes about 4 months, unless you, the connecting party, need more time to meet the required conformance requirements and complete your onboarding.\n\nOnce logged into [Digital Onboarding](https://digital.nhs.uk/developer/guides-and-documentation/digital-onboarding), you’ll be asked to provide us with an outline of your product, organisation and the use case illustrating the purpose of using the DoS SOAP API for your product.\n\nPlease familiarise yourself with our [API Acceptable use policy](https://digital.nhs.uk/services/directory-of-services-dos/api-acceptable-use-policy), explaining what we prohibit when any party uses any API connecting to the Directory of Services (DoS), and the [Find the Right Service Onboarding Rules of Engagement](https://digital.nhs.uk/developer/api-catalogue/directory-of-services-urgent-and-emergency-care-soap/onboarding-guidance-and-downloadable-templates#:~:text=Find%20the%20Right%20Service%20Onboarding%20Rules%20of%20Engagement%2C%20v0.2.docx), providing more guidance on your commitment in completing the onboarding.\n\nPlease see the [Onboarding guidance page](https://digital.nhs.uk/developer/api-catalogue/directory-of-services-urgent-and-emergency-care-soap/onboarding-guidance-and-downloadable-templates) for detailed instructions on the whole onboarding process with links to downloadable templates and other useful resources.\n\n## Related APIs\n\nThe following APIs are related to this one:\n\n* [Directory of Services - Urgent and Emergency Care - REST API](https://digital.nhs.uk/developer/api-catalogue/directory-of-services-urgent-and-emergency-care-rest) - use this REST API to access information on a wide range of health and care services across England\n* [EPS Directory of Services - REST API](https://digital.nhs.uk/developer/api-catalogue/electronic-prescription-service-directory-of-services) - use this API to access information about dispensing services, including searching for dispensers who can provide services for a patient with a given location and urgency\n* [e-Referral Services - A010 Patient service search endpoint](https://digital.nhs.uk/developer/api-catalogue/e-referral-service-fhir#api-Default-a010-patient-service-search) - use this endpoint to find services that meet the referral needs of a patient\n* [NHS UK service search ](http://developer.api.nhs.uk/nhs-api) - use this to search for services by [organisation](https://developer.api.nhs.uk/nhs-api/documentation/service-search-organisations) or [organisation type](https://developer.api.nhs.uk/nhs-api/documentation/service-search-organisation-types)\n\n## Authentication \n\nAll methods on the SOAP API require a `User` object to authenticate.\n\n```xml\n<web:userInfo>\n <web:username></web:username>\n <web:password></web:password>\n</web:userInfo>\n```\n\nThe supplied username and password must be a valid, active account within the instance of the DoS that you are targeting.\n\nIf you supply an invalid set of credentials, you will receive a `Fault` object:\n\n```xml\n <env:Fault>\n <env:Code>\n <env:Value>302</env:Value>\n </env:Code>\n <env:Reason>\n <env:Text>Authentication Failed: Please check user credentials (username/password) or check whether the user account is locked (use password reset to unlock)</env:Text>\n </env:Reason>\n </env:Fault>\n```\n\nThe same error will be returned if you try to use an account that has been locked due to too many failed login attempts.\n\n### Permissions\n\nA specific permission `webService` must be applied to a user account in order to use the SOAP API.\n \nIf you supply valid credentials which do not have the appropriate permission, you will receive:\n \n```xml\n <env:Fault>\n <env:Code>\n <env:Value>303</env:Value>\n </env:Code>\n <env:Reason>\n <env:Text>Incorrect Privileges: Please check that the user has the correct privileges to run this service</env:Text>\n </env:Reason>\n </env:Fault>\n```\n\n## Reference Data - Rejection Reasons\n\nRejection reasons are required to as part of the Pathways Triage. When a DOS Return is rejected, the following should be given as a reason.\n\n| ReasonID | ReasonText | Presentation order | Require comment? | Clinicians only? |\n|----------|------------|--------------------|------------------|------------------|\n| RR1 | Already under care/recently attended service | 1 | N | N |\n| RR2 | Lack of capacity/timing unsuitable | 2 | N | N |\n| RR3 | Inaccessible due to transport or distance | 3 | N | N |\n| RR4 | Patient personal preference | 4 | Y | N |\n| RR5 | Not clinically suitable | 5 | Y | Y |\n| RR6 | Unsuitable due to other criteria | 6 | Y | N |\n","version":"1.0.0"},"servers":[{"url":"/PathWayService"}],"paths":{"/CheckCapacitySummary":{"post":{"summary":"CheckCapacitySummary","description":"## Overview\n\nCheckCapacitySummary allows a consumer to perform a fully-ranked (curated) search to find services that can provide appropriate care to meet a patient’s clinical need.\n\n| Type | Description |\n|-----------|----------------------------------|\n| Request | A non-identifiable representation of a ‘clinical case’ |\n| Response | A curated, ordered set of service results (valid requests should always return some results - see “Catch All Search” page) |\n\n## Key features\n\n### CheckCapacitySummary Request\n\n#### Age functionality\n\nVersion 1.5 of the CheckCapacitySummary allows for a more granular search, using the actual age of the patient, in days, months or years, rather than using a fixed age group. The Check Capacity Summary request has been updated to accommodate this. The AgeFormat field will remain in place but will allow entry of two new formats – Months and Days – in addition to the existing Years and Groups.\n\nThe Age field will remain in place, and allow a number between 0 - 129, but additional validation will ensure that only valid numbers are entered according to the age format used. Years may be used where the patient aged between 2 and 129 years.\n\nMonths may be used where the patient is less than two years old, the upper limit being 23 months (to include the day before the patient’s second birthday), and the lower limit being 1 month. Where the patient is two or older, then Years must be used. Where the patient is less than 1 month, then Days must be used.\n\nDays may only be used where the patient is less than one month old, the upper limit being 31 days. Where the patient is deemed to be one month or more (which could occur before the 31 day upper limit), then months should be used.\n\nIf a Months or Years format is used, this will be converted to a number of days where: \n\n* `daysinmonth` = 30.4375 \n* `daysinyear` = 365.25 \n\n> These are then rounded down to a whole number.\n>\n> The calculated value in days will be returned in the response.\n\nIt should be noted that sending an age group will still be allowed under version 1.5 but will be discouraged unless the exact age of the patient cannot be determined, as the results may not accurately reflect the age ranges that the service has been profiled for.\n\nAdditional validation ensures that both the AgeFormat and the Age fields are mandatory.\n \n#### Distance Override\n\nCurrently the search will only use the distance passed in the request if there is no distance in the DoS postcode file which matches the postcode used.\n\nAn override option will prioritise the distance in the web service over that stored in the DoS. This function should be used with caution, and primarily for testing purposes, as the postcode files in the DoS have been carefully profiled by DoS Leads.\n\n#### Additional Validation on Input Fields\n\nCurrently if an SG is passed in which passes the formatting rules but does not exist in the DoS database, the request is accepted but the search will fail to match on any services and will invoke a catch-all response. Additional validation will be added to ensure that only SG codes which are known to the DoS can be searched, and an error will be returned if this is not the case.\n\nCurrently if a disposition is passed in which passes the formatting rules but does not exist in the DoS database, the request is accepted and the search will not match against dispositions. Additional validation will be added to ensure that only disposition codes which are known to the DoS can be searched, and an error will be returned if this is not the case.\n\n#### Changes To Existing Error Codes\n\nSome error codes are not currently unique; the affected codes will be re-numbered so that the error can be more easily identified by the code alone. Initially this only affects error 106 - invalid age format supplied, but this page will be updated as more changes are made. More detail on web service errors can be found in the [‘Error Codes’]() section.\n\n### CheckCapacitySummary Response\n\n#### Current Wait Times\n\nThe CheckCapacitySummary response includes a placeholder array to allow for the inclusion of waiting times in the future. This will be included in the response once for each service that is returned. Initially this will always be returned with null values.\n \nThese fields, grouped with the tag `capacityAttributes`, are:\n\n* name\n* description\n* value\n\nThis provides the flexibility for additional capacity metrics to be added in the future, without changing the web service. \n\nThe names currently planned for are:\n\n* CurrentWaitTime\n* PatientsInDepartment\n* PatientsBeingSeen\n* Notes\n\n#### Service Endpoints\n\nThe CheckCapacitySummary response includes the service endpoints for each service that is returned. \n\nThe fields, grouped with the tag `serviceEndPoints`, are:\n\n* order\n* transport\n*\tformat\n*\tinteraction\n*\tbusinessScenario\n*\taddress\n*\tcompression\n*\tcomment\n\nAdditional transport methods to support direct booking are included in v1.5 responses. These responses use the same fields as all other endpoints, although the order may not be required for this type.\n\n#### Search Distance and Source\n\nDoS version 4.12 introduced the ability for DoS Leads to specify the optimum search distance for each postcode area. This means that the distance passed in the CheckCapacitySummary request may not be used.\n \nThe response now includes the actual distance that was used in the search, together with the source used to obtain the distance. \n \nThe sources are:\n\n* postcode\n*\tdistrict\n*\tsector\n*\twebservice\n*\tnational\n\n#### Service Age Ranges\n\nFor each service that is returned in the CheckCapacitySummary response, the age ranges profiled for each returned service are included.\n\nThe fields, grouped with the tag `serviceAgeRange`, are:\n\n* age from\n* age to\n\n## Search Logic\n\nWhen a consumer posts a CheckCapacitySummary request, there is a fairly complex set of logic steps that are performed before a results set is- returned.\n\nThese steps can be thought of as a `filter pipeline`, with each step of the pipeline taking a broad results set and returning a more narrow results set. The pipeline process is largely transparent to the API consumer.\n\nThere are several different types of filters that are applied:\n\n* basic permissions - validate the XML, the account permissions and some initial parameters.\n* service attribute filters - discount a large number of services based on distance, symptom group (SG), gender and GP surgery.\n* fine filter - filter remaining services based on the other parameters and begin Gap processing.\n* calculate display order - determine the order in which services return, based on ranking and other rules.\n\nThis is explained in more detail in the [“CC Search Logic”]() section Need to change.\n\n## Field Definition\n\n### Request\n\nThe following table details the parameters included in a Check Capacity Summary v1.5 request.\n\n| Field Name | Required? | Type | Default Value | Description |\n|---------|--------|--------|--------|--------------------|\n| serviceVersion | No | string | 1.3 | The web service version being requested, must be a valid value |\n| username | Yes | string | N/A | Must be an active DoS account |\n| password | Yes | string | N/A | Must match the password for the username |\n| caseRef | No | string | N/A | Reference used by provider system – not used in search but included in audit logs and used for support purposes |\n| caseId | No | string | N/A | Reference used by provider system – not used in search but included in audit logs and used for support purposes |\n| postcode | Yes | string | N/A | Must be a valid UK postcode |\n| surgery | No | string | N/A | GP surgery ODS code |\n| age | Yes | int | N/A | min 0, max 129 – accepted value is dependent on age format used. Days = 0-31, Months = 1-23, Years = 2-129, AgeGroup = 1-4 |\n| ageFormat | Yes | string | N/A | Available values: Days, Months, Years, AgeGroup |\n| disposition | No | int | N/A | Disposition ID |\n| symptomGroup | Yes | int | N/A | Symptom Group ID |\n| symptomDiscriminatorList | Yes | Array: int | N/A | Symptom Discriminator ID |\n| searchDistance | No | int | 60 | kilometers, min 1, max 99 |\n| forceSearchDistance | No | Boolean | False | When true, the distance passed in the request will be used before any pre-set search distance |\n| gender | No | string | I | Available values: M, F, I |\n| SearchDateTime | No | date/time | current date/time | Example value: 2019-01-20T08:44:00+00:00 |\n\n### Response\n\nThe following table details the Check Capacity Summary v1.5 response. Nested fields use dot notation to indicate their parent element (e.g. `serviceCareSummaryDestination.id`, `rotaSessions.startDayOfWeek`, `serviceAgeRange.daysFrom`).\n\n| Field Name | Required? | Type | Default Value | Description |\n|--------|--------|--------|--------|---------------------|\n| TransactionId | Yes | string | N/A | Unique identifier for the transaction |\n| RequestedAtDateTime | Yes | date/time | N/A | The date and time the request was received. Example value: 2026-03-25T15:19:42 |\n| SearchDateTime | Yes | date/time | current date/time | The date and time used for the search. Example value: 2026-03-25T15:19:42 |\n| SearchDistance | Yes | int | 60 | The search distance used in kilometres |\n| SearchDistanceUsedSource | Yes | string | National | The source used to determine the search distance. Available values: Postcode, Sector, District, WebService, National, Override |\n| serviceCareSummaryDestination.id | Yes | int | N/A | Unique service identifier |\n| serviceCareSummaryDestination.capacity | Yes | string | N/A | Current capacity status of the service. Example values: High, Low, None |\n| serviceCareSummaryDestination.name | Yes | string | N/A | Internal name of the service |\n| serviceCareSummaryDestination.publicName | No | string | N/A | Public-facing name of the service |\n| serviceCareSummaryDestination.contactDetails | No | string | N/A | Public contact telephone number for the service |\n| serviceCareSummaryDestination.address | Yes | string | N/A | Address of the service |\n| serviceCareSummaryDestination.postcode | Yes | string | N/A | Postcode of the service |\n| serviceCareSummaryDestination.northings | Yes | int | N/A | Ordnance Survey northings coordinate |\n| serviceCareSummaryDestination.eastings | Yes | int | N/A | Ordnance Survey eastings coordinate |\n| serviceCareSummaryDestination.url | No | string | N/A | Website URL for the service |\n| serviceCareSummaryDestination.serviceType.id | Yes | int | N/A | Identifier of the service type |\n| serviceCareSummaryDestination.serviceType.name | Yes | string | N/A | Name of the service type (e.g. GP Practice, Urgent Treatment Centre (UTC)) |\n| serviceCareSummaryDestination.odsCode | No | string | N/A | ODS code for the service |\n| serviceCareSummaryDestination.nonPublicTelephoneNo | No | string | N/A | Non-public telephone number for clinician use |\n| serviceCareSummaryDestination.fax | No | string | N/A | Fax number for the service |\n| serviceCareSummaryDestination.publicFacingInformation | No | string | N/A | Information displayed to the public |\n| serviceCareSummaryDestination.distance | Yes | decimal | N/A | Distance from the search postcode in miles |\n| serviceCareSummaryDestination.referralInformation | No | string | N/A | Instructions and information for making a referral to this service |\n| serviceCareSummaryDestination.openAllHours | Yes | boolean | false | Whether the service is open 24 hours a day, 7 days a week |\n| serviceCareSummaryDestination.serviceEndpoints | No | array | N/A | List of endpoint details for electronic referral |\n| serviceCareSummaryDestination.openTimeSpecifiedSessions | No | array | N/A | Provides a date and time for each specified session, which are exceptions to the dates and times provided in the standard hours listings, in the format: DD-MM-YYYY-hh:mm-hh:mm. If the service is closed on a specified day, the time will be sent as 00:00-00:00 but should be interpreted as closed. |\n| serviceCareSummaryDestination.attributes | No | array | N/A | List of additional service attributes |\n| serviceCareSummaryDestination.rotaSessions.startDayOfWeek | Yes | string | N/A | Day the session starts. Available values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, Bankholiday |\n| serviceCareSummaryDestination.rotaSessions.startTime.hours | Yes | int | N/A | Hour the session starts (24-hour clock) |\n| serviceCareSummaryDestination.rotaSessions.startTime.minutes | Yes | int | N/A | Minutes the session starts |\n| serviceCareSummaryDestination.rotaSessions.endDayOfWeek | Yes | string | N/A | Day the session ends |\n| serviceCareSummaryDestination.rotaSessions.endTime.hours | Yes | int | N/A | Hour the session ends (24-hour clock) |\n| serviceCareSummaryDestination.rotaSessions.endTime.minutes | Yes | int | N/A | Minutes the session ends |\n| serviceCareSummaryDestination.rotaSessions.status | Yes | string | N/A | Session status. Available values: Open, Closed |\n| serviceCareSummaryDestination.serviceAgeRange.daysFrom | Yes | decimal | N/A | Minimum age accepted by the service in days |\n| serviceCareSummaryDestination.serviceAgeRange.daysTo | Yes | decimal | N/A | Maximum age accepted by the service in days |\n\n### Error Codes\n\nIf your SOAP request is invalid in some way, or there is an error with processing an appropriate request, you will receive an error in the following format:\n\n```xml\n<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\">\n <env:Body>\n <env:Fault>\n <env:Code>\n <env:Value>303</env:Value>\n </env:Code>\n <env:Reason>\n <env:Text>Incorrect Privileges: Please check that the user has the correct privileges to run this service</env:Text>\n </env:Reason>\n </env:Fault>\n </env:Body>\n</env:Envelope>\n```\n\nPlease see the error codes section for more details.\n\n## Service attributes\n\nEach Service Attribute will have a value of a specific data type. The following table provides details of valid data types.\n\n> Note: All values will be returned as string in the ccs response. The data type field will identify how the value should be interpreted.\n \n| Data Type | Description |\n|---------------------|----------------------------------|\n| Boolean | This represents values of `TRUE` and `FALSE` only |\n\nThe following table lists all Service Attributes currently active in DoS.\n\n| Attribute Name | Data Type | Description | Expected System Behaviour | DoS Profile Notes |\n|-------- |--------| --------| --------| -------------------- |\n| `requirebooking` | Boolean | This attribute identifies that the service can only be referred into with an appointment. | If this attribute is set to TRUE the DoS entry can be selected but it is not possible to make a referral. | When adding this attribute to a service it is important to note that not all 3rd party systems are using the attribute to inform system behaviour. Therefore it is necessary to continue to maintain the referral notes on the service to indicate that referral is by appointment only. <br><br> Please note that NHS Digital are working with the other suppliers as part of the development to support UEC Care Connect for booking and this will be a requirement. <br><br> Some services that are profiled on the Urgent Care Directory of Services are commissioned as “booking only” services. <br><br> This means that these services will only accept a referral if a booking has also been made for that patient. <br><br> If no appointment is available, then a referral should not be made. <br><br> To achieve this, a “service attribute” is configurable against services. This will allow the service to be flagged as “booking only”. Therefore, if this attribute is present on the service all consumer systems should withhold referrals. <br><br> An example workflow showing how this might be implemented is illustrated below: <br><br> <div style=\"font-family: 'Courier New', Courier, monospace; line-height: 1.6; text-align: center;\"><div style=\"border: 1px solid #ccc; padding: 10px; margin-bottom: 10px;\">Patient Demographics</div><div>↓</div><div style=\"border: 1px solid #ccc; padding: 10px; margin-bottom: 10px;\">Triage</div><div>↓</div><div style=\"border: 1px solid #ccc; padding: 10px; margin-bottom: 10px;\">DoS Service Selected</div><div>↓</div><div style=\"border: 1px solid #ccc; padding: 10px; margin-bottom: 10px;\">Decision: <strong>REQUIRESBOOKING</strong> attribute?</div><div style=\"display: flex; justify-content: space-between; text-align: center;\"><div style=\"width: 48%;\"><div>Yes ↓</div><div style=\"border: 1px solid #ccc; padding: 10px; margin-bottom: 10px;\">Booking Required?</div><div>↓</div><div style=\"border: 1px solid #ccc; padding: 10px; margin-bottom: 10px;\">Book appointment or choose another service</div><div>↓</div><div style=\"border: 1px solid #ccc; padding: 10px;\">End</div></div><div style=\"width: 48%;\"><div>No ↓</div><div style=\"border: 1px solid #ccc; padding: 10px; margin-bottom: 10px;\">Appointment Button Selected</div><div>↓</div><div style=\"border: 1px solid #ccc; padding: 10px; margin-bottom: 10px;\">Appointment Booked</div><div>↓</div><div style=\"border: 1px solid #ccc; padding: 10px; margin-bottom: 10px;\">Referral Sent (ITK or EMAIL)</div><div>↓</div><div style=\"border: 1px solid #ccc; padding: 10px;\">End</div></div></div></div> <br> Example XML returned <br><br> When requesting DoS service details with `CheckCapacitySummary` DoS API call, there is a section in the returned message for the additional attributes: <br><br> <pre><code>&lt;ns1:attributes&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;attribute&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;dataType&gt;string&lt;/dataType&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;name&gt;requirebooking&lt;/name&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;description&gt;The service only accepts referrals with an accompanying booked appointment.&lt;/description&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value&gt;true&lt;/value&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/attribute&gt;<br>&lt;/ns1:attributes&gt;</code></pre> <br> This attribute will have three possible states: <br><br> • not present <br> • present and false <br> • present and true <br><br> For the first two cases, it can be assumed that referrals can be made without a booking. Only if the attribute is `present and true` should a referral be withheld if there has been no booking. |\n| `Digital_Go_With_Notif` | Boolean | This attribute indicates that a patient can physically go to the service and the service will also be notified of their referral.| If this attribute is set to TRUE the patient referral is expected to trigger an electronic notification.| When adding this attribute to a service it is important to note that the notification endpoint details must be profiled and correct. |\n| `webchat_enabled` | Boolean | This attribute is used by 111 Online as part of a webchat pilot service. | Where this attribute is linked to a service and is TRUE, 111 Online is able to offer webchat facility to patients. | To be used only with agreement from 111 Online and the participating service. |\n| `Website Signposting` | Boolean | This attribute indicates that a service uses their website as their primary method of referral. | Where this attribute is linked to a service and is TRUE, 111 Online may direct the user to the listed website for the service. | To be used only with agreement from 111 Online and the participating service. |\n\n## Search logic\n\n### Overview\n\nThe search is split into several sections, each of which filter out more services until a set of valid results remain. These results are then grouped and ordered according to a set of rules.\n\n### Initial Request Validation\n\nThe first set of filters check the xml and the user credentials, as well as ensuring that some of the parameters passed in are valid. This section describes those checks.\n\n#### Validate XML\n\nThe XML is validated to ensure that it is well-formed and an error is returned if not. Incorrect or additional elements are ignored.\n\n#### Authenticate User\n\nThe account is authenticated using the username and password included in the request.\n\nThis is validated against the following rules:\n\n* the username must be that of an active DoS user account\n* the password matches that of the user\n*\tthe user has the correct permission (webService) applied to their account Failure to comply with any or all of these rules returns an error\n\n#### Validate API version\n\n* if the field is null or missing, the default value will be used\n* if the value passed in is not a valid, supported API version, an error will be returned\n\n#### Validate Search Distance\n\nThe DoS database holds a table of postcodes, each stored against a search distance, in kilometers. \n\nThese may be full or partial postcodes, using either the postcode sector or district. This provides the flexibility to specify search distances against small or larger areas.\n\nThis overrides the ability that some provider systems have to pass a distance into the request. Passing in a distance is still permitted, but it will be used only if there is no stored value in the database for that postcode.\n\nNote It is also possible to override the stored distances by setting the forceSearchDistance field to true. Where true, a valid distance must be entered. The distance override option should be used only in exceptional circumstances or for testing, as the postcode values in the database are managed by DoS Leads and intended to provide the optimum search distance for the given postcode area.\n\nCurrent default value: 60 kilometers\n\n* this distance field in the request is validated against the following rules:\n*\tthis is an optional field\n*\tdistances are in kilometers\n*\tmust be a number between 1 and 99 (any other value will return an error only where it has not been overridden by a value in the database)\n*\twhere the distance override value is True, a distance value must be entered\n\nThe search distance to be used is calculated in the following order:\n\n> where forceSearchDistance is `True`, the distance value passed in the request is used (SearchDistanceUsedSource = “Override”)\n\nWhere the forceSearchDistance is `False` or empty, then;\n\n> the distance listed in the table where there is an exact match to the full Postcode (SearchDistanceUsedSource = “Postcode”)\n\nWhere there is no match, then;\n\n> the distance listed in the table where there is an exact match to the postcode Sector (SearchDistanceUsedSource = “Sector”)\n\nWhere there is no match, then;\n\n> the distance listed in the table where there is an exact match to the postcode District (SearchDistanceUsedSource = “District”)\n\nWhere there is no match, then;\n\n> the search distance value entered in search request (SearchDistanceUsedSource = “Web Service”)\n\nWhere a distance is not passed in, then;\n\n> use the National default value (SearchDistanceUsedSource = “National”)\n\nWhere available, dependent on the requestors permissions and the status of the API, these distances are further refined at the sorting stage, to remove services that are too far away when travelling by road and to provide more accurate distances to the patient.\n\n#### Validate Postcode\n\nThe postcode is used to ensure that services returned are within an appropriate travelling distance for the patient and to calculate the distance from patient values which are included in the return (displayed in miles). \n\nTherefore, this is a mandatory value and must be a valid postcode. Postcodes are validated using the following rules:\n\n* a null value or missing element is not accepted\n*\tthe postcode must be valid (i.e. exist in the DoS database – see note below) Failure to comply with any or all of these rules returns an error\n\n#### What is a valid postcode in the DoS?\n\nThe Locations table in the DoS holds a single version of each UK postcode and a northings and eastings value for that postcode. These postcodes are used to add addresses to services in the Dos and to validate searches, and the northings/eastings values are used to calculate distances. Postcodes are updated regularly from Ordnance Survey AddressBase files. Postcodes which have ended and are no longer in use are not removed from this table, although those which ended many years ago are not included. New postcodes are added when they are available in the AddressBase files, although due to processes which must be followed to produce these files, there are instances where new postcodes are active and in use but not yet included. In these instances, if the postcode is reported to DoS administrators it can be validated and manually added to the Locations table.\n\n#### Calculate Search Box (Distance)\n\nIn order to determine which services fall within the required search distance, the northings/eastings of the postcode is used as the centre point from which to calculate which services fall within the range. A maximum northings and eastings value is calculated using either the distance passed in the request or the default value and any services whose postcode has a northings and/or eastings value above this is ignored. Although the term ‘search radius’ is frequently used, distances are calculated as a square and, as such, where a service is towards the corner of the square, it could be further away than the specified distance (e.g. the corners of a 60km square could be up to 85km away). The search box is calculated using the following rules:\n\n*\tthe postcode provided (search postcode) is the centre of the search box\n*\tdistance calculation is a straight line between the search postcode and that of the service, in kilometers\n*\tthe distance between the centre of the search box and the centre of each side is equal to the search distance provided, or the default if none is provided\n*\tthe straight-line value between the postcode provided and the service is converted into miles and returned as the distance from patient value\n\n### First Search Pipeline\n\nOnce the initial validations and checks are complete, the first search can begin. The aim of this filter is to quickly reduce the number of potential returns. No record is kept of which services are eliminated at this point.\n\n#### Check Service Status\n\nThere are multiple statuses for a service in the DoS, however only those which are Active will be returned in a Check Capacity Summary search.\n\n#### Check Distance\n\nAny services whose northings/eastings values do not fall within the search box will be discarded.\n\n#### Match Symptom Group (SG)\n\nAny service that is not profiled with the SG that is passed in will be discarded. The following rules are in place:\n\n*\tthe value must be correctly formatted\n*\tthe value must be a valid SG code (found in the DoS database) There are a couple of points to note:\n*\tthe SG value is not mandatory in the web service request, so a null or missing value will not error, however this will fail to match any services and will trigger a catch-all search\n\n#### Match Gender\n\nGender is matched using the following rules: Default value: I (Indeterminate)\n\n*\tthe gender must be a valid value – an invalid value will return an error\n*\tif the field is null or missing, the default value will be used\n*\tservices with no gender profiled will not be matched and will therefore not return\n\n#### Match GP Surgery\n\nServices can be profiled to show that they are commissioned by a specific GP or group of GPs, and if they are marked as restricted, they will only return if the patient is registered with one of the listed GP practices. This is often referred to a as a ‘service referral’ and is described in more detail in the profiling tips section below. The ODS code of the patient’s GP surgery can optionally be included in the request and this is matched using the following rules:\n\n* if the service is marked as Restricted, if the ODS code is null or missing, the service will not match and will not return.\n* if the service is marked as Restricted, if the ODS code in the request is not on the service referral list for the service, it will not match and will not return.\n* if the service is marked as Unrestricted, or has no service referrals, it will be treated as a match.\n\n### Second Search Pipeline\n\nAll services which remain as potential candidates for return following the first search pipeline now go through a second filter, to determine a final list of matching services which could be returned. Any services which fail to match on only one of the criteria listed below will be classed as ‘Gap’ services. Gap results are described separately.\n\n#### Check Capacity Status\n\nCapacity Status is a RAG (Red, Amber, Green) rating of how busy the service is. If this is changed to anything other than green, it is automatically reset to green after a length of time specified by the logged-in user when the status is changed. \n\nThe automatic reset time is any period between fifteen minutes and 5 days (or 120 hours), in fifteen-minute increments. The service may be manually reset to green at any time.\n\nServices are filtered on capacity using the following rule:\n\n* capacity status must be Green or Amber – services with a Red capacity status are not returned\n\n#### Match Symptom Discriminator (SD)\n\nSymptom Discriminators are stored in the DoS separately but each is linked to one or more Symptom Groups and they can only be added to a service profile as a valid combination. \n\nSymptom Groups and Discriminators, and their combinations, are determined by the Pathways system. \n\nSymptom Discriminators are matched using the following rules:\n\n*\ta null value is not accepted and will return an error\n*\tthe value must be correctly formatted, and incorrect formatting will return an error\n*\tmultiple SDs are accepted but any duplicates which are requested will be removed\n*\tSDs which are not a valid combination with the SG provided will be removed\n*\tservices which are not profiled with all of the remaining SDs will not be returned\n\n#### Match Disposition (DX)\n\nDispositions are also determined by the Pathways system and are stored in the DoS as Dispositions (each of which is given a Dx code) and Disposition Groups. \n \nUsually this is a one-to-one relationship, and the group has the same description as the disposition, and it is these which are used in the Check Capacity Search, but when searching through the user interface (Clinical Search) it is possible to select a group which is linked to multiple Dispositions and therefore match against multiple dispositions at once.\n\nA timeframe (in minutes) is stored against each disposition group, and this determines the opening time calculation for the service (described in a later section). It is the ID of the Disposition Group which is passed in and matched against the service, using the following rules:\n\n*\ta null value is accepted - if a null value is used this parameter is ignored and matches all services\n*\tthe value, if used, must be correctly formatted, and incorrect formatting will return an error\n\n#### Match Referral Role\n\nEach user account is assigned one Referral Role (also known as Search Role), which provides a broad indication of the type of user that they are – for example, there are different referral roles for 111 providers, healthcare professionals and apps which provide advice directly to members of the public. \n\nServices may be profiled with one or more Referral Roles, which indicate which type of user is able to refer to that service. If the service is not profiled with a matching Referral Role to that of the authenticated user, or is not profiled with any referral roles, the service will not return.\n\nThere is often a requirement for different services to return for 111 Healthcare Advisors and 111 Clinicians. 111 supplier systems are asked to use different DoS accounts with different referral roles for these skillsets, so that services can be profiled and returned from a search accordingly.\n\n#### Check Age Format and Match on Age\n\nDoS services can be profiled with one or more age ranges, from 0 to 129 years. Younger ages may be profiled in days or month values for greater granularity. All ranges are stored in the database as to and from a number of days, and this is converted to days, months and years on screen in the DoS UI.\n\nTo cater for leap years and for fluctuations in the number of days in a given month, the following calculations are used:\n\n> 1 month = 30.4375 days\n>\n> 1 year = 365.25 days\n\nAges may be passed in the request as days, months or years values, and these are converted to days prior to searching.\n\nGroups may still be used, as per web service version 1.3, but it should be noted that these may not match exactly against the age range profiling, so should only be used where the age of the patient is estimated. For example, a service might be profiled to take patients from age 2 and above; where the exact age is used, the service will not return for a child aged under two, however if the age group ID 3 (toddler) is used, the service will match and may return inappropriately.\n\nThese are matched using the following rules:\n\n* both age and age format are mandatory fields and will return an error if a null or invalid value is passed in\n* where an age value is used (days, months, years), they are validated against the following rules:\n\n * days: allowed values are 0 - 31\n *\tmonths: allowed values are 1 - 23\n *\tyears: allowed values are 2 - 129\n\n* valid age groups are (the ID should be used):\n\n *\t4: Neonate and Infant - 0 years\n *\t3: Toddler - 1-4 years\n *\t2: Child - 5-15 years\n *\t1: Adult - 16+ (includes ages 16-129)\n \n#### Match Session Times\n\nThe current time (time of search) is used to calculate which services will be open within the required timeframe and discards all services which will not. This is a complex calculation which ensures that the service is not closing within half an hour of the current time to allow the patient time to attend and, for longer disposition timeframes, ensures that the service is open before the last hour of the disposition. The system calculates a ‘session time’ within these rules and a service will only return if it is open at some point within the calculated session time.\n\nThe rules are as follows:\n\n*\tthe disposition timeframe is taken from the disposition group and is in minutes\n* the session end time is dependent on the disposition:\n\n *\t`0 mins (immediately)` = Time of search + 60 mins\n * `greater than 0 & less than equal to 30 mins` = Time of search + 30 mins\n *\t`31 - 60` mins = Time of search + Disposition\n *\t`greater than 60 mins` = Time of search + Disposition - 60 mins\n *\t`NULL` = treated as 0 and therefore Time of search + 60 mins\n \n*\tthe service must be open within the calculated session time (i.e. between the start and end time parameters that have been calculated according to the rules) – there is no minimum timeframe. E.g. if the calculated session time window starts at 9:30 and the service closes at 9:30, this is a valid service\n*\tthe service must not be closing within 30 minutes of the search time\n\n#### Opening times\n\nThe DoS stores multiple types of opening time, and these are treated in the following priority order:\n\n##### Specified Opening Times\n\nThese allow services to register exceptions to their usual hours and should override any other sessions that are returned, including the Open All Hours flag.\n\n##### Open All Hours\n\nIf the flag is set to Open All Hours = True and there are no specified times for the given date, then the service should be treated as open 24 hours a day, 7 days a week. There should not be any standard opening times for these services but if there are, they should be ignored.\n\n##### Public Holidays\n\nServices can be profiled with a set of times or can be set to closed for all public holidays (exceptions are recorded as a specified time). If the given day is a public holiday, then this should override the standard opening times for that day.\n\n##### Standard Opening Times\n\nThese are the days and times that the service is open when none of the above apply.Session times cannot extend beyond midnight for a given day, so a service which is open overnight will display as open until 23:59 on one day and will re-open at 00:00 the following day.\n\nWith the exception of Open All Hours, any of the above types of opening time may have more than one session each day, and these session times may not overlap.\n\n#### Check for Services that Should Only Return If Open\n\nSome services will be marked to only return from a search if they are either open at the time of the search or are due to open within a specified timeframe (either 15 or 30 minutes) of the search time.\n\n#### Check for Limited Services\n\nServices may be limited to one or more CCGs, Local Authorities (LAD) or Locally Defined Areas (LDA). These services will only return if they are limited to the CCG / LAD / LDA of the search location, and will be removed from results for all other areas. Where the CCG of the search location is unknown, the limits will not take effect and services will not be removed for this reason.\n\n### Gap Results\n\nIf any services that go through the second search pipeline fail to match on only one criterion, they are recorded as having ‘gapped’ and can be analysed by commissioners.\n\n## Catch-all Search\n\nThe Catch-all search is invoked if, following the filtering processes, there are no services that can be returned. This is in order to ensure that the patient is offered a service that they can go to. The following rules are applied:\n\n*\tif no services match, up to the nearest two services profiled with the Service Type `Emergency Department` are returned.\n*\tthe catch-all service(s) must be within the default 60km search distance; any distance passed in as a search parameter is ignored.\n*\tthe catch-all service must be `Active`.\n*\tthe capacity status of the catch-all service is not taken into account.\n*\tthe Service Name is suffixed with `Catch-all`\n\n## Display Order of Returned Services\n\n### Calculate Display Order of Returned Services\n\n(Available from November 2022)\n\nUp to this point, distances between the patient and the services have been calculated as a straight-line between the two. As long as certain conditions are met, now the search will call out to a 3rd-party API to obtain a more accurate distance between the patient and each clinically eligible service, assuming travel by road (e.g. car).\n\nAs a result, search results will be returned as illustrated below:\n\n*\tremaining services are grouped by Service Type and sorted within those groups by crow-flies distance\n*\thome GP (where the ODS code matches the ODS code passed in the request) is placed at the top of the list to prevent it from being removed from the results\n*\tthe top 100 of each service type are retained and more distant services are dropped\n*\tlatitude/longitude values for the patient's postcode (the origin) and that of each of the remaining services (the destination) are sent to the 3rd-party API. A road distance between the origin and each destination is returned\n*\tthe crow-flies distance is replaced with the road distance value, and used in the remaining chain to order services\n\n### Road Distance Failure Rules\n\nThe road distance may fail or be incomplete for various reasons, and where this happens the search will not fail, and the following rules are used:\n* the search reverts to crow-flies distances when:\n *\tthe user does not have the road distance permission\n *\tlat/long values are not available for the origin postcode\n *\tthe API or the service that calls the API is not available\n*\twhere lat/long values are not available for one or more destination postcodes, these services are dropped\n*\twhere one or more destinations are returned from the API as unreachable (more than 4 hours away by road), these services are dropped\n*\tin the unlikely event that no services remain, a catch-all search will be run\n\n## Check Ranking Strategy\n\nEach CCG (Clinical Commissioning Group) and LAD (Local Authority District) service in the DoS can be linked to a CCG or LAD organisation, against which the ranking strategies are stored. Ranking order is assigned to service types and not to individual services.\n\nThe DoS holds a list of each CCG/LAD and the postcodes for which they are responsible. The postcode in the request is matched against these lists and, if a match is found, the ranking strategy for that LAD is used. If there is no matching LAD with a ranking strategy, that of the CCG is used.\n\nThe postcode to organisations lists are updated quarterly on release of updated files from the Organisation Data Service (ODS).\n\nThe following rules are in place:\n\n*\tif the search postcode can be matched to a LAD Organisation, use the ranking strategy of that LAD\n*\tif the search postcode can be matched to a CCG Organisation, use the ranking strategy of that CCG\n*\tif the search postcode cannot be matched to a LAD or CCG Organisation, use the national ranking\n\n## Place Services in Order According to Rank\n\nThis step uses the rank assigned to each service type - this is a number from 1-10, with 1 being the highest - and places the services in ranking order. \n\nThe following rules are in place:\n\n*\tservice types with a higher rank are placed above those of a lower rank\n*\twhere there are service types included in the results which have the same rank, services are ordered within the ranking column based on the distance from patient value. This will be the distance when travelling by road where available, or the crow-flies distance that was originally calculated where it is not available\n\n## Place Services in Order According to linked Organisation\n\nThis step checks whether a service has been promoted to a particular CCG / LAD / LDA. If any services are promoted to an area other than that of the search location, they will return below those that either are not promoted or are promoted to the CCG of the search location. Each group is still ordered according to the service type ranking described above.\n\n## Place Services in Order According to Service Referral\n\nOnce services have been placed in order according to their rank, a further sort is carried out which orders each service within its given ranking level. In addition, a label of (Home) is suffixed to the service name where appropriate. \n\nThis takes into account the following information:\n\n*\twhether the service is the patient's home GP. This is determined by the fact that the ODS code of the service matches that used in the request. Where no ODS code is used in the request, neither the home GP nor the home Out of Hours GP will be recognised as such.\n*\twhether the service is the patient's home Out of Hours GP provider. If the service has the service type of `Integrated Urgent Care (IUC) Treatment` and is linked as a commissioned service (using the Service Referral section on the Clinical Details tab) to the patient's home GP, then a label of (Home OOH) is added to the name. This does not affect the ordering for this service.\n*\twhether or not the service is commissioned by the patient's home GP, as these are ranked higher than those which are not. When determining the order of services within each ranking level, the following rules are used:\n\nPlease note that the distance ordering applied in the earlier step is retained within each ranking level (e.g. highest, high etc), and places services in this order:\n\n*\tsurgery (home GP)\n*\tcommissioned services (restricted)\n*\tcommissioned services (unrestricted)\n*\tall others\n\n## Remove Surplus Results\n\nOnce the services have been sorted according to the rules above, only the top two services for each service type are retained. \n\nFor the following service types, only a single service is returned:\n\n*\tEmergency National Response (ID: 138)\n*\tGP Practice (ID: 100)\n*\tIntegrated Urgent Care (IUC) Clinical Assessment (ID: 133)\n*\tIntegrated Urgent Care (IUC) NHS 111 Call Handling (ID: 130)\n*\tIntegrated Urgent Care (IUC) Pharmacy Clinical Assessment (ID: 137)\n*\tIntegrated Urgent Care (IUC) Validation (ID: 139)\n\n## Return Results\n\nThe web service response returns all the remaining services in the correct order, and includes the calculated distance from patient value, for information. The exact display of results is determined by the provider system, but they must be displayed in the given order.\n","operationId":"CheckCapacitySummary","requestBody":{"content":{"application/soap+xml":{"schema":{"$ref":"#/components/schemas/CheckCapacitySummaryInput"}}},"required":true},"responses":{"default":{"description":"","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/CheckCapacitySummaryOutput"}}}}},"deprecated":false,"x-ibm-soap":{"soap-action":"https://nww.pathwaysdos.nhs.uk/app/api/webservices/CheckCapacitySummary","soap-operation":"{https://nww.pathwaysdos.nhs.uk/app/api/webservices}CheckCapacitySummary"}}},"/ServiceDetailsById":{"post":{"summary":"ServiceDetailsById","description":"## Overview\n\n`ServiceDetailsById` allows a consumer to retrieve a list of 0 or more technical endpoint records for a given service. Where there are no endpoints for the requested service, the response includes the ID and the ODS code only.\n\n| Type | Description |\n|---------------------|----------------------------------|\n| Request | A service identifier - either ServiceId or OdsCode |\n| Response | A list of technical endpoint details (0 or more) |\n\nOnce the required service ID is known, usually following a Check Capacity Summary response, this service can be called to obtain the endpoint details for the given service.\n\n## Request\n\n| Field Name | Required? | Type | Default Value | Description |\n|-------- |--------| --------| --------| -------------------- |\n| username | Yes | string | N/A | DoS account user name |\n| password | Yes | string | N/A | DoS password |\n| serviceId | Yes | int | N/A | DoS ID or ODS code for the required service |\n\n## Response\n\n| Field Name | Type | Description |\n|---------|--------|--------| \n| order | int | the order in which the endpoint should be used, if more than one is provided\n| transport | string | type of address - ITK, email, phone |\n| format | string | CDA, HTML, PDF etc. |\n| interaction | string | |\n| businessScenario | string | Primary or Copy |\n| address | string | endpoint address |\n| comment | string | notes about the endpoint |\n| compression | string | Y or N |\n\n## Key features\n\n### ServiceDetailsByID Response\n\nThis endpoint continues to return the same data as previously - the service endpoint data for a given Service ID - it will be formatted differently.\n\nThe fields, grouped with the tag `contactDetails`, are:\n\n*\torder\n*\ttransport\n*\tformat\n*\tinteraction\n*\tbusinessScenario\n*\taddress\n*\tcompression\n*\tcomment\n\nIt should be noted that additional transport methods may soon be added to the endpoint's functionality in the DoS, and these will be included in this version of the web service as they are developed.\n\n## Error Codes\n\n> Note: Error codes are currently being updated, and some will be re-numbered. This work is in progress, and this table is therefore subject to change. Where known, changes have been indicated in the table.\n\n| Code | Description | Notes | Current Status |\n|-------- |--------| --------| --------|\n| 100 | System Search failure | | |\n| 101 | Postcode Validation: Postcode not found | | |\n| 102 | Service Search: No services found | This error will only return if catch-all has also failed. This most frequently occurs when the postcode is out of area – e.g. Wales or Scotland | |\n| 103 | Request Response: Service not found | ServiceDetailsbyID endpoint only | |\n| 104 | Parameter Validation: No valid discriminators passed/SGSD combo not valid | | |\n| 105 | Parameter Validation: Search distance must be greater than 0km and less than maximum system distance. | The maximum is a configuration parameter set in DoS – currently 99 | |\n| 106 | Parameter Validation: Invalid gender supplied - supported values: M, F, I | | |\n| 107 | WSDL Validation: Unsupported Webservice version | | |\n| 108 | Malformed XML: The soap message is not valid xml. | | |\n| 108 | Malformed XML: Unable to identify the SOAP version | | To be re-numbered |\n| 109 | WSDL Validation: (109) - Unable to find version | | |\n| 108 | Parameter Validation: Search date and time is invalid | Where a search date/time is passed in, this must be in a valid format | To be re-numbered |\n| 109 | Parameter Validation: searchDateTime ([value]) more than 12 months in future | | To be re-numbered |\n| 110 | Parameter Validation: searchDateTime ([value]) more than 1 minute in the past | | |\n| 113 | Parameter Validation: where the distance override value is true, a distance value must be provided | | |\n| 114 | Parameter Validation: Invalid age supplied - mandatory field, only whole numbers allowed | | |\n| 115 | Parameter Validation: Invalid age value supplied. Supported values where Days format is used are numbers between 0-31 | | |\n| 116 | Parameter Validation: Invalid age value supplied. Supported values where Months format is used are whole numbers between 1-23 | | |\n| 117 | Parameter Validation: Invalid age value supplied. Supported values where Years format is used are whole numbers between 2-129 | | |\n| 118 | Parameter Validation: Invalid age value supplied. Supported values where AgeGroup is used are: 1, 2, 3, 4 | | |\n| 119 | Parameter Validation: Invalid age format supplied - supported values Years, Months, Days, AgeGroup | | |\n| 120 | Parameter Validation: Symptom Group could not be found | | |\n| 121 | Parameter Validation: Disposition not found | | |\n| 300 | Unable to login to DoS web services | Generic error (usually a system level issue) | |\n| 302 | Authentication failed: Please check user credentials (username/password) or check whether the user account is locked (use password reset to unlock) | | To be re-numbered |\n| 302 | Authentication Failed: Please check that the user has the correct privileges to run this service | Usually because the user does not have the correct permission on their account | |\n| 1001 | Request Validation: Unable to locate username and password in the request | | |\n| 500 | Internal Server Error | | |\n| 504 | Time out | | |\n","operationId":"ServiceDetailsById","requestBody":{"content":{"application/soap+xml":{"schema":{"$ref":"#/components/schemas/ServiceDetailsByIdInput"}}},"required":true},"responses":{"default":{"description":"","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ServiceDetailsByIdOutput"}}}}},"deprecated":false,"x-ibm-soap":{"soap-action":"https://nww.pathwaysdos.nhs.uk/app/api/webservices/ServiceDetailsById","soap-operation":"{https://nww.pathwaysdos.nhs.uk/app/api/webservices}ServiceDetailsById"}}}},"components":{"schemas":{"ServiceDetailsByIdInput":{"required":["Envelope"],"type":"object","properties":{"Envelope":{"required":["Body"],"type":"object","properties":{"Header":{"$ref":"#/components/schemas/ServiceDetailsByIdHeader"},"Body":{"required":["ServiceDetailsById"],"type":"object","properties":{"ServiceDetailsById":{"$ref":"#/components/schemas/ServiceDetailsById_element_web"}},"xml":{"namespace":"http://www.w3.org/2003/05/soap-envelope","prefix":"soap","attribute":false,"wrapped":false}}},"xml":{"namespace":"http://www.w3.org/2003/05/soap-envelope","prefix":"soap","attribute":false,"wrapped":false}}},"description":"Input message for wsdl operation ServiceDetailsById","example":"<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:web=\"https://nww.pathwaysdos.nhs.uk/app/api/webservices\">\n <soap:Header>\n <web:serviceVersion>string</web:serviceVersion>\n </soap:Header>\n <soap:Body>\n <web:ServiceDetailsById><!-- mandatory -->\n <web:userInfo><!-- mandatory -->\n <web:username><!-- mandatory -->string</web:username>\n <web:password><!-- mandatory -->string</web:password>\n </web:userInfo>\n <web:serviceId><!-- mandatory -->string</web:serviceId>\n </web:ServiceDetailsById>\n </soap:Body>\n</soap:Envelope>","x-ibm-schema":{"wsdl-port":"{https://nww.pathwaysdos.nhs.uk/app/api/webservices}PathWayServiceSoap12","wsdl-operation":"ServiceDetailsById","wsdl-message-direction-or-name":"ServiceDetailsByIdRequest"}},"ServiceDetailsByIdHeader":{"type":"object","properties":{"serviceVersion":{"$ref":"#/components/schemas/serviceVersion_element_web"}},"description":"Input headers for wsdl operation ServiceDetailsById"},"ServiceDetailsByIdOutput":{"required":["Envelope"],"type":"object","properties":{"Envelope":{"required":["Body"],"type":"object","properties":{"Body":{"type":"object","properties":{"ServiceDetailsByIdResponse":{"$ref":"#/components/schemas/ServiceDetailsByIdResponse_element_ns1"}},"xml":{"namespace":"http://www.w3.org/2003/05/soap-envelope","prefix":"soap","attribute":false,"wrapped":false}}},"xml":{"namespace":"http://www.w3.org/2003/05/soap-envelope","prefix":"soap","attribute":false,"wrapped":false}}},"description":"Output message for wsdl operation ServiceDetailsById","example":"<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:ns1=\"https://nww.pathwaysdos.nhs.uk/app/api/webservices>\n <env:Body>\n <ns1:ServiceDetailsByIdResponse>\n <ns1:services>\n <ns1:service><!-- between zero and unlimited repetitions of this element -->\n <ns1:id><!-- mandatory -->string</ns1:id>\n <ns1:odsCode><!-- mandatory -->string</ns1:odsCode>\n <ns1:serviceEndpoints>\n <ns1:endpoint><!-- between zero and unlimited repetitions of this element -->\n <ns1:endpointOrder><!-- mandatory -->3</ns1:endpointOrder>\n <ns1:transport><!-- mandatory -->string</ns1:transport>\n <ns1:format><!-- mandatory -->string</ns1:format>\n <ns1:interaction><!-- mandatory -->string</ns1:interaction>\n <ns1:businessScenario><!-- mandatory -->string</ns1:businessScenario>\n <ns1:address><!-- mandatory -->string</ns1:address>\n <ns1:compression><!-- mandatory -->string</ns1:compression>\n <ns1:comment><!-- mandatory -->string</ns1:comment>\n </ns1:endpoint>\n </ns1:serviceEndpoints>\n </ns1:service>\n </ns1:services>\n </ns1:ServiceDetailsByIdResponse>\n </soap:Body>\n</soap:Envelope>","x-ibm-schema":{"wsdl-port":"{https://nww.pathwaysdos.nhs.uk/app/api/webservices}PathWayServiceSoap12","wsdl-operation":"ServiceDetailsById","wsdl-message-direction-or-name":"ServiceDetailsByIdResponse"}},"CheckCapacitySummaryInput":{"required":["Envelope"],"type":"object","properties":{"Envelope":{"required":["Body"],"type":"object","properties":{"Header":{"$ref":"#/components/schemas/CheckCapacitySummaryHeader"},"Body":{"required":["CheckCapacitySummary"],"type":"object","properties":{"CheckCapacitySummary":{"$ref":"#/components/schemas/CheckCapacitySummary_element_web"}},"xml":{"namespace":"http://www.w3.org/2003/05/soap-envelope","prefix":"soap","attribute":false,"wrapped":false}}},"xml":{"namespace":"http://www.w3.org/2003/05/soap-envelope","prefix":"soap","attribute":false,"wrapped":false}}},"description":"Input message for wsdl operation CheckCapacitySummary","example":"<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:web=\"https://nww.pathwaysdos.nhs.uk/app/api/webservices\">\n <soap:Header>\n <web:serviceVersion>string</web:serviceVersion>\n </soap:Header>\n <soap:Body>\n <web:CheckCapacitySummary><!-- mandatory -->\n <web:userInfo><!-- mandatory -->\n <web:username><!-- mandatory -->string</web:username>\n <web:password><!-- mandatory -->string</web:password>\n </web:userInfo>\n <web:c><!-- mandatory -->\n <web:caseRef>string</web:caseRef>\n <web:caseId>string</web:caseId>\n <web:postcode><!-- mandatory -->string</web:postcode>\n <web:surgery>string</web:surgery>\n <web:age><!-- mandatory -->3</web:age>\n <web:ageFormat><!-- mandatory -->string</web:ageFormat>\n <web:disposition><!-- mandatory -->3</web:disposition>\n <web:symptomGroup><!-- mandatory -->3</web:symptomGroup>\n <web:symptomDiscriminatorList><!-- mandatory -->\n <web:int><!-- between zero and unlimited repetitions of this element -->3</web:int>\n </web:symptomDiscriminatorList>\n <web:searchDistance>3</web:searchDistance>\n <web:forceSearchDistance><!-- mandatory -->true</web:forceSearchDistance>\n <web:gender><!-- mandatory -->string</web:gender>\n <web:searchDateTime>string</web:searchDateTime>\n </web:c>\n </web:CheckCapacitySummary>\n </soap:Body>\n</soap:Envelope>","x-ibm-schema":{"wsdl-port":"{https://nww.pathwaysdos.nhs.uk/app/api/webservices}PathWayServiceSoap12","wsdl-operation":"CheckCapacitySummary","wsdl-message-direction-or-name":"CheckCapacitySummaryRequest"}},"CheckCapacitySummaryHeader":{"type":"object","properties":{"serviceVersion":{"$ref":"#/components/schemas/serviceVersion_element_web"}},"description":"Input headers for wsdl operation CheckCapacitySummary"},"CheckCapacitySummaryOutput":{"required":["Envelope"],"type":"object","properties":{"Envelope":{"required":["Body"],"type":"object","properties":{"Body":{"type":"object","properties":{"CheckCapacitySummaryResponse":{"$ref":"#/components/schemas/CheckCapacitySummaryResponse_element_ns1"}},"xml":{"namespace":"http://www.w3.org/2003/05/soap-envelope","prefix":"soap","attribute":false,"wrapped":false}}},"xml":{"namespace":"http://www.w3.org/2003/05/soap-envelope","prefix":"soap","attribute":false,"wrapped":false}}},"description":"Output message for wsdl operation CheckCapacitySummary","example":"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\">\n <env:Body>\n <ns1:CheckCapacitySummaryResponse xmlns:ns1=\"https://nww.pathwaysdos.nhs.uk/app/api/webservices\">\n <ns1:TransactionId><!-- mandatory -->string</ns1:TransactionId>\n <ns1:RequestedAtDateTime><!-- mandatory -->string</ns1:RequestedAtDateTime>\n <ns1:SearchDateTime><!-- mandatory -->string</ns1:SearchDateTime>\n <ns1:CalculatedAgeInDays>3.14</ns1:CalculatedAgeInDays>\n <ns1:SearchDistance><!-- mandatory -->3</ns1:SearchDistance>\n <ns1:SearchDistanceUsedSource><!-- mandatory -->string</ns1:SearchDistanceUsedSource>\n <ns1:CheckCapacitySummaryResult><!-- mandatory -->\n <ns1:serviceCareSummaryDestination><!-- between zero and unlimited repetitions of this element -->\n <ns1:id><!-- mandatory -->3</ns1:id>\n <ns1:capacity><!-- mandatory -->string</ns1:capacity>\n <ns1:name>string</ns1:name>\n <ns1:publicName>string</ns1:publicName>\n <ns1:contactDetails>string</ns1:contactDetails>\n <ns1:address>string</ns1:address>\n <ns1:postcode>string</ns1:postcode>\n <ns1:northings>3</ns1:northings>\n <ns1:eastings>3</ns1:eastings>\n <ns1:url>string</ns1:url>\n <ns1:serviceType><!-- mandatory -->\n <ns1:id><!-- mandatory -->3</ns1:id>\n <ns1:name><!-- mandatory -->string</ns1:name>\n </ns1:serviceType>\n <ns1:odsCode>string</ns1:odsCode>\n <ns1:nonPublicTelephoneNo>string</ns1:nonPublicTelephoneNo>\n <ns1:fax>string</ns1:fax>\n <ns1:publicFacingInformation>string</ns1:publicFacingInformation>\n <ns1:distance>string</ns1:distance>\n <ns1:referralInformation>string</ns1:referralInformation>\n <ns1:openAllHours><!-- mandatory -->true</ns1:openAllHours>\n <ns1:capacityAttributes>\n <ns1:capacityAttribute><!-- mandatory --><!-- between 1 and unlimited repetitions of this element -->\n <ns1:name><!-- mandatory -->string</ns1:name>\n <ns1:description><!-- mandatory -->string</ns1:description>\n <ns1:value><!-- mandatory -->string</ns1:value>\n </ns1:capacityAttribute>\n </ns1:capacityAttributes>\n <ns1:serviceEndpoints><!-- mandatory -->\n <ns1:endpoint><!-- between zero and unlimited repetitions of this element -->\n <ns1:endpointOrder><!-- mandatory -->3</ns1:endpointOrder>\n <ns1:transport><!-- mandatory -->string</ns1:transport>\n <ns1:format><!-- mandatory -->string</ns1:format>\n <ns1:interaction><!-- mandatory -->string</ns1:interaction>\n <ns1:businessScenario><!-- mandatory -->string</ns1:businessScenario>\n <ns1:address><!-- mandatory -->string</ns1:address>\n <ns1:compression><!-- mandatory -->string</ns1:compression>\n <ns1:comment><!-- mandatory -->string</ns1:comment>\n </ns1:endpoint>\n </ns1:serviceEndpoints>\n <ns1:rotaSessions>\n <ns1:serviceCareItemRotaSession><!-- between zero and unlimited repetitions of this element -->\n <ns1:startDayOfWeek><!-- mandatory -->string</ns1:startDayOfWeek>\n <ns1:startTime>\n <ns1:hours><!-- mandatory -->3</ns1:hours>\n <ns1:minutes><!-- mandatory -->3</ns1:minutes>\n </ns1:startTime>\n <ns1:endDayOfWeek><!-- mandatory -->string</ns1:endDayOfWeek>\n <ns1:endTime>\n <ns1:hours><!-- mandatory -->3</ns1:hours>\n <ns1:minutes><!-- mandatory -->3</ns1:minutes>\n </ns1:endTime>\n <ns1:status>string</ns1:status>\n </ns1:serviceCareItemRotaSession>\n </ns1:rotaSessions>\n <ns1:openTimeSpecifiedSessions>\n <ns1:openTimeSpecified><!-- between zero and unlimited repetitions of this element -->string</ns1:openTimeSpecified>\n </ns1:openTimeSpecifiedSessions>\n <ns1:attributes>\n <ns1:attribute><!-- between zero and unlimited repetitions of this element -->\n <ns1:dataType><!-- mandatory -->string</ns1:dataType>\n <ns1:name><!-- mandatory -->string</ns1:name>\n <ns1:description><!-- mandatory -->string</ns1:description>\n <ns1:value><!-- mandatory -->string</ns1:value>\n </ns1:attribute>\n </ns1:attributes>\n <ns1:serviceAgeRange><!-- mandatory -->\n <ns1:ageRange><!-- between zero and unlimited repetitions of this element -->\n <ns1:daysFrom><!-- mandatory -->3.14</ns1:daysFrom>\n <ns1:daysTo><!-- mandatory -->3.14</ns1:daysTo>\n </ns1:ageRange>\n </ns1:serviceAgeRange>\n </ns1:serviceCareSummaryDestination>\n </ns1:CheckCapacitySummaryResult>\n </ns1:CheckCapacitySummaryResponse>\n </soap:Body>\n</soap:Envelope>","x-ibm-schema":{"wsdl-port":"{https://nww.pathwaysdos.nhs.uk/app/api/webservices}PathWayServiceSoap12","wsdl-operation":"CheckCapacitySummary","wsdl-message-direction-or-name":"CheckCapacitySummaryResponse"}},"ServiceDetailsById_element_web":{"required":["userInfo","serviceId"],"type":"object","properties":{"userInfo":{"$ref":"#/components/schemas/UserInfo_type_web"},"serviceId":{"type":"string","description":"The identifier for the required service.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}}},"xml":{"name":"ServiceDetailsById","namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"example":"<web:ServiceDetailsById xmlns:web=\"https://nww.pathwaysdos.nhs.uk/app/api/webservices\">\n <web:userInfo><!-- mandatory -->\n <web:username><!-- mandatory -->string</web:username>\n <web:password><!-- mandatory -->string</web:password>\n </web:userInfo>\n <web:serviceId><!-- mandatory -->string</web:serviceId>\n</web:ServiceDetailsById>"},"ServiceDetailsByIdResponse_element_ns1":{"type":"object","properties":{"services":{"$ref":"#/components/schemas/ArrayOfServices_type_web"}},"xml":{"name":"ServiceDetailsByIdResponse","namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"ns1","attribute":false,"wrapped":false},"example":"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:ns1=\"https://nww.pathwaysdos.nhs.uk/app/api/webservices\">\n <env:Body>\n <ns1:ServiceDetailsByIdResponse>\n <ns1:services>\n <ns1:service>\n <ns1:id>!-- mandatory -->string</ns1:id>\n <ns1:odsCode>!-- mandatory -->string</ns1:odsCode>\n <ns1:serviceEndpoints/>\n </ns1:service>\n </ns1:services>\n </ns1:ServiceDetailsByIdResponse>\n </env:Body>\n</env:Envelope>"},"CheckCapacitySummary_element_web":{"required":["userInfo","c"],"type":"object","properties":{"userInfo":{"$ref":"#/components/schemas/UserInfo_type_web"},"c":{"$ref":"#/components/schemas/Case_type_web"}},"xml":{"name":"CheckCapacitySummary","namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"example":"<web:CheckCapacitySummary xmlns:web=\"https://nww.pathwaysdos.nhs.uk/app/api/webservices\">\n <web:userInfo><!-- mandatory -->\n <web:username><!-- mandatory -->string</web:username>\n <web:password><!-- mandatory -->string</web:password>\n </web:userInfo>\n <web:c><!-- mandatory -->\n <web:caseRef>string</web:caseRef>\n <web:caseId>string</web:caseId>\n <web:postcode><!-- mandatory -->string</web:postcode>\n <web:surgery>string</web:surgery>\n <web:age><!-- mandatory -->3</web:age>\n <web:ageFormat><!-- mandatory -->string</web:ageFormat>\n <web:disposition><!-- mandatory -->3</web:disposition>\n <web:symptomGroup><!-- mandatory -->3</web:symptomGroup>\n <web:symptomDiscriminatorList><!-- mandatory -->\n <web:int><!-- between zero and unlimited repetitions of this element -->3</web:int>\n </web:symptomDiscriminatorList>\n <web:searchDistance>3</web:searchDistance>\n <web:forceSearchDistance><!-- mandatory -->true</web:forceSearchDistance>\n <web:gender><!-- mandatory -->string</web:gender>\n <web:searchDateTime>string</web:searchDateTime>\n </web:c>\n</web:CheckCapacitySummary>"},"CheckCapacitySummaryResponse_element_ns1":{"required":["TransactionId","RequestedAtDateTime","SearchDateTime","SearchDistance","SearchDistanceUsedSource","CheckCapacitySummaryResult"],"type":"object","properties":{"TransactionId":{"type":"string","description":"A globally unique identifier representing the search transaction. Generated by the server at time of request.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"ns1","attribute":false,"wrapped":false}},"RequestedAtDateTime":{"type":"string","description":"Timestamp of when the search request transaction was completed (i.e. time now).","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"ns1","attribute":false,"wrapped":false}},"SearchDateTime":{"type":"string","description":"Timestamp used for the purpose of the search scenario (i.e. The search results are returned as if current time is this timestamp).","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"ns1","attribute":false,"wrapped":false}},"CalculatedAgeInDays":{"type":"number","description":"The patient's age used for the purpose of the search scenario (in days).","format":"float","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"ns1","attribute":false,"wrapped":false}},"SearchDistance":{"type":"integer","description":"The search distance used for the purpose of the search scenario. Value in kilometres (KM).","format":"int32","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"ns1","attribute":false,"wrapped":false}},"SearchDistanceUsedSource":{"$ref":"#/components/schemas/DistanceSource_type_web"},"CheckCapacitySummaryResult":{"$ref":"#/components/schemas/ArrayOfServiceCareSummaryDestination_type_web"}},"xml":{"name":"CheckCapacitySummaryResponse","namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"ns1","attribute":false,"wrapped":false},"example":"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:ns1=\"https://nww.pathwaysdos.nhs.uk/app/api/webservices\">\n <env:Body>\n <ns1:CheckCapacitySummaryResponse>\n <ns1:TransactionId><!-- mandatory -->string</ns1:TransactionId>\n <ns1:RequestedAtDateTime><!-- mandatory -->string</ns1:RequestedAtDateTime>\n <ns1:SearchDateTime><!-- mandatory -->string</ns1:SearchDateTime>\n <ns1:CalculatedAgeInDays>3.14</ns1:CalculatedAgeInDays>\n <ns1:SearchDistance><!-- mandatory -->3</ns1:SearchDistance>\n <ns1:SearchDistanceUsedSource><!-- mandatory -->string</ns1:SearchDistanceUsedSource>\n <ns1:CheckCapacitySummaryResult>\n <!-- mandatory -->\n <ns1:serviceCareSummaryDestination>\n <!-- between zero and unlimited repetitions of this element -->\n <ns1:id><!-- mandatory -->3</ns1:id>\n <ns1:capacity><!-- mandatory -->string</ns1:capacity>\n <ns1:name>string</ns1:name>\n <ns1:publicName>string</ns1:publicName>\n <ns1:contactDetails>string</ns1:contactDetails>\n <ns1:address>string</ns1:address>\n <ns1:postcode>string</ns1:postcode>\n <ns1:northings>3</ns1:northings>\n <ns1:eastings>3</ns1:eastings>\n <ns1:url>string</ns1:url>\n <ns1:serviceType>\n <!-- mandatory -->\n <ns1:id><!-- mandatory -->3</ns1:id>\n <ns1:name><!-- mandatory -->string</ns1:name>\n </ns1:serviceType>\n <ns1:odsCode>string</ns1:odsCode>\n <ns1:nonPublicTelephoneNo>string</ns1:nonPublicTelephoneNo>\n <ns1:fax>string</ns1:fax>\n <ns1:publicFacingInformation>string</ns1:publicFacingInformation>\n <ns1:distance>string</ns1:distance>\n <ns1:referralInformation>string</ns1:referralInformation>\n <ns1:openAllHours><!-- mandatory -->true</ns1:openAllHours>\n <ns1:capacityAttributes>\n <ns1:capacityAttribute>\n <!-- mandatory -->\n <!-- between 1 and unlimited repetitions of this element -->\n <ns1:name><!-- mandatory -->string</ns1:name>\n <ns1:description><!-- mandatory -->string</ns1:description>\n <ns1:value><!-- mandatory -->string</ns1:value>\n </ns1:capacityAttribute>\n </ns1:capacityAttributes>\n <ns1:serviceEndpoints>\n <!-- mandatory -->\n <ns1:endpoint>\n <!-- between zero and unlimited repetitions of this element -->\n <ns1:endpointOrder><!-- mandatory -->3</ns1:endpointOrder>\n <ns1:transport><!-- mandatory -->string</ns1:transport>\n <ns1:format><!-- mandatory -->string</ns1:format>\n <ns1:interaction><!-- mandatory -->string</ns1:interaction>\n <ns1:businessScenario><!-- mandatory -->string</ns1:businessScenario>\n <ns1:address><!-- mandatory -->string</ns1:address>\n <ns1:compression><!-- mandatory -->string</ns1:compression>\n <ns1:comment><!-- mandatory -->string</ns1:comment>\n </ns1:endpoint>\n </ns1:serviceEndpoints>\n <ns1:rotaSessions>\n <ns1:serviceCareItemRotaSession>\n <!-- between zero and unlimited repetitions of this element -->\n <ns1:startDayOfWeek><!-- mandatory -->string</ns1:startDayOfWeek>\n <ns1:startTime>\n <ns1:hours><!-- mandatory -->3</ns1:hours>\n <ns1:minutes><!-- mandatory -->3</ns1:minutes>\n </ns1:startTime>\n <ns1:endDayOfWeek><!-- mandatory -->string</ns1:endDayOfWeek>\n <ns1:endTime>\n <ns1:hours><!-- mandatory -->3</ns1:hours>\n <ns1:minutes><!-- mandatory -->3</ns1:minutes>\n </ns1:endTime>\n <ns1:status>string</ns1:status>\n </ns1:serviceCareItemRotaSession>\n </ns1:rotaSessions>\n <ns1:openTimeSpecifiedSessions>\n <ns1:openTimeSpecified><!-- between zero and unlimited repetitions of this element -->string</ns1:openTimeSpecified>\n </ns1:openTimeSpecifiedSessions>\n <ns1:attributes>\n <ns1:attribute>\n <!-- between zero and unlimited repetitions of this element -->\n <ns1:dataType><!-- mandatory -->string</ns1:dataType>\n <ns1:name><!-- mandatory -->string</ns1:name>\n <ns1:description><!-- mandatory -->string</ns1:description>\n <ns1:value><!-- mandatory -->string</ns1:value>\n </ns1:attribute>\n </ns1:attributes>\n <ns1:serviceAgeRange>\n <!-- mandatory -->\n <ns1:ageRange>\n <!-- between zero and unlimited repetitions of this element -->\n <ns1:daysFrom><!-- mandatory -->3.14</ns1:daysFrom>\n <ns1:daysTo><!-- mandatory -->3.14</ns1:daysTo>\n </ns1:ageRange>\n </ns1:serviceAgeRange>\n </ns1:serviceCareSummaryDestination>\n </ns1:CheckCapacitySummaryResult>\n </ns1:CheckCapacitySummaryResponse>\n </env:Body>\n</env:Envelope>"},"serviceVersion_element_web":{"type":"string","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"UserInfo_type_web":{"required":["username","password"],"type":"object","properties":{"username":{"type":"string","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"password":{"type":"string","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"UserInfo_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"UserInfo"},"ArrayOfServices_type_web":{"type":"object","properties":{"service":{"type":"array","items":{"$ref":"#/components/schemas/ServiceDetail_type_web"},"x-nullable":true}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"ArrayOfServices_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"ArrayOfServices"},"Case_type_web":{"required":["postcode","age","ageFormat","disposition","symptomGroup","symptomDiscriminatorList","forceSearchDistance","gender"],"type":"object","properties":{"caseRef":{"type":"string","description":"A globally unique identifier for the case record representing the clinical scenario on the consumer side.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"caseId":{"type":"string","description":"A 'friendly' identifier for the case record representing the clinical scenario on the consumer side.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"postcode":{"type":"string","description":"The postcode of the location from which to perform the search (e.g. the patient's current location).","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"surgery":{"type":"string","description":"The ODS code of the patient's registered surgery. You can use 'UNK' if not known.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"age":{"maximum":32767.0,"minimum":-32768.0,"type":"integer","description":"The age value for the patient. Range of accepted values will differ according to the AgeFormat that is used.","format":"int32","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"ageFormat":{"$ref":"#/components/schemas/AgeFormatType_type_web"},"disposition":{"type":"integer","description":"A code representing the clinical disposition of the clinical scenario. List of valid Disposition codes is maintained separately and will change periodically.","format":"int32","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"symptomGroup":{"type":"integer","description":"A numerical code indicating the Symptom Group to be used for the search. List of valid Symptom Group codes is maintained separately and will change periodically.","format":"int32","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"symptomDiscriminatorList":{"$ref":"#/components/schemas/ArrayOfInt_type_web"},"searchDistance":{"type":"integer","description":"The maximum distance within which to return services from the specified postcode (measured as a straight line). Value in kilometres (KM). Only required to override the default search distances.","format":"int32","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"forceSearchDistance":{"type":"boolean","description":"A boolean indicating that the supplied searchDistance value should be used for the search over all other sources for the search distance value (e.g. will override the server-side default search distance for the postcode).","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"gender":{"$ref":"#/components/schemas/GenderType_type_web"},"searchDateTime":{"type":"string","description":"An optional timestamp which can be used to \"Perform the search as if it is X timestamp in the future\". Should be used for scenario testing / modelling. Should be omitted for searches relating to real clinical scenarios.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"Case_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"Case"},"DistanceSource_type_web":{"enum":["Postcode","District","Sector","Web Service","National","Override"],"type":"string","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"DistanceSource_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"DistanceSource"},"ArrayOfServiceCareSummaryDestination_type_web":{"type":"object","properties":{"serviceCareSummaryDestination":{"type":"array","items":{"$ref":"#/components/schemas/ServiceCareSummaryDestination_type_web"},"x-nullable":true}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"ArrayOfServiceCareSummaryDestination_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"ArrayOfServiceCareSummaryDestination"},"ServiceDetail_type_web":{"required":["id","odsCode"],"type":"object","properties":{"id":{"type":"string","description":"The service identifier for the service.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"odsCode":{"type":"string","description":"The value of the ODS code field for the service. NOTE: Values in this field are not automatically validated, and therefore cannot be considered guarranteed ODS codes at present.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"serviceEndpoints":{"$ref":"#/components/schemas/ArrayOfServiceEndpoints_type_web"}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"ServiceDetail_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"ServiceDetail"},"AgeFormatType_type_web":{"enum":["Days","Months","Years","AgeGroup"],"type":"string","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"AgeFormatType_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"AgeFormatType"},"ArrayOfInt_type_web":{"type":"object","properties":{"int":{"type":"array","items":{"type":"integer","format":"int32","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}}}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"ArrayOfInt_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"ArrayOfInt"},"GenderType_type_web":{"enum":["M","F","I"],"type":"string","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"GenderType_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"GenderType"},"ServiceCareSummaryDestination_type_web":{"required":["id","capacity","serviceType","openAllHours","serviceEndpoints","serviceAgeRange"],"type":"object","properties":{"id":{"type":"integer","description":"The identifier for the service.","format":"int32","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"capacity":{"$ref":"#/components/schemas/Capacity_type_web"},"name":{"type":"string","description":"The profiled name of the service.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"publicName":{"type":"string","description":"An alternative public-friendly / familiar name for the service.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"contactDetails":{"type":"string","description":"Contact details for the service (e.g. a public telephone number).","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"address":{"type":"string","description":"The address of the service.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"postcode":{"type":"string","description":"The postcode of the service.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"northings":{"type":"integer","description":"The northings value for the service, based on the service postcode.","format":"int32","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"eastings":{"type":"integer","description":"The eastings value for the service, based on the service postcode.","format":"int32","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"url":{"type":"string","description":"A URL for the service.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"serviceType":{"$ref":"#/components/schemas/ServiceType_type_web"},"odsCode":{"type":"string","description":"The value of the ODS code field for the service. NOTE: Values in this field are not automatically validated, and therefore cannot be considered guarranteed ODS codes at present","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"nonPublicTelephoneNo":{"type":"string","description":"A telephone number for the service for use by health and care professionals only - should not be displayed or shared publicly.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"fax":{"type":"string","description":"A fax number for the service - should not be assumed safe to display or share publicly.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"publicFacingInformation":{"type":"string","description":"Free text notes about using the service. These notes can be displayed / shared publicly.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"distance":{"type":"string","description":"The distance between the specified search location and the service (straight line). Value in miles (mi).","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"referralInformation":{"type":"string","description":"Free text notes about referring to the service - for health and care professional use only. These notes should not be displayed / shared publicly.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"openAllHours":{"type":"boolean","description":"A boolean representing whether the service is always open - always open indicated by a 'true' value.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"capacityAttributes":{"$ref":"#/components/schemas/ArrayOfCapacityAttributes_type_web"},"serviceEndpoints":{"$ref":"#/components/schemas/ArrayOfServiceEndpoints_type_web"},"rotaSessions":{"$ref":"#/components/schemas/ArrayOfServiceCareItemRotaSession_type_web"},"openTimeSpecifiedSessions":{"$ref":"#/components/schemas/ArrayOfOpenTimeSpecified_type_web"},"attributes":{"$ref":"#/components/schemas/ArrayOfAttributes_type_web"},"serviceAgeRange":{"$ref":"#/components/schemas/ArrayOfServiceAgeRanges_type_web"}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"ServiceCareSummaryDestination_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"ServiceCareSummaryDestination"},"ArrayOfServiceEndpoints_type_web":{"type":"object","properties":{"endpoint":{"type":"array","items":{"$ref":"#/components/schemas/Endpoint_type_web"},"x-nullable":true}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"ArrayOfServiceEndpoints_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"ArrayOfServiceEndpoints"},"Capacity_type_web":{"enum":["High","Low","None"],"type":"string","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"Capacity_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"Capacity"},"ServiceType_type_web":{"required":["id","name"],"type":"object","properties":{"id":{"type":"integer","description":"The identifier for the service type.","format":"int64","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"name":{"type":"string","description":"The name of the service type.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"ServiceType_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"ServiceType"},"ArrayOfCapacityAttributes_type_web":{"required":["capacityAttribute"],"type":"object","properties":{"capacityAttribute":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/CapacityAttribute_type_web"},"description":"A list of capacity attributes for the service.","x-nullable":true}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"ArrayOfCapacityAttributes_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"ArrayOfCapacityAttributes"},"ArrayOfServiceCareItemRotaSession_type_web":{"type":"object","properties":{"serviceCareItemRotaSession":{"type":"array","items":{"$ref":"#/components/schemas/ServiceCareItemRotaSession_type_web"},"x-nullable":true}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"ArrayOfServiceCareItemRotaSession_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"ArrayOfServiceCareItemRotaSession"},"ArrayOfOpenTimeSpecified_type_web":{"type":"object","properties":{"openTimeSpecified":{"type":"array","items":{"type":"string","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"x-nullable":true}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"ArrayOfOpenTimeSpecified_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"ArrayOfOpenTimeSpecified"},"ArrayOfAttributes_type_web":{"type":"object","properties":{"attribute":{"type":"array","items":{"$ref":"#/components/schemas/Attribute_type_web"},"x-nullable":true}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"ArrayOfAttributes_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"ArrayOfAttributes"},"ArrayOfServiceAgeRanges_type_web":{"type":"object","properties":{"ageRange":{"type":"array","items":{"$ref":"#/components/schemas/AgeRange_type_web"},"x-nullable":true}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"ArrayOfServiceAgeRanges_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"ArrayOfServiceAgeRanges"},"Endpoint_type_web":{"required":["endpointOrder","transport","format","interaction","businessScenario","address","compression","comment"],"type":"object","properties":{"endpointOrder":{"type":"integer","description":"The order of the endpoint within the list when sort order is applied using this field.","format":"int32","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"transport":{"type":"string","description":"The type of endpoint / transport (e.g. http, itk, email).","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"format":{"type":"string","description":"The format of the interaction for this endpoint (e.g. CDA, HTML, FHIR)","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"interaction":{"type":"string","description":"An interaction identifier to denote the type of business interaction that the endpoint supports.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"businessScenario":{"type":"string","description":"The business scenario in which this endpoint should be used. \"Primary\" denotes an interaction resulting in action / direct care, \"Copy\" denotes an interaction for information purposes.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"address":{"type":"string","description":"The URI of some kind to be used for addressing the endpoint.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"compression":{"type":"string","description":"A field to denote whether the payload should be compressed for this endpoint (not used for all endpoint types).","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"comment":{"type":"string","description":"Free text notes that may be used to support the use of the endpoint (not used for all endpoint types). May be displayed directly to an end user.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"Endpoint_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"Endpoint"},"CapacityAttribute_type_web":{"required":["name","description","value"],"type":"object","properties":{"name":{"type":"string","description":"The name of the attribute. List of valid attribute names mainatined separately.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"description":{"type":"string","description":"Description of the attribute - may be displayed directly to an end user.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"value":{"type":"string","description":"The value of the attribute. Valid values will depend on the attribute dataType.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"CapacityAttribute_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"CapacityAttribute"},"ServiceCareItemRotaSession_type_web":{"required":["startDayOfWeek","endDayOfWeek"],"type":"object","properties":{"startDayOfWeek":{"$ref":"#/components/schemas/DayOfWeek_type_web"},"startTime":{"$ref":"#/components/schemas/TimeOfDay_type_web"},"endDayOfWeek":{"$ref":"#/components/schemas/DayOfWeek_type_web"},"endTime":{"$ref":"#/components/schemas/TimeOfDay_type_web"},"status":{"type":"string","description":"Whether this session represents that the service is Open or Closed.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"ServiceCareItemRotaSession_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"ServiceCareItemRotaSession"},"Attribute_type_web":{"required":["dataType","name","description","value"],"type":"object","properties":{"dataType":{"type":"string","description":"Value indicating the data type for the value of this attribute. List of valid dataTypes maintained separately.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"name":{"type":"string","description":"The name of the attribute. List of valid attribute names mainatined separately.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"description":{"type":"string","description":"Description of the attribute - may be displayed directly to an end user.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"value":{"type":"string","description":"The value of the attribute. Valid values will depend on the attribute dataType.","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"Attribute_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"Attribute"},"AgeRange_type_web":{"required":["daysFrom","daysTo"],"type":"object","properties":{"daysFrom":{"type":"number","description":"The lower bound of the age range - in days.","format":"float","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"daysTo":{"type":"number","description":"The upper bound of the age range - in days.","format":"float","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"AgeRange_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"AgeRange"},"DayOfWeek_type_web":{"enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Bankholiday"],"type":"string","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"DayOfWeek_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"DayOfWeek"},"TimeOfDay_type_web":{"required":["hours","minutes"],"type":"object","properties":{"hours":{"maximum":32767.0,"minimum":-32768.0,"type":"integer","format":"int32","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}},"minutes":{"maximum":32767.0,"minimum":-32768.0,"type":"integer","format":"int32","xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false}}},"xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web","attribute":false,"wrapped":false},"x-xsi-type-uniquename":"TimeOfDay_type_web","x-xsi-type-xml":{"namespace":"https://nww.pathwaysdos.nhs.uk/app/api/webservices","prefix":"web"},"x-xsi-type":"TimeOfDay"}},"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"}}}}