On doctrines and cartesian bicategories