A typology for generating needs assessments