Skip to content

Commit f0a6647

Browse files
committed
added patient object
1 parent 94e33a4 commit f0a6647

File tree

5 files changed

+335
-0
lines changed

5 files changed

+335
-0
lines changed

oemedical/__init__.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# -*- coding: utf-8 -*-
2+
##############################################################################
3+
#
4+
# Tech-Receptives Solutions Pvt. Ltd.
5+
# Copyright (C) 2004-TODAY Tech-Receptives(<http://www.techreceptives.com>)
6+
# Special Credit and Thanks to Thymbra Latinoamericana S.A.
7+
#
8+
# This program is free software: you can redistribute it and/or modify
9+
# it under the terms of the GNU Affero General Public License as
10+
# published by the Free Software Foundation, either version 3 of the
11+
# License, or (at your option) any later version.
12+
#
13+
# This program is distributed in the hope that it will be useful,
14+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
15+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16+
# GNU Affero General Public License for more details.
17+
#
18+
# You should have received a copy of the GNU Affero General Public License
19+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
20+
#
21+
##############################################################################
22+
import oemedical_patient
23+
24+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

oemedical/__openerp__.py

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# -*- coding: utf-8 -*-
2+
##############################################################################
3+
#
4+
# Tech-Receptives Solutions Pvt. Ltd.
5+
# Copyright (C) 2004-TODAY Tech-Receptives(<http://www.techreceptives.com>)
6+
# Special Credit and Thanks to Thymbra Latinoamericana S.A.
7+
#
8+
# This program is free software: you can redistribute it and/or modify
9+
# it under the terms of the GNU Affero General Public License as
10+
# published by the Free Software Foundation, either version 3 of the
11+
# License, or (at your option) any later version.
12+
#
13+
# This program is distributed in the hope that it will be useful,
14+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
15+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16+
# GNU Affero General Public License for more details.
17+
#
18+
# You should have received a copy of the GNU Affero General Public License
19+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
20+
#
21+
##############################################################################
22+
{
23+
24+
'name' : 'OeMedical : Free Health and Hospital Information System',
25+
'version' : '1.0',
26+
'author' : 'Tech-Receptives Solutions Pvt. Ltd.',
27+
'category' : 'Generic Modules/Others',
28+
'depends' : ['base','sale','purchase','account','product'],
29+
'description' : """
30+
31+
About OeMedical
32+
-------------
33+
OeMedical is a multi-user, highly scalable, centralized Electronic Medical Record (EMR) and Hospital Information System for openERP.
34+
35+
OeMedical provides a free universal Health and Hospital Information System, so doctors and institutions all over the world, specially in developing countries will benefit from a centralized, high quality, secure and scalable system.
36+
37+
38+
OeMedical at a glance:
39+
40+
41+
* Strong focus in family medicine and Primary Health Care
42+
43+
* Major interest in Socio-economics (housing conditions, substance abuse, education...)
44+
45+
* Diseases and Medical procedures standards (like ICD-10 / ICD-10-PCS ...)
46+
47+
* Patient Genetic and Hereditary risks : Over 4200 genes related to diseases (NCBI / Genecards)
48+
49+
* Epidemiological and other statistical reports
50+
51+
* 100% paperless patient examination and history taking
52+
53+
* Patient Administration (creation, evaluations / consultations, history ... )
54+
55+
* Doctor Administration
56+
57+
* Lab Administration
58+
59+
* Medicine / Drugs information (vademécum)
60+
61+
* Medical stock and supply chain management
62+
63+
* Hospital Financial Administration
64+
65+
* Designed with industry standards in mind
66+
67+
* Open Source : Licensed under AGPL
68+
69+
""",
70+
"website" : "http://techreceptives.com",
71+
"init_xml" : [],
72+
"demo_xml" : [],
73+
"update_xml" : [],
74+
"active": False
75+
}
76+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# -*- coding: utf-8 -*-
2+
#/#############################################################################
3+
#
4+
# Tech-Receptives Solutions Pvt. Ltd.
5+
# Copyright (C) 2004-TODAY Tech-Receptives(<http://www.techreceptives.com>)
6+
# Special Credit and Thanks to Thymbra Latinoamericana S.A.
7+
#
8+
# This program is free software: you can redistribute it and/or modify
9+
# it under the terms of the GNU Affero General Public License as
10+
# published by the Free Software Foundation, either version 3 of the
11+
# License, or (at your option) any later version.
12+
#
13+
# This program is distributed in the hope that it will be useful,
14+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
15+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16+
# GNU Affero General Public License for more details.
17+
#
18+
# You should have received a copy of the GNU Affero General Public License
19+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
20+
#
21+
#/#############################################################################
22+
import oemedical_patient
23+
24+
25+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# -*- coding: utf-8 -*-
2+
#/#############################################################################
3+
#
4+
# Tech-Receptives Solutions Pvt. Ltd.
5+
# Copyright (C) 2004-TODAY Tech-Receptives(<http://www.techreceptives.com>)
6+
# Special Credit and Thanks to Thymbra Latinoamericana S.A.
7+
#
8+
# This program is free software: you can redistribute it and/or modify
9+
# it under the terms of the GNU Affero General Public License as
10+
# published by the Free Software Foundation, either version 3 of the
11+
# License, or (at your option) any later version.
12+
#
13+
# This program is distributed in the hope that it will be useful,
14+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
15+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16+
# GNU Affero General Public License for more details.
17+
#
18+
# You should have received a copy of the GNU Affero General Public License
19+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
20+
#
21+
#/#############################################################################
22+
from osv import osv
23+
from osv import fields
24+
25+
26+
class OeMedicalPatient(osv.osv):
27+
_name = 'oemedical.patient'
28+
29+
_columns = {
30+
'family': fields.many2one('oemedical.family', string='Family', ),
31+
'photo': fields.binary(string='Picture'),
32+
#'sex': fields.selection([], string='Sex'),
33+
#'blood_type': fields.selection([], string='Blood Type'),
34+
'general_info': fields.text(string='General Information'),
35+
'primary_care_doctor': fields.many2one('oemedical.physician', string='Primary Care Doctor', ),
36+
'childbearing_age': fields.boolean(string='Potential for Childbearing'),
37+
#'medications': fields.one2many('oemedical.patient.medication', 'relation_id', string='Medications', ),
38+
'critical_info': fields.text(string='Important disease, allergy or procedures information'),
39+
#'rh': fields.selection([], string='Rh'),
40+
'current_address': fields.many2one('res.partner', string='Address', ),
41+
#'diseases': fields.one2many('oemedical.patient.disease', 'relation_id', string='Diseases', ),
42+
'lastname': fields.char(size=256, string='Lastname', required=True),
43+
'ethnic_group': fields.many2one('oemedical.ethnicity', string='Ethnic group', ),
44+
'ssn': fields.char(size=256, string='SSN', required=True),
45+
#'vaccinations': fields.one2many('oemedical.vaccination', 'relation_id', string='Vaccinations', ),
46+
'rec_name': fields.char(size=256, string='Name', required=True),
47+
'name': fields.many2one('res.partner', string='Patient', ),
48+
'dob': fields.date(string='DoB'),
49+
'age': fields.char(size=256, string='Age', required=True),
50+
#'marital_status': fields.selection([], string='Marital Status'),
51+
'dod': fields.datetime(string='Date of Death'),
52+
'current_insurance': fields.many2one('oemedical.insurance', string='Insurance', ),
53+
'cod': fields.many2one('oemedical.pathology', string='Cause of Death', ),
54+
'identification_code': fields.char(size=256, string='ID', required=True),
55+
'deceased': fields.boolean(string='Deceased'),
56+
}
57+
58+
OeMedicalPatient()
59+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<openerp>
3+
<data>
4+
<record id="view_oemedical_patient_tree" model="ir.ui.view">
5+
<field name="name">oemedical.patient.tree</field>
6+
<field name="model">oemedical.patient</field>
7+
<field name="priority" eval="8"/>
8+
<field name="arch" type="xml">
9+
<tree string="Oemedical Patient">
10+
<field name="family"/>
11+
<field name="photo"/>
12+
<!--field name="sex"/-->
13+
<!--field name="blood_type"/-->
14+
<field name="general_info"/>
15+
<field name="primary_care_doctor"/>
16+
<field name="childbearing_age"/>
17+
<!--field name="medications"/-->
18+
<field name="critical_info"/>
19+
<!--field name="rh"/-->
20+
<field name="current_address"/>
21+
<!--field name="diseases"/-->
22+
<field name="lastname"/>
23+
<field name="ethnic_group"/>
24+
<field name="ssn"/>
25+
<!--field name="vaccinations"/-->
26+
<field name="rec_name"/>
27+
<field name="name"/>
28+
<field name="dob"/>
29+
<field name="age"/>
30+
<!--field name="marital_status"/-->
31+
<field name="dod"/>
32+
<field name="current_insurance"/>
33+
<field name="cod"/>
34+
<field name="identification_code"/>
35+
<field name="deceased"/>
36+
</tree>
37+
</field>
38+
</record>
39+
40+
<record id="view_oemedical_patient_form" model="ir.ui.view">
41+
<field name="name">oemedical.patient.form</field>
42+
<field name="model">oemedical.patient</field>
43+
<field name="priority" eval="8"/>
44+
<field name="arch" type="xml">
45+
<form string="Oemedical Patient">
46+
<field name="family"/>
47+
<field name="photo"/>
48+
<!--field name="sex"/-->
49+
<!--field name="blood_type"/-->
50+
<field name="general_info"/>
51+
<field name="primary_care_doctor"/>
52+
<field name="childbearing_age"/>
53+
<!--field name="medications"/-->
54+
<field name="critical_info"/>
55+
<!--field name="rh"/-->
56+
<field name="current_address"/>
57+
<!--field name="diseases"/-->
58+
<field name="lastname"/>
59+
<field name="ethnic_group"/>
60+
<field name="ssn"/>
61+
<!--field name="vaccinations"/-->
62+
<field name="rec_name"/>
63+
<field name="name"/>
64+
<field name="dob"/>
65+
<field name="age"/>
66+
<!--field name="marital_status"/-->
67+
<field name="dod"/>
68+
<field name="current_insurance"/>
69+
<field name="cod"/>
70+
<field name="identification_code"/>
71+
<field name="deceased"/>
72+
</form>
73+
</field>
74+
</record>
75+
76+
<record id="view_oemedical_patient_search" model="ir.ui.view">
77+
<field name="name">oemedical.patient.search</field>
78+
<field name="model">oemedical.patient</field>
79+
<field name="priority" eval="8"/>
80+
<field name="arch" type="xml">
81+
<search string="Oemedical Patient">
82+
<field name="family"/>
83+
<field name="general_info"/>
84+
<field name="primary_care_doctor"/>
85+
<field name="childbearing_age"/>
86+
<field name="critical_info"/>
87+
<field name="current_address"/>
88+
<field name="lastname"/>
89+
<field name="ethnic_group"/>
90+
<field name="ssn"/>
91+
<field name="rec_name"/>
92+
<field name="name"/>
93+
<field name="dob"/>
94+
<field name="age"/>
95+
<field name="dod"/>
96+
<field name="current_insurance"/>
97+
<field name="cod"/>
98+
<field name="identification_code"/>
99+
<field name="deceased"/>
100+
<newline/>
101+
<group expand="0" string="Group By...">
102+
<filter string="Family" domain="[]" context="{'group_by':'family'}"/>
103+
<filter string="General Information" domain="[]" context="{'group_by':'general_info'}"/>
104+
<filter string="Primary Care Doctor" domain="[]" context="{'group_by':'primary_care_doctor'}"/>
105+
<filter string="Potential for Childbearing" domain="[]" context="{'group_by':'childbearing_age'}"/>
106+
<filter string="Important disease, allergy or procedures information" domain="[]" context="{'group_by':'critical_info'}"/>
107+
<filter string="Address" domain="[]" context="{'group_by':'current_address'}"/>
108+
<filter string="Lastname" domain="[]" context="{'group_by':'lastname'}"/>
109+
<filter string="Ethnic group" domain="[]" context="{'group_by':'ethnic_group'}"/>
110+
<filter string="SSN" domain="[]" context="{'group_by':'ssn'}"/>
111+
<filter string="Name" domain="[]" context="{'group_by':'rec_name'}"/>
112+
<filter string="Patient" domain="[]" context="{'group_by':'name'}"/>
113+
<filter string="DoB" domain="[]" context="{'group_by':'dob'}"/>
114+
<filter string="Age" domain="[]" context="{'group_by':'age'}"/>
115+
<filter string="Date of Death" domain="[]" context="{'group_by':'dod'}"/>
116+
<filter string="Insurance" domain="[]" context="{'group_by':'current_insurance'}"/>
117+
<filter string="Cause of Death" domain="[]" context="{'group_by':'cod'}"/>
118+
<filter string="ID" domain="[]" context="{'group_by':'identification_code'}"/>
119+
<filter string="Deceased" domain="[]" context="{'group_by':'deceased'}"/>
120+
</group>
121+
</search>
122+
</field>
123+
</record>
124+
125+
<record model="ir.actions.act_window" id="act_open_oemedical_patient_view">
126+
<field name="name"> Patient</field>
127+
<field name="type">ir.actions.act_window</field>
128+
<field name="res_model">oemedical.patient</field>
129+
<field name="view_type">form</field>
130+
<field name="view_mode">tree,form</field>
131+
<field name="search_view_id" ref="view_oemedical_patient_search"/>
132+
<field name="domain">[]</field>
133+
<field name="context">{}</field>
134+
</record>
135+
136+
<record model="ir.actions.act_window.view" id="act_open_oemedical_patient_view_form">
137+
<field name="act_window_id" ref="act_open_oemedical_patient_view"/>
138+
<field name="sequence" eval="20"/>
139+
<field name="view_mode">form</field>
140+
<field name="view_id" ref="view_oemedical_patient_form"/>
141+
</record>
142+
143+
<record model="ir.actions.act_window.view" id="act_open_oemedical_patient_view_tree">
144+
<field name="act_window_id" ref="act_open_oemedical_patient_view"/>
145+
<field name="sequence" eval="10"/>
146+
<field name="view_mode">tree</field>
147+
<field name="view_id" ref="view_oemedical_patient_tree"/>
148+
</record>
149+
150+
</data>
151+
</openerp>

0 commit comments

Comments
 (0)