It's a solved problem, but I actually prefer a simple web UI.
castUnderLesserHeal(RankAdj, unit) Casts Lesser Heal with "under" mode (lower ranks) castOverLesserHeal(RankAdj, unit) Casts Lesser Heal with "over" mode (higher ranks) castMaxLesserHeal(RankAdj, unit ...