canvas 0.44.3__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 (64) hide show
  1. {canvas-0.44.3.dist-info → canvas-0.46.0.dist-info}/METADATA +4 -2
  2. {canvas-0.44.3.dist-info → canvas-0.46.0.dist-info}/RECORD +64 -59
  3. canvas_cli/apps/plugin/plugin.py +21 -2
  4. canvas_generated/messages/effects_pb2.py +2 -2
  5. canvas_generated/messages/effects_pb2.pyi +10 -0
  6. canvas_generated/messages/events_pb2.py +2 -2
  7. canvas_generated/messages/events_pb2.pyi +18 -0
  8. canvas_sdk/commands/commands/exam.py +2 -1
  9. canvas_sdk/commands/commands/immunization_statement.py +32 -0
  10. canvas_sdk/commands/commands/questionnaire/__init__.py +18 -3
  11. canvas_sdk/commands/commands/questionnaire/question.py +3 -2
  12. canvas_sdk/commands/commands/questionnaire/toggle_questions.py +68 -0
  13. canvas_sdk/commands/commands/review_of_systems.py +2 -1
  14. canvas_sdk/utils/http.py +4 -1
  15. canvas_sdk/v1/data/__init__.py +17 -3
  16. canvas_sdk/v1/data/allergy_intolerance.py +16 -19
  17. canvas_sdk/v1/data/appointment.py +10 -14
  18. canvas_sdk/v1/data/assessment.py +9 -10
  19. canvas_sdk/v1/data/banner_alert.py +12 -12
  20. canvas_sdk/v1/data/base.py +45 -1
  21. canvas_sdk/v1/data/billing.py +13 -18
  22. canvas_sdk/v1/data/business_line.py +7 -8
  23. canvas_sdk/v1/data/care_team.py +14 -17
  24. canvas_sdk/v1/data/charge_description_master.py +29 -0
  25. canvas_sdk/v1/data/claim.py +87 -95
  26. canvas_sdk/v1/data/claim_line_item.py +17 -18
  27. canvas_sdk/v1/data/command.py +8 -9
  28. canvas_sdk/v1/data/condition.py +9 -12
  29. canvas_sdk/v1/data/coverage.py +47 -53
  30. canvas_sdk/v1/data/detected_issue.py +16 -20
  31. canvas_sdk/v1/data/device.py +20 -21
  32. canvas_sdk/v1/data/discount.py +8 -8
  33. canvas_sdk/v1/data/imaging.py +24 -30
  34. canvas_sdk/v1/data/invoice.py +3 -3
  35. canvas_sdk/v1/data/lab.py +65 -84
  36. canvas_sdk/v1/data/line_item_transaction.py +7 -9
  37. canvas_sdk/v1/data/medication.py +14 -17
  38. canvas_sdk/v1/data/message.py +10 -17
  39. canvas_sdk/v1/data/note.py +87 -24
  40. canvas_sdk/v1/data/observation.py +24 -33
  41. canvas_sdk/v1/data/organization.py +14 -15
  42. canvas_sdk/v1/data/patient.py +57 -68
  43. canvas_sdk/v1/data/patient_consent.py +14 -19
  44. canvas_sdk/v1/data/payment_collection.py +7 -8
  45. canvas_sdk/v1/data/payor_specific_charge.py +10 -12
  46. canvas_sdk/v1/data/posting.py +10 -18
  47. canvas_sdk/v1/data/practicelocation.py +17 -21
  48. canvas_sdk/v1/data/protocol_override.py +8 -10
  49. canvas_sdk/v1/data/questionnaire.py +56 -73
  50. canvas_sdk/v1/data/reason_for_visit.py +7 -9
  51. canvas_sdk/v1/data/staff.py +61 -57
  52. canvas_sdk/v1/data/task.py +21 -31
  53. canvas_sdk/v1/data/team.py +15 -18
  54. canvas_sdk/v1/data/user.py +3 -3
  55. canvas_sdk/v1/data/utils.py +6 -0
  56. plugin_runner/allowed-module-imports.json +1340 -0
  57. plugin_runner/generate_allowed_imports.py +97 -0
  58. plugin_runner/plugin_runner.py +9 -0
  59. plugin_runner/sandbox.py +55 -60
  60. protobufs/canvas_generated/messages/effects.proto +6 -0
  61. protobufs/canvas_generated/messages/events.proto +12 -1
  62. settings.py +56 -22
  63. {canvas-0.44.3.dist-info → canvas-0.46.0.dist-info}/WHEEL +0 -0
  64. {canvas-0.44.3.dist-info → canvas-0.46.0.dist-info}/entry_points.txt +0 -0
