Przeglądaj źródła

Ajustes para visita medica sis

sebastian 5 lat temu
rodzic
commit
c756c7b580
3 zmienionych plików z 77 dodań i 143 usunięć
  1. 26 42
      models/medic_clinic.py
  2. BIN
      models/medic_clinic.pyc
  3. 51 101
      views/clinic_history_sis.xml

+ 26 - 42
models/medic_clinic.py

@@ -30,6 +30,10 @@ class MedicClinic(models.Model):
         string='Médico',
         string='Médico',
         default=_get_user
         default=_get_user
     )
     )
+    paramedico_id = fields.Many2one(
+        comodel_name='res.users',
+        string='Paramédico',
+    )
     partner_id = fields.Many2one(
     partner_id = fields.Many2one(
         comodel_name='res.partner',
         comodel_name='res.partner',
         string='Cliente'
         string='Cliente'
@@ -45,6 +49,7 @@ class MedicClinic(models.Model):
         inverse_name='clinichistory_id',
         inverse_name='clinichistory_id',
         string='Trabajos hechos'
         string='Trabajos hechos'
     )
     )
+    uso_gel = fields.Selection([('si','Sí'),('no','No')],'Uso alcohol en gel?')
     # consumed_ids = fields.One2many(
     # consumed_ids = fields.One2many(
     #     comodel_name='clinic.history.consumed',
     #     comodel_name='clinic.history.consumed',
     #     inverse_name='clinichistory_id ',
     #     inverse_name='clinichistory_id ',
@@ -63,6 +68,9 @@ class MedicClinic(models.Model):
     name_movil = fields.Char(
     name_movil = fields.Char(
         string='Móvil'
         string='Móvil'
     )
     )
+    at_base = fields.Char(
+        string='At. Base'
+    )
     nro_salida = fields.Char(
     nro_salida = fields.Char(
         string='N° de Salida'
         string='N° de Salida'
     )
     )
@@ -73,7 +81,11 @@ class MedicClinic(models.Model):
         string='N° de Socio'
         string='N° de Socio'
     )
     )
     alergico = fields.Selection([('si','Sí'),('no','No')],'Alérgico?')
     alergico = fields.Selection([('si','Sí'),('no','No')],'Alérgico?')
+    tipo_alergico = fields.Char(
+        string='Alérgico a:'
+    )
     embarazada = fields.Selection([('si','Sí'),('no','No')],'Embarazada?')
     embarazada = fields.Selection([('si','Sí'),('no','No')],'Embarazada?')
+    antecedente_paciente = fields.Selection([('ost','OST'),('asm','ASM'),('card','CARD'),('acv','ACV'),('conv','CONV'),('hta','HTA'),('epoc','EPOC'),('otros','Otros')],'Antecedente')
     pa = fields.Char(
     pa = fields.Char(
         string='P.A.'
         string='P.A.'
     )
     )
