Skip to content

Conversation

@Vox-Ben
Copy link
Contributor

@Vox-Ben Vox-Ben commented Feb 9, 2026

Description

Creates the SDS access module and integrates it with the controller.

Context

CDG requires the ability to obtain organisation ASIDs and endpoints from SDS. This provides that capability.

Type of changes

  • Refactoring (non-breaking change)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would change existing functionality)
  • Bug fix (non-breaking change which fixes an issue)

Checklist

  • I have followed the code style of the project
  • I have added tests to cover my changes
  • I have updated the documentation accordingly
  • This PR is a result of pair or mob programming
  • Exceptions/Exclusions to coding standards (e.g. #noqa or #NOSONAR) are included within this Pull Request.

Sensitive Information Declaration

To ensure the utmost confidentiality and protect your and others privacy, we kindly ask you to NOT including PII (Personal Identifiable Information) / PID (Personal Identifiable Data) or any other sensitive data in this PR (Pull Request) and the codebase changes. We will remove any PR that do contain any sensitive information. We really appreciate your cooperation in this matter.

  • I confirm that neither PII/PID nor sensitive data are included in this PR and the codebase changes.

@Vox-Ben Vox-Ben requested a review from a team as a code owner February 9, 2026 09:50
@github-actions
Copy link

github-actions bot commented Feb 9, 2026

Trivy gate: no Critical/High vulnerabilities.

Trivy Image Scan Summary

Image: 900119715266.dkr.ecr.eu-west-2.amazonaws.com/whoami:feature-gpcapim-258-sds-access-module

Severity Count
CRITICAL 0
HIGH 0
MEDIUM 0
LOW 1
UNKNOWN 0
Findings (top 50)
Severity ID Package Installed Fixed Source
LOW CVE-2026-1703 pip 25.3 26.0 Python

@github-actions
Copy link

github-actions bot commented Feb 10, 2026

Trivy gate: no Critical/High issues.

Trivy IaC (Terraform) Summary

Severity Count
CRITICAL 0
HIGH 0
MEDIUM 0
LOW 0
UNKNOWN 0
Findings (top 50)
Severity ID Title File

Comment on lines +84 to +88
# FHIR identifier systems
ODS_SYSTEM = "https://fhir.nhs.uk/Id/ods-organization-code"
INTERACTION_SYSTEM = "https://fhir.nhs.uk/Id/nhsServiceInteractionId"
PARTYKEY_SYSTEM = "https://fhir.nhs.uk/Id/nhsMhsPartyKey"
ASID_SYSTEM = "https://fhir.nhs.uk/Id/nhsSpineASID"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fine in the context of this PR, but I wonder if these might be in a common FHIR config long-term. @davidhamill1-nhs might have an approach in the harmonisation ticket.

Comment on lines +78 to +82
# URLs for different SDS environments
SANDBOX_URL = "https://sandbox.api.service.nhs.uk/spine-directory/FHIR/R4"
INT_URL = "https://int.api.service.nhs.uk/spine-directory/FHIR/R4"
DEP_UAT_URL = "https://dep.api.service.nhs.uk/spine-directory/FHIR/R4"
PROD_URL = "https://api.service.nhs.uk/spine-directory/FHIR/R4"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can see that these might be useful long-term, but are they adding value at this point?

Comment on lines +94 to +97
# Default service interaction ID for GP Connect
DEFAULT_SERVICE_INTERACTION_ID = (
"urn:nhs:names:services:gpconnect:fhir:rest:read:metadata-1"
)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Our scope for Alpha is specifically ARS so makes sense to use it now. As GPC has other interactionIDs though it's probably worth being explict.

Suggested change
# Default service interaction ID for GP Connect
DEFAULT_SERVICE_INTERACTION_ID = (
"urn:nhs:names:services:gpconnect:fhir:rest:read:metadata-1"
)
# Default service interaction ID for GP Connect
ACCESS_RECORD_STRUCTURED_INTERACTION_ID = (
"urn:nhs:names:services:gpconnect:fhir:operation:gpc.getstructuredrecord-1
)

@sonarqubecloud
Copy link

@github-actions
Copy link

Deployment Complete

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants