Skip to content

Commit

Permalink
fix: set null=True for all ForeignKey fields (#301)
Browse files Browse the repository at this point in the history
  • Loading branch information
csande authored Jan 10, 2025
1 parent bc99865 commit 5c4be8f
Show file tree
Hide file tree
Showing 16 changed files with 131 additions and 98 deletions.
6 changes: 4 additions & 2 deletions canvas_sdk/v1/data/allergy_intolerance.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,13 @@ class Meta:
created = models.DateTimeField()
modified = models.DateTimeField()
deleted = models.BooleanField()
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
patient = models.ForeignKey(
Patient,
on_delete=models.DO_NOTHING,
related_name="allergy_intolerances",
null=True,
)
note_id = models.BigIntegerField()
allergy_intolerance_type = models.CharField()
Expand Down Expand Up @@ -58,4 +59,5 @@ class Meta:
AllergyIntolerance,
on_delete=models.DO_NOTHING,
related_name="codings",
null=True,
)
6 changes: 4 additions & 2 deletions canvas_sdk/v1/data/billing.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,11 @@ class Meta:
dbid = models.BigIntegerField(primary_key=True)
created = models.DateTimeField()
modified = models.DateTimeField()
note = models.ForeignKey(Note, on_delete=models.DO_NOTHING, related_name="billing_line_items")
note = models.ForeignKey(
Note, on_delete=models.DO_NOTHING, related_name="billing_line_items", null=True
)
patient = models.ForeignKey(
Patient, on_delete=models.DO_NOTHING, related_name="billing_line_items"
Patient, on_delete=models.DO_NOTHING, related_name="billing_line_items", null=True
)
cpt = models.CharField()
charge = models.DecimalField()
Expand Down
8 changes: 4 additions & 4 deletions canvas_sdk/v1/data/command.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ class Meta:
dbid = models.BigIntegerField(primary_key=True)
created = models.DateTimeField()
modified = models.DateTimeField()
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
state = models.CharField()
patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING)
patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING, null=True)
note_id = models.BigIntegerField()
schema_key = models.TextField()
data = models.JSONField()
Expand Down
12 changes: 8 additions & 4 deletions canvas_sdk/v1/data/condition.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,11 @@ class Meta:
id = models.UUIDField()
dbid = models.BigIntegerField(primary_key=True)
deleted = models.BooleanField()
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING, related_name="conditions")
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
patient = models.ForeignKey(
Patient, on_delete=models.DO_NOTHING, related_name="conditions", null=True
)
onset_date = models.DateField()
resolution_date = models.DateField()
clinical_status = models.CharField(choices=ClinicalStatus.choices)
Expand All @@ -57,4 +59,6 @@ class Meta:
code = models.CharField()
display = models.CharField()
user_selected = models.BooleanField()
condition = models.ForeignKey(Condition, on_delete=models.DO_NOTHING, related_name="codings")
condition = models.ForeignKey(
Condition, on_delete=models.DO_NOTHING, related_name="codings", null=True
)
13 changes: 8 additions & 5 deletions canvas_sdk/v1/data/detected_issue.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ class Meta:
modified = models.DateTimeField()
identified = models.DateTimeField()
deleted = models.BooleanField()
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
patient = models.ForeignKey(
Patient, on_delete=models.DO_NOTHING, related_name="detected_issues"
Patient, on_delete=models.DO_NOTHING, related_name="detected_issues", null=True
)
code = models.CharField()
status = models.CharField()
Expand All @@ -48,5 +48,8 @@ class Meta:
display = models.CharField()
user_selected = models.BooleanField()
detected_issue = models.ForeignKey(
DetectedIssue, on_delete=models.DO_NOTHING, related_name="evidence"
DetectedIssue,
on_delete=models.DO_NOTHING,
related_name="evidence",
null=True,
)
10 changes: 6 additions & 4 deletions canvas_sdk/v1/data/device.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,12 @@ class Meta:
dbid = models.BigIntegerField(primary_key=True)
created = models.DateTimeField()
modified = models.DateTimeField()
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING, related_name="devices")
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
patient = models.ForeignKey(
Patient, on_delete=models.DO_NOTHING, related_name="devices", null=True
)
note_id = models.BigIntegerField()
deleted = models.BooleanField()
labeled_contains_NRL = models.BooleanField()
Expand Down
28 changes: 15 additions & 13 deletions canvas_sdk/v1/data/imaging.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,23 +22,25 @@ class Meta:
dbid = models.BigIntegerField(primary_key=True)
created = models.DateTimeField()
modified = models.DateTimeField()
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
deleted = models.BooleanField()
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING, related_name="imaging_orders")
patient = models.ForeignKey(
Patient, on_delete=models.DO_NOTHING, related_name="imaging_orders", null=True
)
# TODO - uncomment when Note model is complete
# note = models.ForeigneKey(Note, on_delete=models.DO_NOTHING, related_name="imaging_orders")
# note = models.ForeigneKey(Note, on_delete=models.DO_NOTHING, related_name="imaging_orders", null=True)
imaging = models.CharField()
# TODO - uncomment when ServiceProvider model is complete
# imaging_center = models.ForeignKey(ServiceProvider, related_name="imaging_orders", null=True, on_delete=models.DO_NOTHING)
# imaging_center = models.ForeignKey(ServiceProvider, on_delete=models.DO_NOTHING, related_name="imaging_orders", null=True)
note_to_radiologist = models.CharField()
internal_comment = models.CharField()
status = models.CharField(choices=OrderStatus)
date_time_ordered = models.DateTimeField()
priority = models.CharField()
# TODO - uncomment when Staff model is complete
# ordering_provider = models.ForeignKey(Staff, on_delete=models.CASCADE, related_name="imaging_orders", null=True)
# ordering_provider = models.ForeignKey(Staff, on_delete=models.DO_NOTHING, related_name="imaging_orders", null=True)
delegated = models.BooleanField(default=False)


