refactor: Patient Encounter

This commit is contained in:
Rucha Mahabal 2020-02-26 16:05:43 +05:30
parent 63d987f345
commit 22351adac5
12 changed files with 724 additions and 2356 deletions

View File

@ -1,140 +1,56 @@
{ {
"actions": [],
"allow_copy": 1, "allow_copy": 1,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
"beta": 1, "beta": 1,
"creation": "2017-06-22 13:09:23.159579", "creation": "2017-06-22 13:09:23.159579",
"custom": 0,
"docstatus": 0,
"doctype": "DocType", "doctype": "DocType",
"document_type": "",
"editable_grid": 1, "editable_grid": 1,
"engine": "InnoDB", "engine": "InnoDB",
"field_order": [
"medical_code",
"code",
"description"
],
"fields": [ "fields": [
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "medical_code", "fieldname": "medical_code",
"fieldtype": "Link", "fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 1, "ignore_user_permissions": 1,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1, "in_list_view": 1,
"in_standard_filter": 0,
"label": "Medical Code", "label": "Medical Code",
"length": 0,
"no_copy": 0,
"options": "Medical Code", "options": "Medical Code",
"permlevel": 0, "reqd": 1
"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,
"fetch_from": "medical_code.code", "fetch_from": "medical_code.code",
"fieldname": "code", "fieldname": "code",
"fieldtype": "Read Only", "fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 1, "ignore_xss_filter": 1,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1, "in_list_view": 1,
"in_standard_filter": 0,
"label": "Code", "label": "Code",
"length": 0, "read_only": 1
"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,
"fetch_from": "medical_code.description", "fetch_from": "medical_code.description",
"fieldname": "description", "fieldname": "description",
"fieldtype": "Read Only", "fieldtype": "Small Text",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 1, "ignore_xss_filter": 1,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1, "in_list_view": 1,
"in_standard_filter": 0,
"label": "Description", "label": "Description",
"length": 0, "read_only": 1
"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
} }
], ],
"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, "istable": 1,
"max_attachments": 0, "links": [],
"modified": "2018-05-16 22:43:27.047479", "modified": "2020-02-26 13:17:49.016293",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Healthcare", "module": "Healthcare",
"name": "Codification Table", "name": "Codification Table",
"name_case": "",
"owner": "Administrator", "owner": "Administrator",
"permissions": [], "permissions": [],
"quick_entry": 1, "quick_entry": 1,
"read_only": 0,
"read_only_onload": 0,
"restrict_to_domain": "Healthcare", "restrict_to_domain": "Healthcare",
"show_name_in_global_search": 0,
"sort_field": "modified", "sort_field": "modified",
"sort_order": "DESC", "sort_order": "DESC",
"track_changes": 1, "track_changes": 1
"track_seen": 0
} }

View File

