enable priors in atlas

This commit is contained in:
Ross
2024-07-17 22:00:57 +01:00
parent 35e4b81e34
commit 7075bba7a2
8 changed files with 312 additions and 6 deletions
+26
View File
@@ -461,6 +461,18 @@ class Case(models.Model, AuthorMixin, QuestionMixin):
def get_viva_details_json(self):
return json.dumps(self.get_viva_details())
def get_all_prior_cases(self):
prior_cases = []
while self.previous_case is not None:
prior_cases.append(self.previous_case)
self = self.previous_case
return prior_cases
def get_series(self):
return self.series.all().prefetch_related("images", "examination", "plane")
def extract_image_dicom_json_from_ds(ds, url, image_index):
to_keep = [
@@ -1007,6 +1019,9 @@ class CaseDetail(models.Model):
class Meta:
ordering = ("sort_order",)
def __str__(self) -> str:
return f"{self.case} -> {self.collection}"
def get_question_schema(self):
return json.dumps(self.question_schema)
@@ -1014,6 +1029,17 @@ class CaseDetail(models.Model):
"""Returns the correct question answers as a json string"""
return json.dumps(self.question_answers)
class CasePrior(models.Model):
case_detail = models.ForeignKey(CaseDetail, on_delete=models.CASCADE)
prior_case = models.ForeignKey(Case, on_delete=models.CASCADE, related_name="prior_case")
relation_text = models.CharField(max_length=255, blank=True, help_text="Text to describe the relationship between the cases")
class Meta:
unique_together = ("case_detail", "prior_case")
def __str__(self) -> str:
return f"{self.case_detail.case} -> {self.prior_case}"
class BaseReportAnswer(models.Model):
question = models.ForeignKey(CaseDetail, on_delete=models.CASCADE)