From be165ce62f0a3087a14243e7f03b72b9fe7aa30d Mon Sep 17 00:00:00 2001 From: Ross Date: Sun, 28 Nov 2021 15:14:41 +0000 Subject: [PATCH] . --- atlas/admin.py | 3 ++- atlas/models.py | 35 ++++++++++++++++++++++++----------- 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/atlas/admin.py b/atlas/admin.py index 1c623ff2..3b5eccd4 100755 --- a/atlas/admin.py +++ b/atlas/admin.py @@ -1,5 +1,5 @@ from django.contrib import admin -from .models import Case, Series, SeriesImage, Condition, Subspecialty +from .models import Case, Series, SeriesImage, Condition, Subspecialty, Finding import tagulous.admin @@ -19,6 +19,7 @@ from generic.models import Examination, Sign admin.site.register(SeriesImage) admin.site.register(Condition) admin.site.register(Subspecialty) +admin.site.register(Finding) class AtlasAdminForm(ModelForm): diff --git a/atlas/models.py b/atlas/models.py index 65badae4..dea9e052 100644 --- a/atlas/models.py +++ b/atlas/models.py @@ -73,16 +73,7 @@ def findMiddle(input_list): return input_list[int(middle)] return (input_list[int(middle)], input_list[int(middle - 1)]) - -class Condition(models.Model): - name = models.CharField(max_length=255) - - synonym = models.ManyToManyField("self", blank=True) - - primary_name = models.BooleanField(default="True") - - subspecialty = models.ManyToManyField("subspecialty", blank=True) - +class SynModel(): def __str__(self) -> str: if self.primary_name: if self.synonym.count() == 0: @@ -93,6 +84,21 @@ class Condition(models.Model): else: return f"{self.name} [syn]" +class Finding(models.Model, SynModel): + name = models.CharField(max_length=255) + synonym = models.ManyToManyField("self", blank=True) + + primary_name = models.BooleanField(default="True") + +class Condition(models.Model, SynModel): + name = models.CharField(max_length=255) + + synonym = models.ManyToManyField("self", blank=True) + + primary_name = models.BooleanField(default="True") + + subspecialty = models.ManyToManyField("subspecialty", blank=True) + class Subspecialty(models.Model): name = models.CharField(max_length=255) @@ -195,6 +201,11 @@ class SeriesImage(models.Model): info = "File is not a dicom." return info +class SeriesFindings(models.Model): + + series = models.ForeignKey( + "Series", related_name="findings", on_delete=models.SET_NULL, null=True + ) @reversion.register class Series(models.Model): @@ -229,7 +240,7 @@ class Series(models.Model): ) description = models.TextField( blank=True, - help_text="Description of stack, for admin organisation, will not be visible when taking", + help_text="Description of stack", ) author = models.ManyToManyField( @@ -238,6 +249,8 @@ class Series(models.Model): related_name="series", ) + findings = models.TextField(null=True, blank=True, help_text="Findings on the series / stack") + open_access = models.BooleanField( help_text="If a question should be freely available to browse", default=True )