diff --git a/care/emr/api/viewsets/medication_request.py b/care/emr/api/viewsets/medication_request.py index c7b05aa9f2..d00ce9cb9c 100644 --- a/care/emr/api/viewsets/medication_request.py +++ b/care/emr/api/viewsets/medication_request.py @@ -16,6 +16,7 @@ MedicationRequestReadSpec, MedicationRequestSpec, MedicationRequestStatus, + MedicationRequestUpdateSpec, ) from care.emr.resources.questionnaire.spec import SubjectType @@ -49,6 +50,7 @@ class MedicationRequestViewSet( database_model = MedicationRequest pydantic_model = MedicationRequestSpec pydantic_read_model = MedicationRequestReadSpec + pydantic_update_model = MedicationRequestUpdateSpec questionnaire_type = "medication_request" questionnaire_title = "Medication Request" questionnaire_description = "Medication Request" diff --git a/care/emr/api/viewsets/organization.py b/care/emr/api/viewsets/organization.py index 5b6bdbf725..8665bfaefa 100644 --- a/care/emr/api/viewsets/organization.py +++ b/care/emr/api/viewsets/organization.py @@ -201,6 +201,7 @@ def mine(self, request, *args, **kwargs): class OrganizationUserFilter(filters.FilterSet): username = filters.CharFilter(field_name="user__username", lookup_expr="icontains") + class OrganizationUsersViewSet(EMRModelViewSet): database_model = OrganizationUser pydantic_model = OrganizationUserWriteSpec diff --git a/care/emr/resources/medication/request/spec.py b/care/emr/resources/medication/request/spec.py index afedf31e94..3f72d44c31 100644 --- a/care/emr/resources/medication/request/spec.py +++ b/care/emr/resources/medication/request/spec.py @@ -195,9 +195,12 @@ def validate_method(cls, code): ) -class BaseMedicationRequestSpec(EMRResource): +class MedicationRequestResource(EMRResource): __model__ = MedicationRequest __exclude__ = ["patient", "encounter"] + + +class BaseMedicationRequestSpec(MedicationRequestResource): id: UUID4 = None status: MedicationRequestStatus @@ -248,6 +251,10 @@ def perform_extra_deserialization(self, is_update, obj): obj.patient = obj.encounter.patient +class MedicationRequestUpdateSpec(MedicationRequestResource): + status: MedicationRequestStatus + + class MedicationRequestReadSpec(BaseMedicationRequestSpec): created_by: UserSpec = dict updated_by: UserSpec = dict