Basicaly we have 4 offices connecting to a central location through vpn which hosts the dns file servers. We are implementing active directory with user groups and permissions.I was wondering if subnetting is even needed in each location? or just leave it all in one subnet one big network.
One subnet per location is likely to be the best way of doing this. You do want to limit traffic between the offices, for example there's almost no reason for broadcasts from office A to go to office C. Subnetting can help prevent that.
As this is a doctors office, I would imagine there are fairly strict requirements on what can be done with the data/network. You may want to consult those.
You use subnetting and routing.
here is soemthing, though: THIS IS TOTALLY UNRELATED TO AD.
Basically you do not use subnetting all braodcasts will go over VPN, so it will slow down the VPN links. AD or not. Having only one subnet between disparate connection speed physical entities (the WAN link is slower than the local LAN) is always a bad / non scaling idea.