Skip to content

Commit

Permalink
Adds surescripts effect types and classes.
Browse files Browse the repository at this point in the history
  • Loading branch information
jrwils committed Dec 11, 2024
1 parent cef8395 commit 08db7ef
Showing 1 changed file with 93 additions and 0 deletions.
93 changes: 93 additions & 0 deletions canvas_sdk/effects/surescripts/surescripts_messages.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
from typing import Any

from canvas_sdk.effects.base import EffectType, _BaseEffect


class SendSurescriptsEligibilityRequestEffect(_BaseEffect):
"""
An Effect that will send a Surescripts eligibility request.
"""

class Meta:
effect_type = EffectType.SEND_SURESCRIPTS_ELIGIBILITY_REQUEST
apply_required_fields = ("patient_id", "staff_id")

patient_id: str | None = None
staff_id: str | None = None

@property
def values(self) -> dict[str, Any]:
"""Eligibility Request values."""
return {
"patient_id": self.patient_id,
"staff_id": self.staff_id,
}

@property
def effect_payload(self) -> dict[str, Any]:
"""Eligibility Request effect payload."""
return self.values


class SendSurescriptsMedicationHistoryRequestEffect(_BaseEffect):
"""
An effect that sends a Surescripts Medication History Request.
"""

class Meta:
effect_type = EffectType.SEND_SURESCRIPTS_MEDICATION_HISTORY_REQUEST
apply_required_fields = ("patient_id", "staff_id")

patient_id: str | None = None
staff_id: str | None = None

@property
def values(self) -> dict[str, Any]:
"""Medication History Request values."""
return {
"patient_id": self.patient_id,
"staff_id": self.staff_id,
}

@property
def effect_payload(self) -> dict[str, Any]:
"""Medication History Request effect payload."""
return self.values


class SendSurescriptsBenefitsRequestEffect(_BaseEffect):
"""
An effect that sends a Surescripts Benefits Request.
"""

class Meta:
effect_type = EffectType.SEND_SURESCRIPTS_BENEFITS_REQUEST
apply_required_fields = (
"patient_id",
"staff_id",
"medication_description",
"medication_ndc",
"plan",
)

patient_id: str | None = None
staff_id: str | None = None
medication_description: str | None = None
medication_ndc: str | None = None
plan: str | None = None

@property
def values(self) -> dict[str, Any]:
"""Benefits Request values."""
return {
"patient_id": self.patient_id,
"staff_id": self.staff_id,
"medication_description": self.medication_description,
"medication_ndc": self.medication_ndc,
"plan": self.plan,
}

@property
def effect_payload(self) -> dict[str, Any]:
"""Benefits Request effect payload."""
return self.values

0 comments on commit 08db7ef

Please sign in to comment.