def METHOD_NAME(filters):
	employee = frappe.qb.DocType("Employee")
	interview = frappe.qb.DocType("Exit Interview")
	fnf = frappe.qb.DocType("Full and Final Statement")
	query = (
		frappe.qb.from_(employee)
		.left_join(interview)
		.on(interview.employee == employee.name)
		.left_join(fnf)
		.on(fnf.employee == employee.name)
		.select(
			employee.name.as_("employee"),
			employee.employee_name.as_("employee_name"),
			employee.date_of_joining.as_("date_of_joining"),
			employee.relieving_date.as_("relieving_date"),
			employee.department.as_("department"),
			employee.designation.as_("designation"),
			employee.reports_to.as_("reports_to"),
			interview.name.as_("exit_interview"),
			interview.status.as_("interview_status"),
			interview.employee_status.as_("employee_status"),
			interview.reference_document_name.as_("questionnaire"),
			fnf.name.as_("full_and_final_statement"),
		)
		.distinct()
		.where(
			(fn.Coalesce(fn.Cast(employee.relieving_date, "char"), "") != "")
			& ((interview.name.isnull()) | ((interview.name.isnotnull()) & (interview.docstatus != 2)))
			& ((fnf.name.isnull()) | ((fnf.name.isnotnull()) & (fnf.docstatus != 2)))
		)
		.orderby(employee.relieving_date, order=Order.asc)
	)
	query = get_conditions(filters, query, employee, interview, fnf)
	result = query.run(as_dict=True)
	return result