Skip to content

Commit 161a7c0

Browse files
Merge pull request #5934 from nhsuk/alistair/imms-api-remove-immunization-target-handling
Remove workaround for `-immunization.target` in Imms API requests
2 parents 109cac7 + c522bbc commit 161a7c0

22 files changed

Lines changed: 44 additions & 362 deletions

app/lib/nhs/immunisations_api.rb

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -408,34 +408,17 @@ def check_bundle_link_params(bundle, request_params)
408408
uri = URI(link)
409409
bundle_params = URI.decode_www_form(uri.query).to_h
410410

411-
# TODO: There is currently a bug in the API where the `Bundle.link` value for `-immunization.target` is
412-
# incorrectly returned as `immunization.target` rather than `-immunization.target`. Matt Jarvis has
413-
# told me that this should be fixed in their next release (3) or possibly release 4, at which point we
414-
# can remove this logic.
415-
tweaked_bundle_params =
416-
bundle_params.transform_keys do |key|
417-
key == "immunization.target" ? "-immunization.target" : key
418-
end
419-
# TODO: They recently introduced another bug (presumably in the process of fixing their old bug), where they
420-
# now use `immunization-target`. This has only been seen in their staging environment, and we have notified
421-
# them, so hopefully this never reaches production. In the meantime we need to be able to test and demo
422-
# against their INT environment, and need to be robust against this bug in case it makes its way into prod.
423-
tweaked_bundle_params =
424-
tweaked_bundle_params.transform_keys do |key|
425-
key == "immunization-target" ? "-immunization.target" : key
426-
end
427-
428411
# We don't care about the order of the target values
429-
tweaked_bundle_params["-immunization.target"] = tweaked_bundle_params[
412+
bundle_params["-immunization.target"] = bundle_params[
430413
"-immunization.target"
431414
]&.split(",")&.sort
432415
request_params["-immunization.target"] = request_params[
433416
"-immunization.target"
434417
].split(",").sort
435418

436-
unless tweaked_bundle_params == request_params
419+
unless bundle_params == request_params
437420
message =
438-
"Bundle link parameters do not match request parameters: #{tweaked_bundle_params} != #{request_params}"
421+
"Bundle link parameters do not match request parameters: #{bundle_params} != #{request_params}"
439422
Rails.logger.warn(message)
440423
if Flipper.enabled?(:imms_api_sentry_warnings)
441424
Sentry.capture_exception(BundleLinkParamsMismatch.new(message))

spec/fixtures/files/fhir/search_response_0_results.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"link": [
55
{
66
"relation": "self",
7-
"url": "https://int.api.service.nhs.uk/immunisation-fhir-api/Immunization?immunization.target=FLU,HPV,MENACWY,3IN1,MMR\u0026patient.identifier=https%3A%2F%2Ffhir.nhs.uk%2FId%2Fnhs-number%7C9449308357"
7+
"url": "https://int.api.service.nhs.uk/immunisation-fhir-api/Immunization?-immunization.target=FLU,HPV,MENACWY,3IN1,MMR\u0026patient.identifier=https%3A%2F%2Ffhir.nhs.uk%2FId%2Fnhs-number%7C9449308357"
88
}
99
],
1010
"entry": [],

spec/fixtures/files/fhir/search_response_1_result.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"link": [
55
{
66
"relation": "self",
7-
"url": "https://int.api.service.nhs.uk/immunisation-fhir-api/Immunization?immunization.target=FLU,HPV,MENACWY,3IN1,MMR\u0026patient.identifier=https%3A%2F%2Ffhir.nhs.uk%2FId%2Fnhs-number%7C9449308357"
7+
"url": "https://int.api.service.nhs.uk/immunisation-fhir-api/Immunization?-immunization.target=FLU,HPV,MENACWY,3IN1,MMR\u0026patient.identifier=https%3A%2F%2Ffhir.nhs.uk%2FId%2Fnhs-number%7C9449308357"
88
}
99
],
1010
"entry": [

spec/fixtures/files/fhir/search_response_1_result_mavis.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"link": [
55
{
66
"relation": "self",
7-
"url": "https://int.api.service.nhs.uk/immunisation-fhir-api/Immunization?immunization.target=FLU,HPV,MENACWY,3IN1,MMR\u0026patient.identifier=https%3A%2F%2Ffhir.nhs.uk%2FId%2Fnhs-number%7C9449308357"
7+
"url": "https://int.api.service.nhs.uk/immunisation-fhir-api/Immunization?-immunization.target=FLU,HPV,MENACWY,3IN1,MMR\u0026patient.identifier=https%3A%2F%2Ffhir.nhs.uk%2FId%2Fnhs-number%7C9449308357"
88
}
99
],
1010
"entry": [

spec/fixtures/files/fhir/search_response_1_result_mmrv.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"link": [
55
{
66
"relation": "self",
7-
"url": "https://internal-dev.api.service.nhs.uk/immunisation-fhir-api/FHIR/R4/Immunization?immunization.target=MMRV%2CMMR%2C3IN1%2CMENACWY%2CFLU%2CHPV&-immunization.target=MMRV%2CMMR%2C3IN1%2CMENACWY%2CFLU%2CHPV&patient.identifier=https%3A%2F%2Ffhir.nhs.uk%2FId%2Fnhs-number%7C9990001855"
7+
"url": "https://internal-dev.api.service.nhs.uk/immunisation-fhir-api/FHIR/R4/Immunization?-immunization.target=MMRV%2CMMR%2C3IN1%2CMENACWY%2CFLU%2CHPV&patient.identifier=https%3A%2F%2Ffhir.nhs.uk%2FId%2Fnhs-number%7C9990001855"
88
}
99
],
1010
"entry": [

spec/fixtures/files/fhir/search_response_2_results.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"link": [
55
{
66
"relation": "self",
7-
"url": "https://int.api.service.nhs.uk/immunisation-fhir-api/Immunization?immunization.target=FLU,HPV,MENACWY,3IN1,MMR\u0026patient.identifier=https%3A%2F%2Ffhir.nhs.uk%2FId%2Fnhs-number%7C9449308357"
7+
"url": "https://int.api.service.nhs.uk/immunisation-fhir-api/Immunization?-immunization.target=FLU,HPV,MENACWY,3IN1,MMR\u0026patient.identifier=https%3A%2F%2Ffhir.nhs.uk%2FId%2Fnhs-number%7C9449308357"
88
}
99
],
1010
"entry": [

spec/fixtures/files/fhir/search_response_2_results_mavis_duplicate.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"link": [
55
{
66
"relation": "self",
7-
"url": "https://int.api.service.nhs.uk/immunisation-fhir-api/Immunization?immunization.target=FLU,HPV,MENACWY,3IN1,MMR\u0026patient.identifier=https%3A%2F%2Ffhir.nhs.uk%2FId%2Fnhs-number%7C9449308357"
7+
"url": "https://int.api.service.nhs.uk/immunisation-fhir-api/Immunization?-immunization.target=FLU,HPV,MENACWY,3IN1,MMR\u0026patient.identifier=https%3A%2F%2Ffhir.nhs.uk%2FId%2Fnhs-number%7C9449308357"
88
}
99
],
1010
"entry": [

spec/fixtures/files/fhir/search_response_2_results_mavis_duplicate_primary_source.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"link": [
55
{
66
"relation": "self",
7-
"url": "https://int.api.service.nhs.uk/immunisation-fhir-api/Immunization?immunization.target=3IN1,FLU,HPV,MENACWY,MMR\u0026patient.identifier=https%3A%2F%2Ffhir.nhs.uk%2FId%2Fnhs-number%7C9449308357"
7+
"url": "https://int.api.service.nhs.uk/immunisation-fhir-api/Immunization?-immunization.target=3IN1,FLU,HPV,MENACWY,MMR\u0026patient.identifier=https%3A%2F%2Ffhir.nhs.uk%2FId%2Fnhs-number%7C9449308357"
88
}
99
],
1010
"entry": [

spec/fixtures/files/fhir/search_response_all_programmes.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"link": [
55
{
66
"relation": "self",
7-
"url": "https://int.api.service.nhs.uk/immunisation-fhir-api/FHIR/R4/Immunization?immunization.target=FLU,HPV,MENACWY,MMR,3IN1&patient.identifier=https%3A%2F%2Ffhir.nhs.uk%2FId%2Fnhs-number%7C9449308357"
7+
"url": "https://int.api.service.nhs.uk/immunisation-fhir-api/FHIR/R4/Immunization?-immunization.target=FLU,HPV,MENACWY,MMR,3IN1&patient.identifier=https%3A%2F%2Ffhir.nhs.uk%2FId%2Fnhs-number%7C9449308357"
88
}
99
],
1010
"entry": [

spec/fixtures/files/fhir/search_response_all_programmes_mmrv.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"link": [
55
{
66
"relation": "self",
7-
"url": "https://int.api.service.nhs.uk/immunisation-fhir-api/FHIR/R4/Immunization?immunization.target=MMRV,FLU,HPV,MENACWY,MMR,3IN1&patient.identifier=https%3A%2F%2Ffhir.nhs.uk%2FId%2Fnhs-number%7C9449308357"
7+
"url": "https://int.api.service.nhs.uk/immunisation-fhir-api/FHIR/R4/Immunization?-immunization.target=MMRV,FLU,HPV,MENACWY,MMR,3IN1&patient.identifier=https%3A%2F%2Ffhir.nhs.uk%2FId%2Fnhs-number%7C9449308357"
88
}
99
],
1010
"entry": [

0 commit comments

Comments
 (0)