Healthcare Invoice - Practitioner Specific Service Item
diff --git a/erpnext/healthcare/utils.py b/erpnext/healthcare/utils.py
index b966721..3580003 100644
--- a/erpnext/healthcare/utils.py
+++ b/erpnext/healthcare/utils.py
@@ -152,9 +152,13 @@
 def service_item_and_practitioner_charge(doc):
 	is_ip = doc_is_ip(doc)
 	if is_ip:
-		service_item = get_healthcare_service_item("inpatient_visit_charge_item")
+		service_item = get_practitioner_service_item(doc.practitioner, "inpatient_visit_charge_item")
+		if not service_item:
+			service_item = get_healthcare_service_item("inpatient_visit_charge_item")
 	else:
-		service_item = get_healthcare_service_item("op_consulting_charge_item")
+		service_item = get_practitioner_service_item(doc.practitioner, "op_consulting_charge_item")
+		if not service_item:
+			service_item = get_healthcare_service_item("op_consulting_charge_item")
 	if not service_item:
 		throw_config_service_item(is_ip)
 
@@ -182,6 +186,9 @@
 		+ """ <b><a href="#Form/Healthcare Practitioner/{0}">{0}</a></b>""".format(practitioner))
 	frappe.throw(msg)
 
+def get_practitioner_service_item(practitioner, service_item_field):
+	return frappe.db.get_value("Healthcare Practitioner", practitioner, service_item_field)
+
 def get_healthcare_service_item(service_item_field):
 	return frappe.db.get_value("Healthcare Settings", None, service_item_field)