You did the refraction and have the right to bill for it. The FTC has said that if an eyeglass prescription is done for a patient, you have a legal obligation to give them a copy of it at the conclusion of the exam, whether they want to buy glasses from you or not. If you don't, you're in violation of the FTC regulations on this subject.
Medicare rules state that if you do a refraction and don't charge for it then you may be violation of their rules as well.
An exception may be someone like a LASIK or post op cataract surgery patient where you may do a quick refraction just to determine their refractive status after the procedure. However, once you generate a "final RX", then you should charge for that and give it to the patient.
Here's an example of how a patient could take advantage of your doctor who does the refraction but doesn't charge for it and doesn't give them a copy of the RX, as required by law. Pt calls back 2 weeks later and says they changed their mind and want a copy of their RX to get some glasses. The RX is in the medical record, so you are obligated to give them a copy of it. But now they've gotten something free which took extra time during the doctor visit to generate. Are you going to try to charge the pt for the refraction on the back end of things like that? My guess is you'd get quite a bit of push back from the pt for that.
If you did it, charge for it!
Tom Cheezum, O.D., CPC, COPC