The first instance of "haben" is as a verb of its own in Präteritum (simple past).
Er hatte einen Unfall -> He had an accident.
The second instance is indeed in Perfekt (perfect tense), where "haben" serves as auxilliary verb.
Er hat sich die Hand verstaucht. -> He has sprained his wrist.
Both of these instances do not use Plusquamperfekt (past perfect), because that would be unneccesary. Much like in English, the Plusquamperfekt is used to indicate that something happened before another past event, which is not the case here.
If you wanted to use the Plusquamperfekt, you could say something like:
Bevor mein Sohn den Unfall hatte, war er auf die Straße gelaufen. -> Before my son had the accident, he had run into the street.
Even in that case, the Plusquamperfekt is used quite rarely, especially in spoken German, since the timeline can mostly be inferred from context or from words like "vorher".
Bevor mein Sohn den Unfall hatte, lief er auf die Straße - Before my son had the accident, he ran into the street.
would be equally valid and most likely more idiomatic.