It is still to decide if the best way of storing forms is a relational database or better a document based database, like MongoDB. Forms are constantly changing (=updated), a common problem in usual software products is that if newer forms are available and updated, the older forms are not accessible any more. So forms must be versioned as well.
FreeMedForms or the newer FreeHealth have a way to automatically save forms from an xml file (should be ported to JSON) into a MYSQL database. This is interesting. But I still think that a Document based database would be the better way to store such data.
The forms module should provide a central API for creating forms, e.g.
Form fields: