Hi I am writing an app for a medical study they will type in the gender, the age, and some other values which will be calculated to a ResultValue
now I have an XML file which holds some information about the result in combination of Age, Gender and the ResultValues and I would like to print out the description of the TestResult (in case in which group the proband belong) One thing to note is that I have to deal with value ranges this means the actual value lies between the low part and the high part… I have three groups… OK hier is my XML file
<?xml version='1.0' encoding='iso-8859-1'?> <Result> <ID>1</ID> <Description>You belong to Group 1</Description> <Genders> <Gender type='female'> <Ages> <Age low='18' high='24'> <ResultValue low='0' high='19'/> </Age> <Age low='25' high='34'> <ResultValue low='0' high='20'/> </Age> <Age low='35' high='44'> <ResultValue low='0' high='21'/> </Age> <Age low='45' high='54'> <ResultValue low='0' high='22'/> </Age> <Age low='55' high='64'> <ResultValue low='0' high='23'/> </Age> <Age low='65' high='110'> <ResultValue low='0' high='24'/> </Age> </Ages> </Gender> <Gender type='male'> <Ages> <Age low='18' high='24'> <ResultValue low='0' high='19'/> </Age> <Age low='25' high='34'> <ResultValue low='0' high='20'/> </Age> <Age low='35' high='44'> <ResultValue low='0' high='21'/> </Age> <Age low='45' high='54'> <ResultValue low='0' high='22'/> </Age> <Age low='55' high='64'> <ResultValue low='0' high='23'/> </Age> <Age low='65' high='110'> <ResultValue low='0' high='24'/> </Age> </Ages> </Gender> </Genders> </Result> <Result> <ID>2</ID> <Description>You belong to Group 2</Description> <Genders> <Gender type='female'> <Ages> <Age low='18' high='24'> <ResultValue low='19' high='24'/> </Age> <Age low='25' high='34'> <ResultValue low='20' high='25'/> </Age> <Age low='35' high='44'> <ResultValue low='21' high='26'/> </Age> <Age low='45' high='54'> <ResultValue low='22' high='27'/> </Age> <Age low='55' high='64'> <ResultValue low='23' high='28'/> </Age> <Age low='65' high='110'> <ResultValue low='24' high='29'/> </Age> </Ages> </Gender> <Gender type='male'> <Ages> <Age low='18' high='24'> <ResultValue low='19' high='24'/> </Age> <Age low='25' high='34'> <ResultValue low='20' high='25'/> </Age> <Age low='35' high='44'> <ResultValue low='21' high='26'/> </Age> <Age low='45' high='54'> <ResultValue low='22' high='27'/> </Age> <Age low='55' high='64'> <ResultValue low='23' high='28'/> </Age> <Age low='65' high='110'> <ResultValue low='24' high='29'/> </Age> </Ages> </Gender> </Genders> </Result> <Result> <ID>3</ID> <Description>You belong to group 3</Description> <Genders> <Gender type='female'> <Ages> <Age low='18' high='24'> <ResultValue low='24' high='29'/> </Age> <Age low='25' high='34'> <ResultValue low='25' high='30'/> </Age> <Age low='35' high='44'> <ResultValue low='26' high='31'/> </Age> <Age low='45' high='54'> <ResultValue low='27' high='32'/> </Age> <Age low='55' high='64'> <ResultValue low='28' high='33'/> </Age> <Age low='65' high='110'> <ResultValue low='29' high='34'/> </Age> </Ages> </Gender> <Gender type='male'> <Ages> <Age low='18' high='24'> <ResultValue low='24' high='29'/> </Age> <Age low='25' high='34'> <ResultValue low='25' high='30'/> </Age> <Age low='35' high='44'> <ResultValue low='26' high='31'/> </Age> <Age low='45' high='54'> <ResultValue low='27' high='32'/> </Age> <Age low='55' high='64'> <ResultValue low='28' high='33'/> </Age> <Age low='65' high='110'> <ResultValue low='29' high='34'/> </Age> </Ages> </Gender> </Genders> </Result>
What would look my linq to xml query like if I have
gender=’female’
age=29
ResultValue=17
this proband would certainly belong to Group 1 and I would like to print out the matching Description…
But I am banging my head to get this working…
I am looking for a solution in c#… Any help would be great!!!
Something like this?
The idea is that you can imagine a row-column shape where each row is a ResultValue. Each result value has a single parent of Age, a single parent of Gender, an a single parent of Result.
ResultValue.Low ResultValue.High Age.Low Age.High Gender.Type Result.Description
In fact, one can project the above xml into that shape: