Index: main/waeup.uniben/trunk/src/waeup/uniben/students/browser.py
===================================================================
--- main/waeup.uniben/trunk/src/waeup/uniben/students/browser.py	(revision 16384)
+++ main/waeup.uniben/trunk/src/waeup/uniben/students/browser.py	(revision 16385)
@@ -780,4 +780,17 @@
         return
 
+
+
+
+from zope.schema.vocabulary import SimpleVocabulary
+from zope.formlib.itemswidgets import RadioWidget
+from zope.formlib.itemswidgets import SelectWidget, DropdownWidget
+
+def CustomBooleanRadioWidget(field, request, true=_('yes'), false=_('no')):
+    vocabulary = SimpleVocabulary.fromItems( ((true, True), (false, False)) )
+    widget = RadioWidget(field, vocabulary, request)
+    widget.required = False
+    return widget
+
 class StudentMedicalHistoryEditFormPage(KofaEditFormPage):
     """ Page to edit medical data
@@ -786,10 +799,19 @@
     grok.name('edit_medical')
     grok.require('waeup.handleStudent')
-    form_fields = grok.AutoFields(IMedicalHistory)
-    form_fields['medical_updated'].for_display = True
-    form_fields[
-        'medical_updated'].custom_widget = FriendlyDatetimeDisplayWidget('le')
-    label = _('Edit medical history data')
+    label = _('Medical Questionnaire')
     pnav = 4
+
+    @property
+    def form_fields(self):
+        form_fields = grok.AutoFields(IMedicalHistory)
+        form_fields['medical_updated'].for_display = True
+        for field in ('fever', 'headaches', 'catarrh', 'cough', 'sore_throat',
+                      'breathing', 'sneezing', 'weakness', 'body_pains',
+                      'smell', 'taste', 'asthma', 'hypertension', 'diabetes',
+                      'obesity', 'lagos_abuja', 'outside', 'company_suspected',
+                      'company_confirmed', 'positive', 'negative',
+                      'vaccination'):
+            form_fields[field].custom_widget = CustomBooleanRadioWidget
+        return form_fields
 
     @property
@@ -808,5 +830,5 @@
     grok.name('manage_medical')
     grok.require('waeup.manageStudent')
-    label = _('Manage medical history data')
+    label = _('Manage medical questionnaire data')
 
 class ExportPDFMedicalHistorySlip(grok.View):
@@ -814,5 +836,5 @@
     """
     grok.context(ICustomStudent)
-    grok.name('medical_history_slip.pdf')
+    grok.name('medical_questionnaire_slip.pdf')
     grok.require('waeup.viewStudent')
     prefix = 'form'
@@ -829,5 +851,5 @@
     def title(self):
         portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
