Skip to content

Commit

Permalink
Merge branch 'hotfix/3.1.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
xispa committed Jul 11, 2014
2 parents 1ac8ea3 + e9d2930 commit 32795e9
Show file tree
Hide file tree
Showing 19 changed files with 216 additions and 99 deletions.
19 changes: 0 additions & 19 deletions CHANGELOG.md

This file was deleted.

36 changes: 36 additions & 0 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
3.1.1
------------------

HEALTH-122: Client contact cannot open Client page/AR page blank
HEALTH-92: Display Patients tab inside Referral Institution (Client)
HEALTH-109: Manually adding symptoms saving but remaining on the same page
HEALTH-124: Client contact can access doctors and patients of other clients
HEALTH-121: Client contact gets Insufficient Privileges upon login
HEALTH-133: Case creation: Basal body temperature fields accepting values way out of range
HEALTH-106: Mimetype text/plain is not allowed in Drug edit view
HEALTH-73: Current and Historic results in PDF sorted in the same order
HEALTH-61: Sort Symptoms table on gender
HEALTH-23: No drugs listed in Drugs folder
Hyperlinks to Analysis Requests in Patient's Historic Results


3.1 Naringenin (2014-06-04)
------------------

- Inherits all features from Bika LIMS release/3.1
- Customisations towards CLIA compliance
- Incorrect published results invalidation workflow
- Regulatory Inspector role
- Tighter Patient privacy restrictions
- Life Threat Alert
- Public Results specifications
- Results reports inclusion of relevant QC results
- Patient results history graphs
- Simplified Clinical Case sections for Signs and Symptoms, Patient Condition
- Stream-lined anonymous Patient workflow


0.1 - 2012-12-31
------------------

- Create separate product from the Bika-LIMS/health branch.
18 changes: 11 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Bika Health 3.1 (Naringenin)
Bika Health 3.1.1 (Naringenin)
================

Bika Laboratory Information Management System customised for use in Health laboratories.
Expand All @@ -7,8 +7,9 @@ Bika Laboratory Information Management System customised for use in Health labor

Installation instructions:

https://github.com/bikalabs/bika.health/wiki/Installing-Bika-Health-Extension

1. Read https://plone.org/documentation/manual/installing-plone
2. Read https://plone.org/documentation/kb/installing-add-ons-quick-how-to
3. Install Plone and the "bika.health" package

If you have questions, please post to one of our mailing lists:

Expand All @@ -17,11 +18,14 @@ If you have questions, please post to one of our mailing lists:
* LIMS design: https://groups.google.com/forum/?hl=en#%21forum/bika-design
* Developers: http://lists.sourceforge.net/lists/listinfo/bika-developers

