Other causes are hypothyroidism, cervical dysplasia, cervical polyps, cervicitis (infection/inflammation of cervix), vaginitis (infection/inflammation of vagina), cervical and uterine cancer, uterine fibroids, hormonal imbalance, use of blood thinners, genital ulcers, STDs and stress. Hypothyroidism and hormone imbalance
should be ruled out first as you also have weight gain. As SurgiMenopause said, you can consult a endocrinologist.
Pain in joints can be due to low Vit D.