Yes, the ticket I entered is here: TRUNK-1654 The original issue was that getGroupMembers() returned voided and non-voided obs, while I felt that it should only return non-voided obs. . This change has been made. (And we added getGroupMembers(boolean includeVoided) if you want to override this).
We also decided to change the corresponding hasGroupMembers() to only return true if a obs has non-voided obs members. And, again, we added a hasGroupMembers(Boolean includeVoided) to override this). No clear decision was made about isObsGrouping in the ticket... and I admit, I didn't give it much thought, but after doing some testing today I feel that isObsGrouping() should delegate to hasGroupMembers(true) instead of hasGroupMembers(false). Here's the logic. Say you have a form and add a "Vitals" parent obs with a child "Weight" obs and a child "Height" obs. Then, for some reason, you void the "Weight" and "Height" obs. Now I would say that "Vitals" currently doesn't have any group members (hasGroupMembers()==false) but that "Vitals" is still an obs grouping (isObsGrouping()==true)... that is, although it currently doesn't have any associated obs, it is an obs that is used to group obs, not to store an actual observation. This still isn't perfect-for instance, if you add a "Vitals" obs but never add any children, isObsGrouping() would be false, even if the obs was only meant to group other obs--but it seems closer to correct. Mark From: [email protected] [mailto:[email protected]] On Behalf Of Friedman, Roger (CDC/CGH/DGHA) (CTR) Sent: Tuesday, November 29, 2011 3:00 PM To: [email protected] Subject: Re: [OPENMRS-DEV] isObsGrouping vs hasGroupMembers All those were added by you, Mark. Could you recreate the logic behind it or point us to a ticket? I can clearly see why a voided obs wouldn't count toward creating an obs group, likely they are just mistake corrections. From: [email protected] [mailto:[email protected]] On Behalf Of Mark Goodrich Sent: Tuesday, November 29, 2011 2:42 PM To: [email protected] Subject: Re: [OPENMRS-DEV] isObsGrouping vs hasGroupMembers Yeah... I can enter a ticket and make the fix... I believe that all needs to be done is to change isObsGrouping to call hasGroupMembers(true) instead of hasGroupMembers(false)... Mark From: [email protected]<mailto:[email protected]> [mailto:[email protected]]<mailto:[mailto:[email protected]]> On Behalf Of Ben Wolfe Sent: Tuesday, November 29, 2011 2:13 PM To: [email protected]<mailto:[email protected]> Subject: Re: [OPENMRS-DEV] isObsGrouping vs hasGroupMembers Yes, that way sounds right, needs a ticket. I assume this was changed because of some other method that gets called down the line was changed? Ben On Tue, Nov 29, 2011 at 9:45 PM, Mark Goodrich <[email protected]<mailto:[email protected]>> wrote: Just a minor point here... there were some changes made to the way the isObsGrouping and hasGroupMembers works in 1.9.0 but I'm questioning now if we've made the right decision. To do a quick summary: In 1.9.0, the default parameter-less obs.hasGroupMembers() and obs.isObsGrouping() methods return true if the obs in question havs 1 or more *non-voided* member obs. This seems like the right behavior for hasGroupMembers (and there also now a hasGroupMembers(Boolean includeVoided) if you want to override this behavior) but I would think perhaps that obs.isObsGrouping() should return true if the obs in question has 1 or more members obs *of any type*, voided *or* non-voided. The logic is like this... if you have an obs that has two child obs that are both voided, even though I would say it "has no group members" I would still consider it "an obs grouping". Thoughts? Mark ________________________________ Click here to unsubscribe<mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l> from OpenMRS Developers' mailing list ________________________________ Click here to unsubscribe<mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l> from OpenMRS Developers' mailing list ________________________________ Click here to unsubscribe<mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l> from OpenMRS Developers' mailing list ________________________________ Click here to unsubscribe<mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l> from OpenMRS Developers' mailing list _________________________________________ To unsubscribe from OpenMRS Developers' mailing list, send an e-mail to [email protected] with "SIGNOFF openmrs-devel-l" in the body (not the subject) of your e-mail. [mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l]

