Skip to content

Commit

Permalink
Merge 45ef10d into f0bb0d4
Browse files Browse the repository at this point in the history
  • Loading branch information
fredkingham committed Oct 18, 2018
2 parents f0bb0d4 + 45ef10d commit dcebf18
Show file tree
Hide file tree
Showing 8 changed files with 121 additions and 71 deletions.
24 changes: 24 additions & 0 deletions apps/tb/migrations/0035_auto_20181018_0940.py
Original file line number Diff line number Diff line change
@@ -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'),
),
]
67 changes: 67 additions & 0 deletions elcid/migrations/0026_auto_20181018_0940.py
Original file line number Diff line number Diff line change
@@ -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',
),
]
22 changes: 0 additions & 22 deletions elcid/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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()

This file was deleted.

4 changes: 0 additions & 4 deletions elcid/templates/records/positive_blood_culture_history.html

This file was deleted.

27 changes: 27 additions & 0 deletions elcid/test/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -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")
)
40 changes: 0 additions & 40 deletions elcid/test/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
6 changes: 3 additions & 3 deletions elcid/test/test_status_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
)

Expand All @@ -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):
Expand Down

0 comments on commit dcebf18

Please sign in to comment.