Hello community,

here is the log from the commit of package gnuhealth for openSUSE:Factory 
checked in at 2020-04-22 20:59:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnuhealth (Old)
 and      /work/SRC/openSUSE:Factory/.gnuhealth.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gnuhealth"

Wed Apr 22 20:59:10 2020 rev:39 rq:796301 version:3.6.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/gnuhealth/gnuhealth.changes      2020-04-05 
20:56:09.333353247 +0200
+++ /work/SRC/openSUSE:Factory/.gnuhealth.new.2738/gnuhealth.changes    
2020-04-22 20:59:14.584132001 +0200
@@ -1,0 +2,6 @@
+Wed Apr 22 09:42:49 UTC 2020 - Axel Braun <axel.br...@gmx.de>
+
+- pre-release of 3.6.4 covering improved diagnostics on COVID-19
+  lab1.diff and lab2.diff added  
+
+-------------------------------------------------------------------

New:
----
  lab1.diff
  lab2.diff

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gnuhealth.spec ++++++
--- /var/tmp/diff_new_pack.bQx6R9/_old  2020-04-22 20:59:17.932138665 +0200
+++ /var/tmp/diff_new_pack.bQx6R9/_new  2020-04-22 20:59:17.936138672 +0200
@@ -43,8 +43,8 @@
 Source6:        gnuhealth
 Source7:        gnuhealth-rpmlintrc
 Patch0:         shebang.diff
-##atch1:         xmlfix.diff
-##atch2:         demo.diff
+Patch1:         lab1.diff
+Patch2:         lab2.diff
 
 BuildArch:      noarch
 
@@ -108,8 +108,8 @@
 %prep
 %setup -q -n %{name}-%{version}
 %patch0 -p1
-##atch1 -p1
-##atch2 -p1
+%patch1 -p1
+%patch2 -p1
 cp %{S:1} .
 cp %{S:2} .
 
@@ -145,7 +145,7 @@
 #remove double license file:
 rm backend/fhir/client/COPYING
 
-#Move FHIR serer to examples directory
+#Move FHIR server to examples directory
 mkdir -p -m 755 %{buildroot}%{_docdir}/%{name}/examples/
 mv backend/fhir* %{buildroot}%{_docdir}/%{name}/examples/.
 rmdir backend
@@ -189,7 +189,10 @@
 %{python3_sitelib}/trytond/modules/health_orthanc*
 
 %files 
+%defattr(-,root,root)
+%{_bindir}/gnuhealth
 %{_bindir}/gnuhealth-control
+%{_bindir}/gnuhealth-webdav-server
 %{_bindir}/openSUSE-gnuhealth-setup
 %{_bindir}/install_demo_database.sh
 %{_unitdir}/%{name}.service

++++++ lab1.diff ++++++
# HG changeset patch
# User Luis Falcon <fal...@gnuhealth.org>
# Date 1585952786 -3600
# Node ID 79084d43ec44b89679016a699060bdd8a0033e88
# Parent  bf15b71efbd4b1ff7230520165f264c23586e576
health_lab: task #15563: Assign health condition from a confirmed lab

* Include the lab_confirmed and lab test ID reference on the patient health 
condition model
* Include in the tree view lab confirmed conditions
* Search/ filter by lab confirmed pathologies
* Include the pathology in the patient lab test form

diff --git a/health_lab/__init__.py b/health_lab/__init__.py
--- a/health_lab/__init__.py
+++ b/health_lab/__init__.py
@@ -40,6 +40,7 @@
         CreateLabTestOrderInit,
         RequestTest,
         RequestPatientLabTestStart,
