Пример #1
0
class FacilityBasicInfoSerializer(serializers.ModelSerializer):
    local_body_object = LocalBodySerializer(source="local_body",
                                            read_only=True)
    district_object = DistrictSerializer(source="district", read_only=True)
    state_object = StateSerializer(source="state", read_only=True)
    facility_type = serializers.SerializerMethodField()

    def get_facility_type(self, facility):
        return {
            "id": facility.facility_type,
            "name": FACILITY_TYPES[facility.facility_type - 1][1]
        }

    class Meta:
        model = Facility
        fields = (
            "id",
            "name",
            "local_body",
            "district",
            "state",
            "local_body_object",
            "district_object",
            "state_object",
            "facility_type",
        )
Пример #2
0
class FacilityBasicInfoSerializer(serializers.ModelSerializer):
    id = serializers.UUIDField(source="external_id", read_only=True)
    ward_object = WardSerializer(source="ward", read_only=True)
    local_body_object = LocalBodySerializer(source="local_body",
                                            read_only=True)
    district_object = DistrictSerializer(source="district", read_only=True)
    state_object = StateSerializer(source="state", read_only=True)
    facility_type = serializers.SerializerMethodField()

    def get_facility_type(self, facility):
        return {
            "id": facility.facility_type,
            "name": facility.get_facility_type_display()
        }

    class Meta:
        model = Facility
        fields = (
            "id",
            "name",
            "local_body",
            "district",
            "state",
            "ward_object",
            "local_body_object",
            "district_object",
            "state_object",
            "facility_type",
        )
Пример #3
0
class PatientListSerializer(serializers.ModelSerializer):
    id = serializers.CharField(source="external_id", read_only=True)
    facility = serializers.UUIDField(source="facility.external_id",
                                     allow_null=True,
                                     read_only=True)
    facility_object = FacilityBasicInfoSerializer(source="facility",
                                                  read_only=True)
    ward_object = WardSerializer(source="ward", read_only=True)
    local_body_object = LocalBodySerializer(source="local_body",
                                            read_only=True)
    district_object = DistrictSerializer(source="district", read_only=True)
    state_object = StateSerializer(source="state", read_only=True)

    blood_group = ChoiceField(choices=BLOOD_GROUP_CHOICES, required=True)
    disease_status = ChoiceField(choices=DISEASE_STATUS_CHOICES,
                                 default=DiseaseStatusEnum.SUSPECTED.value)
    source = ChoiceField(choices=PatientRegistration.SourceChoices)

    class Meta:
        model = PatientRegistration
        exclude = (
            "created_by",
            "deleted",
            "ongoing_medication",
            "patient_search_id",
            "year_of_birth",
            "meta_info",
            "countries_travelled_old",
            "allergies",
            "external_id",
        )
        read_only = TIMESTAMP_FIELDS
Пример #4
0
class FacilitySerializer(serializers.ModelSerializer):
    """Serializer for facility.models.Facility."""

    facility_type = ChoiceField(choices=FACILITY_TYPES)
    # A valid location => {
    #     "latitude": 49.8782482189424,
    #     "longitude": 24.452545489
    # }
    location = PointField(required=False)

    local_body_object = LocalBodySerializer(source="local_body", read_only=True)
    district_object = DistrictSerializer(source="district", read_only=True)
    state_object = StateSerializer(source="state", read_only=True)

    class Meta:
        model = Facility
        fields = [
            "id",
            "name",
            "local_body",
            "district",
            "state",
            "facility_type",
            "address",
            "location",
            "oxygen_capacity",
            "phone_number",
            "local_body_object",
            "district_object",
            "state_object",
        ]
