Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NIAD-2873: Change how we query the persist duration from SDS #330

Merged
merged 5 commits into from
Oct 16, 2023
Merged

Conversation

ole4ryb
Copy link
Contributor

@ole4ryb ole4ryb commented Oct 13, 2023

What

By this PR we are adapting the way how we query SDS service to avoid getting a broken response.

Why

For one of our test ODS codes, C88046, we've observed that we've been unable to retrieve the "persist duration" from the SDS API. The persist duration is fetched for each ODS code during the transfer timeout functionality, to ascertain whether the transfer has timed out or not.

Within the SDS FHIR API, there are two endpoints:

  • endpoint
  • device

When calling the endpoint API with the test ODS code, it is returning nothing, but when calling the device endpoint using the ODS to get the PartyID, and then calling the endpoint API using that PartyID we get the persist duration.

We believe that the original behaviour to use the ODS code by itself should work, but have been unable to get a definitive answer from ITOC as to whether there is a data issue within SDS for our ODS code.

Example error log entry seen previously

docker-gp2gp_translator-1  | 2023-10-17 11:33:42.092 Level=ERROR Logger=u.n.a.p.t.t.s.EHRTimeoutHandler ConversationId=A6FDC87D-68AB-4F6E-8370-524D8EBC209E Thread="scheduling-1" Message="Error retrieving persist duration: [sds response doesn't contain any results]"

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Internal change (non-breaking change with no effect on the functionality affecting end users)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

  • I have performed a self-review of my code
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have updated the Changelog with details of my change in the UNRELEASED section if this change will affect end users

@ole4ryb ole4ryb changed the title changing the way how we querying SDS service NIAD-2873: changing the way how we querying SDS service Oct 13, 2023
@ole4ryb ole4ryb marked this pull request as ready for review October 16, 2023 11:23
@ole4ryb ole4ryb requested a review from benhession October 16, 2023 11:25
Copy link
Contributor

@benhession benhession left a comment

Choose a reason for hiding this comment

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

Minor comment around constant name, but otherwise looks good!

@@ -19,21 +19,23 @@
public class SdsRequestBuilder {

private static final String ROUTING_AND_READABILITY_ENDPOINT = "/Endpoint";
private static final String ROUTING_AND_READABILITY_DEVICE_ENDPOINT = "/Device";
Copy link
Contributor

Choose a reason for hiding this comment

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

Because this is the device endpoint I don't think is should be called "Routing and reliability" the docs call it Get Accredited System Details

@ole4ryb ole4ryb merged commit e9e85fc into main Oct 16, 2023
@ole4ryb ole4ryb deleted the NIAD-2873 branch October 16, 2023 14:15
@adrianclay adrianclay changed the title NIAD-2873: changing the way how we querying SDS service NIAD-2873: Change how we query the persist duration from SDS Oct 17, 2023
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