First what I want is to be able to track genetic medical history by changing the characteristics of a box based on a keywords in the note field.
I am able to do this by editing the chart options and select boxes and add the following condition statements:
=ContainsText(%INDI.EVEN-MEDHIST.NOTE2%,"Cancer",EXT) Pink Background color
=ContainsText(%INDI.EVEN-MEDHIST.NOTE2%,"Heart",EXT) Heavier box lines
This is based on a custom fact type called MEDHIST. I place the words Cancer or Heart in the note field for the fact.
All seems to work as planned until I have more than one MEDHIST fact for a person and then the chart seems to ignore my condition statements. when I delete the multiple MEDHIST facts the remaining MEDHIST fact gets treated correctly in the chart. I can place Cancer and Heart in the same MEDHIST note and the condition statements seem to work correctly
Am I doing something wrong or is this correct behavior for FH.
I am using FH 6.2.7
* Medical history in a chart
-
TMG_refugee
- Diamond
- Posts: 97
- Joined: 14 Nov 2015 15:44
- Family Historian: V7
- tatewise
- Megastar
- Posts: 27089
- Joined: 25 May 2010 11:00
- Family Historian: V7
- Location: Torbay, Devon, UK
- Contact:
Re: Medical history in a chart
Dealing with multiple instance facts typically needs more complex expressions.
The expressions you have used are effectively =ContainsText(%INDI.EVEN-MEDHIST[1].NOTE2% ... )
The index [1] means they only apply to the 1st instance of the MEDHIST fact.
So regardless of how many MEDHIST facts exist, the box features should match whatever is in the 1st MEDHIST Note and disregard the others.
For multiple MEDHIST facts, you need multiple expressions to cater for each possible instance.
=ContainsText(%INDI.EVEN-MEDHIST[1].NOTE2% ... )
=ContainsText(%INDI.EVEN-MEDHIST[2].NOTE2% ... )
=ContainsText(%INDI.EVEN-MEDHIST[3].NOTE2% ... )
etc...
It is possible to include them in one complex box condition expression such as:
=IsTrue( ContainsText(%INDI.EVEN-MEDHIST[1].NOTE2% ... ) or ContainsText(%INDI.EVEN-MEDHIST[2].NOTE2% ... ) or ... )
The expressions you have used are effectively =ContainsText(%INDI.EVEN-MEDHIST[1].NOTE2% ... )
The index [1] means they only apply to the 1st instance of the MEDHIST fact.
So regardless of how many MEDHIST facts exist, the box features should match whatever is in the 1st MEDHIST Note and disregard the others.
For multiple MEDHIST facts, you need multiple expressions to cater for each possible instance.
=ContainsText(%INDI.EVEN-MEDHIST[1].NOTE2% ... )
=ContainsText(%INDI.EVEN-MEDHIST[2].NOTE2% ... )
=ContainsText(%INDI.EVEN-MEDHIST[3].NOTE2% ... )
etc...
It is possible to include them in one complex box condition expression such as:
=IsTrue( ContainsText(%INDI.EVEN-MEDHIST[1].NOTE2% ... ) or ContainsText(%INDI.EVEN-MEDHIST[2].NOTE2% ... ) or ... )
Mike Tate ~ researching the Tate and Scott family history ~ tatewise ancestry
-
TMG_refugee
- Diamond
- Posts: 97
- Joined: 14 Nov 2015 15:44
- Family Historian: V7
Re: Medical history in a chart
Mike,
Thank you.
I tried both methods and both worked. I will probably stay with the more complex statement since it makes the conditions under boxes easier to read.
FH continues to show it is the more robust of genealogical software packages.
Thank you.
I tried both methods and both worked. I will probably stay with the more complex statement since it makes the conditions under boxes easier to read.
FH continues to show it is the more robust of genealogical software packages.
Re: Medical history in a chart
Whilst I fully endorse your comments about FH as far as genealogy goes, there is another program called Genopro, which you may find better suited for tracking medical history, as it is aimed more to tracking patterns than a pure genealogy program. Well worth a look
Mike Loney
Website http://www.loney.tribalpages.com
http://www.mickloney.tribalpages.com
Website http://www.loney.tribalpages.com
http://www.mickloney.tribalpages.com