canvas 0.45.0__py3-none-any.whl → 0.47.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.
- {canvas-0.45.0.dist-info → canvas-0.47.0.dist-info}/METADATA +3 -2
- {canvas-0.45.0.dist-info → canvas-0.47.0.dist-info}/RECORD +62 -57
- canvas_generated/messages/effects_pb2.py +2 -2
- canvas_generated/messages/effects_pb2.pyi +10 -0
- canvas_generated/messages/events_pb2.py +2 -2
- canvas_generated/messages/events_pb2.pyi +18 -0
- canvas_sdk/commands/commands/exam.py +2 -1
- canvas_sdk/commands/commands/immunization_statement.py +32 -0
- canvas_sdk/commands/commands/questionnaire/__init__.py +18 -3
- canvas_sdk/commands/commands/questionnaire/question.py +3 -2
- canvas_sdk/commands/commands/questionnaire/toggle_questions.py +68 -0
- canvas_sdk/commands/commands/review_of_systems.py +2 -1
- canvas_sdk/v1/data/__init__.py +17 -3
- canvas_sdk/v1/data/allergy_intolerance.py +16 -19
- canvas_sdk/v1/data/appointment.py +10 -14
- canvas_sdk/v1/data/assessment.py +9 -10
- canvas_sdk/v1/data/banner_alert.py +12 -12
- canvas_sdk/v1/data/base.py +45 -1
- canvas_sdk/v1/data/billing.py +13 -18
- canvas_sdk/v1/data/business_line.py +7 -8
- canvas_sdk/v1/data/care_team.py +14 -17
- canvas_sdk/v1/data/charge_description_master.py +29 -0
- canvas_sdk/v1/data/claim.py +87 -95
- canvas_sdk/v1/data/claim_line_item.py +17 -18
- canvas_sdk/v1/data/command.py +8 -9
- canvas_sdk/v1/data/condition.py +9 -12
- canvas_sdk/v1/data/coverage.py +47 -53
- canvas_sdk/v1/data/detected_issue.py +16 -20
- canvas_sdk/v1/data/device.py +20 -21
- canvas_sdk/v1/data/discount.py +8 -8
- canvas_sdk/v1/data/imaging.py +24 -30
- canvas_sdk/v1/data/invoice.py +3 -3
- canvas_sdk/v1/data/lab.py +65 -84
- canvas_sdk/v1/data/line_item_transaction.py +7 -9
- canvas_sdk/v1/data/medication.py +14 -17
- canvas_sdk/v1/data/message.py +10 -17
- canvas_sdk/v1/data/note.py +27 -36
- canvas_sdk/v1/data/observation.py +24 -33
- canvas_sdk/v1/data/organization.py +14 -15
- canvas_sdk/v1/data/patient.py +57 -68
- canvas_sdk/v1/data/patient_consent.py +14 -19
- canvas_sdk/v1/data/payment_collection.py +7 -8
- canvas_sdk/v1/data/payor_specific_charge.py +10 -12
- canvas_sdk/v1/data/posting.py +10 -18
- canvas_sdk/v1/data/practicelocation.py +17 -21
- canvas_sdk/v1/data/protocol_override.py +8 -10
- canvas_sdk/v1/data/questionnaire.py +56 -73
- canvas_sdk/v1/data/reason_for_visit.py +7 -9
- canvas_sdk/v1/data/staff.py +61 -57
- canvas_sdk/v1/data/task.py +21 -31
- canvas_sdk/v1/data/team.py +15 -18
- canvas_sdk/v1/data/user.py +3 -3
- canvas_sdk/v1/data/utils.py +6 -0
- plugin_runner/allowed-module-imports.json +1340 -0
- plugin_runner/generate_allowed_imports.py +97 -0
- plugin_runner/plugin_runner.py +9 -0
- plugin_runner/sandbox.py +51 -60
- protobufs/canvas_generated/messages/effects.proto +6 -0
- protobufs/canvas_generated/messages/events.proto +12 -1
- settings.py +56 -22
- {canvas-0.45.0.dist-info → canvas-0.47.0.dist-info}/WHEEL +0 -0
- {canvas-0.45.0.dist-info → canvas-0.47.0.dist-info}/entry_points.txt +0 -0
canvas_sdk/v1/data/billing.py
CHANGED
|
@@ -2,7 +2,7 @@ from typing import TYPE_CHECKING, Self
|
|
|
2
2
|
|
|
3
3
|
from django.db import models
|
|
4
4
|
|
|
5
|
-
from canvas_sdk.v1.data.base import ValueSetTimeframeLookupQuerySet
|
|
5
|
+
from canvas_sdk.v1.data.base import IdentifiableModel, Model, ValueSetTimeframeLookupQuerySet
|
|
6
6
|
from canvas_sdk.value_set.value_set import CodeConstants
|
|
7
7
|
|
|
8
8
|
if TYPE_CHECKING:
|
|
@@ -29,20 +29,17 @@ class BillingLineItemStatus(models.TextChoices):
|
|
|
29
29
|
REMOVED = "removed", "Removed"
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
class BillingLineItem(
|
|
32
|
+
class BillingLineItem(IdentifiableModel):
|
|
33
33
|
"""BillingLineItem."""
|
|
34
34
|
|
|
35
35
|
class Meta:
|
|
36
|
-
managed = False
|
|
37
36
|
db_table = "canvas_sdk_data_api_billinglineitem_001"
|
|
38
37
|
|
|
39
38
|
# objects = BillingLineItemQuerySet.as_manager()
|
|
40
39
|
objects = models.Manager().from_queryset(BillingLineItemQuerySet)()
|
|
41
40
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
created = models.DateTimeField()
|
|
45
|
-
modified = models.DateTimeField()
|
|
41
|
+
created = models.DateTimeField(auto_now_add=True)
|
|
42
|
+
modified = models.DateTimeField(auto_now=True)
|
|
46
43
|
note = models.ForeignKey(
|
|
47
44
|
"v1.Note",
|
|
48
45
|
on_delete=models.DO_NOTHING,
|
|
@@ -55,27 +52,25 @@ class BillingLineItem(models.Model):
|
|
|
55
52
|
related_name="billing_line_items",
|
|
56
53
|
null=True,
|
|
57
54
|
)
|
|
58
|
-
cpt = models.CharField()
|
|
55
|
+
cpt = models.CharField(max_length=10)
|
|
59
56
|
charge = models.DecimalField(decimal_places=2, max_digits=8)
|
|
60
|
-
description = models.CharField()
|
|
57
|
+
description = models.CharField(max_length=255)
|
|
61
58
|
units = models.IntegerField()
|
|
62
|
-
command_type = models.CharField()
|
|
59
|
+
command_type = models.CharField(max_length=50)
|
|
63
60
|
command_id = models.IntegerField()
|
|
64
|
-
status = models.CharField(choices=BillingLineItemStatus.choices)
|
|
61
|
+
status = models.CharField(choices=BillingLineItemStatus.choices, max_length=20)
|
|
65
62
|
|
|
66
63
|
|
|
67
|
-
class BillingLineItemModifier(
|
|
64
|
+
class BillingLineItemModifier(Model):
|
|
68
65
|
"""BillingLineItemModifier."""
|
|
69
66
|
|
|
70
67
|
class Meta:
|
|
71
|
-
managed = False
|
|
72
68
|
db_table = "canvas_sdk_data_api_billinglineitemmodifier_001"
|
|
73
69
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
display = models.CharField()
|
|
70
|
+
system = models.CharField(max_length=255)
|
|
71
|
+
version = models.CharField(max_length=255)
|
|
72
|
+
code = models.CharField(max_length=255)
|
|
73
|
+
display = models.CharField(max_length=1000)
|
|
79
74
|
user_selected = models.BooleanField()
|
|
80
75
|
line_item = models.ForeignKey(
|
|
81
76
|
"v1.BillingLineItem",
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
from django.db import models
|
|
2
2
|
|
|
3
|
+
from canvas_sdk.v1.data.base import IdentifiableModel
|
|
4
|
+
|
|
3
5
|
|
|
4
6
|
class BusinessLineState(models.TextChoices):
|
|
5
7
|
"""BusinessLineStatus."""
|
|
@@ -9,21 +11,18 @@ class BusinessLineState(models.TextChoices):
|
|
|
9
11
|
STATE_ERROR = "error", "Deleted"
|
|
10
12
|
|
|
11
13
|
|
|
12
|
-
class BusinessLine(
|
|
14
|
+
class BusinessLine(IdentifiableModel):
|
|
13
15
|
"""Business Line."""
|
|
14
16
|
|
|
15
17
|
class Meta:
|
|
16
|
-
managed = False
|
|
17
18
|
db_table = "canvas_sdk_data_api_businessline_001"
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
dbid = models.BigIntegerField(primary_key=True)
|
|
21
|
-
name = models.CharField()
|
|
20
|
+
name = models.CharField(max_length=255)
|
|
22
21
|
description = models.TextField()
|
|
23
|
-
area_code = models.CharField()
|
|
24
|
-
subdomain = models.CharField()
|
|
22
|
+
area_code = models.CharField(max_length=3)
|
|
23
|
+
subdomain = models.CharField(max_length=100)
|
|
25
24
|
active = models.BooleanField()
|
|
26
|
-
state = models.CharField(max_length=20, choices=BusinessLineState)
|
|
25
|
+
state = models.CharField(max_length=20, choices=BusinessLineState.choices)
|
|
27
26
|
organization = models.ForeignKey(
|
|
28
27
|
"v1.Organization", on_delete=models.DO_NOTHING, related_name="business_lines"
|
|
29
28
|
)
|
canvas_sdk/v1/data/care_team.py
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
from django.db import models
|
|
2
2
|
|
|
3
|
+
from canvas_sdk.v1.data.base import IdentifiableModel, Model
|
|
4
|
+
|
|
3
5
|
|
|
4
6
|
class CareTeamMembershipStatus(models.TextChoices):
|
|
5
7
|
"""CareTeamMembershipStatus."""
|
|
@@ -11,18 +13,16 @@ class CareTeamMembershipStatus(models.TextChoices):
|
|
|
11
13
|
ENTERED_IN_ERROR = "entered-in-error", "Entered in Error"
|
|
12
14
|
|
|
13
15
|
|
|
14
|
-
class CareTeamRole(
|
|
16
|
+
class CareTeamRole(Model):
|
|
15
17
|
"""CareTeamRole."""
|
|
16
18
|
|
|
17
19
|
class Meta:
|
|
18
|
-
managed = False
|
|
19
20
|
db_table = "canvas_sdk_data_api_careteamrole_001"
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
display = models.CharField()
|
|
22
|
+
system = models.CharField(max_length=255)
|
|
23
|
+
version = models.CharField(max_length=255)
|
|
24
|
+
code = models.CharField(max_length=255)
|
|
25
|
+
display = models.CharField(max_length=1000)
|
|
26
26
|
user_selected = models.BooleanField()
|
|
27
27
|
active = models.BooleanField()
|
|
28
28
|
|
|
@@ -30,17 +30,14 @@ class CareTeamRole(models.Model):
|
|
|
30
30
|
return self.display
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
class CareTeamMembership(
|
|
33
|
+
class CareTeamMembership(IdentifiableModel):
|
|
34
34
|
"""CareTeamMembership."""
|
|
35
35
|
|
|
36
36
|
class Meta:
|
|
37
|
-
managed = False
|
|
38
37
|
db_table = "canvas_sdk_data_api_careteammembership_001"
|
|
39
38
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
created = models.DateTimeField()
|
|
43
|
-
modified = models.DateTimeField()
|
|
39
|
+
created = models.DateTimeField(auto_now_add=True)
|
|
40
|
+
modified = models.DateTimeField(auto_now=True)
|
|
44
41
|
patient = models.ForeignKey(
|
|
45
42
|
"v1.Patient", on_delete=models.DO_NOTHING, related_name="care_team_memberships", null=True
|
|
46
43
|
)
|
|
@@ -50,11 +47,11 @@ class CareTeamMembership(models.Model):
|
|
|
50
47
|
role = models.ForeignKey(
|
|
51
48
|
"v1.CareTeamRole", related_name="care_teams", on_delete=models.DO_NOTHING, null=True
|
|
52
49
|
)
|
|
53
|
-
status = models.CharField(choices=CareTeamMembershipStatus.choices)
|
|
50
|
+
status = models.CharField(choices=CareTeamMembershipStatus.choices, max_length=20)
|
|
54
51
|
lead = models.BooleanField()
|
|
55
|
-
role_code = models.CharField()
|
|
56
|
-
role_system = models.CharField()
|
|
57
|
-
role_display = models.CharField()
|
|
52
|
+
role_code = models.CharField(max_length=255)
|
|
53
|
+
role_system = models.CharField(max_length=255)
|
|
54
|
+
role_display = models.CharField(max_length=255)
|
|
58
55
|
|
|
59
56
|
def __str__(self) -> str:
|
|
60
57
|
return f"id={self.id}"
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
from django.db import models
|
|
2
|
+
|
|
3
|
+
from canvas_sdk.v1.data.base import Model
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class CDMCodeSystem(models.TextChoices):
|
|
7
|
+
"""CDMCodeSystem."""
|
|
8
|
+
|
|
9
|
+
INTERNAL = "INTERNAL", "Internal"
|
|
10
|
+
CPT = "CPT", "CPT"
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ChargeDescriptionMaster(Model):
|
|
14
|
+
"""Charge Description Master."""
|
|
15
|
+
|
|
16
|
+
class Meta:
|
|
17
|
+
db_table = "canvas_sdk_data_quality_and_revenue_chargedescriptionmaster_001"
|
|
18
|
+
|
|
19
|
+
cpt_code = models.CharField(max_length=10)
|
|
20
|
+
name = models.CharField(max_length=17000)
|
|
21
|
+
short_name = models.CharField(max_length=17000)
|
|
22
|
+
charge_amount = models.DecimalField(max_digits=8, decimal_places=2)
|
|
23
|
+
effective_date = models.DateField()
|
|
24
|
+
end_date = models.DateField(null=True)
|
|
25
|
+
code_system = models.CharField(choices=CDMCodeSystem.choices, max_length=10)
|
|
26
|
+
ndc_code = models.CharField(max_length=255)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
__exports__ = ("ChargeDescriptionMaster",)
|
canvas_sdk/v1/data/claim.py
CHANGED
|
@@ -3,6 +3,7 @@ from typing import TYPE_CHECKING, Self
|
|
|
3
3
|
|
|
4
4
|
from django.db import models
|
|
5
5
|
|
|
6
|
+
from canvas_sdk.v1.data.base import IdentifiableModel, Model
|
|
6
7
|
from canvas_sdk.v1.data.common import PersonSex
|
|
7
8
|
from canvas_sdk.v1.data.coverage import CoverageRelationshipCode, CoverageType
|
|
8
9
|
from canvas_sdk.v1.data.fields import ChoiceArrayField
|
|
@@ -20,15 +21,12 @@ class InstallmentPlanStatus(models.TextChoices):
|
|
|
20
21
|
CANCELLED = "cancelled", "Cancelled"
|
|
21
22
|
|
|
22
23
|
|
|
23
|
-
class InstallmentPlan(
|
|
24
|
+
class InstallmentPlan(Model):
|
|
24
25
|
"""InstallmentPlan."""
|
|
25
26
|
|
|
26
27
|
class Meta:
|
|
27
|
-
managed = False
|
|
28
28
|
db_table = "canvas_sdk_data_quality_and_revenue_installmentplan_001"
|
|
29
29
|
|
|
30
|
-
dbid = models.BigIntegerField(primary_key=True)
|
|
31
|
-
|
|
32
30
|
creator = models.ForeignKey("v1.CanvasUser", on_delete=models.CASCADE)
|
|
33
31
|
patient = models.ForeignKey(
|
|
34
32
|
"v1.Patient", on_delete=models.CASCADE, related_name="installment_plans"
|
|
@@ -37,8 +35,8 @@ class InstallmentPlan(models.Model):
|
|
|
37
35
|
status = models.CharField(choices=InstallmentPlanStatus.choices, max_length=10)
|
|
38
36
|
expected_payoff_date = models.DateField()
|
|
39
37
|
|
|
40
|
-
created = models.DateTimeField()
|
|
41
|
-
modified = models.DateTimeField()
|
|
38
|
+
created = models.DateTimeField(auto_now_add=True)
|
|
39
|
+
modified = models.DateTimeField(auto_now=True)
|
|
42
40
|
|
|
43
41
|
|
|
44
42
|
class ClaimQueueColumns(models.TextChoices):
|
|
@@ -75,23 +73,23 @@ class ClaimQueues(models.IntegerChoices):
|
|
|
75
73
|
TRASH = 10, "Trash"
|
|
76
74
|
|
|
77
75
|
|
|
78
|
-
class ClaimQueue(
|
|
76
|
+
class ClaimQueue(Model):
|
|
79
77
|
"""ClaimQueue."""
|
|
80
78
|
|
|
81
79
|
class Meta:
|
|
82
|
-
managed = False
|
|
83
80
|
db_table = "canvas_sdk_data_quality_and_revenue_queue_001"
|
|
84
81
|
|
|
85
|
-
dbid = models.BigIntegerField(primary_key=True)
|
|
86
82
|
queue_sort_ordering = models.IntegerField()
|
|
87
|
-
name = models.CharField()
|
|
88
|
-
display_name = models.CharField()
|
|
89
|
-
description = models.CharField()
|
|
83
|
+
name = models.CharField(max_length=100)
|
|
84
|
+
display_name = models.CharField(max_length=100)
|
|
85
|
+
description = models.CharField(max_length=500)
|
|
90
86
|
show_in_revenue = models.BooleanField()
|
|
91
|
-
visible_columns = ChoiceArrayField(
|
|
87
|
+
visible_columns = ChoiceArrayField(
|
|
88
|
+
models.CharField(choices=ClaimQueueColumns.choices, max_length=64)
|
|
89
|
+
)
|
|
92
90
|
|
|
93
|
-
created = models.DateTimeField()
|
|
94
|
-
modified = models.DateTimeField()
|
|
91
|
+
created = models.DateTimeField(auto_now_add=True)
|
|
92
|
+
modified = models.DateTimeField(auto_now=True)
|
|
95
93
|
|
|
96
94
|
|
|
97
95
|
class ClaimPayerOrder(models.TextChoices):
|
|
@@ -126,17 +124,14 @@ class ClaimCoverageQuerySet(models.QuerySet):
|
|
|
126
124
|
return self.filter(active=True)
|
|
127
125
|
|
|
128
126
|
|
|
129
|
-
class ClaimCoverage(
|
|
127
|
+
class ClaimCoverage(Model):
|
|
130
128
|
"""A model that represents the link between a claim and a specific insurance coverage."""
|
|
131
129
|
|
|
132
130
|
class Meta:
|
|
133
|
-
managed = False
|
|
134
131
|
db_table = "canvas_sdk_data_quality_and_revenue_claimcoverage_001"
|
|
135
132
|
|
|
136
133
|
objects = ClaimCoverageQuerySet.as_manager()
|
|
137
134
|
|
|
138
|
-
dbid = models.BigIntegerField(primary_key=True)
|
|
139
|
-
|
|
140
135
|
claim = models.ForeignKey("Claim", on_delete=models.CASCADE, related_name="coverages")
|
|
141
136
|
|
|
142
137
|
coverage = models.ForeignKey(
|
|
@@ -144,75 +139,75 @@ class ClaimCoverage(models.Model):
|
|
|
144
139
|
)
|
|
145
140
|
|
|
146
141
|
active = models.BooleanField()
|
|
147
|
-
payer_name = models.CharField()
|
|
148
|
-
payer_id = models.CharField()
|
|
149
|
-
payer_typecode = models.CharField()
|
|
150
|
-
payer_order = models.CharField(choices=ClaimPayerOrder.choices)
|
|
151
|
-
payer_addr1 = models.CharField()
|
|
152
|
-
payer_addr2 = models.CharField()
|
|
153
|
-
payer_city = models.CharField()
|
|
154
|
-
payer_state = models.CharField()
|
|
155
|
-
payer_zip = models.CharField()
|
|
156
|
-
payer_plan_type = models.CharField(choices=ClaimTypeCode.choices)
|
|
157
|
-
coverage_type = models.CharField(choices=CoverageType.choices)
|
|
158
|
-
|
|
159
|
-
subscriber_employer = models.CharField()
|
|
160
|
-
subscriber_group = models.CharField()
|
|
161
|
-
subscriber_number = models.CharField()
|
|
162
|
-
subscriber_plan = models.CharField()
|
|
163
|
-
subscriber_dob = models.CharField()
|
|
164
|
-
subscriber_first_name = models.CharField()
|
|
165
|
-
subscriber_last_name = models.CharField()
|
|
166
|
-
subscriber_middle_name = models.CharField()
|
|
167
|
-
subscriber_phone = models.CharField()
|
|
168
|
-
subscriber_sex = models.CharField(choices=PersonSex.choices)
|
|
169
|
-
subscriber_addr1 = models.CharField()
|
|
170
|
-
subscriber_addr2 = models.CharField()
|
|
171
|
-
subscriber_city = models.CharField()
|
|
172
|
-
subscriber_state = models.CharField()
|
|
173
|
-
subscriber_zip = models.CharField()
|
|
174
|
-
subscriber_country = models.CharField()
|
|
175
|
-
patient_relationship_to_subscriber = models.CharField(
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
142
|
+
payer_name = models.CharField(max_length=255)
|
|
143
|
+
payer_id = models.CharField(max_length=255)
|
|
144
|
+
payer_typecode = models.CharField(max_length=2)
|
|
145
|
+
payer_order = models.CharField(choices=ClaimPayerOrder.choices, max_length=10)
|
|
146
|
+
payer_addr1 = models.CharField(max_length=255)
|
|
147
|
+
payer_addr2 = models.CharField(max_length=255)
|
|
148
|
+
payer_city = models.CharField(max_length=255)
|
|
149
|
+
payer_state = models.CharField(max_length=2)
|
|
150
|
+
payer_zip = models.CharField(max_length=255)
|
|
151
|
+
payer_plan_type = models.CharField(choices=ClaimTypeCode.choices, max_length=20)
|
|
152
|
+
coverage_type = models.CharField(choices=CoverageType.choices, max_length=64)
|
|
153
|
+
|
|
154
|
+
subscriber_employer = models.CharField(max_length=255)
|
|
155
|
+
subscriber_group = models.CharField(max_length=255)
|
|
156
|
+
subscriber_number = models.CharField(max_length=100)
|
|
157
|
+
subscriber_plan = models.CharField(max_length=255)
|
|
158
|
+
subscriber_dob = models.CharField(max_length=10)
|
|
159
|
+
subscriber_first_name = models.CharField(max_length=255)
|
|
160
|
+
subscriber_last_name = models.CharField(max_length=255)
|
|
161
|
+
subscriber_middle_name = models.CharField(max_length=255)
|
|
162
|
+
subscriber_phone = models.CharField(max_length=50)
|
|
163
|
+
subscriber_sex = models.CharField(choices=PersonSex.choices, max_length=3)
|
|
164
|
+
subscriber_addr1 = models.CharField(max_length=255)
|
|
165
|
+
subscriber_addr2 = models.CharField(max_length=255)
|
|
166
|
+
subscriber_city = models.CharField(max_length=255)
|
|
167
|
+
subscriber_state = models.CharField(max_length=2)
|
|
168
|
+
subscriber_zip = models.CharField(max_length=255)
|
|
169
|
+
subscriber_country = models.CharField(max_length=50)
|
|
170
|
+
patient_relationship_to_subscriber = models.CharField(
|
|
171
|
+
choices=CoverageRelationshipCode.choices, max_length=2
|
|
172
|
+
)
|
|
173
|
+
|
|
174
|
+
pay_to_addr1 = models.CharField(max_length=255)
|
|
175
|
+
pay_to_addr2 = models.CharField(max_length=255)
|
|
176
|
+
pay_to_city = models.CharField(max_length=255)
|
|
177
|
+
pay_to_state = models.CharField(max_length=2)
|
|
178
|
+
pay_to_zip = models.CharField(max_length=255)
|
|
179
|
+
|
|
180
|
+
resubmission_code = models.CharField(max_length=1)
|
|
181
|
+
payer_icn = models.CharField(max_length=250)
|
|
182
|
+
|
|
183
|
+
created = models.DateTimeField(auto_now_add=True)
|
|
184
|
+
modified = models.DateTimeField(auto_now=True)
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
class ClaimPatient(Model):
|
|
191
188
|
"""ClaimPatient."""
|
|
192
189
|
|
|
193
190
|
class Meta:
|
|
194
|
-
managed = False
|
|
195
191
|
db_table = "canvas_sdk_data_quality_and_revenue_claimpatient_001"
|
|
196
192
|
|
|
197
|
-
dbid = models.BigIntegerField(primary_key=True)
|
|
198
193
|
claim = models.OneToOneField("v1.Claim", on_delete=models.CASCADE, related_name="patient")
|
|
199
|
-
photo = models.CharField()
|
|
200
|
-
dob = models.CharField()
|
|
201
|
-
first_name = models.CharField()
|
|
202
|
-
last_name = models.CharField()
|
|
203
|
-
middle_name = models.CharField()
|
|
204
|
-
phone = models.CharField()
|
|
205
|
-
sex = models.CharField(choices=PersonSex.choices)
|
|
206
|
-
ssn = models.CharField()
|
|
207
|
-
addr1 = models.CharField()
|
|
208
|
-
addr2 = models.CharField()
|
|
209
|
-
city = models.CharField()
|
|
210
|
-
state = models.CharField()
|
|
211
|
-
zip = models.CharField()
|
|
212
|
-
country = models.CharField()
|
|
213
|
-
|
|
214
|
-
created = models.DateTimeField()
|
|
215
|
-
modified = models.DateTimeField()
|
|
194
|
+
photo = models.CharField(max_length=512)
|
|
195
|
+
dob = models.CharField(max_length=10)
|
|
196
|
+
first_name = models.CharField(max_length=255)
|
|
197
|
+
last_name = models.CharField(max_length=255)
|
|
198
|
+
middle_name = models.CharField(max_length=255)
|
|
199
|
+
phone = models.CharField(max_length=50)
|
|
200
|
+
sex = models.CharField(choices=PersonSex.choices, max_length=3)
|
|
201
|
+
ssn = models.CharField(max_length=10)
|
|
202
|
+
addr1 = models.CharField(max_length=255)
|
|
203
|
+
addr2 = models.CharField(max_length=255)
|
|
204
|
+
city = models.CharField(max_length=255)
|
|
205
|
+
state = models.CharField(max_length=2)
|
|
206
|
+
zip = models.CharField(max_length=255)
|
|
207
|
+
country = models.CharField(max_length=50)
|
|
208
|
+
|
|
209
|
+
created = models.DateTimeField(auto_now_add=True)
|
|
210
|
+
modified = models.DateTimeField(auto_now=True)
|
|
216
211
|
|
|
217
212
|
|
|
218
213
|
class ClaimQueryset(models.QuerySet):
|
|
@@ -223,17 +218,14 @@ class ClaimQueryset(models.QuerySet):
|
|
|
223
218
|
return self.exclude(current_queue__queue_sort_ordering=ClaimQueues.TRASH)
|
|
224
219
|
|
|
225
220
|
|
|
226
|
-
class Claim(
|
|
221
|
+
class Claim(IdentifiableModel):
|
|
227
222
|
"""Claim."""
|
|
228
223
|
|
|
229
224
|
class Meta:
|
|
230
|
-
managed = False
|
|
231
225
|
db_table = "canvas_sdk_data_quality_and_revenue_claim_001"
|
|
232
226
|
|
|
233
227
|
objects = ClaimQueryset.as_manager()
|
|
234
228
|
|
|
235
|
-
id = models.UUIDField()
|
|
236
|
-
dbid = models.BigIntegerField(primary_key=True)
|
|
237
229
|
note = models.ForeignKey("v1.Note", on_delete=models.PROTECT, related_name="claims", null=True)
|
|
238
230
|
installment_plan = models.ForeignKey(
|
|
239
231
|
InstallmentPlan, on_delete=models.SET_NULL, related_name="claims", null=True
|
|
@@ -246,23 +238,23 @@ class Claim(models.Model):
|
|
|
246
238
|
|
|
247
239
|
accept_assign = models.BooleanField()
|
|
248
240
|
auto_accident = models.BooleanField()
|
|
249
|
-
auto_accident_state = models.CharField()
|
|
241
|
+
auto_accident_state = models.CharField(max_length=2)
|
|
250
242
|
employment_related = models.BooleanField()
|
|
251
243
|
other_accident = models.BooleanField()
|
|
252
|
-
accident_code = models.CharField()
|
|
244
|
+
accident_code = models.CharField(max_length=10)
|
|
253
245
|
illness_date = models.DateField()
|
|
254
|
-
remote_batch_id = models.CharField()
|
|
255
|
-
remote_file_id = models.CharField()
|
|
256
|
-
prior_auth = models.CharField()
|
|
246
|
+
remote_batch_id = models.CharField(max_length=100)
|
|
247
|
+
remote_file_id = models.CharField(max_length=100)
|
|
248
|
+
prior_auth = models.CharField(max_length=100)
|
|
257
249
|
|
|
258
|
-
narrative = models.CharField()
|
|
259
|
-
account_number = models.CharField()
|
|
250
|
+
narrative = models.CharField(max_length=2500)
|
|
251
|
+
account_number = models.CharField(max_length=255)
|
|
260
252
|
snoozed_until = models.DateField()
|
|
261
253
|
|
|
262
254
|
patient_balance = models.DecimalField(max_digits=8, decimal_places=2)
|
|
263
255
|
aggregate_coverage_balance = models.DecimalField(max_digits=8, decimal_places=2)
|
|
264
|
-
created = models.DateTimeField()
|
|
265
|
-
modified = models.DateTimeField()
|
|
256
|
+
created = models.DateTimeField(auto_now_add=True)
|
|
257
|
+
modified = models.DateTimeField(auto_now=True)
|
|
266
258
|
|
|
267
259
|
@property
|
|
268
260
|
def total_charges(self) -> Decimal:
|
|
@@ -5,6 +5,7 @@ from django.db import models
|
|
|
5
5
|
from django.db.models import Q, Sum
|
|
6
6
|
from django.db.models.functions import Coalesce
|
|
7
7
|
|
|
8
|
+
from canvas_sdk.v1.data.base import Model
|
|
8
9
|
from canvas_sdk.v1.data.note import PracticeLocationPOS
|
|
9
10
|
|
|
10
11
|
|
|
@@ -105,36 +106,34 @@ class ClaimLineItemQuerySet(models.QuerySet):
|
|
|
105
106
|
return self.exclude(proc_code=LineItemCodes.UNLINKED.value).apply_ordering()
|
|
106
107
|
|
|
107
108
|
|
|
108
|
-
class ClaimLineItem(
|
|
109
|
+
class ClaimLineItem(Model):
|
|
109
110
|
"""ClaimLineItem."""
|
|
110
111
|
|
|
111
112
|
class Meta:
|
|
112
|
-
managed = False
|
|
113
113
|
db_table = "canvas_sdk_data_quality_and_revenue_claimlineitem_001"
|
|
114
114
|
|
|
115
115
|
objects = ClaimLineItemQuerySet.as_manager()
|
|
116
116
|
|
|
117
|
-
dbid = models.BigIntegerField(primary_key=True)
|
|
118
117
|
billing_line_item = models.ForeignKey("v1.BillingLineItem", on_delete=models.CASCADE, null=True)
|
|
119
118
|
claim = models.ForeignKey("v1.Claim", on_delete=models.CASCADE, related_name="line_items")
|
|
120
|
-
status = models.CharField(choices=ClaimLineItemStatus.choices)
|
|
119
|
+
status = models.CharField(choices=ClaimLineItemStatus.choices, max_length=10)
|
|
121
120
|
charge = models.DecimalField(max_digits=8, decimal_places=2)
|
|
122
|
-
from_date = models.CharField()
|
|
123
|
-
thru_date = models.CharField()
|
|
124
|
-
narrative = models.CharField()
|
|
125
|
-
ndc_code = models.CharField()
|
|
126
|
-
ndc_dosage = models.CharField()
|
|
127
|
-
ndc_measure = models.CharField()
|
|
128
|
-
place_of_service = models.CharField(choices=PracticeLocationPOS.choices)
|
|
129
|
-
proc_code = models.CharField()
|
|
130
|
-
display = models.CharField()
|
|
131
|
-
remote_chg_id = models.CharField()
|
|
121
|
+
from_date = models.CharField(max_length=10)
|
|
122
|
+
thru_date = models.CharField(max_length=10)
|
|
123
|
+
narrative = models.CharField(max_length=2000)
|
|
124
|
+
ndc_code = models.CharField(max_length=100)
|
|
125
|
+
ndc_dosage = models.CharField(max_length=100)
|
|
126
|
+
ndc_measure = models.CharField(max_length=100)
|
|
127
|
+
place_of_service = models.CharField(choices=PracticeLocationPOS.choices, max_length=2)
|
|
128
|
+
proc_code = models.CharField(max_length=10)
|
|
129
|
+
display = models.CharField(max_length=255)
|
|
130
|
+
remote_chg_id = models.CharField(max_length=100)
|
|
132
131
|
units = models.IntegerField()
|
|
133
|
-
epsdt = models.CharField()
|
|
134
|
-
family_planning = models.CharField(choices=FamilyPlanningOptions.choices)
|
|
132
|
+
epsdt = models.CharField(max_length=2)
|
|
133
|
+
family_planning = models.CharField(choices=FamilyPlanningOptions.choices, max_length=1)
|
|
135
134
|
|
|
136
|
-
created = models.DateTimeField()
|
|
137
|
-
modified = models.DateTimeField()
|
|
135
|
+
created = models.DateTimeField(auto_now_add=True)
|
|
136
|
+
modified = models.DateTimeField(auto_now=True)
|
|
138
137
|
|
|
139
138
|
|
|
140
139
|
__exports__ = ("ClaimLineItem", "ClaimLineItemStatus", "LineItemCodes", "FamilyPlanningOptions")
|
canvas_sdk/v1/data/command.py
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
from django.apps import apps
|
|
2
2
|
from django.db import models
|
|
3
3
|
|
|
4
|
+
from canvas_sdk.v1.data.base import IdentifiableModel
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
|
|
7
|
+
class Command(IdentifiableModel):
|
|
6
8
|
"""Command."""
|
|
7
9
|
|
|
8
10
|
class Meta:
|
|
9
|
-
managed = False
|
|
10
11
|
db_table = "canvas_sdk_data_commands_command_001"
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
created = models.DateTimeField()
|
|
15
|
-
modified = models.DateTimeField()
|
|
13
|
+
created = models.DateTimeField(auto_now_add=True)
|
|
14
|
+
modified = models.DateTimeField(auto_now=True)
|
|
16
15
|
originator = models.ForeignKey(
|
|
17
16
|
"v1.CanvasUser", on_delete=models.DO_NOTHING, null=True, related_name="commands_originated"
|
|
18
17
|
)
|
|
@@ -25,13 +24,13 @@ class Command(models.Model):
|
|
|
25
24
|
null=True,
|
|
26
25
|
related_name="commands_entered_in_error",
|
|
27
26
|
)
|
|
28
|
-
state = models.CharField()
|
|
27
|
+
state = models.CharField(max_length=20)
|
|
29
28
|
patient = models.ForeignKey("v1.Patient", on_delete=models.DO_NOTHING, null=True)
|
|
30
29
|
note = models.ForeignKey("v1.Note", on_delete=models.DO_NOTHING, related_name="commands")
|
|
31
30
|
schema_key = models.TextField()
|
|
32
31
|
data = models.JSONField()
|
|
33
|
-
origination_source = models.CharField()
|
|
34
|
-
anchor_object_type = models.CharField()
|
|
32
|
+
origination_source = models.CharField(max_length=20)
|
|
33
|
+
anchor_object_type = models.CharField(max_length=100)
|
|
35
34
|
anchor_object_dbid = models.BigIntegerField()
|
|
36
35
|
|
|
37
36
|
@property
|
canvas_sdk/v1/data/condition.py
CHANGED
|
@@ -8,6 +8,8 @@ from canvas_sdk.v1.data.base import (
|
|
|
8
8
|
BaseQuerySet,
|
|
9
9
|
CommittableQuerySetMixin,
|
|
10
10
|
ForPatientQuerySetMixin,
|
|
11
|
+
IdentifiableModel,
|
|
12
|
+
Model,
|
|
11
13
|
ValueSetLookupQuerySetMixin,
|
|
12
14
|
)
|
|
13
15
|
|
|
@@ -38,17 +40,14 @@ class ConditionQuerySet(
|
|
|
38
40
|
ConditionManager = BaseModelManager.from_queryset(ConditionQuerySet)
|
|
39
41
|
|
|
40
42
|
|
|
41
|
-
class Condition(
|
|
43
|
+
class Condition(IdentifiableModel):
|
|
42
44
|
"""Condition."""
|
|
43
45
|
|
|
44
46
|
class Meta:
|
|
45
|
-
managed = False
|
|
46
47
|
db_table = "canvas_sdk_data_api_condition_001"
|
|
47
48
|
|
|
48
49
|
objects = cast(ConditionQuerySet, ConditionManager())
|
|
49
50
|
|
|
50
|
-
id = models.UUIDField()
|
|
51
|
-
dbid = models.BigIntegerField(primary_key=True)
|
|
52
51
|
deleted = models.BooleanField()
|
|
53
52
|
entered_in_error = models.ForeignKey(
|
|
54
53
|
"v1.CanvasUser", on_delete=models.DO_NOTHING, null=True, related_name="+"
|
|
@@ -61,22 +60,20 @@ class Condition(models.Model):
|
|
|
61
60
|
)
|
|
62
61
|
onset_date = models.DateField()
|
|
63
62
|
resolution_date = models.DateField()
|
|
64
|
-
clinical_status = models.CharField(choices=ClinicalStatus.choices)
|
|
63
|
+
clinical_status = models.CharField(choices=ClinicalStatus.choices, max_length=20)
|
|
65
64
|
surgical = models.BooleanField()
|
|
66
65
|
|
|
67
66
|
|
|
68
|
-
class ConditionCoding(
|
|
67
|
+
class ConditionCoding(Model):
|
|
69
68
|
"""ConditionCoding."""
|
|
70
69
|
|
|
71
70
|
class Meta:
|
|
72
|
-
managed = False
|
|
73
71
|
db_table = "canvas_sdk_data_api_conditioncoding_001"
|
|
74
72
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
display = models.CharField()
|
|
73
|
+
system = models.CharField(max_length=255)
|
|
74
|
+
version = models.CharField(max_length=255)
|
|
75
|
+
code = models.CharField(max_length=255)
|
|
76
|
+
display = models.CharField(max_length=1000)
|
|
80
77
|
user_selected = models.BooleanField()
|
|
81
78
|
condition = models.ForeignKey(
|
|
82
79
|
Condition, on_delete=models.DO_NOTHING, related_name="codings", null=True
|