Although you're on the right track, the root of the problem is not quite what you've described.
I recommend reviewing the section on Lookups in the "Building Web Applications" book. Circa page 35.
The key issue you have is that you are using non-normalised data. Take the Sex table for example. This has a code field, and a description field (which is what I expect) but the _description_ field is actually copied into the Patient table rather than the ID field. This is less ideal because it means your dictionary is "not normalised". In a normalised dictionary the _id_ field is the "shared field", not the description field.
More technically - "the primary key field of the child table (sex) is used as the foreign-key field in the parent table (patient)."
Ok, so you have non-normalised data. that's not great, but you're not the only one doing it. However if you do it then the concept of "using value instead of description" has no meaning.
BTW - be _very_ careful when using the term "drop down". A drop-down is a specific control which is different to a "lookup". I notice your test example had lookups, not drop-down, so be careful of that.
Cheers
Bruce