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

IStructureDefinitionSummary differs between PocoSDSP and StructureDefinitionSDSP #1576

Closed
ewoutkramer opened this issue Dec 22, 2020 · 1 comment · Fixed by FirelyTeam/firely-net-common#138 or #1810
Assignees
Milestone

Comments

@ewoutkramer
Copy link
Member

ewoutkramer commented Dec 22, 2020

Describe the bug
We currently ship two implementations of IStructureDefinitionSummaryProvider: PocoStructureDefinitionSummaryProvider and StructureDefinitionSummaryProvider.

One would expect that the IStructureDefinitionSummary information provided by both for the same resource would yield the same results. This is however not the case.

To Reproduce
Steps to reproduce the behavior:

  1. Retrieve an IStructureDefinitionSummary from both providers for Observation
  2. Compare the IsSummary property for the elements modifierExtension and id
  3. It will be true for the info returned by the PocoSDSP and false for the SDSP.
  4. Retrieve an IStructureDefinitionSummary from both provider for Observation.referenceRange
  5. The BackboneElement will be abstract for ISDSP and not abstract for the PocoSDSP.
  6. The same is true for Order in all elements.

Expected behavior
The information should be the same, maybe except for Order, since that should just retain the same sequence.

Version used:

  • 2.0.1

Additional context
The differences exist because the InSummary for 'id' (called ElementId in the POCO) is hardwired to be "true", while it is false in the StructureDefinition. The same is true for modifierExtension (which is surprising - shouldn't they indeed be in summary?).

@ewoutkramer
Copy link
Member Author

I discovered this while writing unit tests for the new CAR compiler. This shows we are not yet testing this logic fully in the SDK. I can donate the unit test code to compare two ISDS instances (it originates from Vonk) to turn this into a SDK unit-test.

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