St. Louis police said Porter Stone was transported Wednesday morning to Advocate Christ Medical Center in Oak Lawn.
According to Alsip police, the 33-year-old father, Jeffrey Stone, is in custody and faces charges of kidnapping, interfering with custody and endangering the welfare of a child.
Jeffrey Stone's mother, Rhonda Marie Matthews, also was taken into custody.
Police told NBC affiliate KSDK-TV that Jeffrey Stone took Porter from St. Louis Children's Hospital around 4:05 p.m. without permission.
Doctors said the boy, on a transplant waiting list, had only a day's worth of medication left in a portable IV bag when he was taken.
Jeffrey Stone then called Tiffany Stone, Porter's mother, at the hospital and told her he was taking the child, police said.
A missing child alert issued Tuesday has since been canceled.
Tiffany Stone told NBC Chicago Wednesday the boy was checked at the hospital and is doing fine.
The mother, who has custody of Porter, said she is being flown to Chicago to reunite with her son.
She said Jeffrey Stone has threatened in the past to take Porter and the estranged couple's 2-year-old daughter but never took action.
Jeffrey Stone and his family are from California, but his mother lives in Alsip.