diff --git a/atlas/migrations/0010_auto_20211129_2214.py b/atlas/migrations/0010_auto_20211129_2214.py new file mode 100644 index 00000000..e24526bb --- /dev/null +++ b/atlas/migrations/0010_auto_20211129_2214.py @@ -0,0 +1,33 @@ +# Generated by Django 3.2.8 on 2021-11-29 22:14 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('atlas', '0009_seriesfinding_viewport_json'), + ] + + operations = [ + migrations.AddField( + model_name='case', + name='discussion', + field=models.TextField(blank=True, null=True), + ), + migrations.CreateModel( + name='Differential', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('text', models.TextField(blank=True, null=True)), + ('case', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='differentialcase', to='atlas.case')), + ('condition', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='atlas.condition')), + ], + ), + migrations.AddField( + model_name='case', + name='differential', + field=models.ManyToManyField(related_name='casedifferential', through='atlas.Differential', to='atlas.Condition'), + ), + ] diff --git a/atlas/models.py b/atlas/models.py index 90c6a913..98d33e43 100644 --- a/atlas/models.py +++ b/atlas/models.py @@ -113,6 +113,16 @@ class Subspecialty(models.Model): return self.name +class Differential(models.Model): + condition = models.ForeignKey( + Condition, on_delete=models.CASCADE + ) + case = models.ForeignKey( + "Case", on_delete=models.CASCADE, related_name="differentialcase" + ) + text = models.TextField(null=True, blank=True) + + @reversion.register class Case(models.Model): # class SubspecialtyChoices(models.TextChoices): @@ -137,6 +147,7 @@ class Case(models.Model): ) history = models.TextField(null=True, blank=True) + discussion = models.TextField(null=True, blank=True) # findings = models.TextField(null=True, blank=True) @@ -145,6 +156,8 @@ class Case(models.Model): condition = models.ManyToManyField(Condition, blank=True) + differential = models.ManyToManyField(Condition, through=Differential, related_name="casedifferential") + sign = tagulous.models.TagField( to=Sign, blank=True, help_text="Radiological signs in the question" )