I have to levels of information, for familiarity, let's name them `hospitals` and `doctors`. 
The user first searches for hospitals and somehow selects a list of them, and then for each `hospital` she searches for a subset of `doctors` who work at that `hospital`, and select them. So in the end of the action, I should receive a list of doctors and which hospitals they work at.

Constraints:

* Has to be an intuitive design
* Space is limited as this is just one step in a multi-page form
* Has to be on one page only, (e.g. a wizard, multi-tabs, etc are not accepted solutions)
* Number of `hospitals` and `doctors` can be very high, and hence the use of search

What have I tried:

* a search textbox (for hospital search), positioned at the top of a list, when search is performed the list changes its content (i.e. hospital names that match the search will appear), each hospital name in the list has a checkbox next to it, when checked the hospital name moves to another list. when the user is done adding they can click on each hospital name in the 2nd list, and then in a 3rd list they can search for doctors and check the checkbox next to them.

Problems with this design:
sparse, too many steps, not possible for the user to see all that they selected at once, they have to click on the hospital name in the 2nd box to see what doctors they selected in the 3rd box, so i am not happy with it.

Ideally, I would want to do it in a wizard style where you first pick hospitals and then for each hospital a new wizard page appears and it you select what doctors you want, but the requirement is out of my control, and I reach a dead end here. 

How would you go about it?