canvas 0.45.0__py3-none-any.whl → 0.46.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of canvas might be problematic. Click here for more details.

Files changed (62) hide show
  1. {canvas-0.45.0.dist-info → canvas-0.46.0.dist-info}/METADATA +3 -2
  2. {canvas-0.45.0.dist-info → canvas-0.46.0.dist-info}/RECORD +62 -57
  3. canvas_generated/messages/effects_pb2.py +2 -2
  4. canvas_generated/messages/effects_pb2.pyi +10 -0
  5. canvas_generated/messages/events_pb2.py +2 -2
  6. canvas_generated/messages/events_pb2.pyi +18 -0
  7. canvas_sdk/commands/commands/exam.py +2 -1
  8. canvas_sdk/commands/commands/immunization_statement.py +32 -0
  9. canvas_sdk/commands/commands/questionnaire/__init__.py +18 -3
  10. canvas_sdk/commands/commands/questionnaire/question.py +3 -2
  11. canvas_sdk/commands/commands/questionnaire/toggle_questions.py +68 -0
  12. canvas_sdk/commands/commands/review_of_systems.py +2 -1
  13. canvas_sdk/v1/data/__init__.py +17 -3
  14. canvas_sdk/v1/data/allergy_intolerance.py +16 -19
  15. canvas_sdk/v1/data/appointment.py +10 -14
  16. canvas_sdk/v1/data/assessment.py +9 -10
  17. canvas_sdk/v1/data/banner_alert.py +12 -12
  18. canvas_sdk/v1/data/base.py +45 -1
  19. canvas_sdk/v1/data/billing.py +13 -18
  20. canvas_sdk/v1/data/business_line.py +7 -8
  21. canvas_sdk/v1/data/care_team.py +14 -17
  22. canvas_sdk/v1/data/charge_description_master.py +29 -0
  23. canvas_sdk/v1/data/claim.py +87 -95
  24. canvas_sdk/v1/data/claim_line_item.py +17 -18
  25. canvas_sdk/v1/data/command.py +8 -9
  26. canvas_sdk/v1/data/condition.py +9 -12
  27. canvas_sdk/v1/data/coverage.py +47 -53
  28. canvas_sdk/v1/data/detected_issue.py +16 -20
  29. canvas_sdk/v1/data/device.py +20 -21
  30. canvas_sdk/v1/data/discount.py +8 -8
  31. canvas_sdk/v1/data/imaging.py +24 -30
  32. canvas_sdk/v1/data/invoice.py +3 -3
  33. canvas_sdk/v1/data/lab.py +65 -84
  34. canvas_sdk/v1/data/line_item_transaction.py +7 -9
  35. canvas_sdk/v1/data/medication.py +14 -17
  36. canvas_sdk/v1/data/message.py +10 -17
  37. canvas_sdk/v1/data/note.py +27 -36
  38. canvas_sdk/v1/data/observation.py +24 -33
  39. canvas_sdk/v1/data/organization.py +14 -15
  40. canvas_sdk/v1/data/patient.py +57 -68
  41. canvas_sdk/v1/data/patient_consent.py +14 -19
  42. canvas_sdk/v1/data/payment_collection.py +7 -8
  43. canvas_sdk/v1/data/payor_specific_charge.py +10 -12
  44. canvas_sdk/v1/data/posting.py +10 -18
  45. canvas_sdk/v1/data/practicelocation.py +17 -21
  46. canvas_sdk/v1/data/protocol_override.py +8 -10
  47. canvas_sdk/v1/data/questionnaire.py +56 -73
  48. canvas_sdk/v1/data/reason_for_visit.py +7 -9
  49. canvas_sdk/v1/data/staff.py +61 -57
  50. canvas_sdk/v1/data/task.py +21 -31
  51. canvas_sdk/v1/data/team.py +15 -18
  52. canvas_sdk/v1/data/user.py +3 -3
  53. canvas_sdk/v1/data/utils.py +6 -0
  54. plugin_runner/allowed-module-imports.json +1340 -0
  55. plugin_runner/generate_allowed_imports.py +97 -0
  56. plugin_runner/plugin_runner.py +9 -0
  57. plugin_runner/sandbox.py +50 -60
  58. protobufs/canvas_generated/messages/effects.proto +6 -0
  59. protobufs/canvas_generated/messages/events.proto +12 -1
  60. settings.py +56 -22
  61. {canvas-0.45.0.dist-info → canvas-0.46.0.dist-info}/WHEEL +0 -0
  62. {canvas-0.45.0.dist-info → canvas-0.46.0.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,7 @@
1
1
  from django.contrib.postgres.fields import ArrayField
2
2
  from django.db import models
3
3
 
4
+ from canvas_sdk.v1.data.base import IdentifiableModel, Model
4
5
  from canvas_sdk.v1.data.common import (
5
6
  AddressState,
6
7
  AddressType,
@@ -144,17 +145,14 @@ class TransactorType(models.TextChoices):
144
145
  BCBS = "bcbs", "Blue Cross Blue Shield"
145
146
 
146
147
 
147
- class Coverage(models.Model):
148
+ class Coverage(IdentifiableModel):
148
149
  """Coverage."""
149
150
 
150
151
  class Meta:
151
- managed = False
152
152
  db_table = "canvas_sdk_data_api_coverage_001"
153
153
 
154
- id = models.UUIDField()
155
- dbid = models.BigIntegerField(primary_key=True)
156
- created = models.DateTimeField()
157
- modified = models.DateTimeField()
154
+ created = models.DateTimeField(auto_now_add=True)
155
+ modified = models.DateTimeField(auto_now=True)
158
156
  patient = models.ForeignKey(
159
157
  "v1.Patient", on_delete=models.DO_NOTHING, related_name="coverages", null=True
160
158
  )
@@ -164,22 +162,24 @@ class Coverage(models.Model):
164
162
  subscriber = models.ForeignKey(
165
163
  "v1.Patient", on_delete=models.DO_NOTHING, related_name="subscribed_coverages", null=True
166
164
  )
167
- patient_relationship_to_subscriber = models.CharField(choices=CoverageRelationshipCode.choices)
165
+ patient_relationship_to_subscriber = models.CharField(
166
+ choices=CoverageRelationshipCode.choices, max_length=2
167
+ )
168
168
  issuer = models.ForeignKey(
169
169
  "v1.Transactor", on_delete=models.DO_NOTHING, related_name="coverages", null=True
170
170
  )
171
- id_number = models.CharField()
172
- plan = models.CharField()
173
- sub_plan = models.CharField()
174
- group = models.CharField()
175
- sub_group = models.CharField()
176
- employer = models.CharField()
171
+ id_number = models.CharField(max_length=100)
172
+ plan = models.CharField(max_length=255)
173
+ sub_plan = models.CharField(max_length=255)
174
+ group = models.CharField(max_length=255)
175
+ sub_group = models.CharField(max_length=255)
176
+ employer = models.CharField(max_length=255)
177
177
  coverage_start_date = models.DateField()
178
178
  coverage_end_date = models.DateField()
179
179
  coverage_rank = models.IntegerField()
180
- state = models.CharField(choices=CoverageState.choices)
181
- plan_type = models.CharField(choices=CoverageType.choices)
182
- coverage_type = models.CharField(choices=TransactorCoverageType.choices)
180
+ state = models.CharField(choices=CoverageState.choices, max_length=20)
181
+ plan_type = models.CharField(choices=CoverageType.choices, max_length=20)
182
+ coverage_type = models.CharField(choices=TransactorCoverageType.choices, max_length=64)
183
183
  issuer_address = models.ForeignKey(
184
184
  "v1.TransactorAddress",
185
185
  on_delete=models.DO_NOTHING,
@@ -190,24 +190,22 @@ class Coverage(models.Model):
190
190
  "v1.TransactorPhone", on_delete=models.DO_NOTHING, related_name="coverages", null=True
191
191
  )
192
192
  comments = models.TextField()
193
- stack = models.CharField(choices=CoverageStack.choices)
193
+ stack = models.CharField(choices=CoverageStack.choices, max_length=8)
194
194
 
195
195
  def __str__(self) -> str:
196
196
  return f"id={self.id}"
197
197
 
198
198
 
199
- class Transactor(models.Model):
199
+ class Transactor(Model):
200
200
  """Transactor."""
201
201
 
202
202
  class Meta:
203
- managed = False
204
203
  db_table = "canvas_sdk_data_quality_and_revenue_transactor_001"
205
204
 
206
- dbid = models.BigIntegerField(primary_key=True)
207
- payer_id = models.CharField()
208
- name = models.CharField()
209
- type = models.CharField()
210
- transactor_type = models.CharField(choices=TransactorType.choices)
205
+ payer_id = models.CharField(max_length=50)
206
+ name = models.CharField(max_length=255)
207
+ type = models.CharField(max_length=50)
208
+ transactor_type = models.CharField(choices=TransactorType.choices, max_length=100)
211
209
  clearinghouse_payer = models.BooleanField()
212
210
  institutional = models.BooleanField(null=True)
213
211
  institutional_enrollment_req = models.BooleanField(null=True)
@@ -221,8 +219,8 @@ class Transactor(models.Model):
221
219
  secondary_support = models.BooleanField(null=True)
222
220
  claim_fee = models.BooleanField(null=True)
223
221
  remit_fee = models.BooleanField(null=True)
224
- state = models.CharField()
225
- description = models.CharField()
222
+ state = models.CharField(max_length=50)
223
+ description = models.CharField(max_length=1000)
226
224
  active = models.BooleanField()
227
225
  use_provider_for_eligibility = models.BooleanField()
228
226
 
@@ -233,34 +231,33 @@ class Transactor(models.Model):
233
231
  related_name="used_for_submission_by",
234
232
  )
235
233
 
236
- coverage_types = ArrayField(models.CharField(choices=TransactorCoverageType.choices))
234
+ coverage_types = ArrayField(
235
+ models.CharField(choices=TransactorCoverageType.choices, max_length=64)
236
+ )
237
237
 
238
238
 
239
- class TransactorAddress(models.Model):
239
+ class TransactorAddress(IdentifiableModel):
240
240
  """TransactorAddress."""
241
241
 
242
242
  class Meta:
243
- managed = False
244
243
  db_table = "canvas_sdk_data_quality_and_revenue_transactoraddress_001"
245
244
 
246
- id = models.UUIDField()
247
- dbid = models.BigIntegerField(primary_key=True)
248
- created = models.DateTimeField()
249
- modified = models.DateTimeField()
250
- line1 = models.CharField()
251
- line2 = models.CharField()
252
- city = models.CharField()
253
- district = models.CharField()
254
- state_code = models.CharField()
255
- postal_code = models.CharField()
256
- use = models.CharField(choices=AddressUse.choices)
257
- type = models.CharField(choices=AddressType.choices)
245
+ created = models.DateTimeField(auto_now_add=True)
246
+ modified = models.DateTimeField(auto_now=True)
247
+ line1 = models.CharField(max_length=255)
248
+ line2 = models.CharField(max_length=255)
249
+ city = models.CharField(max_length=255)
250
+ district = models.CharField(max_length=255)
251
+ state_code = models.CharField(max_length=2)
252
+ postal_code = models.CharField(max_length=255)
253
+ use = models.CharField(choices=AddressUse.choices, max_length=10)
254
+ type = models.CharField(choices=AddressType.choices, max_length=10)
258
255
  longitude = models.FloatField(null=True, default=None, blank=True)
259
256
  latitude = models.FloatField(null=True, default=None, blank=True)
260
257
  start = models.DateField(null=True, blank=True)
261
258
  end = models.DateField(null=True, blank=True)
262
259
  country = models.CharField(max_length=255)
263
- state = models.CharField(choices=AddressState.choices)
260
+ state = models.CharField(choices=AddressState.choices, max_length=20)
264
261
  transactor = models.ForeignKey(
265
262
  "v1.Transactor", on_delete=models.DO_NOTHING, related_name="addresses", null=True
266
263
  )
@@ -269,23 +266,20 @@ class TransactorAddress(models.Model):
269
266
  return f"id={self.id}"
270
267
 
271
268
 
272
- class TransactorPhone(models.Model):
269
+ class TransactorPhone(IdentifiableModel):
273
270
  """TransactorPhone."""
274
271
 
275
272
  class Meta:
276
- managed = False
277
273
  db_table = "canvas_sdk_data_quality_and_revenue_transactorphone_001"
278
274
 
279
- id = models.UUIDField()
280
- dbid = models.BigIntegerField(primary_key=True)
281
- created = models.DateTimeField()
282
- modified = models.DateTimeField()
283
- system = models.CharField(choices=ContactPointSystem.choices)
284
- value = models.CharField()
285
- use = models.CharField(choices=ContactPointUse.choices)
286
- use_notes = models.CharField()
275
+ created = models.DateTimeField(auto_now_add=True)
276
+ modified = models.DateTimeField(auto_now=True)
277
+ system = models.CharField(choices=ContactPointSystem.choices, max_length=20)
278
+ value = models.CharField(max_length=100)
279
+ use = models.CharField(choices=ContactPointUse.choices, max_length=20)
280
+ use_notes = models.CharField(max_length=255)
287
281
  rank = models.IntegerField()
288
- state = models.CharField(choices=ContactPointState.choices)
282
+ state = models.CharField(choices=ContactPointState.choices, max_length=20)
289
283
  transactor = models.ForeignKey(
290
284
  "v1.Transactor", on_delete=models.DO_NOTHING, related_name="phones", null=True
291
285
  )
@@ -1,17 +1,16 @@
1
1
  from django.db import models
2
2
 
3
+ from canvas_sdk.v1.data.base import IdentifiableModel
3
4
 
4
- class DetectedIssue(models.Model):
5
+
6
+ class DetectedIssue(IdentifiableModel):
5
7
  """DetectedIssue."""
6
8
 
7
9
  class Meta:
8
- managed = False
9
10
  db_table = "canvas_sdk_data_api_detectedissue_001"
10
11
 
11
- id = models.UUIDField()
12
- dbid = models.BigIntegerField(primary_key=True)
13
- created = models.DateTimeField()
14
- modified = models.DateTimeField()
12
+ created = models.DateTimeField(auto_now_add=True)
13
+ modified = models.DateTimeField(auto_now=True)
15
14
  identified = models.DateTimeField()
16
15
  deleted = models.BooleanField()
17
16
  originator = models.ForeignKey(
@@ -26,28 +25,25 @@ class DetectedIssue(models.Model):
26
25
  patient = models.ForeignKey(
27
26
  "v1.Patient", on_delete=models.DO_NOTHING, related_name="detected_issues", null=True
28
27
  )
29
- code = models.CharField()
30
- status = models.CharField()
31
- severity = models.CharField()
32
- reference = models.CharField()
33
- issue_identifier = models.CharField()
34
- issue_identifier_system = models.CharField()
28
+ code = models.CharField(max_length=20)
29
+ status = models.CharField(max_length=16)
30
+ severity = models.CharField(max_length=10)
31
+ reference = models.CharField(max_length=200)
32
+ issue_identifier = models.CharField(max_length=255)
33
+ issue_identifier_system = models.CharField(max_length=255)
35
34
  detail = models.TextField()
36
35
 
37
36
 
38
- class DetectedIssueEvidence(models.Model):
37
+ class DetectedIssueEvidence(IdentifiableModel):
39
38
  """DetectedIssueEvidence."""
40
39
 
41
40
  class Meta:
42
- managed = False
43
41
  db_table = "canvas_sdk_data_api_detectedissueevidence_001"
44
42
 
45
- id = models.UUIDField()
46
- dbid = models.BigIntegerField(primary_key=True)
47
- system = models.CharField()
48
- version = models.CharField()
49
- code = models.CharField()
50
- display = models.CharField()
43
+ system = models.CharField(max_length=255)
44
+ version = models.CharField(max_length=255)
45
+ code = models.CharField(max_length=255)
46
+ display = models.CharField(max_length=1000)
51
47
  user_selected = models.BooleanField()
52
48
  detected_issue = models.ForeignKey(
53
49
  DetectedIssue,
@@ -1,17 +1,16 @@
1
1
  from django.db import models
2
2
 
3
+ from canvas_sdk.v1.data.base import IdentifiableModel
3
4
 
4
- class Device(models.Model):
5
+
6
+ class Device(IdentifiableModel):
5
7
  """Device."""
6
8
 
7
9
  class Meta:
8
- managed = False
9
10
  db_table = "canvas_sdk_data_api_device_001"
10
11
 
11
- id = models.UUIDField()
12
- dbid = models.BigIntegerField(primary_key=True)
13
- created = models.DateTimeField()
14
- modified = models.DateTimeField()
12
+ created = models.DateTimeField(auto_now_add=True)
13
+ modified = models.DateTimeField(auto_now=True)
15
14
  originator = models.ForeignKey(
16
15
  "v1.CanvasUser", on_delete=models.DO_NOTHING, null=True, related_name="+"
17
16
  )
@@ -27,24 +26,24 @@ class Device(models.Model):
27
26
  note_id = models.BigIntegerField()
28
27
  deleted = models.BooleanField()
29
28
  labeled_contains_NRL = models.BooleanField()
30
- assigning_authority = models.CharField()
31
- scoping_entity = models.CharField()
32
- udi = models.CharField()
33
- di = models.CharField()
34
- issuing_agency = models.CharField()
35
- lot_number = models.CharField()
36
- brand_name = models.CharField()
37
- mri_safety_status = models.CharField()
38
- version_model_number = models.CharField()
39
- company_name = models.CharField()
29
+ assigning_authority = models.CharField(max_length=255)
30
+ scoping_entity = models.CharField(max_length=255)
31
+ udi = models.CharField(max_length=255)
32
+ di = models.CharField(max_length=255)
33
+ issuing_agency = models.CharField(max_length=255)
34
+ lot_number = models.CharField(max_length=100)
35
+ brand_name = models.CharField(max_length=255)
36
+ mri_safety_status = models.CharField(max_length=255)
37
+ version_model_number = models.CharField(max_length=100)
38
+ company_name = models.CharField(max_length=100)
40
39
  gmdnPTName = models.TextField()
41
- status = models.CharField()
40
+ status = models.CharField(max_length=20)
42
41
  expiration_date = models.DateField()
43
- expiration_date_original = models.CharField()
44
- serial_number = models.CharField()
45
- manufacturing_date_original = models.CharField()
42
+ expiration_date_original = models.CharField(max_length=100)
43
+ serial_number = models.CharField(max_length=255)
44
+ manufacturing_date_original = models.CharField(max_length=255)
46
45
  manufacturing_date = models.DateField()
47
- manufacturer = models.CharField()
46
+ manufacturer = models.CharField(max_length=255)
48
47
  procedure_id = models.BigIntegerField()
49
48
 
50
49
 
@@ -1,21 +1,21 @@
1
1
  from django.db import models
2
2
 
3
+ from canvas_sdk.v1.data.base import Model
3
4
 
4
- class Discount(models.Model):
5
+
6
+ class Discount(Model):
5
7
  """Model to represent a discount applied to a claim or patient posting."""
6
8
 
7
9
  class Meta:
8
- managed = False
9
10
  db_table = "canvas_sdk_data_quality_and_revenue_discount_001"
10
11
 
11
- dbid = models.BigIntegerField(primary_key=True)
12
- name = models.CharField()
13
- adjustment_group = models.CharField()
14
- adjustment_code = models.CharField()
12
+ name = models.CharField(max_length=500)
13
+ adjustment_group = models.CharField(max_length=3)
14
+ adjustment_code = models.CharField(max_length=3)
15
15
  discount = models.DecimalField(max_digits=8, decimal_places=2)
16
16
 
17
- created = models.DateTimeField()
18
- modified = models.DateTimeField()
17
+ created = models.DateTimeField(auto_now_add=True)
18
+ modified = models.DateTimeField(auto_now=True)
19
19
 
20
20
 
21
21
  __exports__ = ("Discount",)
@@ -1,5 +1,6 @@
1
1
  from django.db import models
2
2
 
3
+ from canvas_sdk.v1.data.base import IdentifiableModel
3
4
  from canvas_sdk.v1.data.common import (
4
5
  DocumentReviewMode,
5
6
  OrderStatus,
@@ -8,17 +9,14 @@ from canvas_sdk.v1.data.common import (
8
9
  )
9
10
 
10
11
 
11
- class ImagingOrder(models.Model):
12
+ class ImagingOrder(IdentifiableModel):
12
13
  """Model to read ImagingOrder data."""
13
14
 
14
15
  class Meta:
15
- managed = False
16
16
  db_table = "canvas_sdk_data_api_imagingorder_001"
17
17
 
18
- id = models.UUIDField()
19
- dbid = models.BigIntegerField(primary_key=True)
20
- created = models.DateTimeField()
21
- modified = models.DateTimeField()
18
+ created = models.DateTimeField(auto_now_add=True)
19
+ modified = models.DateTimeField(auto_now=True)
22
20
  originator = models.ForeignKey(
23
21
  "v1.CanvasUser", on_delete=models.DO_NOTHING, null=True, related_name="+"
24
22
  )
@@ -34,30 +32,27 @@ class ImagingOrder(models.Model):
34
32
  )
35
33
  # TODO - uncomment when Note model is complete
36
34
  # note = models.ForeigneKey(Note, on_delete=models.DO_NOTHING, related_name="imaging_orders", null=True)
37
- imaging = models.CharField()
35
+ imaging = models.CharField(max_length=1024)
38
36
  # TODO - uncomment when ServiceProvider model is complete
39
37
  # imaging_center = models.ForeignKey('v1.ServiceProvider', on_delete=models.DO_NOTHING, related_name="imaging_orders", null=True)
40
- note_to_radiologist = models.CharField()
41
- internal_comment = models.CharField()
42
- status = models.CharField(choices=OrderStatus)
38
+ note_to_radiologist = models.CharField(max_length=1024)
39
+ internal_comment = models.CharField(max_length=1024)
40
+ status = models.CharField(choices=OrderStatus.choices, max_length=30)
43
41
  date_time_ordered = models.DateTimeField()
44
- priority = models.CharField()
42
+ priority = models.CharField(max_length=255)
45
43
  # TODO - uncomment when Staff model is complete
46
44
  # ordering_provider = models.ForeignKey('v1.Staff', on_delete=models.DO_NOTHING, related_name="imaging_orders", null=True)
47
45
  delegated = models.BooleanField(default=False)
48
46
 
49
47
 
50
- class ImagingReview(models.Model):
48
+ class ImagingReview(IdentifiableModel):
51
49
  """Model to read ImagingReview data."""
52
50
 
53
51
  class Meta:
54
- managed = False
55
52
  db_table = "canvas_sdk_data_api_imagingreview_001"
56
53
 
57
- id = models.UUIDField()
58
- dbid = models.BigIntegerField(primary_key=True)
59
- created = models.DateTimeField()
60
- modified = models.DateTimeField()
54
+ created = models.DateTimeField(auto_now_add=True)
55
+ modified = models.DateTimeField(auto_now=True)
61
56
  originator = models.ForeignKey(
62
57
  "v1.CanvasUser", on_delete=models.DO_NOTHING, null=True, related_name="+"
63
58
  )
@@ -68,19 +63,21 @@ class ImagingReview(models.Model):
68
63
  entered_in_error = models.ForeignKey(
69
64
  "v1.CanvasUser", on_delete=models.DO_NOTHING, null=True, related_name="+"
70
65
  )
71
- patient_communication_method = models.CharField(choices=ReviewPatientCommunicationMethod)
66
+ patient_communication_method = models.CharField(
67
+ choices=ReviewPatientCommunicationMethod.choices, max_length=30
68
+ )
72
69
  # TODO - uncomment when Note model is complete
73
70
  # note = models.ForeignKey('v1.Note', on_delete=models.DO_NOTHING, related_name="imaging_reviews", null=True)
74
- internal_comment = models.CharField()
75
- message_to_patient = models.CharField()
71
+ internal_comment = models.CharField(max_length=2048)
72
+ message_to_patient = models.CharField(max_length=2048)
76
73
  is_released_to_patient = models.BooleanField()
77
- status = models.CharField(choices=ReviewStatus)
74
+ status = models.CharField(choices=ReviewStatus.choices, max_length=50)
78
75
  patient = models.ForeignKey(
79
76
  "v1.Patient", on_delete=models.DO_NOTHING, related_name="imaging_reviews", null=True
80
77
  )
81
78
 
82
79
 
83
- class ImagingReport(models.Model):
80
+ class ImagingReport(IdentifiableModel):
84
81
  """Model to read ImagingReport data."""
85
82
 
86
83
  class ImagingReportSource(models.TextChoices):
@@ -89,14 +86,11 @@ class ImagingReport(models.Model):
89
86
  DIRECTLY_REPORT = "DIRECTLY_RADIOLOGY", "Directly Radiology Report"
90
87
 
91
88
  class Meta:
92
- managed = False
93
89
  db_table = "canvas_sdk_data_api_imagingreport_001"
94
90
 
95
- id = models.UUIDField()
96
- dbid = models.BigIntegerField(primary_key=True)
97
- created = models.DateTimeField()
98
- modified = models.DateTimeField()
99
- review_mode = models.CharField(choices=DocumentReviewMode)
91
+ created = models.DateTimeField(auto_now_add=True)
92
+ modified = models.DateTimeField(auto_now=True)
93
+ review_mode = models.CharField(choices=DocumentReviewMode.choices, max_length=2)
100
94
  junked = models.BooleanField()
101
95
  requires_signature = models.BooleanField()
102
96
  assigned_date = models.DateTimeField()
@@ -104,8 +98,8 @@ class ImagingReport(models.Model):
104
98
  "v1.Patient", on_delete=models.DO_NOTHING, related_name="imaging_results", null=True
105
99
  )
106
100
  order = models.ForeignKey(ImagingOrder, on_delete=models.DO_NOTHING, null=True)
107
- source = models.CharField(choices=ImagingReportSource)
108
- name = models.CharField()
101
+ source = models.CharField(choices=ImagingReportSource.choices, max_length=18)
102
+ name = models.CharField(max_length=255)
109
103
  result_date = models.DateField()
110
104
  original_date = models.DateField()
111
105
  review = models.ForeignKey(ImagingReview, on_delete=models.DO_NOTHING, null=True)
@@ -1,5 +1,7 @@
1
1
  from django.db import models
2
2
 
3
+ from canvas_sdk.v1.data.base import Model
4
+
3
5
 
4
6
  class InvoiceRecipients(models.TextChoices):
5
7
  """Choices for invoice recipients."""
@@ -31,14 +33,12 @@ class InvoiceSentMeans(models.TextChoices):
31
33
  EMAIL = "e-mail", "E-mail"
32
34
 
33
35
 
34
- class Invoice(models.Model):
36
+ class Invoice(Model):
35
37
  """Represents a full invoice for a patient."""
36
38
 
37
39
  class Meta:
38
- managed = False
39
40
  db_table = "canvas_sdk_data_quality_and_revenue_invoicefull_001"
40
41
 
41
- dbid = models.BigIntegerField(primary_key=True)
42
42
  originator = models.ForeignKey(
43
43
  "v1.CanvasUser", on_delete=models.PROTECT, related_name="generated_invoices"
44
44
  )