care.emr.api.viewsets.service_request module

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

Bases: FilterSet

base_filters = {'category': <django_filters.filters.CharFilter object>, 'do_not_perform': <django_filters.rest_framework.filters.BooleanFilter object>, 'encounter': <django_filters.filters.UUIDFilter object>, 'intent': <django_filters.filters.CharFilter object>, 'patient': <django_filters.filters.UUIDFilter object>, 'priority': <django_filters.filters.CharFilter object>, 'requester': <django_filters.filters.UUIDFilter object>, 'status': <django_filters.filters.CharFilter object>, 'title': <django_filters.filters.CharFilter object>}
declared_filters = {'category': <django_filters.filters.CharFilter object>, 'do_not_perform': <django_filters.rest_framework.filters.BooleanFilter object>, 'encounter': <django_filters.filters.UUIDFilter object>, 'intent': <django_filters.filters.CharFilter object>, 'patient': <django_filters.filters.UUIDFilter object>, 'priority': <django_filters.filters.CharFilter object>, 'requester': <django_filters.filters.UUIDFilter object>, 'status': <django_filters.filters.CharFilter object>, 'title': <django_filters.filters.CharFilter object>}
class ApplyActivityDefinitionRequest(*, activity_definition: str, service_request: ServiceRequestUpdateSpec, encounter: Annotated[UUID, UuidVersion(uuid_version=4)])

Bases: BaseModel

activity_definition: str
service_request: ServiceRequestUpdateSpec
encounter: 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]] = {'activity_definition': FieldInfo(annotation=str, required=True), 'encounter': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'service_request': FieldInfo(annotation=ServiceRequestUpdateSpec, 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.

class ApplySpecimenDefinitionRequest(*, specimen_definition: Annotated[UUID, UuidVersion(uuid_version=4)], specimen: SpecimenUpdateSpec)

Bases: BaseModel

specimen_definition: Annotated[UUID, UuidVersion(uuid_version=4)]
specimen: SpecimenUpdateSpec
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]] = {'specimen': FieldInfo(annotation=SpecimenUpdateSpec, required=True), 'specimen_definition': 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.

class ServiceRequestViewSet(**kwargs)

Bases: EMRCreateMixin, EMRRetrieveMixin, EMRUpdateMixin, EMRListMixin, EMRTagMixin, EMRBaseViewSet

database_model

alias of ServiceRequest

pydantic_model

alias of ServiceRequestCreateSpec

pydantic_update_model

alias of ServiceRequestUpdateSpec

pydantic_read_model

alias of ServiceRequestReadSpec

pydantic_retrieve_model

alias of ServiceRequestRetrieveSpec

filterset_class

alias of ServiceRequestFilters

filter_backends = [<class 'django_filters.rest_framework.backends.DjangoFilterBackend'>, <class 'rest_framework.filters.OrderingFilter'>, <class 'care.emr.tagging.filters.SingleFacilityTagFilter'>]
questionnaire_type = 'service_request'
questionnaire_title = 'Service Request'
questionnaire_description = 'Service Request'
questionnaire_subject_type = 'patient'
resource_type = 'service_request'
ordering_fields = ['created_date', 'modified_date']
get_facility_obj()
convert_external_id_to_internal_id(instance)
validate_health_care_service(instance)
validate_requester(instance, facility)
perform_create(instance)
perform_update(instance)
authorize_create(instance)
authorize_update(request_obj, model_instance)
authorize_retrieve(model_instance)

The user must have access to the location or encounter to access the SR

get_queryset()
apply_activity_definition(request, *args, **kwargs)
authorize_create_specimen(service_request)
create_specimen(request, *args, **kwargs)
create_specimen_from_definition(request, *args, **kwargs)