[7401] Smileutil upload-terminology command does not load all concept properties from CSV file #7407
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.
Issue
The
smileutil upload-terminologycommand does not support loading more than oneCodeSystem.concept.propertyvalue to theTRM_CONCEPT_PROPERTYdatabase table with the sameCodeSystem.concept.property.codefor a givenCodeSystem.concept.If the above is loaded through a FHIR endpoint via a POST or PUT request, Smile CDR creates two rows in the
TRM_CONCEPT_PROPERTYtable. However, only one row is created if loaded usingsmileutil upload-terminology.This is problematic as some ValueSet definitions use
concept.propertyvalues to define their contents.Cause
During concept property processing, the existing
TermConceptPropertywas updated when the code exists in the property list which caused its value being overwritten, resulting in loss of the all the previous property entries with the same code.Fix
Create a
TermConceptPropertyobject for each property.Closes #7401