@ -1,381 +1,116 @@
{ {
"actions": [],
"allow_copy": 1, "allow_copy": 1,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
"beta": 1, "beta": 1,
"creation": "2016-09-16 16:41:45.533374", "creation": "2016-09-16 16:41:45.533374",
"custom": 0,
"docstatus": 0,
"doctype": "DocType", "doctype": "DocType",
"document_type": "Document", "document_type": "Document",
"editable_grid": 1, "editable_grid": 1,
"engine": "InnoDB", "engine": "InnoDB",
"field_order": [
"drug_code",
"drug_name",
"dosage",
"period",
"dosage_form",
"column_break_7",
"comment",
"usage_interval",
"interval",
"interval_uom",
"update_schedule"
],
"fields": [ "fields": [
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "drug_code", "fieldname": "drug_code",
"fieldtype": "Link", "fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 1, "ignore_user_permissions": 1,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1, "in_list_view": 1,
"in_standard_filter": 0, "label": "Drug",
"label": "Drug Code", "options": "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": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
}, },
{ {
"allow_bulk_edit": 0, "fetch_from": "drug_code.item_name",
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "drug_name", "fieldname": "drug_name",
"fieldtype": "Data", "fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1, "in_list_view": 1,
"in_standard_filter": 0, "label": "Drug Name / Description",
"label": "Description/Strength", "reqd": 1
"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,
"unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "dosage", "fieldname": "dosage",
"fieldtype": "Link", "fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 1, "ignore_user_permissions": 1,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1, "in_list_view": 1,
"in_standard_filter": 0,
"label": "Dosage", "label": "Dosage",
"length": 0, "options": "Prescription Dosage"
"no_copy": 0,
"options": "Prescription Dosage",
"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": "period", "fieldname": "period",
"fieldtype": "Link", "fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 1, "ignore_user_permissions": 1,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1, "in_list_view": 1,
"in_standard_filter": 0,
"label": "Period", "label": "Period",
"length": 0, "options": "Prescription Duration"
"no_copy": 0,
"options": "Prescription Duration",
"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": "dosage_form", "fieldname": "dosage_form",
"fieldtype": "Link", "fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 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": "Dosage Form", "label": "Dosage Form",
"length": 0, "options": "Dosage Form"
"no_copy": 0,
"options": "Dosage Form",
"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": "column_break_7", "fieldname": "column_break_7",
"fieldtype": "Column Break", "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,
"unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "comment", "fieldname": "comment",
"fieldtype": "Small Text", "fieldtype": "Small Text",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 1, "ignore_xss_filter": 1,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1, "in_list_view": 1,
"in_standard_filter": 0, "label": "Comment"
"label": "Comment",
"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,
"default": "0",
"fieldname": "use_interval",
"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": "Dosage by time interval",
"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,
"depends_on": "use_interval", "depends_on": "use_interval",
"fieldname": "interval", "fieldname": "interval",
"fieldtype": "Int", "fieldtype": "Int",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1, "in_list_view": 1,
"in_standard_filter": 0, "label": "Interval"
"label": "Interval",
"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,
"depends_on": "use_interval",
"fieldname": "in_every",
"fieldtype": "Select",
"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": "Interval UOM",
"length": 0,
"no_copy": 0,
"options": "\nHour\nDay",
"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,
"default": "1", "default": "1",
"fieldname": "update_schedule", "fieldname": "update_schedule",
"fieldtype": "Check", "fieldtype": "Check",
"hidden": 1, "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": "Update Schedule", "label": "Update Schedule",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 1, "print_hide": 1,
"print_hide_if_no_value": 0, "report_hide": 1
"read_only": 0, },
"remember_last_selected_value": 0, {
"report_hide": 1, "depends_on": "use_interval",
"reqd": 0, "fieldname": "interval_uom",
"search_index": 0, "fieldtype": "Select",
"set_only_once": 0, "in_list_view": 1,
"unique": 0 "label": "Interval UOM",
"options": "\nHour\nDay"
},
{
"default": "0",
"fieldname": "usage_interval",
"fieldtype": "Check",
"label": "Dosage by Time Interval"
} }
], ],
"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, "istable": 1,
"max_attachments": 0, "links": [],
"modified": "2017-10-04 17:09:54.998517", "modified": "2020-02-26 15:33:29.365369",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Healthcare", "module": "Healthcare",
"name": "Drug Prescription", "name": "Drug Prescription",
"name_case": "",
"owner": "Administrator", "owner": "Administrator",
"permissions": [], "permissions": [],
"quick_entry": 0,
"read_only": 0,
"read_only_onload": 0,
"restrict_to_domain": "Healthcare", "restrict_to_domain": "Healthcare",
"show_name_in_global_search": 0,
"sort_field": "modified", "sort_field": "modified",
"sort_order": "DESC", "sort_order": "DESC"
"track_changes": 0,
"track_seen": 0
} }

View File

@ -12,21 +12,21 @@ class DrugPrescription(Document):
dosage = None dosage = None
period = None period = None
if(self.dosage): if self.dosage:
dosage = frappe.get_doc("Prescription Dosage",self.dosage) dosage = frappe.get_doc('Prescription Dosage', self.dosage)
for item in dosage.dosage_strength: for item in dosage.dosage_strength:
quantity += item.strength quantity += item.strength
if(self.period and self.interval): if self.period and self.interval:
period = frappe.get_doc("Prescription Duration",self.period) period = frappe.get_doc('Prescription Duration', self.period)
if(self.interval < period.get_days()): if self.interval < period.get_days():
quantity = quantity*(period.get_days()/self.interval) quantity = quantity * (period.get_days()/self.interval)
elif(self.interval and self.in_every and self.period): elif self.interval and self.interval_uom and self.period:
period = frappe.get_doc("Prescription Duration",self.period) period = frappe.get_doc('Prescription Duration', self.period)
interval_in = self.in_every interval_in = self.interval_uom
if(interval_in == 'Day' and (self.interval < period.get_days())): if interval_in == 'Day' and self.interval < period.get_days():
quantity = period.get_days()/self.interval quantity = period.get_days()/self.interval
elif(interval_in == 'Hour' and (self.interval < period.get_hours())): elif interval_in == 'Hour' and self.interval < period.get_hours():
quantity = period.get_hours()/self.interval quantity = period.get_hours()/self.interval
if quantity > 0: if quantity > 0:
return quantity return quantity

View File

