gen visit
parent
156310367f
commit
63bdaff4d9
|
@ -0,0 +1,6 @@
|
|||
<action>
|
||||
<field name="string">Generate Visit</field>
|
||||
<field name="view_cls">form_view</field>
|
||||
<field name="model">clinic.gen.visit</field>
|
||||
<field name="menu">clinic_menu</field>
|
||||
</action>
|
|
@ -1,5 +1,5 @@
|
|||
<action>
|
||||
<field name="string">Treatments</field>
|
||||
<field name="string">HD Cases</field>
|
||||
<field name="view_cls">multi_view</field>
|
||||
<field name="model">clinic.hd.case</field>
|
||||
<field name="tabs">[["All",[]],["Draft",[["state","=","draft"]]],["In Progress",[["state","=","in_progress"]]],["Waiting Payment",[["state","=","waiting_payment"]]],["Completed",[["state","=","completed"]]],["In Completed",[["state","=","in_completed"]]]]</field>
|
||||
|
|
|
@ -1,28 +1,46 @@
|
|||
<form model="clinic.gen.visit">
|
||||
<group form_layout="stacked">
|
||||
<field name="date_from" onchange="onchange_time" span="6"/>
|
||||
<field name="date_to" onchange="onchange_dateto" span="6"/>
|
||||
<field name="cycle_id" onchange="onchange_time" span="6"/>
|
||||
<field name="duration" span="6"/>
|
||||
<field name="nurse_id" span="6"/>
|
||||
<field name="doctor_id" span="6"/>
|
||||
<field name="department_id" span="6"/>
|
||||
<field name="date_from" onchange="onchange_time" span="3"/>
|
||||
<field name="date_to" onchange="onchange_dateto" span="3"/>
|
||||
<field name="duration" span="3"/>
|
||||
<field name="cycle_id" onchange="onchange_time" span="3"/>
|
||||
<field name="doctor_id" span="3"/>
|
||||
<field name="department_id" span="3"/>
|
||||
<field name="patient_type" span="3"/>
|
||||
<field name="nurse_categ_id" span="3"/>
|
||||
</group>
|
||||
<separator string="Select Days"/>
|
||||
<field name="monday" span="4"/>
|
||||
<field name="tuesday" span="4"/>
|
||||
<field name="wednesday" span="4"/>
|
||||
<field name="thursday" span="4"/>
|
||||
<field name="friday" span="4"/>
|
||||
<field name="sathurday" span="4"/>
|
||||
<field name="sunday" span="4"/>
|
||||
<field name="lines" nolabel="1">
|
||||
<group form_layout="stacked">
|
||||
<field name="monday" span="3"/>
|
||||
<field name="tuesday" span="3"/>
|
||||
<field name="wednesday" span="3"/>
|
||||
<field name="thursday" span="3"/>
|
||||
<field name="friday" span="3"/>
|
||||
<field name="sathurday" span="3"/>
|
||||
<field name="sunday" span="3"/>
|
||||
</group>
|
||||
<tabs>
|
||||
<tab string="Patients">
|
||||
<group form_layout="stacked">
|
||||
<field name="patient_lines" nolabel="1">
|
||||
<list>
|
||||
<field name="patient_id"/>
|
||||
</list>
|
||||
</field>
|
||||
</group>
|
||||
</tab>
|
||||
<tab string="Nurses">
|
||||
<group form_layout="stacked">
|
||||
<field name="nurse_lines" nolabel="1">
|
||||
<list>
|
||||
<field name="nurse_id"/>
|
||||
</list>
|
||||
</field>
|
||||
</group>
|
||||
</tab>
|
||||
</tabs>
|
||||
<foot>
|
||||
<button string="Generate" type="success" method="gen_visit"/>
|
||||
<button string="Clear" type="danger" icon="remove" method="clear_visit"/>
|
||||
<button string="Generate" type="success" icon="arrow-right" method="gen_visit"/>
|
||||
<button string="Remove" type="danger" icon="remove" method="clear_visit"/>
|
||||
</foot>
|
||||
</form>
|
||||
|
|
|
@ -56,11 +56,6 @@
|
|||
</list>
|
||||
</field>
|
||||
<group span="8" form_layout="stacked" attrs='{"invisible":[["amount","=",0]]}'>
|
||||
<!--<separator string="Make a payment"/>-->
|
||||
<!--<field name="pay_amount" attrs='{"required":[["amount","!=",0]]}' onchange="onchange_pay" span="3"/>-->
|
||||
<!--<field name="pay_date" span="3"/>-->
|
||||
<!--<field name="pay_account_id" span="3"/>-->
|
||||
<!--<button string="Pay" type="success" icon="ok" action="clinic_payment" attrs='{"invisible":[["amount","=",0]]}'/>-->
|
||||
</group>
|
||||
<group span="4" columns="1">
|
||||
<field name="total"/>
|
||||
|
@ -83,8 +78,20 @@
|
|||
</group>
|
||||
</tab>
|
||||
<tab string="Personals">
|
||||
<field name="doctor_id"/>
|
||||
<field name="nurse_id"/>
|
||||
<field name="personals" nolabel="1">
|
||||
<list>
|
||||
<field name="type"/>
|
||||
<field name="personal_id" domain="[['type','=',type]]"/>
|
||||
<field name="priop"/>
|
||||
<field name="note"/>
|
||||
</list>
|
||||
</field>
|
||||
<group span="9" form_layout="stacked">
|
||||
</group>
|
||||
<group span="3" columns="1">
|
||||
<!--<field name="total_doctor"/>-->
|
||||
<!--<field name="total_nurse"/>-->
|
||||
</group>
|
||||
</tab>
|
||||
<tab string="Other Info">
|
||||
<group span="6" columns="1">
|
||||
|
|
|
@ -5,15 +5,11 @@
|
|||
<field name="time_stop"/>
|
||||
<field name="patient_id"/>
|
||||
<field name="cycle_id"/>
|
||||
<field name="doctor_id"/>
|
||||
<field name="nurse_id"/>
|
||||
</search>
|
||||
<field name="number"/>
|
||||
<field name="time_start"/>
|
||||
<field name="time_stop"/>
|
||||
<field name="cycle_id"/>
|
||||
<field name="patient_id"/>
|
||||
<field name="doctor_id"/>
|
||||
<field name="nurse_id"/>
|
||||
<field name="state"/>
|
||||
</list>
|
||||
|
|
|
@ -20,13 +20,13 @@
|
|||
<item string="Morbidities" action="clinic_morbidity"/>
|
||||
<item string="Nationalities" action="clinic_nation"/>
|
||||
</item>
|
||||
<item string="Schedules" action="clinic_schedule"/>
|
||||
<item string="Cycles">
|
||||
<item string="Cycles" action="clinic_cycle"/>
|
||||
<item string="Cycle Items" action="clinic_cycle_item"/>
|
||||
</item>
|
||||
<item string="Schedules" action="clinic_schedule"/>
|
||||
<item string="Visits" action="clinic_visit"/>
|
||||
<item string="Treatments" action="clinic_hd_case"/>
|
||||
<item string="HD Cases" action="clinic_hd_case"/>
|
||||
<item string="Reports">
|
||||
<header string="HD CASE"/>
|
||||
<item string="HD Detail" action="clinic_report_hd_detail"/>
|
||||
|
@ -39,6 +39,7 @@
|
|||
<item string="Topics" action="clinic_translate"/>
|
||||
</item>
|
||||
<item string="Settings">
|
||||
<item string="Generate Visit" action="clinic_gen_visit_form"/>
|
||||
<item string="Departments" action="clinic_department"/>
|
||||
<item string="Clinic Settings" action="clinic_setting"/>
|
||||
</item>
|
||||
|
|
|
@ -19,6 +19,7 @@ from . import visit_line
|
|||
from . import visit_plan
|
||||
from . import hd_case
|
||||
from . import hd_case_line
|
||||
from . import hd_case_personal
|
||||
from . import hd_case_gmline
|
||||
from . import hd_case_discont
|
||||
from . import hd_case_payment
|
||||
|
|
|
@ -23,7 +23,8 @@ class GenVisit(Model):
|
|||
'date_from': fields.DateTime("From", required=True),
|
||||
'date_to': fields.DateTime("To", required=True),
|
||||
'cycle_id': fields.Many2One("clinic.cycle","Cycle", required=True),
|
||||
'lines': fields.One2Many("clinic.gen.visit.line","gen_id","Lines"),
|
||||
'patient_lines': fields.One2Many("clinic.gen.visit.line","gen_id","Patient Lines"),
|
||||
'nurse_lines': fields.One2Many("clinic.gen.visit.line","gen_id","Nurse Lines"),
|
||||
'monday': fields.Boolean("Monday"),
|
||||
'tuesday': fields.Boolean("Tuesdays"),
|
||||
'wednesday': fields.Boolean("Wednesdays"),
|
||||
|
@ -35,13 +36,18 @@ class GenVisit(Model):
|
|||
'nurse_id': fields.Many2One("clinic.nurse","Nurse"),
|
||||
'department_id': fields.Many2One("clinic.department","Department"),
|
||||
'duration': fields.Integer("Duration (hrs)", function="_get_duration"),
|
||||
"patient_type": fields.Selection([("mg","Medical Government"),("sc","Social Security"),("nhso","NHSO (30฿)"),("personal","Personal"),("others","Others")],"Patient Type"),
|
||||
'nurse_categ_id': fields.Many2One("clinic.personal.categ", "Nurse Category", domain=[['type','=','nurse']]),
|
||||
}
|
||||
|
||||
|
||||
def _get_lines(self,context={}):
|
||||
def _get_patient_lines(self,context={}):
|
||||
ids=context.get("ids")
|
||||
if not ids:
|
||||
ids=[context.get("refer_id")]
|
||||
lines=[]
|
||||
# XXX [None]
|
||||
if any(ids):
|
||||
lines=[{'patient_id': id} for id in ids]
|
||||
return lines
|
||||
|
||||
|
@ -60,9 +66,9 @@ class GenVisit(Model):
|
|||
return cycle_id or None
|
||||
|
||||
_defaults={
|
||||
'lines': _get_lines,
|
||||
'patient_lines': _get_patient_lines,
|
||||
'date_from': lambda *a: datetime.now().strftime(FMT_DATETIME),
|
||||
'date_to': lambda *a: datetime.now().strftime(FMT_DATETIME),
|
||||
'date_to': lambda *a: (datetime.now()+timedelta(days=7)).strftime(FMT_DATETIME),
|
||||
'nurse_id': _get_nurse,
|
||||
'duration': 1,
|
||||
'cycle_id': _get_cycle,
|
||||
|
@ -107,7 +113,13 @@ class GenVisit(Model):
|
|||
visit_vals=[]
|
||||
date_from=datetime.strptime(obj.date_from,FMT_DATETIME)
|
||||
date_to=datetime.strptime(obj.date_to,FMT_DATETIME)
|
||||
for line in obj.lines:
|
||||
patients=[p.patient_id.id for p in obj.patient_lines]
|
||||
if not patients and obj.patient_type:
|
||||
patients=get_model("clinic.patient").search([['type','=',obj.patient_type]])
|
||||
else:
|
||||
raise Exception("Please select some patient or patient type")
|
||||
|
||||
for patient_id in patients:
|
||||
ntoday=1
|
||||
day_total=(date_to-date_from).days+ntoday
|
||||
for weekday in days:
|
||||
|
@ -124,7 +136,7 @@ class GenVisit(Model):
|
|||
while count < day_total:
|
||||
tmp=start_date+timedelta(days=count)
|
||||
vals={
|
||||
'patient_id': line.patient_id.id,
|
||||
'patient_id': patient_id,
|
||||
'doctor_id': obj.doctor_id.id,
|
||||
'nurse_id': obj.nurse_id.id,
|
||||
'department_id': obj.department_id.id,
|
||||
|
@ -139,7 +151,7 @@ class GenVisit(Model):
|
|||
dom=[]
|
||||
dom.append(['time_start','>=','%s %s'%(tmp.strftime(FMT_DATE)[0:10],' 00:00:00')])
|
||||
dom.append(['time_stop','<=','%s %s'%(tmp.strftime(FMT_DATE)[0:10],' 23:59:59')])
|
||||
dom.append(['patient_id', '=', line.patient_id.id])
|
||||
dom.append(['patient_id', '=', patient_id])
|
||||
dom.append(['cycle_id', '=', obj.cycle_id.id]) #XXX
|
||||
dom.append(['state','=','draft'])
|
||||
vids=visit_obj.search(dom)
|
||||
|
@ -151,7 +163,7 @@ class GenVisit(Model):
|
|||
|
||||
return {
|
||||
'next': {
|
||||
'name': 'clinic_patient',
|
||||
'name': 'clinic_visit',
|
||||
'mode': 'list',
|
||||
},
|
||||
'flash': 'Generate OK',
|
||||
|
@ -171,8 +183,13 @@ class GenVisit(Model):
|
|||
date_from=datetime.strptime(obj.date_from,FMT_DATETIME)
|
||||
date_to=datetime.strptime(obj.date_to,FMT_DATETIME)
|
||||
visit_obj=get_model("clinic.visit")
|
||||
patients=[p.patient_id.id for p in obj.patient_lines]
|
||||
if not patients and obj.patient_type:
|
||||
patients=get_model("clinic.patient").search([['type','=',obj.patient_type]])
|
||||
else:
|
||||
raise Exception("Please select some patient or patient type")
|
||||
if days:
|
||||
for line in obj.lines:
|
||||
for patient_id in patients:
|
||||
# loop days in weekend
|
||||
ntoday=1
|
||||
day_total=(date_to-date_from).days+ntoday
|
||||
|
@ -191,7 +208,6 @@ class GenVisit(Model):
|
|||
tmp=start_date+timedelta(days=count)
|
||||
time_start="%s 00:00:00" % (tmp.strftime(FMT_DATE))
|
||||
time_stop="%s 23:59:59" % (tmp.strftime(FMT_DATE))
|
||||
patient_id=line.patient_id.id
|
||||
dom=[]
|
||||
dom.append(['time_start','>=','%s'%time_start])
|
||||
dom.append(['time_stop','<=','%s'%time_stop])
|
||||
|
@ -206,8 +222,7 @@ class GenVisit(Model):
|
|||
else:
|
||||
time_start=obj.date_from
|
||||
time_stop=obj.date_to
|
||||
for line in obj.lines:
|
||||
patient_id=line.patient_id.id
|
||||
for patient_id in patients:
|
||||
dom=[]
|
||||
dom.append(['time_start','>=','%s'%time_start])
|
||||
dom.append(['time_stop','<=','%s'%time_stop])
|
||||
|
@ -221,31 +236,12 @@ class GenVisit(Model):
|
|||
get_model("clinic.visit").delete(visit_ids)
|
||||
return {
|
||||
'next': {
|
||||
'name': 'clinic_patient',
|
||||
'name': 'clinic_visit',
|
||||
'mode': 'list',
|
||||
},
|
||||
'flash': 'Clear OK',
|
||||
}
|
||||
|
||||
def _clear_visit(self,ids,context):
|
||||
obj=self.browse(ids)[0]
|
||||
visit_obj=get_model("clinic.visit")
|
||||
for line in obj.lines:
|
||||
patient_id=line.patient_id
|
||||
dom=[]
|
||||
dom.append(['patient_id','=',patient_id.id])
|
||||
dom.append(['state','=','draft'])
|
||||
# clear
|
||||
# only from to and day
|
||||
visit_ids=visit_obj.search(dom)
|
||||
visit_obj.delete(visit_ids)
|
||||
return {
|
||||
'next': {
|
||||
'name': 'clinic_patient',
|
||||
'mode': 'list',
|
||||
},
|
||||
'flash': 'Clear OK',
|
||||
}
|
||||
|
||||
GenVisit.register()
|
||||
|
||||
|
|
|
@ -7,7 +7,9 @@ class GenVisitLine(Model):
|
|||
_fields={
|
||||
'gen_id': fields.Many2One("clinic.gen.visit","gen_id","Gen Visit"),
|
||||
'patient_id': fields.Many2One("clinic.patient","Patient"),
|
||||
'nurse_id': fields.Many2One("clinic.personal","Nurse", domain=[['type','=','nurse']]),
|
||||
}
|
||||
|
||||
|
||||
GenVisitLine.register()
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ from netforce.access import get_active_company
|
|||
|
||||
class HDCase(Model):
|
||||
_name="clinic.hd.case"
|
||||
_string="Treatment"
|
||||
_string="HD Case"
|
||||
_audit_log=True
|
||||
_name_field="number"
|
||||
_multi_company=True
|
||||
|
@ -35,7 +35,6 @@ class HDCase(Model):
|
|||
"date": fields.Date("Time stop",required=True,search=True),
|
||||
"patient_id": fields.Many2One("clinic.patient","Patient",required=True,search=True),
|
||||
"doctor_id": fields.Many2One("clinic.doctor","Doctor", required=False,search=True),
|
||||
"nurse_id": fields.Many2One("clinic.nurse","Nurse", required=True,search=True),
|
||||
"department_id": fields.Many2One("clinic.department", "Department",search=True),
|
||||
"wh_start": fields.Float("Wt.Kg start"),
|
||||
"wh_stop": fields.Float("Wt.Kg stop"),
|
||||
|
@ -52,6 +51,7 @@ class HDCase(Model):
|
|||
"state": fields.Selection([("draft","Draft"),("in_progress","In Progress"),("completed","Completed"),("waiting_payment","Waiting Payment"),("discountinued","Discountinued"),("in_completed","In completed")],"Status",required=True),
|
||||
"dialyzers": fields.One2Many("clinic.dialyzer.line","hd_case_id","Dialyzers"),
|
||||
"lines": fields.One2Many("clinic.hd.case.line","hd_case_id","Lines"),
|
||||
"personals": fields.One2Many("clinic.hd.case.personal","hd_case_id","Personals"),
|
||||
"comments": fields.One2Many("message","related_id","Comments"), "company_id": fields.Many2One("company","Company"),
|
||||
"amount": fields.Float("Due Amount",function="get_total",readonly=True,function_multi=True),
|
||||
"total": fields.Float("Total",function="get_total",readonly=True,function_multi=True),
|
||||
|
@ -73,6 +73,8 @@ class HDCase(Model):
|
|||
'pay_account_id': fields.Many2One("account.account","Account"),
|
||||
'payment_id': fields.Many2One("account.payment","Payment"), # for print
|
||||
'dlz_id': fields.Many2One("clinic.dialyzer","Dialyzer"), # for link
|
||||
"total_doctor": fields.Integer("Total Doctor",function="get_personal",function_multi=True),
|
||||
"total_nurse": fields.Integer("Total Nurse",function="get_personal",function_multi=True),
|
||||
}
|
||||
|
||||
def _get_number(self,context={}):
|
||||
|
@ -89,20 +91,11 @@ class HDCase(Model):
|
|||
return num
|
||||
get_model("sequence").increment_number(seq_id,context=context)
|
||||
|
||||
def _get_nurse(self,context={}):
|
||||
user_id=get_active_user()
|
||||
print("user_id ",user_id)
|
||||
nurse_ids=get_model("clinic.nurse").search([['user_id','=',user_id]])
|
||||
if nurse_ids:
|
||||
return nurse_ids[0]
|
||||
return None
|
||||
|
||||
_defaults={
|
||||
"state": "draft",
|
||||
"date": lambda *a: time.strftime("%Y-%m-%d"),
|
||||
"time_start": lambda *a: time.strftime("%Y-%m-%d %H:%M:%S"),
|
||||
"time_stop": lambda *a: time.strftime("%Y-%m-%d %H:%M:%S"),
|
||||
'nurse_id': _get_nurse,
|
||||
"number": _get_number,
|
||||
"company_id": lambda *a: get_active_company(),
|
||||
'hct': 0,
|
||||
|
@ -142,14 +135,13 @@ class HDCase(Model):
|
|||
data=context['data']
|
||||
patient_id=data['patient_id']
|
||||
hd_cases=self.search_browse([['patient_id','=',patient_id]])
|
||||
# TODO reset dialyzer
|
||||
if hd_cases:
|
||||
hd_case=hd_cases[-1]
|
||||
data['doctor_id']=hd_case.doctor_id.id
|
||||
data['department_id']=hd_case.department_id.id
|
||||
else:
|
||||
data['doctor_id']=None
|
||||
data['department_id']=None
|
||||
#XXX
|
||||
data['dialyzers']=[]
|
||||
|
||||
return data
|
||||
|
||||
|
@ -688,4 +680,21 @@ class HDCase(Model):
|
|||
context['state']='draft'
|
||||
obj.undo(context=context)
|
||||
|
||||
def get_personal(self,ids,context={}):
|
||||
res={}
|
||||
for obj in self.browse(ids):
|
||||
doctor=0
|
||||
nurse=0
|
||||
for personal in obj.personals:
|
||||
if personal.type=="doctor":
|
||||
doctor+= 1
|
||||
else:
|
||||
nurse+=1
|
||||
res[obj.id]={
|
||||
'total_doctor': doctor,
|
||||
'total_nurse': nurse,
|
||||
}
|
||||
return res
|
||||
|
||||
|
||||
HDCase.register()
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
from netforce.model import Model, fields
|
||||
|
||||
class HdCasePersonal(Model):
|
||||
_name="clinic.hd.case.personal"
|
||||
_fields={
|
||||
"hd_case_id": fields.Many2One("clinic.hd.case","HdCase",required=True,on_delete="cascade"),
|
||||
"personal_id": fields.Many2One("clinic.personal","Personal",search=True),
|
||||
"type": fields.Selection([("doctor","Doctor"),('nurse','Nurse'),("other","Other")],"Type",required=True),
|
||||
"priop": fields.Selection([("owner","Owner"),('other','Other')],"Priority"),
|
||||
'note': fields.Char("Note"),
|
||||
}
|
||||
|
||||
_defaults={
|
||||
'type': 'nurse',
|
||||
'priop': 'other',
|
||||
}
|
||||
|
||||
HdCasePersonal.register()
|
||||
|
|
@ -31,7 +31,7 @@ class Patient(Model):
|
|||
_fields={
|
||||
"type": fields.Selection([("mg","Medical Government"),("sc","Social Security"),("nhso","NHSO (30฿)"),("personal","Personal"),("others","Others")],"Patient Type",required=True),
|
||||
"number": fields.Char("Patient No.",required=True,search=True),
|
||||
"hn": fields.Char("HN",search=True),
|
||||
"hn": fields.Char("REF/HN",search=True),
|
||||
"name": fields.Char("Name",required=True,search=True),
|
||||
"reg_date": fields.Date("Register Date",required=False,search=True),
|
||||
"birthday": fields.Date("Birthday",required=False,search=True),
|
||||
|
|
|
@ -27,7 +27,7 @@ class Personal(Model):
|
|||
"expiry_card" : fields.Date("Card Expiry"),
|
||||
"birthday": fields.Date("Birthday",search=True),
|
||||
"age": fields.Integer("Age", function="_get_age"),
|
||||
"state": fields.Selection([["temporary","Temporary"],["permanent","Permanent"]],"Status"),
|
||||
"state": fields.Selection([["temporary","Temporary"],["permanent","Permanent"]],"Status",search=True),
|
||||
"type": fields.Selection([["doctor","Doctor"],["nurse","Nurse"],["other","Other"]],"Type"),
|
||||
"mobile": fields.Char("Mobile",required=False,search=True),
|
||||
"phone": fields.Char("Phone",search=True),
|
||||
|
|
|
@ -25,6 +25,12 @@ class Visit(Model):
|
|||
res[obj.id]=datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
return res
|
||||
|
||||
def _get_color(self,ids,context={}):
|
||||
res={}
|
||||
for obj in self.browse(ids):
|
||||
res[obj.id]='red'
|
||||
return res
|
||||
|
||||
_fields={
|
||||
"number": fields.Char("Number",required=True,search=True),
|
||||
"time_start": fields.DateTime("Time Start",required=True),
|
||||
|
@ -41,6 +47,7 @@ class Visit(Model):
|
|||
"comments": fields.One2Many("message","related_id","Comments"),
|
||||
'visit_date': fields.Date('Visit Date',function="_get_visit_date"),
|
||||
'print_date': fields.Date('Print Date',function="_get_print_date"),
|
||||
'cycle_color': fields.Char("Cycle Color", function="_get_color"), # FIXME
|
||||
}
|
||||
|
||||
def _get_number(self,context={}):
|
||||
|
@ -104,8 +111,6 @@ class Visit(Model):
|
|||
obj=self.browse(ids)[0]
|
||||
vals={
|
||||
'patient_id': obj.patient_id.id,
|
||||
'doctor_id': obj.doctor_id.id,
|
||||
'nurse_id': obj.nurse_id.id,
|
||||
'department_id': obj.department_id.id,
|
||||
'time_start': obj.time_start,
|
||||
'time_stop': obj.time_stop,
|
||||
|
@ -114,11 +119,10 @@ class Visit(Model):
|
|||
'cycle_id': obj.cycle_id.id,
|
||||
'lines':[],
|
||||
'dialyzers': [],
|
||||
'personals': [],
|
||||
'state': 'draft',
|
||||
}
|
||||
|
||||
# search dialyzer and count automatically
|
||||
# search Nurse with category
|
||||
products=get_model("product").search_browse([['code','=','FEE']])
|
||||
for product in products:
|
||||
vals['lines'].append(('create',{
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
after finish hd case -> show popup to check nurse and doctor after finish
|
||||
|
||||
formalar
|
||||
tick:
|
||||
find all -> replace -> multiple x
|
||||
|
||||
|
|
Loading…
Reference in New Issue