Form B - Research Grant
Summary
7 total questions | 100% mapped to the CommonGrants schema
Research grant application form
Details
Sample version of the rendered form.
What the form data looks like when it is submitted.
{ "project_name": "Project B", "institution_type": "University", "principal_investigator": { "first_name": "Bob", "middle_name": "B.", "last_name": "Barker" }, "budget": 25000, "kickoff": "2025-06-01"}
UI and JSON schemas used to render and validate the form.
JSON schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "project_name": { "type": "string", "title": "Research Project Name" }, "institution_type": { "type": "string", "title": "Institution Type", "enum": [ "University", "Nonprofit", "Government", "Corporation", "Independent Researcher", "Not Listed" ] }, "principal_investigator": { "type": "object", "properties": { "first_name": { "type": "string", "title": "PI First Name" }, "middle_name": { "type": "string", "title": "PI Middle Name" }, "last_name": { "type": "string", "title": "PI Last Name" } }, "title": "Principal Investigator", "required": [ "first_name", "last_name" ] }, "budget": { "type": "number", "title": "Total Budget (USD)" }, "kickoff": { "type": "string", "format": "date", "title": "Kick-off Date" } }, "required": [ "project_name", "principal_investigator" ]}
UI Schema
{ "type": "VerticalLayout", "elements": [ { "type": "Control", "scope": "#/properties/project_name" }, { "type": "Control", "scope": "#/properties/institution_type" }, { "type": "Group", "label": "Principal Investigator", "elements": [ { "type": "Control", "scope": "#/properties/principal_investigator/properties/first_name" }, { "type": "Control", "scope": "#/properties/principal_investigator/properties/middle_name" }, { "type": "Control", "scope": "#/properties/principal_investigator/properties/last_name" } ] }, { "type": "Control", "scope": "#/properties/budget" }, { "type": "Control", "scope": "#/properties/kickoff" } ]}
Mappings between the form and the CommonGrants schema.
Mapping to CommonGrants
{ "pointOfContact": { "firstName": { "field": "principal_investigator.first_name" }, "middleName": { "field": "principal_investigator.middle_name" }, "lastName": { "field": "principal_investigator.last_name" } }, "project": { "title": { "field": "project_name" }, "applicantType": { "switch": { "field": "institution_type", "case": { "University": "nonprofit-educational", "Nonprofit": "nonprofit-general", "Corporation": "business-general", "Government": "government-general", "Independent Researcher": "individual", "Not Listed": "custom" }, "default": "custom" } }, "amountRequested": { "field": "budget" }, "startDate": { "field": "kickoff" } }}
Mapping from CommonGrants
{ "project_name": { "field": "project.title" }, "institution_type": { "switch": { "field": "project.applicantType", "case": { "nonprofit-general": "Nonprofit", "nonprofit-religious": "Nonprofit", "nonprofit-educational": "University", "business-small": "Corporation", "business-general": "Corporation", "government-tribal": "Government", "government-state": "Government", "government-local": "Government", "government-general": "Government", "individual": "Independent Researcher", "custom": "Not Listed" } } }, "principal_investigator": { "first_name": { "field": "pointOfContact.firstName" }, "middle_name": { "field": "pointOfContact.middleName" }, "last_name": { "field": "pointOfContact.lastName" } }, "budget": { "field": "project.amountRequested" }, "kickoff": { "field": "project.startDate" }}