HTML Form Entry Testing Checklist

So you have created a new HTML form and think it is ready for prime time.  This page outlines the various ways to test your form before rolling it out.

Review Form Layout

  • Does the electronic HTML form match the paper form?

  •  Are the fields correct? 

    • An example of an incorrect field: If the form asks, "Does patient have symptom X," appropriate answers would be "yes" or "no," but not both. Are radio options being rendered as radio inputs and not checkboxes? You can use the "Other" box to explain any fields you could not correct.

Review Form Schema

  • From the Edit HTML Form page, click Form Schema: View 

  • Are all concepts are appropriate?

  • Are all answers used on the form are set up in the concept dictionary as answers to the appropriate concept?

  • Are all concepts used within obsgroups on the form set up in the concept dictionary as set members for the construct?

  • Have you added the program?  Is there a program for your form? If not, you should create one, then add the required tag to the html form. Also lookout for the workflow and states!

  • Have you added the required drugs?

  • Does your form use Javascript?

Enter test patient

  • Fill out the form completely and independently record the values (i.e. screenshots)

  • After submitting the form, “View” the submitted form.  Compare to screenshots to verify viewing the form reflects the data that was entered.

Technical

  • Are you using a library?  For example jQuery.

    • If the library doesn’t load, does the page still work at a minimal level?  (have you tested this?)

  • Have you tested the form in all the required browsers?  Firefox (Windows, Mac, Linux), Chrome, Internet Explorer

Importing a foreign form into your environment?

  • Values specified in some tags are local to that particular server. When moving HTML forms it is necessary to change these attributes to match the new server. For example: LocationIDs in <encounterLocation>, Username, UserID, and Role used in <encounterProvider>, ProgramID in <enrollInProgram>, concept IDs used with <obs> or <obsgroup>, and formIDs used in <htmlformflowsheet>