@@ -115,7 +127,8 @@ class MedicClinic(models.Model):
     )
     )
     clasificacion = fields.Selection([('emergencia','Emergencia'),('urgencia','Urgencia'),('consulta','Consulta'),('suministro','Suministro'),('tar','T.A.R'),('tbr','T.B.R')],'Clasificación de la Atención')
     clasificacion = fields.Selection([('emergencia','Emergencia'),('urgencia','Urgencia'),('consulta','Consulta'),('suministro','Suministro'),('tar','T.A.R'),('tbr','T.B.R')],'Clasificación de la Atención')
     state = fields.Selection([
     state = fields.Selection([
-        ('draft', 'Pendiente'),
+        ('draft', 'Programado'),
+        ('redraft', 'Reprogramado'),
         ('in_progress', 'En progreso'),
         ('in_progress', 'En progreso'),
         ('done', 'Hecho'),
         ('done', 'Hecho'),
         ('canceled', 'Cancelado')],
         ('canceled', 'Cancelado')],
@@ -128,8 +141,7 @@ class MedicClinic(models.Model):
     #     compute='_get_invoice_count',
     #     compute='_get_invoice_count',
     # )
     # )
 
 
-    # @api.multi
-    # def button_draft(self):
+
     #     if self.invoicehistory_count > 0:
     #     if self.invoicehistory_count > 0:
     #         raise Warning('Este trabajo tiene una factura asociada')
     #         raise Warning('Este trabajo tiene una factura asociada')
     #     if self.invoicehistory_count == 0:
     #     if self.invoicehistory_count == 0:
@@ -151,6 +163,10 @@ class MedicClinic(models.Model):
     def button_in_progress(self):
     def button_in_progress(self):
         self.state = 'in_progress'
         self.state = 'in_progress'
 
 
+    @api.one
+    def button_redraft(self):
+        self.state = 'redraft'
+
     @api.one
     @api.one
     def button_in_progress_back(self):
     def button_in_progress_back(self):
         self.state = 'draft'
         self.state = 'draft'
@@ -158,20 +174,25 @@ class MedicClinic(models.Model):
     @api.one
     @api.one
     def button_done(self):
     def button_done(self):
         # product = self.line_ids
         # product = self.line_ids
-        works = self.consumed_ids
-        if not product or not works:
+        works = self.line_ids
+        if not works:
             raise Warning('El trabajo debe tener productos y trabajos asociados')
             raise Warning('El trabajo debe tener productos y trabajos asociados')
         else:
         else:
             self.state = 'done'
             self.state = 'done'
 
 
     @api.one
     @api.one
     def button_done_back(self):
     def button_done_back(self):
+        self.state = 'redraft'
+
+    @api.one
+    def button_redraft_back(self):
         self.state = 'in_progress'
         self.state = 'in_progress'
 
 
     @api.one
     @api.one
     def button_cancel(self):
     def button_cancel(self):
         self.state = 'canceled'
         self.state = 'canceled'
 
 
+
     # @api.multi
     # @api.multi
     # def Facturado(self):
     # def Facturado(self):
     #     inv_obj = self.env['account.invoice']
     #     inv_obj = self.env['account.invoice']
@@ -254,40 +275,3 @@ class ClinicHistoryLine(models.Model):
     quantity = fields.Float(string='Cantidad', default=1.0)
     quantity = fields.Float(string='Cantidad', default=1.0)
     brand = fields.Char(string='Marca')
     brand = fields.Char(string='Marca')
     number = fields.Char(string="Numero de serie")
     number = fields.Char(string="Numero de serie")
-
-
-# class ClinicHistoryConsumed(models.Model):
-#     _name = 'clinic.history.consumed'
-#     _description = 'Servicios consumidos'
-#     _inherit = ['mail.thread', 'ir.needaction_mixin']
-#
-#     clinichistory_id = fields.Many2one(
-#         comodel_name='clinic.history',
-#         string='Orden de visita'
-#     )
-#     product_id = fields.Many2one(
-#         comodel_name='product.product',
-#         string='Product'
-#     )
-#     type = fields.Selection([
-#         ('service', 'Service'),
-#         ('product', 'Product')],
-#         string='Type',
-#         required=True,
-#         default='service'
-#     )
-#     description = fields.Char(
-#         string='Descripción',
-#         required=True
-#     )
-#     quantity = fields.Float(
-#         string='Cantidad',
-#         default=1
-#     )
-#     price_unit = fields.Float(
-#         string='Precio Unit.'
-#     )
-#     subtotal = fields.Float(
-#         string='Subtotal',
-#         compute='compute_subtotal'
-#     )

BIN
models/medic_clinic.pyc


+ 51 - 101
views/clinic_history_sis.xml

@@ -55,13 +55,14 @@
                 <form string="Orden Clinico">
                 <form string="Orden Clinico">
                     <header>
                     <header>
                         <!-- <button name="Facturado" string="Crear Factura" type="object" class="btn-primary" states="done"/> -->
                         <!-- <button name="Facturado" string="Crear Factura" type="object" class="btn-primary" states="done"/> -->
-                        <button name="button_draft" string="Cambiar Estado" type="object"/>
+                        <button name="button_redraft" string="Atrás" type="object"/>
                         <button name="button_in_progress" type="object" states="draft,warranty" string="Crear" class="oe_highlight" groups="base.group_user"/>
                         <button name="button_in_progress" type="object" states="draft,warranty" string="Crear" class="oe_highlight" groups="base.group_user"/>
-                        <button name="button_in_progress_back" type="object" states="in_progress" string="Atrás" class="oe_highlight" groups="base.group_user"/>
-                        <button name="button_done" type="object" states="in_progress" string="En progreso" class="oe_highlight" groups="base.group_user"/>
-                        <button name="button_done_back" type="object" states="done" string="Hecho" class="oe_highlight" groups="base.group_user"/>
-                        <button name="button_cancel" type="object" states="draft,warranty,in_progress" string="Cancelado" class="oe_highlight" groups="base.group_user"/>
-                        <field name="state" widget="statusbar" statusbar_visible="draft,in_progress,done" statusbar_colors='{"done":"red","warning":"blue","canceled":"red","in_progress":"blue"}'/>
+                        <button name="button_in_progress_back" type="object" states="redraft" string="Atrás" class="oe_highlight" groups="base.group_user"/>
+                        <button name="button_redraft_back" type="object" states="in_progress,redraft" string="Adelante" class="oe_highlight" groups="base.group_user"/>
+                        <button name="button_done" type="object" states="in_progress" string="Hecho" class="oe_highlight" groups="base.group_user"/>
+                        <button name="button_done_back" type="object" states="done" string="En progreso" class="oe_highlight" groups="base.group_user"/>
+                        <button name="button_cancel" type="object" states="draft,redraft,warranty,in_progress" string="Cancelado" class="oe_highlight" groups="base.group_user"/>
+                        <field name="state" widget="statusbar" statusbar_visible="draft,redraft,in_progress,done" statusbar_colors='{"done":"red","warning":"blue","canceled":"red","in_progress":"blue"}'/>
                     </header>
                     </header>
                     <sheet>
                     <sheet>
                         <div class="oe_title">
                         <div class="oe_title">
@@ -73,57 +74,66 @@
 
 
                         <group>
                         <group>
                             <group>
                             <group>
-                                <field name="partner_id" on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1, 'show_address': 1}" options='{"always_reload": True}' attrs="{'readonly': [('state','!=', 'draft')]}" required="1"/>
-                                <field name="paciente_id" on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1, 'show_address': 1}" options='{"always_reload": True}' attrs="{'readonly': [('state','!=', 'draft')]}" required="1"/>
-                                <field name="user_id" required="1"/>
+                                <field name="user_id"/>
+                                <field name="order_date" required="1"/>
                                 <field name="name_movil"/>
                                 <field name="name_movil"/>
