An NHS worker was punched in the face and left with a fractured cheekbone at a hospital.
The victim, aged in his 50s, was attacked at Salford Royal Hospital at about 13:50 GMT on Sunday, police said.
A 27-year-old man of no fixed address has admitted assault and a public order offence at Manchester and Salford Magistrates' Court.
He was remanded in custody and will be sentenced at Manchester Crown Court on 27 April.
Greater Manchester Police said the worker had since been discharged from hospital.