|
2 | 2 |
|
3 | 3 | from django.db.models import ( |
4 | 4 | CASCADE, |
| 5 | + SET_DEFAULT, |
5 | 6 | BooleanField, |
6 | 7 | CharField, |
7 | 8 | DateField, |
|
12 | 13 | OneToOneField, |
13 | 14 | PositiveIntegerField, |
14 | 15 | TextChoices, |
15 | | - TextField, SET_DEFAULT, |
| 16 | + TextField, |
16 | 17 | ) |
17 | 18 |
|
18 | 19 | from tmh_registry.common.models import TimeStampMixin |
@@ -78,23 +79,25 @@ class Meta: |
78 | 79 | def __str__(self): |
79 | 80 | return f"Patient {self.patient.full_name} ({self.patient_hospital_id}) - Hospital {self.hospital.name}" |
80 | 81 |
|
| 82 | + |
81 | 83 | class PreferredHospital(Model): |
82 | 84 | medical_personnel = OneToOneField( |
83 | 85 | MedicalPersonnel, on_delete=CASCADE, related_name="preferred_hospital" |
84 | 86 | ) |
85 | 87 | hospital = ForeignKey( |
86 | | - Hospital, on_delete=CASCADE, related_name="preferred_by_medical_personnel" |
| 88 | + Hospital, |
| 89 | + on_delete=CASCADE, |
| 90 | + related_name="preferred_by_medical_personnel", |
87 | 91 | ) |
88 | 92 |
|
89 | 93 | class Meta: |
90 | | - unique_together = ( |
91 | | - ("medical_personnel", "hospital"), |
92 | | - ) |
| 94 | + unique_together = (("medical_personnel", "hospital"),) |
93 | 95 | verbose_name_plural = "Medical Personnel Preferred Hospitals" |
94 | 96 |
|
95 | 97 | def __str__(self): |
96 | 98 | return f"{self.medical_personnel.user.first_name} {self.medical_personnel.user.last_name} ({self.medical_personnel.user.username}) - Hospital {self.hospital.name}" |
97 | 99 |
|
| 100 | + |
98 | 101 | class Episode(Model): |
99 | 102 | class EpisodeChoices(TextChoices): |
100 | 103 | INGUINAL = ("INGUINAL", "Inguinal Mesh Hernia Repair") |
@@ -157,9 +160,30 @@ class AnaestheticChoices(TextChoices): |
157 | 160 | created = DateTimeField(auto_now_add=True) |
158 | 161 | surgery_date = DateField(null=True, blank=True) |
159 | 162 | episode_type = CharField(max_length=128, choices=EpisodeChoices.choices) |
160 | | - primary_surgeon = ForeignKey(MedicalPersonnel, on_delete=SET_DEFAULT, blank=True, null=True, default=None, related_name="primary_surgeon") |
161 | | - secondary_surgeon = ForeignKey(MedicalPersonnel, on_delete=SET_DEFAULT, blank=True, null=True, default=None, related_name="secondary_surgeon") |
162 | | - tertiary_surgeon = ForeignKey(MedicalPersonnel, on_delete=SET_DEFAULT, blank=True, null=True, default=None, related_name="tertiary_surgeon") |
| 163 | + primary_surgeon = ForeignKey( |
| 164 | + MedicalPersonnel, |
| 165 | + on_delete=SET_DEFAULT, |
| 166 | + blank=True, |
| 167 | + null=True, |
| 168 | + default=None, |
| 169 | + related_name="primary_surgeon", |
| 170 | + ) |
| 171 | + secondary_surgeon = ForeignKey( |
| 172 | + MedicalPersonnel, |
| 173 | + on_delete=SET_DEFAULT, |
| 174 | + blank=True, |
| 175 | + null=True, |
| 176 | + default=None, |
| 177 | + related_name="secondary_surgeon", |
| 178 | + ) |
| 179 | + tertiary_surgeon = ForeignKey( |
| 180 | + MedicalPersonnel, |
| 181 | + on_delete=SET_DEFAULT, |
| 182 | + blank=True, |
| 183 | + null=True, |
| 184 | + default=None, |
| 185 | + related_name="tertiary_surgeon", |
| 186 | + ) |
163 | 187 | surgeons = ManyToManyField(MedicalPersonnel) |
164 | 188 | cepod = CharField(max_length=16, choices=CepodChoices.choices) |
165 | 189 | side = CharField(max_length=16, choices=SideChoices.choices) |
|
0 commit comments