diff --git a/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit.json b/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit.json
index a7e6932..79af7ae 100644
--- a/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit.json
+++ b/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit.json
@@ -116,7 +116,7 @@
    "allow_bulk_edit": 0, 
    "allow_in_quick_entry": 0, 
    "allow_on_submit": 0, 
-   "bold": 0, 
+   "bold": 1, 
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "eval:doc.is_group != 1", 
@@ -461,7 +461,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2018-07-30 15:09:57.016256", 
+ "modified": "2018-08-01 17:32:53.968441", 
  "modified_by": "Administrator", 
  "module": "Healthcare", 
  "name": "Healthcare Service Unit", 
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
index 4eb9475..a03b579 100644
--- a/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit_tree.js
+++ b/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit_tree.js
@@ -1,3 +1,35 @@
 frappe.treeview_settings["Healthcare Service Unit"] = {
-	ignore_fields:["parent_healthcare_service_unit"]
+	breadcrumbs: "Healthcare Service Unit",
+	title: __("Healthcare Service Unit"),
+	get_tree_root: false,
+	filters: [{
+		fieldname: "company",
+		fieldtype: "Select",
+		options: erpnext.utils.get_tree_options("company"),
+		label: __("Company"),
+		default: erpnext.utils.get_tree_default("company")
+	}],
+	get_tree_nodes: 'erpnext.healthcare.utils.get_children',
+	ignore_fields:["parent_healthcare_service_unit"],
+	onrender: function(node) {
+		if (node.data.occupied_out_of_vacant!==undefined){
+			$('<span class="balance-area pull-right text-muted small">'
+				+ " " + node.data.occupied_out_of_vacant
+				+ '</span>').insertBefore(node.$ul);
+		}
+		if (node.data && node.data.inpatient_occupancy!==undefined) {
+			if (node.data.inpatient_occupancy == 1){
+				if (node.data.occupancy_status == "Occupied"){
+					$('<span class="balance-area pull-right small">'
+						+ " " + node.data.occupancy_status
+						+ '</span>').insertBefore(node.$ul);
+				}
+				if (node.data.occupancy_status == "Vacant"){
+					$('<span class="balance-area pull-right text-muted small">'
+						+ " " + node.data.occupancy_status
+						+ '</span>').insertBefore(node.$ul);
+				}
+			}
+		}
+	},
 };
diff --git a/erpnext/healthcare/utils.py b/erpnext/healthcare/utils.py
index b6b7330..3372e1d 100644
--- a/erpnext/healthcare/utils.py
+++ b/erpnext/healthcare/utils.py
@@ -350,3 +350,52 @@
 						item_to_invoice.append({'drug_code': drug_line.drug_code, 'quantity': qty,
 						'description': drug_line.dosage+" for "+drug_line.period})
 				return item_to_invoice
+
+@frappe.whitelist()
+def get_children(doctype, parent, company, is_root=False):
+	parent_fieldname = 'parent_' + doctype.lower().replace(' ', '_')
+	fields = [
+		'name as value',
+		'is_group as expandable',
+		'lft',
+		'rgt'
+	]
+	# fields = [ 'name', 'is_group', 'lft', 'rgt' ]
+	filters = [['ifnull(`{0}`,"")'.format(parent_fieldname), '=', '' if is_root else parent]]
+
+	if is_root:
+		fields += ['service_unit_type'] if doctype == 'Healthcare Service Unit' else []
+		filters.append(['company', '=', company])
+
+	else:
+		fields += ['service_unit_type', 'allow_appointments', 'inpatient_occupancy', 'occupancy_status'] if doctype == 'Healthcare Service Unit' else []
+		fields += [parent_fieldname + ' as parent']
+
+	hc_service_units = frappe.get_list(doctype, fields=fields, filters=filters)
+
+	if doctype == 'Healthcare Service Unit':
+		for each in hc_service_units:
+			occupancy_msg = ""
+			if each['expandable'] == 1:
+				occupied = False
+				vacant = False
+				child_list = frappe.db.sql("""
+					select name, occupancy_status from `tabHealthcare Service Unit`
+					where inpatient_occupancy = 1 and
+					lft > %s and rgt < %s""",
+					(each['lft'], each['rgt']))
+				for child in child_list:
+					print child[0], child[1]
+					if not occupied:
+						occupied = 0
+					if child[1] == "Occupied":
+						occupied += 1
+					if not vacant:
+						vacant = 0
+					if child[1] == "Vacant":
+						vacant += 1
+				if vacant and occupied:
+					occupancy_total = vacant+occupied
+					occupancy_msg = str(occupied) + " Occupied out of " + str(occupancy_total)
+			each["occupied_out_of_vacant"] = occupancy_msg
+	return hc_service_units
