Authorities have charged 28-year-old Ryan Krieger with distribution of heroin and obstruction.
The former Marine was an in-patient at the post-traumatic stress disorder ward at the VA Medical Center in Lyons.
Authorities say Krieger and another patient, identified as J.Z., sneaked out of the hospital to buy heroin in 2011. Authorities say they returned and used the heroin with a third patient.
Prosecutors say neither Krieger nor the other patient alerted anyone when J.Z. collapsed. Staff discovered him dead in his room later that day.
Officials say Krieger initially lied about his involvement.
It's not clear whether Krieger has a lawyer.