-
Notifications
You must be signed in to change notification settings - Fork 26
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
Feature: Component Based Rule Settings #1368
Merged
mialy-defelice
merged 25 commits into
develop
from
develop-vr-set-per-component-FDS-1443
Feb 15, 2024
Merged
Feature: Component Based Rule Settings #1368
mialy-defelice
merged 25 commits into
develop
from
develop-vr-set-per-component-FDS-1443
Feb 15, 2024
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
andrewelamb
reviewed
Feb 15, 2024
andrewelamb
reviewed
Feb 15, 2024
andrewelamb
reviewed
Feb 15, 2024
andrewelamb
reviewed
Feb 15, 2024
andrewelamb
reviewed
Feb 15, 2024
andrewelamb
reviewed
Feb 15, 2024
andrewelamb
reviewed
Feb 15, 2024
andrewelamb
reviewed
Feb 15, 2024
andrewelamb
reviewed
Feb 15, 2024
andrewelamb
reviewed
Feb 15, 2024
@andrewelamb @GiaJordan I added an additional check for duplicate components in a rule, and updated the testing. |
andrewelamb
approved these changes
Feb 15, 2024
|
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.
Component Based Rule Setting
Component-Based Rule Setting is a powerful feature in data modeling that enables users to create rules tailored to specific subsets of components or manifests. This functionality was developed to address scenarios where a data modeler needs to enforce uniqueness for certain attribute values within one manifest while allowing non-uniqueness in another.
Here's how it works:
This feature offers flexibility and applicability beyond its original use case. The new Component-Based Rule Setting feature provides users with the following options:
Apply a Rule to All Manifests Except Specified Ones: Users can now define a rule that applies to all manifests within the data model except for those explicitly specified. In cases where exceptions are specified, users have the flexibility to define unique rules for these exceptions or opt not to apply any rule at all.
Specify a Rule for a Single Manifest: Alternatively, users can specify a rule that applies to a single manifest exclusively. This allows for fine-grained control over rule enforcement at the manifest level.
Unique Rules for Each Manifest: Users can also define unique rules for each individual manifest within the data model. This enables tailored rule enforcement based on the specific requirements and characteristics of each manifest.
By leveraging the enhanced Component-Based Rule Setting feature, data modelers can efficiently enforce rules across their data models with greater precision and flexibility, ensuring data integrity while accommodating diverse use cases and requirements.
Note: All restrictions to rule combos and implementation also apply to component based rules.
As always try the rule combos with mock data to ensure they are working as intended before using in production.
Format:
^^
Double carrots indicates that Component based rules are being set^^
to separate component rule sets# character cannot be used with out the
^^` to indicate component rule setsUse case:
validation_rule^^#ComponentA
validation_rule^^#ComponentA^^#ComponentB
#ComponentA validation_rule_1^^#ComponentB validation_rule_2^^#ComponentC validation_rule_3
#ComponentA validation_rule_1^^validation_rule_2
validation_rule_2^^#ComponentA validation_rule_1
#ComponentA validation_rule_1^^
Testing
Testing Resources
Test Models:
TBD
Test Manifest:
Example Biospecimen Manifest
Example Patient Manifest
Testing Steps:
TBD