@@ -6,6 +6,8 @@ from canvas_sdk.v1.data.base import (
6
6
  BaseModelManager,
7
7
  CommittableQuerySetMixin,
8
8
  ForPatientQuerySetMixin,
9
+ IdentifiableModel,
10
+ Model,
9
11
  ValueSetLookupQuerySet,
10
12
  )
11
13
 
@@ -23,19 +25,16 @@ class AllergyIntoleranceQuerySet(
23
25
  AllergyIntoleranceManager = BaseModelManager.from_queryset(AllergyIntoleranceQuerySet)
24
26
 
25
27
 
26
- class AllergyIntolerance(models.Model):
28
+ class AllergyIntolerance(IdentifiableModel):
27
29
  """AllergyIntolerance."""
28
30
 
29
31
  class Meta:
30
- managed = False
31
32
  db_table = "canvas_sdk_data_api_allergyintolerance_001"
32
33
 
33
34
  objects = cast(AllergyIntoleranceQuerySet, AllergyIntoleranceManager())
34
35
 
35
- id = models.UUIDField()
36
- dbid = models.BigIntegerField(primary_key=True)
37
- created = models.DateTimeField()
38
- modified = models.DateTimeField()
36
+ created = models.DateTimeField(auto_now_add=True)
37
+ modified = models.DateTimeField(auto_now=True)
39
38
  deleted = models.BooleanField()
40
39
  committer = models.ForeignKey(
41
40
  "v1.CanvasUser", on_delete=models.DO_NOTHING, null=True, related_name="+"
@@ -50,30 +49,28 @@ class AllergyIntolerance(models.Model):
50
49
  null=True,
51
50
  )
52
51
  note_id = models.BigIntegerField()
53
- allergy_intolerance_type = models.CharField()
52
+ allergy_intolerance_type = models.CharField(max_length=1)
54
53
  category = models.IntegerField()
55
- status = models.CharField()
56
- severity = models.CharField()
54
+ status = models.CharField(max_length=20)
55
+ severity = models.CharField(max_length=20)
57
56
  onset_date = models.DateField()
58
- onset_date_original_input = models.CharField()
57
+ onset_date_original_input = models.CharField(max_length=255)
59
58
  last_occurrence = models.DateField()
60
- last_occurrence_original_input = models.CharField()
59
+ last_occurrence_original_input = models.CharField(max_length=255)
61
60
  recorded_date = models.DateTimeField()
62
- narrative = models.CharField()
61
+ narrative = models.CharField(max_length=512)
63
62
 
64
63
 
65
- class AllergyIntoleranceCoding(models.Model):
64
+ class AllergyIntoleranceCoding(Model):
66
65
  """AllergyIntoleranceCoding."""
67
66
 
68
67
  class Meta:
69
- managed = False
70
68
  db_table = "canvas_sdk_data_api_allergyintolerancecoding_001"
71
69
 
72
- dbid = models.BigIntegerField(primary_key=True)
73
- system = models.CharField()
74
- version = models.CharField()
75
- code = models.CharField()
76
- 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)
77
74
  user_selected = models.BooleanField()
