Factual error: In any police siege situations, it is a standard of public safety to evacuate the entire street, if not the entire city block if possible. There is always a 'buffer' zone between the public and the cordons and road blocks. These are all international givens. Yet the spectators are close enough to almost walk in the front doors of the hospital, shout opinions, read the time on Denzels watch, etc.
Factual error: In the opening scene with the truck driving the road in Montana, the license plate reads 63T. In Montana the numbers tell what county the car is from. Number 1 is the biggest county in population and number 56 is the smallest. 63 is incorrect because Montana has only 56 counties.
Plot hole: It seemed to take the police an awfully long time to get to the hospital once it was taken under seige. It seemed to take the camera man an excess of 10 minutes to realize something was wrong. After John took the camera out it was another estimated 15-25 minutes before the police came. I find it hard to believe that the police would be that slow to get to a hospital and that the camera operator would take a few minutes before phoning something in.
Factual error: John cocks his Beretta 92 on his leg, (time 1:30:44), and then you find out the gun wasn't loaded (time 1:39:35). When he cocked his gun without any bullets in it, the gun would have locked the slide open. The argument that he maybe didn't pull the slide all the way back to fake it and it wouldn't lock open would be hard to do since he did it with one hand against his leg and did it with such force he wouldn't have been able to do a shorter pull.