diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index fb6dbd8e6..a89bf7b2a 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -9,11 +9,11 @@
# For version files that are updated by dependabot we have a cut down list
-/sandbox/Dockerfile @daniel-mcadam-nhs @kevinmason-nhs @sudhanshu-arya1 @adamoldfield-nhs @nhsd-jack-wainwright @nhsd-sw @nhsd-dm @nhsd-andrew-tuley
-/sandbox/package.json @daniel-mcadam-nhs @kevinmason-nhs @sudhanshu-arya1 @adamoldfield-nhs @nhsd-jack-wainwright @nhsd-sw @nhsd-dm @nhsd-andrew-tuley
-/sandbox/package-lock.json @daniel-mcadam-nhs @kevinmason-nhs @sudhanshu-arya1 @adamoldfield-nhs @nhsd-jack-wainwright @nhsd-sw @nhsd-dm @nhsd-andrew-tuley
-/package.json @daniel-mcadam-nhs @kevinmason-nhs @sudhanshu-arya1 @adamoldfield-nhs @nhsd-jack-wainwright @nhsd-sw @nhsd-dm @nhsd-andrew-tuley
-/package-lock.json @daniel-mcadam-nhs @kevinmason-nhs @sudhanshu-arya1 @adamoldfield-nhs @nhsd-jack-wainwright @nhsd-sw @nhsd-dm @nhsd-andrew-tuley
-/poetry.lock @daniel-mcadam-nhs @kevinmason-nhs @sudhanshu-arya1 @adamoldfield-nhs @nhsd-jack-wainwright @nhsd-sw @nhsd-dm @nhsd-andrew-tuley
-/poetry.toml @daniel-mcadam-nhs @kevinmason-nhs @sudhanshu-arya1 @adamoldfield-nhs @nhsd-jack-wainwright @nhsd-sw @nhsd-dm @nhsd-andrew-tuley
-/pyproject.toml @daniel-mcadam-nhs @kevinmason-nhs @sudhanshu-arya1 @adamoldfield-nhs @nhsd-jack-wainwright @nhsd-sw @nhsd-dm @nhsd-andrew-tuley
+/sandbox/Dockerfile @daniel-mcadam-nhs @kevinmason-nhs @balalsaleh-nhs
+/sandbox/package.json @daniel-mcadam-nhs @kevinmason-nhs @balalsaleh-nhs
+/sandbox/package-lock.json @daniel-mcadam-nhs @kevinmason-nhs @balalsaleh-nhs
+/package.json @daniel-mcadam-nhs @kevinmason-nhs @balalsaleh-nhs
+/package-lock.json @daniel-mcadam-nhs @kevinmason-nhs @balalsaleh-nhs
+/poetry.lock @daniel-mcadam-nhs @kevinmason-nhs @balalsaleh-nhs
+/poetry.toml @daniel-mcadam-nhs @kevinmason-nhs @balalsaleh-nhs
+/pyproject.toml @daniel-mcadam-nhs @kevinmason-nhs @balalsaleh-nhs
diff --git a/.github/workflows/continous-integration-workflow.yaml b/.github/workflows/continous-integration-workflow.yaml
index b63cf18fa..f8235c867 100644
--- a/.github/workflows/continous-integration-workflow.yaml
+++ b/.github/workflows/continous-integration-workflow.yaml
@@ -12,10 +12,10 @@ jobs:
with:
fetch-depth: 0 # This causes all history to be fetched, which is required for calculate-version to function
- - name: Install Python 3.10
+ - name: Install Python 3.13
uses: actions/setup-python@v6
with:
- python-version: '3.10'
+ python-version: '3.13'
- name: Upgrade python packaging tools
run: python -m pip install --upgrade pip setuptools wheel
diff --git a/README.md b/README.md
index 5cf22c3f2..18cce7f60 100644
--- a/README.md
+++ b/README.md
@@ -35,7 +35,7 @@ The contents of this repository are protected by Crown Copyright (C).
### Environment setup
Currently, automation for setting up the right environment is only available for machines based on RedHatEnterpriseLinux (RHEL).
Running the following will ensure your environment is ready for development.
-It will install [pyenv](https://github.com/pyenv/pyenv), Python 3.10.8 and its dependencies (yum), create a virtual environment (named apigee), and ensure poetry is installed under it.
+It will install [pyenv](https://github.com/pyenv/pyenv), Python 3.13 and its dependencies (yum), create a virtual environment (named apigee), and ensure poetry is installed under it.
```
$ make setup-environment
```
diff --git a/azure/azure-build-pipeline.yml b/azure/azure-build-pipeline.yml
index 804f5bfe3..bd92c16c1 100644
--- a/azure/azure-build-pipeline.yml
+++ b/azure/azure-build-pipeline.yml
@@ -22,6 +22,7 @@ resources:
variables:
- template: project.yml
+
extends:
template: azure/common/apigee-build.yml@common
parameters:
diff --git a/azure/project.yml b/azure/project.yml
index b0571a75e..3aff23fd3 100644
--- a/azure/project.yml
+++ b/azure/project.yml
@@ -5,4 +5,4 @@ variables:
product_display_name: e-Referrals-Service
product_description: The NHS e-RS vision is to enable local innovation and adoption of paperless referrals. To support this vision NHS Digital have created a set of APIs which provide a well-defined, simple to use data interface to the NHS e-Referral Service (e-RS). See https://digital.nhs.uk/developer/api-catalogue/e-referral-service-fhir
spec_file: e-referrals-service-api.json
- python_version: 3.10
+ python_version: 3.13
diff --git a/package-lock.json b/package-lock.json
index 08bef209e..15fbe7044 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1112,9 +1112,9 @@
"integrity": "sha512-m8FnyHXV1QX+S1cl+KPFDIl6NMkxtKsy6+U/aYyjrOqWMuwAwYWu7ePqrsUHtDR5Y8Yk2pi/KIDSgF+vT4cPOQ=="
},
"node_modules/default-browser": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz",
- "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.3.0.tgz",
+ "integrity": "sha512-Qq68+VkJlc8tjnPV1i7HtbIn7ohmjZa88qUvHMIK0ZKUXMCuV45cT7cEXALPUmeXCe0q1DWQkQTemHVaLIFSrg==",
"dependencies": {
"bundle-name": "^4.1.0",
"default-browser-id": "^5.0.0"
@@ -4218,9 +4218,9 @@
"integrity": "sha512-m8FnyHXV1QX+S1cl+KPFDIl6NMkxtKsy6+U/aYyjrOqWMuwAwYWu7ePqrsUHtDR5Y8Yk2pi/KIDSgF+vT4cPOQ=="
},
"default-browser": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz",
- "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.3.0.tgz",
+ "integrity": "sha512-Qq68+VkJlc8tjnPV1i7HtbIn7ohmjZa88qUvHMIK0ZKUXMCuV45cT7cEXALPUmeXCe0q1DWQkQTemHVaLIFSrg==",
"requires": {
"bundle-name": "^4.1.0",
"default-browser-id": "^5.0.0"
diff --git a/poetry.lock b/poetry.lock
index 6f54b615f..29ce03f6f 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -26,66 +26,54 @@ files = [
[[package]]
name = "authlib"
-version = "1.6.5"
+version = "1.6.6"
description = "The ultimate Python library in building OAuth and OpenID Connect servers and clients."
optional = false
python-versions = ">=3.9"
groups = ["dev"]
files = [
- {file = "authlib-1.6.5-py2.py3-none-any.whl", hash = "sha256:3e0e0507807f842b02175507bdee8957a1d5707fd4afb17c32fb43fee90b6e3a"},
- {file = "authlib-1.6.5.tar.gz", hash = "sha256:6aaf9c79b7cc96c900f0b284061691c5d4e61221640a948fe690b556a6d6d10b"},
+ {file = "authlib-1.6.6-py2.py3-none-any.whl", hash = "sha256:7d9e9bc535c13974313a87f53e8430eb6ea3d1cf6ae4f6efcd793f2e949143fd"},
+ {file = "authlib-1.6.6.tar.gz", hash = "sha256:45770e8e056d0f283451d9996fbb59b70d45722b45d854d58f32878d0a40c38e"},
]
[package.dependencies]
cryptography = "*"
-[[package]]
-name = "backports-asyncio-runner"
-version = "1.2.0"
-description = "Backport of asyncio.Runner, a context manager that controls event loop life cycle."
-optional = false
-python-versions = "<3.11,>=3.8"
-groups = ["dev"]
-markers = "python_version == \"3.10\""
-files = [
- {file = "backports_asyncio_runner-1.2.0-py3-none-any.whl", hash = "sha256:0da0a936a8aeb554eccb426dc55af3ba63bcdc69fa1a600b5bb305413a4477b5"},
- {file = "backports_asyncio_runner-1.2.0.tar.gz", hash = "sha256:a5aa7b2b7d8f8bfcaa2b57313f70792df84e32a2a746f585213373f900b42162"},
-]
-
[[package]]
name = "black"
-version = "25.11.0"
+version = "25.12.0"
description = "The uncompromising code formatter."
optional = false
-python-versions = ">=3.9"
+python-versions = ">=3.10"
groups = ["dev"]
files = [
- {file = "black-25.11.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ec311e22458eec32a807f029b2646f661e6859c3f61bc6d9ffb67958779f392e"},
- {file = "black-25.11.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1032639c90208c15711334d681de2e24821af0575573db2810b0763bcd62e0f0"},
- {file = "black-25.11.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0c0f7c461df55cf32929b002335883946a4893d759f2df343389c4396f3b6b37"},
- {file = "black-25.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:f9786c24d8e9bd5f20dc7a7f0cdd742644656987f6ea6947629306f937726c03"},
- {file = "black-25.11.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:895571922a35434a9d8ca67ef926da6bc9ad464522a5fe0db99b394ef1c0675a"},
- {file = "black-25.11.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cb4f4b65d717062191bdec8e4a442539a8ea065e6af1c4f4d36f0cdb5f71e170"},
- {file = "black-25.11.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d81a44cbc7e4f73a9d6ae449ec2317ad81512d1e7dce7d57f6333fd6259737bc"},
- {file = "black-25.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:7eebd4744dfe92ef1ee349dc532defbf012a88b087bb7ddd688ff59a447b080e"},
- {file = "black-25.11.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:80e7486ad3535636657aa180ad32a7d67d7c273a80e12f1b4bfa0823d54e8fac"},
- {file = "black-25.11.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6cced12b747c4c76bc09b4db057c319d8545307266f41aaee665540bc0e04e96"},
- {file = "black-25.11.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6cb2d54a39e0ef021d6c5eef442e10fd71fcb491be6413d083a320ee768329dd"},
- {file = "black-25.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:ae263af2f496940438e5be1a0c1020e13b09154f3af4df0835ea7f9fe7bfa409"},
- {file = "black-25.11.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0a1d40348b6621cc20d3d7530a5b8d67e9714906dfd7346338249ad9c6cedf2b"},
- {file = "black-25.11.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:51c65d7d60bb25429ea2bf0731c32b2a2442eb4bd3b2afcb47830f0b13e58bfd"},
- {file = "black-25.11.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:936c4dd07669269f40b497440159a221ee435e3fddcf668e0c05244a9be71993"},
- {file = "black-25.11.0-cp313-cp313-win_amd64.whl", hash = "sha256:f42c0ea7f59994490f4dccd64e6b2dd49ac57c7c84f38b8faab50f8759db245c"},
- {file = "black-25.11.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:35690a383f22dd3e468c85dc4b915217f87667ad9cce781d7b42678ce63c4170"},
- {file = "black-25.11.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:dae49ef7369c6caa1a1833fd5efb7c3024bb7e4499bf64833f65ad27791b1545"},
- {file = "black-25.11.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5bd4a22a0b37401c8e492e994bce79e614f91b14d9ea911f44f36e262195fdda"},
- {file = "black-25.11.0-cp314-cp314-win_amd64.whl", hash = "sha256:aa211411e94fdf86519996b7f5f05e71ba34835d8f0c0f03c00a26271da02664"},
- {file = "black-25.11.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a3bb5ce32daa9ff0605d73b6f19da0b0e6c1f8f2d75594db539fdfed722f2b06"},
- {file = "black-25.11.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9815ccee1e55717fe9a4b924cae1646ef7f54e0f990da39a34fc7b264fcf80a2"},
- {file = "black-25.11.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:92285c37b93a1698dcbc34581867b480f1ba3a7b92acf1fe0467b04d7a4da0dc"},
- {file = "black-25.11.0-cp39-cp39-win_amd64.whl", hash = "sha256:43945853a31099c7c0ff8dface53b4de56c41294fa6783c0441a8b1d9bf668bc"},
- {file = "black-25.11.0-py3-none-any.whl", hash = "sha256:e3f562da087791e96cefcd9dda058380a442ab322a02e222add53736451f604b"},
- {file = "black-25.11.0.tar.gz", hash = "sha256:9a323ac32f5dc75ce7470501b887250be5005a01602e931a15e45593f70f6e08"},
+ {file = "black-25.12.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f85ba1ad15d446756b4ab5f3044731bf68b777f8f9ac9cdabd2425b97cd9c4e8"},
+ {file = "black-25.12.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:546eecfe9a3a6b46f9d69d8a642585a6eaf348bcbbc4d87a19635570e02d9f4a"},
+ {file = "black-25.12.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:17dcc893da8d73d8f74a596f64b7c98ef5239c2cd2b053c0f25912c4494bf9ea"},
+ {file = "black-25.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:09524b0e6af8ba7a3ffabdfc7a9922fb9adef60fed008c7cd2fc01f3048e6e6f"},
+ {file = "black-25.12.0-cp310-cp310-win_arm64.whl", hash = "sha256:b162653ed89eb942758efeb29d5e333ca5bb90e5130216f8369857db5955a7da"},
+ {file = "black-25.12.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d0cfa263e85caea2cff57d8f917f9f51adae8e20b610e2b23de35b5b11ce691a"},
+ {file = "black-25.12.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1a2f578ae20c19c50a382286ba78bfbeafdf788579b053d8e4980afb079ab9be"},
+ {file = "black-25.12.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d3e1b65634b0e471d07ff86ec338819e2ef860689859ef4501ab7ac290431f9b"},
+ {file = "black-25.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:a3fa71e3b8dd9f7c6ac4d818345237dfb4175ed3bf37cd5a581dbc4c034f1ec5"},
+ {file = "black-25.12.0-cp311-cp311-win_arm64.whl", hash = "sha256:51e267458f7e650afed8445dc7edb3187143003d52a1b710c7321aef22aa9655"},
+ {file = "black-25.12.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:31f96b7c98c1ddaeb07dc0f56c652e25bdedaac76d5b68a059d998b57c55594a"},
+ {file = "black-25.12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:05dd459a19e218078a1f98178c13f861fe6a9a5f88fc969ca4d9b49eb1809783"},
+ {file = "black-25.12.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c1f68c5eff61f226934be6b5b80296cf6939e5d2f0c2f7d543ea08b204bfaf59"},
+ {file = "black-25.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:274f940c147ddab4442d316b27f9e332ca586d39c85ecf59ebdea82cc9ee8892"},
+ {file = "black-25.12.0-cp312-cp312-win_arm64.whl", hash = "sha256:169506ba91ef21e2e0591563deda7f00030cb466e747c4b09cb0a9dae5db2f43"},
+ {file = "black-25.12.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a05ddeb656534c3e27a05a29196c962877c83fa5503db89e68857d1161ad08a5"},
+ {file = "black-25.12.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9ec77439ef3e34896995503865a85732c94396edcc739f302c5673a2315e1e7f"},
+ {file = "black-25.12.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e509c858adf63aa61d908061b52e580c40eae0dfa72415fa47ac01b12e29baf"},
+ {file = "black-25.12.0-cp313-cp313-win_amd64.whl", hash = "sha256:252678f07f5bac4ff0d0e9b261fbb029fa530cfa206d0a636a34ab445ef8ca9d"},
+ {file = "black-25.12.0-cp313-cp313-win_arm64.whl", hash = "sha256:bc5b1c09fe3c931ddd20ee548511c64ebf964ada7e6f0763d443947fd1c603ce"},
+ {file = "black-25.12.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:0a0953b134f9335c2434864a643c842c44fba562155c738a2a37a4d61f00cad5"},
+ {file = "black-25.12.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:2355bbb6c3b76062870942d8cc450d4f8ac71f9c93c40122762c8784df49543f"},
+ {file = "black-25.12.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9678bd991cc793e81d19aeeae57966ee02909877cb65838ccffef24c3ebac08f"},
+ {file = "black-25.12.0-cp314-cp314-win_amd64.whl", hash = "sha256:97596189949a8aad13ad12fcbb4ae89330039b96ad6742e6f6b45e75ad5cfd83"},
+ {file = "black-25.12.0-cp314-cp314-win_arm64.whl", hash = "sha256:778285d9ea197f34704e3791ea9404cd6d07595745907dd2ce3da7a13627b29b"},
+ {file = "black-25.12.0-py3-none-any.whl", hash = "sha256:48ceb36c16dbc84062740049eef990bb2ce07598272e673c17d1a7720c71c828"},
+ {file = "black-25.12.0.tar.gz", hash = "sha256:8d3dd9cea14bff7ddc0eb243c811cdb1a011ebb4800a5f0335a01a68654796a7"},
]
[package.dependencies]
@@ -95,8 +83,6 @@ packaging = ">=22.0"
pathspec = ">=0.9.0"
platformdirs = ">=2"
pytokens = ">=0.3.0"
-tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
-typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""}
[package.extras]
colorama = ["colorama (>=0.4.3)"]
@@ -431,7 +417,6 @@ files = [
[package.dependencies]
cffi = {version = ">=2.0.0", markers = "python_full_version >= \"3.9.0\" and platform_python_implementation != \"PyPy\""}
-typing-extensions = {version = ">=4.13.2", markers = "python_full_version < \"3.11.0\""}
[package.extras]
docs = ["sphinx (>=5.3.0)", "sphinx-inline-tabs", "sphinx-rtd-theme (>=3.0.0)"]
@@ -466,25 +451,6 @@ files = [
{file = "docopt-0.6.2.tar.gz", hash = "sha256:49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491"},
]
-[[package]]
-name = "exceptiongroup"
-version = "1.3.0"
-description = "Backport of PEP 654 (exception groups)"
-optional = false
-python-versions = ">=3.7"
-groups = ["main", "dev"]
-markers = "python_version == \"3.10\""
-files = [
- {file = "exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10"},
- {file = "exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88"},
-]
-
-[package.dependencies]
-typing-extensions = {version = ">=4.6.0", markers = "python_version < \"3.13\""}
-
-[package.extras]
-test = ["pytest (>=6)"]
-
[[package]]
name = "flake8"
version = "7.3.0"
@@ -720,112 +686,152 @@ files = [
[[package]]
name = "lxml"
-version = "4.9.4"
+version = "5.4.0"
description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API."
optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*"
+python-versions = ">=3.6"
groups = ["main", "dev"]
files = [
- {file = "lxml-4.9.4-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e214025e23db238805a600f1f37bf9f9a15413c7bf5f9d6ae194f84980c78722"},
- {file = "lxml-4.9.4-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:ec53a09aee61d45e7dbe7e91252ff0491b6b5fee3d85b2d45b173d8ab453efc1"},
- {file = "lxml-4.9.4-cp27-cp27m-win32.whl", hash = "sha256:7d1d6c9e74c70ddf524e3c09d9dc0522aba9370708c2cb58680ea40174800013"},
- {file = "lxml-4.9.4-cp27-cp27m-win_amd64.whl", hash = "sha256:cb53669442895763e61df5c995f0e8361b61662f26c1b04ee82899c2789c8f69"},
- {file = "lxml-4.9.4-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:647bfe88b1997d7ae8d45dabc7c868d8cb0c8412a6e730a7651050b8c7289cf2"},
- {file = "lxml-4.9.4-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:4d973729ce04784906a19108054e1fd476bc85279a403ea1a72fdb051c76fa48"},
- {file = "lxml-4.9.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:056a17eaaf3da87a05523472ae84246f87ac2f29a53306466c22e60282e54ff8"},
- {file = "lxml-4.9.4-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:aaa5c173a26960fe67daa69aa93d6d6a1cd714a6eb13802d4e4bd1d24a530644"},
- {file = "lxml-4.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:647459b23594f370c1c01768edaa0ba0959afc39caeeb793b43158bb9bb6a663"},
- {file = "lxml-4.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:bdd9abccd0927673cffe601d2c6cdad1c9321bf3437a2f507d6b037ef91ea307"},
- {file = "lxml-4.9.4-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:00e91573183ad273e242db5585b52670eddf92bacad095ce25c1e682da14ed91"},
- {file = "lxml-4.9.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a602ed9bd2c7d85bd58592c28e101bd9ff9c718fbde06545a70945ffd5d11868"},
- {file = "lxml-4.9.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:de362ac8bc962408ad8fae28f3967ce1a262b5d63ab8cefb42662566737f1dc7"},
- {file = "lxml-4.9.4-cp310-cp310-win32.whl", hash = "sha256:33714fcf5af4ff7e70a49731a7cc8fd9ce910b9ac194f66eaa18c3cc0a4c02be"},
- {file = "lxml-4.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:d3caa09e613ece43ac292fbed513a4bce170681a447d25ffcbc1b647d45a39c5"},
- {file = "lxml-4.9.4-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:359a8b09d712df27849e0bcb62c6a3404e780b274b0b7e4c39a88826d1926c28"},
- {file = "lxml-4.9.4-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:43498ea734ccdfb92e1886dfedaebeb81178a241d39a79d5351ba2b671bff2b2"},
- {file = "lxml-4.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:4855161013dfb2b762e02b3f4d4a21cc7c6aec13c69e3bffbf5022b3e708dd97"},
- {file = "lxml-4.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:c71b5b860c5215fdbaa56f715bc218e45a98477f816b46cfde4a84d25b13274e"},
- {file = "lxml-4.9.4-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:9a2b5915c333e4364367140443b59f09feae42184459b913f0f41b9fed55794a"},
- {file = "lxml-4.9.4-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d82411dbf4d3127b6cde7da0f9373e37ad3a43e89ef374965465928f01c2b979"},
- {file = "lxml-4.9.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:273473d34462ae6e97c0f4e517bd1bf9588aa67a1d47d93f760a1282640e24ac"},
- {file = "lxml-4.9.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:389d2b2e543b27962990ab529ac6720c3dded588cc6d0f6557eec153305a3622"},
- {file = "lxml-4.9.4-cp311-cp311-win32.whl", hash = "sha256:8aecb5a7f6f7f8fe9cac0bcadd39efaca8bbf8d1bf242e9f175cbe4c925116c3"},
- {file = "lxml-4.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:c7721a3ef41591341388bb2265395ce522aba52f969d33dacd822da8f018aff8"},
- {file = "lxml-4.9.4-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:dbcb2dc07308453db428a95a4d03259bd8caea97d7f0776842299f2d00c72fc8"},
- {file = "lxml-4.9.4-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:01bf1df1db327e748dcb152d17389cf6d0a8c5d533ef9bab781e9d5037619229"},
- {file = "lxml-4.9.4-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e8f9f93a23634cfafbad6e46ad7d09e0f4a25a2400e4a64b1b7b7c0fbaa06d9d"},
- {file = "lxml-4.9.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3f3f00a9061605725df1816f5713d10cd94636347ed651abdbc75828df302b20"},
- {file = "lxml-4.9.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:953dd5481bd6252bd480d6ec431f61d7d87fdcbbb71b0d2bdcfc6ae00bb6fb10"},
- {file = "lxml-4.9.4-cp312-cp312-win32.whl", hash = "sha256:266f655d1baff9c47b52f529b5f6bec33f66042f65f7c56adde3fcf2ed62ae8b"},
- {file = "lxml-4.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:f1faee2a831fe249e1bae9cbc68d3cd8a30f7e37851deee4d7962b17c410dd56"},
- {file = "lxml-4.9.4-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:23d891e5bdc12e2e506e7d225d6aa929e0a0368c9916c1fddefab88166e98b20"},
- {file = "lxml-4.9.4-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e96a1788f24d03e8d61679f9881a883ecdf9c445a38f9ae3f3f193ab6c591c66"},
- {file = "lxml-4.9.4-cp36-cp36m-macosx_11_0_x86_64.whl", hash = "sha256:5557461f83bb7cc718bc9ee1f7156d50e31747e5b38d79cf40f79ab1447afd2d"},
- {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:fdb325b7fba1e2c40b9b1db407f85642e32404131c08480dd652110fc908561b"},
- {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d74d4a3c4b8f7a1f676cedf8e84bcc57705a6d7925e6daef7a1e54ae543a197"},
- {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:ac7674d1638df129d9cb4503d20ffc3922bd463c865ef3cb412f2c926108e9a4"},
- {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:ddd92e18b783aeb86ad2132d84a4b795fc5ec612e3545c1b687e7747e66e2b53"},
- {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2bd9ac6e44f2db368ef8986f3989a4cad3de4cd55dbdda536e253000c801bcc7"},
- {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:bc354b1393dce46026ab13075f77b30e40b61b1a53e852e99d3cc5dd1af4bc85"},
- {file = "lxml-4.9.4-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:f836f39678cb47c9541f04d8ed4545719dc31ad850bf1832d6b4171e30d65d23"},
- {file = "lxml-4.9.4-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:9c131447768ed7bc05a02553d939e7f0e807e533441901dd504e217b76307745"},
- {file = "lxml-4.9.4-cp36-cp36m-win32.whl", hash = "sha256:bafa65e3acae612a7799ada439bd202403414ebe23f52e5b17f6ffc2eb98c2be"},
- {file = "lxml-4.9.4-cp36-cp36m-win_amd64.whl", hash = "sha256:6197c3f3c0b960ad033b9b7d611db11285bb461fc6b802c1dd50d04ad715c225"},
- {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:7b378847a09d6bd46047f5f3599cdc64fcb4cc5a5a2dd0a2af610361fbe77b16"},
- {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:1343df4e2e6e51182aad12162b23b0a4b3fd77f17527a78c53f0f23573663545"},
- {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:6dbdacf5752fbd78ccdb434698230c4f0f95df7dd956d5f205b5ed6911a1367c"},
- {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:506becdf2ecaebaf7f7995f776394fcc8bd8a78022772de66677c84fb02dd33d"},
- {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ca8e44b5ba3edb682ea4e6185b49661fc22b230cf811b9c13963c9f982d1d964"},
- {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:9d9d5726474cbbef279fd709008f91a49c4f758bec9c062dfbba88eab00e3ff9"},
- {file = "lxml-4.9.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:bbdd69e20fe2943b51e2841fc1e6a3c1de460d630f65bde12452d8c97209464d"},
- {file = "lxml-4.9.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8671622256a0859f5089cbe0ce4693c2af407bc053dcc99aadff7f5310b4aa02"},
- {file = "lxml-4.9.4-cp37-cp37m-win32.whl", hash = "sha256:dd4fda67f5faaef4f9ee5383435048ee3e11ad996901225ad7615bc92245bc8e"},
- {file = "lxml-4.9.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6bee9c2e501d835f91460b2c904bc359f8433e96799f5c2ff20feebd9bb1e590"},
- {file = "lxml-4.9.4-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:1f10f250430a4caf84115b1e0f23f3615566ca2369d1962f82bef40dd99cd81a"},
- {file = "lxml-4.9.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:3b505f2bbff50d261176e67be24e8909e54b5d9d08b12d4946344066d66b3e43"},
- {file = "lxml-4.9.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:1449f9451cd53e0fd0a7ec2ff5ede4686add13ac7a7bfa6988ff6d75cff3ebe2"},
- {file = "lxml-4.9.4-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:4ece9cca4cd1c8ba889bfa67eae7f21d0d1a2e715b4d5045395113361e8c533d"},
- {file = "lxml-4.9.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:59bb5979f9941c61e907ee571732219fa4774d5a18f3fa5ff2df963f5dfaa6bc"},
- {file = "lxml-4.9.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b1980dbcaad634fe78e710c8587383e6e3f61dbe146bcbfd13a9c8ab2d7b1192"},
- {file = "lxml-4.9.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9ae6c3363261021144121427b1552b29e7b59de9d6a75bf51e03bc072efb3c37"},
- {file = "lxml-4.9.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bcee502c649fa6351b44bb014b98c09cb00982a475a1912a9881ca28ab4f9cd9"},
- {file = "lxml-4.9.4-cp38-cp38-win32.whl", hash = "sha256:a8edae5253efa75c2fc79a90068fe540b197d1c7ab5803b800fccfe240eed33c"},
- {file = "lxml-4.9.4-cp38-cp38-win_amd64.whl", hash = "sha256:701847a7aaefef121c5c0d855b2affa5f9bd45196ef00266724a80e439220e46"},
- {file = "lxml-4.9.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:f610d980e3fccf4394ab3806de6065682982f3d27c12d4ce3ee46a8183d64a6a"},
- {file = "lxml-4.9.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:aa9b5abd07f71b081a33115d9758ef6077924082055005808f68feccb27616bd"},
- {file = "lxml-4.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:365005e8b0718ea6d64b374423e870648ab47c3a905356ab6e5a5ff03962b9a9"},
- {file = "lxml-4.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:16b9ec51cc2feab009e800f2c6327338d6ee4e752c76e95a35c4465e80390ccd"},
- {file = "lxml-4.9.4-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:a905affe76f1802edcac554e3ccf68188bea16546071d7583fb1b693f9cf756b"},
- {file = "lxml-4.9.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fd814847901df6e8de13ce69b84c31fc9b3fb591224d6762d0b256d510cbf382"},
- {file = "lxml-4.9.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:91bbf398ac8bb7d65a5a52127407c05f75a18d7015a270fdd94bbcb04e65d573"},
- {file = "lxml-4.9.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f99768232f036b4776ce419d3244a04fe83784bce871b16d2c2e984c7fcea847"},
- {file = "lxml-4.9.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bb5bd6212eb0edfd1e8f254585290ea1dadc3687dd8fd5e2fd9a87c31915cdab"},
- {file = "lxml-4.9.4-cp39-cp39-win32.whl", hash = "sha256:88f7c383071981c74ec1998ba9b437659e4fd02a3c4a4d3efc16774eb108d0ec"},
- {file = "lxml-4.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:936e8880cc00f839aa4173f94466a8406a96ddce814651075f95837316369899"},
- {file = "lxml-4.9.4-pp310-pypy310_pp73-macosx_11_0_x86_64.whl", hash = "sha256:f6c35b2f87c004270fa2e703b872fcc984d714d430b305145c39d53074e1ffe0"},
- {file = "lxml-4.9.4-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:606d445feeb0856c2b424405236a01c71af7c97e5fe42fbc778634faef2b47e4"},
- {file = "lxml-4.9.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a1bdcbebd4e13446a14de4dd1825f1e778e099f17f79718b4aeaf2403624b0f7"},
- {file = "lxml-4.9.4-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:0a08c89b23117049ba171bf51d2f9c5f3abf507d65d016d6e0fa2f37e18c0fc5"},
- {file = "lxml-4.9.4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:232fd30903d3123be4c435fb5159938c6225ee8607b635a4d3fca847003134ba"},
- {file = "lxml-4.9.4-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:231142459d32779b209aa4b4d460b175cadd604fed856f25c1571a9d78114771"},
- {file = "lxml-4.9.4-pp38-pypy38_pp73-macosx_11_0_x86_64.whl", hash = "sha256:520486f27f1d4ce9654154b4494cf9307b495527f3a2908ad4cb48e4f7ed7ef7"},
- {file = "lxml-4.9.4-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:562778586949be7e0d7435fcb24aca4810913771f845d99145a6cee64d5b67ca"},
- {file = "lxml-4.9.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:a9e7c6d89c77bb2770c9491d988f26a4b161d05c8ca58f63fb1f1b6b9a74be45"},
- {file = "lxml-4.9.4-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:786d6b57026e7e04d184313c1359ac3d68002c33e4b1042ca58c362f1d09ff58"},
- {file = "lxml-4.9.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:95ae6c5a196e2f239150aa4a479967351df7f44800c93e5a975ec726fef005e2"},
- {file = "lxml-4.9.4-pp39-pypy39_pp73-macosx_11_0_x86_64.whl", hash = "sha256:9b556596c49fa1232b0fff4b0e69b9d4083a502e60e404b44341e2f8fb7187f5"},
- {file = "lxml-4.9.4-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:cc02c06e9e320869d7d1bd323df6dd4281e78ac2e7f8526835d3d48c69060683"},
- {file = "lxml-4.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:857d6565f9aa3464764c2cb6a2e3c2e75e1970e877c188f4aeae45954a314e0c"},
- {file = "lxml-4.9.4-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c42ae7e010d7d6bc51875d768110c10e8a59494855c3d4c348b068f5fb81fdcd"},
- {file = "lxml-4.9.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:f10250bb190fb0742e3e1958dd5c100524c2cc5096c67c8da51233f7448dc137"},
- {file = "lxml-4.9.4.tar.gz", hash = "sha256:b1541e50b78e15fa06a2670157a1962ef06591d4c998b998047fff5e3236880e"},
+ {file = "lxml-5.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e7bc6df34d42322c5289e37e9971d6ed114e3776b45fa879f734bded9d1fea9c"},
+ {file = "lxml-5.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6854f8bd8a1536f8a1d9a3655e6354faa6406621cf857dc27b681b69860645c7"},
+ {file = "lxml-5.4.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:696ea9e87442467819ac22394ca36cb3d01848dad1be6fac3fb612d3bd5a12cf"},
+ {file = "lxml-5.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ef80aeac414f33c24b3815ecd560cee272786c3adfa5f31316d8b349bfade28"},
+ {file = "lxml-5.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b9c2754cef6963f3408ab381ea55f47dabc6f78f4b8ebb0f0b25cf1ac1f7609"},
+ {file = "lxml-5.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7a62cc23d754bb449d63ff35334acc9f5c02e6dae830d78dab4dd12b78a524f4"},
+ {file = "lxml-5.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f82125bc7203c5ae8633a7d5d20bcfdff0ba33e436e4ab0abc026a53a8960b7"},
+ {file = "lxml-5.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:b67319b4aef1a6c56576ff544b67a2a6fbd7eaee485b241cabf53115e8908b8f"},
+ {file = "lxml-5.4.0-cp310-cp310-manylinux_2_28_ppc64le.whl", hash = "sha256:a8ef956fce64c8551221f395ba21d0724fed6b9b6242ca4f2f7beb4ce2f41997"},
+ {file = "lxml-5.4.0-cp310-cp310-manylinux_2_28_s390x.whl", hash = "sha256:0a01ce7d8479dce84fc03324e3b0c9c90b1ece9a9bb6a1b6c9025e7e4520e78c"},
+ {file = "lxml-5.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:91505d3ddebf268bb1588eb0f63821f738d20e1e7f05d3c647a5ca900288760b"},
+ {file = "lxml-5.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a3bcdde35d82ff385f4ede021df801b5c4a5bcdfb61ea87caabcebfc4945dc1b"},
+ {file = "lxml-5.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:aea7c06667b987787c7d1f5e1dfcd70419b711cdb47d6b4bb4ad4b76777a0563"},
+ {file = "lxml-5.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:a7fb111eef4d05909b82152721a59c1b14d0f365e2be4c742a473c5d7372f4f5"},
+ {file = "lxml-5.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:43d549b876ce64aa18b2328faff70f5877f8c6dede415f80a2f799d31644d776"},
+ {file = "lxml-5.4.0-cp310-cp310-win32.whl", hash = "sha256:75133890e40d229d6c5837b0312abbe5bac1c342452cf0e12523477cd3aa21e7"},
+ {file = "lxml-5.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:de5b4e1088523e2b6f730d0509a9a813355b7f5659d70eb4f319c76beea2e250"},
+ {file = "lxml-5.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:98a3912194c079ef37e716ed228ae0dcb960992100461b704aea4e93af6b0bb9"},
+ {file = "lxml-5.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0ea0252b51d296a75f6118ed0d8696888e7403408ad42345d7dfd0d1e93309a7"},
+ {file = "lxml-5.4.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b92b69441d1bd39f4940f9eadfa417a25862242ca2c396b406f9272ef09cdcaa"},
+ {file = "lxml-5.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20e16c08254b9b6466526bc1828d9370ee6c0d60a4b64836bc3ac2917d1e16df"},
+ {file = "lxml-5.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7605c1c32c3d6e8c990dd28a0970a3cbbf1429d5b92279e37fda05fb0c92190e"},
+ {file = "lxml-5.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ecf4c4b83f1ab3d5a7ace10bafcb6f11df6156857a3c418244cef41ca9fa3e44"},
+ {file = "lxml-5.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0cef4feae82709eed352cd7e97ae062ef6ae9c7b5dbe3663f104cd2c0e8d94ba"},
+ {file = "lxml-5.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:df53330a3bff250f10472ce96a9af28628ff1f4efc51ccba351a8820bca2a8ba"},
+ {file = "lxml-5.4.0-cp311-cp311-manylinux_2_28_ppc64le.whl", hash = "sha256:aefe1a7cb852fa61150fcb21a8c8fcea7b58c4cb11fbe59c97a0a4b31cae3c8c"},
+ {file = "lxml-5.4.0-cp311-cp311-manylinux_2_28_s390x.whl", hash = "sha256:ef5a7178fcc73b7d8c07229e89f8eb45b2908a9238eb90dcfc46571ccf0383b8"},
+ {file = "lxml-5.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d2ed1b3cb9ff1c10e6e8b00941bb2e5bb568b307bfc6b17dffbbe8be5eecba86"},
+ {file = "lxml-5.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:72ac9762a9f8ce74c9eed4a4e74306f2f18613a6b71fa065495a67ac227b3056"},
+ {file = "lxml-5.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f5cb182f6396706dc6cc1896dd02b1c889d644c081b0cdec38747573db88a7d7"},
+ {file = "lxml-5.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:3a3178b4873df8ef9457a4875703488eb1622632a9cee6d76464b60e90adbfcd"},
+ {file = "lxml-5.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e094ec83694b59d263802ed03a8384594fcce477ce484b0cbcd0008a211ca751"},
+ {file = "lxml-5.4.0-cp311-cp311-win32.whl", hash = "sha256:4329422de653cdb2b72afa39b0aa04252fca9071550044904b2e7036d9d97fe4"},
+ {file = "lxml-5.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:fd3be6481ef54b8cfd0e1e953323b7aa9d9789b94842d0e5b142ef4bb7999539"},
+ {file = "lxml-5.4.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b5aff6f3e818e6bdbbb38e5967520f174b18f539c2b9de867b1e7fde6f8d95a4"},
+ {file = "lxml-5.4.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942a5d73f739ad7c452bf739a62a0f83e2578afd6b8e5406308731f4ce78b16d"},
+ {file = "lxml-5.4.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:460508a4b07364d6abf53acaa0a90b6d370fafde5693ef37602566613a9b0779"},
+ {file = "lxml-5.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:529024ab3a505fed78fe3cc5ddc079464e709f6c892733e3f5842007cec8ac6e"},
+ {file = "lxml-5.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ca56ebc2c474e8f3d5761debfd9283b8b18c76c4fc0967b74aeafba1f5647f9"},
+ {file = "lxml-5.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a81e1196f0a5b4167a8dafe3a66aa67c4addac1b22dc47947abd5d5c7a3f24b5"},
+ {file = "lxml-5.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00b8686694423ddae324cf614e1b9659c2edb754de617703c3d29ff568448df5"},
+ {file = "lxml-5.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:c5681160758d3f6ac5b4fea370495c48aac0989d6a0f01bb9a72ad8ef5ab75c4"},
+ {file = "lxml-5.4.0-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:2dc191e60425ad70e75a68c9fd90ab284df64d9cd410ba8d2b641c0c45bc006e"},
+ {file = "lxml-5.4.0-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:67f779374c6b9753ae0a0195a892a1c234ce8416e4448fe1e9f34746482070a7"},
+ {file = "lxml-5.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:79d5bfa9c1b455336f52343130b2067164040604e41f6dc4d8313867ed540079"},
+ {file = "lxml-5.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3d3c30ba1c9b48c68489dc1829a6eede9873f52edca1dda900066542528d6b20"},
+ {file = "lxml-5.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1af80c6316ae68aded77e91cd9d80648f7dd40406cef73df841aa3c36f6907c8"},
+ {file = "lxml-5.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4d885698f5019abe0de3d352caf9466d5de2baded00a06ef3f1216c1a58ae78f"},
+ {file = "lxml-5.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea53d51859b6c64e7c51d522c03cc2c48b9b5d6172126854cc7f01aa11f52bc"},
+ {file = "lxml-5.4.0-cp312-cp312-win32.whl", hash = "sha256:d90b729fd2732df28130c064aac9bb8aff14ba20baa4aee7bd0795ff1187545f"},
+ {file = "lxml-5.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1dc4ca99e89c335a7ed47d38964abcb36c5910790f9bd106f2a8fa2ee0b909d2"},
+ {file = "lxml-5.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:773e27b62920199c6197130632c18fb7ead3257fce1ffb7d286912e56ddb79e0"},
+ {file = "lxml-5.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ce9c671845de9699904b1e9df95acfe8dfc183f2310f163cdaa91a3535af95de"},
+ {file = "lxml-5.4.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9454b8d8200ec99a224df8854786262b1bd6461f4280064c807303c642c05e76"},
+ {file = "lxml-5.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cccd007d5c95279e529c146d095f1d39ac05139de26c098166c4beb9374b0f4d"},
+ {file = "lxml-5.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0fce1294a0497edb034cb416ad3e77ecc89b313cff7adbee5334e4dc0d11f422"},
+ {file = "lxml-5.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:24974f774f3a78ac12b95e3a20ef0931795ff04dbb16db81a90c37f589819551"},
+ {file = "lxml-5.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:497cab4d8254c2a90bf988f162ace2ddbfdd806fce3bda3f581b9d24c852e03c"},
+ {file = "lxml-5.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:e794f698ae4c5084414efea0f5cc9f4ac562ec02d66e1484ff822ef97c2cadff"},
+ {file = "lxml-5.4.0-cp313-cp313-manylinux_2_28_ppc64le.whl", hash = "sha256:2c62891b1ea3094bb12097822b3d44b93fc6c325f2043c4d2736a8ff09e65f60"},
+ {file = "lxml-5.4.0-cp313-cp313-manylinux_2_28_s390x.whl", hash = "sha256:142accb3e4d1edae4b392bd165a9abdee8a3c432a2cca193df995bc3886249c8"},
+ {file = "lxml-5.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:1a42b3a19346e5601d1b8296ff6ef3d76038058f311902edd574461e9c036982"},
+ {file = "lxml-5.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4291d3c409a17febf817259cb37bc62cb7eb398bcc95c1356947e2871911ae61"},
+ {file = "lxml-5.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4f5322cf38fe0e21c2d73901abf68e6329dc02a4994e483adbcf92b568a09a54"},
+ {file = "lxml-5.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:0be91891bdb06ebe65122aa6bf3fc94489960cf7e03033c6f83a90863b23c58b"},
+ {file = "lxml-5.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:15a665ad90054a3d4f397bc40f73948d48e36e4c09f9bcffc7d90c87410e478a"},
+ {file = "lxml-5.4.0-cp313-cp313-win32.whl", hash = "sha256:d5663bc1b471c79f5c833cffbc9b87d7bf13f87e055a5c86c363ccd2348d7e82"},
+ {file = "lxml-5.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:bcb7a1096b4b6b24ce1ac24d4942ad98f983cd3810f9711bcd0293f43a9d8b9f"},
+ {file = "lxml-5.4.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:7be701c24e7f843e6788353c055d806e8bd8466b52907bafe5d13ec6a6dbaecd"},
+ {file = "lxml-5.4.0-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb54f7c6bafaa808f27166569b1511fc42701a7713858dddc08afdde9746849e"},
+ {file = "lxml-5.4.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97dac543661e84a284502e0cf8a67b5c711b0ad5fb661d1bd505c02f8cf716d7"},
+ {file = "lxml-5.4.0-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:c70e93fba207106cb16bf852e421c37bbded92acd5964390aad07cb50d60f5cf"},
+ {file = "lxml-5.4.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:9c886b481aefdf818ad44846145f6eaf373a20d200b5ce1a5c8e1bc2d8745410"},
+ {file = "lxml-5.4.0-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:fa0e294046de09acd6146be0ed6727d1f42ded4ce3ea1e9a19c11b6774eea27c"},
+ {file = "lxml-5.4.0-cp36-cp36m-win32.whl", hash = "sha256:61c7bbf432f09ee44b1ccaa24896d21075e533cd01477966a5ff5a71d88b2f56"},
+ {file = "lxml-5.4.0-cp36-cp36m-win_amd64.whl", hash = "sha256:7ce1a171ec325192c6a636b64c94418e71a1964f56d002cc28122fceff0b6121"},
+ {file = "lxml-5.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:795f61bcaf8770e1b37eec24edf9771b307df3af74d1d6f27d812e15a9ff3872"},
+ {file = "lxml-5.4.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:29f451a4b614a7b5b6c2e043d7b64a15bd8304d7e767055e8ab68387a8cacf4e"},
+ {file = "lxml-5.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:891f7f991a68d20c75cb13c5c9142b2a3f9eb161f1f12a9489c82172d1f133c0"},
+ {file = "lxml-5.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4aa412a82e460571fad592d0f93ce9935a20090029ba08eca05c614f99b0cc92"},
+ {file = "lxml-5.4.0-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:ac7ba71f9561cd7d7b55e1ea5511543c0282e2b6450f122672a2694621d63b7e"},
+ {file = "lxml-5.4.0-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:c5d32f5284012deaccd37da1e2cd42f081feaa76981f0eaa474351b68df813c5"},
+ {file = "lxml-5.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:ce31158630a6ac85bddd6b830cffd46085ff90498b397bd0a259f59d27a12188"},
+ {file = "lxml-5.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:31e63621e073e04697c1b2d23fcb89991790eef370ec37ce4d5d469f40924ed6"},
+ {file = "lxml-5.4.0-cp37-cp37m-win32.whl", hash = "sha256:be2ba4c3c5b7900246a8f866580700ef0d538f2ca32535e991027bdaba944063"},
+ {file = "lxml-5.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:09846782b1ef650b321484ad429217f5154da4d6e786636c38e434fa32e94e49"},
+ {file = "lxml-5.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:eaf24066ad0b30917186420d51e2e3edf4b0e2ea68d8cd885b14dc8afdcf6556"},
+ {file = "lxml-5.4.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b31a3a77501d86d8ade128abb01082724c0dfd9524f542f2f07d693c9f1175f"},
+ {file = "lxml-5.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e108352e203c7afd0eb91d782582f00a0b16a948d204d4dec8565024fafeea5"},
+ {file = "lxml-5.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a11a96c3b3f7551c8a8109aa65e8594e551d5a84c76bf950da33d0fb6dfafab7"},
+ {file = "lxml-5.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:ca755eebf0d9e62d6cb013f1261e510317a41bf4650f22963474a663fdfe02aa"},
+ {file = "lxml-5.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:4cd915c0fb1bed47b5e6d6edd424ac25856252f09120e3e8ba5154b6b921860e"},
+ {file = "lxml-5.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:226046e386556a45ebc787871d6d2467b32c37ce76c2680f5c608e25823ffc84"},
+ {file = "lxml-5.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:b108134b9667bcd71236c5a02aad5ddd073e372fb5d48ea74853e009fe38acb6"},
+ {file = "lxml-5.4.0-cp38-cp38-win32.whl", hash = "sha256:1320091caa89805df7dcb9e908add28166113dcd062590668514dbd510798c88"},
+ {file = "lxml-5.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:073eb6dcdf1f587d9b88c8c93528b57eccda40209cf9be549d469b942b41d70b"},
+ {file = "lxml-5.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bda3ea44c39eb74e2488297bb39d47186ed01342f0022c8ff407c250ac3f498e"},
+ {file = "lxml-5.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9ceaf423b50ecfc23ca00b7f50b64baba85fb3fb91c53e2c9d00bc86150c7e40"},
+ {file = "lxml-5.4.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:664cdc733bc87449fe781dbb1f309090966c11cc0c0cd7b84af956a02a8a4729"},
+ {file = "lxml-5.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67ed8a40665b84d161bae3181aa2763beea3747f748bca5874b4af4d75998f87"},
+ {file = "lxml-5.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b4a3bd174cc9cdaa1afbc4620c049038b441d6ba07629d89a83b408e54c35cd"},
+ {file = "lxml-5.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:b0989737a3ba6cf2a16efb857fb0dfa20bc5c542737fddb6d893fde48be45433"},
+ {file = "lxml-5.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:dc0af80267edc68adf85f2a5d9be1cdf062f973db6790c1d065e45025fa26140"},
+ {file = "lxml-5.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:639978bccb04c42677db43c79bdaa23785dc7f9b83bfd87570da8207872f1ce5"},
+ {file = "lxml-5.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5a99d86351f9c15e4a901fc56404b485b1462039db59288b203f8c629260a142"},
+ {file = "lxml-5.4.0-cp39-cp39-win32.whl", hash = "sha256:3e6d5557989cdc3ebb5302bbdc42b439733a841891762ded9514e74f60319ad6"},
+ {file = "lxml-5.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:a8c9b7f16b63e65bbba889acb436a1034a82d34fa09752d754f88d708eca80e1"},
+ {file = "lxml-5.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1b717b00a71b901b4667226bba282dd462c42ccf618ade12f9ba3674e1fabc55"},
+ {file = "lxml-5.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27a9ded0f0b52098ff89dd4c418325b987feed2ea5cc86e8860b0f844285d740"},
+ {file = "lxml-5.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b7ce10634113651d6f383aa712a194179dcd496bd8c41e191cec2099fa09de5"},
+ {file = "lxml-5.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:53370c26500d22b45182f98847243efb518d268374a9570409d2e2276232fd37"},
+ {file = "lxml-5.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c6364038c519dffdbe07e3cf42e6a7f8b90c275d4d1617a69bb59734c1a2d571"},
+ {file = "lxml-5.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b12cb6527599808ada9eb2cd6e0e7d3d8f13fe7bbb01c6311255a15ded4c7ab4"},
+ {file = "lxml-5.4.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5f11a1526ebd0dee85e7b1e39e39a0cc0d9d03fb527f56d8457f6df48a10dc0c"},
+ {file = "lxml-5.4.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48b4afaf38bf79109bb060d9016fad014a9a48fb244e11b94f74ae366a64d252"},
+ {file = "lxml-5.4.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de6f6bb8a7840c7bf216fb83eec4e2f79f7325eca8858167b68708b929ab2172"},
+ {file = "lxml-5.4.0-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5cca36a194a4eb4e2ed6be36923d3cffd03dcdf477515dea687185506583d4c9"},
+ {file = "lxml-5.4.0-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b7c86884ad23d61b025989d99bfdd92a7351de956e01c61307cb87035960bcb1"},
+ {file = "lxml-5.4.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:53d9469ab5460402c19553b56c3648746774ecd0681b1b27ea74d5d8a3ef5590"},
+ {file = "lxml-5.4.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:56dbdbab0551532bb26c19c914848d7251d73edb507c3079d6805fa8bba5b706"},
+ {file = "lxml-5.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14479c2ad1cb08b62bb941ba8e0e05938524ee3c3114644df905d2331c76cd57"},
+ {file = "lxml-5.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32697d2ea994e0db19c1df9e40275ffe84973e4232b5c274f47e7c1ec9763cdd"},
+ {file = "lxml-5.4.0-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:24f6df5f24fc3385f622c0c9d63fe34604893bc1a5bdbb2dbf5870f85f9a404a"},
+ {file = "lxml-5.4.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:151d6c40bc9db11e960619d2bf2ec5829f0aaffb10b41dcf6ad2ce0f3c0b2325"},
+ {file = "lxml-5.4.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4025bf2884ac4370a3243c5aa8d66d3cb9e15d3ddd0af2d796eccc5f0244390e"},
+ {file = "lxml-5.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:9459e6892f59ecea2e2584ee1058f5d8f629446eab52ba2305ae13a32a059530"},
+ {file = "lxml-5.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47fb24cc0f052f0576ea382872b3fc7e1f7e3028e53299ea751839418ade92a6"},
+ {file = "lxml-5.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50441c9de951a153c698b9b99992e806b71c1f36d14b154592580ff4a9d0d877"},
+ {file = "lxml-5.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:ab339536aa798b1e17750733663d272038bf28069761d5be57cb4a9b0137b4f8"},
+ {file = "lxml-5.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9776af1aad5a4b4a1317242ee2bea51da54b2a7b7b48674be736d463c999f37d"},
+ {file = "lxml-5.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:63e7968ff83da2eb6fdda967483a7a023aa497d85ad8f05c3ad9b1f2e8c84987"},
+ {file = "lxml-5.4.0.tar.gz", hash = "sha256:d12832e1dbea4be280b22fd0ea7c9b87f0d8fc51ba06e92dc62d52f804f78ebd"},
]
[package.extras]
cssselect = ["cssselect (>=0.7)"]
+html-clean = ["lxml_html_clean"]
html5 = ["html5lib"]
htmlsoup = ["BeautifulSoup4"]
-source = ["Cython (==0.29.37)"]
+source = ["Cython (>=3.0.11,<3.1.0)"]
[[package]]
name = "markupsafe"
@@ -1091,21 +1097,20 @@ files = [
[package.dependencies]
prettytable = ">=3.12.0"
-tomli = {version = ">=2", markers = "python_version < \"3.11\""}
[package.extras]
dev = ["autopep8", "black", "docutils", "isort", "mypy", "pip-tools", "pypandoc", "pytest-cov", "pytest-pycodestyle", "pytest-runner", "tomli-w", "twine", "wheel"]
[[package]]
name = "platformdirs"
-version = "4.5.0"
+version = "4.5.1"
description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`."
optional = false
python-versions = ">=3.10"
groups = ["dev"]
files = [
- {file = "platformdirs-4.5.0-py3-none-any.whl", hash = "sha256:e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3"},
- {file = "platformdirs-4.5.0.tar.gz", hash = "sha256:70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312"},
+ {file = "platformdirs-4.5.1-py3-none-any.whl", hash = "sha256:d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31"},
+ {file = "platformdirs-4.5.1.tar.gz", hash = "sha256:61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda"},
]
[package.extras]
@@ -1237,14 +1242,14 @@ files = [
[[package]]
name = "pydantic"
-version = "2.12.4"
+version = "2.12.5"
description = "Data validation using Python type hints"
optional = false
python-versions = ">=3.9"
groups = ["dev"]
files = [
- {file = "pydantic-2.12.4-py3-none-any.whl", hash = "sha256:92d3d202a745d46f9be6df459ac5a064fdaa3c1c4cd8adcfa332ccf3c05f871e"},
- {file = "pydantic-2.12.4.tar.gz", hash = "sha256:0f8cb9555000a4b5b617f66bfd2566264c4984b27589d3b845685983e8ea85ac"},
+ {file = "pydantic-2.12.5-py3-none-any.whl", hash = "sha256:e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d"},
+ {file = "pydantic-2.12.5.tar.gz", hash = "sha256:4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49"},
]
[package.dependencies]
@@ -1489,12 +1494,10 @@ files = [
[package.dependencies]
colorama = {version = ">=0.4", markers = "sys_platform == \"win32\""}
-exceptiongroup = {version = ">=1", markers = "python_version < \"3.11\""}
iniconfig = ">=1"
packaging = ">=20"
pluggy = ">=1.5,<2"
pygments = ">=2.7.2"
-tomli = {version = ">=1", markers = "python_version < \"3.11\""}
[package.extras]
dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "requests", "setuptools", "xmlschema"]
@@ -1512,9 +1515,7 @@ files = [
]
[package.dependencies]
-backports-asyncio-runner = {version = ">=1.1,<2", markers = "python_version < \"3.11\""}
pytest = ">=8.2,<10"
-typing-extensions = {version = ">=4.12", markers = "python_version < \"3.13\""}
[package.extras]
docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1)"]
@@ -1522,39 +1523,38 @@ testing = ["coverage (>=6.2)", "hypothesis (>=5.7.1)"]
[[package]]
name = "pytest-check"
-version = "2.6.0"
+version = "2.6.2"
description = "A pytest plugin that allows multiple failures per test."
optional = false
python-versions = ">=3.9"
groups = ["main"]
files = [
- {file = "pytest_check-2.6.0-py3-none-any.whl", hash = "sha256:a9735020dc0f0219b8a5298d7f90cf6d1f6fe34b709b9ecbb9e0f49393ebab38"},
- {file = "pytest_check-2.6.0.tar.gz", hash = "sha256:9be4c59a09827129109148c85d7b5964b57f0a5ced1b619459ca30e6f463ca42"},
+ {file = "pytest_check-2.6.2-py3-none-any.whl", hash = "sha256:71762eb58f6b8a2d75afb9e6c8b800af7f634f67359d899a65ee48aaee087215"},
+ {file = "pytest_check-2.6.2.tar.gz", hash = "sha256:5e2128405b14978ad74f21f3225fcc52bbb1cc7c41a55d5eaad9f1e3cd27e42e"},
]
[package.dependencies]
pytest = ">=7.0.0"
-typing-extensions = {version = ">=4.12.2,<5", markers = "python_version < \"3.11\""}
[package.extras]
dev = ["build", "tox", "tox-uv"]
[[package]]
name = "pytest-nhsd-apim"
-version = "4.0.1"
+version = "5.0.6"
description = "Pytest plugin accessing NHSDigital's APIM proxies"
optional = false
python-versions = "<4.0,>=3.8"
groups = ["dev"]
files = [
- {file = "pytest_nhsd_apim-4.0.1-py3-none-any.whl", hash = "sha256:72250b813d894e82c643976c9a906c39316f0f3ed9497fdb96d795677690338c"},
- {file = "pytest_nhsd_apim-4.0.1.tar.gz", hash = "sha256:637ac1bdf57245eee66d2df89945aec5072b872698e050cb6b2d29b46b5dcf13"},
+ {file = "pytest_nhsd_apim-5.0.6-py3-none-any.whl", hash = "sha256:b562297c62594275dcce5b08187d7cea4f56e2704f2354f1beb80c8f3db8202e"},
+ {file = "pytest_nhsd_apim-5.0.6.tar.gz", hash = "sha256:77be049fe6f840c7b37bb7607ee1650ef6cea17806c29051eab5721c6b272be4"},
]
[package.dependencies]
Authlib = ">=1.3.1,<2.0.0"
cryptography = ">42.0.0"
-lxml = ">=4.9.1,<5.0.0"
+lxml = ">=5.3.1,<6.0.0"
pycryptodome = ">=3.20.0,<4.0.0"
pydantic = ">=2.9.2,<3.0.0"
pydantic-settings = ">=2.2.1,<3.0.0"
@@ -1694,7 +1694,6 @@ files = [
[package.dependencies]
attrs = ">=22.2.0"
rpds-py = ">=0.7.0"
-typing-extensions = {version = ">=4.4.0", markers = "python_version < \"3.13\""}
[[package]]
name = "requests"
@@ -1735,127 +1734,127 @@ six = "*"
[[package]]
name = "rpds-py"
-version = "0.29.0"
+version = "0.30.0"
description = "Python bindings to Rust's persistent data structures (rpds)"
optional = false
python-versions = ">=3.10"
groups = ["main"]
files = [
- {file = "rpds_py-0.29.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:4ae4b88c6617e1b9e5038ab3fccd7bac0842fdda2b703117b2aa99bc85379113"},
- {file = "rpds_py-0.29.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7d9128ec9d8cecda6f044001fde4fb71ea7c24325336612ef8179091eb9596b9"},
- {file = "rpds_py-0.29.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d37812c3da8e06f2bb35b3cf10e4a7b68e776a706c13058997238762b4e07f4f"},
- {file = "rpds_py-0.29.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:66786c3fb1d8de416a7fa8e1cb1ec6ba0a745b2b0eee42f9b7daa26f1a495545"},
- {file = "rpds_py-0.29.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58f5c77f1af888b5fd1876c9a0d9858f6f88a39c9dd7c073a88e57e577da66d"},
- {file = "rpds_py-0.29.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:799156ef1f3529ed82c36eb012b5d7a4cf4b6ef556dd7cc192148991d07206ae"},
- {file = "rpds_py-0.29.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:453783477aa4f2d9104c4b59b08c871431647cb7af51b549bbf2d9eb9c827756"},
- {file = "rpds_py-0.29.0-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:24a7231493e3c4a4b30138b50cca089a598e52c34cf60b2f35cebf62f274fdea"},
- {file = "rpds_py-0.29.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7033c1010b1f57bb44d8067e8c25aa6fa2e944dbf46ccc8c92b25043839c3fd2"},
- {file = "rpds_py-0.29.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0248b19405422573621172ab8e3a1f29141362d13d9f72bafa2e28ea0cdca5a2"},
- {file = "rpds_py-0.29.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:f9f436aee28d13b9ad2c764fc273e0457e37c2e61529a07b928346b219fcde3b"},
- {file = "rpds_py-0.29.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:24a16cb7163933906c62c272de20ea3c228e4542c8c45c1d7dc2b9913e17369a"},
- {file = "rpds_py-0.29.0-cp310-cp310-win32.whl", hash = "sha256:1a409b0310a566bfd1be82119891fefbdce615ccc8aa558aff7835c27988cbef"},
- {file = "rpds_py-0.29.0-cp310-cp310-win_amd64.whl", hash = "sha256:c5523b0009e7c3c1263471b69d8da1c7d41b3ecb4cb62ef72be206b92040a950"},
- {file = "rpds_py-0.29.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:9b9c764a11fd637e0322a488560533112837f5334ffeb48b1be20f6d98a7b437"},
- {file = "rpds_py-0.29.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fd2164d73812026ce970d44c3ebd51e019d2a26a4425a5dcbdfa93a34abc383"},
- {file = "rpds_py-0.29.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a097b7f7f7274164566ae90a221fd725363c0e9d243e2e9ed43d195ccc5495c"},
- {file = "rpds_py-0.29.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7cdc0490374e31cedefefaa1520d5fe38e82fde8748cbc926e7284574c714d6b"},
- {file = "rpds_py-0.29.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:89ca2e673ddd5bde9b386da9a0aac0cab0e76f40c8f0aaf0d6311b6bbf2aa311"},
- {file = "rpds_py-0.29.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a5d9da3ff5af1ca1249b1adb8ef0573b94c76e6ae880ba1852f033bf429d4588"},
- {file = "rpds_py-0.29.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8238d1d310283e87376c12f658b61e1ee23a14c0e54c7c0ce953efdbdc72deed"},
- {file = "rpds_py-0.29.0-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:2d6fb2ad1c36f91c4646989811e84b1ea5e0c3cf9690b826b6e32b7965853a63"},
- {file = "rpds_py-0.29.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:534dc9df211387547267ccdb42253aa30527482acb38dd9b21c5c115d66a96d2"},
- {file = "rpds_py-0.29.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d456e64724a075441e4ed648d7f154dc62e9aabff29bcdf723d0c00e9e1d352f"},
- {file = "rpds_py-0.29.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:a738f2da2f565989401bd6fd0b15990a4d1523c6d7fe83f300b7e7d17212feca"},
- {file = "rpds_py-0.29.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a110e14508fd26fd2e472bb541f37c209409876ba601cf57e739e87d8a53cf95"},
- {file = "rpds_py-0.29.0-cp311-cp311-win32.whl", hash = "sha256:923248a56dd8d158389a28934f6f69ebf89f218ef96a6b216a9be6861804d3f4"},
- {file = "rpds_py-0.29.0-cp311-cp311-win_amd64.whl", hash = "sha256:539eb77eb043afcc45314d1be09ea6d6cafb3addc73e0547c171c6d636957f60"},
- {file = "rpds_py-0.29.0-cp311-cp311-win_arm64.whl", hash = "sha256:bdb67151ea81fcf02d8f494703fb728d4d34d24556cbff5f417d74f6f5792e7c"},
- {file = "rpds_py-0.29.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a0891cfd8db43e085c0ab93ab7e9b0c8fee84780d436d3b266b113e51e79f954"},
- {file = "rpds_py-0.29.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3897924d3f9a0361472d884051f9a2460358f9a45b1d85a39a158d2f8f1ad71c"},
- {file = "rpds_py-0.29.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a21deb8e0d1571508c6491ce5ea5e25669b1dd4adf1c9d64b6314842f708b5d"},
- {file = "rpds_py-0.29.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9efe71687d6427737a0a2de9ca1c0a216510e6cd08925c44162be23ed7bed2d5"},
- {file = "rpds_py-0.29.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:40f65470919dc189c833e86b2c4bd21bd355f98436a2cef9e0a9a92aebc8e57e"},
- {file = "rpds_py-0.29.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:def48ff59f181130f1a2cb7c517d16328efac3ec03951cca40c1dc2049747e83"},
- {file = "rpds_py-0.29.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad7bd570be92695d89285a4b373006930715b78d96449f686af422debb4d3949"},
- {file = "rpds_py-0.29.0-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:5a572911cd053137bbff8e3a52d31c5d2dba51d3a67ad902629c70185f3f2181"},
- {file = "rpds_py-0.29.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d583d4403bcbf10cffc3ab5cee23d7643fcc960dff85973fd3c2d6c86e8dbb0c"},
- {file = "rpds_py-0.29.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:070befbb868f257d24c3bb350dbd6e2f645e83731f31264b19d7231dd5c396c7"},
- {file = "rpds_py-0.29.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:fc935f6b20b0c9f919a8ff024739174522abd331978f750a74bb68abd117bd19"},
- {file = "rpds_py-0.29.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8c5a8ecaa44ce2d8d9d20a68a2483a74c07f05d72e94a4dff88906c8807e77b0"},
- {file = "rpds_py-0.29.0-cp312-cp312-win32.whl", hash = "sha256:ba5e1aeaf8dd6d8f6caba1f5539cddda87d511331714b7b5fc908b6cfc3636b7"},
- {file = "rpds_py-0.29.0-cp312-cp312-win_amd64.whl", hash = "sha256:b5f6134faf54b3cb83375db0f113506f8b7770785be1f95a631e7e2892101977"},
- {file = "rpds_py-0.29.0-cp312-cp312-win_arm64.whl", hash = "sha256:b016eddf00dca7944721bf0cd85b6af7f6c4efaf83ee0b37c4133bd39757a8c7"},
- {file = "rpds_py-0.29.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1585648d0760b88292eecab5181f5651111a69d90eff35d6b78aa32998886a61"},
- {file = "rpds_py-0.29.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:521807963971a23996ddaf764c682b3e46459b3c58ccd79fefbe16718db43154"},
- {file = "rpds_py-0.29.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a8896986efaa243ab713c69e6491a4138410f0fe36f2f4c71e18bd5501e8014"},
- {file = "rpds_py-0.29.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1d24564a700ef41480a984c5ebed62b74e6ce5860429b98b1fede76049e953e6"},
- {file = "rpds_py-0.29.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e6596b93c010d386ae46c9fba9bfc9fc5965fa8228edeac51576299182c2e31c"},
- {file = "rpds_py-0.29.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5cc58aac218826d054c7da7f95821eba94125d88be673ff44267bb89d12a5866"},
- {file = "rpds_py-0.29.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de73e40ebc04dd5d9556f50180395322193a78ec247e637e741c1b954810f295"},
- {file = "rpds_py-0.29.0-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:295ce5ac7f0cf69a651ea75c8f76d02a31f98e5698e82a50a5f4d4982fbbae3b"},
- {file = "rpds_py-0.29.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1ea59b23ea931d494459c8338056fe7d93458c0bf3ecc061cd03916505369d55"},
- {file = "rpds_py-0.29.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f49d41559cebd608042fdcf54ba597a4a7555b49ad5c1c0c03e0af82692661cd"},
- {file = "rpds_py-0.29.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:05a2bd42768ea988294ca328206efbcc66e220d2d9b7836ee5712c07ad6340ea"},
- {file = "rpds_py-0.29.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:33ca7bdfedd83339ca55da3a5e1527ee5870d4b8369456b5777b197756f3ca22"},
- {file = "rpds_py-0.29.0-cp313-cp313-win32.whl", hash = "sha256:20c51ae86a0bb9accc9ad4e6cdeec58d5ebb7f1b09dd4466331fc65e1766aae7"},
- {file = "rpds_py-0.29.0-cp313-cp313-win_amd64.whl", hash = "sha256:6410e66f02803600edb0b1889541f4b5cc298a5ccda0ad789cc50ef23b54813e"},
- {file = "rpds_py-0.29.0-cp313-cp313-win_arm64.whl", hash = "sha256:56838e1cd9174dc23c5691ee29f1d1be9eab357f27efef6bded1328b23e1ced2"},
- {file = "rpds_py-0.29.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:37d94eadf764d16b9a04307f2ab1d7af6dc28774bbe0535c9323101e14877b4c"},
- {file = "rpds_py-0.29.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d472cf73efe5726a067dce63eebe8215b14beabea7c12606fd9994267b3cfe2b"},
- {file = "rpds_py-0.29.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:72fdfd5ff8992e4636621826371e3ac5f3e3b8323e9d0e48378e9c13c3dac9d0"},
- {file = "rpds_py-0.29.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2549d833abdf8275c901313b9e8ff8fba57e50f6a495035a2a4e30621a2f7cc4"},
- {file = "rpds_py-0.29.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4448dad428f28a6a767c3e3b80cde3446a22a0efbddaa2360f4bb4dc836d0688"},
- {file = "rpds_py-0.29.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:115f48170fd4296a33938d8c11f697f5f26e0472e43d28f35624764173a60e4d"},
- {file = "rpds_py-0.29.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e5bb73ffc029820f4348e9b66b3027493ae00bca6629129cd433fd7a76308ee"},
- {file = "rpds_py-0.29.0-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:b1581fcde18fcdf42ea2403a16a6b646f8eb1e58d7f90a0ce693da441f76942e"},
- {file = "rpds_py-0.29.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:16e9da2bda9eb17ea318b4c335ec9ac1818e88922cbe03a5743ea0da9ecf74fb"},
- {file = "rpds_py-0.29.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:28fd300326dd21198f311534bdb6d7e989dd09b3418b3a91d54a0f384c700967"},
- {file = "rpds_py-0.29.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2aba991e041d031c7939e1358f583ae405a7bf04804ca806b97a5c0e0af1ea5e"},
- {file = "rpds_py-0.29.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:7f437026dbbc3f08c99cc41a5b2570c6e1a1ddbe48ab19a9b814254128d4ea7a"},
- {file = "rpds_py-0.29.0-cp313-cp313t-win32.whl", hash = "sha256:6e97846e9800a5d0fe7be4d008f0c93d0feeb2700da7b1f7528dabafb31dfadb"},
- {file = "rpds_py-0.29.0-cp313-cp313t-win_amd64.whl", hash = "sha256:f49196aec7c4b406495f60e6f947ad71f317a765f956d74bbd83996b9edc0352"},
- {file = "rpds_py-0.29.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:394d27e4453d3b4d82bb85665dc1fcf4b0badc30fc84282defed71643b50e1a1"},
- {file = "rpds_py-0.29.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:55d827b2ae95425d3be9bc9a5838b6c29d664924f98146557f7715e331d06df8"},
- {file = "rpds_py-0.29.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc31a07ed352e5462d3ee1b22e89285f4ce97d5266f6d1169da1142e78045626"},
- {file = "rpds_py-0.29.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c4695dd224212f6105db7ea62197144230b808d6b2bba52238906a2762f1d1e7"},
- {file = "rpds_py-0.29.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcae1770b401167f8b9e1e3f566562e6966ffa9ce63639916248a9e25fa8a244"},
- {file = "rpds_py-0.29.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:90f30d15f45048448b8da21c41703b31c61119c06c216a1bf8c245812a0f0c17"},
- {file = "rpds_py-0.29.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44a91e0ab77bdc0004b43261a4b8cd6d6b451e8d443754cfda830002b5745b32"},
- {file = "rpds_py-0.29.0-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:4aa195e5804d32c682e453b34474f411ca108e4291c6a0f824ebdc30a91c973c"},
- {file = "rpds_py-0.29.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7971bdb7bf4ee0f7e6f67fa4c7fbc6019d9850cc977d126904392d363f6f8318"},
- {file = "rpds_py-0.29.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:8ae33ad9ce580c7a47452c3b3f7d8a9095ef6208e0a0c7e4e2384f9fc5bf8212"},
- {file = "rpds_py-0.29.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:c661132ab2fb4eeede2ef69670fd60da5235209874d001a98f1542f31f2a8a94"},
- {file = "rpds_py-0.29.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:bb78b3a0d31ac1bde132c67015a809948db751cb4e92cdb3f0b242e430b6ed0d"},
- {file = "rpds_py-0.29.0-cp314-cp314-win32.whl", hash = "sha256:f475f103488312e9bd4000bc890a95955a07b2d0b6e8884aef4be56132adbbf1"},
- {file = "rpds_py-0.29.0-cp314-cp314-win_amd64.whl", hash = "sha256:b9cf2359a4fca87cfb6801fae83a76aedf66ee1254a7a151f1341632acf67f1b"},
- {file = "rpds_py-0.29.0-cp314-cp314-win_arm64.whl", hash = "sha256:9ba8028597e824854f0f1733d8b964e914ae3003b22a10c2c664cb6927e0feb9"},
- {file = "rpds_py-0.29.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:e71136fd0612556b35c575dc2726ae04a1669e6a6c378f2240312cf5d1a2ab10"},
- {file = "rpds_py-0.29.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:76fe96632d53f3bf0ea31ede2f53bbe3540cc2736d4aec3b3801b0458499ef3a"},
- {file = "rpds_py-0.29.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9459a33f077130dbb2c7c3cea72ee9932271fb3126404ba2a2661e4fe9eb7b79"},
- {file = "rpds_py-0.29.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5c9546cfdd5d45e562cc0444b6dddc191e625c62e866bf567a2c69487c7ad28a"},
- {file = "rpds_py-0.29.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12597d11d97b8f7e376c88929a6e17acb980e234547c92992f9f7c058f1a7310"},
- {file = "rpds_py-0.29.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28de03cf48b8a9e6ec10318f2197b83946ed91e2891f651a109611be4106ac4b"},
- {file = "rpds_py-0.29.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd7951c964069039acc9d67a8ff1f0a7f34845ae180ca542b17dc1456b1f1808"},
- {file = "rpds_py-0.29.0-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:c07d107b7316088f1ac0177a7661ca0c6670d443f6fe72e836069025e6266761"},
- {file = "rpds_py-0.29.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1de2345af363d25696969befc0c1688a6cb5e8b1d32b515ef84fc245c6cddba3"},
- {file = "rpds_py-0.29.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:00e56b12d2199ca96068057e1ae7f9998ab6e99cda82431afafd32f3ec98cca9"},
- {file = "rpds_py-0.29.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:3919a3bbecee589300ed25000b6944174e07cd20db70552159207b3f4bbb45b8"},
- {file = "rpds_py-0.29.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e7fa2ccc312bbd91e43aa5e0869e46bc03278a3dddb8d58833150a18b0f0283a"},
- {file = "rpds_py-0.29.0-cp314-cp314t-win32.whl", hash = "sha256:97c817863ffc397f1e6a6e9d2d89fe5408c0a9922dac0329672fb0f35c867ea5"},
- {file = "rpds_py-0.29.0-cp314-cp314t-win_amd64.whl", hash = "sha256:2023473f444752f0f82a58dfcbee040d0a1b3d1b3c2ec40e884bd25db6d117d2"},
- {file = "rpds_py-0.29.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:acd82a9e39082dc5f4492d15a6b6c8599aa21db5c35aaf7d6889aea16502c07d"},
- {file = "rpds_py-0.29.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:715b67eac317bf1c7657508170a3e011a1ea6ccb1c9d5f296e20ba14196be6b3"},
- {file = "rpds_py-0.29.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3b1b87a237cb2dba4db18bcfaaa44ba4cd5936b91121b62292ff21df577fc43"},
- {file = "rpds_py-0.29.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1c3c3e8101bb06e337c88eb0c0ede3187131f19d97d43ea0e1c5407ea74c0cbf"},
- {file = "rpds_py-0.29.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b8e54d6e61f3ecd3abe032065ce83ea63417a24f437e4a3d73d2f85ce7b7cfe"},
- {file = "rpds_py-0.29.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3fbd4e9aebf110473a420dea85a238b254cf8a15acb04b22a5a6b5ce8925b760"},
- {file = "rpds_py-0.29.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80fdf53d36e6c72819993e35d1ebeeb8e8fc688d0c6c2b391b55e335b3afba5a"},
- {file = "rpds_py-0.29.0-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:ea7173df5d86f625f8dde6d5929629ad811ed8decda3b60ae603903839ac9ac0"},
- {file = "rpds_py-0.29.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:76054d540061eda273274f3d13a21a4abdde90e13eaefdc205db37c05230efce"},
- {file = "rpds_py-0.29.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:9f84c549746a5be3bc7415830747a3a0312573afc9f95785eb35228bb17742ec"},
- {file = "rpds_py-0.29.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:0ea962671af5cb9a260489e311fa22b2e97103e3f9f0caaea6f81390af96a9ed"},
- {file = "rpds_py-0.29.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:f7728653900035fb7b8d06e1e5900545d8088efc9d5d4545782da7df03ec803f"},
- {file = "rpds_py-0.29.0.tar.gz", hash = "sha256:fe55fe686908f50154d1dc599232016e50c243b438c3b7432f24e2895b0e5359"},
+ {file = "rpds_py-0.30.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:679ae98e00c0e8d68a7fda324e16b90fd5260945b45d3b824c892cec9eea3288"},
+ {file = "rpds_py-0.30.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4cc2206b76b4f576934f0ed374b10d7ca5f457858b157ca52064bdfc26b9fc00"},
+ {file = "rpds_py-0.30.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:389a2d49eded1896c3d48b0136ead37c48e221b391c052fba3f4055c367f60a6"},
+ {file = "rpds_py-0.30.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:32c8528634e1bf7121f3de08fa85b138f4e0dc47657866630611b03967f041d7"},
+ {file = "rpds_py-0.30.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f207f69853edd6f6700b86efb84999651baf3789e78a466431df1331608e5324"},
+ {file = "rpds_py-0.30.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:67b02ec25ba7a9e8fa74c63b6ca44cf5707f2fbfadae3ee8e7494297d56aa9df"},
+ {file = "rpds_py-0.30.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c0e95f6819a19965ff420f65578bacb0b00f251fefe2c8b23347c37174271f3"},
+ {file = "rpds_py-0.30.0-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:a452763cc5198f2f98898eb98f7569649fe5da666c2dc6b5ddb10fde5a574221"},
+ {file = "rpds_py-0.30.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e0b65193a413ccc930671c55153a03ee57cecb49e6227204b04fae512eb657a7"},
+ {file = "rpds_py-0.30.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:858738e9c32147f78b3ac24dc0edb6610000e56dc0f700fd5f651d0a0f0eb9ff"},
+ {file = "rpds_py-0.30.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:da279aa314f00acbb803da1e76fa18666778e8a8f83484fba94526da5de2cba7"},
+ {file = "rpds_py-0.30.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7c64d38fb49b6cdeda16ab49e35fe0da2e1e9b34bc38bd78386530f218b37139"},
+ {file = "rpds_py-0.30.0-cp310-cp310-win32.whl", hash = "sha256:6de2a32a1665b93233cde140ff8b3467bdb9e2af2b91079f0333a0974d12d464"},
+ {file = "rpds_py-0.30.0-cp310-cp310-win_amd64.whl", hash = "sha256:1726859cd0de969f88dc8673bdd954185b9104e05806be64bcd87badbe313169"},
+ {file = "rpds_py-0.30.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:a2bffea6a4ca9f01b3f8e548302470306689684e61602aa3d141e34da06cf425"},
+ {file = "rpds_py-0.30.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dc4f992dfe1e2bc3ebc7444f6c7051b4bc13cd8e33e43511e8ffd13bf407010d"},
+ {file = "rpds_py-0.30.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:422c3cb9856d80b09d30d2eb255d0754b23e090034e1deb4083f8004bd0761e4"},
+ {file = "rpds_py-0.30.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:07ae8a593e1c3c6b82ca3292efbe73c30b61332fd612e05abee07c79359f292f"},
+ {file = "rpds_py-0.30.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12f90dd7557b6bd57f40abe7747e81e0c0b119bef015ea7726e69fe550e394a4"},
+ {file = "rpds_py-0.30.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:99b47d6ad9a6da00bec6aabe5a6279ecd3c06a329d4aa4771034a21e335c3a97"},
+ {file = "rpds_py-0.30.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33f559f3104504506a44bb666b93a33f5d33133765b0c216a5bf2f1e1503af89"},
+ {file = "rpds_py-0.30.0-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:946fe926af6e44f3697abbc305ea168c2c31d3e3ef1058cf68f379bf0335a78d"},
+ {file = "rpds_py-0.30.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:495aeca4b93d465efde585977365187149e75383ad2684f81519f504f5c13038"},
+ {file = "rpds_py-0.30.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d9a0ca5da0386dee0655b4ccdf46119df60e0f10da268d04fe7cc87886872ba7"},
+ {file = "rpds_py-0.30.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8d6d1cc13664ec13c1b84241204ff3b12f9bb82464b8ad6e7a5d3486975c2eed"},
+ {file = "rpds_py-0.30.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3896fa1be39912cf0757753826bc8bdc8ca331a28a7c4ae46b7a21280b06bb85"},
+ {file = "rpds_py-0.30.0-cp311-cp311-win32.whl", hash = "sha256:55f66022632205940f1827effeff17c4fa7ae1953d2b74a8581baaefb7d16f8c"},
+ {file = "rpds_py-0.30.0-cp311-cp311-win_amd64.whl", hash = "sha256:a51033ff701fca756439d641c0ad09a41d9242fa69121c7d8769604a0a629825"},
+ {file = "rpds_py-0.30.0-cp311-cp311-win_arm64.whl", hash = "sha256:47b0ef6231c58f506ef0b74d44e330405caa8428e770fec25329ed2cb971a229"},
+ {file = "rpds_py-0.30.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a161f20d9a43006833cd7068375a94d035714d73a172b681d8881820600abfad"},
+ {file = "rpds_py-0.30.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6abc8880d9d036ecaafe709079969f56e876fcf107f7a8e9920ba6d5a3878d05"},
+ {file = "rpds_py-0.30.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca28829ae5f5d569bb62a79512c842a03a12576375d5ece7d2cadf8abe96ec28"},
+ {file = "rpds_py-0.30.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a1010ed9524c73b94d15919ca4d41d8780980e1765babf85f9a2f90d247153dd"},
+ {file = "rpds_py-0.30.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8d1736cfb49381ba528cd5baa46f82fdc65c06e843dab24dd70b63d09121b3f"},
+ {file = "rpds_py-0.30.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d948b135c4693daff7bc2dcfc4ec57237a29bd37e60c2fabf5aff2bbacf3e2f1"},
+ {file = "rpds_py-0.30.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47f236970bccb2233267d89173d3ad2703cd36a0e2a6e92d0560d333871a3d23"},
+ {file = "rpds_py-0.30.0-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:2e6ecb5a5bcacf59c3f912155044479af1d0b6681280048b338b28e364aca1f6"},
+ {file = "rpds_py-0.30.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a8fa71a2e078c527c3e9dc9fc5a98c9db40bcc8a92b4e8858e36d329f8684b51"},
+ {file = "rpds_py-0.30.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:73c67f2db7bc334e518d097c6d1e6fed021bbc9b7d678d6cc433478365d1d5f5"},
+ {file = "rpds_py-0.30.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5ba103fb455be00f3b1c2076c9d4264bfcb037c976167a6047ed82f23153f02e"},
+ {file = "rpds_py-0.30.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7cee9c752c0364588353e627da8a7e808a66873672bcb5f52890c33fd965b394"},
+ {file = "rpds_py-0.30.0-cp312-cp312-win32.whl", hash = "sha256:1ab5b83dbcf55acc8b08fc62b796ef672c457b17dbd7820a11d6c52c06839bdf"},
+ {file = "rpds_py-0.30.0-cp312-cp312-win_amd64.whl", hash = "sha256:a090322ca841abd453d43456ac34db46e8b05fd9b3b4ac0c78bcde8b089f959b"},
+ {file = "rpds_py-0.30.0-cp312-cp312-win_arm64.whl", hash = "sha256:669b1805bd639dd2989b281be2cfd951c6121b65e729d9b843e9639ef1fd555e"},
+ {file = "rpds_py-0.30.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:f83424d738204d9770830d35290ff3273fbb02b41f919870479fab14b9d303b2"},
+ {file = "rpds_py-0.30.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e7536cd91353c5273434b4e003cbda89034d67e7710eab8761fd918ec6c69cf8"},
+ {file = "rpds_py-0.30.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2771c6c15973347f50fece41fc447c054b7ac2ae0502388ce3b6738cd366e3d4"},
+ {file = "rpds_py-0.30.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0a59119fc6e3f460315fe9d08149f8102aa322299deaa5cab5b40092345c2136"},
+ {file = "rpds_py-0.30.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:76fec018282b4ead0364022e3c54b60bf368b9d926877957a8624b58419169b7"},
+ {file = "rpds_py-0.30.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:692bef75a5525db97318e8cd061542b5a79812d711ea03dbc1f6f8dbb0c5f0d2"},
+ {file = "rpds_py-0.30.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9027da1ce107104c50c81383cae773ef5c24d296dd11c99e2629dbd7967a20c6"},
+ {file = "rpds_py-0.30.0-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:9cf69cdda1f5968a30a359aba2f7f9aa648a9ce4b580d6826437f2b291cfc86e"},
+ {file = "rpds_py-0.30.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a4796a717bf12b9da9d3ad002519a86063dcac8988b030e405704ef7d74d2d9d"},
+ {file = "rpds_py-0.30.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5d4c2aa7c50ad4728a094ebd5eb46c452e9cb7edbfdb18f9e1221f597a73e1e7"},
+ {file = "rpds_py-0.30.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ba81a9203d07805435eb06f536d95a266c21e5b2dfbf6517748ca40c98d19e31"},
+ {file = "rpds_py-0.30.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:945dccface01af02675628334f7cf49c2af4c1c904748efc5cf7bbdf0b579f95"},
+ {file = "rpds_py-0.30.0-cp313-cp313-win32.whl", hash = "sha256:b40fb160a2db369a194cb27943582b38f79fc4887291417685f3ad693c5a1d5d"},
+ {file = "rpds_py-0.30.0-cp313-cp313-win_amd64.whl", hash = "sha256:806f36b1b605e2d6a72716f321f20036b9489d29c51c91f4dd29a3e3afb73b15"},
+ {file = "rpds_py-0.30.0-cp313-cp313-win_arm64.whl", hash = "sha256:d96c2086587c7c30d44f31f42eae4eac89b60dabbac18c7669be3700f13c3ce1"},
+ {file = "rpds_py-0.30.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:eb0b93f2e5c2189ee831ee43f156ed34e2a89a78a66b98cadad955972548be5a"},
+ {file = "rpds_py-0.30.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:922e10f31f303c7c920da8981051ff6d8c1a56207dbdf330d9047f6d30b70e5e"},
+ {file = "rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdc62c8286ba9bf7f47befdcea13ea0e26bf294bda99758fd90535cbaf408000"},
+ {file = "rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:47f9a91efc418b54fb8190a6b4aa7813a23fb79c51f4bb84e418f5476c38b8db"},
+ {file = "rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f3587eb9b17f3789ad50824084fa6f81921bbf9a795826570bda82cb3ed91f2"},
+ {file = "rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39c02563fc592411c2c61d26b6c5fe1e51eaa44a75aa2c8735ca88b0d9599daa"},
+ {file = "rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51a1234d8febafdfd33a42d97da7a43f5dcb120c1060e352a3fbc0c6d36e2083"},
+ {file = "rpds_py-0.30.0-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:eb2c4071ab598733724c08221091e8d80e89064cd472819285a9ab0f24bcedb9"},
+ {file = "rpds_py-0.30.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6bdfdb946967d816e6adf9a3d8201bfad269c67efe6cefd7093ef959683c8de0"},
+ {file = "rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c77afbd5f5250bf27bf516c7c4a016813eb2d3e116139aed0096940c5982da94"},
+ {file = "rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:61046904275472a76c8c90c9ccee9013d70a6d0f73eecefd38c1ae7c39045a08"},
+ {file = "rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c5f36a861bc4b7da6516dbdf302c55313afa09b81931e8280361a4f6c9a2d27"},
+ {file = "rpds_py-0.30.0-cp313-cp313t-win32.whl", hash = "sha256:3d4a69de7a3e50ffc214ae16d79d8fbb0922972da0356dcf4d0fdca2878559c6"},
+ {file = "rpds_py-0.30.0-cp313-cp313t-win_amd64.whl", hash = "sha256:f14fc5df50a716f7ece6a80b6c78bb35ea2ca47c499e422aa4463455dd96d56d"},
+ {file = "rpds_py-0.30.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:68f19c879420aa08f61203801423f6cd5ac5f0ac4ac82a2368a9fcd6a9a075e0"},
+ {file = "rpds_py-0.30.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ec7c4490c672c1a0389d319b3a9cfcd098dcdc4783991553c332a15acf7249be"},
+ {file = "rpds_py-0.30.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f251c812357a3fed308d684a5079ddfb9d933860fc6de89f2b7ab00da481e65f"},
+ {file = "rpds_py-0.30.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac98b175585ecf4c0348fd7b29c3864bda53b805c773cbf7bfdaffc8070c976f"},
+ {file = "rpds_py-0.30.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3e62880792319dbeb7eb866547f2e35973289e7d5696c6e295476448f5b63c87"},
+ {file = "rpds_py-0.30.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4e7fc54e0900ab35d041b0601431b0a0eb495f0851a0639b6ef90f7741b39a18"},
+ {file = "rpds_py-0.30.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47e77dc9822d3ad616c3d5759ea5631a75e5809d5a28707744ef79d7a1bcfcad"},
+ {file = "rpds_py-0.30.0-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:b4dc1a6ff022ff85ecafef7979a2c6eb423430e05f1165d6688234e62ba99a07"},
+ {file = "rpds_py-0.30.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4559c972db3a360808309e06a74628b95eaccbf961c335c8fe0d590cf587456f"},
+ {file = "rpds_py-0.30.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:0ed177ed9bded28f8deb6ab40c183cd1192aa0de40c12f38be4d59cd33cb5c65"},
+ {file = "rpds_py-0.30.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:ad1fa8db769b76ea911cb4e10f049d80bf518c104f15b3edb2371cc65375c46f"},
+ {file = "rpds_py-0.30.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:46e83c697b1f1c72b50e5ee5adb4353eef7406fb3f2043d64c33f20ad1c2fc53"},
+ {file = "rpds_py-0.30.0-cp314-cp314-win32.whl", hash = "sha256:ee454b2a007d57363c2dfd5b6ca4a5d7e2c518938f8ed3b706e37e5d470801ed"},
+ {file = "rpds_py-0.30.0-cp314-cp314-win_amd64.whl", hash = "sha256:95f0802447ac2d10bcc69f6dc28fe95fdf17940367b21d34e34c737870758950"},
+ {file = "rpds_py-0.30.0-cp314-cp314-win_arm64.whl", hash = "sha256:613aa4771c99f03346e54c3f038e4cc574ac09a3ddfb0e8878487335e96dead6"},
+ {file = "rpds_py-0.30.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:7e6ecfcb62edfd632e56983964e6884851786443739dbfe3582947e87274f7cb"},
+ {file = "rpds_py-0.30.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:a1d0bc22a7cdc173fedebb73ef81e07faef93692b8c1ad3733b67e31e1b6e1b8"},
+ {file = "rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d08f00679177226c4cb8c5265012eea897c8ca3b93f429e546600c971bcbae7"},
+ {file = "rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5965af57d5848192c13534f90f9dd16464f3c37aaf166cc1da1cae1fd5a34898"},
+ {file = "rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a4e86e34e9ab6b667c27f3211ca48f73dba7cd3d90f8d5b11be56e5dbc3fb4e"},
+ {file = "rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d3e6b26f2c785d65cc25ef1e5267ccbe1b069c5c21b8cc724efee290554419"},
+ {file = "rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:626a7433c34566535b6e56a1b39a7b17ba961e97ce3b80ec62e6f1312c025551"},
+ {file = "rpds_py-0.30.0-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:acd7eb3f4471577b9b5a41baf02a978e8bdeb08b4b355273994f8b87032000a8"},
+ {file = "rpds_py-0.30.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fe5fa731a1fa8a0a56b0977413f8cacac1768dad38d16b3a296712709476fbd5"},
+ {file = "rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:74a3243a411126362712ee1524dfc90c650a503502f135d54d1b352bd01f2404"},
+ {file = "rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:3e8eeb0544f2eb0d2581774be4c3410356eba189529a6b3e36bbbf9696175856"},
+ {file = "rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:dbd936cde57abfee19ab3213cf9c26be06d60750e60a8e4dd85d1ab12c8b1f40"},
+ {file = "rpds_py-0.30.0-cp314-cp314t-win32.whl", hash = "sha256:dc824125c72246d924f7f796b4f63c1e9dc810c7d9e2355864b3c3a73d59ade0"},
+ {file = "rpds_py-0.30.0-cp314-cp314t-win_amd64.whl", hash = "sha256:27f4b0e92de5bfbc6f86e43959e6edd1425c33b5e69aab0984a72047f2bcf1e3"},
+ {file = "rpds_py-0.30.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c2262bdba0ad4fc6fb5545660673925c2d2a5d9e2e0fb603aad545427be0fc58"},
+ {file = "rpds_py-0.30.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:ee6af14263f25eedc3bb918a3c04245106a42dfd4f5c2285ea6f997b1fc3f89a"},
+ {file = "rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3adbb8179ce342d235c31ab8ec511e66c73faa27a47e076ccc92421add53e2bb"},
+ {file = "rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:250fa00e9543ac9b97ac258bd37367ff5256666122c2d0f2bc97577c60a1818c"},
+ {file = "rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9854cf4f488b3d57b9aaeb105f06d78e5529d3145b1e4a41750167e8c213c6d3"},
+ {file = "rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:993914b8e560023bc0a8bf742c5f303551992dcb85e247b1e5c7f4a7d145bda5"},
+ {file = "rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58edca431fb9b29950807e301826586e5bbf24163677732429770a697ffe6738"},
+ {file = "rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:dea5b552272a944763b34394d04577cf0f9bd013207bc32323b5a89a53cf9c2f"},
+ {file = "rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ba3af48635eb83d03f6c9735dfb21785303e73d22ad03d489e88adae6eab8877"},
+ {file = "rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:dff13836529b921e22f15cb099751209a60009731a68519630a24d61f0b1b30a"},
+ {file = "rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:1b151685b23929ab7beec71080a8889d4d6d9fa9a983d213f07121205d48e2c4"},
+ {file = "rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:ac37f9f516c51e5753f27dfdef11a88330f04de2d564be3991384b2f3535d02e"},
+ {file = "rpds_py-0.30.0.tar.gz", hash = "sha256:dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84"},
]
[[package]]
@@ -1906,59 +1905,6 @@ files = [
{file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
]
-[[package]]
-name = "tomli"
-version = "2.3.0"
-description = "A lil' TOML parser"
-optional = false
-python-versions = ">=3.8"
-groups = ["main", "dev"]
-markers = "python_version == \"3.10\""
-files = [
- {file = "tomli-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:88bd15eb972f3664f5ed4b57c1634a97153b4bac4479dcb6a495f41921eb7f45"},
- {file = "tomli-2.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:883b1c0d6398a6a9d29b508c331fa56adbcdff647f6ace4dfca0f50e90dfd0ba"},
- {file = "tomli-2.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d1381caf13ab9f300e30dd8feadb3de072aeb86f1d34a8569453ff32a7dea4bf"},
- {file = "tomli-2.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a0e285d2649b78c0d9027570d4da3425bdb49830a6156121360b3f8511ea3441"},
- {file = "tomli-2.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0a154a9ae14bfcf5d8917a59b51ffd5a3ac1fd149b71b47a3a104ca4edcfa845"},
- {file = "tomli-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:74bf8464ff93e413514fefd2be591c3b0b23231a77f901db1eb30d6f712fc42c"},
- {file = "tomli-2.3.0-cp311-cp311-win32.whl", hash = "sha256:00b5f5d95bbfc7d12f91ad8c593a1659b6387b43f054104cda404be6bda62456"},
- {file = "tomli-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:4dc4ce8483a5d429ab602f111a93a6ab1ed425eae3122032db7e9acf449451be"},
- {file = "tomli-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d7d86942e56ded512a594786a5ba0a5e521d02529b3826e7761a05138341a2ac"},
- {file = "tomli-2.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:73ee0b47d4dad1c5e996e3cd33b8a76a50167ae5f96a2607cbe8cc773506ab22"},
- {file = "tomli-2.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:792262b94d5d0a466afb5bc63c7daa9d75520110971ee269152083270998316f"},
- {file = "tomli-2.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4f195fe57ecceac95a66a75ac24d9d5fbc98ef0962e09b2eddec5d39375aae52"},
- {file = "tomli-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e31d432427dcbf4d86958c184b9bfd1e96b5b71f8eb17e6d02531f434fd335b8"},
- {file = "tomli-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7b0882799624980785240ab732537fcfc372601015c00f7fc367c55308c186f6"},
- {file = "tomli-2.3.0-cp312-cp312-win32.whl", hash = "sha256:ff72b71b5d10d22ecb084d345fc26f42b5143c5533db5e2eaba7d2d335358876"},
- {file = "tomli-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:1cb4ed918939151a03f33d4242ccd0aa5f11b3547d0cf30f7c74a408a5b99878"},
- {file = "tomli-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5192f562738228945d7b13d4930baffda67b69425a7f0da96d360b0a3888136b"},
- {file = "tomli-2.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:be71c93a63d738597996be9528f4abe628d1adf5e6eb11607bc8fe1a510b5dae"},
- {file = "tomli-2.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c4665508bcbac83a31ff8ab08f424b665200c0e1e645d2bd9ab3d3e557b6185b"},
- {file = "tomli-2.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4021923f97266babc6ccab9f5068642a0095faa0a51a246a6a02fccbb3514eaf"},
- {file = "tomli-2.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4ea38c40145a357d513bffad0ed869f13c1773716cf71ccaa83b0fa0cc4e42f"},
- {file = "tomli-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ad805ea85eda330dbad64c7ea7a4556259665bdf9d2672f5dccc740eb9d3ca05"},
- {file = "tomli-2.3.0-cp313-cp313-win32.whl", hash = "sha256:97d5eec30149fd3294270e889b4234023f2c69747e555a27bd708828353ab606"},
- {file = "tomli-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0c95ca56fbe89e065c6ead5b593ee64b84a26fca063b5d71a1122bf26e533999"},
- {file = "tomli-2.3.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:cebc6fe843e0733ee827a282aca4999b596241195f43b4cc371d64fc6639da9e"},
- {file = "tomli-2.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4c2ef0244c75aba9355561272009d934953817c49f47d768070c3c94355c2aa3"},
- {file = "tomli-2.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c22a8bf253bacc0cf11f35ad9808b6cb75ada2631c2d97c971122583b129afbc"},
- {file = "tomli-2.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0eea8cc5c5e9f89c9b90c4896a8deefc74f518db5927d0e0e8d4a80953d774d0"},
- {file = "tomli-2.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b74a0e59ec5d15127acdabd75ea17726ac4c5178ae51b85bfe39c4f8a278e879"},
- {file = "tomli-2.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b5870b50c9db823c595983571d1296a6ff3e1b88f734a4c8f6fc6188397de005"},
- {file = "tomli-2.3.0-cp314-cp314-win32.whl", hash = "sha256:feb0dacc61170ed7ab602d3d972a58f14ee3ee60494292d384649a3dc38ef463"},
- {file = "tomli-2.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:b273fcbd7fc64dc3600c098e39136522650c49bca95df2d11cf3b626422392c8"},
- {file = "tomli-2.3.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:940d56ee0410fa17ee1f12b817b37a4d4e4dc4d27340863cc67236c74f582e77"},
- {file = "tomli-2.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f85209946d1fe94416debbb88d00eb92ce9cd5266775424ff81bc959e001acaf"},
- {file = "tomli-2.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a56212bdcce682e56b0aaf79e869ba5d15a6163f88d5451cbde388d48b13f530"},
- {file = "tomli-2.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c5f3ffd1e098dfc032d4d3af5c0ac64f6d286d98bc148698356847b80fa4de1b"},
- {file = "tomli-2.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5e01decd096b1530d97d5d85cb4dff4af2d8347bd35686654a004f8dea20fc67"},
- {file = "tomli-2.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:8a35dd0e643bb2610f156cca8db95d213a90015c11fee76c946aa62b7ae7e02f"},
- {file = "tomli-2.3.0-cp314-cp314t-win32.whl", hash = "sha256:a1f7f282fe248311650081faafa5f4732bdbfef5d45fe3f2e702fbc6f2d496e0"},
- {file = "tomli-2.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:70a251f8d4ba2d9ac2542eecf008b3c8a9fc5c3f9f02c56a9d7952612be2fdba"},
- {file = "tomli-2.3.0-py3-none-any.whl", hash = "sha256:e95b1af3c5b07d9e643909b5abbec77cd9f1217e6d0bca72b0234736b9fb1f1b"},
- {file = "tomli-2.3.0.tar.gz", hash = "sha256:64be704a875d2a59753d80ee8a533c3fe183e3f06807ff7dc2232938ccb01549"},
-]
-
[[package]]
name = "typing-extensions"
version = "4.15.0"
@@ -1988,21 +1934,21 @@ typing-extensions = ">=4.12.0"
[[package]]
name = "urllib3"
-version = "2.5.0"
+version = "2.6.3"
description = "HTTP library with thread-safe connection pooling, file post, and more."
optional = false
python-versions = ">=3.9"
groups = ["main", "dev"]
files = [
- {file = "urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc"},
- {file = "urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760"},
+ {file = "urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4"},
+ {file = "urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed"},
]
[package.extras]
-brotli = ["brotli (>=1.0.9) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\""]
+brotli = ["brotli (>=1.2.0) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=1.2.0.0) ; platform_python_implementation != \"CPython\""]
h2 = ["h2 (>=4,<5)"]
socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
-zstd = ["zstandard (>=0.18.0)"]
+zstd = ["backports-zstd (>=1.0.0) ; python_version < \"3.14\""]
[[package]]
name = "wcwidth"
@@ -2063,5 +2009,5 @@ files = [
[metadata]
lock-version = "2.1"
-python-versions = "^3.10"
-content-hash = "5ae05ff40ea9bec8144357276aa1506ab405b7ef9dab3ee0001edddb2cc7bc43"
+python-versions = "^3.13"
+content-hash = "e65afc48136d4b5b3172965f3f0395322338d8f975a2d0910c062f2aef4a4e7e"
diff --git a/pyproject.toml b/pyproject.toml
index 0125e5247..eaae2e6e3 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,5 +1,5 @@
[project]
-python = "^3.8"
+python = "^3.13"
name = "e-referrals-service-api"
version = "0.0.1-alpha"
description = "TODO"
@@ -20,13 +20,13 @@ package-mode = false
[tool.poetry.dependencies]
-python = "^3.10"
+python = "^3.13"
pyyaml = "^6.0"
docopt = "^0.6.2"
jsonpath-rw = "^1.4.0"
semver = "^3.0.4"
gitpython = "^3.1.45"
-lxml = "^4.9.4"
+lxml = "^5.1.0"
xmlformatter = "^0.2.8"
pytest-check = "^2.6.0"
requests = "^2.32.5"
@@ -40,7 +40,7 @@ pip-licenses = "^5.5.0"
jinja2 = "^3.1.6"
pytest = "^8.4.2"
pytest-asyncio = "^1.3.0"
-pytest-nhsd-apim = "^4.0.1"
+pytest-nhsd-apim = "^5.0.6"
[tool.poetry.scripts]
diff --git a/sandbox/package-lock.json b/sandbox/package-lock.json
index f8d535bbd..1df91973f 100644
--- a/sandbox/package-lock.json
+++ b/sandbox/package-lock.json
@@ -11,7 +11,7 @@
"dependencies": {
"@hapi/hapi": "^21.4.4",
"@hapi/inert": "^7.1.0",
- "lodash": "^4.17.20"
+ "lodash": "^4.17.23"
},
"devDependencies": {
"eslint": "^9.25.1",
@@ -1131,9 +1131,9 @@
}
},
"node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ "version": "4.17.23",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
+ "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w=="
},
"node_modules/lodash.merge": {
"version": "4.6.2",
@@ -2225,9 +2225,9 @@
}
},
"lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ "version": "4.17.23",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
+ "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w=="
},
"lodash.merge": {
"version": "4.6.2",
diff --git a/sandbox/package.json b/sandbox/package.json
index 92b383c9b..0d9e5712c 100644
--- a/sandbox/package.json
+++ b/sandbox/package.json
@@ -14,7 +14,7 @@
"dependencies": {
"@hapi/hapi": "^21.4.4",
"@hapi/inert": "^7.1.0",
- "lodash": "^4.17.20"
+ "lodash": "^4.17.23"
},
"devDependencies": {
"eslint": "^9.25.1",
diff --git a/sandbox/src/mocks/stu3/cancelReferral/requests/bookedOutsideCabWithoutComment.json b/sandbox/src/mocks/stu3/cancelReferral/requests/bookedOutsideCabWithoutComment.json
new file mode 100644
index 000000000..20e88be56
--- /dev/null
+++ b/sandbox/src/mocks/stu3/cancelReferral/requests/bookedOutsideCabWithoutComment.json
@@ -0,0 +1,17 @@
+{
+ "meta": {
+ "profile": [
+ "https://fhir.nhs.uk/STU3/StructureDefinition/eRS-CancelReferral-Request-Parameters-1"
+ ]
+ },
+ "resourceType": "Parameters",
+ "parameter": [
+ {
+ "name": "cancellationReason",
+ "valueCoding": {
+ "system": "_baseurl_/STU3/CodeSystem/REFERRAL-CANCELLATION-REASON",
+ "code": "BOOKED_OUTSIDE_CAB"
+ }
+ }
+ ]
+}
diff --git a/sandbox/src/mocks/stu3/cancelReferral/requests/outpatientService.json b/sandbox/src/mocks/stu3/cancelReferral/requests/outpatientService.json
new file mode 100644
index 000000000..f0118abe8
--- /dev/null
+++ b/sandbox/src/mocks/stu3/cancelReferral/requests/outpatientService.json
@@ -0,0 +1,21 @@
+{
+ "meta": {
+ "profile": [
+ "https://fhir.nhs.uk/STU3/StructureDefinition/eRS-CancelReferral-Request-Parameters-1"
+ ]
+ },
+ "resourceType": "Parameters",
+ "parameter": [
+ {
+ "name": "cancellationReason",
+ "valueCoding": {
+ "system": "_baseurl_/STU3/CodeSystem/REFERRAL-CANCELLATION-REASON",
+ "code": "OUTPATIENT_SERVICE_NA"
+ }
+ },
+ {
+ "name": "cancellationComments",
+ "valueString": "This is a cancellation reason comment"
+ }
+ ]
+}
diff --git a/sandbox/src/mocks/stu3/cancelReferral/responses/CancelledReferralBookedOutsideCabWithoutComment.json b/sandbox/src/mocks/stu3/cancelReferral/responses/CancelledReferralBookedOutsideCabWithoutComment.json
new file mode 100644
index 000000000..9121b84fd
--- /dev/null
+++ b/sandbox/src/mocks/stu3/cancelReferral/responses/CancelledReferralBookedOutsideCabWithoutComment.json
@@ -0,0 +1,170 @@
+{
+ "meta": {
+ "profile": [
+ "https://fhir.nhs.uk/STU3/StructureDefinition/eRS-CancelReferral-Response-Parameters-1"
+ ]
+ },
+ "resourceType": "Parameters",
+ "parameter": [
+ {
+ "name": "updatedReferralRequest",
+ "resource": {
+ "id": "000000070000",
+ "meta": {
+ "versionId": "4",
+ "profile": [
+ "https://fhir.nhs.uk/STU3/StructureDefinition/eRS-ReferralRequest-1"
+ ]
+ },
+ "resourceType": "ReferralRequest",
+ "extension": [
+ {
+ "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-ReferralPriority-1",
+ "valueCodeableConcept": {
+ "coding": [
+ {
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-Priority-1",
+ "code": "ROUTINE",
+ "display": "Routine"
+ }
+ ]
+ }
+ },
+ {
+ "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-ReferralShortlist-1",
+ "valueReference": {
+ "reference": "#shortlist"
+ }
+ },
+ {
+ "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-Commissioning-Rule-Org-1",
+ "valueIdentifier": {
+ "system": "https://fhir.nhs.uk/Id/ods-organization-code",
+ "value": "R69"
+ }
+ },
+ {
+ "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-ReferralState-1",
+ "extension": [
+ {
+ "url": "state",
+ "valueCoding": {
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralState-1",
+ "code": "CANCELLED_REFERRAL",
+ "display": "Cancelled Referral"
+ }
+ },
+ {
+ "url": "reason",
+ "valueCoding": {
+ "system": "_baseUrl_/STU3/CodeSystem/REFERRAL-CANCELLATION-REASON",
+ "code": "BOOKED_OUTSIDE_CAB",
+ "display": "Patient booked outside NHS e-Referral Service"
+ }
+ }
+ ]
+ }
+ ],
+ "contained": [
+ {
+ "id": "serviceSearchCriteria",
+ "meta": {
+ "profile": [
+ "https://fhir.nhs.uk/STU3/StructureDefinition/eRS-ServiceSearchCriteria-Parameters-1"
+ ]
+ },
+ "resourceType": "Parameters",
+ "parameter": [
+ {
+ "name": "priority",
+ "valueCoding": {
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-Priority-1",
+ "code": "ROUTINE"
+ }
+ },
+ {
+ "name": "specialty",
+ "valueCoding": {
+ "system": "_baseUrl_/STU3/CodeSystem/SPECIALTY",
+ "code": "CARDIOLOGY"
+ }
+ },
+ {
+ "name": "clinicType",
+ "valueCoding": {
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ClinicType-1",
+ "code": "HEART_FAILURE"
+ }
+ },
+ {
+ "name": "ageAndGenderAppropriate",
+ "valueBoolean": false
+ },
+ {
+ "name": "commissioningProvisioning",
+ "valueCoding": {
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-CommissioningProvisioning-1",
+ "code": "ALL_AVAILABLE_FOR_BOOKING"
+ }
+ }
+ ]
+ },
+ {
+ "id": "shortlist",
+ "meta": {
+ "profile": [
+ "https://fhir.nhs.uk/STU3/StructureDefinition/eRS-Shortlist-List-1"
+ ]
+ },
+ "resourceType": "List",
+ "extension": [
+ {
+ "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-Shortlist-SearchCriteria-1",
+ "valueReference": {
+ "reference": "#serviceSearchCriteria"
+ }
+ }
+ ],
+ "status": "current",
+ "mode": "snapshot",
+ "entry": [
+ {
+ "item": {
+ "identifier": {
+ "system": "http://fhir.nhs.net/Id/ers-service",
+ "value": "11004"
+ },
+ "display": "Cardiology Triage Business Service"
+ }
+ }
+ ]
+ }
+ ],
+ "status": "cancelled",
+ "specialty": {
+ "coding": [
+ {
+ "system": "_baseUrl_/STU3/CodeSystem/SPECIALTY",
+ "code": "CARDIOLOGY",
+ "display": "Cardiology"
+ }
+ ]
+ },
+ "subject": {
+ "identifier": {
+ "system": "http://fhir.nhs.net/Id/nhs-number",
+ "value": "9912003888"
+ }
+ },
+ "supportingInfo": [],
+ "intent": "plan",
+ "identifier":[
+ {
+ "system":"https://fhir.nhs.uk/Id/ers-request-id",
+ "value":"r.c18c4ec4-7d0a-480e-8506-347e0ec228b0"
+ }
+ ]
+ }
+ }
+ ]
+}
diff --git a/sandbox/src/mocks/stu3/cancelReferral/responses/CancelledReferralOutpatientService.json b/sandbox/src/mocks/stu3/cancelReferral/responses/CancelledReferralOutpatientService.json
new file mode 100644
index 000000000..9e658931d
--- /dev/null
+++ b/sandbox/src/mocks/stu3/cancelReferral/responses/CancelledReferralOutpatientService.json
@@ -0,0 +1,272 @@
+{
+ "meta": {
+ "profile": [
+ "https://fhir.nhs.uk/STU3/StructureDefinition/eRS-CancelReferral-Response-Parameters-1"
+ ]
+ },
+ "resourceType": "Parameters",
+ "parameter": [
+ {
+ "name": "updatedReferralRequest",
+ "resource": {
+ "id": "000000070000",
+ "meta": {
+ "versionId": "4",
+ "profile": [
+ "https://fhir.nhs.uk/STU3/StructureDefinition/eRS-ReferralRequest-1"
+ ]
+ },
+ "resourceType": "ReferralRequest",
+ "extension": [
+ {
+ "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-Appointment-Reference-1",
+ "valueReference": {
+ "reference": "Appointment/70001"
+ }
+ },
+ {
+ "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-Appointment-1",
+ "valueReference": {
+ "reference": "#appointment"
+ }
+ },
+ {
+ "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-ReferralPriority-1",
+ "valueCodeableConcept": {
+ "coding": [
+ {
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-Priority-1",
+ "code": "ROUTINE",
+ "display": "Routine"
+ }
+ ]
+ }
+ },
+ {
+ "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-ReferralShortlist-1",
+ "valueReference": {
+ "reference": "#shortlist"
+ }
+ },
+ {
+ "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-Commissioning-Rule-Org-1",
+ "valueIdentifier": {
+ "system": "https://fhir.nhs.uk/Id/ods-organization-code",
+ "value": "R69"
+ }
+ },
+ {
+ "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-ReferralState-1",
+ "extension": [
+ {
+ "url": "state",
+ "valueCoding": {
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralState-1",
+ "code": "CANCELLED_REFERRAL",
+ "display": "Cancelled Referral"
+ }
+ },
+ {
+ "url": "reason",
+ "valueCoding": {
+ "system": "_baseUrl_/STU3/CodeSystem/REQUEST-CANCELLATION-REASON",
+ "code": "OUTPATIENT_SERVICE_NA",
+ "display": "Sent to outpatient service not available in this system"
+ }
+ },
+ {
+ "url": "comments",
+ "valueString": "This is a cancellation reason comment"
+ }
+ ]
+ },
+ {
+ "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-PatientAdditionalRequirement-1",
+ "valueCoding": {
+ "code": "TRANSPORT",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AdditionalRequirementType-1",
+ "display": "Transport"
+ }
+ }
+ ],
+ "contained": [
+ {
+ "id": "serviceSearchCriteria",
+ "meta": {
+ "profile": [
+ "https://fhir.nhs.uk/STU3/StructureDefinition/eRS-ServiceSearchCriteria-Parameters-1"
+ ]
+ },
+ "resourceType": "Parameters",
+ "parameter": [
+ {
+ "name": "priority",
+ "valueCoding": {
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-Priority-1",
+ "code": "ROUTINE"
+ }
+ },
+ {
+ "name": "specialty",
+ "valueCoding": {
+ "system": "_baseUrl_/STU3/CodeSystem/SPECIALTY",
+ "code": "CARDIOLOGY"
+ }
+ },
+ {
+ "name": "clinicType",
+ "valueCoding": {
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ClinicType-1",
+ "code": "HEART_FAILURE"
+ }
+ },
+ {
+ "valueString": "LS1 2TW",
+ "name": "postcode"
+ },
+ {
+ "name": "distanceLimit",
+ "valueUnsignedInt": 123
+ },
+ {
+ "name": "ageAndGenderAppropriate",
+ "valueBoolean": false
+ },
+ {
+ "name": "commissioningProvisioning",
+ "valueCoding": {
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-CommissioningProvisioning-1",
+ "code": "ALL_AVAILABLE_FOR_BOOKING"
+ }
+ }
+ ]
+ },
+ {
+ "id": "shortlist",
+ "meta": {
+ "profile": [
+ "https://fhir.nhs.uk/STU3/StructureDefinition/eRS-Shortlist-List-1"
+ ]
+ },
+ "resourceType": "List",
+ "extension": [
+ {
+ "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-Shortlist-SearchCriteria-1",
+ "valueReference": {
+ "reference": "#serviceSearchCriteria"
+ }
+ }
+ ],
+ "status": "current",
+ "mode": "snapshot",
+ "entry": [
+ {
+ "item": {
+ "identifier": {
+ "system": "http://fhir.nhs.net/Id/ers-service",
+ "value": "11004"
+ },
+ "display": "Cardiology Triage Business Service"
+ }
+ }
+ ]
+ },
+ {
+ "id": "appointment",
+ "meta": {
+ "versionId": "1",
+ "profile": [
+ "https://fhir.nhs.uk/STU3/StructureDefinition/eRS-Appointment-1",
+ "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Appointment-1"
+ ]
+ },
+ "language": "en",
+ "resourceType": "Appointment",
+ "status": "proposed",
+ "reason": [
+ {
+ "coding": [
+ {
+ "code": "ACCEPT_REFER_BOOK_LATER",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReviewOutcome-1",
+ "display": "Accept Refer Book Later"
+ }
+ ]
+ }
+ ],
+ "description": "e-Referral Appointment",
+ "created": "2021-05-06T11:21:45.652Z",
+ "comment": "Outcome",
+ "incomingReferral": [
+ {
+ "reference": "ReferralRequest/000000070000/_history/4"
+ }
+ ],
+ "participant": [
+ {
+ "actor": {
+ "identifier": {
+ "system": "http://fhir.nhs.net/Id/ers-service",
+ "value": "11004"
+ },
+ "display": "Cardiology Triage Business Service"
+ },
+ "status": "accepted"
+ },
+ {
+ "actor": {
+ "identifier": {
+ "system": "http://fhir.nhs.net/Id/nhs-number",
+ "value": "9912003888"
+ }
+ },
+ "status": "accepted"
+ },
+ {
+ "actor": {
+ "identifier": {
+ "system": "http://fhir.nhs.net/Id/sds-user-id",
+ "value": "021600556514"
+ }
+ },
+ "type": {
+ "coding": [
+ {
+ "system": "http://hl7.org/fhir/ValueSet/encounter-participant-type",
+ "code": "CON"
+ }
+ ]
+ },
+ "status": "accepted"
+ }
+ ]
+ }
+ ],
+ "status": "cancelled",
+ "specialty": {
+ "coding": [
+ {
+ "system": "_baseUrl_/STU3/CodeSystem/SPECIALTY",
+ "code": "CARDIOLOGY",
+ "display": "Cardiology"
+ }
+ ]
+ },
+ "subject": {
+ "identifier": {
+ "system": "http://fhir.nhs.net/Id/nhs-number",
+ "value": "9912003888"
+ }
+ },
+ "supportingInfo": [],
+ "intent": "plan",
+ "identifier":[
+ {
+ "system":"https://fhir.nhs.uk/Id/ers-request-id",
+ "value":"r.c18c4ec4-7d0a-480e-8506-347e0ec228b0"
+ }
+ ]
+ }
+ }
+ ]
+}
diff --git a/sandbox/src/mocks/stu3/getCodeSystem/responses/ReferralCancellationReasonCodeSystem.json b/sandbox/src/mocks/stu3/getCodeSystem/responses/ReferralCancellationReasonCodeSystem.json
index 1e114f83f..94d28a7d7 100644
--- a/sandbox/src/mocks/stu3/getCodeSystem/responses/ReferralCancellationReasonCodeSystem.json
+++ b/sandbox/src/mocks/stu3/getCodeSystem/responses/ReferralCancellationReasonCodeSystem.json
@@ -28,6 +28,11 @@
"uri": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-Concept-Properties-1#effectiveTo",
"type": "dateTime"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "uri": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-Concept-Properties-1#appointmentRequestCancellationReasonType",
+ "type": "Coding"
+ },
{
"code": "commentIsMandatory",
"uri": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-Concept-Properties-1#commentIsMandatory",
@@ -58,6 +63,13 @@
"code": "effectiveFrom",
"valueDateTime": "2019-07-23T17:09:56.000Z"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "valueCoding": {
+ "code": "PROVIDER_TRIAGE",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1"
+ }
+ },
{
"code": "commentIsMandatory",
"valueBoolean": true
@@ -65,6 +77,34 @@
{
"code": "canCancelAppointment",
"valueBoolean": false
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "PROVIDER_AUTHORISED_APPLICATION",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "referrerUsage",
+ "valueCoding": {
+ "code": "CANCEL_REFERRAL",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1"
+ }
}
]
},
@@ -76,6 +116,13 @@
"code": "effectiveFrom",
"valueDateTime": "2007-09-14T00:00:00.000Z"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "valueCoding": {
+ "code": "PROVIDER",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1"
+ }
+ },
{
"code": "commentIsMandatory",
"valueBoolean": false
@@ -83,6 +130,34 @@
{
"code": "canCancelAppointment",
"valueBoolean": true
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "PROVIDER_AUTHORISED_APPLICATION",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "referrerUsage",
+ "valueCoding": {
+ "code": "CANCEL_REFERRAL",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1"
+ }
}
]
},
@@ -94,6 +169,13 @@
"code": "effectiveFrom",
"valueDateTime": "2019-07-23T17:09:56.000Z"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "valueCoding": {
+ "code": "PROVIDER_TRIAGE",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1"
+ }
+ },
{
"code": "commentIsMandatory",
"valueBoolean": true
@@ -101,6 +183,34 @@
{
"code": "canCancelAppointment",
"valueBoolean": false
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "PROVIDER_AUTHORISED_APPLICATION",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "referrerUsage",
+ "valueCoding": {
+ "code": "CANCEL_REFERRAL",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1"
+ }
}
]
},
@@ -112,6 +222,13 @@
"code": "effectiveFrom",
"valueDateTime": "2019-07-23T17:09:56.000Z"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "valueCoding": {
+ "code": "PROVIDER_TRIAGE",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1"
+ }
+ },
{
"code": "commentIsMandatory",
"valueBoolean": true
@@ -119,6 +236,34 @@
{
"code": "canCancelAppointment",
"valueBoolean": false
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "PROVIDER_AUTHORISED_APPLICATION",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "referrerUsage",
+ "valueCoding": {
+ "code": "CANCEL_REFERRAL",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1"
+ }
}
]
},
@@ -130,6 +275,13 @@
"code": "effectiveFrom",
"valueDateTime": "2004-06-01T00:00:00.000Z"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "valueCoding": {
+ "code": "PATIENT",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1"
+ }
+ },
{
"code": "commentIsMandatory",
"valueBoolean": false
@@ -141,22 +293,43 @@
{
"code": "businessFunction",
"valueCoding": {
- "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1",
- "code": "REFERRING_CLINICIAN_ADMIN"
+ "code": "REFERRING_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "REFERRING_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
}
},
{
"code": "businessFunction",
"valueCoding": {
- "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1",
- "code": "REFERRING_CLINICIAN"
+ "code": "SERVICE_PROVIDER_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "PROVIDER_AUTHORISED_APPLICATION",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
}
},
{
"code": "referrerUsage",
"valueCoding": {
- "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1",
- "code": "CANCEL_REFERRAL"
+ "code": "CANCEL_REFERRAL",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1"
}
}
]
@@ -169,6 +342,13 @@
"code": "effectiveFrom",
"valueDateTime": "2019-07-23T17:09:56.000Z"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "valueCoding": {
+ "code": "PROVIDER_TRIAGE",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1"
+ }
+ },
{
"code": "commentIsMandatory",
"valueBoolean": true
@@ -176,6 +356,34 @@
{
"code": "canCancelAppointment",
"valueBoolean": false
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "PROVIDER_AUTHORISED_APPLICATION",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "referrerUsage",
+ "valueCoding": {
+ "code": "CANCEL_REFERRAL",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1"
+ }
}
]
},
@@ -187,6 +395,13 @@
"code": "effectiveFrom",
"valueDateTime": "2019-07-23T17:09:56.000Z"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "valueCoding": {
+ "code": "PROVIDER_TRIAGE",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1"
+ }
+ },
{
"code": "commentIsMandatory",
"valueBoolean": true
@@ -194,6 +409,34 @@
{
"code": "canCancelAppointment",
"valueBoolean": false
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "PROVIDER_AUTHORISED_APPLICATION",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "referrerUsage",
+ "valueCoding": {
+ "code": "CANCEL_REFERRAL",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1"
+ }
}
]
},
@@ -205,6 +448,13 @@
"code": "effectiveFrom",
"valueDateTime": "2019-07-23T17:09:56.000Z"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "valueCoding": {
+ "code": "PROVIDER_TRIAGE",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1"
+ }
+ },
{
"code": "commentIsMandatory",
"valueBoolean": true
@@ -212,6 +462,34 @@
{
"code": "canCancelAppointment",
"valueBoolean": false
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "PROVIDER_AUTHORISED_APPLICATION",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "referrerUsage",
+ "valueCoding": {
+ "code": "CANCEL_REFERRAL",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1"
+ }
}
]
},
@@ -223,6 +501,13 @@
"code": "effectiveFrom",
"valueDateTime": "2019-07-23T17:09:56.000Z"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "valueCoding": {
+ "code": "PROVIDER_TRIAGE",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1"
+ }
+ },
{
"code": "commentIsMandatory",
"valueBoolean": true
@@ -230,6 +515,34 @@
{
"code": "canCancelAppointment",
"valueBoolean": false
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "PROVIDER_AUTHORISED_APPLICATION",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "referrerUsage",
+ "valueCoding": {
+ "code": "CANCEL_REFERRAL",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1"
+ }
}
]
},
@@ -241,6 +554,13 @@
"code": "effectiveFrom",
"valueDateTime": "2004-06-01T00:00:00.000Z"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "valueCoding": {
+ "code": "PATIENT",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1"
+ }
+ },
{
"code": "commentIsMandatory",
"valueBoolean": false
@@ -252,22 +572,43 @@
{
"code": "businessFunction",
"valueCoding": {
- "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1",
- "code": "REFERRING_CLINICIAN_ADMIN"
+ "code": "REFERRING_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "REFERRING_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
}
},
{
"code": "businessFunction",
"valueCoding": {
- "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1",
- "code": "REFERRING_CLINICIAN"
+ "code": "PROVIDER_AUTHORISED_APPLICATION",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
}
},
{
"code": "referrerUsage",
"valueCoding": {
- "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1",
- "code": "CANCEL_REFERRAL"
+ "code": "CANCEL_REFERRAL",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1"
}
}
]
@@ -280,6 +621,13 @@
"code": "effectiveFrom",
"valueDateTime": "2004-06-01T00:00:00.000Z"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "valueCoding": {
+ "code": "PATIENT",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1"
+ }
+ },
{
"code": "commentIsMandatory",
"valueBoolean": true
@@ -291,22 +639,43 @@
{
"code": "businessFunction",
"valueCoding": {
- "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1",
- "code": "REFERRING_CLINICIAN_ADMIN"
+ "code": "REFERRING_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "REFERRING_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
}
},
{
"code": "businessFunction",
"valueCoding": {
- "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1",
- "code": "REFERRING_CLINICIAN"
+ "code": "PROVIDER_AUTHORISED_APPLICATION",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
}
},
{
"code": "referrerUsage",
"valueCoding": {
- "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1",
- "code": "CANCEL_REFERRAL"
+ "code": "CANCEL_REFERRAL",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1"
}
}
]
@@ -319,6 +688,13 @@
"code": "effectiveFrom",
"valueDateTime": "2007-09-14T00:00:00.000Z"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "valueCoding": {
+ "code": "UNKNOWN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1"
+ }
+ },
{
"code": "commentIsMandatory",
"valueBoolean": false
@@ -330,22 +706,22 @@
{
"code": "businessFunction",
"valueCoding": {
- "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1",
- "code": "REFERRING_CLINICIAN_ADMIN"
+ "code": "REFERRING_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
}
},
{
"code": "businessFunction",
"valueCoding": {
- "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1",
- "code": "REFERRING_CLINICIAN"
+ "code": "REFERRING_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
}
},
{
"code": "referrerUsage",
"valueCoding": {
- "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1",
- "code": "CANCEL_REFERRAL"
+ "code": "CANCEL_REFERRAL",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1"
}
}
]
@@ -358,6 +734,13 @@
"code": "effectiveFrom",
"valueDateTime": "2007-09-14T00:00:00.000Z"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "valueCoding": {
+ "code": "UNKNOWN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1"
+ }
+ },
{
"code": "commentIsMandatory",
"valueBoolean": false
@@ -369,22 +752,22 @@
{
"code": "businessFunction",
"valueCoding": {
- "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1",
- "code": "REFERRING_CLINICIAN_ADMIN"
+ "code": "REFERRING_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
}
},
{
"code": "businessFunction",
"valueCoding": {
- "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1",
- "code": "REFERRING_CLINICIAN"
+ "code": "REFERRING_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
}
},
{
"code": "referrerUsage",
"valueCoding": {
- "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1",
- "code": "CANCEL_REFERRAL"
+ "code": "CANCEL_REFERRAL",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1"
}
}
]
@@ -397,6 +780,13 @@
"code": "effectiveFrom",
"valueDateTime": "2019-07-23T17:09:56.000Z"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "valueCoding": {
+ "code": "PROVIDER_TRIAGE",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1"
+ }
+ },
{
"code": "commentIsMandatory",
"valueBoolean": true
@@ -404,6 +794,34 @@
{
"code": "canCancelAppointment",
"valueBoolean": false
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "PROVIDER_AUTHORISED_APPLICATION",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "referrerUsage",
+ "valueCoding": {
+ "code": "CANCEL_REFERRAL",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1"
+ }
}
]
},
@@ -415,6 +833,13 @@
"code": "effectiveFrom",
"valueDateTime": "2004-06-01T00:00:00.000Z"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "valueCoding": {
+ "code": "PATIENT",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1"
+ }
+ },
{
"code": "commentIsMandatory",
"valueBoolean": false
@@ -426,22 +851,43 @@
{
"code": "businessFunction",
"valueCoding": {
- "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1",
- "code": "REFERRING_CLINICIAN_ADMIN"
+ "code": "REFERRING_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "REFERRING_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
}
},
{
"code": "businessFunction",
"valueCoding": {
- "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1",
- "code": "REFERRING_CLINICIAN"
+ "code": "SERVICE_PROVIDER_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "PROVIDER_AUTHORISED_APPLICATION",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
}
},
{
"code": "referrerUsage",
"valueCoding": {
- "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1",
- "code": "CANCEL_REFERRAL"
+ "code": "CANCEL_REFERRAL",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1"
}
}
]
@@ -454,6 +900,13 @@
"code": "effectiveFrom",
"valueDateTime": "2019-07-23T17:09:56.000Z"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "valueCoding": {
+ "code": "PROVIDER_TRIAGE",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1"
+ }
+ },
{
"code": "commentIsMandatory",
"valueBoolean": false
@@ -461,6 +914,34 @@
{
"code": "canCancelAppointment",
"valueBoolean": false
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "SERVICE_PROVIDER_CLINICIAN_ADMIN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "businessFunction",
+ "valueCoding": {
+ "code": "PROVIDER_AUTHORISED_APPLICATION",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-BusinessFunction-1"
+ }
+ },
+ {
+ "code": "referrerUsage",
+ "valueCoding": {
+ "code": "CANCEL_REFERRAL",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-ReferralRequestCancellationReasonUsage-1"
+ }
}
]
},
@@ -472,6 +953,13 @@
"code": "effectiveFrom",
"valueDateTime": "2004-06-01T00:00:00.000Z"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "valueCoding": {
+ "code": "PATIENT",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1"
+ }
+ },
{
"code": "commentIsMandatory",
"valueBoolean": false
@@ -490,6 +978,13 @@
"code": "effectiveFrom",
"valueDateTime": "2004-06-01T00:00:00.000Z"
},
+ {
+ "code": "appointmentRequestCancellationReasonType",
+ "valueCoding": {
+ "code": "UNKNOWN",
+ "system": "https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1"
+ }
+ },
{
"code": "commentIsMandatory",
"valueBoolean": false
diff --git a/sandbox/src/mocks/stu3/retrieveAdviceAndGuidanceWorklist/responses/AdviceAndGuidanceRequests.json b/sandbox/src/mocks/stu3/retrieveAdviceAndGuidanceWorklist/responses/AdviceAndGuidanceRequests.json
index e2ce526d5..66cb0e846 100644
--- a/sandbox/src/mocks/stu3/retrieveAdviceAndGuidanceWorklist/responses/AdviceAndGuidanceRequests.json
+++ b/sandbox/src/mocks/stu3/retrieveAdviceAndGuidanceWorklist/responses/AdviceAndGuidanceRequests.json
@@ -91,6 +91,10 @@
}
]
}
+ },
+ {
+ "url": "communicationRequestVersion",
+ "valueInteger": 10
}
],
"url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AdviceAndGuidanceRequests-WorkListItem-1"
@@ -183,6 +187,10 @@
}
]
}
+ },
+ {
+ "url": "communicationRequestVersion",
+ "valueInteger": 10
}
],
"url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AdviceAndGuidanceRequests-WorkListItem-1"
diff --git a/sandbox/src/routes/stu3/cancelReferral.js b/sandbox/src/routes/stu3/cancelReferral.js
index 2711c47a4..3fb6fd8ed 100644
--- a/sandbox/src/routes/stu3/cancelReferral.js
+++ b/sandbox/src/routes/stu3/cancelReferral.js
@@ -10,7 +10,7 @@ module.exports = [
path: '/FHIR/STU3/ReferralRequest/{ubrn}/$ers.cancelReferral',
handler: (request, h) => {
- const allowedBusinessFunctions = ["REFERRING_CLINICIAN", "REFERRING_CLINICIAN_ADMIN"]
+ const allowedBusinessFunctions = ["REFERRING_CLINICIAN", "REFERRING_CLINICIAN_ADMIN", "SERVICE_PROVIDER_CLINICIAN", "SERVICE_PROVIDER_CLINICIAN_ADMIN"]
const validationResult = validationUtils.validateBusinessFunction(request, h, allowedBusinessFunctions)
diff --git a/scripts/macos_setup_environment.sh b/scripts/macos_setup_environment.sh
index cc25ae436..62a14184c 100755
--- a/scripts/macos_setup_environment.sh
+++ b/scripts/macos_setup_environment.sh
@@ -45,29 +45,29 @@ else
exit 2
fi
-# Installing python 3.10.8 with pyenv
-echo "Installing python 3.10.8 with pyenv ..."
-if pyenv versions | grep -Fq "3.10.8" ; then
- echo "Pyenv has already got Python 3.10.8 installed."
+# Installing python 3.13 with pyenv
+echo "Installing python 3.13 with pyenv ..."
+if pyenv versions | grep -Fq "3.13" ; then
+ echo "Pyenv has already got Python 3.13 installed."
else
- if pyenv install 3.10.8 ; then
- echo "Pyenv installed Python 3.10.8 successfully."
+ if pyenv install 3.13 ; then
+ echo "Pyenv installed Python 3.13 successfully."
else
- echo "Pyenv did NOT install Python 3.10.8 successfully."
+ echo "Pyenv did NOT install Python 3.13 successfully."
exit 3
fi
fi
-# Creating Apigee environment with Python 3.10.8
-echo "Creating Apigee environment with Python 3.10.8 ..."
+# Creating Apigee environment with Python 3.13
+echo "Creating Apigee environment with Python 3.13 ..."
if pyenv versions | grep -q ".*apigee" ; then
echo "A Python virtualenv named 'apigee' already exists."
else
- if pyenv virtualenv 3.10.8 apigee ; then
- echo "A Python 3.10.8 virtualenv named 'apigee' was created."
+ if pyenv virtualenv 3.13 apigee ; then
+ echo "A Python 3.13 virtualenv named 'apigee' was created."
else
- echo "A Python 3.10.8 virtualenv named 'apigee' was NOT created."
+ echo "A Python 3.13 virtualenv named 'apigee' was NOT created."
exit 4
fi
fi
@@ -86,7 +86,7 @@ fi
# Checking python version
echo "Checking python version ..."
version=$(python -V 2>&1)
-if [[ $version = 'Python 3.10.8' ]] ; then
+if [[ $version = 'Python 3.13'* ]] ; then
echo "Python version is correct."
else
echo "Python version is NOT correct."
diff --git a/scripts/ubuntu_setup_environment.sh b/scripts/ubuntu_setup_environment.sh
index 60dcbd944..6f6ea643b 100755
--- a/scripts/ubuntu_setup_environment.sh
+++ b/scripts/ubuntu_setup_environment.sh
@@ -63,29 +63,29 @@ else
fi
-#Installing python 3.10.8 with pyenv
-echo "Installing python 3.10.8 with pyenv ..."
-if pyenv versions | grep -Fq "3.10.8" ; then
- echo "Pyenv has already got Python 3.10.8 installed."
+#Installing python 3.13 with pyenv
+echo "Installing python 3.13 with pyenv ..."
+if pyenv versions | grep -Fq "3.13" ; then
+ echo "Pyenv has already got Python 3.13 installed."
else
- if pyenv install 3.10.8 ; then
- echo "Pyenv installed Python 3.10.8 successfully."
+ if pyenv install 3.13 ; then
+ echo "Pyenv installed Python 3.13 successfully."
else
- echo "Pyenv did NOT install Python 3.10.8 successfully."
+ echo "Pyenv did NOT install Python 3.13 successfully."
exit 1
fi
fi
-#Creating Apigee environment with Python 3.10.8
-echo "Creating Apigee environment with Python 3.10.8 ..."
+#Creating Apigee environment with Python 3.13
+echo "Creating Apigee environment with Python 3.13 ..."
if pyenv versions | grep -q ".*apigee" ; then
echo "A Python virtualenv named 'apigee' already exists."
else
- if pyenv virtualenv 3.10.8 apigee ; then
- echo "A Python 3.10.8 virtualenv named 'apigee' was created."
+ if pyenv virtualenv 3.13 apigee ; then
+ echo "A Python 3.13 virtualenv named 'apigee' was created."
else
- echo "A Python 3.10.8 virtualenv named 'apigee' was NOT created."
+ echo "A Python 3.13 virtualenv named 'apigee' was NOT created."
exit 1
fi
fi
@@ -104,7 +104,7 @@ fi
#Checking python version
echo "Checking python version ..."
version=$(python -V 2>&1)
-if [[ $version = 'Python 3.10.8' ]] ; then
+if [[ $version = 'Python 3.13'* ]] ; then
echo "Python version is correct."
else
echo "Python version is NOT correct."
diff --git a/specification/components/stu3/schemas/CodeSystemConcept.yaml b/specification/components/stu3/schemas/CodeSystemConcept.yaml
index 46dd37948..3ac83f9da 100644
--- a/specification/components/stu3/schemas/CodeSystemConcept.yaml
+++ b/specification/components/stu3/schemas/CodeSystemConcept.yaml
@@ -55,6 +55,7 @@ properties:
| Usage | APPOINTMENT-CANCELLATION-REASON |
| CommentIsMandatory | APPOINTMENT-CANCELLATION-REASON/REFERRAL-CANCELLATION-REASON |
| businessFunction | APPOINTMENT-CANCELLATION-REASON/REFERRAL-CANCELLATION-REASON |
+ | AppointmentRequestCancellationReasonType | REFERRAL-CANCELLATION-REASON |
| CanCancelAppointment | REFERRAL-CANCELLATION-REASON |
| RequestCancellationReferrerUsage | REFERRAL-CANCELLATION-REASON |
| DeferToProviderContactDays | PRIORITY |
@@ -72,6 +73,7 @@ properties:
- $ref: 'codings/AppointmentCancellationUsage.yaml'
- $ref: 'codings/CommentIsMandatory.yaml'
- $ref: 'codings/BusinessFunction.yaml'
+ - $ref: 'codings/AppointmentRequestCancellationReasonType.yaml'
- $ref: 'codings/CanCancelAppointment.yaml'
- $ref: 'codings/RequestCancellationReferrerUsage.yaml'
- $ref: 'codings/DeferToProviderContactDays.yaml'
diff --git a/specification/components/stu3/schemas/CodeSystemProperties.yaml b/specification/components/stu3/schemas/CodeSystemProperties.yaml
index 7eeb3cd23..107ef4bba 100644
--- a/specification/components/stu3/schemas/CodeSystemProperties.yaml
+++ b/specification/components/stu3/schemas/CodeSystemProperties.yaml
@@ -13,6 +13,7 @@ description: |
| Usage | APPOINTMENT-CANCELLATION-REASON |
| CommentIsMandatory | APPOINTMENT-CANCELLATION-REASON / REFERRAL-CANCELLATION-REASON |
| BusinessFunction | APPOINTMENT-CANCELLATION-REASON / REFERRAL-CANCELLATION-REASON |
+ | AppointmentRequestCancellationReasonType | REFERRAL-CANCELLATION-REASON |
| CanCancelAppointment | REFERRAL-CANCELLATION-REASON |
| ReferrerUsage | REFERRAL-CANCELLATION-REASON |
| DeferToProviderContactDays | PRIORITY |
@@ -29,6 +30,7 @@ items:
- $ref: 'properties/Usage.yaml'
- $ref: 'properties/CommentIsMandatory.yaml'
- $ref: 'properties/BusinessFunction.yaml'
+ - $ref: 'properties/AppointmentRequestCancellationReasonType.yaml'
- $ref: 'properties/CanCancelAppointment.yaml'
- $ref: 'properties/ReferrerUsage.yaml'
- $ref: 'properties/DeferToProviderContactDays.yaml'
diff --git a/specification/components/stu3/schemas/codings/AppointmentRequestCancellationReasonType.yaml b/specification/components/stu3/schemas/codings/AppointmentRequestCancellationReasonType.yaml
new file mode 100644
index 000000000..70880573e
--- /dev/null
+++ b/specification/components/stu3/schemas/codings/AppointmentRequestCancellationReasonType.yaml
@@ -0,0 +1,25 @@
+title: Appointment request cancellation reason type
+description: This will only be returned when codeSystemType is REFERRAL-CANCELLATION-REASON
+type: object
+required:
+ - code
+ - valueCoding
+properties:
+ code:
+ type: string
+ enum:
+ - appointmentRequestCancellationReasonType
+ valueCoding:
+ type: object
+ required:
+ - system
+ - code
+ properties:
+ system:
+ type: string
+ enum:
+ - 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1'
+ example: 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-AppointmentRequestCancellationReasonType-1'
+ code:
+ type: string
+ example: 'PROVIDER'
diff --git a/specification/components/stu3/schemas/eRS-FetchWorklist-List.yaml b/specification/components/stu3/schemas/eRS-FetchWorklist-List.yaml
index 9b985ea89..53819e722 100644
--- a/specification/components/stu3/schemas/eRS-FetchWorklist-List.yaml
+++ b/specification/components/stu3/schemas/eRS-FetchWorklist-List.yaml
@@ -598,6 +598,7 @@ properties:
| `referrer` | `1..1` | |
| `service` | `1..1` | |
| `clinicType` | `0..1` | |
+ | `communicationRequestVersion` | `1..1` | |
items:
anyOf:
- $ref: './extensions/worklists/Extension-WorklistItem-Priority.yaml'
@@ -693,6 +694,20 @@ properties:
- $ref: './extensions/worklists/Extension-WorklistItem-Referrer.yaml'
- $ref: './extensions/worklists/Extension-WorklistItem-Service.yaml'
- $ref: './extensions/worklists/Extension-WorklistItem-ClinicType.yaml'
+ - title: communicationRequestVersion
+ type: object
+ required:
+ - url
+ - valueInteger
+ properties:
+ url:
+ type: string
+ enum:
+ - communicationRequestVersion
+ example: 'communicationRequestVersion'
+ valueInteger:
+ type: integer
+ example: 0
- title: Extension-eRS-RejectedTriageResponse-WorkListItem
type: object
required:
diff --git a/specification/components/stu3/schemas/endpoints/a023-retrieve-a&g-worklist.yaml b/specification/components/stu3/schemas/endpoints/a023-retrieve-a&g-worklist.yaml
index cb818b00e..507412ed3 100644
--- a/specification/components/stu3/schemas/endpoints/a023-retrieve-a&g-worklist.yaml
+++ b/specification/components/stu3/schemas/endpoints/a023-retrieve-a&g-worklist.yaml
@@ -8,7 +8,8 @@ description: |
or to undertake an action, in order to avoid delays to patient care.
Service provider organisations can retrieve the contents of their 'Advice and guidance requests' worklist using
- this endpoint. This worklist contains advice and guidance requests the provider has received and which need actioning.
+ this endpoint. This worklist contains advice and guidance requests the provider has received and which need actioning. The version of each advice
+ request in the worklist will also be returned. Note that the version can change due to admin/clinical changes as well as internal e-RS processes.
There are currently no advice and guidance related worklists available for referring organisations.
diff --git a/specification/components/stu3/schemas/endpoints/a029-available-actions-for-user-list.yaml b/specification/components/stu3/schemas/endpoints/a029-available-actions-for-user-list.yaml
index 69aa06daa..38e42ad88 100644
--- a/specification/components/stu3/schemas/endpoints/a029-available-actions-for-user-list.yaml
+++ b/specification/components/stu3/schemas/endpoints/a029-available-actions-for-user-list.yaml
@@ -23,6 +23,7 @@ description: |
Supported action:
- Record Review Outcome
+ - Cancel Referral
### Healthcare worker, user-restricted access
@@ -53,8 +54,9 @@ description: |
- Change Shortlist
- Change Shortlist and Send for Triage
- As a service provider, the only action returned will be:
- - Record Review Outcome
+ As a service provider, the actions returned can include:
+ - Record Review Outcome
+ - Cancel Referral
## Related endpoints
diff --git a/specification/components/stu3/schemas/endpoints/a036-cancel-referral.yaml b/specification/components/stu3/schemas/endpoints/a036-cancel-referral.yaml
index 1c6d8395d..999321331 100644
--- a/specification/components/stu3/schemas/endpoints/a036-cancel-referral.yaml
+++ b/specification/components/stu3/schemas/endpoints/a036-cancel-referral.yaml
@@ -14,18 +14,27 @@ description: |
## Supported security patterns
- Healthcare worker, user-restricted access
+ - Application-restricted, unattended access
## Pre-requisites
+ ### Application-restricted, unattended access
+ In order to use this endpoint you must be an authenticated e-RS calling application, working in the context of a Service Provider Organisation.
+
+ To access this endpoint in application-restricted, unattended mode, you will be required to submit your use case for review. The only use case currently permitted is for non-clinical provider actions.
+
+ ### Healthcare worker, user-restricted access
In order to use this endpoint you must be an authenticated e-RS user and use one of the following e-RS roles:
- `REFERRING_CLINICIAN`
- `REFERRING_CLINICIAN_ADMIN`
+ - `SERVICE_PROVIDER_CLINICIAN`
+ - `SERVICE_PROVIDER_CLINICIAN_ADMIN`
You must use [[HYPERLINK_A004]] to retrieve a list of reference data, which detail the reason the cancellation is being performed. You can only use reference data from the set `REFERRAL-CANCELLATION-REASON`.
To find out which reference data from this set can be used, the following filters can be used depending on the cancellation scenario:
- ***1. I want to cancel the referral and the current appointment***
+ ***1. I want to cancel the referral and the current appointment as a Referrer***
* Obtain reference data from `REFERRAL-CANCELLATION-REASON` and filter:
@@ -40,30 +49,83 @@ description: |
* if provided, `effectiveTo` must **not** be in the past
- ***2. I want to cancel a referral, for which there is no current appointment***
+ ***2. I want to cancel a referral, for which there is no current appointment as a Referrer***
* Obtain reference data from `REFERRAL-CANCELLATION-REASON` and filter:
* `referrerUsage` must be `CANCEL_REFERRAL`, and
- * `businessFunction` must be `REFERRING_CLINICIAN` or `REFERRING_CLINICIAN_ADMIN` *(depending which authenticated user will be performing the action), and
+ * `businessFunction` must be `REFERRING_CLINICIAN` or `REFERRING_CLINICIAN_ADMIN` (depending which authenticated user will be performing the action), and
* `canCancelAppointment` could be true or false, and
* `effectiveFrom` must be in the past, and
* if provided, `effectiveTo` must **not** be in the past
+
+ ***3. I want to cancel the referral and the current appointment as a Service Provider***
+
+ * Obtain reference data from `REFERRAL-CANCELLATION-REASON` and filter:
+
+ * `referrerUsage` must be `CANCEL_REFERRAL`, and
+
+ * `businessFunction` must be `SERVICE_PROVIDER_CLINICIAN` or `SERVICE_PROVIDER_CLINICIAN_ADMIN` (depending which authenticated user will be performing the action), and
+
+ * `appointmentRequestCancellationReasonType` must be `PROVIDER` and `PATIENT`, and
+
+ * `canCancelAppointment` must be true, and
+
+ * `effectiveFrom` must be in the past, and
+
+ * `effectiveTo` must **not** be in the past
+
+ ***4. I want to cancel a referral, for which there is no current appointment as a Service Provider***
+
+ * Obtain reference data from `REFERRAL-CANCELLATION-REASON` and filter:
+
+ * `referrerUsage` must be `CANCEL_REFERRAL`, and
+
+ * `businessFunction` must be `SERVICE_PROVIDER_CLINICIAN` or `SERVICE_PROVIDER_CLINICIAN_ADMIN` (depending which authenticated user will be performing the action), and
+ * `appointmentRequestCancellationReasonType` must be `PROVIDER` and `PATIENT`, and
+
+ * `canCancelAppointment` could be true or false, and
+
+ * `effectiveFrom` must be in the past, and
+
+ * `effectiveTo` must **not** be in the past
+
+ ***5. I want to cancel the triage referral as a Service Provider***
+
+ * Obtain reference data from `REFERRAL-CANCELLATION-REASON` and filter:
+
+ * `referrerUsage` must be `CANCEL_REFERRAL`, and
+
+ * `businessFunction` must be `SERVICE_PROVIDER_CLINICIAN` or `SERVICE_PROVIDER_CLINICIAN_ADMIN` (depending which authenticated user will be performing the action), and
+
+ * `appointmentRequestCancellationReasonType` must be `PROVIDER_TRIAGE`, and
+
+ * `effectiveFrom` must be in the past, and
+
+ * `effectiveTo` must **not** be in the past
You need to use [[HYPERLINK_A005]] to retrieve details of the referral in order to make this clinical decision.
- ## Important notes
+ ## Important note when retrieving attachments
In order to retrieve an attachment using the [[HYPERLINK_A042]] (or deprecated [[HYPERLINK_A006]]) endpoint, the attachment must be available for download.
The availability status of attachments associated with a referral are returned via this endpoint as a eRS-AvailabilityStatus-1 code.
Further details on attachment availability status and eRS-AvailabilityStatus-1 codes can be found in the [[HYPERLINK_A005]] and [[HYPERLINK_A042]] specifications.
+ ## Important notes when providing an appointment request cancellation reason
+
+ When cancelling a referral as a Service Provider Clinician:
+
+ * If the referral is in the **"Triaged - Provider to action"** state, the cancellation reason must be an **Appointment Request End Triage Reason** type.
+
+ * If the referral is **not** in that state, the cancellation reason must be a **Provider Appointment Request Cancellation Reason** or **Patient Appointment Request Cancellation Reason** type.
+
## Use case
As an authenticated user
@@ -89,14 +151,16 @@ description: |
You can test the following scenarios in our sandbox environment:
- | Scenario | Request details |
- | ------------------------------------------------------------------------ | --------------------------------- |
- | Reason for Cancellation without Comment (Comment Not Mandatory) | Intend Private With No Comment |
- | Reason for Cancellation with Comment (Comment Mandatory) | Patient Cancellation With Comment |
- | Cancelled Referral | Raised in Error |
- | Cancelled Appointment and Referral | Referrer Cancellation |
- | Cancelled Referral After Prior Appointment Cancellation | Treatment No Longer Required |
- | Cancelled Referral with Existing Review Outcome | Intend Private With Comment |
+ | Scenario | Request details |
+ | ------------------------------------------------------------------------ | ------------------------------------- |
+ | Reason for Cancellation without Comment (Comment Not Mandatory) | Intend Private With No Comment |
+ | Reason for Cancellation with Comment (Comment Mandatory) | Patient Cancellation With Comment |
+ | Cancelled Referral | Raised in Error |
+ | Cancelled Appointment and Referral | Referrer Cancellation |
+ | Cancelled Referral After Prior Appointment Cancellation | Treatment No Longer Required |
+ | Cancelled Referral with Existing Review Outcome | Intend Private With Comment |
+ | Cancelled Referral (Provider) without Comment (Comment Not Mandatory) | Provider Cancellation With No Comment |
+ | Cancelled Referral with Triage Response | Provider Cancellation via End Triage |
summary: Cancel referral (A036, FHIR STU3)
operationId: a036-cancel-referral
tags:
@@ -139,6 +203,14 @@ requestBody:
summary: Cancelled Referral with Existing Review Outcome
value:
$ref: '../../examples/cancelReferral/requests/IntendPrivateWithComment.json'
+ cancel-referral-provider-without-comment:
+ summary: Cancelled Referral (Provider) without Comment (Comment Not Mandatory)
+ value:
+ $ref: '../../examples/cancelReferral/requests/bookedOutsideCabWithoutComment.json'
+ cancel-referral-with-triage-response:
+ summary: Cancelled Referral with Triage Response
+ value:
+ $ref: '../../examples/cancelReferral/requests/outpatientService.json'
responses:
'200':
$ref: '../responses/cancelReferral/200Response.yaml'
diff --git a/specification/components/stu3/schemas/properties/AppointmentRequestCancellationReasonType.yaml b/specification/components/stu3/schemas/properties/AppointmentRequestCancellationReasonType.yaml
new file mode 100644
index 000000000..86ad3d95e
--- /dev/null
+++ b/specification/components/stu3/schemas/properties/AppointmentRequestCancellationReasonType.yaml
@@ -0,0 +1,23 @@
+title: Appointment Request Cancellation Reason Type
+description: This will only be returned when codeSystemType is REFERRAL-CANCELLATION-REASON
+type: object
+required:
+ - code
+ - uri
+ - type
+properties:
+ code:
+ type: string
+ enum:
+ - appointmentRequestCancellationReasonType
+ example: 'appointmentRequestCancellationReasonType'
+ uri:
+ type: string
+ enum:
+ - 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-Concept-Properties-1#appointmentRequestCancellationReasonType'
+ example: 'https://fhir.nhs.uk/STU3/CodeSystem/eRS-Concept-Properties-1#appointmentRequestCancellationReasonType'
+ type:
+ type: string
+ enum:
+ - Coding
+ example: 'Coding'
diff --git a/specification/components/stu3/schemas/responses/cancelReferral/200Response.yaml b/specification/components/stu3/schemas/responses/cancelReferral/200Response.yaml
index f20c32527..8ba4444da 100644
--- a/specification/components/stu3/schemas/responses/cancelReferral/200Response.yaml
+++ b/specification/components/stu3/schemas/responses/cancelReferral/200Response.yaml
@@ -35,3 +35,11 @@ content:
summary: Cancelled Referral with Existing Review Outcome with Reason 'Patient will go to a private clinic'
value:
$ref: '../../../examples/cancelReferral/responses/CancelledReferralResolvedDeferralIntendPrivateWithComment.json'
+ cancelled-referral-provider-booked-outside:
+ summary: Cancelled Referral without Booking with Reason 'Patient booked outside NHS e-Referral Service' without Comment (Comment Not Mandatory)'
+ value:
+ $ref: '../../../examples/cancelReferral/responses/CancelledReferralBookedOutsideCabWithoutComment.json'
+ cancelled-referral-provider-triaged-and-sent-to-outpatient-service:
+ summary: Cancelled Referral with Triage Response with Reason 'Sent to outpatient service not available in this system' with Comment (Comment Mandatory)'
+ value:
+ $ref: '../../../examples/cancelReferral/responses/CancelledReferralOutpatientService.json'
diff --git a/specification/components/stu3/schemas/responses/cancelReferral/422Response.yaml b/specification/components/stu3/schemas/responses/cancelReferral/422Response.yaml
index 13b9aab0e..c03d70e38 100644
--- a/specification/components/stu3/schemas/responses/cancelReferral/422Response.yaml
+++ b/specification/components/stu3/schemas/responses/cancelReferral/422Response.yaml
@@ -9,6 +9,7 @@ description: |
| PATIENT_ERROR | An error occurred while retrieving the requested patient. Do not attempt again. |
| NO_RELATIONSHIP | The user does not have a legitimate relationship with the request. |
| UNABLE_TO_CANCEL_APPOINTMENT | System is unable to cancel the appointment. |
+ | INAPPROPRIATE_VALUE | A value, which is acceptable under different conditions, is inappropriate in the context of the other information provided. |
headers:
X-Correlation-ID:
$ref: '../../headers/response/CorrelationID.yaml'
diff --git a/specification/e-referrals-service-api.yaml b/specification/e-referrals-service-api.yaml
index 8e3f03fcd..3024e2545 100644
--- a/specification/e-referrals-service-api.yaml
+++ b/specification/e-referrals-service-api.yaml
@@ -39,6 +39,7 @@ info:
- accept or reject a referral request
- retrieve Advice & Guidance (A&G) conversations and send responses
- convert Advice & Guidance (A&G) conversations into a referral
+ - cancel a referral
**You cannot use this API to:**
@@ -78,7 +79,7 @@ info:
| Access mode | Authentication via | Functions | Availability |
| ----------------------------- | -------------------------- | ----------------------- | ------------------------------- |
- | Application-restricted,
unattended access | [[HYPERLINK_SIGNED_JWT]] |