Please log issues, feature requests, or bug reports in the public issue
tracker at Github: https://github.com/bikalabs/bika.health/issues
Please log issues, feature requests, or bug reports in the [issue tracker](http://jira.bikalabs.com/)

Bika Lab Systems

info@bikalabs.com

Bika Lab Systems
info@bikalabs.com
http://www.bikalabs.com

Naralabs
info@naralabs.com
http://www.naralabs.com
1 change: 1 addition & 0 deletions bika/health/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ def initialize(context):

from controlpanel.bika_aetiologicagents import AetiologicAgents
from controlpanel.bika_caseoutcomes import CaseOutcomes
from controlpanel.bika_casesyndromicclassifications import CaseSyndromicClassifications
from controlpanel.bika_casestatuses import CaseStatuses
from controlpanel.bika_diseases import Diseases
from controlpanel.bika_drugprohibitions import DrugProhibitions
Expand Down
10 changes: 10 additions & 0 deletions bika/health/browser/analysisrequest/publish.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,3 +167,13 @@ def get_historicresults(self, patient):
dates, data = historic(patient)
return {'dates': dates,
'results': data}

def sortDictTitles(self, analyses_dict):
sorted_t_list = list()
sorted_list = list()
for analysis in analyses_dict:
sorted_t_list.append((analyses_dict[analysis]['title'],analysis))
sorted_t_list.sort()
for tanalysis,nanalysis in sorted_t_list:
sorted_list.append(nanalysis)
return sorted_list
24 changes: 14 additions & 10 deletions bika/health/browser/analysisrequest/report_results.pt
Original file line number Diff line number Diff line change
Expand Up @@ -573,16 +573,20 @@
tal:content="python:row['object'].Title()"
style='font-weight:bold;text-align:left;padding-top:8px;'></th>
</tr>
<tal:analyses repeat="analysis python:row['analyses'].itervalues()">
<tr tal:attributes="cat python:row['object'].Title()">
<td style='text-align:left;' tal:content="python:analysis['title']"></td>
<tal:rowdates repeat="date dates">
<td tal:content="python:analysis.get(date,{}).get('formattedresult', '')" class='center'></td>
</tal:rowdates>
<td tal:content="python:analysis['units']"></td>
<td tal:content="python:analysis['specs'].get('rangecomment','')"></td>
</tr>
</tal:analyses>
<tal:analyses define="analyses_dict python:row['analyses'];
analyses_sorted_list python: view.sortDictTitles(analyses_dict);">
<tal:analysis repeat="analysis analyses_sorted_list">
<tr tal:attributes="cat python:row['object'].Title()">
<td style='text-align:left;' tal:content="python:analyses_dict[analysis]['title']"></td>
<tal:rowdates repeat="date dates">
<td tal:content="python:analyses_dict[analysis].get(date,{}).get('formattedresult', '')" class='center'></td>
</tal:rowdates>
<td tal:content="python:analyses_dict[analysis]['units']"></td>
<td tal:content="python:analyses_dict[analysis]['specs'].get('rangecomment','')"></td>
</tr>
</tal:analysis>
</tal:analyses>

</tal:sampletypes>
</tbody>
</table>
Expand Down
12 changes: 6 additions & 6 deletions bika/health/browser/client/overrides.zcml
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,26 @@
for="bika.lims.interfaces.IClient"
name="batches"
class="bika.health.browser.client.batches.BatchesView"
permission="bika.lims.ManageClients"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<browser:page
for="bika.lims.interfaces.IClient"
name="samples"
class="bika.health.browser.client.samples.ClientSamplesView"
permission="bika.lims.ManageClients"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<browser:page
for="bika.lims.interfaces.IClient"
name="base_view"
class="bika.health.browser.client.analysisrequests.AnalysisRequestsView"
permission="bika.lims.ManageClients"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<browser:page
for="bika.lims.interfaces.IClient"
name="workflow_action"
Expand Down
8 changes: 7 additions & 1 deletion bika/health/browser/patient/historicresults.pt
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,13 @@
<span style="font-size:0.8em;color:#333;" tal:content="python:' ('+analysis['keyword']+')'"/>
</td>
<tal:rowdates repeat="date dates">
<td tal:content="python:analysis.get(date,{}).get('formattedresult', '')" class='center'></td>
<td tal:condition="python:analysis.get(date,None)">
<span tal:content="python:analysis.get(date,{}).get('formattedresult', '')" class='center'/> -
<a href="" tal:attributes="href python:analysis.get(date,{}).get('object','').aq_parent.absolute_url()">
<span tal:content="python:analysis.get(date,{}).get('object','').aq_parent.id" class='center'/>
</a>
</td>
<td tal:condition="python:not analysis.get(date,None)"></td>
</tal:rowdates>
<td tal:content="python:analysis['units']"></td>
<td tal:content="python:analysis['specs'].get('rangecomment','')"></td>
Expand Down
16 changes: 8 additions & 8 deletions bika/health/content/drug.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
),

