Don't forget that while we are on the ships for a week or two, the crew is on for 3-6 months at a time. The reason why the infirmary hours seem so limited, is because when they are not treating passengers, the medical staff gives care to the crew. They also have to report the boards of health about norovirus, hepatitis A and other infectious diseases. The staff has to be kept up to date on vaccinations, and be treated for minor injuries like back strains, burns etc. They also do continous education in infection control and injury prevention!
They are after all floating cities!