update#1512
Merged
RamilCDISC merged 8 commits intomainfrom Jan 12, 2026
Merged
Conversation
RamilCDISC
reviewed
Jan 9, 2026
Collaborator
RamilCDISC
left a comment
There was a problem hiding this comment.
I ran a validation using editor. I updated the rule to remove target and also added the non_empty check as you described in connected ticket. After these changes the negative dataset was reported as positive. I have attached the zip with all the artifacts to reproduce.
Collaborator
Author
|
You need to give the CT packages in the library tab of the data if you are going to use editor @RamilCDISC |
RamilCDISC
approved these changes
Jan 12, 2026
Collaborator
RamilCDISC
left a comment
There was a problem hiding this comment.
The PR updates the codelist attribute to remove the target requirement. It also updates empty operator for stronger null/empty handlings. The PR was validated by:
- Reviewing the PR for any unwanted code or comments.
- Reviewing the PR logic in accordance iwth AC.
- Ensuring all unit and regression testing pass.
- Ensuring all related testing is updated.
- Ensuring updated testing covers edge cases.
- Running validation using CLI with positive dataset.
- Running validation using CLI with negative dataset.
- Running validation using rule editor with positive dataset.
- Running validation using rule editor with negative dataset.
- Ensuring cases of null and missing ct-packages.
This file contains hidden or 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
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.
This PR udpates codelist_attributes and its documents. I also briefly added the non_empty operator to the rule. I noticed the empty operator was not correctly identifying empty sets/lists/dicts because .isin() uses object identity/hash-based comparison for mutable collection types, causing it to fail to match empty collection instances (e.g., {}) despite the empty set literals in NULL_FLAVORS. I have added a length check for collections to also check if they are empty.
This pull request introduces several changes related to controlled terminology attribute extraction, schema validation, and test resources. The main focus is on updating the
get_codelist_attributesoperation to improve clarity and correctness, including changes to required parameters and documentation. Additionally, there are improvements to collection emptiness checks and minor formatting updates in test files.Controlled Terminology Extraction and Schema Updates:
get_codelist_attributesoperation inOperations.jsonto remove thetargetproperty from the required parameters and from the schema definition, reflecting a shift to using thenameproperty for CT reference columns. [1] [2]Operations.mdto clarify how CT package names are constructed and to specify that thenameparameter (nottarget) identifies the terminology system reference column. Also updated the example YAML and removed references totarget. [1] [2]DataFrame Operator Improvements:
emptymethod indataframe_operators.pyto check for empty collections (sets, lists, dicts) in addition to null flavors and NaNs, ensuring more robust detection of empty values.Test Resource and Formatting Updates:
rule-286.jsonfor better readability and consistency.rule-286.jsonto remove the obsoleteattributeproperty and align with the new schema by using only theversionproperty.