canvas 0.58.0__py3-none-any.whl → 0.59.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.58.0.dist-info → canvas-0.59.0.dist-info}/METADATA +1 -1
- {canvas-0.58.0.dist-info → canvas-0.59.0.dist-info}/RECORD +22 -19
- canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/tests/__init__.py +0 -0
- canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/tests/test_models.py +21 -0
- canvas_sdk/v1/data/__init__.py +2 -0
- canvas_sdk/v1/data/goal.py +70 -0
- canvas_sdk/v1/data/note.py +1 -0
- plugin_runner/allowed-module-imports.json +7 -0
- {canvas-0.58.0.dist-info → canvas-0.59.0.dist-info}/WHEEL +0 -0
- {canvas-0.58.0.dist-info → canvas-0.59.0.dist-info}/entry_points.txt +0 -0
|
@@ -71,18 +71,6 @@ canvas_cli/apps/plugin/__init__.py,sha256=GB6hBwbajm5cOs-DbJh3q6smPfAaIMa99tSbkv
|
|
|
71
71
|
canvas_cli/apps/plugin/plugin.py,sha256=vlnd61nPt98NnYUPAeZMogcRPgv1pdDqBtey13H_Tug,20817
|
|
72
72
|
canvas_cli/apps/run_plugins/__init__.py,sha256=iAMgX_6D3CdjQodGx_azwhSjouaxquOm8Z8QVXnlTFE,117
|
|
73
73
|
canvas_cli/apps/run_plugins/run_plugins.py,sha256=5JbO0l4f2xtJbSTomJgKUqj416sT9GcDF0TrDg2JZYQ,3275
|
|
74
|
-
canvas_cli/templates/plugins/application/cookiecutter.json,sha256=cI4Wpj68TkKeBP3P16PrjKacTHzsTIpl_rDdzyUpwz4,129
|
|
75
|
-
canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/CANVAS_MANIFEST.json,sha256=-mfqhpljpF4eE8g05pIEnZMt_bDUdhgIBtuQd-devv8,945
|
|
76
|
-
canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/README.md,sha256=3QKoJQq3YmdplGnDOBMsLCJ3Ya1_aKjoz-QiWc4QfjA,291
|
|
77
|
-
canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
78
|
-
canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/applications/my_application.py,sha256=rTUUycVOZEj5B4CoBqWMl9T4xPIyTqxsWGzXfAd6huY,584
|
|
79
|
-
canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/assets/python-logo.png,sha256=QAipNLQVwVK_pRO-PpsF3kISrkFUmifyxsjUGzokpNo,20637
|
|
80
|
-
canvas_cli/templates/plugins/default/cookiecutter.json,sha256=LbcuMaWxrLats1BffuDkk2192qNTgA-NU6sAnsFyj8M,201
|
|
81
|
-
canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/pyproject.toml,sha256=ogQ94GnE-Aj2KJbiTevwnomqKdZUeBZfIOTcU_KPPdI,422
|
|
82
|
-
canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/CANVAS_MANIFEST.json,sha256=1keK1aJ-rJu4hm5ypqJT82hooCUTUOQ10dhzQ-mab7c,638
|
|
83
|
-
canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/README.md,sha256=3QKoJQq3YmdplGnDOBMsLCJ3Ya1_aKjoz-QiWc4QfjA,291
|
|
84
|
-
canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/protocols/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
85
|
-
canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/protocols/my_protocol.py,sha256=fKLLcOIwvSWenW8-7tr8VqnF4Iox_5wU9V-Qw9UySsA,2381
|
|
86
74
|
canvas_cli/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
87
75
|
canvas_cli/utils/context/__init__.py,sha256=HhYvI-hydP0mV18nJiU7uo5gk0yN7EYNgouxieoGDOE,102
|
|
88
76
|
canvas_cli/utils/context/context.py,sha256=wk4TxlslF52uD9nXcEZ1eY8L1rcEHk7k-6YBVwaWnVY,5191
|
|
@@ -236,7 +224,7 @@ canvas_sdk/utils/plugins.py,sha256=OPq9OiE1v1AF24HSdEEOlSJxRVc2NVksK0Gpf6OH1NE,1
|
|
|
236
224
|
canvas_sdk/v1/__init__.py,sha256=YYXr5tEQlnwMgTXJbOG963tKSPiUOM4mUkX8wuiqp7U,17
|
|
237
225
|
canvas_sdk/v1/apps.py,sha256=4MwQfQu78oX5bUVlyxYzbt4rZODi0ZesXe_3QOsEWO8,170
|
|
238
226
|
canvas_sdk/v1/models.py,sha256=LqeHZ-Hz3EWyM9vYr9uZ9rBYdMXNuuvJqbmojV8EcEM,224
|
|
239
|
-
canvas_sdk/v1/data/__init__.py,sha256=
|
|
227
|
+
canvas_sdk/v1/data/__init__.py,sha256=eW5hFb0LQmLzpvvULEnWX5TAsHZxwU4K7TK0fFxqUaE,5316
|
|
240
228
|
canvas_sdk/v1/data/allergy_intolerance.py,sha256=KXfU7UqTdRfHUFrP8yncQGMvlRPEt2K6TrC_y7JYgiE,2453
|
|
241
229
|
canvas_sdk/v1/data/appointment.py,sha256=UXvn6wYEgsphhTQaFbFg-UE7Bumy_UR-AQFnsSrL5Dk,2658
|
|
242
230
|
canvas_sdk/v1/data/assessment.py,sha256=vnVoaKWoJGCfaYn6WilxpI5cTgkvM647hFIuTyi_AgY,1663
|
|
@@ -257,13 +245,14 @@ canvas_sdk/v1/data/detected_issue.py,sha256=k-tOX6fpzfRf9WmG7neHPEeWrpZUdTiTEqYz
|
|
|
257
245
|
canvas_sdk/v1/data/device.py,sha256=5YnCApQR3ZprGO9zCsSP-4spwo4HVRDSTY3QCNwqYlo,1932
|
|
258
246
|
canvas_sdk/v1/data/discount.py,sha256=Bqa0PcytSdqZ0MJor9EShtRUmNWGcBKtivGCmjk9Pbw,618
|
|
259
247
|
canvas_sdk/v1/data/fields.py,sha256=bI7mPI_3B36ntyoVQ6vuDq8eGLoUIkwZZr14lTC-4To,1104
|
|
248
|
+
canvas_sdk/v1/data/goal.py,sha256=dOI0rakLBnnYSkdMt5W2uh7_W5Pp21G6s1z70PzU3TY,2465
|
|
260
249
|
canvas_sdk/v1/data/imaging.py,sha256=N0OkJjmHI3jtv1w8RBhqGZGDGidNpf1ZwT0ypm1o60M,5246
|
|
261
250
|
canvas_sdk/v1/data/invoice.py,sha256=F5j_Hvu-YwqhHFkp6FDui8vx6GumCAgj14YgDvfyeYU,1877
|
|
262
251
|
canvas_sdk/v1/data/lab.py,sha256=8FPnApgcEfZ5f62387EgY6RZd8za2wps5LMzCB0_x6U,12969
|
|
263
252
|
canvas_sdk/v1/data/line_item_transaction.py,sha256=OJA_3DLA1RF0v8jCgQ8SHaoqij_Z97Iatfi5i6CVEis,2406
|
|
264
253
|
canvas_sdk/v1/data/medication.py,sha256=QMAUqqldJeQK9IuaoO5mWFp3IEjbqcqrxkzIgFZ4O0U,2333
|
|
265
254
|
canvas_sdk/v1/data/message.py,sha256=EKc2kkWGuzrgBH3sDUa9jiNpRP7J1ZdWE6BnPhY2gvs,2268
|
|
266
|
-
canvas_sdk/v1/data/note.py,sha256=
|
|
255
|
+
canvas_sdk/v1/data/note.py,sha256=Eq0JgDRzwK84BAT6Y51f47Gke2rseC3vvcjoqhzAsVE,9335
|
|
267
256
|
canvas_sdk/v1/data/observation.py,sha256=l1EXGQ8FBBInxQthsmY1Oms9v73ni_J7SAP5M8Hmkvg,3881
|
|
268
257
|
canvas_sdk/v1/data/organization.py,sha256=gt0KZC1hklwWf57vCxs2K0qPnLpMyyNFWNL7-WZ6AqI,1159
|
|
269
258
|
canvas_sdk/v1/data/patient.py,sha256=7D_bxeCAoA_I8-2ZLzAMkCrV9ziZ_-IND9uOq0Wp83I,10515
|
|
@@ -307,7 +296,7 @@ canvas_sdk/views/__init__.py,sha256=YYXr5tEQlnwMgTXJbOG963tKSPiUOM4mUkX8wuiqp7U,
|
|
|
307
296
|
logger/__init__.py,sha256=uMIOf1CDdKSmBKxKwO4CmDpvnJITci76IMXENOwSHEo,85
|
|
308
297
|
logger/logger.py,sha256=l5W5jn3vGQt6TM7OxOpoMy-vC7RNNA2pGnQJJgHeXWA,2068
|
|
309
298
|
plugin_runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
310
|
-
plugin_runner/allowed-module-imports.json,sha256=
|
|
299
|
+
plugin_runner/allowed-module-imports.json,sha256=cGmKEtU3lzLzWZ0isxNGlsT-HKSPO5K5jz3KSfUsWAA,36066
|
|
311
300
|
plugin_runner/authentication.py,sha256=UyyhXajokVFH866dpDhoTlXS9Cg7y0sQltn0_LcwXrY,1131
|
|
312
301
|
plugin_runner/aws_headers.py,sha256=wZ8584E1fTW0CdGxOCnLSF8alH27z-URcUyoc6y6ohg,2782
|
|
313
302
|
plugin_runner/exceptions.py,sha256=ltqn56SMTg-T5miSh5hux4ojwx0hZGSWaB7BxyAmcAo,545
|
|
@@ -322,7 +311,21 @@ protobufs/canvas_generated/messages/plugins.proto,sha256=xJyEeTwM6wWja3vGECLsIzf
|
|
|
322
311
|
protobufs/canvas_generated/services/plugin_runner.proto,sha256=PZ0Ts11b9tdA5Gkg2M05JVEKAm0R4LFEwrGRS-TQ16E,466
|
|
323
312
|
pubsub/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
324
313
|
pubsub/pubsub.py,sha256=PHIvJ5SD3M-jQSYeGGSj1FuG6CvP6BQffAoGax9Uudk,1423
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
314
|
+
canvas_cli/templates/plugins/application/cookiecutter.json,sha256=cI4Wpj68TkKeBP3P16PrjKacTHzsTIpl_rDdzyUpwz4,129
|
|
315
|
+
canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/CANVAS_MANIFEST.json,sha256=-mfqhpljpF4eE8g05pIEnZMt_bDUdhgIBtuQd-devv8,945
|
|
316
|
+
canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/README.md,sha256=3QKoJQq3YmdplGnDOBMsLCJ3Ya1_aKjoz-QiWc4QfjA,291
|
|
317
|
+
canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
318
|
+
canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/applications/my_application.py,sha256=rTUUycVOZEj5B4CoBqWMl9T4xPIyTqxsWGzXfAd6huY,584
|
|
319
|
+
canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/assets/python-logo.png,sha256=QAipNLQVwVK_pRO-PpsF3kISrkFUmifyxsjUGzokpNo,20637
|
|
320
|
+
canvas_cli/templates/plugins/default/cookiecutter.json,sha256=LbcuMaWxrLats1BffuDkk2192qNTgA-NU6sAnsFyj8M,201
|
|
321
|
+
canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/pyproject.toml,sha256=ogQ94GnE-Aj2KJbiTevwnomqKdZUeBZfIOTcU_KPPdI,422
|
|
322
|
+
canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
323
|
+
canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/tests/test_models.py,sha256=IWe3IarNQuS350owh87X1qi-PcpaxzBBNCStr8LC3Co,980
|
|
324
|
+
canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/CANVAS_MANIFEST.json,sha256=1keK1aJ-rJu4hm5ypqJT82hooCUTUOQ10dhzQ-mab7c,638
|
|
325
|
+
canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/README.md,sha256=3QKoJQq3YmdplGnDOBMsLCJ3Ya1_aKjoz-QiWc4QfjA,291
|
|
326
|
+
canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/protocols/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
327
|
+
canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/protocols/my_protocol.py,sha256=fKLLcOIwvSWenW8-7tr8VqnF4Iox_5wU9V-Qw9UySsA,2381
|
|
328
|
+
canvas-0.59.0.dist-info/METADATA,sha256=wX9YSrF81yvm0F5QUd0_A4SXBRCPi0FY-7xhUWuId1E,4758
|
|
329
|
+
canvas-0.59.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
330
|
+
canvas-0.59.0.dist-info/entry_points.txt,sha256=0Vs_9GmTVUNniH6eDBlRPgofmADMV4BES6Ao26M4AbM,47
|
|
331
|
+
canvas-0.59.0.dist-info/RECORD,,
|
|
File without changes
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# To run the tests, use the command `pytest` in the terminal or uv run pytest.
|
|
2
|
+
# Each test is wrapped inside a transaction that is rolled back at the end of the test.
|
|
3
|
+
# If you want to modify which files are used for testing, check the [tool.pytest.ini_options] section in pyproject.toml.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
from canvas_sdk.test_utils.factories import PatientFactory
|
|
7
|
+
from canvas_sdk.v1.data.discount import Discount
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# You can use a factory to create a patient instance for testing purposes.
|
|
11
|
+
def test_factory() -> None:
|
|
12
|
+
"""Test that a patient can be created using the PatientFactory."""
|
|
13
|
+
patient = PatientFactory.create()
|
|
14
|
+
assert patient.id is not None
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# if a factory is not available, you can create an instance manually with the data model directly.
|
|
18
|
+
def test_model() -> None:
|
|
19
|
+
"""Test that a Discount instance can be created."""
|
|
20
|
+
Discount.objects.create(name="10%", adjustment_group="30", adjustment_code="CO", discount=0.10)
|
|
21
|
+
assert Discount.objects.first().pk is not None
|
canvas_sdk/v1/data/__init__.py
CHANGED
|
@@ -15,6 +15,7 @@ from .coverage import Coverage, Transactor, TransactorAddress, TransactorPhone
|
|
|
15
15
|
from .detected_issue import DetectedIssue, DetectedIssueEvidence
|
|
16
16
|
from .device import Device
|
|
17
17
|
from .discount import Discount
|
|
18
|
+
from .goal import Goal
|
|
18
19
|
from .imaging import ImagingOrder, ImagingReport, ImagingReview
|
|
19
20
|
from .invoice import Invoice
|
|
20
21
|
from .lab import (
|
|
@@ -120,6 +121,7 @@ __all__ = __exports__ = (
|
|
|
120
121
|
"DetectedIssueEvidence",
|
|
121
122
|
"Device",
|
|
122
123
|
"Discount",
|
|
124
|
+
"Goal",
|
|
123
125
|
"ImagingOrder",
|
|
124
126
|
"ImagingReport",
|
|
125
127
|
"ImagingReview",
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
from django.db import models
|
|
2
|
+
|
|
3
|
+
from canvas_sdk.v1.data.base import IdentifiableModel
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class GoalLifecycleStatus(models.TextChoices):
|
|
7
|
+
"""GoalLifecycleStatus choices."""
|
|
8
|
+
|
|
9
|
+
PROPOSED = "proposed", "Proposed"
|
|
10
|
+
PLANNED = "planned", "Planned"
|
|
11
|
+
ACCEPTED = "accepted", "Accepted"
|
|
12
|
+
ACTIVE = "active", "Active"
|
|
13
|
+
ON_HOLD = "on-hold", "On Hold"
|
|
14
|
+
COMPLETED = "completed", "Completed"
|
|
15
|
+
CANCELLED = "cancelled", "Cancelled"
|
|
16
|
+
REJECTED = "rejected", "Rejected"
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class GoalAchievementStatus(models.TextChoices):
|
|
20
|
+
"""GoalAchievementStatus choices."""
|
|
21
|
+
|
|
22
|
+
IN_PROGRESS = "in-progress", "In Progress"
|
|
23
|
+
IMPROVING = "improving", "Improving"
|
|
24
|
+
WORSENING = "worsening", "Worsening"
|
|
25
|
+
NO_CHANGE = "no-change", "No Change"
|
|
26
|
+
ACHIEVED = "achieved", "Achieved"
|
|
27
|
+
SUSTAINING = "sustaining", "Sustaining"
|
|
28
|
+
NOT_ACHIEVED = "not-achieved", "Not Achieved"
|
|
29
|
+
NO_PROGRESS = "no-progress", "No Progress"
|
|
30
|
+
NOT_ATTAINABLE = "not-attainable", "Not Attainable"
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class GoalPriority(models.TextChoices):
|
|
34
|
+
"""GoalPriority choices."""
|
|
35
|
+
|
|
36
|
+
HIGH = "high-priority", "High Priority"
|
|
37
|
+
MEDIUM = "medium-priority", "Medium Priority"
|
|
38
|
+
LOW = "low-priority", "Low Priority"
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class Goal(IdentifiableModel):
|
|
42
|
+
"""Goal."""
|
|
43
|
+
|
|
44
|
+
class Meta:
|
|
45
|
+
db_table = "canvas_sdk_data_api_goal_001"
|
|
46
|
+
|
|
47
|
+
created = models.DateTimeField(auto_now_add=True)
|
|
48
|
+
modified = models.DateTimeField(auto_now=True)
|
|
49
|
+
originator = models.ForeignKey(
|
|
50
|
+
"v1.CanvasUser", on_delete=models.DO_NOTHING, null=True, related_name="+"
|
|
51
|
+
)
|
|
52
|
+
committer = models.ForeignKey(
|
|
53
|
+
"v1.CanvasUser", on_delete=models.DO_NOTHING, null=True, related_name="+"
|
|
54
|
+
)
|
|
55
|
+
entered_in_error = models.ForeignKey(
|
|
56
|
+
"v1.CanvasUser", on_delete=models.DO_NOTHING, null=True, related_name="+"
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
patient = models.ForeignKey("v1.Patient", on_delete=models.DO_NOTHING, related_name="goals")
|
|
60
|
+
note = models.ForeignKey("v1.Note", on_delete=models.DO_NOTHING, related_name="goals")
|
|
61
|
+
lifecycle_status = models.CharField(max_length=20, choices=GoalLifecycleStatus.choices)
|
|
62
|
+
achievement_status = models.CharField(max_length=20, choices=GoalAchievementStatus.choices)
|
|
63
|
+
priority = models.CharField(max_length=20, choices=GoalPriority.choices)
|
|
64
|
+
due_date = models.DateField()
|
|
65
|
+
progress = models.TextField()
|
|
66
|
+
goal_statement = models.TextField()
|
|
67
|
+
start_date = models.DateField()
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
__exports__ = ("Goal", "GoalLifecycleStatus", "GoalAchievementStatus", "GoalPriority")
|
canvas_sdk/v1/data/note.py
CHANGED
|
@@ -223,6 +223,7 @@ class CurrentNoteStateEvent(IdentifiableModel):
|
|
|
223
223
|
"""Returns a boolean to indicate if the related note can be edited."""
|
|
224
224
|
return self.state in [
|
|
225
225
|
NoteStates.NEW,
|
|
226
|
+
NoteStates.CONVERTED,
|
|
226
227
|
NoteStates.PUSHED,
|
|
227
228
|
NoteStates.UNLOCKED,
|
|
228
229
|
NoteStates.RESTORED,
|
|
@@ -532,6 +532,7 @@
|
|
|
532
532
|
"DetectedIssueEvidence",
|
|
533
533
|
"Device",
|
|
534
534
|
"Discount",
|
|
535
|
+
"Goal",
|
|
535
536
|
"ImagingOrder",
|
|
536
537
|
"ImagingReport",
|
|
537
538
|
"ImagingReview",
|
|
@@ -706,6 +707,12 @@
|
|
|
706
707
|
"canvas_sdk.v1.data.discount": [
|
|
707
708
|
"Discount"
|
|
708
709
|
],
|
|
710
|
+
"canvas_sdk.v1.data.goal": [
|
|
711
|
+
"Goal",
|
|
712
|
+
"GoalAchievementStatus",
|
|
713
|
+
"GoalLifecycleStatus",
|
|
714
|
+
"GoalPriority"
|
|
715
|
+
],
|
|
709
716
|
"canvas_sdk.v1.data.imaging": [
|
|
710
717
|
"ImagingOrder",
|
|
711
718
|
"ImagingReport",
|
|
File without changes
|
|
File without changes
|