Skip to main content

FormConfigurator Database Details

Form configurator was placed in project wise and each project has following collections to store the form related documents.

The project wise means, each project has its database and each database has its set of default collections which contains following form related collections.

forms

form_template

form_entries

master_form_types

Questions

Section

Source and consumer details of form configurator

The source or UI of form was client projects ie) ipmo, survillance, clmm etc.

The form configurator consumes Arango Adapter API, Arango Adapter was a java spring boot application which consists set of APIs.

Using Arango Adapter API, we can perform CRUD operation in Arango DB server.

Collections with details

Collection NameUsage
forms This collection used to store the list of forms and each form linked with form template, section, question collection
master_form_types Each forms have two types (Assessment, Report), this two documents stored in this collection.
sections This collection stores the section which comes under the forms
questions This collection stores the forms questions which mapped with section.
form_template This collection stores the copy of each form
form_entries After creating the forms with questions, it will assign to users or persons, once the person submits the question with answers it will store to this collection.

Collection attributes with details

Collection Name: forms

AttributesUsage
clientid This attribute used to store the clientid.
form_id This attributes holds the form uniqueid(UUID)
disease This attribute stores the disease, each form mapped with disease ex) covid, fever etc
form_type_id This attribute stores the type of form, type must be either Assessment or Report.
form_name This attribute stores the form name
created_at This attribute stores the form creation time.
created_by This attribute stores the username who created this document.
updated_at This attribute stores the form last updated time.
updated_by This attribute stores the username who update this document.

Collection Name: master_form_type

AttributesUsage
form_type_id This attribute holds the form uniqueid(UUID).
form_type_name This attribute stores the form type name.
is_active This attribute stores the boolean value.

Collection Name: section

Description:

Each form have multiple sections and each section has multiple questions.

AttributesUsage
form_id This attribute value refers the document which was present in the form collection.
section_id This attribute holds the section uniqueid(UUID).
is_investigator_section This attribute stores the boolean value and it will allow to show/hide the section to investigator type person
section_type This attribute stores the section type(0 or 1)

0- section

1-form

is_skippable The person or user can skip the sections, if we set true to this attribute.
section_name The attribute stores the name of the section.
priority This attribute value prioritize the section to the user
is_form
is_smart_skip
is_active This attribute value denotes whether this document active or inactive.
created_at This attribute stores the form creation time.
created_by This attribute stores the username who created this document.
updated_at This attribute stores the form last updated time.
updated_by This attribute stores the username who update this document.

Collection Name: questions

AttributesUsage
question_name The attribute stores the name of the question.
is_required This attribute denotes whether the question is required or not
form_id TThis attribute holds the formid which refers to form collection document.
section_id This attribute holds the sectionid which refers to form collection document.
question_id This attribute holds the question uniqueid(UUID).
ui_component This attribute holds the UI control values eg)textarea,dropdown etc.
options This attribute holds the options values of question. .
tag This attribute holds values of some extra information about question.
dependency
is_metadata
table_scheme
Is_active This attribute value denotes whether this document active or inactive.
validation
created_at This attribute stores the form creation time.
created_by This attribute stores the username who created this document.
updated_at This attribute stores the form last updated time.
updated_by This attribute stores the username who update this document.

Collection Name: form_template

AttributesUsage
form_template_id This attribute holds the form template uniqueid(UUID).
template_name This attribute holds the name of the template.
questions This field holds the multiple questions.
is_active This attribute value denotes whether this document active or inactive.
created_at This attribute stores the form creation time.
created_by This attribute stores the username who created this document.
updated_at This attribute stores the form last updated time.
updated_by This attribute stores the username who update this document.

Collection Name: form_entries

AttributesUsage
ticketId
patient_id TThis attribute holds the patient id who submits the form with question and answers.
notifier_id This attribute holds the notifier reference id .
verifier_comments_status This attribute holds the verifier comments .
notified_at This attribute holds the notified date and time .
form_id This attribute holds the form collection document reference id .
notifier_status This attribute holds the notifier status .
verifier_status This attribute holds the verifier status .
investigator_status This attribute holds the investigator status.
registration_status This attribute holds the registration status.
entry_id This attribute holds the form entry uniqueid(UUID).
location This attribute holds the location information in order of levels.
answers This attribute holds the answer of all submitted questions.

Production Collection

forms

form_template

form_entries

master_form_types

questions

Section

Dependency for formconfigurator

The form configurator datas/documents stored in above mentioned collections.

The form configurator UI calls arango adapter API for to perform CRUD operations in arangodb server.