In ICAO Document 9871 (Technical Provisions for Mode S Services and Extended Squitter) page 30 they have mentioned it in the form of a table. But they haven't explained HPL and Rc in detail.
Mode S ADS-B messages use DF17 or DF18. The type code field with the DF17/DF18 is set to reflect the current navigation performance.
The Containment Radius (Rc) is the radius that there is a 95% probability the aircraft is within that radius of its stated position, both horizontally and vertically.
HPL is computed by the GNSS and is the theoretical 100% containment (protection) limit in the horizontal only. It is approximately double the value of the Rc. Since HPL is horizontal only, the vertical is mostly addressed by the cases of 1) no altitude, 2) baro altitude or in its absence, 3) the GNSS height.
So based on the presence and value of HPL and altitude data, the appropriate Type Code can be set by referring to the table. The receiver of the message can then determine the transmitter's Rc.