diff --git a/erpnext/healthcare/doctype/fee_validity/fee_validity.json b/erpnext/healthcare/doctype/fee_validity/fee_validity.json
index 8432169..e746b3c 100644
--- a/erpnext/healthcare/doctype/fee_validity/fee_validity.json
+++ b/erpnext/healthcare/doctype/fee_validity/fee_validity.json
@@ -75,7 +75,7 @@
    "in_list_view": 1,
    "in_standard_filter": 1,
    "label": "Status",
-   "options": "Ongoing\nCompleted\nExpired",
+   "options": "Completed\nPending",
    "read_only": 1
   },
   {
@@ -98,7 +98,7 @@
   }
  ],
  "links": [],
- "modified": "2020-03-14 21:42:40.766973",
+ "modified": "2020-03-17 18:29:01.163961",
  "modified_by": "Administrator",
  "module": "Healthcare",
  "name": "Fee Validity",
diff --git a/erpnext/healthcare/doctype/fee_validity/fee_validity.py b/erpnext/healthcare/doctype/fee_validity/fee_validity.py
index fc15410..b56b889 100644
--- a/erpnext/healthcare/doctype/fee_validity/fee_validity.py
+++ b/erpnext/healthcare/doctype/fee_validity/fee_validity.py
@@ -11,17 +11,23 @@
 class FeeValidity(Document):
 	def validate(self):
 		self.update_status()
+		self.set_start_date()
 
 	def update_status(self):
 		valid_till = getdate(self.valid_till)
-		today  = getdate()
+		start_date = getdate(self.start_date)
 		if self.visited >= self.max_visits:
 			self.status = 'Completed'
-		elif self.visited < self.max_visits:
-			if valid_till >= today:
-				self.status = 'Ongoing'
-			elif valid_till < today:
-				self.status = 'Expired'
+		else:
+			self.status = 'Pending'
+
+	def set_start_date(self):
+		self.start_date = getdate()
+		for appointment in self.ref_appointments:
+			appointment_date = frappe.db.get_value('Patient Appointment', appointment.appointment, 'appointment_date')
+			if getdate(appointment_date) < self.start_date:
+				self.start_date = getdate(appointment_date)
+
 
 def create_fee_validity(appointment):
 	fee_validity = frappe.new_doc('Fee Validity')
@@ -36,8 +42,3 @@
 	})
 	fee_validity.save(ignore_permissions=True)
 	return fee_validity
-
-def update_validity_status():
-	docs = frappe.get_all('Fee Validity', filters={'status': ['not in', ['Completed', 'Expired']]})
-	for doc in docs:
-		frappe.get_doc("Task", doc.name).update_status()
diff --git a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py
index 1cf90c6..361a8d6 100755
--- a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py
+++ b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py
@@ -95,7 +95,7 @@
 	free_follow_ups = frappe.db.get_single_value('Healthcare Settings', 'enable_free_follow_ups')
 	if automate_invoicing:
 		if free_follow_ups:
-			fee_validity = frappe.db.exists('Fee Validity', {'patient': patient, 'status': 'Ongoing'})
+			fee_validity = frappe.db.exists('Fee Validity', {'patient': patient, 'status': 'Pending'})
 			if fee_validity:
 				return {'fee_validity': fee_validity}
 		return True
diff --git a/erpnext/healthcare/utils.py b/erpnext/healthcare/utils.py
index d1b5b7c..1912270 100644
--- a/erpnext/healthcare/utils.py
+++ b/erpnext/healthcare/utils.py
@@ -42,6 +42,9 @@
 		frappe.throw(msg, title=_('Customer Not Found'))
 
 def get_fee_validity(patient_appointments):
+	if not frappe.db.get_single_value('Healthcare Settings', 'enable_free_follow_ups'):
+		return
+
 	fee_validity_details = []
 	items_to_invoice = []
 	valid_days = frappe.db.get_single_value('Healthcare Settings', 'valid_days')
@@ -346,18 +349,21 @@
 
 
 def check_fee_validity(appointment):
+	if not frappe.db.get_single_value('Healthcare Settings', 'enable_free_follow_ups'):
+		return
+
 	validity = frappe.db.exists('Fee Validity', {
 		'practitioner': appointment.practitioner,
 		'patient': appointment.patient,
-		'status': 'Ongoing'
+		'status': 'Pending',
+		'valid_till': ('>=', appointment.appointment_date)
 	})
 	if not validity:
 		return
 
-	fee_validity = frappe.get_doc('Fee Validity', validity)
-	appointment_date = getdate(appointment.appointment_date)
-	if fee_validity.valid_till >= appointment_date and fee_validity.visited < fee_validity.max_visits:
-		return fee_validity
+	validity = frappe.get_doc('Fee Validity', validity)
+	return validity
+
 
 def manage_fee_validity(appointment):
 	fee_validity = check_fee_validity(appointment)
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index 7a938b6..4e22ed5 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -310,8 +310,7 @@
 		"erpnext.crm.doctype.email_campaign.email_campaign.send_email_to_leads_or_contacts",
 		"erpnext.crm.doctype.email_campaign.email_campaign.set_email_campaign_status",
 		"erpnext.selling.doctype.quotation.quotation.set_expired_status",
-		"erpnext.healthcare.doctype.patient_appointment.patient_appointment.update_appointment_status",
-		"erpnext.healthcare.doctype.fee_validity.fee_validity.update_validity_status"
+		"erpnext.healthcare.doctype.patient_appointment.patient_appointment.update_appointment_status"
 	],
 	"daily_long": [
 		"erpnext.setup.doctype.email_digest.email_digest.send",