TextField('Indications',
default_content_type = 'text/x-web-intelligent',
allowable_content_types = ('text/x-web-intelligent',),
default_content_type = 'text/plain',
allowable_content_types = ('text/plain',),
default_output_type="text/plain",
widget = TextAreaWidget(
label = _("Drug indications",
Expand All @@ -31,8 +31,8 @@
),

TextField('Posology',
default_content_type = 'text/x-web-intelligent',
allowable_content_types = ('text/x-web-intelligent',),
default_content_type = 'text/plain',
allowable_content_types = ('text/plain',),
default_output_type="text/plain",
widget = TextAreaWidget(
label = _("Drug posology",
Expand All @@ -42,8 +42,8 @@
),

TextField('SideEffects',
default_content_type = 'text/x-web-intelligent',
allowable_content_types = ('text/x-web-intelligent',),
default_content_type = 'text/plain',
allowable_content_types = ('text/plain',),
default_output_type="text/plain",
widget = TextAreaWidget(
label = _("Drug side effects",
Expand All @@ -53,8 +53,8 @@
),

TextField('Preservation',
default_content_type = 'text/x-web-intelligent',
allowable_content_types = ('text/x-web-intelligent',),
default_content_type = 'text/plain',
allowable_content_types = ('text/plain',),
default_output_type="text/plain",
widget = TextAreaWidget(
label = _("Drug preservation",
Expand Down
2 changes: 1 addition & 1 deletion bika/health/controlpanel/bika_symptoms.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ def __init__(self,context,request):
'index': 'description',
'toggle': True},
'Gender': {'title': _('Gender'),
'index': 'gender',
'index': 'getGender',
'toggle': True},
}

Expand Down
2 changes: 1 addition & 1 deletion bika/health/profiles/default/metadata.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<metadata>
<version>3002</version>
<version>3004</version>
<dependencies>
<dependency>profile-bika.lims:default</dependency>
</dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
meta_type="Factory-based Type Information with dynamic views"
xmlns:i18n="http://xml.zope.org/namespaces/i18n"
i18n:domain="plone">
<property name="title" i18n:translate="">Case SyndromicClassification</property>
<property name="title" i18n:translate="">Case Syndromic Classification</property>
<property name="description"></property>
<property name="content_icon">++resource++bika.health.images/casesyndromicclassification.png</property>
<property name="content_meta_type">CaseSyndromicClassification</property>
Expand Down
3 changes: 3 additions & 0 deletions bika/health/setuphandlers.py
Original file line number Diff line number Diff line change
Expand Up @@ -292,13 +292,16 @@ def addColumn(cat, col):
at.setCatalogsByType('AetiologicAgent', ['bika_setup_catalog', ])
at.setCatalogsByType('Treatment', ['bika_setup_catalog'])
at.setCatalogsByType('Symptom', ['bika_setup_catalog'])
at.setCatalogsByType('Drug', ['bika_setup_catalog'])
at.setCatalogsByType('DrugProhibition', ['bika_setup_catalog'])
at.setCatalogsByType('VaccinationCenter', ['bika_setup_catalog', ])
at.setCatalogsByType('Immunization', ['bika_setup_catalog', ])
at.setCatalogsByType('CaseStatus', ['bika_setup_catalog', ])
at.setCatalogsByType('CaseOutcome', ['bika_setup_catalog', ])
at.setCatalogsByType('EpidemiologicalYear', ['bika_setup_catalog', ])
at.setCatalogsByType('IdentifierType', ['bika_setup_catalog', ])
addIndex(bsc,'getGender', 'FieldIndex')
addColumn(bsc,'getGender')

# bika_patient_catalog
bpc = getToolByName(portal, 'bika_patient_catalog', None)
Expand Down
57 changes: 19 additions & 38 deletions bika/health/skins/bika_health/validate_integrity.cpy
Original file line number Diff line number Diff line change
Expand Up @@ -25,44 +25,25 @@ else:
stat = 'created'

# Redirection after saving edition forms
if context.portal_type == 'AetiologicAgent':
state.setNextAction('redirect_to:string:${portal_url}/bika_setup/bika_aetiologicagents')

elif context.portal_type == 'BatchLabel':
state.setNextAction('redirect_to:string:${portal_url}/bika_setup/bika_batchlabels')

elif context.portal_type == 'CaseOutcome':
state.setNextAction('redirect_to:string:${portal_url}/bika_setup/bika_caseoutcomes')

elif context.portal_type == 'CaseStatus':
state.setNextAction('redirect_to:string:${portal_url}/bika_setup/bika_casestatuses')

elif context.portal_type == 'Disease':
state.setNextAction('redirect_to:string:${portal_url}/bika_setup/bika_diseases')

elif context.portal_type == 'Drug':
state.setNextAction('redirect_to:string:${portal_url}/bika_setup/bika_drugs')

elif context.portal_type == 'DrugProhibition':
state.setNextAction('redirect_to:string:${portal_url}/bika_setup/bika_drugprohibitions')

elif context.portal_type == 'Immunization':
state.setNextAction('redirect_to:string:${portal_url}/bika_setup/bika_immunizations')

elif context.portal_type == 'Treatment':
state.setNextAction('redirect_to:string:${portal_url}/bika_setup/bika_treatments')

elif context.portal_type == 'VaccionationCenter':
state.setNextAction('redirect_to:string:${portal_url}/bika_setup/bika_vaccionationcenters')

elif context.portal_type == 'EpidemiologicalYear':
state.setNextAction('redirect_to:string:${portal_url}/bika_setup/bika_epidemiologicalyears')

elif context.portal_type == 'IdentifierType':
state.setNextAction('redirect_to:string:${portal_url}/bika_setup/bika_identifiertypes')

redirects = {'AetiologicAgent' : '/bika_setup/bika_aetiologicagents',
'BatchLabel' : '/bika_setup/bika_batchlabels',
'CaseOutcome': '/bika_setup/bika_caseoutcomes',
'CaseStatus': '/bika_setup/bika_casestatuses',
'Disease': '/bika_setup/bika_diseases',
'Drug': '/bika_setup/bika_drugs',
'DrugProhibition': '/bika_setup/bika_drugprohibitions',
'Immunization': '/bika_setup/bika_immunizations',
'Treatment': '/bika_setup/bika_treatments',
'VaccionationCenter': '/bika_setup/bika_vaccionationcenters',
'EpidemiologicalYear': '/bika_setup/bika_epidemiologicalyears',
'IdentifierType': '/bika_setup/bika_identifiertypes',
'Symptom': '/bika_setup/bika_symptoms' }

if context.portal_type in redirects:
redirect = 'redirect_to:string:${portal_url}' + redirects[context.portal_type]
state.setNextAction(redirect)
else:
stat = 'success'
stat = 'success'

addStatusMessage(request, message)
addStatusMessage(request, message)
return state.set(status=stat)
19 changes: 19 additions & 0 deletions bika/health/static/js/bika.health.batch_edit.js
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,9 @@ function BatchEditView() {
fillPatientAgeAtCaseOnsetDate();
toggleMenstrualStatus();
toggleSymptoms();

// Advertismen for too hight/low Basal body temperature
basalBodyTemperatureControl();
}

/**
Expand Down Expand Up @@ -678,4 +681,20 @@ function BatchEditView() {
}
return editdoctor_overlay;
}

function basalBodyTemperatureControl() {
$( "[id^='BasalBodyTemperature-Day']" ).change(function() {
if ( parseInt($(this).val()) > 41 ) {
$(this).next().remove(".warning");
$(this).parent().append("<span class = 'warning'><img title='Very high temperature' src='http://localhost:8080/Plone/++resource++bika.lims.images/warning.png'></span>");
}
else if ( parseInt($(this).val()) < 32 ) {
$(this).next().remove(".warning");
$(this).parent().append("<span class = 'warning'><img title='Very low temperature' src='http://localhost:8080/Plone/++resource++bika.lims.images/warning.png'></span>");
}
else {
$(this).next().remove(".warning");
}
});
}
}
Loading

0 comments on commit 32795e9

Please sign in to comment.