Yes, primary care...
Any licensed provider can check a B12 level.
You can probably even get it at a independent lab for a fee too. As far as the shots, a primary care provider can give you these. Be advised that many people don't need the shots, though, and that the over the counter pills can work just as well for many people.