@ -1,238 +1,77 @@
{ {
"actions": [],
"allow_copy": 1, "allow_copy": 1,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
"beta": 1, "beta": 1,
"creation": "2016-09-16 16:53:06.882970", "creation": "2016-09-16 16:53:06.882970",
"custom": 0,
"docstatus": 0,
"doctype": "DocType", "doctype": "DocType",
"document_type": "Document", "document_type": "Document",
"editable_grid": 1, "editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"lab_test_code",
"lab_test_name",
"invoiced",
"column_break_4",
"lab_test_comment",
"lab_test_created"
],
"fields": [ "fields": [
{ {
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "lab_test_code", "fieldname": "lab_test_code",
"fieldtype": "Link", "fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 1, "ignore_user_permissions": 1,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1, "in_list_view": 1,
"in_standard_filter": 0, "label": "Lab Test",
"label": "Test Code", "options": "Lab Test Template"
"length": 0,
"no_copy": 0,
"options": "Lab Test 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_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_from": "lab_test_code.lab_test_name", "fetch_from": "lab_test_code.lab_test_name",
"fieldname": "lab_test_name", "fieldname": "lab_test_name",
"fieldtype": "Data", "fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1, "in_list_view": 1,
"in_standard_filter": 0, "label": "Lab Test Name"
"label": "Test",
"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_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "0", "default": "0",
"fieldname": "invoiced", "fieldname": "invoiced",
"fieldtype": "Check", "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": "Invoiced", "label": "Invoiced",
"length": 0,
"no_copy": 1, "no_copy": 1,
"options": "",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1, "read_only": 1,
"remember_last_selected_value": 0, "search_index": 1
"report_hide": 0,
"reqd": 0,
"search_index": 1,
"set_only_once": 0,
"translatable": 0,
"unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "column_break_4", "fieldname": "column_break_4",
"fieldtype": "Column Break", "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_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "lab_test_comment", "fieldname": "lab_test_comment",
"fieldtype": "Small Text", "fieldtype": "Small Text",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 1, "ignore_xss_filter": 1,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1, "in_list_view": 1,
"in_standard_filter": 0, "label": "Comments"
"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, "default": "0",
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "lab_test_created", "fieldname": "lab_test_created",
"fieldtype": "Check", "fieldtype": "Check",
"hidden": 1, "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": "Test Created", "label": "Test Created",
"length": 0,
"no_copy": 1, "no_copy": 1,
"permlevel": 0,
"precision": "",
"print_hide": 1, "print_hide": 1,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 1, "report_hide": 1,
"reqd": 0, "search_index": 1
"search_index": 1,
"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, "istable": 1,
"max_attachments": 0, "links": [],
"modified": "2018-09-04 09:02:18.592637", "modified": "2020-02-26 15:30:29.847503",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Healthcare", "module": "Healthcare",
"name": "Lab Prescription", "name": "Lab Prescription",
"name_case": "",
"owner": "Administrator", "owner": "Administrator",
"permissions": [], "permissions": [],
"quick_entry": 0,
"read_only": 0,
"read_only_onload": 0,
"restrict_to_domain": "Healthcare", "restrict_to_domain": "Healthcare",
"show_name_in_global_search": 0,
"sort_field": "modified", "sort_field": "modified",
"sort_order": "DESC", "sort_order": "DESC"
"track_changes": 0,
"track_seen": 0,
"track_views": 0
} }

View File

@ -100,9 +100,9 @@
}, },
{ {
"fieldname": "sex", "fieldname": "sex",
"fieldtype": "Select", "fieldtype": "Link",
"label": "Gender", "label": "Gender",
"options": "\nMale\nFemale\nOther", "options": "Gender",
"reqd": 1 "reqd": 1
}, },
{ {
@ -362,7 +362,7 @@
"image_field": "image", "image_field": "image",
"links": [], "links": [],
"max_attachments": 50, "max_attachments": 50,
"modified": "2020-02-25 12:07:41.751539", "modified": "2020-02-25 17:56:46.351080",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Healthcare", "module": "Healthcare",
"name": "Patient", "name": "Patient",

View File

@ -2,13 +2,14 @@
"actions": [], "actions": [],
"allow_copy": 1, "allow_copy": 1,
"allow_import": 1, "allow_import": 1,
"autoname": "OP-.######", "autoname": "naming_series:",
"beta": 1, "beta": 1,
"creation": "2017-05-04 11:52:40.941507", "creation": "2017-05-04 11:52:40.941507",
"doctype": "DocType", "doctype": "DocType",
"document_type": "Document", "document_type": "Document",
"engine": "InnoDB", "engine": "InnoDB",
"field_order": [ "field_order": [
"naming_series",
"patient", "patient",
"patient_name", "patient_name",
"patient_sex", "patient_sex",
@ -89,7 +90,7 @@
"in_filter": 1, "in_filter": 1,
"in_list_view": 1, "in_list_view": 1,
"label": "Status", "label": "Status",
"options": "\nScheduled\nOpen\nClosed\nCancelled", "options": "\nScheduled\nOpen\nClosed\nExpired\nCancelled",
"read_only": 1, "read_only": 1,
"search_index": 1 "search_index": 1
}, },
@ -185,9 +186,10 @@
{ {
"fetch_from": "patient.sex", "fetch_from": "patient.sex",
"fieldname": "patient_sex", "fieldname": "patient_sex",
"fieldtype": "Data", "fieldtype": "Link",
"label": "Gender", "label": "Gender",
"no_copy": 1, "no_copy": 1,
"options": "Gender",
"print_hide": 1, "print_hide": 1,
"read_only": 1, "read_only": 1,
"report_hide": 1 "report_hide": 1
@ -274,10 +276,17 @@
"label": "Reference Sales Invoice", "label": "Reference Sales Invoice",
"options": "Sales Invoice", "options": "Sales Invoice",
"read_only": 1 "read_only": 1
},
{
"fieldname": "naming_series",
"fieldtype": "Select",
"label": "Series",
"options": "HLC-APP-.YYYY.-",
"set_only_once": 1
} }
], ],
"links": [], "links": [],
"modified": "2020-02-25 13:09:50.055119", "modified": "2020-02-25 17:57:56.971064",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Healthcare", "module": "Healthcare",
"name": "Patient Appointment", "name": "Patient Appointment",

View File

@ -72,7 +72,7 @@ class PatientAppointment(Document):
if frappe.db.get_single_value('Healthcare Settings', 'automate_appointment_invoicing'): if frappe.db.get_single_value('Healthcare Settings', 'automate_appointment_invoicing'):
if not frappe.db.get_value('Patient', self.patient, 'customer'): if not frappe.db.get_value('Patient', self.patient, 'customer'):
msg = _("Please create a Customer linked to the Patient") msg = _("Please create a Customer linked to the Patient")
msg += " <b><a href='#Form/Patient/'>{0}</a></b>".format(self.patient) msg += " <b><a href='#Form/Patient/{0}'>{0}</a></b>".format(self.patient)
frappe.throw(msg, title=_('Customer Not Found')) frappe.throw(msg, title=_('Customer Not Found'))
def update_prescription_details(self): def update_prescription_details(self):
@ -351,7 +351,7 @@ def make_encounter(source_name, target_doc=None):
['appointment', 'name'], ['appointment', 'name'],
['patient', 'patient'], ['patient', 'patient'],
['practitioner', 'practitioner'], ['practitioner', 'practitioner'],
['visit_department', 'department'], ['medical_department', 'department'],
['patient_sex', 'patient_sex'], ['patient_sex', 'patient_sex'],
['encounter_date', 'appointment_date'], ['encounter_date', 'appointment_date'],
['invoiced', 'invoiced'] ['invoiced', 'invoiced']

View File

@ -21,26 +21,18 @@ frappe.ui.form.on('Patient Encounter', {
refresh_field('lab_test_prescription'); refresh_field('lab_test_prescription');
if (!frm.doc.__islocal) { if (!frm.doc.__islocal) {
frappe.call({
method: 'frappe.client.get_value', if (frm.doc.inpatient_record) {
args: { if (frm.doc.inpatient_status == 'Admission Scheduled' || data.message.inpatient_status == 'Admitted') {
doctype: 'Patient', frm.add_custom_button(__('Schedule Discharge'), function() {
fieldname: 'inpatient_status', schedule_discharge(frm);
filters: {name: frm.doc.patient} });
}, } else if (frm.doc.inpatient_status != 'Discharge Scheduled') {
callback: function(data) { frm.add_custom_button(__('Schedule Admission'), function() {
if (data.message && data.message.inpatient_status == 'Admission Scheduled' || data.message.inpatient_status == 'Admitted') { schedule_inpatient(frm);
frm.add_custom_button(__('Schedule Discharge'), function() { });
schedule_discharge(frm);
});
}
else if (data.message.inpatient_status != 'Discharge Scheduled') {
frm.add_custom_button(__('Schedule Admission'), function() {
schedule_inpatient(frm);
});
}
} }
}); }
frm.add_custom_button(__('Patient History'), function() { frm.add_custom_button(__('Patient History'), function() {
if (frm.doc.patient) { if (frm.doc.patient) {
@ -52,15 +44,15 @@ frappe.ui.form.on('Patient Encounter', {
},'View'); },'View');
frm.add_custom_button(__('Vital Signs'), function() { frm.add_custom_button(__('Vital Signs'), function() {
btn_create_vital_signs(frm); create_vital_signs(frm);
},'Create'); },'Create');
frm.add_custom_button(__('Medical Record'), function() { frm.add_custom_button(__('Medical Record'), function() {
create_medical_record(frm); create_medical_record(frm);
},'Create'); },'Create');
frm.add_custom_button(__('Procedure'), function() { frm.add_custom_button(__('Clinical Procedure'), function() {
btn_create_procedure(frm); create_procedure(frm);
},'Create'); },'Create');
} }
@ -70,27 +62,23 @@ frappe.ui.form.on('Patient Encounter', {
filters: {'status': 'Active'} filters: {'status': 'Active'}
}; };
}); });
frm.set_query('drug_code', 'drug_prescription', function() { frm.set_query('drug_code', 'drug_prescription', function() {
return { return {
filters: { filters: {
is_stock_item: '1' is_stock_item: 1
} }
}; };
}); });
frm.set_query('lab_test_code', 'lab_test_prescription', function() { frm.set_query('lab_test_code', 'lab_test_prescription', function() {
return { return {
filters: { filters: {
is_billable:'1' is_billable: 1
}
};
});
frm.set_query('medical_code', 'codification_table', function() {
return {
filters: {
medical_code_standard: frappe.defaults.get_default('default_medical_code_standard')
} }
}; };
}); });
frm.set_query('appointment', function() { frm.set_query('appointment', function() {
return { return {
filters: { filters: {
@ -134,6 +122,8 @@ frappe.ui.form.on('Patient Encounter', {
frappe.model.set_value(frm.doctype, frm.docname, 'invoiced', 0); frappe.model.set_value(frm.doctype, frm.docname, 'invoiced', 0);
frappe.model.set_value(frm.doctype, frm.docname, 'patient_sex', ''); frappe.model.set_value(frm.doctype, frm.docname, 'patient_sex', '');
frappe.model.set_value(frm.doctype, frm.docname, 'patient_age', ''); frappe.model.set_value(frm.doctype, frm.docname, 'patient_age', '');
frappe.model.set_value(frm.doctype, frm.docname, 'inpatient_record', '');
frappe.model.set_value(frm.doctype, frm.docname, 'inpatient_status', '');
} }
}, },
@ -145,22 +135,28 @@ frappe.ui.form.on('Patient Encounter', {
patient: frm.doc.patient patient: frm.doc.patient
}, },
callback: function(data) { callback: function(data) {
var age = ''; let age = '';
if (data.message.dob) { if (data.message.dob) {
age = calculate_age(data.message.dob); age = calculate_age(data.message.dob);
} }
frappe.model.set_value(frm.doctype, frm.docname, 'patient_age', age); frappe.model.set_value(frm.doctype, frm.docname, 'patient_age', age);
frappe.model.set_value(frm.doctype, frm.docname, 'patient_sex', data.message.sex); frappe.model.set_value(frm.doctype, frm.docname, 'patient_sex', data.message.sex);
if (data.message.inpatient_record) {
frappe.model.set_value(frm.doctype, frm.docname, 'inpatient_record', data.message.inpatient_record);
frappe.model.set_value(frm.doctype, frm.docname, 'inpatient_status', data.message.inpatient_status);
}
} }
}); });
} else { } else {
frappe.model.set_value(frm.doctype, frm.docname, 'patient_sex', ''); frappe.model.set_value(frm.doctype, frm.docname, 'patient_sex', '');
frappe.model.set_value(frm.doctype, frm.docname, 'patient_age', ''); frappe.model.set_value(frm.doctype, frm.docname, 'patient_age', '');
frappe.model.set_value(frm.doctype, frm.docname, 'inpatient_record', '');
frappe.model.set_value(frm.doctype, frm.docname, 'inpatient_status', '');
} }
} }
}); });
var schedule_inpatient = function(frm) { let schedule_inpatient = function(frm) {
frappe.call({ frappe.call({
method: 'erpnext.healthcare.doctype.inpatient_record.inpatient_record.schedule_inpatient', method: 'erpnext.healthcare.doctype.inpatient_record.inpatient_record.schedule_inpatient',
args: {patient: frm.doc.patient, encounter_id: frm.doc.name, practitioner: frm.doc.practitioner}, args: {patient: frm.doc.patient, encounter_id: frm.doc.name, practitioner: frm.doc.practitioner},
@ -174,7 +170,7 @@ var schedule_inpatient = function(frm) {
}); });
}; };
var schedule_discharge = function(frm) { let schedule_discharge = function(frm) {
frappe.call({ frappe.call({
method: 'erpnext.healthcare.doctype.inpatient_record.inpatient_record.schedule_discharge', method: 'erpnext.healthcare.doctype.inpatient_record.inpatient_record.schedule_discharge',
args: {patient: frm.doc.patient, encounter_id: frm.doc.name, practitioner: frm.doc.practitioner}, args: {patient: frm.doc.patient, encounter_id: frm.doc.name, practitioner: frm.doc.practitioner},
@ -188,7 +184,7 @@ var schedule_discharge = function(frm) {
}); });
}; };
var create_medical_record = function (frm) { let create_medical_record = function (frm) {
if (!frm.doc.patient) { if (!frm.doc.patient) {
frappe.throw(__('Please select patient')); frappe.throw(__('Please select patient'));
} }
@ -201,7 +197,7 @@ var create_medical_record = function (frm) {
frappe.new_doc('Patient Medical Record'); frappe.new_doc('Patient Medical Record');
}; };
var btn_create_vital_signs = function (frm) { let create_vital_signs = function (frm) {
if (!frm.doc.patient) { if (!frm.doc.patient) {
frappe.throw(__('Please select patient')); frappe.throw(__('Please select patient'));
} }
@ -212,7 +208,7 @@ var btn_create_vital_signs = function (frm) {
frappe.new_doc('Vital Signs'); frappe.new_doc('Vital Signs');
}; };
var btn_create_procedure = function (frm) { let create_procedure = function (frm) {
if (!frm.doc.patient) { if (!frm.doc.patient) {
frappe.throw(__('Please select patient')); frappe.throw(__('Please select patient'));
} }
@ -223,25 +219,10 @@ var btn_create_procedure = function (frm) {
frappe.new_doc('Clinical Procedure'); frappe.new_doc('Clinical Procedure');
}; };
frappe.ui.form.on('Patient Encounter', 'practitioner', function(frm) {
if (frm.doc.practitioner) {
frappe.call({
'method': 'frappe.client.get',
args: {
doctype: 'Healthcare Practitioner',
name: frm.doc.practitioner
},
callback: function (data) {
frappe.model.set_value(frm.doctype,frm.docname, 'medical_department',data.message.department);
}
});
}
});
frappe.ui.form.on('Patient Encounter', 'symptoms_select', function(frm) { frappe.ui.form.on('Patient Encounter', 'symptoms_select', function(frm) {
if (frm.doc.symptoms_select) { if (frm.doc.symptoms_select) {
var symptoms = null; let symptoms = null;
if(frm.doc.symptoms) if (frm.doc.symptoms)
symptoms = frm.doc.symptoms + '\n' +frm.doc.symptoms_select; symptoms = frm.doc.symptoms + '\n' +frm.doc.symptoms_select;
else else
symptoms = frm.doc.symptoms_select; symptoms = frm.doc.symptoms_select;
@ -249,9 +230,10 @@ frappe.ui.form.on('Patient Encounter', 'symptoms_select', function(frm) {
frappe.model.set_value(frm.doctype,frm.docname, 'symptoms_select', null); frappe.model.set_value(frm.doctype,frm.docname, 'symptoms_select', null);
} }
}); });
frappe.ui.form.on('Patient Encounter', 'diagnosis_select', function(frm) { frappe.ui.form.on('Patient Encounter', 'diagnosis_select', function(frm) {
if (frm.doc.diagnosis_select) { if (frm.doc.diagnosis_select) {
var diagnosis = null; let diagnosis = null;
if(frm.doc.diagnosis) if(frm.doc.diagnosis)
diagnosis = frm.doc.diagnosis + '\n' +frm.doc.diagnosis_select; diagnosis = frm.doc.diagnosis + '\n' +frm.doc.diagnosis_select;
else else
@ -262,65 +244,30 @@ frappe.ui.form.on('Patient Encounter', 'diagnosis_select', function(frm) {
}); });
frappe.ui.form.on('Drug Prescription', { frappe.ui.form.on('Drug Prescription', {
drug_code: function(frm, cdt, cdn) {
var child = locals[cdt][cdn];
if (child.drug_code) {
frappe.call({
'method': 'frappe.client.get',
args: {
doctype: 'Item',
name: child.drug_code,
},
callback: function(data) {
frappe.model.set_value(cdt, cdn, 'drug_name',data.message.item_name);
}
});
}
},
dosage: function(frm, cdt, cdn){ dosage: function(frm, cdt, cdn){
frappe.model.set_value(cdt, cdn, 'update_schedule', 1); frappe.model.set_value(cdt, cdn, 'update_schedule', 1);
var child = locals[cdt][cdn]; let child = locals[cdt][cdn];
if (child.dosage) { if (child.dosage) {
frappe.model.set_value(cdt, cdn, 'in_every', 'Day'); frappe.model.set_value(cdt, cdn, 'interval_uom', 'Day');
frappe.model.set_value(cdt, cdn, 'interval', 1); frappe.model.set_value(cdt, cdn, 'interval', 1);
} }
}, },
period: function(frm, cdt, cdn) { period: function(frm, cdt, cdn) {
frappe.model.set_value(cdt, cdn, 'update_schedule', 1); frappe.model.set_value(cdt, cdn, 'update_schedule', 1);
}, },
in_every: function(frm, cdt, cdn) { interval_uom: function(frm, cdt, cdn) {
frappe.model.set_value(cdt, cdn, 'update_schedule', 1); frappe.model.set_value(cdt, cdn, 'update_schedule', 1);
var child = locals[cdt][cdn]; let child = locals[cdt][cdn];
if (child.in_every == 'Hour') { if (child.interval_uom == 'Hour') {
frappe.model.set_value(cdt, cdn, 'dosage', null); frappe.model.set_value(cdt, cdn, 'dosage', null);
} }
} }
}); });
frappe.ui.form.on('Procedure Prescription', { let calculate_age = function(birth) {
procedure: function(frm, cdt, cdn) { let ageMS = Date.parse(Date()) - Date.parse(birth);
var child = locals[cdt][cdn]; let age = new Date();
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);
var age = new Date();
age.setTime(ageMS); age.setTime(ageMS);
var years = age.getFullYear() - 1970; let years = age.getFullYear() - 1970;
return years + ' Year(s) ' + age.getMonth() + ' Month(s) ' + age.getDate() + ' Day(s)'; return years + ' Year(s) ' + age.getMonth() + ' Month(s) ' + age.getDate() + ' Day(s)';
}; };

View File

@ -9,56 +9,59 @@ from frappe.utils import cstr
class PatientEncounter(Document): class PatientEncounter(Document):
def on_update(self): def on_update(self):
if(self.appointment): if self.appointment:
frappe.db.set_value("Patient Appointment", self.appointment, "status", "Closed") frappe.db.set_value('Patient Appointment', self.appointment, 'status', 'Closed')
update_encounter_to_medical_record(self) update_encounter_medical_record(self)
def after_insert(self): def after_insert(self):
insert_encounter_to_medical_record(self) insert_encounter_medical_record(self)
def on_cancel(self): def on_cancel(self):
if(self.appointment): if self.appointment:
frappe.db.set_value("Patient Appointment", self.appointment, "status", "Open") frappe.db.set_value('Patient Appointment', self.appointment, 'status', 'Open')
delete_medical_record(self) delete_medical_record(self)
def insert_encounter_to_medical_record(doc): def insert_encounter_medical_record(doc):
subject = set_subject_field(doc) subject = set_subject_field(doc)
medical_record = frappe.new_doc("Patient Medical Record") medical_record = frappe.new_doc('Patient Medical Record')
medical_record.patient = doc.patient medical_record.patient = doc.patient
medical_record.subject = subject medical_record.subject = subject
medical_record.status = "Open" medical_record.status = 'Open'
medical_record.communication_date = doc.encounter_date medical_record.communication_date = doc.encounter_date
medical_record.reference_doctype = "Patient Encounter" medical_record.reference_doctype = 'Patient Encounter'
medical_record.reference_name = doc.name medical_record.reference_name = doc.name
medical_record.reference_owner = doc.owner medical_record.reference_owner = doc.owner
medical_record.save(ignore_permissions=True) medical_record.save(ignore_permissions=True)
def update_encounter_to_medical_record(encounter): def update_encounter_medical_record(encounter):
medical_record_id = frappe.db.sql("select name from `tabPatient Medical Record` where reference_name=%s", (encounter.name)) medical_record_id = frappe.db.exists('Patient Medical Record', {'reference_name': encounter.name})
if medical_record_id and medical_record_id[0][0]: if medical_record_id and medical_record_id[0][0]:
subject = set_subject_field(encounter) subject = set_subject_field(encounter)
frappe.db.set_value("Patient Medical Record", medical_record_id[0][0], "subject", subject) frappe.db.set_value('Patient Medical Record', medical_record_id[0][0], 'subject', subject)
else: else:
insert_encounter_to_medical_record(encounter) insert_encounter_to_medical_record(encounter)
def delete_medical_record(encounter): def delete_medical_record(encounter):
frappe.db.sql("""delete from `tabPatient Medical Record` where reference_name = %s""", (encounter.name)) frappe.db.delete_doc_if_exists('Patient Medical Record', 'reference_name', encounter.name)
def set_subject_field(encounter): def set_subject_field(encounter):
subject = encounter.practitioner+"<br/>" subject = encounter.practitioner + '\n'
if(encounter.symptoms): if encounter.symptoms:
subject += "Symptoms: "+ cstr(encounter.symptoms)+".<br/>" subject += 'Symptoms: '+ cstr(encounter.symptoms) + '\n'
else: else:
subject += "No Symptoms <br/>" subject += 'No Symptoms \n'
if(encounter.diagnosis):
subject += "Diagnosis: "+ cstr(encounter.diagnosis)+".<br/>" if encounter.diagnosis:
subject += 'Diagnosis: '+ cstr(encounter.diagnosis) + '\n'
else: else:
subject += "No Diagnosis <br/>" subject += 'No Diagnosis \n'
if(encounter.drug_prescription):
subject +="\nDrug(s) Prescribed. " if encounter.drug_prescription:
if(encounter.lab_test_prescription): subject += '\nDrug(s) Prescribed.'
subject += "\nTest(s) Prescribed." if encounter.lab_test_prescription:
if(encounter.procedure_prescription): subject += '\nTest(s) Prescribed.'
subject += "\nProcedure(s) Prescribed." if encounter.procedure_prescription:
subject += '\nProcedure(s) Prescribed.'
return subject return subject

View File

@ -1,338 +1,99 @@
{ {
"actions": [],
"allow_copy": 1, "allow_copy": 1,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
"beta": 1, "beta": 1,
"creation": "2017-11-17 15:52:48.324157", "creation": "2017-11-17 15:52:48.324157",
"custom": 0,
"docstatus": 0,
"doctype": "DocType", "doctype": "DocType",
"document_type": "",
"editable_grid": 1, "editable_grid": 1,
"engine": "InnoDB", "engine": "InnoDB",
"field_order": [
"procedure",
"procedure_name",
"department",
"practitioner",
"date",
"comments",
"appointment_booked",
"procedure_created",
"invoiced"
],
"fields": [ "fields": [
{ {
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "procedure", "fieldname": "procedure",
"fieldtype": "Link", "fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1, "in_list_view": 1,
"in_standard_filter": 0, "label": "Clinical Procedure",
"label": "Procedure",
"length": 0,
"no_copy": 0,
"options": "Clinical Procedure Template", "options": "Clinical Procedure Template",
"permlevel": 0, "reqd": 1
"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_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_from": "procedure.template", "fetch_from": "procedure.template",
"fieldname": "procedure_name", "fieldname": "procedure_name",
"fieldtype": "Data", "fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1, "in_list_view": 1,
"in_standard_filter": 0, "label": "Procedure Name"
"label": "Procedure 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": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
}, },
{ {
"allow_bulk_edit": 0, "fetch_from": "procedure.medical_department",
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "department", "fieldname": "department",
"fieldtype": "Link", "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", "label": "Department",
"length": 0, "options": "Medical Department"
"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_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "practitioner", "fieldname": "practitioner",
"fieldtype": "Link", "fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1, "in_list_view": 1,
"in_standard_filter": 0, "label": "Referring Practitioner",
"label": "Referral", "options": "Healthcare Practitioner"
"length": 0,
"no_copy": 0,
"options": "Healthcare Practitioner",
"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_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "date", "fieldname": "date",
"fieldtype": "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_list_view": 1,
"in_standard_filter": 0, "label": "Date"
"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_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "comments", "fieldname": "comments",
"fieldtype": "Data", "fieldtype": "Data",
"hidden": 0, "label": "Comments"
"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, "default": "0",
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "appointment_booked", "fieldname": "appointment_booked",
"fieldtype": "Check", "fieldtype": "Check",
"hidden": 1, "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", "label": "Appointment Booked",
"length": 0, "search_index": 1
"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, "default": "0",
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "procedure_created", "fieldname": "procedure_created",
"fieldtype": "Check", "fieldtype": "Check",
"hidden": 1, "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 Created", "label": "Procedure Created",
"length": 0,
"no_copy": 1, "no_copy": 1,
"permlevel": 0, "search_index": 1
"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_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "0", "default": "0",
"fieldname": "invoiced", "fieldname": "invoiced",
"fieldtype": "Check", "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": "Invoiced", "label": "Invoiced",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1, "read_only": 1,
"remember_last_selected_value": 0, "search_index": 1
"report_hide": 0,
"reqd": 0,
"search_index": 1,
"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, "istable": 1,
"max_attachments": 0, "links": [],
"modified": "2018-11-04 03:33:35.939816", "modified": "2020-02-26 15:42:33.988081",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Healthcare", "module": "Healthcare",
"name": "Procedure Prescription", "name": "Procedure Prescription",
"name_case": "",
"owner": "Administrator", "owner": "Administrator",
"permissions": [], "permissions": [],
"quick_entry": 0,
"read_only": 0,
"read_only_onload": 0,
"restrict_to_domain": "Healthcare", "restrict_to_domain": "Healthcare",
"show_name_in_global_search": 0,
"sort_field": "modified", "sort_field": "modified",
"sort_order": "DESC", "sort_order": "DESC",
"track_changes": 1, "track_changes": 1
"track_seen": 0,
"track_views": 0
} }

File diff suppressed because one or more lines are too long