-
Notifications
You must be signed in to change notification settings - Fork 160
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
issue #3652 - add PDEX Drug Formulary 1.1.0 #3653
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
acaffa2
to
4c3fb07
Compare
756d9c8
to
ab61a10
Compare
Following the same pattern from PDEX PlanNet Signed-off-by: Lee Surprenant <[email protected]>
* extension type profiles and value set bindings on StructureDefinitions * meta.profile entries on examples Signed-off-by: Lee Surprenant <[email protected]>
ConstraintGenerator.getProfiles() was called from 4 places in this class. All but one of those was for building the argument to the FHIRPath `extension()` function. That means that there should be no version suffix and so I renamed the method to `getProfilesWithoutVersion` and updated it accordingly. In the single other spot (`generateProfileConstraint(Node)`), I added the `getProfile()` logic in-line. Signed-off-by: Lee Surprenant <[email protected]>
1. Added a FHIRTermService.lookup overload which allows the caller to pass the specific version of the CodeSystem to use. Previously, I found that we were passing a CodeSystem to validateCode but this method delegated to lookup which fetched its own CodeSystem. This was problematic when the Coding didn't specify a particular CodeSystem version when the underlying profile constraint did. 2. Moved logic for generating `conformsTo` constraints (generated-ext-1) for each extension in the resource instance. Now it will be grouped with the rest of the constraints and we can introspect those other constraints to shape the constraint generation. - To implement this, I introduced a new "PathAwareCollectingVisitor" although alternatively I could have executed a FHIRPath like `descendents(extension)` - Instead of a constraint like `conformTo(url)` which will only validate against the latest version of this extension in the registry, we now generate an expression like `conformTo(url|1) or conformTo(url|2) or conformTo(url|3)` ...one clause for each version in the registry. Signed-off-by: Lee Surprenant <[email protected]>
Fixes an edge case where if a valueset expansion has values from two different versions of the same codesystem and the code being looked up specifies no version and exists in the second one. Previously, we just returned the result of the 'contains' check on the first set of codes. Signed-off-by: Lee Surprenant <[email protected]>
punktilious
approved these changes
Jun 9, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Following the same pattern from PDEX PlanNet
This uncovered some issues with the way we were handling versioned canonicals in our profile validation
and so this PR also addresses #3654 and #3661
Signed-off-by: Lee Surprenant [email protected]