-                                <field name="nro_salida"/>
-                                <field name="seguro"/>
+                                <field name="planned_start_date" required="1"/>
                                 <field name="tipo_paciente"/>
                                 <field name="tipo_paciente"/>
-                                <field name="embarazada"/>
+                                <field name="uso_gel"/>
                             </group>
                             </group>
-                            <group name="Dates">
-                                <field name="order_date" required="1"/>
-                                <field name="planned_start_date" required="1"/>
+                            <group name="Data1">
+                                <field name="paramedico_id"/>
+                                <field name="at_base"/>
+                                <field name="nro_salida"/>
                                 <field name="planned_end_date" required="1"/>
                                 <field name="planned_end_date" required="1"/>
                                 <field name="lugar_visita"/>
                                 <field name="lugar_visita"/>
+                            </group>
+                        </group>
+                        <group>
+                            <group>
+                                 <field name="paciente_id" on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1, 'show_address': 1}" options='{"always_reload": True}' attrs="{'readonly': [('state','!=', 'draft')]}" required="1"/>
+                            </group>
+                         </group>
+                        <group>
+                            <group>
+                                <field name="partner_id" on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1, 'show_address': 1}" options='{"always_reload": True}' attrs="{'readonly': [('state','!=', 'draft')]}" required="1"/>
+                                <field name="antecedente_paciente"/>
+                                <field name="embarazada"/>
+                                <field name="motivo" placeholder="describe los motivos de consulta..."  />
+                            </group>
+                            <group>
                                 <field name="nro_socio"/>
                                 <field name="nro_socio"/>
                                 <field name="alergico"/>
                                 <field name="alergico"/>
+                                <field name="tipo_alergico"/>
                             </group>
                             </group>
                         </group>
                         </group>
-                        <!-- <separator string="Causes"/>
-                        <field name="causes" placeholder="what happens to it"  /> -->
+                        <group string="Signos Vitales">
+                            <group>
+                                <field name="pa"/>
+                                <field name="fc"/>
+                                <field name="fr"/>
+                            </group>
+                            <group>
+                                <field name="temp"/>
+                                <field name="so"/>
+                                <field name="hgt"/>
+                            </group>
+                        </group>
+
+                        <group>
+                            <group>
+                                 <field name="diagnostic" placeholder="describe hallazgo Positivos del Examen Físico (o datos de importancia)..."  />
+                                 <field name="indicacion" placeholder="describe la indicación médica..."  />
+                            </group>
+                         </group>
+
                         <notebook>
                         <notebook>
-                            <page string="Signos Vitales">
-                                <group>
-                                    <group>
-                                        <field name="pa"/>
-                                        <field name="fc"/>
-                                        <field name="fr"/>
-                                    </group>
-                                    <group>
-                                        <field name="temp"/>
-                                        <field name="so"/>
-                                        <field name="hgt"/>
-                                    </group>
-                                </group>
-                            </page>
                             <page string="Lineas de orden">
                             <page string="Lineas de orden">
                                 <field name="line_ids"/>
                                 <field name="line_ids"/>
