Database Design for Dynamic/Reusable Form Templates - database

I apologize for the poor title, I couldn't think of a more clear way to phrase what I need help with.
I'm working on an application that allows users to submit "reports" for when certain incidents happen in a workplace. These reports are basically just a form and they help gather information to help deal with any sort of claims such as insurance, medical bills, etc.
A report can be of different "report_types". For example, different report_types could be "Auto Accident" or "Employee Injury".
Within report_types, there can be different report_templates. For instance, a user could have an "Auto Accident Oregon" template or "Auto Accident California" template because the requirements to file an insurance claim may be different in different states. The same applies to all report_types, there can be different report_templates for each report type based on location or the information needed even though it is technically the same type of incident that occurred.
The report_template is basically just a name and a json object that defines the schema for how to render the form. When a user goes to submit a report, I use a form renderer library to render the report based on the schema in the report_template. Then when a user submits the report, I save the json data from the form in a report row.
Before the user submits a report, he has to check sign a box to say that the report is accurate, and I am storing that data on a report_signatures table.
I attached a picture of my current database design below, I would love some feedback on it to see if this makes sense for what I'm trying to accomplish. The other challenge I'm facing is to be able to have an audit log of the reports so every time a user updates a report and resigns the signature box, the versions will be track. I think an insert-only table on reports would work well here, but I would also love some help with gettin that to work.

Related

How to make SQL database values appear on specific parts of an app layout?

screenshot of app function descriptionI would like to know how to show values in the columns of my SQL database on specific views on my app and update automatically whenever the data in these columns are changed?
I haven't yet created an SQL database (Don't know how to), but I am very familiar with how it works. I have come across one tutorial on Youtube that demonstrates how to show the data on a list view, but that is not what I intend to do. I intend to show the values on specific headings and each heading displays a value received from the database.
As seen in the image provided, "Name", "Last name" and "Headshots" are hardcoded text views that will never change, they are however, names of the columns on the database, but won't need to be collected from the database via the app. The values however, are subject to change whenever the data is manipulated on the server. I need to know how to display these.
Thanks in advance!

REDCap - reporting data back to user

I'm looking for a simple solution for a cooperative project where specimens will be mailed to me, and I would report several measurements back to the sender.
I need the originating site to fill out a form with some basic information (specimen ID, collection dates, shipment tracking #, etc). Then I need to let the site know I received the shipment - via the same form. Then, after some analytics, I need to report 3 numerical values (biomarker levels) back to the site.
Someone recommended REDCap for this project. I know I can do data collection with REDCap (the initial requisition form), but can I also report the values back with REDCap?
It appears I found the solution, by talking to a REDCap expert. In case someone is interested, here's basic outline:
Create two forms: one for requisiton, another one for reporting data back to user.
Invite REDCap users to my project and give them read-only rights to the second form.
Put other users in Data Access Groups, so they only can see the requisitions (and results) from their own group.
This might work, but I decided to not go this way. In REDCap, an user has all rights by default, and I would have to limit them. In my application there is too much potential for data breach due to mistake in assigning rights and DAGs.
Another solution would be to use REDCap with an email alert module enabled.
Configure a project with two forms:
One for the client to enter the information you need from them, and make that form anonymous - no user account needed, and collect an email address from them (to return results). For the example below let's call this form [request].
The second form will be for you to enter the biomarker levels and whatever else you need to. This form only needs to be viewable and editable by you. Let's call this [results].
Then, if you have the email alerts module enabled (and you'll have to speak with your REDCap administrators about that) you can configure it to automatically email someone with information contained in the record, and to set the logic by which the email is sent.
This solution and the one you were recommended are the same with respect to form design, but they differ in the way the results are shared with the requestor. This solution does not require the user to have an account to access the results. I personally think the other solution (with user roles and DAGs) is the better solution.

How to display RDL report in WPF for user to edit and save

we have a large number of existing reports (.rdl files), the business need is to enable business users to change the text on those report directly, they don't have report designer of any sort.
So requirement is to create a WPF app, that will allow user to browse to one of those reports, display them in readable format (not as xml but formatted similar to what the real report looks like, as if they are opened in the designer), and then allow user to update the text (essentially the contents inside those tags), and save the report. so when it's ran it'll reflect those title, heading, text etc. changes.
Did some research there are something like ReportViewer, Syncfusion reportviewer that can take care of displaying part in WPF, but none of them seems to allow user to edit and save.
Are there any suggestions on what are the options to achieve this? I am thinking creating some mapping/translating between those xml tags and html so the content can be displayed in a readable format, and put those user editable fields in array of values to keep track of changes and replace back to the original .rdl file. but that all seem too complicated and also performance can be a concern...there should be a better way!
your help is greatly appreciated!
Instead of having these values stored inside the report, I would store them in the database. Don't have any static values in the report. Everything shown in the report is loaded as paramters that can be configured.
This way you can create a UI that allows you to change the values of these configurations and a button to load the report viewer with a fresh version of the report using these values. This wouldn't be a full on report editor but if you created some base templates that meet the business needs, they'd be able to make some general modifications to the report such as Titles, alignment, logos, etc.

Creating a database by gathering data with a customized web form

I'm going to be creating a database using data that I gather from business owners. To do this, I need a service that will allow me to create a customized form that the business owner can fill out and submit. This form will require some logic, e.g., if the owner picks option A, a text box should appear prompting for more info but the textbox would not appear for option B. It would be great if the business owner could go back and edit fields after submission. As a first step, I looked at SurveyMonkey but a) it doesn't have the ability to customize the flow of the questions in the way I desire and b) it obviously doesn't meet my need to allow the page to be editable. Does anyone have any suggestions for me? Thanks.
Sounds like what you need is a simple web page with database.
You could use some free web host which provides you with database, free domain and some disc space. There are plenty of those.
If you dont know how to make a web page yourself, then its easy to find someone who can.

DNN module sugestions needed, form/reg, pyment, emailing

i need a module that is kind of a cross between a registration module and a form module.
it need to allow for custom form fields to be saved to the DB and work as part of a flow such that once data is entered by the users they click next and see the data to confirm it is correct. at this point they should have the option to edit the data if they notice an error or continue to a payment page.
the payment page needs to have a module that can integrat with payment gateways liek paypal and accept credit cards. once credit card data is entered and the transaction is complete a custom email with a unique userNumber needs to be sent to the user.
i figure im lookign at three separate modules for this typeof work flow. but i hope since this is a standard type of register, pay, email confirm operation there may be a single module i can confugure to meet my needs.
thoughts? suggestions?
Have you looked at DNM RAD by DotNet Mushroom?
http://www.dotnetmushroom.com/DNMRADGeneral/GeneralInformation/WhatisDNMRAD/tabid/2347/Default.aspx
I have not had a use for this yet, but it is a module that I have on my short list in case the need comes up. They do state that they can work with pament gateways.
Good luck.
You might have to be somewhat flexible with your work flow if you want to used 100% canned modules.
FormMaster is a pretty good form solution. You can write to existing database tables, structure SQL tables or just the default is an XML file. It doesn't go through a preview before saving though.
FormMaster Website
Searching snowcovered.com you can certainly find something that can process a payment. That one shouldn't be too difficult.
I'm thinking you may need to sling some code to get the exact experience you are looking for.

Resources