care.emr.api.viewsets.base module

emr_exception_handler(exc, context)
class EMRRetrieveMixin

Bases: object

get_serializer_retrieve_context()
authorize_retrieve(model_instance)
retrieve(request, *args, **kwargs)
class EMRCreateMixin

Bases: object

perform_create(instance)
clean_create_data(request_data)
authorize_create(instance)
create(request, *args, **kwargs)
get_serializer_create_context()
handle_create(request_data)
class EMRListMixin

Bases: object

get_serializer_list_context()
serialize_list(obj)
list(request, *args, **kwargs)
class EMRUpdateMixin

Bases: object

perform_update(instance)
clean_update_data(request_data, keep_fields: set | None = None)
update(request, *args, **kwargs)
partial_update(request, *args, **kwargs)
get_serializer_update_context()
authorize_update(request_obj, model_instance)
handle_update(instance, request_data)
class EMRDestroyMixin

Bases: object

authorize_destroy(instance)
perform_destroy(instance)
validate_destroy(instance)
destroy(request, *args, **kwargs)
class EMRUpsertMixin

Bases: object

upsert(request, *args, **kwargs)
class EMRBaseViewSet(**kwargs)

Bases: GenericViewSet

pydantic_model: EMRResource = None
pydantic_read_model: EMRResource = None
pydantic_update_model: EMRResource = None
pydantic_retrieve_model: EMRResource = None
database_model: EMRBaseModel = None
lookup_field = 'external_id'
get_exception_handler()
get_queryset()
get_retrieve_pydantic_model()
get_read_pydantic_model()
get_update_pydantic_model()
get_object()
validate_data(instance, model_obj=None)
fetch_encounter_from_instance(instance)
fetch_patient_from_instance(instance)
class EMRQuestionnaireResponseMixin

Bases: object

CREATE_QUESTIONNAIRE_RESPONSE = True
class TagRequest(*, tags: list[Annotated[UUID, UuidVersion(uuid_version=4)]] = [])

Bases: BaseModel

tags: list[Annotated[UUID, UuidVersion(uuid_version=4)]]
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'tags': FieldInfo(annotation=list[Annotated[UUID, UuidVersion]], required=False, default=[])}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

class EMRTagMixin

Bases: object

resource_type = None
tag_manager

alias of SingleFacilityTagManager

TAGS_ENABLED = True
get_facility_from_instance(instance)
perform_set_tags(instance, data)
set_tags(request, *args, **kwargs)
remove_tags(request, *args, **kwargs)
class EMRModelViewSet(**kwargs)

Bases: EMRCreateMixin, EMRRetrieveMixin, EMRUpdateMixin, EMRListMixin, EMRDestroyMixin, EMRBaseViewSet, EMRUpsertMixin

class EMRModelReadOnlyViewSet(**kwargs)

Bases: EMRRetrieveMixin, EMRListMixin, EMRBaseViewSet