-                            </page>
-                            <page string="Operaciones">
-                                <separator string="Motivos de consulta"/>
-                                <field name="motivo" placeholder="describe los motivos de consulta..."  />
-                                <separator string="Hallazgo Positivos del Examen Físico (o datos de importancia)"/>
-                                <field name="diagnostic" placeholder="describe hallazgo Positivos del Examen Físico (o datos de importancia)..."  />
-                                <separator string="Indicación Médica"/>
-                                <field name="indicacion" placeholder="describe la indicación médica..."  />
                                 <separator string="Acciones"/>
                                 <separator string="Acciones"/>
                                 <field name="actions" placeholder="describe las acciones..."  />
                                 <field name="actions" placeholder="describe las acciones..."  />
                                 <separator string="Recomendaciones y sugerencias"/>
                                 <separator string="Recomendaciones y sugerencias"/>
                                 <field name="recommendations" placeholder="describe las recommendaciones..."  />
                                 <field name="recommendations" placeholder="describe las recommendaciones..."  />
-                            </page>
-                            <page string="Otros datos">
                                 <separator string="Epicrisis"/>
                                 <separator string="Epicrisis"/>
                                 <field name="epicrisis" placeholder="describe el Epicrisis..."  />
                                 <field name="epicrisis" placeholder="describe el Epicrisis..."  />
                                 <separator string="Presuntivo"/>
                                 <separator string="Presuntivo"/>
@@ -230,67 +240,7 @@
             <field name="search_view_id" ref="search_clinic_history_line_sis"/>
             <field name="search_view_id" ref="search_clinic_history_line_sis"/>
         </record>
         </record>
 
 
-        <!-- <record id="tree_clinic_history_consumed_sis" model="ir.ui.view">
-            <field name="name">clinic.history.consumed.sis.tree</field>
-            <field name="model">clinic.history.consumed</field>
-            <field name="arch" type="xml">
-                <tree string="Productos consumidos" editable="bottom">
-                    <field name="product_id"/>
-                    <field name="description"/>
-                    <field name="quantity"/>
-                    <field name="price_unit"/>
-                    <field name="subtotal"/>
-                    <field name="type"/>
-                </tree>
-            </field>
-        </record>
 
 
-        <record id="search_clinic_history_consumed_sis" model="ir.ui.view">
-            <field name="name">clinic.history.consumed.search</field>
-            <field name="model">clinic.history.consumed</field>
-            <field name="arch" type="xml">
-                <search string="Productos y servicios consumidos">
-                    <field name="type"/>
-                    <field name="product_id"/>
-                    <field name="description"/>
-                    <field name="quantity"/>
-                    <field name="price_unit"/>
-                    <field name="subtotal"/>
-                    <newline />
-                    <group expand="0" string="Agrupado por...">
-                        <filter string="Nombre" domain="[]" context="{'group_by':'type'}" />
-                    </group>
-                </search>
-            </field>
-        </record>
-
-        <record id="form_clinic_history_consumed_sis" model="ir.ui.view">
-            <field name="name">clinic.history.consumed.form</field>
-            <field name="model">clinic.history.consumed</field>
-            <field name="arch" type="xml">
-                <form string="Productos y servicios consumidos">
-                    <sheet>
-                        <group>
-                            <field name="product_id"/>
-                            <field name="type"/>
-                            <field name="description"/>
-                            <field name="quantity"/>
-                            <field name="price_unit"/>
-                            <field name="subtotal"/>
-                        </group>
-                    </sheet>
-                </form>
-            </field>
-        </record>
-
-        <record id="action_clinic_history_consumed_sis" model="ir.actions.act_window">
-            <field name="name">Productos y servicios consumidos</field>
-            <field name="type">ir.actions.act_window</field>
-            <field name="res_model">clinic.history.consumed</field>
-            <field name="view_type">form</field>
-            <field name="view_mode">tree,form</field>
-            <field name="search_view_id" ref="search_clinic_history_consumed_sis"/>
-        </record> -->
 
 
         <menuitem id="clinic_history_sis" parent="base.menu_sales" action="action_clinic_history_sis" name="Orden de historia visita clínica" sequence="20"/>
         <menuitem id="clinic_history_sis" parent="base.menu_sales" action="action_clinic_history_sis" name="Orden de historia visita clínica" sequence="20"/>