Welcome to the world of ball python feeding abnormalities. If you look back on previous threads, I would guess that at least 50% have something to do with a bp being off feed. Its absolutely a normal, everyday, common place ordeal for a bp to stop eating. Three weeks isn't considered a long time to be off feed. You can try offering the same food item at normal intervals, but try to refrain from stressing the bp out by offering food too often, it will only prolong the issue. If the snake still wont take a rat after 8-10 weeks you can start trying other options. Your animal wont starve in that timeframe, nor will it have any physiological issues. Just make sure that all husbandry specs are on target.
If necessary when the time comes, you can try mice, African soft fur rats, gerbils etc to stimulate a feeding response. Just be aware that the snake might start to prefer these rodents over rats.