Derive observation type from its category and fix cagemate matching - #29
Open
labkey-martyp wants to merge 2 commits into
Open
Derive observation type from its category and fix cagemate matching#29labkey-martyp wants to merge 2 commits into
labkey-martyp wants to merge 2 commits into
Conversation
The Observations form offers every observation type, so it cannot set the observation's type up front and stored everything as Clinical, dropping behavior observations out of the behavior views; the trigger script now derives the type from the selected type's category. The Daily Observations shortcut becomes opt-in per form section so it appears only on the clinical forms. Rows already saved with a mismatched type need a one-time data fix.
A row with no cage never resolved to a location, so every unresolved row grouped together as each other's cagemates.
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.
Rationale
Two independent fixes, to observation entry and to cagemate matching. The Observations form let a user pick any observation type but stored every entry as Clinical, so behavior observations recorded there were filed as clinical and dropped out of the behavior views; the form cannot know the right value up front because it depends on which type the user picks for each row, so the type is now derived on save from that type's category. The behavior forms had the same mismatch from the other direction: their Daily Observations shortcut bypassed the type-filtered picker and wrote clinical-category observations labeled as behavior. Separately, the cagemates query treated a housing row with no cage as though it were a location, so every animal whose location had not resolved was reported as a cagemate of every other.
Rows already saved with a mismatched observation type need a one-time data fix; this change only affects new entries.
Related Pull Requests
None.
Changes
The Observations form no longer defaults an observation's type. The trigger script derives it from the selected observation type's category, while every other form continues to set the type explicitly, including scheduled entries that inherit it from their order.
The Daily Observations shortcut is now opt-in per form section rather than always present, so it appears only on the clinical forms.
Cagemate matching now keys off active housing rows with a known cage.