Not necessarily an
inner class by definition, and not necessarily public or static either (static means that if you make more hospitals, the patients will be shared - not what you want - and public defeats the purpose of trying to encapsulate things). I'd suggest that it should still be a separate class, Hospital just contains instances/Objects of that class. Don't think too hard about it...start laying out some code and think about what things represent - should they be a class of their own
See the following link for code conventions in java:
Code Conventions for the Java Programming Language which may address your questions of where to place things.