-        return translate(_('Medical History Questionnaire'), 'waeup.kofa',
+        return translate(_('Medical Questionnaire'), 'waeup.kofa',
             target_language=portal_language)
 
@@ -835,5 +857,5 @@
     def label(self):
         portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
-        return translate(_('Medical History Slip of'),
+        return translate(_('Medical Questionnaire Slip of'),
             'waeup.kofa', target_language=portal_language) \
             + ' %s' % self.context.display_fullname
@@ -844,5 +866,5 @@
         students_utils = getUtility(IStudentsUtils)
         return students_utils.renderPDF(
-            self, 'medical_history_slip.pdf',
+            self, 'medical_questionnaire_slip.pdf',
             self.context.student, studentview,
             omit_fields=self.omit_fields,)
Index: main/waeup.uniben/trunk/src/waeup/uniben/students/interfaces.py
===================================================================
--- main/waeup.uniben/trunk/src/waeup/uniben/students/interfaces.py	(revision 16384)
+++ main/waeup.uniben/trunk/src/waeup/uniben/students/interfaces.py	(revision 16385)
@@ -66,5 +66,5 @@
         title = _(u'Fever'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -72,5 +72,5 @@
         title = _(u'Headaches'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -78,5 +78,5 @@
         title = _(u'Catarrh'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -84,5 +84,5 @@
         title = _(u'Cough'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -90,5 +90,5 @@
         title = _(u'Sore throat'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -96,5 +96,5 @@
         title = _(u'Difficulty with breathing'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -102,5 +102,5 @@
         title = _(u'Sneezing'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -108,5 +108,5 @@
         title = _(u'Weakness/tiredness'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -114,5 +114,5 @@
         title = _(u'Body pains'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -120,5 +120,5 @@
         title = _(u'Loss of smell (inability to smell)'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -126,5 +126,5 @@
         title = _(u'Loss of taste'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -134,5 +134,5 @@
         title = _(u'Asthma'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -140,5 +140,5 @@
         title = _(u'Hypertension'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -146,5 +146,5 @@
         title = _(u'Diabetes'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -152,5 +152,5 @@
         title = _(u'Obesity'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -170,5 +170,5 @@
         title = _(u'Have you travelled to Lagos or Abuja in the last two weeks?'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -176,5 +176,5 @@
         title = _(u'Have you travelled outside the country in the last 4 weeks?'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -184,5 +184,5 @@
         title = _(u'Were you in the company of a suspected case of COVID 19 in the last two weeks?'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -190,5 +190,5 @@
         title = _(u'Were you in the company of a confirmed case of COVID 19 in the last two weeks?'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -196,5 +196,5 @@
         title = _(u'Have you had a positive COVID 19 test done?'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -202,5 +202,5 @@
         title = _(u'Have you had a negative COVID 19 test done?'),
         default = False,
-        required = False,
+        required = True,
         )
 
@@ -208,5 +208,5 @@
         title = _(u'Have you had COVID 19 vaccination?'),
         default = False,
-        required = False,
+        required = True,
         )
 
Index: main/waeup.uniben/trunk/src/waeup/uniben/students/tests/test_browser.py
===================================================================
--- main/waeup.uniben/trunk/src/waeup/uniben/students/tests/test_browser.py	(revision 16384)
+++ main/waeup.uniben/trunk/src/waeup/uniben/students/tests/test_browser.py	(revision 16385)
@@ -1169,5 +1169,5 @@
                            self.browser.contents)
 
-    def test_student_medical_history(self):
+    def test_student_medical_questionnaire(self):
         IWorkflowInfo(self.student).fireTransition('admit')
         self.browser.open(self.login_path)
@@ -1178,9 +1178,9 @@
             '...You logged in...', self.browser.contents)
         self.browser.getLink("Base Data").click()
-        self.browser.getLink("Edit medical history").click()
-        self.browser.getLink("Download medical history slip").click()
+        self.browser.getLink("Medical Questionnaire").click()
+        self.browser.getLink("Download medical questionnaire slip").click()
         self.assertEqual(self.browser.headers['Status'], '200 Ok')
         self.assertEqual(self.browser.headers['Content-Type'], 'application/pdf')
-        path = os.path.join(samples_dir(), 'medical_history_slip.pdf')
+        path = os.path.join(samples_dir(), 'medical_questionnaire_slip.pdf')
         open(path, 'wb').write(self.browser.contents)
-        print "Sample PDF medical_history_slip.pdf written to %s" % path
+        print "Sample PDF medical_questionnaire_slip.pdf written to %s" % path
Index: main/waeup.uniben/trunk/src/waeup/uniben/students/viewlets.py
===================================================================
--- main/waeup.uniben/trunk/src/waeup/uniben/students/viewlets.py	(revision 16384)
+++ main/waeup.uniben/trunk/src/waeup/uniben/students/viewlets.py	(revision 16385)
@@ -185,5 +185,5 @@
     grok.view(StudentBaseDisplayFormPage)
     grok.require('waeup.handleStudent')
-    text = _('Edit medical history')
+    text = _('Medical Questionnaire')
     target = 'edit_medical'
     icon = 'actionicon_medical.png'
@@ -200,6 +200,6 @@
     grok.require('waeup.viewStudent')
     icon = 'actionicon_pdf.png'
-    text = _('Download medical history slip')
-    target = 'medical_history_slip.pdf'
+    text = _('Download medical questionnaire slip')
+    target = 'medical_questionnaire_slip.pdf'
 
 # JAMB Letter
