diff --git a/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template.py b/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template.py
index 141329b..a8a9037 100644
--- a/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template.py
+++ b/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template.py
@@ -6,6 +6,7 @@
 import frappe, json
 from frappe import _
 from frappe.model.document import Document
+from frappe.model.rename_doc import rename_doc
 from frappe.utils import nowdate
 
 class ClinicalProcedureTemplate(Document):
@@ -115,7 +116,7 @@
 		"item_code": item_code})):
 		frappe.throw(_("Code {0} already exist").format(item_code))
 	else:
-		frappe.rename_doc("Item", doc.item_code, item_code, ignore_permissions = True)
+		rename_doc("Item", doc.item_code, item_code, ignore_permissions=True)
 		frappe.db.set_value("Clinical Procedure Template", doc.name, "item_code", item_code)
 	return
 
diff --git a/erpnext/healthcare/doctype/healthcare_service_unit_type/healthcare_service_unit_type.py b/erpnext/healthcare/doctype/healthcare_service_unit_type/healthcare_service_unit_type.py
index 6504994..43f01c8 100644
--- a/erpnext/healthcare/doctype/healthcare_service_unit_type/healthcare_service_unit_type.py
+++ b/erpnext/healthcare/doctype/healthcare_service_unit_type/healthcare_service_unit_type.py
@@ -6,6 +6,7 @@
 import frappe
 from frappe import _
 from frappe.model.document import Document
+from frappe.model.rename_doc import rename_doc
 
 class HealthcareServiceUnitType(Document):
 	def validate(self):
@@ -107,7 +108,7 @@
 	if(item_exist):
 		frappe.throw(_("Code {0} already exist").format(item_code))
 	else:
-		frappe.rename_doc("Item", item, item_code, ignore_permissions = True)
+		rename_doc("Item", item, item_code, ignore_permissions=True)
 		frappe.db.set_value("Healthcare Service Unit Type", doc_name, "item_code", item_code)
 
 @frappe.whitelist()
diff --git a/erpnext/healthcare/doctype/lab_test_template/lab_test_template.py b/erpnext/healthcare/doctype/lab_test_template/lab_test_template.py
index 101e143..91488e3 100644
--- a/erpnext/healthcare/doctype/lab_test_template/lab_test_template.py
+++ b/erpnext/healthcare/doctype/lab_test_template/lab_test_template.py
@@ -5,6 +5,7 @@
 from __future__ import unicode_literals
 import frappe, json
 from frappe.model.document import Document
+from frappe.model.rename_doc import rename_doc
 from frappe import _
 
 class LabTestTemplate(Document):
@@ -112,9 +113,9 @@
 	if(item_exist):
 		frappe.throw(_("Code {0} already exist").format(lab_test_code))
 	else:
-		frappe.rename_doc("Item", doc.name, lab_test_code, ignore_permissions = True)
+		rename_doc("Item", doc.name, lab_test_code, ignore_permissions=True)
 		frappe.db.set_value("Lab Test Template",doc.name,"lab_test_code",lab_test_code)
-		frappe.rename_doc("Lab Test Template", doc.name, lab_test_code, ignore_permissions = True)
+		rename_doc("Lab Test Template", doc.name, lab_test_code, ignore_permissions=True)
 	return lab_test_code
 
 @frappe.whitelist()
diff --git a/erpnext/patches/v9_2/rename_translated_domains_in_en.py b/erpnext/patches/v9_2/rename_translated_domains_in_en.py
index aec5d43..e5a9e24 100644
--- a/erpnext/patches/v9_2/rename_translated_domains_in_en.py
+++ b/erpnext/patches/v9_2/rename_translated_domains_in_en.py
@@ -1,6 +1,7 @@
 from __future__ import unicode_literals
 import frappe
 from frappe import _
+from frappe.model.rename_doc import rename_doc
 
 def execute():
 	frappe.reload_doc('stock', 'doctype', 'item')
@@ -20,11 +21,11 @@
 			if frappe.db.exists("Domain", domain):
 				merge=True
 
-			frappe.rename_doc("Domain", translated_domain, domain, ignore_permissions=True, merge=merge)
+			rename_doc("Domain", translated_domain, domain, ignore_permissions=True, merge=merge)
 
 	domain_settings = frappe.get_single("Domain Settings")
 	active_domains = [d.domain for d in domain_settings.active_domains]
-	
+
 	try:
 		for domain in active_domains:
 			domain = frappe.get_doc("Domain", domain)
