public static void SetRelationshipByParentType(GenderEnum parent_gender, RelationshipEnum childType, RiskApps3.Model.PatientRecord.FHx.Bloodline.BloodlineEnum child_bloodline, out string relationshipOfParent, out string relationshipOther, out string bloodlineOfParent) { relationshipOfParent = Relationship.toString(RelationshipEnum.OTHER); relationshipOther = ""; bloodlineOfParent = Bloodline.toString(child_bloodline); if (parent_gender == GenderEnum.Male) { switch (childType) { case RelationshipEnum.SELF: relationshipOfParent = Relationship.toString(RelationshipEnum.FATHER); bloodlineOfParent = Bloodline.toString(RiskApps3.Model.PatientRecord.FHx.Bloodline.BloodlineEnum.Paternal); break; case RelationshipEnum.MOTHER: relationshipOfParent = Relationship.toString(RelationshipEnum.GRANDFATHER); bloodlineOfParent = Bloodline.toString(RiskApps3.Model.PatientRecord.FHx.Bloodline.BloodlineEnum.Maternal); break; case RelationshipEnum.FATHER: relationshipOfParent = Relationship.toString(RelationshipEnum.GRANDFATHER); bloodlineOfParent = Bloodline.toString(RiskApps3.Model.PatientRecord.FHx.Bloodline.BloodlineEnum.Paternal); break; case RelationshipEnum.GRANDMOTHER: relationshipOfParent = Relationship.toString(RelationshipEnum.GRANDMOTHERS_FATHER); bloodlineOfParent = Bloodline.toString(child_bloodline); break; case RelationshipEnum.GRANDFATHER: relationshipOfParent = Relationship.toString(RelationshipEnum.GRANDFATHERS_FATHER); bloodlineOfParent = Bloodline.toString(child_bloodline); break; case RelationshipEnum.AUNT: case RelationshipEnum.UNCLE: relationshipOfParent = Relationship.toString(RelationshipEnum.GRANDFATHER); bloodlineOfParent = Bloodline.toString(child_bloodline); break; default: break; } } else if (parent_gender == GenderEnum.Female) { switch (childType) { case RelationshipEnum.SELF: relationshipOfParent = Relationship.toString(RelationshipEnum.MOTHER); bloodlineOfParent = Bloodline.toString(RiskApps3.Model.PatientRecord.FHx.Bloodline.BloodlineEnum.Maternal); break; case RelationshipEnum.MOTHER: relationshipOfParent = Relationship.toString(RelationshipEnum.GRANDMOTHER); bloodlineOfParent = Bloodline.toString(RiskApps3.Model.PatientRecord.FHx.Bloodline.BloodlineEnum.Maternal); break; case RelationshipEnum.FATHER: relationshipOfParent = Relationship.toString(RelationshipEnum.GRANDMOTHER); bloodlineOfParent = Bloodline.toString(RiskApps3.Model.PatientRecord.FHx.Bloodline.BloodlineEnum.Paternal); break; case RelationshipEnum.GRANDMOTHER: relationshipOfParent = Relationship.toString(RelationshipEnum.GRANDMOTHERS_MOTHER); bloodlineOfParent = Bloodline.toString(child_bloodline); break; case RelationshipEnum.GRANDFATHER: relationshipOfParent = Relationship.toString(RelationshipEnum.GRANDFATHERS_MOTHER); bloodlineOfParent = Bloodline.toString(child_bloodline); break; case RelationshipEnum.AUNT: case RelationshipEnum.UNCLE: relationshipOfParent = Relationship.toString(RelationshipEnum.GRANDMOTHER); bloodlineOfParent = Bloodline.toString(child_bloodline); break; default: break; } } }
public static void SetRelationshipByChildType(GenderEnum child_gender, RelationshipEnum parentType, RiskApps3.Model.PatientRecord.FHx.Bloodline.BloodlineEnum parent_bloodline, out string relationshipOfChild, out string relationshipOther, out string bloodlineOfChild) { relationshipOfChild = Relationship.toString(RelationshipEnum.OTHER); relationshipOther = ""; bloodlineOfChild = Bloodline.toString(parent_bloodline); if (child_gender == GenderEnum.Male) { switch (parentType) { case RelationshipEnum.SELF: relationshipOfChild = Relationship.toString(RelationshipEnum.SON); break; case RelationshipEnum.MOTHER: case RelationshipEnum.FATHER: relationshipOfChild = Relationship.toString(RelationshipEnum.BROTHER); bloodlineOfChild = Bloodline.toString(RiskApps3.Model.PatientRecord.FHx.Bloodline.BloodlineEnum.Both); break; case RelationshipEnum.GRANDMOTHER: case RelationshipEnum.GRANDFATHER: relationshipOfChild = Relationship.toString(RelationshipEnum.UNCLE); break; case RelationshipEnum.AUNT: case RelationshipEnum.UNCLE: relationshipOfChild = Relationship.toString(RelationshipEnum.COUSIN_MALE); break; case RelationshipEnum.DAUGHTER: case RelationshipEnum.SON: relationshipOther = "Grandson"; break; case RelationshipEnum.BROTHER: case RelationshipEnum.SISTER: relationshipOfChild = Relationship.toString(RelationshipEnum.NEPHEW); break; case RelationshipEnum.NIECE: case RelationshipEnum.NEPHEW: relationshipOther = "Grandnephew"; break; case RelationshipEnum.COUSIN_FEMALE: case RelationshipEnum.COUSIN_MALE: case RelationshipEnum.COUSIN: relationshipOther = "First cousin once removed"; break; case RelationshipEnum.HALF_BROTHER: case RelationshipEnum.HALF_SISTER: relationshipOther = "Half Nephew"; break; case RelationshipEnum.GRANDFATHERS_FATHER: case RelationshipEnum.GRANDFATHERS_MOTHER: if (parent_bloodline == RiskApps3.Model.PatientRecord.FHx.Bloodline.BloodlineEnum.Maternal) { relationshipOfChild = Relationship.toString(RelationshipEnum.BROTHER_OF_MATERNAL_GF); } else { relationshipOfChild = Relationship.toString(RelationshipEnum.BROTHER_OF_PATERNAL_GF); } break; case RelationshipEnum.GRANDMOTHERS_FATHER: case RelationshipEnum.GRANDMOTHERS_MOTHER: if (parent_bloodline == RiskApps3.Model.PatientRecord.FHx.Bloodline.BloodlineEnum.Maternal) { relationshipOfChild = Relationship.toString(RelationshipEnum.BROTHER_OF_MATERNAL_GM); } else { relationshipOfChild = Relationship.toString(RelationshipEnum.BROTHER_OF_PATERNAL_GM); } break; case RelationshipEnum.BROTHER_OF_PATERNAL_GF: case RelationshipEnum.SISTER_OF_PATERNAL_GF: case RelationshipEnum.BROTHER_OF_PATERNAL_GM: case RelationshipEnum.SISTER_OF_PATERNAL_GM: case RelationshipEnum.BROTHER_OF_MATERNAL_GF: case RelationshipEnum.SISTER_OF_MATERNAL_GF: case RelationshipEnum.BROTHER_OF_MATERNAL_GM: case RelationshipEnum.SISTER_OF_MATERNAL_GM: relationshipOther = "Son of " + Relationship.toString(parentType); break; case RelationshipEnum.OTHER_MALE: case RelationshipEnum.OTHER_FEMALE: case RelationshipEnum.OTHER: case RelationshipEnum.SPOUSE: case RelationshipEnum.PLACEHOLDER: case RelationshipEnum.UNKNOWN: relationshipOther = "Son of Other"; break; default: break; } } else if (child_gender == GenderEnum.Female) { switch (parentType) { case RelationshipEnum.SELF: relationshipOfChild = Relationship.toString(RelationshipEnum.DAUGHTER); break; case RelationshipEnum.MOTHER: case RelationshipEnum.FATHER: relationshipOfChild = Relationship.toString(RelationshipEnum.SISTER); bloodlineOfChild = Bloodline.toString(RiskApps3.Model.PatientRecord.FHx.Bloodline.BloodlineEnum.Both); break; case RelationshipEnum.GRANDMOTHER: case RelationshipEnum.GRANDFATHER: relationshipOfChild = Relationship.toString(RelationshipEnum.AUNT); break; case RelationshipEnum.AUNT: case RelationshipEnum.UNCLE: relationshipOfChild = Relationship.toString(RelationshipEnum.COUSIN_FEMALE); break; case RelationshipEnum.DAUGHTER: case RelationshipEnum.SON: relationshipOther = "Grandson"; break; case RelationshipEnum.BROTHER: case RelationshipEnum.SISTER: relationshipOfChild = Relationship.toString(RelationshipEnum.NIECE); break; case RelationshipEnum.NIECE: case RelationshipEnum.NEPHEW: relationshipOther = "Grandniece"; break; case RelationshipEnum.COUSIN_FEMALE: case RelationshipEnum.COUSIN_MALE: case RelationshipEnum.COUSIN: relationshipOther = "First cousin once removed"; break; case RelationshipEnum.HALF_BROTHER: case RelationshipEnum.HALF_SISTER: relationshipOther = "Half Niece"; break; case RelationshipEnum.GRANDFATHERS_FATHER: case RelationshipEnum.GRANDFATHERS_MOTHER: if (parent_bloodline == RiskApps3.Model.PatientRecord.FHx.Bloodline.BloodlineEnum.Maternal) { relationshipOfChild = Relationship.toString(RelationshipEnum.SISTER_OF_MATERNAL_GF); } else { relationshipOfChild = Relationship.toString(RelationshipEnum.SISTER_OF_PATERNAL_GF); } break; case RelationshipEnum.GRANDMOTHERS_FATHER: case RelationshipEnum.GRANDMOTHERS_MOTHER: if (parent_bloodline == RiskApps3.Model.PatientRecord.FHx.Bloodline.BloodlineEnum.Maternal) { relationshipOfChild = Relationship.toString(RelationshipEnum.SISTER_OF_MATERNAL_GM); } else { relationshipOfChild = Relationship.toString(RelationshipEnum.SISTER_OF_PATERNAL_GM); } break; case RelationshipEnum.BROTHER_OF_PATERNAL_GF: case RelationshipEnum.SISTER_OF_PATERNAL_GF: case RelationshipEnum.BROTHER_OF_PATERNAL_GM: case RelationshipEnum.SISTER_OF_PATERNAL_GM: case RelationshipEnum.BROTHER_OF_MATERNAL_GF: case RelationshipEnum.SISTER_OF_MATERNAL_GF: case RelationshipEnum.BROTHER_OF_MATERNAL_GM: case RelationshipEnum.SISTER_OF_MATERNAL_GM: relationshipOther = "Daughter of " + Relationship.toString(parentType); break; case RelationshipEnum.OTHER_MALE: case RelationshipEnum.OTHER_FEMALE: case RelationshipEnum.OTHER: case RelationshipEnum.SPOUSE: case RelationshipEnum.PLACEHOLDER: case RelationshipEnum.UNKNOWN: relationshipOther = "Daughter of Other"; break; default: break; } } }