diff --git a/erpnext/config/healthcare.py b/erpnext/config/healthcare.py
index 4e8bb48..f1339a7 100644
--- a/erpnext/config/healthcare.py
+++ b/erpnext/config/healthcare.py
@@ -33,6 +33,11 @@
 					"type": "page",
 					"name": "appointment-analytic",
 					"label": _("Appointment Analytics"),
+				},
+				{
+					"type": "doctype",
+					"name": "Clinical Procedure",
+					"label": _("Clinical Procedure"),
 				}
 			]
 		},
@@ -89,8 +94,8 @@
 				},
 				{
 					"type": "doctype",
-					"name": "Patient Service Unit",
-					"label": _("Patient Service Unit")
+					"name": "Healthcare Service Unit",
+					"label": _("Healthcare Service Unit")
 				}
 			]
 		},
@@ -157,6 +162,11 @@
 					"type": "doctype",
 					"name": "Lab Test Template",
 					"label": _("Lab Test Template")
+				},
+				{
+					"type": "doctype",
+					"name": "Clinical Procedure Template",
+					"label": _("Clinical Procedure Template"),
 				}
 			]
 		}
diff --git a/erpnext/healthcare/doctype/patient_service_unit/__init__.py b/erpnext/healthcare/doctype/clinical_procedure/__init__.py
similarity index 100%
copy from erpnext/healthcare/doctype/patient_service_unit/__init__.py
copy to erpnext/healthcare/doctype/clinical_procedure/__init__.py
diff --git a/erpnext/healthcare/doctype/clinical_procedure/clinical_procedure.js b/erpnext/healthcare/doctype/clinical_procedure/clinical_procedure.js
new file mode 100644
index 0000000..9fc5b37
--- /dev/null
+++ b/erpnext/healthcare/doctype/clinical_procedure/clinical_procedure.js
@@ -0,0 +1,305 @@
+// Copyright (c) 2017, ESS LLP and contributors
+// For license information, please see license.txt
+
+frappe.ui.form.on('Clinical Procedure', {
+	setup: function(frm) {
+		frm.set_query('batch_no', 'items', function(doc, cdt, cdn) {
+			var item = locals[cdt][cdn];
+			if(!item.item_code) {
+				frappe.throw(__("Please enter Item Code to get Batch Number"));
+			} else {
+				if (frm.doc.status == 'In Progress') {
+					var filters = {
+						'item_code': item.item_code,
+						'posting_date': frm.doc.start_date || frappe.datetime.nowdate()
+					};
+					if(frm.doc.warehouse) filters["warehouse"] = frm.doc.warehouse;
+				} else {
+					filters = {
+						'item_code': item.item_code
+					};
+				}
+				return {
+					query : "erpnext.controllers.queries.get_batch_no",
+					filters: filters
+				};
+			}
+		});
+	},
+	refresh: function(frm) {
+		frm.set_query("patient", function () {
+			return {
+				filters: {"disabled": 0}
+			};
+		});
+		frm.set_query("appointment", function () {
+			return {
+				filters: {
+					"procedure_template": ["not in", null],
+					"status": ['in', 'Open, Scheduled']
+				}
+			};
+		});
+		frm.set_query("service_unit", function(){
+			return {
+				filters: {
+					"is_group": false,
+					"allow_appointments": true
+				}
+			};
+		});
+		if(frm.doc.consume_stock){
+			frm.set_indicator_formatter('item_code',
+				function(doc) { return (doc.qty<=doc.actual_qty) ? "green" : "orange" ; });
+		}
+
+		if (!frm.doc.__islocal && frm.doc.status == 'In Progress'){
+
+			if(frm.doc.consume_stock){
+				var btn_label = 'Complete and Consume';
+				var msg = 'Complete '+frm.doc.name+' and Consume Stock?';
+			}else{
+				btn_label = 'Complete';
+				msg = 'Complete '+frm.doc.name+'?';
+			}
+
+			frm.add_custom_button(__(btn_label), function () {
+				frappe.confirm(
+					__(msg),
+					function(){
+						frappe.call({
+							doc: frm.doc,
+							method: "complete",
+							callback: function(r) {
+								if(!r.exc){
+									cur_frm.reload_doc();
+								}
+							}
+						});
+					}
+				);
+			});
+		}else if (frm.doc.status == 'Draft') {
+			frm.add_custom_button(__("Start"), function () {
+				frappe.call({
+					doc: frm.doc,
+					method: "start",
+					callback: function(r) {
+						if(!r.exc){
+							if(frm.doc.status == 'Draft'){
+								frappe.confirm(
+									__("Stock quantity to start procedure is not available in the warehouse. Do you want to record a Stock Transfer"),
+									function(){
+										frappe.call({
+											doc: frm.doc,
+											method: "make_material_transfer",
+											callback: function(r) {
+												if(!r.exc){
+													cur_frm.reload_doc();
+													var doclist = frappe.model.sync(r.message);
+													frappe.set_route("Form", doclist[0].doctype, doclist[0].name);
+												}
+											}
+										});
+									}
+								);
+							}else{
+								cur_frm.reload_doc();
+							}
+						}
+					}
+				});
+			});
+		}
+		if (frm.doc.__islocal){
+			frm.set_df_property("consumables", "hidden", 1);
+		}else{
+			frm.set_df_property("consumables", "hidden", 0);
+		}
+	},
+	onload: function(frm){
+		if(frm.doc.status == 'Completed'){
+			frm.set_df_property("items", "read_only", 1);
+		}
+		if(frm.is_new()) {
+			frm.add_fetch("procedure_template", "medical_department", "medical_department");
+			frm.set_value("start_time", null);
+		}
+	},
+	patient: function(frm) {
+		if(frm.doc.patient){
+			frappe.call({
+				"method": "erpnext.healthcare.doctype.patient.patient.get_patient_detail",
+				args: {
+					patient: frm.doc.patient
+				},
+				callback: function (data) {
+					let age = "";
+					if(data.message.dob){
+						age = calculate_age(data.message.dob);
+					}else if (data.message.age){
+						age = data.message.age;
+						if(data.message.age_as_on){
+							age = age+" as on "+data.message.age_as_on;
+						}
+					}
+					frm.set_value("patient_age", age);
+					frm.set_value("patient_sex", data.message.sex);
+				}
+			});
+		}else{
+			frm.set_value("patient_age", "");
+			frm.set_value("patient_sex", "");
+		}
+	},
+	appointment: function(frm) {
+		if(frm.doc.appointment){
+			frappe.call({
+				"method": "frappe.client.get",
+				args: {
+					doctype: "Patient Appointment",
+					name: frm.doc.appointment
+				},
+				callback: function (data) {
+					frm.set_value("patient", data.message.patient);
+					frm.set_value("procedure_template", data.message.procedure_template);
+					frm.set_value("medical_department", data.message.department);
+					frm.set_value("start_date", data.message.appointment_date);
+					frm.set_value("start_time", data.message.appointment_time);
+					frm.set_value("notes", data.message.notes);
+					frm.set_value("service_unit", data.message.service_unit);
+				}
+			});
+		}
+	},
+	procedure_template: function(frm) {
+		if(frm.doc.procedure_template){
+			frappe.call({
+				"method": "frappe.client.get",
+				args: {
+					doctype: "Clinical Procedure Template",
+					name: frm.doc.procedure_template
+				},
+				callback: function (data) {
+					frm.set_value("medical_department", data.message.medical_department);
+					frm.set_value("consume_stock", data.message.consume_stock);
+					if(!frm.doc.warehouse){
+						frappe.call({
+							method: "frappe.client.get_value",
+							args: {
+								doctype: "Stock Settings",
+								fieldname: "default_warehouse"
+							},
+							callback: function (data) {
+								frm.set_value("warehouse", data.message.default_warehouse);
+							}
+						});
+					}
+				}
+			});
+		}else{
+			frm.set_value("consume_stock", 0);
+		}
+	},
+	service_unit: function(frm) {
+		if(frm.doc.service_unit){
+			frappe.call({
+				method: "frappe.client.get_value",
+				args:{
+					fieldname: "warehouse",
+					doctype: "Healthcare Service Unit",
+					filters:{name: frm.doc.service_unit},
+				},
+				callback: function(data) {
+					if(data.message){
+						frm.set_value("warehouse", data.message.warehouse);
+					}
+				}
+			});
+		}
+	}
+});
+
+cur_frm.set_query("procedure_template", function(doc) {
+	return {
+		filters: {
+			'medical_department': doc.medical_department
+		}
+	};
+});
+
+cur_frm.set_query("appointment", function() {
+	return {
+		filters: {
+			status:['in',["Open"]]
+		}
+	};
+});
+
+frappe.ui.form.on('Clinical Procedure Item', {
+	qty: function(frm, cdt, cdn){
+		var d = locals[cdt][cdn];
+		frappe.model.set_value(cdt, cdn, "transfer_qty", d.qty*d.conversion_factor);
+	},
+	uom: function(doc, cdt, cdn){
+		var d = locals[cdt][cdn];
+		if(d.uom && d.item_code){
+			return frappe.call({
+				method: "erpnext.stock.doctype.stock_entry.stock_entry.get_uom_details",
+				args: {
+					item_code: d.item_code,
+					uom: d.uom,
+					qty: d.qty
+				},
+				callback: function(r) {
+					if(r.message) {
+						frappe.model.set_value(cdt, cdn, r.message);
+					}
+				}
+			});
+		}
+	},
+	item_code: function(frm, cdt, cdn) {
+		var d = locals[cdt][cdn];
+		let args = null;
+		if(d.item_code) {
+			args = {
+				'item_code'			: d.item_code,
+				'transfer_qty'		: d.transfer_qty,
+				'company'			: frm.doc.company,
+				'quantity'				: d.qty
+			};
+			return frappe.call({
+				doc: frm.doc,
+				method: "get_item_details",
+				args: args,
+				callback: function(r) {
+					if(r.message) {
+						var d = locals[cdt][cdn];
+						$.each(r.message, function(k, v){
+							d[k] = v;
+						});
+						refresh_field("items");
+					}
+				}
+			});
+		}
+	}
+});
+
+var calculate_age = function(birth) {
+	var ageMS = Date.parse(Date()) - Date.parse(birth);
+	var age = new Date();
+	age.setTime(ageMS);
+	var years =  age.getFullYear() - 1970;
+	return  years + " Year(s) " + age.getMonth() + " Month(s) " + age.getDate() + " Day(s)";
+};
+
+// List Stock items
+cur_frm.set_query("item_code", "items", function() {
+	return {
+		filters: {
+			is_stock_item:1
+		}
+	};
+});
diff --git a/erpnext/healthcare/doctype/clinical_procedure/clinical_procedure.json b/erpnext/healthcare/doctype/clinical_procedure/clinical_procedure.json
new file mode 100644
index 0000000..c687393
--- /dev/null
+++ b/erpnext/healthcare/doctype/clinical_procedure/clinical_procedure.json
@@ -0,0 +1,697 @@
+{
+ "allow_copy": 0, 
+ "allow_guest_to_view": 0, 
+ "allow_import": 0, 
+ "allow_rename": 0, 
+ "autoname": "naming_series:", 
+ "beta": 1, 
+ "creation": "2017-04-07 12:52:43.542429", 
+ "custom": 0, 
+ "docstatus": 0, 
+ "doctype": "DocType", 
+ "document_type": "", 
+ "editable_grid": 1, 
+ "engine": "InnoDB", 
+ "fields": [
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "naming_series", 
+   "fieldtype": "Select", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Series", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "PRO-", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "appointment", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 1, 
+   "in_standard_filter": 0, 
+   "label": "Appointment", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Patient Appointment", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 1, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "patient", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 1, 
+   "in_standard_filter": 0, 
+   "label": "Patient", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Patient", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
+   "search_index": 0, 
+   "set_only_once": 1, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "patient_age", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Age", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 1, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "patient_sex", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Gender", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 1, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "procedure_template", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 1, 
+   "in_standard_filter": 0, 
+   "label": "Procedure Template", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Clinical Procedure Template", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
+   "search_index": 0, 
+   "set_only_once": 1, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "medical_department", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Medical Department", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Medical Department", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 1, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "column_break_7", 
+   "fieldtype": "Column Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "service_unit", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Service Unit", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Healthcare Service Unit", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 1, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "warehouse", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Warehouse", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Warehouse", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 1, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "default": "Today", 
+   "fieldname": "start_date", 
+   "fieldtype": "Date", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Start Date", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 1, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "start_time", 
+   "fieldtype": "Time", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Time", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 1, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "sample", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Sample", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Sample Collection", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 1, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "is_invoiced", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Is Invoiced", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 1, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "notes", 
+   "fieldtype": "Small Text", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Notes", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 1, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "company", 
+   "fieldtype": "Link", 
+   "hidden": 1, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Company", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Company", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "default": "0", 
+   "fieldname": "consume_stock", 
+   "fieldtype": "Check", 
+   "hidden": 1, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Consume Stock", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "depends_on": "eval:doc.consume_stock == 1", 
+   "fieldname": "consumables", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Consumables", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "items", 
+   "fieldtype": "Table", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Consumables", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Clinical Procedure Item", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "default": "", 
+   "fieldname": "status", 
+   "fieldtype": "Select", 
+   "hidden": 1, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Status", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Draft\nIn Progress\nCompleted\nPending\nCancelled", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }
+ ], 
+ "has_web_view": 0, 
+ "hide_heading": 0, 
+ "hide_toolbar": 0, 
+ "idx": 0, 
+ "image_view": 0, 
+ "in_create": 0, 
+ "is_submittable": 0, 
+ "issingle": 0, 
+ "istable": 0, 
+ "max_attachments": 0, 
+ "modified": "2018-05-04 11:23:32.884076", 
+ "modified_by": "Administrator", 
+ "module": "Healthcare", 
+ "name": "Clinical Procedure", 
+ "name_case": "", 
+ "owner": "Administrator", 
+ "permissions": [
+  {
+   "amend": 0, 
+   "cancel": 0, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "export": 1, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Nursing User", 
+   "set_user_permissions": 0, 
+   "share": 1, 
+   "submit": 0, 
+   "write": 1
+  }
+ ], 
+ "quick_entry": 0, 
+ "read_only": 0, 
+ "read_only_onload": 0, 
+ "show_name_in_global_search": 0, 
+ "sort_field": "modified", 
+ "sort_order": "DESC", 
+ "track_changes": 1, 
+ "track_seen": 0
+}
\ No newline at end of file
diff --git a/erpnext/healthcare/doctype/clinical_procedure/clinical_procedure.py b/erpnext/healthcare/doctype/clinical_procedure/clinical_procedure.py
new file mode 100644
index 0000000..6346f1f
--- /dev/null
+++ b/erpnext/healthcare/doctype/clinical_procedure/clinical_procedure.py
@@ -0,0 +1,183 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2017, ESS LLP and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import frappe
+from frappe import _
+from frappe.model.document import Document
+from frappe.utils import cint, flt, nowdate, nowtime
+from erpnext.healthcare.doctype.healthcare_settings.healthcare_settings import get_account
+from erpnext.healthcare.doctype.lab_test.lab_test import create_sample_doc
+from erpnext.stock.stock_ledger import get_previous_sle
+
+class ClinicalProcedure(Document):
+	def validate(self):
+		if self.consume_stock and not self.status == 'Draft':
+			if not self.warehouse:
+				frappe.throw(("Set warehouse for Procedure {0} ").format(self.name))
+			self.set_actual_qty()
+
+	def before_insert(self):
+		if self.consume_stock:
+			set_stock_items(self, self.procedure_template, "Clinical Procedure Template")
+			self.set_actual_qty();
+
+	def after_insert(self):
+		if self.appointment:
+			frappe.db.set_value("Patient Appointment", self.appointment, "status", "Closed")
+		template = frappe.get_doc("Clinical Procedure Template", self.procedure_template)
+		if template.sample:
+			patient = frappe.get_doc("Patient", self.patient)
+			sample_collection = create_sample_doc(template, patient, None)
+			frappe.db.set_value("Clinical Procedure", self.name, "sample", sample_collection.name)
+		self.reload()
+
+	def complete(self):
+		if self.consume_stock:
+			create_stock_entry(self)
+		frappe.db.set_value("Clinical Procedure", self.name, "status", 'Completed')
+
+	def start(self):
+		allow_start = self.set_actual_qty()
+		if allow_start:
+			self.status = 'In Progress'
+		else:
+			self.status = 'Draft'
+
+		self.save()
+
+	def set_actual_qty(self):
+		allow_negative_stock = cint(frappe.db.get_value("Stock Settings", None, "allow_negative_stock"))
+
+		allow_start = True
+		for d in self.get('items'):
+			previous_sle = get_previous_sle({
+				"item_code": d.item_code,
+				"warehouse": self.warehouse,
+				"posting_date": nowdate(),
+				"posting_time": nowtime()
+			})
+
+			# get actual stock at source warehouse
+			d.actual_qty = previous_sle.get("qty_after_transaction") or 0
+
+			# validate qty
+			if not allow_negative_stock and d.actual_qty < d.qty:
+				allow_start = False
+
+		return allow_start
+
+	def make_material_transfer(self):
+		stock_entry = frappe.new_doc("Stock Entry")
+
+		stock_entry.purpose = "Material Transfer"
+		stock_entry.to_warehouse = self.warehouse
+		expense_account = get_account(None, "expense_account", "Healthcare Settings", self.company)
+		for item in self.items:
+			if item.qty > item.actual_qty:
+				se_child = stock_entry.append('items')
+				se_child.item_code = item.item_code
+				se_child.item_name = item.item_name
+				se_child.uom = item.uom
+				se_child.stock_uom = item.stock_uom
+				se_child.qty = flt(item.qty-item.actual_qty)
+				se_child.t_warehouse = self.warehouse
+				# in stock uom
+				se_child.transfer_qty = flt(item.transfer_qty)
+				se_child.conversion_factor = flt(item.conversion_factor)
+				cost_center = frappe.db.get_value('Company', self.company, 'cost_center')
+				se_child.cost_center = cost_center
+				se_child.expense_account = expense_account
+		return stock_entry.as_dict()
+
+	def get_item_details(self, args=None):
+		item = frappe.db.sql("""select stock_uom, description, image, item_name,
+			expense_account, buying_cost_center, item_group from `tabItem`
+			where name = %s
+				and disabled=0
+				and (end_of_life is null or end_of_life='0000-00-00' or end_of_life > %s)""",
+			(args.get('item_code'), nowdate()), as_dict = 1)
+		if not item:
+			frappe.throw(_("Item {0} is not active or end of life has been reached").format(args.get('item_code')))
+
+		item = item[0]
+
+		ret = {
+			'uom'			      	: item.stock_uom,
+			'stock_uom'			  	: item.stock_uom,
+			'item_name' 		  	: item.item_name,
+			'quantity'				: 0,
+			'transfer_qty'			: 0,
+			'conversion_factor'		: 1
+		}
+		return ret
+
+
+@frappe.whitelist()
+def set_stock_items(doc, stock_detail_parent, parenttype):
+	item_dict = get_item_dict("Clinical Procedure Item", stock_detail_parent, parenttype)
+
+	for d in item_dict:
+		se_child = doc.append('items')
+		se_child.item_code = d["item_code"]
+		se_child.item_name = d["item_name"]
+		se_child.uom = d["uom"]
+		se_child.stock_uom = d["stock_uom"]
+		se_child.qty = flt(d["qty"])
+		# in stock uom
+		se_child.transfer_qty = flt(d["transfer_qty"])
+		se_child.conversion_factor = flt(d["conversion_factor"])
+		if d["batch_no"]:
+			se_child.batch_no = d["batch_no"]
+	return doc
+
+def get_item_dict(table, parent, parenttype):
+	query = """select * from `tab{table}` where parent = '{parent}' and parenttype = '{parenttype}' """
+
+	return frappe.db.sql(query.format(table=table, parent=parent, parenttype=parenttype), as_dict=True)
+
+def create_stock_entry(doc):
+	stock_entry = frappe.new_doc("Stock Entry")
+	stock_entry = set_stock_items(stock_entry, doc.name, "Clinical Procedure")
+	stock_entry.purpose = "Material Issue"
+	stock_entry.from_warehouse = doc.warehouse
+	stock_entry.company = doc.company
+	expense_account = get_account(None, "expense_account", "Healthcare Settings", doc.company)
+
+	for item_line in stock_entry.items:
+		cost_center = frappe.db.get_value('Company', doc.company, 'cost_center')
+		#item_line.s_warehouse = warehouse #deaful source warehouse set, stock entry to copy to lines
+		item_line.cost_center = cost_center
+		#if not expense_account:
+		#	expense_account = frappe.db.get_value("Item", item_line.item_code, "expense_account")
+		item_line.expense_account = expense_account
+
+	stock_entry.insert(ignore_permissions = True)
+	stock_entry.submit()
+
+@frappe.whitelist()
+def create_procedure(appointment):
+	appointment = frappe.get_doc("Patient Appointment",appointment)
+	procedure = frappe.new_doc("Clinical Procedure")
+	procedure.appointment = appointment.name
+	procedure.patient = appointment.patient
+	procedure.patient_age = appointment.patient_age
+	procedure.patient_sex = appointment.patient_sex
+	procedure.procedure_template = appointment.procedure_template
+	procedure.medical_department = appointment.department
+	procedure.start_date = appointment.appointment_date
+	procedure.start_time = appointment.appointment_time
+	procedure.notes = appointment.notes
+	procedure.service_unit = appointment.service_unit
+	consume_stock = frappe.db.get_value("Clinical Procedure Template", appointment.procedure_template, "consume_stock")
+	if consume_stock == 1:
+		procedure.consume_stock = True
+		warehouse = False
+		if appointment.service_unit:
+			warehouse = frappe.db.get_value("Healthcare Service Unit", appointment.service_unit, "warehouse")
+		if not warehouse:
+			warehouse = frappe.db.get_value("Stock Settings", None, "default_warehouse")
+		if warehouse:
+			procedure.warehouse = warehouse
+	return procedure.as_dict()
diff --git a/erpnext/healthcare/doctype/patient_service_unit/test_patient_service_unit.js b/erpnext/healthcare/doctype/clinical_procedure/test_clinical_procedure.js
similarity index 68%
rename from erpnext/healthcare/doctype/patient_service_unit/test_patient_service_unit.js
rename to erpnext/healthcare/doctype/clinical_procedure/test_clinical_procedure.js
index 320388a..80ef3d5 100644
--- a/erpnext/healthcare/doctype/patient_service_unit/test_patient_service_unit.js
+++ b/erpnext/healthcare/doctype/clinical_procedure/test_clinical_procedure.js
@@ -2,15 +2,15 @@
 // rename this file from _test_[name] to test_[name] to activate
 // and remove above this line
 
