There are many possibilities here. Below are your most likely culprits:
1) Some carriers will only pay ONE physician (the admitting) for the initial visit codes. All other physicians should be using subsequent, even for the first time seeing the patient.
2) You indicate subsequent was billed with 99222. That is an initial, not subsequent code.
3) The records do not support (in the carrier's eyes) the LEVEL of service billed. 99223 for example requires 2 of 3 for a high level problem, extensive data, and high risk. The carrier may view the documentation supports high problem, moderate data, and moderate risk so 99223 is not supported.
For issues 1 or 2, you would need to submit a corrected claim.
For issue 3 above, if after I review the records, I see the level supported, I would appeal and specify the level of each for problem, data and risk. If I cannot support the level in the records, I submit a corrected claim based on the accurate level. Remember, it's not the level provided, it's the level DOCUMENTED.
Good luck!