Expand All @@ -54,19 +56,19 @@ class Meta:
dbid = models.BigIntegerField(primary_key=True)
created = models.DateTimeField()
modified = models.DateTimeField()
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
deleted = models.BooleanField()
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
patient_communication_method = models.CharField(choices=ReviewPatientCommunicationMethod)
# TODO - uncomment when Note model is complete
# note = models.ForeignKey(Note, on_delete=models.DO_NOTHING, related_name="imaging_reviews")
# note = models.ForeignKey(Note, on_delete=models.DO_NOTHING, related_name="imaging_reviews", null=True)
internal_comment = models.CharField()
message_to_patient = models.CharField()
is_released_to_patient = models.BooleanField()
status = models.CharField(choices=ReviewStatus)
patient = models.ForeignKey(
Patient, on_delete=models.DO_NOTHING, related_name="imaging_reviews"
Patient, on_delete=models.DO_NOTHING, related_name="imaging_reviews", null=True
)


Expand All @@ -92,11 +94,11 @@ class Meta:
requires_signature = models.BooleanField()
assigned_date = models.DateTimeField()
patient = models.ForeignKey(
Patient, on_delete=models.DO_NOTHING, related_name="imaging_results"
Patient, on_delete=models.DO_NOTHING, related_name="imaging_results", null=True
)
order = models.ForeignKey(ImagingOrder, on_delete=models.DO_NOTHING, null=True)
source = models.CharField(choices=ImagingReportSource)
name = models.CharField()
result_date = models.DateField()
original_date = models.DateField()
review = models.ForeignKey(ImagingReview, null=True, on_delete=models.DO_NOTHING)
review = models.ForeignKey(ImagingReview, on_delete=models.DO_NOTHING, null=True)
32 changes: 19 additions & 13 deletions canvas_sdk/v1/data/lab.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,12 @@ class Meta:
version = models.IntegerField()
requisition_number = models.CharField()
review = models.ForeignKey(
"LabReview", related_name="reports", on_delete=models.DO_NOTHING, null=True
"LabReview", on_delete=models.DO_NOTHING, related_name="reports", null=True
)
original_date = models.DateTimeField()
date_performed = models.DateTimeField()
custom_document_name = models.CharField()
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
deleted = models.BooleanField()
Expand All @@ -72,14 +72,16 @@ class Meta:
dbid = models.BigIntegerField(primary_key=True)
created = models.DateTimeField()
modified = models.DateTimeField()
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
deleted = models.BooleanField()
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
internal_comment = models.TextField()
message_to_patient = models.CharField()
status = models.CharField()
patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING, related_name="lab_reviews")
patient = models.ForeignKey(
Patient, on_delete=models.DO_NOTHING, related_name="lab_reviews", null=True
)
patient_communication_method = models.CharField()


