J codes are generally reported by the weight of the medication. Milligrams (mg) are measurements of weight..... ml (millileters) are measurements of volume, which only tells you the amount of liquid in which the medication is delivered. Think of it this way..... if you put 2 mg of sugar into a cup of water, and you only need to know how much sugar you used, the cup of water is irrelevant.
You will need to know what kind of testosterone was administered.
Testosterone Cypionate is the usual medication, administered IM. J1071 is for depo-testosterone (generic). You report it in 1 mg. units. So for your example, J1071 40 units -RT and J1071 40 units -LT.
The brand name Azmiro is a new code for 2026; reported as above, but with J1072.
Delatstryl is also billed based on 1 mg. units. For this use J3145.
Usually the packaging that the vials come in will tell you how many mg of medication are in a ml of fluid in the vial. In the 10 ml vial, you may have 40 mg of testosterone, but you bill based on the single mg---not the vial, and you don't need to worry about the volume in the vial.
Hope this helps.