-QUnit.test("test: Patient Service Unit", function (assert) {
+QUnit.test("test: Clinical Procedure", function (assert) {
 	let done = assert.async();
 
 	// number of asserts
 	assert.expect(1);
 
 	frappe.run_serially([
-		// insert a new Patient Service Unit
-		() => frappe.tests.make('Patient Service Unit', [
+		// insert a new Clinical Procedure
+		() => frappe.tests.make('Clinical Procedure', [
 			// values to be set
 			{key: 'value'}
 		]),
diff --git a/erpnext/healthcare/doctype/clinical_procedure/test_clinical_procedure.py b/erpnext/healthcare/doctype/clinical_procedure/test_clinical_procedure.py
new file mode 100644
index 0000000..09059e1
--- /dev/null
+++ b/erpnext/healthcare/doctype/clinical_procedure/test_clinical_procedure.py
@@ -0,0 +1,9 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2017, ESS LLP and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+import unittest
+
+class TestClinicalProcedure(unittest.TestCase):
+	pass
diff --git a/erpnext/healthcare/doctype/patient_service_unit/__init__.py b/erpnext/healthcare/doctype/clinical_procedure_item/__init__.py
similarity index 100%
copy from erpnext/healthcare/doctype/patient_service_unit/__init__.py
copy to erpnext/healthcare/doctype/clinical_procedure_item/__init__.py
diff --git a/erpnext/healthcare/doctype/patient_service_unit/patient_service_unit.json b/erpnext/healthcare/doctype/clinical_procedure_item/clinical_procedure_item.json
similarity index 62%
copy from erpnext/healthcare/doctype/patient_service_unit/patient_service_unit.json
copy to erpnext/healthcare/doctype/clinical_procedure_item/clinical_procedure_item.json
index 0ca1a53..c0a3247 100644
--- a/erpnext/healthcare/doctype/patient_service_unit/patient_service_unit.json
+++ b/erpnext/healthcare/doctype/clinical_procedure_item/clinical_procedure_item.json
@@ -2,33 +2,126 @@
  "allow_copy": 0, 
  "allow_guest_to_view": 0, 
  "allow_import": 0, 
- "allow_rename": 1, 
- "autoname": "field:patient_service_unit_name", 
+ "allow_rename": 0, 
  "beta": 1, 
- "creation": "2016-09-21 13:48:14.731437", 
+ "creation": "2017-10-05 16:15:10.876952", 
  "custom": 0, 
- "description": "Patinet Service Unit", 
  "docstatus": 0, 
  "doctype": "DocType", 
- "document_type": "Setup", 
+ "document_type": "", 
  "editable_grid": 1, 
+ "engine": "InnoDB", 
  "fields": [
   {
    "allow_bulk_edit": 0, 
    "allow_on_submit": 0, 
+   "bold": 1, 
+   "collapsible": 0, 
+   "columns": 3, 
+   "fieldname": "item_code", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 1, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 1, 
+   "in_list_view": 1, 
+   "in_standard_filter": 0, 
+   "label": "Item", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Item", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
+   "search_index": 1, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "patient_service_unit_name", 
+   "fieldname": "barcode", 
    "fieldtype": "Data", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
-   "in_global_search": 1, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Barcode", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "item_name", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 1, 
    "in_standard_filter": 0, 
-   "label": "Service Unit", 
+   "label": "Item Name", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "qty", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 1, 
+   "in_standard_filter": 0, 
+   "label": "Quantity", 
    "length": 0, 
    "no_copy": 0, 
    "permlevel": 0, 
@@ -47,53 +140,22 @@
   {
    "allow_bulk_edit": 0, 
    "allow_on_submit": 0, 
-   "bold": 1, 
+   "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "parent_patient_service_unit", 
+   "fieldname": "uom", 
    "fieldtype": "Link", 
    "hidden": 0, 
-   "ignore_user_permissions": 1, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 1, 
-   "in_standard_filter": 0, 
-   "label": "Parent Service Unit", 
-   "length": 0, 
-   "no_copy": 0, 
-   "options": "Patient Service Unit", 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_bulk_edit": 0, 
-   "allow_on_submit": 0, 
-   "bold": 1, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "is_group", 
-   "fieldtype": "Check", 
-   "hidden": 0, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
    "in_global_search": 0, 
    "in_list_view": 1, 
    "in_standard_filter": 0, 
-   "label": "Is Group", 
+   "label": "UOM", 
    "length": 0, 
    "no_copy": 0, 
+   "options": "UOM", 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 0, 
@@ -101,7 +163,7 @@
    "read_only": 0, 
    "remember_last_selected_value": 0, 
    "report_hide": 0, 
-   "reqd": 0, 
+   "reqd": 1, 
    "search_index": 0, 
    "set_only_once": 0, 
    "translatable": 0, 
@@ -110,11 +172,11 @@
   {
    "allow_bulk_edit": 0, 
    "allow_on_submit": 0, 
-   "bold": 1, 
+   "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "overlap_appointments", 
-   "fieldtype": "Check", 
+   "fieldname": "column_break_5", 
+   "fieldtype": "Column Break", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
@@ -122,7 +184,6 @@
    "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
-   "label": "Allow Overlap", 
    "length": 0, 
    "no_copy": 0, 
    "permlevel": 0, 
@@ -144,26 +205,26 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "company", 
+   "fieldname": "batch_no", 
    "fieldtype": "Link", 
-   "hidden": 1, 
-   "ignore_user_permissions": 1, 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
    "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
-   "label": "Company", 
+   "label": "Batch", 
    "length": 0, 
-   "no_copy": 1, 
-   "options": "Company", 
+   "no_copy": 0, 
+   "options": "Batch", 
    "permlevel": 0, 
    "precision": "", 
-   "print_hide": 1, 
+   "print_hide": 0, 
    "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "remember_last_selected_value": 0, 
-   "report_hide": 1, 
+   "report_hide": 0, 
    "reqd": 0, 
    "search_index": 0, 
    "set_only_once": 0, 
@@ -176,93 +237,124 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "lft", 
-   "fieldtype": "Int", 
-   "hidden": 1, 
+   "fieldname": "conversion_factor", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
    "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
-   "label": "lft", 
+   "label": "Conversion Factor", 
    "length": 0, 
-   "no_copy": 1, 
+   "no_copy": 0, 
    "permlevel": 0, 
    "precision": "", 
-   "print_hide": 1, 
+   "print_hide": 0, 
    "print_hide_if_no_value": 0, 
-   "read_only": 0, 
+   "read_only": 1, 
    "remember_last_selected_value": 0, 
    "report_hide": 0, 
    "reqd": 0, 
-   "search_index": 1, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_bulk_edit": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "rgt", 
-   "fieldtype": "Int", 
-   "hidden": 1, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "rgt", 
-   "length": 0, 
-   "no_copy": 1, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 1, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 1, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_bulk_edit": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "old_parent", 
-   "fieldtype": "Link", 
-   "hidden": 1, 
-   "ignore_user_permissions": 1, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Old Parent", 
-   "length": 0, 
-   "no_copy": 1, 
-   "options": "Patient Service Unit", 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 1, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 1, 
-   "reqd": 0, 
    "search_index": 0, 
    "set_only_once": 0, 
    "translatable": 0, 
    "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "stock_uom", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Stock UOM", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "UOM", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 1, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "transfer_qty", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Transfer Qty", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 1, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "actual_qty", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Actual Qty (at source/target)", 
+   "length": 0, 
+   "no_copy": 1, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 1, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 1, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 1, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
   }
  ], 
  "has_web_view": 0, 
@@ -273,86 +365,21 @@
  "in_create": 0, 
  "is_submittable": 0, 
  "issingle": 0, 
- "istable": 0, 
+ "istable": 1, 
  "max_attachments": 0, 
- "modified": "2018-03-07 13:25:51.163029", 
+ "modified": "2018-03-28 14:34:03.796229", 
  "modified_by": "Administrator", 
  "module": "Healthcare", 
- "name": "Patient Service Unit", 
+ "name": "Clinical Procedure Item", 
  "name_case": "", 
  "owner": "Administrator", 
- "permissions": [
-  {
-   "amend": 0, 
-   "apply_user_permissions": 1, 
-   "cancel": 0, 
-   "create": 0, 
-   "delete": 0, 
-   "email": 1, 
-   "export": 1, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Nursing User", 
-   "set_user_permissions": 0, 
-   "share": 1, 
-   "submit": 0, 
-   "user_permission_doctypes": "[\"Service Unit\"]", 
-   "write": 0
-  }, 
-  {
-   "amend": 0, 
-   "apply_user_permissions": 0, 
-   "cancel": 0, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "export": 1, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Medical Administrator", 
-   "set_user_permissions": 0, 
-   "share": 1, 
-   "submit": 0, 
-   "write": 1
-  }, 
-  {
-   "amend": 0, 
-   "apply_user_permissions": 0, 
-   "cancel": 0, 
-   "create": 1, 
-   "delete": 0, 
-   "email": 1, 
-   "export": 1, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Physician", 
-   "set_user_permissions": 0, 
-   "share": 1, 
-   "submit": 0, 
-   "write": 1
-  }
- ], 
+ "permissions": [], 
  "quick_entry": 1, 
  "read_only": 0, 
  "read_only_onload": 0, 
- "restrict_to_domain": "Healthcare", 
- "search_fields": "patient_service_unit_name", 
  "show_name_in_global_search": 0, 
  "sort_field": "modified", 
  "sort_order": "DESC", 
- "title_field": "patient_service_unit_name", 
  "track_changes": 1, 
  "track_seen": 0
 }
\ No newline at end of file
diff --git a/erpnext/healthcare/doctype/clinical_procedure_item/clinical_procedure_item.py b/erpnext/healthcare/doctype/clinical_procedure_item/clinical_procedure_item.py
new file mode 100644
index 0000000..d59e517
--- /dev/null
+++ b/erpnext/healthcare/doctype/clinical_procedure_item/clinical_procedure_item.py
@@ -0,0 +1,9 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2017, earthians and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+from frappe.model.document import Document
+
+class ClinicalProcedureItem(Document):
+	pass
diff --git a/erpnext/healthcare/doctype/patient_service_unit/__init__.py b/erpnext/healthcare/doctype/clinical_procedure_template/__init__.py
similarity index 100%
copy from erpnext/healthcare/doctype/patient_service_unit/__init__.py
copy to erpnext/healthcare/doctype/clinical_procedure_template/__init__.py
diff --git a/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template.js b/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template.js
new file mode 100644
index 0000000..583728d
--- /dev/null
+++ b/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template.js
@@ -0,0 +1,175 @@
+// Copyright (c) 2017, earthians and contributors
+// For license information, please see license.txt
+
+frappe.ui.form.on('Clinical Procedure Template', {
+	template: function(frm) {
+		if(!frm.doc.item_code)
+			frm.set_value("item_code", frm.doc.template);
+		if(!frm.doc.description)
+			frm.set_value("description", frm.doc.template);
+		mark_change_in_item(frm);
+	},
+	rate: function(frm) {
+		mark_change_in_item(frm);
+	},
+	is_billable: function (frm) {
+		mark_change_in_item(frm);
+	},
+	item_group: function(frm) {
+		mark_change_in_item(frm);
+	},
+	description: function(frm) {
+		mark_change_in_item(frm);
+	},
+	medical_department: function(frm) {
+		mark_change_in_item(frm);
+	},
+	refresh: function(frm) {
+		frm.fields_dict["items"].grid.set_column_disp("barcode", false);
+		frm.fields_dict["items"].grid.set_column_disp("batch_no", false);
+		cur_frm.set_df_property("item_code", "read_only", frm.doc.__islocal ? 0 : 1);
+		if(!frm.doc.__islocal) {
+			cur_frm.add_custom_button(__('Change Item Code'), function() {
+				change_template_code(frm.doc);
+			} );
+			if(frm.doc.disabled == 1){
+				cur_frm.add_custom_button(__('Enable Template'), function() {
+					enable_template(frm.doc);
+				} );
+			}
+			else{
+				cur_frm.add_custom_button(__('Disable Template'), function() {
+					disable_template(frm.doc);
+				} );
+			}
+		}
+	}
+});
+
+var mark_change_in_item = function(frm) {
+	if(!frm.doc.__islocal){
+		frm.doc.change_in_item = 1;
+	}
+};
+
+var disable_template = function(doc){
+	frappe.call({
+		method: "erpnext.healthcare.doctype.clinical_procedure_template.clinical_procedure_template.disable_enable_template",
+		args: {status: 1, name: doc.name, item_code: doc.item_code, is_billable: doc.is_billable},
+		callback: function(){
+			cur_frm.reload_doc();
+		}
+	});
+};
+
+var enable_template = function(doc){
+	frappe.call({
+		method: "erpnext.healthcare.doctype.clinical_procedure_template.clinical_procedure_template.disable_enable_template",
+		args: {status: 0, name: doc.name, item_code: doc.item_code, is_billable: doc.is_billable},
+		callback: function(){
+			cur_frm.reload_doc();
+		}
+	});
+};
+
+
+var change_template_code = function(doc){
+	var d = new frappe.ui.Dialog({
+		title:__("Change Template Code"),
+		fields:[
+			{
+				"fieldtype": "Data",
+				"label": "Template Code",
+				"fieldname": "Item Code",
+				reqd:1
+			},
+			{
+				"fieldtype": "Button",
+				"label": __("Change Code"),
+				click: function() {
+					var values = d.get_values();
+					if(!values)
+						return;
+					change_item_code_from_template(values["Item Code"], doc);
+					d.hide();
+				}
+			}
+		]
+	});
+	d.show();
+	d.set_values({
+		'Item Code': doc.item_code
+	});
+};
+
+var change_item_code_from_template = function(item_code, doc){
+	frappe.call({
+		"method": "erpnext.healthcare.doctype.clinical_procedure_template.clinical_procedure_template.change_item_code_from_template",
+		"args": {item_code: item_code, doc: doc},
+		callback: function () {
+			cur_frm.reload_doc();
+			frappe.show_alert({
+				message: "Item Code renamed successfully",
+				indicator: "green"
+			});
+		}
+	});
+};
+
+frappe.ui.form.on('Clinical Procedure Item', {
+	qty: function(frm, cdt, cdn){
+		var d = locals[cdt][cdn];
+		frappe.model.set_value(cdt, cdn, "transfer_qty", d.qty*d.conversion_factor);
+	},
+	uom: function(doc, cdt, cdn){
+		var d = locals[cdt][cdn];
+		if(d.uom && d.item_code){
+			return frappe.call({
+				method: "erpnext.stock.doctype.stock_entry.stock_entry.get_uom_details",
+				args: {
+					item_code: d.item_code,
+					uom: d.uom,
+					qty: d.qty
+				},
+				callback: function(r) {
+					if(r.message) {
+						frappe.model.set_value(cdt, cdn, r.message);
+					}
+				}
+			});
+		}
+	},
+	item_code: function(frm, cdt, cdn) {
+		var d = locals[cdt][cdn];
+		if(d.item_code) {
+			let args = {
+				'item_code'			: d.item_code,
+				'transfer_qty'		: d.transfer_qty,
+				'company'			: frm.doc.company,
+				'quantity'				: d.qty
+			};
+			return frappe.call({
+				doc: frm.doc,
+				method: "get_item_details",
+				args: args,
+				callback: function(r) {
+					if(r.message) {
+						var d = locals[cdt][cdn];
+						$.each(r.message, function(k, v){
+							d[k] = v;
+						});
+						refresh_field("items");
+					}
+				}
+			});
+		}
+	}
+});
+// List Stock items
+cur_frm.set_query("item_code", "items", function() {
+	return {
+		filters: {
+			is_stock_item:1
+		}
+	};
+});
diff --git a/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template.json b/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template.json
new file mode 100644
index 0000000..af430da
--- /dev/null
+++ b/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template.json
@@ -0,0 +1,783 @@
+{
+ "allow_copy": 0, 
+ "allow_guest_to_view": 0, 
+ "allow_import": 0, 
+ "allow_rename": 1, 
+ "autoname": "field:template", 
+ "beta": 1, 
+ "creation": "2017-10-05 14:59:55.438359", 
+ "custom": 0, 
+ "description": "Procedure Template", 
+ "docstatus": 0, 
+ "doctype": "DocType", 
+ "document_type": "Setup", 
+ "editable_grid": 1, 
+ "engine": "InnoDB", 
+ "fields": [
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "template", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 1, 
+   "in_list_view": 1, 
+   "in_standard_filter": 0, 
+   "label": "Template Name", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "item_code", 
+   "fieldtype": "Read Only", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Item Code", 
+   "length": 0, 
+   "no_copy": 1, 
+   "options": "Item", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "item_group", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 1, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 1, 
+   "in_standard_filter": 1, 
+   "label": "Item Group", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Item Group", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "medical_department", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Medical Department", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Medical Department", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "column_break_5", 
+   "fieldtype": "Column Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "is_billable", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Is Billable", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "depends_on": "is_billable", 
+   "fieldname": "rate", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Rate", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "description", 
+   "fieldtype": "Small Text", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 1, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Description", 
+   "length": 0, 
+   "no_copy": 1, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "depends_on": "", 
+   "fieldname": "section_break_9", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "consume_stock", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Allow Stock Consumption", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 1, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "depends_on": "eval:doc.consume_stock == 1", 
+   "fieldname": "consumables", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Consumables", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "items", 
+   "fieldtype": "Table", 
+   "hidden": 0, 
+   "ignore_user_permissions": 1, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Items", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Clinical Procedure Item", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 1, 
+   "columns": 0, 
+   "depends_on": "", 
+   "fieldname": "sample_collection", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Sample Collection", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "sample", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 1, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Sample", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Lab Test Sample", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "sample_uom", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "UOM", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "sample.sample_uom", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "sample_qty", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Quantity", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "column_break_21", 
+   "fieldtype": "Column Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "sample_details", 
+   "fieldtype": "Small Text", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 1, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Collection Details", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "change_in_item", 
+   "fieldtype": "Check", 
+   "hidden": 1, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Change In Item", 
+   "length": 0, 
+   "no_copy": 1, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 1, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 1, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "disabled", 
+   "fieldtype": "Check", 
+   "hidden": 1, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Disabled", 
+   "length": 0, 
+   "no_copy": 1, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 1, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 1, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "item", 
+   "fieldtype": "Link", 
+   "hidden": 1, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Item", 
+   "length": 0, 
+   "no_copy": 1, 
+   "options": "Item", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 1, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 1, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }
+ ], 
+ "has_web_view": 0, 
+ "hide_heading": 0, 
+ "hide_toolbar": 0, 
+ "idx": 0, 
+ "image_view": 0, 
+ "in_create": 0, 
+ "is_submittable": 0, 
+ "issingle": 0, 
+ "istable": 0, 
+ "max_attachments": 0, 
+ "modified": "2018-04-27 18:04:32.209983", 
+ "modified_by": "Administrator", 
+ "module": "Healthcare", 
+ "name": "Clinical Procedure Template", 
+ "name_case": "", 
+ "owner": "Administrator", 
+ "permissions": [
+  {
+   "amend": 0, 
+   "cancel": 0, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "export": 1, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "System Manager", 
+   "set_user_permissions": 0, 
+   "share": 1, 
+   "submit": 0, 
+   "write": 1
+  }, 
+  {
+   "amend": 0, 
+   "cancel": 0, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "export": 1, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Medical Administrator", 
+   "set_user_permissions": 0, 
+   "share": 1, 
+   "submit": 0, 
+   "write": 1
+  }, 
+  {
+   "amend": 0, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "email": 1, 
+   "export": 1, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Nursing User", 
+   "set_user_permissions": 0, 
+   "share": 1, 
+   "submit": 0, 
+   "write": 0
+  }, 
+  {
+   "amend": 0, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "email": 1, 
+   "export": 1, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Physician", 
+   "set_user_permissions": 0, 
+   "share": 1, 
+   "submit": 0, 
+   "write": 1
+  }
+ ], 
+ "quick_entry": 0, 
+ "read_only": 0, 
+ "read_only_onload": 0, 
+ "restrict_to_domain": "Healthcare", 
+ "search_fields": "template", 
+ "show_name_in_global_search": 0, 
+ "sort_field": "modified", 
+ "sort_order": "DESC", 
+ "title_field": "template", 
+ "track_changes": 1, 
+ "track_seen": 1
+}
\ No newline at end of file
diff --git a/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template.py b/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template.py
new file mode 100644
index 0000000..565fe90
--- /dev/null
+++ b/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template.py
@@ -0,0 +1,130 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2017, earthians and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import frappe, json
+from frappe import _
+from frappe.model.document import Document
+from frappe.utils import nowdate
+
+class ClinicalProcedureTemplate(Document):
+	def on_update(self):
+		#Item and Price List update --> if (change_in_item)
+		if(self.change_in_item and self.is_billable == 1 and self.item):
+			updating_item(self)
+			if(self.rate != 0.0):
+				updating_rate(self)
+		elif(self.is_billable == 0 and self.item):
+			frappe.db.set_value("Item",self.item,"disabled",1)
+
+		frappe.db.set_value(self.doctype,self.name,"change_in_item",0)
+		self.reload()
+
+	def after_insert(self):
+		create_item_from_template(self)
+
+	#Call before delete the template
+	def on_trash(self):
+		if(self.item):
+			try:
+				frappe.delete_doc("Item",self.item)
+			except Exception:
+				frappe.throw("""Not permitted. Please disable the Procedure Template""")
+
+	def get_item_details(self, args=None):
+		item = frappe.db.sql("""select stock_uom, description, image, item_name,
+			expense_account, buying_cost_center, item_group from `tabItem`
+			where name = %s
+				and disabled=0
+				and (end_of_life is null or end_of_life='0000-00-00' or end_of_life > %s)""",
+			(args.get('item_code'), nowdate()), as_dict = 1)
+		if not item:
+			frappe.throw(_("Item {0} is not active or end of life has been reached").format(args.get('item_code')))
+
+		item = item[0]
+
+		ret = {
+			'uom'			      	: item.stock_uom,
+			'stock_uom'			  	: item.stock_uom,
+			'item_name' 		  	: item.item_name,
+			'quantity'				: 0,
+			'transfer_qty'			: 0,
+			'conversion_factor'		: 1
+		}
+		return ret
+
+def updating_item(self):
+	frappe.db.sql("""update `tabItem` set item_name=%s, item_group=%s, disabled=0,
+		description=%s, modified=NOW() where item_code=%s""",
+		(self.template, self.item_group , self.description, self.item))
+def updating_rate(self):
+	frappe.db.sql("""update `tabItem Price` set item_name=%s, price_list_rate=%s, modified=NOW() where
+	 item_code=%s""",(self.template, self.rate, self.item))
+
+def create_item_from_template(doc):
+	if(doc.is_billable == 1):
+		disabled = 0
+	else:
+		disabled = 1
+	#insert item
+	item =  frappe.get_doc({
+	"doctype": "Item",
+	"item_code": doc.template,
+	"item_name":doc.template,
+	"item_group": doc.item_group,
+	"description":doc.description,
+	"is_sales_item": 1,
+	"is_service_item": 1,
+	"is_purchase_item": 0,
+	"is_stock_item": 0,
+	"show_in_website": 0,
+	"is_pro_applicable": 0,
+	"disabled": disabled,
+	"stock_uom": "Unit"
+	}).insert(ignore_permissions=True)
+
+	#insert item price
+	#get item price list to insert item price
+	if(doc.rate != 0.0):
+		price_list_name = frappe.db.get_value("Price List", {"selling": 1})
+		if(doc.rate):
+			make_item_price(item.name, price_list_name, doc.rate)
+		else:
+			make_item_price(item.name, price_list_name, 0.0)
+	#Set item to the template
+	frappe.db.set_value("Clinical Procedure Template", doc.name, "item", item.name)
+
+	doc.reload() #refresh the doc after insert.
+
+def make_item_price(item, price_list_name, item_price):
+	frappe.get_doc({
+		"doctype": "Item Price",
+		"price_list": price_list_name,
+		"item_code": item,
+		"price_list_rate": item_price
+	}).insert(ignore_permissions=True)
+
+@frappe.whitelist()
+def change_item_code_from_template(item_code, doc):
+	args = json.loads(doc)
+	doc = frappe._dict(args)
+
+	if(frappe.db.exists({
+		"doctype": "Item",
+		"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)
+		frappe.db.set_value("Clinical Procedure Template", doc.name, "item_code", item_code)
+	return
+
+@frappe.whitelist()
+def disable_enable_template(status, name, item_code):
+	frappe.db.set_value("Clinical Procedure Template", name, "disabled", status)
+	if (frappe.db.exists({ #set Item's disabled field to status
+		"doctype": "Item",
+		"item_code": item_code})):
+			frappe.db.set_value("Item", item_code, "disabled", status)
+
+	return
diff --git a/erpnext/healthcare/doctype/patient_service_unit/test_patient_service_unit.js b/erpnext/healthcare/doctype/clinical_procedure_template/test_clinical_procedure_template.js
similarity index 65%
copy from erpnext/healthcare/doctype/patient_service_unit/test_patient_service_unit.js
copy to erpnext/healthcare/doctype/clinical_procedure_template/test_clinical_procedure_template.js
index 320388a..1dde8b5 100644
--- a/erpnext/healthcare/doctype/patient_service_unit/test_patient_service_unit.js
+++ b/erpnext/healthcare/doctype/clinical_procedure_template/test_clinical_procedure_template.js
@@ -2,15 +2,15 @@
 // rename this file from _test_[name] to test_[name] to activate
 // and remove above this line
 
-QUnit.test("test: Patient Service Unit", function (assert) {
+QUnit.test("test: Clinical Procedure Template", function (assert) {
 	let done = assert.async();
 
 	// number of asserts
 	assert.expect(1);
 
 	frappe.run_serially([
-		// insert a new Patient Service Unit
-		() => frappe.tests.make('Patient Service Unit', [
+		// insert a new Clinical Procedure Template
+		() => frappe.tests.make('Clinical Procedure Template', [
 			// values to be set
 			{key: 'value'}
 		]),
diff --git a/erpnext/healthcare/doctype/patient_service_unit/test_patient_service_unit.py b/erpnext/healthcare/doctype/clinical_procedure_template/test_clinical_procedure_template.py
similarity index 72%
rename from erpnext/healthcare/doctype/patient_service_unit/test_patient_service_unit.py
rename to erpnext/healthcare/doctype/clinical_procedure_template/test_clinical_procedure_template.py
index ceb49fd..62e138b 100644
--- a/erpnext/healthcare/doctype/patient_service_unit/test_patient_service_unit.py
+++ b/erpnext/healthcare/doctype/clinical_procedure_template/test_clinical_procedure_template.py
@@ -4,5 +4,5 @@
 from __future__ import unicode_literals
 import unittest
 
-class TestPatientServiceUnit(unittest.TestCase):
+class TestClinicalProcedureTemplate(unittest.TestCase):
 	pass
diff --git a/erpnext/healthcare/doctype/consultation/consultation.js b/erpnext/healthcare/doctype/consultation/consultation.js
index dc4870f..727d175 100644
--- a/erpnext/healthcare/doctype/consultation/consultation.js
+++ b/erpnext/healthcare/doctype/consultation/consultation.js
@@ -35,6 +35,10 @@
 			create_medical_record(frm);
 		},"Create");
 
+		frm.add_custom_button(__("Procedure"),function(){
+			btn_create_procedure(frm);
+		},"Create");
+
 		frm.set_query("patient", function () {
 			return {
 				filters: {"disabled": 0}
@@ -127,6 +131,17 @@
 	frappe.new_doc("Vital Signs");
 };
 
+var btn_create_procedure = function (frm) {
+	if(!frm.doc.patient){
+		frappe.throw("Please select patient");
+	}
+	frappe.route_options = {
+		"patient": frm.doc.patient,
+		"medical_department": frm.doc.visit_department
+	};
+	frappe.new_doc("Clinical Procedure");
+};
+
 frappe.ui.form.on("Consultation", "appointment", function(frm){
 	if(frm.doc.appointment){
 		frappe.call({
@@ -238,6 +253,25 @@
 	}
 });
 
+frappe.ui.form.on("Procedure Prescription", {
+	procedure:  function(frm, cdt, cdn) {
+		var child = locals[cdt][cdn];
+		if(child.procedure){
+			frappe.call({
+				"method": "frappe.client.get_value",
+				args: {
+					doctype: "Clinical Procedure Template",
+					fieldname: "medical_department",
+					filters: {name: child.procedure}
+				},
+				callback: function (data) {
+					frappe.model.set_value(cdt, cdn, 'department',data.message.medical_department);
+				}
+			});
+		}
+	}
+});
+
 
 var calculate_age = function(birth) {
 	var ageMS = Date.parse(Date()) - Date.parse(birth);
diff --git a/erpnext/healthcare/doctype/consultation/consultation.json b/erpnext/healthcare/doctype/consultation/consultation.json
index c1bd37a..2f6de0c 100644
--- a/erpnext/healthcare/doctype/consultation/consultation.json
+++ b/erpnext/healthcare/doctype/consultation/consultation.json
@@ -880,6 +880,67 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fieldname": "sb_procedures", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Procedures", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "procedure_prescription", 
+   "fieldtype": "Table", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Procedures", 
+   "length": 0, 
+   "no_copy": 1, 
+   "options": "Procedure Prescription", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
    "fieldname": "consultation_comment", 
    "fieldtype": "Small Text", 
    "hidden": 0, 
@@ -945,7 +1006,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2018-02-19 11:35:13.826577", 
+ "modified": "2018-03-19 11:35:13.826577", 
  "modified_by": "Administrator", 
  "module": "Healthcare", 
  "name": "Consultation", 
diff --git a/erpnext/healthcare/doctype/consultation/consultation.py b/erpnext/healthcare/doctype/consultation/consultation.py
index 472a2f2..b647c2e 100755
--- a/erpnext/healthcare/doctype/consultation/consultation.py
+++ b/erpnext/healthcare/doctype/consultation/consultation.py
@@ -125,5 +125,7 @@
 		subject +="\nDrug(s) Prescribed. "
 	if(consultation.test_prescription):
 		subject += "\nTest(s) Prescribed."
+	if(consultation.procedure_prescription):
+		subject += "\nProcedure(s) Prescribed."
 
 	return subject
diff --git a/erpnext/healthcare/doctype/patient_service_unit/__init__.py b/erpnext/healthcare/doctype/healthcare_service_unit/__init__.py
similarity index 100%
rename from erpnext/healthcare/doctype/patient_service_unit/__init__.py
rename to erpnext/healthcare/doctype/healthcare_service_unit/__init__.py
diff --git a/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit.js b/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit.js
new file mode 100644
index 0000000..e966515
--- /dev/null
+++ b/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit.js
@@ -0,0 +1,42 @@
+// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+frappe.ui.form.on('Healthcare Service Unit', {
+	onload: function(frm) {
+		frm.list_route = "Tree/Healthcare Service Unit";
+
+		// get query select healthcare service unit
+		frm.fields_dict['parent_healthcare_service_unit'].get_query = function(doc) {
+			return{
+				filters:[
+					['Healthcare Service Unit', 'is_group', '=', 1],
+					['Healthcare Service Unit', 'name', '!=', doc.healthcare_service_unit_name]
+				]
+			};
+		};
+	},
+	refresh: function(frm) {
+		frm.trigger("set_root_readonly");
+		frm.add_custom_button(__("Healthcare Service Unit Tree"), function() {
+			frappe.set_route("Tree", "Healthcare Service Unit");
+		});
+	},
+	set_root_readonly: function(frm) {
+		// read-only for root healthcare service unit
+		frm.set_intro("");
+		if(!frm.doc.parent_healthcare_service_unit) {
+			frm.set_read_only();
+			frm.set_intro(__("This is a root healthcare service unit and cannot be edited."), true);
+		}
+	},
+	allow_appointments: function(frm) {
+		if(!frm.doc.allow_appointments){
+			frm.set_value("overlap_appointments", false);
+		}
+	},
+	is_group: function(frm) {
+		if(frm.doc.is_group){
+			frm.set_value("allow_appointments", false);
+		}
+	}
+});
diff --git a/erpnext/healthcare/doctype/patient_service_unit/patient_service_unit.json b/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit.json
similarity index 77%
rename from erpnext/healthcare/doctype/patient_service_unit/patient_service_unit.json
rename to erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit.json
index 0ca1a53..d11ecdc 100644
--- a/erpnext/healthcare/doctype/patient_service_unit/patient_service_unit.json
+++ b/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit.json
@@ -3,11 +3,11 @@
  "allow_guest_to_view": 0, 
  "allow_import": 0, 
  "allow_rename": 1, 
- "autoname": "field:patient_service_unit_name", 
+ "autoname": "field:healthcare_service_unit_name", 
  "beta": 1, 
  "creation": "2016-09-21 13:48:14.731437", 
  "custom": 0, 
- "description": "Patinet Service Unit", 
+ "description": "Healthcare Service Unit", 
  "docstatus": 0, 
  "doctype": "DocType", 
  "document_type": "Setup", 
@@ -19,7 +19,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "patient_service_unit_name", 
+   "fieldname": "healthcare_service_unit_name", 
    "fieldtype": "Data", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
@@ -50,7 +50,7 @@
    "bold": 1, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "parent_patient_service_unit", 
+   "fieldname": "parent_healthcare_service_unit", 
    "fieldtype": "Link", 
    "hidden": 0, 
    "ignore_user_permissions": 1, 
@@ -62,7 +62,7 @@
    "label": "Parent Service Unit", 
    "length": 0, 
    "no_copy": 0, 
-   "options": "Patient Service Unit", 
+   "options": "Healthcare Service Unit", 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 0, 
@@ -113,6 +113,39 @@
    "bold": 1, 
    "collapsible": 0, 
    "columns": 0, 
+   "depends_on": "eval:doc.is_group != 1", 
+   "fieldname": "allow_appointments", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Allow Appointments", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 1, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "depends_on": "eval:doc.is_group != 1 && doc.allow_appointments == 1", 
    "fieldname": "overlap_appointments", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -141,6 +174,39 @@
   {
    "allow_bulk_edit": 0, 
    "allow_on_submit": 0, 
+   "bold": 1, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "depends_on": "eval:doc.is_group != 1", 
+   "fieldname": "warehouse", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Warehouse", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Warehouse", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
@@ -250,7 +316,7 @@
    "label": "Old Parent", 
    "length": 0, 
    "no_copy": 1, 
-   "options": "Patient Service Unit", 
+   "options": "Healthcare Service Unit", 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 1, 
@@ -275,16 +341,15 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2018-03-07 13:25:51.163029", 
+ "modified": "2018-05-04 11:20:16.942603", 
  "modified_by": "Administrator", 
  "module": "Healthcare", 
- "name": "Patient Service Unit", 
+ "name": "Healthcare Service Unit", 
  "name_case": "", 
  "owner": "Administrator", 
  "permissions": [
   {
    "amend": 0, 
-   "apply_user_permissions": 1, 
    "cancel": 0, 
    "create": 0, 
    "delete": 0, 
@@ -300,12 +365,10 @@
    "set_user_permissions": 0, 
    "share": 1, 
    "submit": 0, 
-   "user_permission_doctypes": "[\"Service Unit\"]", 
    "write": 0
   }, 
   {
    "amend": 0, 
-   "apply_user_permissions": 0, 
    "cancel": 0, 
    "create": 1, 
    "delete": 1, 
@@ -325,7 +388,6 @@
   }, 
   {
    "amend": 0, 
-   "apply_user_permissions": 0, 
    "cancel": 0, 
    "create": 1, 
    "delete": 0, 
@@ -348,11 +410,11 @@
  "read_only": 0, 
  "read_only_onload": 0, 
  "restrict_to_domain": "Healthcare", 
- "search_fields": "patient_service_unit_name", 
+ "search_fields": "healthcare_service_unit_name", 
  "show_name_in_global_search": 0, 
  "sort_field": "modified", 
  "sort_order": "DESC", 
- "title_field": "patient_service_unit_name", 
+ "title_field": "healthcare_service_unit_name", 
  "track_changes": 1, 
  "track_seen": 0
 }
\ No newline at end of file
diff --git a/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit.py b/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit.py
new file mode 100644
index 0000000..21b0e6e
--- /dev/null
+++ b/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit.py
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+
+from frappe.utils.nestedset import NestedSet
+
+class HealthcareServiceUnit(NestedSet):
+	nsm_parent_field = 'parent_healthcare_service_unit'
+
+	def on_update(self):
+		super(HealthcareServiceUnit, self).on_update()
+		self.validate_one_root()
+
+	def validate(self):
+		if self.is_group:
+			self.allow_appointments = False
+			self.overlap_appointments = False
+		elif not self.allow_appointments:
+			self.overlap_appointments = False
diff --git a/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit_tree.js b/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit_tree.js
new file mode 100644
index 0000000..4eb9475
--- /dev/null
+++ b/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit_tree.js
@@ -0,0 +1,3 @@
+frappe.treeview_settings["Healthcare Service Unit"] = {
+	ignore_fields:["parent_healthcare_service_unit"]
+};
diff --git a/erpnext/healthcare/doctype/patient_service_unit/test_patient_service_unit.js b/erpnext/healthcare/doctype/healthcare_service_unit/test_healthcare_service_unit.js
similarity index 67%
copy from erpnext/healthcare/doctype/patient_service_unit/test_patient_service_unit.js
copy to erpnext/healthcare/doctype/healthcare_service_unit/test_healthcare_service_unit.js
index 320388a..a67a411 100644
--- a/erpnext/healthcare/doctype/patient_service_unit/test_patient_service_unit.js
+++ b/erpnext/healthcare/doctype/healthcare_service_unit/test_healthcare_service_unit.js
@@ -2,15 +2,15 @@
 // rename this file from _test_[name] to test_[name] to activate
 // and remove above this line
 
-QUnit.test("test: Patient Service Unit", function (assert) {
+QUnit.test("test: Healthcare Service Unit", function (assert) {
 	let done = assert.async();
 
 	// number of asserts
 	assert.expect(1);
 
 	frappe.run_serially([
-		// insert a new Patient Service Unit
-		() => frappe.tests.make('Patient Service Unit', [
+		// insert a new Healthcare Service Unit
+		() => frappe.tests.make('Healthcare Service Unit', [
 			// values to be set
 			{key: 'value'}
 		]),
diff --git a/erpnext/healthcare/doctype/healthcare_service_unit/test_healthcare_service_unit.py b/erpnext/healthcare/doctype/healthcare_service_unit/test_healthcare_service_unit.py
new file mode 100644
index 0000000..bced2fe
--- /dev/null
+++ b/erpnext/healthcare/doctype/healthcare_service_unit/test_healthcare_service_unit.py
@@ -0,0 +1,9 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+import unittest
+
+class TestHealthcareServiceUnit(unittest.TestCase):
+	pass
diff --git a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.js b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.js
index 41974a6..7d5ed8d 100644
--- a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.js
+++ b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.js
@@ -26,6 +26,7 @@
 			return {
 				filters: {
 					"is_group": false,
+					"allow_appointments": true
 				}
 			};
 		});
@@ -40,9 +41,16 @@
 				btn_update_status(frm, "Cancelled");
 			});
 
-			frm.add_custom_button(__("Consultation"),function(){
-				btn_create_consultation(frm);
-			},"Create");
+			if(frm.doc.procedure_template){
+				frm.add_custom_button(__("Procedure"),function(){
+					btn_create_procedure(frm);
+				},"Create");
+			}
+			else{
+				frm.add_custom_button(__("Consultation"),function(){
+					btn_create_consultation(frm);
+				},"Create");
+			}
 
 			frm.add_custom_button(__('Vital Signs'), function() {
 				btn_create_vital_signs(frm);
@@ -53,9 +61,16 @@
 				btn_update_status(frm, "Cancelled");
 			});
 
-			frm.add_custom_button(__("Consultation"),function(){
-				btn_create_consultation(frm);
-			},"Create");
+			if(frm.doc.procedure_template){
+				frm.add_custom_button(__("Procedure"),function(){
+					btn_create_procedure(frm);
+				},"Create");
+			}
+			else{
+				frm.add_custom_button(__("Consultation"),function(){
+					btn_create_consultation(frm);
+				},"Create");
+			}
 
 			frm.add_custom_button(__('Vital Signs'), function() {
 				btn_create_vital_signs(frm);
@@ -201,8 +216,85 @@
 			frm.disable_save();
 		}
 	},
+	get_procedure_from_consultation: function(frm) {
+		get_procedure_prescribed(frm);
+	}
 });
 
+var get_procedure_prescribed = function(frm){
+	if(frm.doc.patient){
+		frappe.call({
+			method:"erpnext.healthcare.doctype.patient_appointment.patient_appointment.get_procedure_prescribed",
+			args: {patient: frm.doc.patient},
+			callback: function(r){
+				show_procedure_templates(frm, r.message);
+			}
+		});
+	}
+	else{
+		frappe.msgprint("Please select Patient to get prescribed procedure");
+	}
+};
+
+var show_procedure_templates = function(frm, result){
+	var d = new frappe.ui.Dialog({
+		title: __("Prescribed Procedures"),
+		fields: [
+			{
+				fieldtype: "HTML", fieldname: "procedure_template"
+			}
+		]
+	});
+	var html_field = d.fields_dict.procedure_template.$wrapper;
+	html_field.empty();
+	$.each(result, function(x, y){
+		var row = $(repl('<div class="col-xs-12" style="padding-top:12px; text-align:center;" >\
+		<div class="col-xs-5"> %(consultation)s <br> %(consulting_physician)s <br> %(consultation_date)s </div>\
+		<div class="col-xs-5"> %(procedure_template)s <br>%(physician)s  <br> %(date)s</div>\
+		<div class="col-xs-2">\
+		<a data-name="%(name)s" data-procedure-template="%(procedure_template)s"\
+		data-consultation="%(consultation)s" data-physician="%(physician)s"\
+		data-date="%(date)s"  data-department="%(department)s">\
+		<button class="btn btn-default btn-xs">Add\
+		</button></a></div></div><div class="col-xs-12"><hr/><div/>', {name:y[0], procedure_template: y[1],
+				consultation:y[2], consulting_physician:y[3], consultation_date:y[4],
+				physician:y[5]? y[5]:'', date: y[6]? y[6]:'', department: y[7]? y[7]:''})).appendTo(html_field);
+		row.find("a").click(function() {
+			frm.doc.procedure_template = $(this).attr("data-procedure-template");
+			frm.doc.procedure_prescription = $(this).attr("data-name");
+			frm.doc.physician = $(this).attr("data-physician");
+			frm.doc.appointment_date = $(this).attr("data-date");
+			frm.doc.department = $(this).attr("data-department");
+			refresh_field("procedure_template");
+			refresh_field("procedure_prescription");
+			refresh_field("appointment_date");
+			refresh_field("physician");
+			refresh_field("department");
+			d.hide();
+			return false;
+		});
+	});
+	if(!result){
+		var msg = "There are no procedure prescribed for "+frm.doc.patient;
+		$(repl('<div class="col-xs-12" style="padding-top:20px;" >%(msg)s</div></div>', {msg: msg})).appendTo(html_field);
+	}
+	d.show();
+};
+
+var btn_create_procedure = function(frm){
+	var doc = frm.doc;
+	frappe.call({
+		method:"erpnext.healthcare.doctype.clinical_procedure.clinical_procedure.create_procedure",
+		args: {appointment: doc.name},
+		callback: function(data){
+			if(!data.exc){
+				var doclist = frappe.model.sync(data.message);
+				frappe.set_route("Form", doclist[0].doctype, doclist[0].name);
+			}
+		}
+	});
+};
+
 var btn_create_consultation = function(frm){
 	var doc = frm.doc;
 	frappe.call({
diff --git a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.json b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.json
index 1cdf393..b865be8 100644
--- a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.json
+++ b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.json
@@ -115,6 +115,101 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fieldname": "get_procedure_from_consultation", 
+   "fieldtype": "Button", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Get prescribed procedures", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "procedure_prescription", 
+   "fieldtype": "Link", 
+   "hidden": 1, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Procedure Prescription", 
+   "length": 0, 
+   "no_copy": 1, 
+   "options": "Procedure Prescription", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 1, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "procedure_template", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Procedure", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Clinical Procedure Template", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 1, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
    "fieldname": "appointment_date", 
    "fieldtype": "Date", 
    "hidden": 0, 
@@ -176,16 +271,16 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "columns": 0,
+   "columns": 0, 
    "description": "In Minutes", 
    "fieldname": "duration", 
    "fieldtype": "Int", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
-   "in_filter": 1,
+   "in_filter": 1, 
    "in_global_search": 0, 
-   "in_list_view": 1,
+   "in_list_view": 1, 
    "in_standard_filter": 0, 
    "label": "Duration", 
    "length": 0, 
@@ -285,7 +380,7 @@
    "label": "Service Unit", 
    "length": 0, 
    "no_copy": 0, 
-   "options": "Patient Service Unit", 
+   "options": "Healthcare Service Unit", 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 0, 
@@ -754,7 +849,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2018-03-13 12:10:00.123456",
+ "modified": "2018-05-02 03:38:09.442721", 
  "modified_by": "Administrator", 
  "module": "Healthcare", 
  "name": "Patient Appointment", 
@@ -763,7 +858,6 @@
  "permissions": [
   {
    "amend": 0, 
-   "apply_user_permissions": 0, 
    "cancel": 0, 
    "create": 1, 
    "delete": 1, 
@@ -783,7 +877,6 @@
   }, 
   {
    "amend": 0, 
-   "apply_user_permissions": 0, 
    "cancel": 0, 
    "create": 1, 
    "delete": 1, 
@@ -803,7 +896,6 @@
   }, 
   {
    "amend": 0, 
-   "apply_user_permissions": 0, 
    "cancel": 0, 
    "create": 1, 
    "delete": 1, 
diff --git a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py
index 861f7c4..536ab00 100755
--- a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py
+++ b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py
@@ -24,6 +24,8 @@
 			self.reload()
 
 	def after_insert(self):
+		if self.procedure_prescription:
+			frappe.db.set_value("Procedure Prescription", self.procedure_prescription, "appointment_booked", True)
 		# Check fee validity exists
 		appointment = self
 		validity_exist = validity_exists(appointment.physician, appointment.patient)
@@ -122,10 +124,10 @@
 
 				if available_slots:
 					appointments = []
-					
+
 					if schedule.service_unit:
 						slot_name  = schedule.schedule+" - "+schedule.service_unit
-						allow_overlap = frappe.get_value('Patient Service Unit', schedule.service_unit, 'overlap_appointments')
+						allow_overlap = frappe.get_value('Healthcare Service Unit', schedule.service_unit, 'overlap_appointments')
 						if allow_overlap:
 							# fetch all appointments to physician by service unit
 							appointments = frappe.get_all(
@@ -164,9 +166,15 @@
 @frappe.whitelist()
 def update_status(appointment_id, status):
 	frappe.db.set_value("Patient Appointment", appointment_id, "status", status)
+	appointment_booked = True
 	if status == "Cancelled":
+		appointment_booked = False
 		appointment_cancel(appointment_id)
 
+	procedure_prescription = frappe.db.get_value("Patient Appointment", appointment_id, "procedure_prescription")
+	if procedure_prescription:
+		frappe.db.set_value("Procedure Prescription", procedure_prescription, "appointment_booked", appointment_booked)
+
 
 @frappe.whitelist()
 def set_open_appointments():
@@ -202,7 +210,10 @@
 	sales_invoice.debit_to = get_receivable_account(appointment_doc.company)
 
 	fee_validity = get_fee_validity(appointment_doc.physician, appointment_doc.patient, appointment_doc.appointment_date)
-	create_invoice_items(appointment_doc.physician, appointment_doc.company, sales_invoice)
+	procedure_template = False
+	if appointment_doc.procedure_template:
+		procedure_template = appointment_doc.procedure_template
+	create_invoice_items(appointment_doc.physician, appointment_doc.company, sales_invoice, procedure_template)
 
 	sales_invoice.save(ignore_permissions=True)
 	frappe.db.sql("""update `tabPatient Appointment` set sales_invoice=%s where name=%s""", (sales_invoice.name, appointment_doc.name))
@@ -256,18 +267,26 @@
 	return fee_validity
 
 
-def create_invoice_items(physician, company, invoice):
+def create_invoice_items(physician, company, invoice, procedure_template):
 	item_line = invoice.append("items")
-	item_line.item_name = "Consulting Charges"
-	item_line.description = "Consulting Charges:  " + physician
+	if procedure_template:
+		procedure_template_obj = frappe.get_doc("Clinical Procedure Template", procedure_template)
+		item_line.item_code = procedure_template_obj.item_code
+		item_line.item_name = procedure_template_obj.template
+		item_line.description = procedure_template_obj.description
+	else:
+		item_line.item_name = "Consulting Charges"
+		item_line.description = "Consulting Charges:  " + physician
+		item_line.uom = "Nos"
+		item_line.conversion_factor = 1
+		item_line.income_account = get_income_account(physician, company)
+		op_consulting_charge = frappe.db.get_value("Physician", physician, "op_consulting_charge")
+		if op_consulting_charge:
+			item_line.rate = op_consulting_charge
+			item_line.amount = op_consulting_charge
 	item_line.qty = 1
-	item_line.uom = "Nos"
-	item_line.conversion_factor = 1
-	item_line.income_account = get_income_account(physician, company)
-	op_consulting_charge = frappe.db.get_value("Physician", physician, "op_consulting_charge")
-	if op_consulting_charge:
-		item_line.rate = op_consulting_charge
-		item_line.amount = op_consulting_charge
+
+
 	return invoice
 
 
@@ -336,4 +355,12 @@
 		{"start": start, "end": end}, as_dict=True, update={"allDay": 0})
 	for item in data:
 		item.end = item.start + datetime.timedelta(minutes = item.duration)
-	return data
\ No newline at end of file
+	return data
+
+@frappe.whitelist()
+def get_procedure_prescribed(patient):
+	return frappe.db.sql("""select pp.name, pp.procedure, pp.parent, ct.physician,
+	ct.consultation_date, pp.physician, pp.date, pp.department
+	from tabConsultation ct, `tabProcedure Prescription` pp
+	where ct.patient='{0}' and pp.parent=ct.name and pp.appointment_booked=0
+	order by ct.creation desc""".format(patient))
diff --git a/erpnext/healthcare/doctype/patient_service_unit/patient_service_unit.js b/erpnext/healthcare/doctype/patient_service_unit/patient_service_unit.js
deleted file mode 100644
index 197b4e5..0000000
--- a/erpnext/healthcare/doctype/patient_service_unit/patient_service_unit.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2017, earthians and contributors
-// For license information, please see license.txt
-
-frappe.ui.form.on('Patient Service Unit', {
-});
-
-// get query select patient service unit
-cur_frm.fields_dict['parent_patient_service_unit'].get_query = function(doc) {
-	return{
-		filters:[
-			['Patient Service Unit', 'is_group', '=', 1],
-			['Patient Service Unit', 'name', '!=', doc.patient_service_unit_name]
-		]
-	};
-};
diff --git a/erpnext/healthcare/doctype/patient_service_unit/patient_service_unit.py b/erpnext/healthcare/doctype/patient_service_unit/patient_service_unit.py
deleted file mode 100644
index 6c177d8..0000000
--- a/erpnext/healthcare/doctype/patient_service_unit/patient_service_unit.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright (c) 2017, earthians and contributors
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-
-from frappe.utils.nestedset import NestedSet
-
-class PatientServiceUnit(NestedSet):
-	nsm_parent_field = 'parent_patient_service_unit'
-
-	def on_update(self):
-		super(PatientServiceUnit, self).on_update()
-		self.validate_one_root()
diff --git a/erpnext/healthcare/doctype/patient_service_unit/patient_service_unit_tree.js b/erpnext/healthcare/doctype/patient_service_unit/patient_service_unit_tree.js
deleted file mode 100644
index 0b03f2d..0000000
--- a/erpnext/healthcare/doctype/patient_service_unit/patient_service_unit_tree.js
+++ /dev/null
@@ -1,3 +0,0 @@
-frappe.treeview_settings["Patient Service Unit"] = {
-	ignore_fields:["parent_patient_service_unit"]
-};
diff --git a/erpnext/healthcare/doctype/physician/physician.js b/erpnext/healthcare/doctype/physician/physician.js
index 6ce0199..0b1a077 100755
--- a/erpnext/healthcare/doctype/physician/physician.js
+++ b/erpnext/healthcare/doctype/physician/physician.js
@@ -23,6 +23,7 @@
 			return {
 				filters: {
 					"is_group": false,
+					"allow_appointments": true
 				}
 			};
 		});
diff --git a/erpnext/healthcare/doctype/physician_schedule/physician_schedule.js b/erpnext/healthcare/doctype/physician_schedule/physician_schedule.js
index 5b0b57f..c1b5581 100644
--- a/erpnext/healthcare/doctype/physician_schedule/physician_schedule.js
+++ b/erpnext/healthcare/doctype/physician_schedule/physician_schedule.js
@@ -28,6 +28,7 @@
 				primary_action: () => {
 					var values = d.get_values();
 					if(values) {
+						let slot_added = false;
 						values.days.split(',').forEach(function(day){
 							day = $.trim(day);
 							if(['Sunday', 'Monday', 'Tuesday', 'Wednesday',
@@ -35,27 +36,75 @@
 								add_slots(day);
 							}
 						});
-						function add_slots(week_day){
-							let cur_time = moment(values.from_time, 'HH:mm:ss');
-							let end_time = moment(values.to_time, 'HH:mm:ss');
+						function check_overlap_or_add_slot(week_day, cur_time, end_time, add_slots_to_child){
+							let overlap = false;
 							while(cur_time < end_time) {
+								let add_to_child = true;
 								let to_time = cur_time.clone().add(values.duration, 'minutes');
 								if(to_time <= end_time) {
+									if(frm.doc.time_slots){
+										frm.doc.time_slots.forEach(function(slot) {
+											if(slot.day == week_day){
+												let slot_from_moment = moment(slot.from_time, 'HH:mm:ss');
+												let slot_to_moment = moment(slot.to_time, 'HH:mm:ss');
+												if(cur_time.isSame(slot_from_moment)	||	cur_time.isBetween(slot_from_moment, slot_to_moment)	||
+												to_time.isSame(slot_to_moment)	||	to_time.isBetween(slot_from_moment, slot_to_moment)){
+													overlap = true;
+													if(add_slots_to_child){
+														frappe.show_alert({
+															message:__('Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}',
+																[cur_time.format('HH:mm:ss'),	to_time.format('HH:mm:ss'),	slot.from_time,	slot.to_time]),
+															indicator:'orange'
+														});
+														add_to_child = false;
+													}
+												}
+											}
+										});
+									}
 									// add a new timeslot
-									frm.add_child('time_slots', {
-										from_time: cur_time.format('HH:mm:ss'),
-										to_time: to_time.format('HH:mm:ss'),
-										day: week_day
-									});
+									if(add_to_child && add_slots_to_child){
+										frm.add_child('time_slots', {
+											from_time: cur_time.format('HH:mm:ss'),
+											to_time: to_time.format('HH:mm:ss'),
+											day: week_day
+										});
+										slot_added = true;
+									}
 								}
 								cur_time = to_time;
 							}
+							return overlap;
+						}
+						function add_slots(week_day){
+							let cur_time = moment(values.from_time, 'HH:mm:ss');
+							let end_time = moment(values.to_time, 'HH:mm:ss');
+							if(check_overlap_or_add_slot(week_day, cur_time, end_time, false)){
+								frappe.confirm(__('Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?',	[week_day]),
+									function() {
+										// if Yes
+										check_overlap_or_add_slot(week_day, cur_time, end_time, true);
+									},
+									function() {
+										// if No
+										frappe.show_alert({
+											message:__('Slots for {0} are not added to the schedule',	[week_day]),
+											indicator:'red'
+										});
+									}
+								);
+							}
+							else{
+								check_overlap_or_add_slot(week_day, cur_time, end_time, true);
+							}
 						}
 						frm.refresh_field('time_slots');
-						frappe.show_alert({
-							message:__('Time slots added'),
-							indicator:'green'
-						});
+						if(slot_added){
+							frappe.show_alert({
+								message:__('Time slots added'),
+								indicator:'green'
+							});
+						}
 					}
 				},
 			});
diff --git a/erpnext/healthcare/doctype/physician_service_unit_schedule/physician_service_unit_schedule.json b/erpnext/healthcare/doctype/physician_service_unit_schedule/physician_service_unit_schedule.json
index 69fe7b3..7fff2be 100644
--- a/erpnext/healthcare/doctype/physician_service_unit_schedule/physician_service_unit_schedule.json
+++ b/erpnext/healthcare/doctype/physician_service_unit_schedule/physician_service_unit_schedule.json
@@ -41,6 +41,7 @@
    "reqd": 1, 
    "search_index": 0, 
    "set_only_once": 0, 
+   "translatable": 0, 
    "unique": 0
   }, 
   {
@@ -61,7 +62,7 @@
    "label": "Service Unit", 
    "length": 0, 
    "no_copy": 0, 
-   "options": "Patient Service Unit", 
+   "options": "Healthcare Service Unit", 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 0, 
@@ -72,6 +73,7 @@
    "reqd": 0, 
    "search_index": 0, 
    "set_only_once": 0, 
+   "translatable": 0, 
    "unique": 0
   }
  ], 
@@ -85,7 +87,7 @@
  "issingle": 0, 
  "istable": 1, 
  "max_attachments": 0, 
- "modified": "2017-12-27 10:57:42.301295", 
+ "modified": "2018-05-02 03:38:09.935153", 
  "modified_by": "Administrator", 
  "module": "Healthcare", 
  "name": "Physician Service Unit Schedule", 
diff --git a/erpnext/healthcare/doctype/patient_service_unit/__init__.py b/erpnext/healthcare/doctype/procedure_prescription/__init__.py
similarity index 100%
copy from erpnext/healthcare/doctype/patient_service_unit/__init__.py
copy to erpnext/healthcare/doctype/procedure_prescription/__init__.py
diff --git a/erpnext/healthcare/doctype/procedure_prescription/procedure_prescription.json b/erpnext/healthcare/doctype/procedure_prescription/procedure_prescription.json
new file mode 100644
index 0000000..cbe4200
--- /dev/null
+++ b/erpnext/healthcare/doctype/procedure_prescription/procedure_prescription.json
@@ -0,0 +1,262 @@
+{
+ "allow_copy": 1, 
+ "allow_guest_to_view": 0, 
+ "allow_import": 0, 
+ "allow_rename": 0, 
+ "beta": 1, 
+ "creation": "2017-11-17 15:52:48.324157", 
+ "custom": 0, 
+ "docstatus": 0, 
+ "doctype": "DocType", 
+ "document_type": "", 
+ "editable_grid": 1, 
+ "engine": "InnoDB", 
+ "fields": [
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "procedure", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 1, 
+   "in_standard_filter": 0, 
+   "label": "Procedure", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Clinical Procedure Template", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "procedure_name", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 1, 
+   "in_standard_filter": 0, 
+   "label": "Procedure Name", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "procedure.template", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "department", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Department", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Medical Department", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "physician", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 1, 
+   "in_standard_filter": 0, 
+   "label": "Physician", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Physician", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "date", 
+   "fieldtype": "Date", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 1, 
+   "in_standard_filter": 0, 
+   "label": "Date", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "comments", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 1, 
+   "in_standard_filter": 0, 
+   "label": "Comments", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "appointment_booked", 
+   "fieldtype": "Check", 
+   "hidden": 1, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Appointment Booked", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }
+ ], 
+ "has_web_view": 0, 
+ "hide_heading": 0, 
+ "hide_toolbar": 0, 
+ "idx": 0, 
+ "image_view": 0, 
+ "in_create": 0, 
+ "is_submittable": 0, 
+ "issingle": 0, 
+ "istable": 1, 
+ "max_attachments": 0, 
+ "modified": "2018-05-01 23:15:54.775612", 
+ "modified_by": "Administrator", 
+ "module": "Healthcare", 
+ "name": "Procedure Prescription", 
+ "name_case": "", 
+ "owner": "Administrator", 
+ "permissions": [], 
+ "quick_entry": 0, 
+ "read_only": 0, 
+ "read_only_onload": 0, 
+ "show_name_in_global_search": 0, 
+ "sort_field": "modified", 
+ "sort_order": "DESC", 
+ "track_changes": 1, 
+ "track_seen": 0
+}
\ No newline at end of file
diff --git a/erpnext/healthcare/doctype/procedure_prescription/procedure_prescription.py b/erpnext/healthcare/doctype/procedure_prescription/procedure_prescription.py
new file mode 100644
index 0000000..62ea9f1
--- /dev/null
+++ b/erpnext/healthcare/doctype/procedure_prescription/procedure_prescription.py
@@ -0,0 +1,9 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+from frappe.model.document import Document
+
+class ProcedurePrescription(Document):
+	pass
diff --git a/erpnext/healthcare/setup.py b/erpnext/healthcare/setup.py
index fca1270..f30f42c 100644
--- a/erpnext/healthcare/setup.py
+++ b/erpnext/healthcare/setup.py
@@ -17,6 +17,7 @@
 	create_lab_test_items()
 	create_lab_test_template()
 	create_sensitivity()
+	add_healthcare_service_unit_tree_root()
 
 def create_medical_departments():
 	departments = [
@@ -260,3 +261,13 @@
 		{"doctype": "Sensitivity", "sensitivity": _("Intermediate")}
 	]
 	insert_record(records)
+
+def add_healthcare_service_unit_tree_root():
+	record = [
+	 {
+	  "doctype": "Healthcare Service Unit",
+	  "healthcare_service_unit_name": "All Healthcare Service Unit",
+	  "is_group": 1
+	 }
+	]
+	insert_record(record)
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index fa2251f..abee28f 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -527,6 +527,7 @@
 erpnext.patches.v10_1.drop_old_subscription_records
 erpnext.patches.v11_0.update_brand_in_item_price
 erpnext.patches.v11_0.create_default_success_action
+erpnext.patches.v11_0.add_healthcare_service_unit_tree_root
 erpnext.patches.v10_0.set_qty_in_transactions_based_on_serial_no_input
 erpnext.patches.v10_0.show_leaves_of_all_department_members_in_calendar
 erpnext.patches.v11_0.rename_field_max_days_allowed
diff --git a/erpnext/patches/v11_0/add_healthcare_service_unit_tree_root.py b/erpnext/patches/v11_0/add_healthcare_service_unit_tree_root.py
new file mode 100644
index 0000000..17368bf
--- /dev/null
+++ b/erpnext/patches/v11_0/add_healthcare_service_unit_tree_root.py
@@ -0,0 +1,13 @@
+import frappe
+from frappe import _
+
+def execute():
+	""" assign lft and rgt appropriately """
+	frappe.reload_doc("healthcare", "doctype", "healthcare_service_unit")
+
+	if not frappe.db.exists("Healthcare Service Unit", _('All Healthcare Service Unit')):
+		frappe.get_doc({
+			'doctype': 'Healthcare Service Unit',
+			'healthcare_service_unit_name': _('All Healthcare Service Unit'),
+			'is_group': 1
+		}).insert(ignore_permissions=True)