Expand Down Expand Up @@ -113,7 +115,7 @@ class Meta:
created = models.DateTimeField()
modified = models.DateTimeField()
report = models.ForeignKey(
"LabReport", related_name="values", on_delete=models.DO_NOTHING, null=True
"LabReport", on_delete=models.DO_NOTHING, related_name="values", null=True
)
value = models.TextField()
units = models.CharField()
Expand Down Expand Up @@ -178,14 +180,16 @@ class Meta:
dbid = models.BigIntegerField(primary_key=True)
created = models.DateTimeField()
modified = models.DateTimeField()
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
deleted = models.BooleanField()
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING, related_name="lab_orders")
patient = models.ForeignKey(
Patient, on_delete=models.DO_NOTHING, related_name="lab_orders", null=True
)
ontology_lab_partner = models.CharField()
# TODO - uncomment when the Note model is finished
# note = models.ForeignKey("Note", on_delete=models.DO_NOTHING)
# note = models.ForeignKey("Note", on_delete=models.DO_NOTHING, null=True)
comment = models.CharField()
requisition_number = models.CharField()
is_patient_bill = models.BooleanField(null=True)
Expand Down Expand Up @@ -224,11 +228,13 @@ class Meta:
dbid = models.BigIntegerField(primary_key=True)
created = models.DateTimeField()
modified = models.DateTimeField()
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
deleted = models.BooleanField()
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
order = models.ForeignKey(LabOrder, on_delete=models.DO_NOTHING, related_name="reasons")
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
order = models.ForeignKey(
LabOrder, on_delete=models.DO_NOTHING, related_name="reasons", null=True
)
mode = models.CharField(max_length=30, choices=LabReasonMode)


Expand Down Expand Up @@ -281,7 +287,7 @@ class Meta:
ontology_test_code = models.CharField(max_length=512, blank=True, default="")
status = models.CharField(max_length=30, choices=LabTestOrderStatus)
report = models.ForeignKey(
LabReport, on_delete=models.DO_NOTHING, null=True, related_name="tests"
LabReport, on_delete=models.DO_NOTHING, related_name="tests", null=True
)
aoe_code = models.CharField(max_length=10, default="")
procedure_class = models.CharField(max_length=10, default="")
Expand Down
12 changes: 8 additions & 4 deletions canvas_sdk/v1/data/medication.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,12 @@ class Meta:

id = models.UUIDField()
dbid = models.BigIntegerField(primary_key=True)
patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING, related_name="medications")
patient = models.ForeignKey(
Patient, on_delete=models.DO_NOTHING, related_name="medications", null=True
)
deleted = models.BooleanField()
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
status = models.CharField(choices=Status.choices)
start_date = models.DateTimeField()
end_date = models.DateTimeField()
Expand All @@ -59,4 +61,6 @@ class Meta:
code = models.CharField()
display = models.CharField()
user_selected = models.BooleanField()
medication = models.ForeignKey(Medication, on_delete=models.DO_NOTHING, related_name="codings")
medication = models.ForeignKey(
Medication, on_delete=models.DO_NOTHING, related_name="codings", null=True
)
14 changes: 8 additions & 6 deletions canvas_sdk/v1/data/note.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,21 +140,23 @@ class Meta:
dbid = models.BigIntegerField(db_column="dbid", primary_key=True)
created = models.DateTimeField()
modified = models.DateTimeField()
patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING)
provider = models.ForeignKey("Staff", on_delete=models.DO_NOTHING, related_name="notes")
patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING, null=True)
provider = models.ForeignKey(
"Staff", on_delete=models.DO_NOTHING, related_name="notes", null=True
)
note_type = models.CharField(choices=NoteTypes.choices, null=True)
note_type_version = models.ForeignKey(
"NoteType", on_delete=models.DO_NOTHING, related_name="notes"
"NoteType", on_delete=models.DO_NOTHING, related_name="notes", null=True
)
title = models.TextField()
body = models.JSONField()
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
last_modified_by_staff = models.ForeignKey("Staff", on_delete=models.DO_NOTHING, null=True)
checksum = models.CharField()
billing_note = models.TextField()
# TODO -implement InpatientStay model
# inpatient_stay = models.ForeignKey("InpatientStay", on_delete=models.DO_NOTHING)
# inpatient_stay = models.ForeignKey("InpatientStay", on_delete=models.DO_NOTHING, null=True)
related_data = models.JSONField()
location = models.ForeignKey("PracticeLocation", on_delete=models.DO_NOTHING)
location = models.ForeignKey("PracticeLocation", on_delete=models.DO_NOTHING, null=True)
datetime_of_service = models.DateTimeField()
place_of_service = models.CharField()
Loading

0 comments on commit 5c4be8f

Please sign in to comment.