I need to string match in the second level of a list but have true cases returned at the first level (there's information in the first level that I need to categorize the returns).
First /@ GatherBy[#, #[[3]] &] &@
Cases[#, x_List /;
MemberQ[x, s_String /;
StringMatchQ[s, ("*PHYSICAL EXAMINATION*"),
IgnoreCase -> True]], {2}] &@
Cases[MemoizeTable["Diagnostic_table.txt"], {_,
11111, __}]
The GatherBy command at the top is just organizing all the entries by date so I don't get any duplicates. Then I ask for cases within the diagnostic table that have terms matching the string "PHYSICAL EXAMINATION".
I have to search only the second level of the lists. If I search just the first I don't return all the true cases. If I search the first and second, I get duplicates (some cases include the desired string at both the first and second levels, so the first and second levels of the list are both returned, separately).
I need to search for the string at the second level and then return ONLY the first level of the lists that contain that matched second level. I don't need to exclude the second level, I just don't want it returned separately like it is if I search levels one and two.
Any help would be much appreciated!