care.emr.api.viewsets.patient module

class PatientFilters(data=None, queryset=None, *, request=None, prefix=None)

Bases: FilterSet

base_filters = {'name': <django_filters.filters.CharFilter object>, 'phone_number': <django_filters.filters.CharFilter object>}
declared_filters = {'name': <django_filters.filters.CharFilter object>, 'phone_number': <django_filters.filters.CharFilter object>}
class PatientViewSet(**kwargs)

Bases: EMRModelViewSet

database_model

alias of Patient

pydantic_model

alias of PatientCreateSpec

pydantic_read_model

alias of PatientListSpec

pydantic_update_model

alias of PatientUpdateSpec

pydantic_retrieve_model

alias of PatientRetrieveSpec

filterset_class

alias of PatientFilters

filter_backends = [<class 'django_filters.rest_framework.backends.DjangoFilterBackend'>, <class 'rest_framework.filters.OrderingFilter'>]
ordering_fields = ['created_date', 'modified_date']
authorize_update(request_obj, model_instance)
authorize_create(request_obj)
authorize_destroy(instance)
validate_data(instance, model_obj=None)
get_queryset()
perform_create(instance)
perform_update(instance)
class SearchRequestSpec(*, phone_number: str | None = None, config: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, value: str | None = None, facility: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None)

Bases: BaseModel

phone_number: str | None
config: Annotated[UUID, UuidVersion(uuid_version=4)] | None
value: str | None
facility: Annotated[UUID, UuidVersion(uuid_version=4)] | None
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]] = {'config': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'facility': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'phone_number': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'value': FieldInfo(annotation=Union[str, NoneType], required=False, default=None)}

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.

search(request, *args, **kwargs)
class SearchRetrieveRequestSpec(*, phone_number: str, year_of_birth: int, partial_id: str)

Bases: BaseModel

phone_number: str
year_of_birth: int
partial_id: str
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]] = {'partial_id': FieldInfo(annotation=str, required=True), 'phone_number': FieldInfo(annotation=str, required=True), 'year_of_birth': FieldInfo(annotation=int, required=True)}

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.

search_retrieve(request, *args, **kwargs)
get_users(request, *args, **kwargs)
class PatientUserCreateSpec(*, user: Annotated[UUID, UuidVersion(uuid_version=4)], role: Annotated[UUID, UuidVersion(uuid_version=4)])

Bases: BaseModel

user: Annotated[UUID, UuidVersion(uuid_version=4)]
role: 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]] = {'role': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'user': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)])}

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.

add_user(request, *args, **kwargs)
class PatientUserDeleteSpec(*, user: Annotated[UUID, UuidVersion(uuid_version=4)])

Bases: BaseModel

user: 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]] = {'user': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)])}

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.

delete_user(request, *args, **kwargs)
get_appointments(request, *args, **kwargs)
get_tokens(request, *args, **kwargs)
update_identifier(request, *args, **kwargs)
class PatientTagRequest(*, tags: list[Annotated[UUID, UuidVersion(uuid_version=4)]], facility: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None)

Bases: BaseModel

tags: list[Annotated[UUID, UuidVersion(uuid_version=4)]]
facility: Annotated[UUID, UuidVersion(uuid_version=4)] | None
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]] = {'facility': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'tags': FieldInfo(annotation=list[Annotated[UUID, UuidVersion]], required=True)}

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.

set_instance_tags(request, *args, **kwargs)
remove_instance_tags(request, *args, **kwargs)
set_facility_tags(request, *args, **kwargs)
remove_facility_tags(request, *args, **kwargs)
get_serializer_retrieve_context()
get_serializer_list_context()