Filter by category and city for doctors and hospitals in wordpress

You should register two custom post types:

  1. Doctor
  2. Hospital

using function register_post_type()

and then register two custom taxonomies added to both custom posts we registered above

  1. Specialty (cardiac, plastic)
  2. City

using function register_taxonomy()

In my opinion this is a good way to move forward