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

Prefix all ids with pdex to prevent id conflict #33

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

Shaumik-Ashraf
Copy link
Contributor

@Shaumik-Ashraf Shaumik-Ashraf commented Dec 17, 2024

Summary

Since inferno_core v0.5.0 disallows any duplicate ids, all ids are now prefixed with pdex_.

I also added a delay in one of the server tests to mitigate the race condition that occurs when the two test kits run against each other.

Testing Guidance

  1. Launch the PDex server test kit and make sure its tests loaded.
  2. Launch the PDex client test kit and make sure its tests loaded.
  3. Optionally: Use the "Preset for Client Tests" in the server test kit to run the two test kits against each other. Behavior should be identical to the one on https://inferno.healthit.gov.

Copy link
Contributor

@karlnaden karlnaden left a comment

Choose a reason for hiding this comment

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

This change as designed is too focused on the needs of running Inferno against itself and doesn't reflect the needs of actual clients.

@@ -130,6 +130,9 @@ class WorkflowMemberMatchGroup < Inferno::TestGroup
run do
skip_if !member_identifier, "No member identifier obtained from $member-match request"

# Delay because running the server suite on the client suite encounters a race condition
sleep(2)
Copy link
Contributor

Choose a reason for hiding this comment

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

This is a race condition related to the client tests moving from one wait to another and the server tests beginning to make clinical requests before that transition has been completed. While this change may mitigate the problem when Inferno's server tests run against the client tests, it won't prevent actual systems from making clinical requests too soon after the $member-match. Nor should it. Thus, the solution in the current architecture is to combine the wait tests into a single one and evaluate everything after all requests are completed so that real client systems do not have to wait to make clinical requests. That is a change that is a bit more involved, but I think that it is important based on experience that we've gained on client testing.

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