+        PatientHealthCondition,
         module='health_lab', type_='model')
     Pool.register(
         CreateLabTestOrder,
diff --git a/health_lab/health_lab.py b/health_lab/health_lab.py
--- a/health_lab/health_lab.py
+++ b/health_lab/health_lab.py
@@ -27,12 +27,12 @@
 from trytond.pool import Pool
 from trytond import backend
 from trytond.tools.multivalue import migrate_property
-
+from trytond.pyson import Eval, Not, Bool, PYSONEncoder, Equal, And, Or, If
 
 __all__ = ['GnuHealthSequences', 'GnuHealthSequenceSetup',
     'PatientData', 'TestType', 'Lab',
     'GnuHealthLabTestUnits', 'GnuHealthTestCritearea',
-    'GnuHealthPatientLabTest']
+    'GnuHealthPatientLabTest','PatientHealthCondition']
 
 sequences = ['lab_sequence', 'lab_request_sequence']
 
@@ -80,7 +80,7 @@
     lab_sequence = fields.Many2One('ir.sequence', 
         'Lab Result Sequence', required=True,
         domain=[('code', '=', 'gnuhealth.lab')])
-  
+
     @classmethod
     def __register__(cls, module_name):
         TableHandler = backend.get('TableHandler')
@@ -112,7 +112,7 @@
         ModelData = pool.get('ir.model.data')
         return ModelData.get_id(
             'health_lab', 'seq_gnuhealth_lab_test')
-    
+
 # END SEQUENCE SETUP , MIGRATION FROM FIELDS.MultiValue
 
 
@@ -194,6 +194,11 @@
     date_analysis = fields.DateTime('Date of the Analysis', select=True)
     request_order = fields.Integer('Request', readonly=True)
 
+    pathology = fields.Many2One(
+        'gnuhealth.pathology', 'Pathology',
+        help='Pathology confirmed / associated to this lab test. '
+            'If set, a new health condition will be generated for the person')
+
     analytes_summary = \
         fields.Function(fields.Text('Summary'),
          'get_analytes_summary')
@@ -415,3 +420,18 @@
         default['date'] = cls.default_date()
         return super(GnuHealthPatientLabTest, cls).copy(tests,
             default=default)
+
+class PatientHealthCondition(ModelSQL, ModelView):
+    'Patient Conditions History'
+    __name__ = 'gnuhealth.patient.disease'
+
+    # Adds lab confirmed and the link to the test to the
+    # Patient health Condition
+
+    lab_confirmed = fields.Boolean('Lab Confirmed', help='Confirmed by'
+        ' laboratory test')
+
+    lab_test = fields.Many2One('gnuhealth.lab','Lab Test',
+        domain=[('patient', '=', Eval('name'))], depends=['name'],
+        states={'invisible': Not(Bool(Eval('lab_confirmed')))},
+        help='Lab test that confirmed the condition')
diff --git a/health_lab/health_lab_view.xml b/health_lab/health_lab_view.xml
--- a/health_lab/health_lab_view.xml
+++ b/health_lab/health_lab_view.xml
@@ -194,5 +194,19 @@
             <field name="action" ref="act_patient_lab_history_form1"/>
         </record>
 
+<!-- PATIENT HEALTH CONDITION -->
+
+        <record model="ir.ui.view" 
id="view_gnuhealth_patient_diseases_view_form">
+            <field name="model">gnuhealth.patient.disease</field>
+            <field name="inherit" 
ref="health.gnuhealth_patient_diseases_view_form"/>
+            <field name="name">gnuhealth_patient_health_condition_form</field>
+        </record>
+
+        <record model="ir.ui.view" id="tree_gnuhealth_patient_diseases">
+            <field name="model">gnuhealth.patient.disease</field>
+            <field name="inherit" 
ref="health.gnuhealth_patient_diseases_tree"/>
+            <field name="name">gnuhealth_patient_health_condition_tree</field>
+        </record>
+
     </data>
 </tryton>
diff --git a/health_lab/view/gnuhealth_lab.xml 
b/health_lab/view/gnuhealth_lab.xml
--- a/health_lab/view/gnuhealth_lab.xml
+++ b/health_lab/view/gnuhealth_lab.xml
@@ -20,6 +20,9 @@
             <field name="requestor"/>
             <label name="request_order"/>
             <field name="request_order"/>
+            <label name="pathology"/>
+            <field name="pathology"/>
+            <newline/>
             <field name="critearea" colspan="4" 