78
75
  allergy_intolerance = models.ForeignKey(
79
76
  AllergyIntolerance,
@@ -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 AppointmentProgressStatus(models.TextChoices):
5
7
  """AppointmentProgressStatus."""
@@ -14,15 +16,12 @@ class AppointmentProgressStatus(models.TextChoices):
14
16
  CANCELLED = "cancelled", "Cancelled"
15
17
 
16
18
 
17
- class Appointment(models.Model):
19
+ class Appointment(IdentifiableModel):
18
20
  """Appointment."""
19
21
 
20
22
  class Meta:
21
- managed = False
22
23
  db_table = "canvas_sdk_data_api_appointment_001"
23
24
 
24
- id = models.UUIDField()
25
- dbid = models.BigIntegerField(primary_key=True)
26
25
  entered_in_error = models.ForeignKey("v1.CanvasUser", on_delete=models.DO_NOTHING, null=True)
27
26
  patient = models.ForeignKey(
28
27
  "v1.Patient",
@@ -56,21 +55,18 @@ class Appointment(models.Model):
56
55
  description = models.TextField(null=True, blank=True)
57
56
 
58
57
 
59
- class AppointmentExternalIdentifier(models.Model):
58
+ class AppointmentExternalIdentifier(IdentifiableModel):
60
59
  """AppointmentExternalIdentifier."""
61
60
 
62
61
  class Meta:
63
- managed = False
64
62
  db_table = "canvas_sdk_data_api_appointmentexternalidentifier_001"
65
63
 
66
- id = models.UUIDField()
67
- dbid = models.BigIntegerField(primary_key=True)
68
- created = models.DateTimeField()
69
- modified = models.DateTimeField()
70
- use = models.CharField()
71
- identifier_type = models.CharField()
72
- system = models.CharField()
73
- value = models.CharField()
64
+ created = models.DateTimeField(auto_now_add=True)
65
+ modified = models.DateTimeField(auto_now=True)
66
+ use = models.CharField(max_length=255)
67
+ identifier_type = models.CharField(max_length=255)
68
+ system = models.CharField(max_length=255)
69
+ value = models.CharField(max_length=255)
74
70
  issued_date = models.DateField()
75
71
  expiration_date = models.DateField()
76
72
  appointment = models.ForeignKey(
@@ -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 AssessmentStatus(models.TextChoices):
5
7
  """AssessmentStatus."""
@@ -9,17 +11,14 @@ class AssessmentStatus(models.TextChoices):
9
11
  STATUS_DETERIORATING = "deteriorated", "Deteriorated"
10
12
 
11
13
 
12
- class Assessment(models.Model):
14
+ class Assessment(IdentifiableModel):
13
15
  """Assessment."""
14
16
 
15
17
  class Meta:
16
- managed = False
17
18
  db_table = "canvas_sdk_data_api_assessment_001"
18
19
 
19
- id = models.UUIDField()
20
- dbid = models.BigIntegerField(primary_key=True)
21
- created = models.DateTimeField()
22
- modified = models.DateTimeField()
20
+ created = models.DateTimeField(auto_now_add=True)
21
+ modified = models.DateTimeField(auto_now=True)
23
22
  originator = models.ForeignKey("v1.CanvasUser", on_delete=models.DO_NOTHING, related_name="+")
24
23
  committer = models.ForeignKey(
25
24
  "v1.CanvasUser", on_delete=models.DO_NOTHING, null=True, related_name="+"
@@ -38,10 +37,10 @@ class Assessment(models.Model):
38
37
  "v1.Condition", on_delete=models.CASCADE, related_name="assessments", null=True
39
38
  )
40
39
  interview = models.ForeignKey("v1.Interview", on_delete=models.DO_NOTHING, null=True)
41
- status = models.CharField(choices=AssessmentStatus.choices)
42
- narrative = models.CharField()
43
- background = models.CharField()
44
- care_team = models.CharField()
40
+ status = models.CharField(choices=AssessmentStatus.choices, max_length=20)
41
+ narrative = models.CharField(max_length=2048)
42
+ background = models.CharField(max_length=2048)
43
+ care_team = models.CharField(max_length=500)
45
44
 
46
45
 
47
46
  __exports__ = ("AssessmentStatus", "Assessment")
@@ -1,30 +1,30 @@
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 Model
4
5
 
5
- class BannerAlert(models.Model):
6
+
7
+ class BannerAlert(Model):
6
8
  """BannerAlert."""
7
9
 
8
10
  class Meta:
9
- managed = False
10
11
  db_table = "canvas_sdk_data_api_banneralert_001"
11
12
 
12
- dbid = models.BigIntegerField(db_column="dbid", primary_key=True)
13
- created = models.DateTimeField()
14
- modified = models.DateTimeField()
13
+ created = models.DateTimeField(auto_now_add=True)
14
+ modified = models.DateTimeField(auto_now=True)
15
15
  patient = models.ForeignKey(
16
16
  "v1.Patient",
17
17
  on_delete=models.DO_NOTHING,
18
18
  related_name="banner_alerts",
19
19
  null=True,
20
20
  )
21
- plugin_name = models.CharField()
22
- key = models.CharField()
23
- narrative = models.CharField()
24
- placement = ArrayField(models.CharField())
25
- intent = models.CharField()
26
- href = models.CharField()
27
- status = models.CharField()
21
+ plugin_name = models.CharField(max_length=256)
22
+ key = models.CharField(max_length=255)
23
+ narrative = models.CharField(max_length=90)
24
+ placement = ArrayField(models.CharField(max_length=64))
25
+ intent = models.CharField(max_length=64)
26
+ href = models.CharField(max_length=255)
27
+ status = models.CharField(max_length=64)
28
28
 
29
29
 
30
30
  __exports__ = ("BannerAlert",)
@@ -1,14 +1,58 @@
1
+ import uuid
1
2
  from abc import abstractmethod
2
3
  from collections.abc import Container
3
4
  from typing import TYPE_CHECKING, Any, Protocol, Self, cast
4
5
 
5
- from django.db import models
6
+ from django.contrib.postgres.fields import ArrayField
7
+ from django.db import connection, models
6
8
  from django.db.models import Q
9
+ from django.db.models.base import ModelBase
7
10
 
8
11
  if TYPE_CHECKING:
9
12
  from canvas_sdk.protocols.timeframe import Timeframe
10
13
  from canvas_sdk.value_set.value_set import ValueSet
11
14
 
15
+ IS_SQLITE = connection.vendor == "sqlite"
16
+
17
+
18
+ class ModelMetaclass(ModelBase):
19
+ """A metaclass for configuring data models."""
20
+
21
+ def __new__(cls, name: str, bases: tuple, attrs: dict[str, Any], **kwargs: Any) -> type:
22
+ """Create a new model class."""
23
+ meta = attrs.get("Meta")
24
+
25
+ for field_name, field in list(attrs.items()):
26
+ if isinstance(field, ArrayField) and IS_SQLITE:
27
+ # Replace ArrayField(CharField(...)) with JSONField
28
+ attrs[field_name] = models.JSONField(default=list)
29
+
30
+ # set managed to True if database is SQLite and not explicitly set
31
+ if meta and not hasattr(meta, "managed") and not getattr(meta, "abstract", False):
32
+ meta.managed = IS_SQLITE
33
+
34
+ new_class = cast(type["Model"], super().__new__(cls, name, bases, attrs, **kwargs))
35
+
36
+ return new_class
37
+
38
+
39
+ class Model(models.Model, metaclass=ModelMetaclass):
40
+ """A base model."""
41
+
42
+ class Meta:
43
+ abstract = True
44
+
45
+ dbid = models.BigAutoField(primary_key=True)
46
+
47
+
48
+ class IdentifiableModel(Model):
49
+ """A model that includes an identifier."""
50
+
51
+ class Meta:
52
+ abstract = True
53
+
54
+ id = models.UUIDField(default=uuid.uuid4, editable=False, unique=True)
55
+
12
56
 
13
57
  class BaseModelManager(models.Manager):
14
58
  """A base manager for models."""
@@ -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(models.Model):
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
- id = models.UUIDField()
43
- dbid = models.BigIntegerField(primary_key=True)
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(models.Model):
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
- dbid = models.BigIntegerField(primary_key=True)
75
- system = models.CharField()
76
- version = models.CharField()
77
- code = models.CharField()
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(models.Model):
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
- id = models.UUIDField()
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
  )
@@ -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(models.Model):
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
- dbid = models.BigIntegerField(primary_key=True)
22
- system = models.CharField()
23
- version = models.CharField()
24
- code = models.CharField()
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(models.Model):
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
- id = models.UUIDField()
41
- dbid = models.BigIntegerField(primary_key=True)
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",)