My understanding is that Co-Pay is a set amount per office visit ($5, $15, $20), the patient CAN have a $20 co-pay and then the insurance pays 80% and the patient pays 20% "co-insurance" ON TOP OF the $20 co-pay. Some patients only have Co-Pay, some only have Co-Insurance for office visits.
The difficulty in up front collecting is figuring the % co-insurance when you're not sure what the insurance is going to pay. If there's a SET co-pay, the office should try to get that at time of service and explain to the patient that they will be sent a bill for the % they owe once the insurance responds.
The SET co-pay is usually for office visits, not hospital services, that may be where the confusion is.