view_ids="health_lab.test_critearea_view_tree_lab,health_lab.test_critearea_view_form_lab"/>
         </page>
         <page string="Extra Info" id="lab_extra_info">
diff --git a/health_lab/view/gnuhealth_patient_health_condition_form.xml 
b/health_lab/view/gnuhealth_patient_health_condition_form.xml
new file mode 100644
--- /dev/null
+++ b/health_lab/view/gnuhealth_patient_health_condition_form.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<data>
+    <xpath expr="/form/group[@id=&quot;group_related_evaluations&quot;]" 
position="before">
+        <group string="Laboratory" colspan="4" id="group_lab_info">
+            <label name="lab_confirmed"/>
+            <field name="lab_confirmed"/>
+            <label name="lab_test"/>
+            <field name="lab_test"/>
+        </group>
+    </xpath>
+</data>
diff --git a/health_lab/view/gnuhealth_patient_health_condition_tree.xml 
b/health_lab/view/gnuhealth_patient_health_condition_tree.xml
new file mode 100644
--- /dev/null
+++ b/health_lab/view/gnuhealth_patient_health_condition_tree.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<data>
+    <xpath expr="/tree/field[@name=&quot;disease_severity&quot;]" 
position="after">
+        <field name="lab_confirmed" expand="1"/>
+    </xpath>
+</data>

++++++ lab2.diff ++++++
# HG changeset patch
# User Luis Falcon <fal...@gnuhealth.org>
# Date 1586114129 -3600
# Node ID 18af72df5cbef5adb45559c3c469f53bf40013a5
# Parent  e8a18c4ad9b29a7f6af3a3ff3bd5d127c590e135
task #15563: Assign health condition from a confirmed lab. Health_crypto_lab

#health_crypto_lab:
#
#Once the lab test is VALIDATED, and the confirmed pathology is enter in the 
lab test, the following events will be automatically #triggered:
#
#-> A new health condition will be created in the patient history, with the 
condition confirmed, and the link to the the lab test.
#
#-> Two pages of life (PoL) will be created:
#
#    One for the Lab test
#    One for the Health condition
#
#Remember that the validation functionality of the lab test requires the 
health_crypto_lab.

diff --git a/health_crypto_lab/health_crypto_lab.py 
b/health_crypto_lab/health_crypto_lab.py
--- a/health_crypto_lab/health_crypto_lab.py
+++ b/health_crypto_lab/health_crypto_lab.py
@@ -176,6 +176,12 @@
         if (document.patient.name.federation_account):
             cls.create_lab_pol (document)
 
+        # Create Health condition to the patient
+        # if there is a confirmed pathology associated and
+        # validated to the lab test result
+        if (document.pathology):
+            cls.create_health_condition (document)
+
     @classmethod
     def get_serial(cls,document):
 
@@ -241,6 +247,27 @@
                 'invisible': Not(Eval('state') == 'validated'),
                 })]
 
+    @classmethod
+    def create_health_condition(cls, lab_info):
+        """ Create the health condition when specified and 
+            validated in the lab test
+        """
+        HealthCondition = Pool().get('gnuhealth.patient.disease')
+        health_condition = []
+
+        vals = {
+            'name': lab_info.patient.id,
+            'pathology': lab_info.pathology,
+            'diagnosed_date': lab_info.date_analysis.date(),
+            'lab_confirmed': True,
+            'lab_test': lab_info.id,
+            'extra_info': lab_info.diagnosis,
+            'healthprof': lab_info.requestor
+            }
+
+        health_condition.append(vals)
+        HealthCondition.create(health_condition)
+
 
     @classmethod
     def create_lab_pol(cls,lab_info):
diff --git a/health/health.py b/health/health.py
--- a/health/health.py
+++ b/health/health.py
@@ -3476,6 +3476,7 @@
             'node': condition_info.institution and 
condition_info.institution.name.rec_name
             }
         if (condition_info.pathology):
+            vals['health_condition'] = condition_info.pathology
             vals['health_condition_text'] = condition_info.pathology.rec_name
             vals['health_condition_code'] = condition_info.pathology.code
 

Reply via email to