For the 1st part of your question regarding family history, there are following concepts:
4051255 Family history with explicit context pertaining to mother
4051256 Family history with explicit context pertaining to father
4051258 Family history with explicit context pertaining to sister
4051262 FH: Brother
4054433 Family history with explicit context pertaining to daughter
4052795 Family history with explicit context pertaining to son
Then I would put heart disease in the value_as_concept_id column. But they only work when user chose “Yes”. When they chose “No”, I am not sure how to represent that in CDM. There is a previous discussion on the subject in following link that might be helpful
Also now in the V6 CDM, there is a new table called SURVEY_CONDUCT. It does not exist in V5.3, so I don’t have any experience with it, but it may have the capability to resolve the issue you raised.
Not sure if this helps.