Skip to content

Commit

Permalink
feat: add Task command SDK definition
Browse files Browse the repository at this point in the history
  • Loading branch information
jamagalhaes committed Sep 26, 2024
1 parent e64238d commit 4944078
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 2 deletions.
4 changes: 2 additions & 2 deletions canvas_generated/messages/effects_pb2.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions canvas_generated/messages/effects_pb2.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,11 @@ class EffectType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
DELETE_MEDICAL_HISTORY_COMMAND: _ClassVar[EffectType]
COMMIT_MEDICAL_HISTORY_COMMAND: _ClassVar[EffectType]
ENTER_IN_ERROR_MEDICAL_HISTORY_COMMAND: _ClassVar[EffectType]
ORIGINATE_TASK_COMMAND: _ClassVar[EffectType]
EDIT_TASK_COMMAND: _ClassVar[EffectType]
DELETE_TASK_COMMAND: _ClassVar[EffectType]
COMMIT_TASK_COMMAND: _ClassVar[EffectType]
ENTER_IN_ERROR_TASK_COMMAND: _ClassVar[EffectType]
ANNOTATE_PATIENT_CHART_CONDITION_RESULTS: _ClassVar[EffectType]
ANNOTATE_CLAIM_CONDITION_RESULTS: _ClassVar[EffectType]
UNKNOWN_EFFECT: EffectType
Expand Down Expand Up @@ -217,6 +222,11 @@ EDIT_MEDICAL_HISTORY_COMMAND: EffectType
DELETE_MEDICAL_HISTORY_COMMAND: EffectType
COMMIT_MEDICAL_HISTORY_COMMAND: EffectType
ENTER_IN_ERROR_MEDICAL_HISTORY_COMMAND: EffectType
ORIGINATE_TASK_COMMAND: EffectType
EDIT_TASK_COMMAND: EffectType
DELETE_TASK_COMMAND: EffectType
COMMIT_TASK_COMMAND: EffectType
ENTER_IN_ERROR_TASK_COMMAND: EffectType
ANNOTATE_PATIENT_CHART_CONDITION_RESULTS: EffectType
ANNOTATE_CLAIM_CONDITION_RESULTS: EffectType

Expand Down
2 changes: 2 additions & 0 deletions canvas_sdk/commands/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
from canvas_sdk.commands.commands.reason_for_visit import ReasonForVisitCommand
from canvas_sdk.commands.commands.remove_allergy import RemoveAllergyCommand
from canvas_sdk.commands.commands.stop_medication import StopMedicationCommand
from canvas_sdk.commands.commands.task import TaskCommand
from canvas_sdk.commands.commands.update_goal import UpdateGoalCommand

__all__ = (
Expand All @@ -37,5 +38,6 @@
"ReasonForVisitCommand",
"RemoveAllergyCommand",
"StopMedicationCommand",
"TaskCommand",
"UpdateGoalCommand",
)
60 changes: 60 additions & 0 deletions canvas_sdk/commands/commands/task.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
from dataclasses import dataclass
from datetime import date
from enum import Enum
from typing import TypeVar

from canvas_sdk.commands.base import _BaseCommand as BaseCommand


class AssigneeType(Enum):
"""The type of assigner for a Task command."""

ROLE = "role"
TEAM = "team"
UNASSIGNED = "unassigned"
STAFF = "staff"


@dataclass
class TaskAssigner:
"""A class for managing an assign for a Task command."""

to: AssigneeType
id: int | None = None

def as_dict(self) -> dict:
"""Return the TaskAssigner as a dictionary."""
return {"type": self.to.value, "id": self.id}


TaskAssignerType = TypeVar("TaskAssignerType", bound=TaskAssigner)


class TaskCommand(BaseCommand):
"""A class for managing a Task command within a specific note."""

class Meta:
key = "task"
commit_required_fields = (
"title",
"assign_to",
)

title: str = ""
assign_to: TaskAssignerType | None = None
due_date: date | None = None
comment: str | None = None
labels: list[str] | None = None
linked_items_urns: list[str] | None = None

@property
def values(self) -> dict:
"""The Task command's field values."""
return {
"title": self.title,
"assign_to": self.assign_to.as_dict() if self.assign_to else None,
"due_date": self.due_date.isoformat() if self.due_date else None,
"comment": self.comment,
"labels": self.labels,
"linked_items_urns": self.linked_items_urns,
}
6 changes: 6 additions & 0 deletions protobufs/canvas_generated/messages/effects.proto
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,12 @@ enum EffectType {
COMMIT_MEDICAL_HISTORY_COMMAND = 106;
ENTER_IN_ERROR_MEDICAL_HISTORY_COMMAND = 107;

ORIGINATE_TASK_COMMAND = 108;
EDIT_TASK_COMMAND = 109;
DELETE_TASK_COMMAND = 110;
COMMIT_TASK_COMMAND = 111;
ENTER_IN_ERROR_TASK_COMMAND = 112;

ANNOTATE_PATIENT_CHART_CONDITION_RESULTS = 200;

ANNOTATE_CLAIM_CONDITION_RESULTS = 300;
Expand Down

0 comments on commit 4944078

Please sign in to comment.