Source code for endoreg_db.models.medical.finding.finding

# Class to represent findings of examinations
from django.db import models
from typing import List

class FindingManager(models.Manager):
    def get_by_natural_key(self, name):
        return self.get(name=name)

[docs] class Finding(models.Model): name = models.CharField(max_length=100, unique=True) name_de = models.CharField(max_length=100, blank=True, null=True) name_en = models.CharField(max_length=100, blank=True, null=True) description = models.TextField(blank=True, null=True) description_de = models.TextField(blank=True, null=True) description_en = models.TextField(blank=True, null=True) examinations = models.ManyToManyField('Examination', blank=True, related_name='findings') finding_types = models.ManyToManyField('FindingType', blank=True, related_name='findings') finding_interventions = models.ManyToManyField( 'FindingIntervention', blank=True, related_name='findings' ) causing_finding_interventions = models.ManyToManyField( 'FindingIntervention', blank=True, related_name='causing_findings' ) opt_causing_finding_interventions = models.ManyToManyField( 'FindingIntervention', blank=True, related_name='opt_causing_findings' ) required_morphology_classification_types = models.ManyToManyField( 'FindingMorphologyClassificationType', blank=True, related_name='required_by_findings' ) optional_morphology_classification_types = models.ManyToManyField( 'FindingMorphologyClassificationType', blank=True, related_name='optional_for_findings' ) objects = FindingManager()
[docs] def natural_key(self): return (self.name,)
def __str__(self): return self.name
[docs] def get_finding_types(self): return self.finding_types.all()
[docs] def get_location_classifications(self): from endoreg_db.models import FindingLocationClassification # FindingLocationClassification is a class with a many-to-many relationship to Finding # related name is location_classifications location_classifications:FindingLocationClassification = self.location_classifications.all() return location_classifications
[docs] def get_required_morphology_classification_types(self): from endoreg_db.models import FindingMorphologyClassificationType finding_morphology_classification_types:List[FindingMorphologyClassificationType] = [ _ for _ in self.required_morphology_classification_types.all() ] return finding_morphology_classification_types