Пример #5
0
class UserSerializer(SignUpSerializer):
    user_type = ChoiceField(choices=User.TYPE_CHOICES, read_only=True)
    is_superuser = serializers.BooleanField(read_only=True)

    local_body_object = LocalBodySerializer(source="local_body",
                                            read_only=True)
    district_object = DistrictSerializer(source="district", read_only=True)
    state_object = StateSerializer(source="state", read_only=True)

    class Meta:
        model = User
        fields = (
            "id",
            "username",
            "first_name",
            "last_name",
            "email",
            "user_type",
            "local_body",
            "district",
            "state",
            "phone_number",
            "gender",
            "age",
            "is_superuser",
            "verified",
            "local_body_object",
            "district_object",
            "state_object",
        )
        read_only_fields = ("is_superuser", "verified", "user_type", "ward",
                            "local_body", "district", "state")

    extra_kwargs = {"url": {"lookup_field": "username"}}
Пример #6
0
class UserListSerializer(serializers.ModelSerializer):
    local_body_object = LocalBodySerializer(source="local_body", read_only=True)
    district_object = DistrictSerializer(source="district", read_only=True)
    state_object = StateSerializer(source="state", read_only=True)

    class Meta:
        model = User
        fields = ("id", "first_name", "last_name", "local_body_object", "district_object", "state_object")
Пример #7
0
class PatientListSerializer(serializers.ModelSerializer):
    local_body_object = LocalBodySerializer(source="local_body",
                                            read_only=True)
    district_object = DistrictSerializer(source="district", read_only=True)
    state_object = StateSerializer(source="state", read_only=True)

    class Meta:
        model = PatientRegistration
        exclude = ("created_by", "deleted")
Пример #8
0
class UserListSerializer(serializers.ModelSerializer):
    local_body_object = LocalBodySerializer(source="local_body",
                                            read_only=True)
    district_object = DistrictSerializer(source="district", read_only=True)
    state_object = StateSerializer(source="state", read_only=True)
    user_type = ChoiceField(choices=User.TYPE_CHOICES, read_only=True)

    class Meta:
        model = User
        fields = ("id", "first_name", "last_name", "local_body_object",
                  "district_object", "state_object", "user_type")
Пример #9
0
class PatientListSerializer(serializers.ModelSerializer):
    facility = serializers.IntegerField(source="facility_id",
                                        allow_null=True,
                                        read_only=True)
    local_body_object = LocalBodySerializer(source="local_body",
                                            read_only=True)
    district_object = DistrictSerializer(source="district", read_only=True)
    state_object = StateSerializer(source="state", read_only=True)

    class Meta:
        model = PatientRegistration
        exclude = ("created_by", "deleted")
Пример #10
0
class PatientListSerializer(serializers.ModelSerializer):
    facility = serializers.IntegerField(source="facility_id", allow_null=True, read_only=True)
    facility_object = FacilityBasicInfoSerializer(source="facility", read_only=True)
    local_body_object = LocalBodySerializer(source="local_body", read_only=True)
    district_object = DistrictSerializer(source="district", read_only=True)
    state_object = StateSerializer(source="state", read_only=True)

    disease_status = ChoiceField(choices=DISEASE_STATUS_CHOICES, default=DiseaseStatusEnum.SUSPECTED.value)
    source = ChoiceField(choices=PatientRegistration.SourceChoices)

    class Meta:
        model = PatientRegistration
        exclude = ("created_by", "deleted", "ongoing_medication", "patient_search_id", "year_of_birth", "meta_info")
        read_only = TIMESTAMP_FIELDS
Пример #11
0
class PatientListSerializer(serializers.ModelSerializer):
    local_body_object = LocalBodySerializer(source="local_body",
                                            read_only=True)
    district_object = DistrictSerializer(source="district", read_only=True)
    state_object = StateSerializer(source="state", read_only=True)

    def to_representation(self, obj):
        repr = super().to_representation(obj)
        if not self.context["request"].user.is_superuser:
            repr.pop("name")
            repr.pop("phone_number")
        return repr

    class Meta:
        model = PatientRegistration
        exclude = ("created_by", "deleted")