diff --git a/apps/tb/migrations/0035_auto_20181018_0940.py b/apps/tb/migrations/0035_auto_20181018_0940.py new file mode 100644 index 000000000..2aec46fb4 --- /dev/null +++ b/apps/tb/migrations/0035_auto_20181018_0940.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.8 on 2018-10-18 09:40 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('tb', '0034_auto_20180824_1925'), + ] + + operations = [ + migrations.AlterModelOptions( + name='tbmanagement', + options={'verbose_name': 'TB Management'}, + ), + migrations.AlterField( + model_name='tbmanagement', + name='ltbr_number', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name=b'LTBR Number'), + ), + ] diff --git a/elcid/migrations/0026_auto_20181018_0940.py b/elcid/migrations/0026_auto_20181018_0940.py new file mode 100644 index 000000000..ab59837c4 --- /dev/null +++ b/elcid/migrations/0026_auto_20181018_0940.py @@ -0,0 +1,67 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.8 on 2018-10-18 09:40 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('elcid', '0025_merge_20180718_0817'), + ] + + operations = [ + migrations.RemoveField( + model_name='positivebloodculturehistory', + name='created_by', + ), + migrations.RemoveField( + model_name='positivebloodculturehistory', + name='patient', + ), + migrations.RemoveField( + model_name='positivebloodculturehistory', + name='updated_by', + ), + migrations.AlterModelOptions( + name='finaldiagnosis', + options={'verbose_name': 'Final Diagnosis', 'verbose_name_plural': 'Final Diagnoses'}, + ), + migrations.AlterModelOptions( + name='infection', + options={'verbose_name': 'Infection Related Issues'}, + ), + migrations.AlterModelOptions( + name='microbiologyinput', + options={'verbose_name': 'Clinical Advice', 'verbose_name_plural': 'Clinical Advice'}, + ), + migrations.AlterModelOptions( + name='pastmedicalhistory', + options={'verbose_name': 'PMH', 'verbose_name_plural': 'Past medical histories'}, + ), + migrations.AlterModelOptions( + name='primarydiagnosis', + options={'verbose_name': 'Primary Diagnosis', 'verbose_name_plural': 'Primary Diagnoses'}, + ), + migrations.AlterModelOptions( + name='procedure', + options={'verbose_name': 'Operation / Procedures'}, + ), + migrations.AlterModelOptions( + name='referralroute', + options={'verbose_name': 'Referral Route'}, + ), + migrations.AlterModelOptions( + name='symptomcomplex', + options={'verbose_name': 'Symptoms', 'verbose_name_plural': 'Symptom complexes'}, + ), + migrations.AlterField( + model_name='referralroute', + name='referral_type', + field=models.CharField(blank=True, choices=[(b'Primary care (GP)', b'Primary care (GP)'), (b'Primary care (other)', b'Primary care (other)'), (b'Secondary care', b'Secondary care'), (b'TB service', b'TB service'), (b'A&E', b'A&E'), (b'Find & treat', b'Find & treat'), (b'Prison screening', b'Prison screening'), (b'Port Health/HPA', b'Port Health/HPA'), (b'Private', b'Private')], default=b'', max_length=256), + ), + migrations.DeleteModel( + name='PositiveBloodCultureHistory', + ), + ] diff --git a/elcid/models.py b/elcid/models.py index 2ea81a113..dedda83ab 100644 --- a/elcid/models.py +++ b/elcid/models.py @@ -615,15 +615,6 @@ class Imaging(EpisodeSubrecord): details = models.TextField(blank=True, null=True) -class PositiveBloodCultureHistory(PatientSubrecord): - when = models.DateTimeField(default=datetime.datetime.now) - - @classmethod - def _get_field_default(cls, name): - # this should not be necessary... - return None - - class ReferralRoute(omodels.EpisodeSubrecord): _icon = 'fa fa-level-up' _is_singleton = True @@ -684,16 +675,3 @@ class GP(omodels.PatientSubrecord): max_length=256 ) contact_details = models.TextField() - - -# method for updating -@receiver(post_save, sender=omodels.Tagging) -def record_positive_blood_culture(sender, instance, **kwargs): - from elcid.patient_lists import Bacteraemia - - if instance.value == Bacteraemia.tag: - pbch, _ = PositiveBloodCultureHistory.objects.get_or_create( - patient_id=instance.episode.patient.id - ) - pbch.when = datetime.datetime.now() - pbch.save() diff --git a/elcid/templates/forms/positive_blood_culture_history_form.html b/elcid/templates/forms/positive_blood_culture_history_form.html deleted file mode 100644 index 36561e5df..000000000 --- a/elcid/templates/forms/positive_blood_culture_history_form.html +++ /dev/null @@ -1,2 +0,0 @@ -{% load forms %} -{% datetimepicker field="PositiveBloodCultureHistory.when" %} \ No newline at end of file diff --git a/elcid/templates/records/positive_blood_culture_history.html b/elcid/templates/records/positive_blood_culture_history.html deleted file mode 100644 index d5edd34c0..000000000 --- a/elcid/templates/records/positive_blood_culture_history.html +++ /dev/null @@ -1,4 +0,0 @@ - - [[ item.when | shortDateTime ]] -
-
\ No newline at end of file diff --git a/elcid/test/test_api.py b/elcid/test/test_api.py index c43d8c545..c296de1c4 100644 --- a/elcid/test/test_api.py +++ b/elcid/test/test_api.py @@ -326,3 +326,30 @@ def test_patient_found_with_hash(self): self.assertEqual( response["patient"]["demographics"][0]["first_name"], "Dot" ) + + +class GetReferenceRangeTestCase(OpalTestCase): + def to_obs(self, something): + return dict(reference_range=something) + + def test_clean_ref_range(self): + self.assertEqual( + api.get_reference_range(self.to_obs("[ 2 - 3 ]")), + dict(min="2", max="3") + ) + + def test_return_none_if_only_dash(self): + self.assertIsNone( + api.get_reference_range(self.to_obs(" - ")) + ) + + def test_return_none_if_more_than_one_dash(self): + self.assertIsNone( + api.get_reference_range(self.to_obs("else -something - or")) + ) + + def test_return_stripped_max_min(self): + self.assertEqual( + api.get_reference_range(self.to_obs("2-3")), + dict(min="2", max="3") + ) diff --git a/elcid/test/test_models.py b/elcid/test/test_models.py index 7cd590cb2..e777bcda3 100644 --- a/elcid/test/test_models.py +++ b/elcid/test/test_models.py @@ -529,43 +529,3 @@ def test_update_from_dict_with_new_condition(self): self.diagnosis.update_from_dict(data, self.user) diagnosis = self.episode.diagnosis_set.first() self.assertEqual('New condition', diagnosis.condition) - - -class PositiveBloodCultureHistoryTestCase(OpalTestCase): - def setUp(self): - self.patient, self.episode = self.new_patient_and_episode_please() - - def test_creation_on_tagging_save(self): - self.episode.set_tag_names(["bacteraemia"], self.user) - pbch = self.patient.positivebloodculturehistory_set.get() - self.assertEqual(pbch.when.date(), datetime.date.today()) - - def test_not_created_on_a_different_tag_save(self): - self.episode.set_tag_names(["something"], self.user) - self.assertEqual(self.patient.positivebloodculturehistory_set.count(), 0) - - def test_not_updated_on_other_removal(self): - weeks_ago = datetime.datetime(2017, 1, 1) - self.episode.set_tag_names(["bacteraemia"], self.user) - self.patient.positivebloodculturehistory_set.update( - when=weeks_ago - ) - self.episode.set_tag_names(["something"], self.user) - pbch = self.patient.positivebloodculturehistory_set.get() - self.assertEqual(pbch.when.date(), weeks_ago.date()) - - def test_updated_on_repeat_saves(self): - weeks_ago = datetime.datetime(2017, 1, 1) - self.episode.set_tag_names(["bacteraemia"], self.user) - self.patient.positivebloodculturehistory_set.update( - when=weeks_ago - ) - self.episode.set_tag_names(["something"], self.user) - self.episode.set_tag_names(["bacteraemia"], self.user) - pbch = self.patient.positivebloodculturehistory_set.get() - self.assertEqual(pbch.when.date(), datetime.date.today()) - - def test_only_one_instance_created(self): - self.episode.set_tag_names(["bacteraemia"], self.user) - self.episode.set_tag_names(["bacteraemia"], self.user) - self.assertEqual(self.patient.positivebloodculturehistory_set.count(), 1) diff --git a/elcid/test/test_status_report.py b/elcid/test/test_status_report.py index 1f432dcc5..4d49828a1 100644 --- a/elcid/test/test_status_report.py +++ b/elcid/test/test_status_report.py @@ -24,7 +24,7 @@ def test_handle_subrecords(self): created=datetime.datetime(2015, 1, 1) ) - patient.positivebloodculturehistory_set.create( + episode.imaging_set.create( created=datetime.datetime.now() - datetime.timedelta(1) ) @@ -43,10 +43,10 @@ def test_handle_subrecords(self): ) self.assertEqual( - output["all_time"]["Positive Blood Culture History"], 1 + output["all_time"]["Imaging"], 1 ) self.assertEqual( - output["last_week"]["Positive Blood Culture History"], 1 + output["last_week"]["Imaging"], 1 ) def test_handle_episodes(self):