You might be trying to do too much at the query level if reports are the final output. Reports have their own grouping, sorting and summing capabilities that you can't do in a query. Not only that, you can sum over a group or over all as well as do running sums. They also have the ability to contain a sort of calculated control that you can sum over (e.g. you set this unbound textbox source to =1 and sum it in a footer and you get a count in that group). So reports can be quite powerful if you learn some of their tricks.
To do this at the query level would require that your tables design and data input are suitable. If the visit data is separate from the services data as I think it should be, then per patient per provider, there is only one visit in a given day, regardless of the number of services provided - according to your explanation. If you have melded this data, then I think that is your problem and the db lacks sufficient normalization.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.