You should also double check the VOB, UR and the documentation to see if you should be billing for IP rehab (rev code 0128 for semi private bed) or Residential (rev code 1002). In Florida there is a difference between the 2, both in the ASAM level and definition of treatment.
Inpatient Rehab would be for shorter term stays where medical monitoring is needed and the patient is transitioning to outpatient levels of care such as PHP. This would be under ASAM level 3.5 and billed with the 0128 rev code
Residential is longer term lower intensity care (generally longer than 20 days). This would be under ASAM level 3.1 and billed with rev code 1002. There are some payers that will not cover rev code 1002, BCBS FEP plans is one off the top of my head.
These should not be confused with more intensive medically monitored inpatient and ambulatory inpatient care under ASAM levels 3.7 and 4.
As for the HCPC codes for the exception of PHP, there are no real alternatives to the H codes. (You can use S0201 for PHP) Generally I would bill without a HCPCS if I am just billing as a per diem. In my history billing Humana for treatment, I have not used HCPCS.
Hope this helps