def METHOD_NAME(self, instance, validated_data):
    LIMITED_RECIEVING_STATUS_ = []
    LIMITED_RECIEVING_STATUS = [
        REVERSE_REQUEST_STATUS_CHOICES[x] for x in LIMITED_RECIEVING_STATUS_
    ]
    LIMITED_REQUEST_STATUS_ = [
        "ON HOLD",
        "APPROVED",
        "REJECTED",
        "TRANSPORTATION TO BE ARRANGED",
        "TRANSFER IN PROGRESS",
        "COMPLETED",
    ]
    LIMITED_REQUEST_STATUS = [
        REVERSE_REQUEST_STATUS_CHOICES[x] for x in LIMITED_REQUEST_STATUS_
    ]
    # LIMITED_ORGIN_STATUS = []
    user = self.context["request"].user
    if "status" in validated_data:
        if validated_data["status"] in LIMITED_RECIEVING_STATUS:
            if instance.assigned_facility:
                if not has_facility_permission(user, instance.assigned_facility):
                    raise ValidationError({"status": ["Permission Denied"]})
        elif validated_data["status"] in LIMITED_REQUEST_STATUS:
            if not has_facility_permission(user, instance.approving_facility):
                raise ValidationError({"status": ["Permission Denied"]})
    # Dont allow editing origin or patient
    if "origin_facility" in validated_data:
        validated_data.pop("origin_facility")
    if "approving_facility" in validated_data:
        approving_facility_external_id = validated_data.pop("approving_facility")[
            "external_id"
        ]
        if approving_facility_external_id:
            validated_data["approving_facility_id"] = Facility.objects.get(
                external_id=approving_facility_external_id
            ).id
    if "assigned_facility" in validated_data:
        assigned_facility_external_id = validated_data.pop("assigned_facility")[
            "external_id"
        ]
        if assigned_facility_external_id:
            validated_data["assigned_facility_id"] = Facility.objects.get(
                external_id=assigned_facility_external_id
            ).id
    instance.last_edited_by = self.context["request"].user
    new_instance = super().METHOD_NAME(instance, validated_data)
    return new_instance