nFORM–nCORE Data Integration Tags
Overview
This page explains how data flows between nFORM and nCORE, including how data from new nFORM submissions is used to update nCORE data and how nCORE data is used to prefill new nFORM submissions.
Integrating Data from nFORM to nCORE
Data submitted through nFORM is extracted and used to update site, submission, feature, and contact data, as well as documents, in nCORE. Data integration rules and behavior are primarily driven by the tag values assigned to nFORM sections and controls. This section explains how to use these tags to manage data integration when a new submission is received.
Integrating Site, Person, and Organization Data from nFORM to nCORE
Control tag mapping is defined in nformExport.VW_SITE_EXPORT. Integration logic is defined in dbo.SP_NFORM_STG_TO_SUBM_SITE.
nFORM Control Tag to nCORE Field Mapping (Sites)
The table below lists the control tags used to map site, person, and organization data from nFORM to nCORE.
Control Tag (nFORM) | Target Field (nCORE) | Notes | Updates Existing Site? |
|---|---|---|---|
SITE_NUM | SITE.SITE_NUM |
| No |
SITE_NAME | SITE.SITE_NAME | By default, the Site Name in nCORE is not updated if a different name is provided in an nFORM submission. However, this behavior can be changed using the Allow form to update Site Name checkbox on the Form Details page. For more information, see the Viewing and Editing Form Details page. | Configurable |
SITE_TYPE | SITE_TO_REF_SITE_TYPE. REF_SITE_TYPE_CODE | Maps to the Code or Description column in REF_SITE_TYPE. A row is only added if the same site type does not already exist on the site record. Only one site type per submission is supported. | Yes |
SITE_ADDR | SITE.(Multiple Address Fields) | Data is parsed from the nFORM address control into the following address fields on the nCORE Site Details page:
Address data can also be configured to create a geocoded “Site” feature/coordinate instead of using a location/map control on the form using the “Geocode Site Address” server task. For more information, see the nCORE Geocoding Process for Sites with Address but No Coordinate page. | Yes |
SITE_ADDR_CMNTS | SITE.ADDR_CMNTS | This is a fallback in case the nFORM Location Description field is not visible or populated. | Yes |
Contact control tag SITE | SITE.PREFIX | Only used for person records. | Yes |
Contact control tag SITE | SITE.PERSON_FIRST_NAME | Only used for person records. | Yes |
Contact control tag SITE | SITE.PERSON_LAST_NAME | Only used for person records. | Yes |
Contact control tag SITE | Organization Name | Not used. | Yes |
Contact control tag SITE | SITE.EMAIL | Only used for person records. | Yes |
Contact control tag SITE | PHONE table | Only used for person records. | |
SITE_COORD | n/a | Not used. See the Integrating Feature Data from nFORM to nCORE section below. | n/a |
SITE_LAT | n/a | Not used. See the Integrating Feature Data from nFORM to nCORE section below. | n/a |
SITE_LONG | n/a | Not used. See the Integrating Feature Data from nFORM to nCORE section below. | n/a |
SITE | FEATR_LOC table | When tagged on an nFORM location/map control, the centroid latitude and longitude of the selected geographic area pre-fills on the submission. | No |
SITE_NAICS | SITE_TO_REF_NAICS table | Only one value is supported, and it must exactly match either the CODE or CODE-DESCR in REF_NAICS (for example, “236118” or “236118-Residential Remodelers”). | Yes |
SITE_SIC | SITE_TO_REF_SIC table | Only one value is supported, and it must exactly match either the CODE or CODE-DESCR in REF_SIC (for example, “0131” or “0131-cotton”). | Yes |
[REF_SITE_RLNSHP_TYPE_CODE] | SITE_RLTD_SITE table | When a field is selected from a lookup populated by a site alternative name, the selected site is added as a related site. For more information, see the Relating Sites In a Submission page. | No |
TAX_PARCEL_NUM | SITE.TAX_PARCEL_NUM |
| Yes |
SITE_LUG_NAME | SITE.REF_LUG_CODE | Maps to the Description column in REF_LUG. | Yes |
SITE_WATERBODY_NAME | SITE.REF_WATERBODY_CODE | Maps to the Description column in REF_WATERBODY. | Yes |
REF_OWNRSH_TYPE_DESCR | SITE.REF_OWNRSH_TYPE_CODE | Maps to the Description column in REF_OWNRSH_TYPE. | Yes |
SITE_ALT_NAME+[REF_SITE_ALT_NAME_TYPE_CODE] | SITE_ALT_NAME table | Adds a site alternative name, by mapping the value provided for REF_SITE_ALT_NAME_TYPE_CODE to the CODE column in the REF_SITE_ALT_NAME_TYPE table. If a different site alternative name of the same type already exists on the site, it is set to Inactive. Only one site alternative name can be added or updated per submission. | Yes |
SSN | SITE.SSN_HASH | Only applies to person records. | Yes |
Integrating Submission Data from nFORM to nCORE
Control tag mapping is defined in nformExport.VW_SUBM_EXPORT. Integration logic is defined in dbo.SP_nFORM_STG_TO_SUBM.
Only one submission record in nCORE can be associated with a given nFORM submission.
nFORM Control Tag to nCORE Field Mapping (Submissions)
The table below lists the control tags used to map data from nFORM contact controls to nCORE submission fields.
Control Tag (nFORM) | Target Field (nCORE) | Notes |
|---|---|---|
CMPLNT_DESCR | SUBM.CMPLNT_DESCR |
|
IS_CONF_REQSTD | SUBM.IS_CONF_REQSTD | The nFORM value must be “Yes” or “No.” If “Yes,” a “Remain Confidential Requested” label appears on right sidebar of the Submission Details page. |
CMPLNT_ISSUE_DATE | SUBM.CMPLNT_DATE |
|
CMPLNT_ISSUE_TIME | SUBM.CMPLNT_DATE | Only used if the CMPLNT_ISSUE_DATE tag is also present. |
PROJ_NAME | SUBM.PROJ_NAME |
|
ACTN_TYPE | SUBM.REF_APP_REQST_ACTN_TYPE_CODE | Maps to the Description column in REF_APP_REQST_ACTN_TYPE. If no value is entered, the system uses the form’s Action/Deadline setting. |
SUBM_CMNTS | SUBM.SUBM_CMNTS |
|
SUBM_DCSN | SUBM_VERSN.REF_DSCN_CODE | Only applies to schedule submissions. If a matching value is found in the REF_DCSN lookup table, the submission version’s Decision is automatically set to the value provided. The following values are allowed:
|
SUBM_DCSN_DATE | SUBM_VERSN.DCSN_DATE | Only applies to schedule submissions, and is only populated if a valid SUBM_DSCN is found. If a SUBM_DCSN is specified but not a SUBM_DSCN_DATE, the system uses the date/time when the submission version was received. |
RESUBM_DUE_DATE | SUBM_VERSN.RESUBM_DUE_DATE | Only applies to schedule submissions with NOT_APPROVED or REQ_RESUBM decision codes. |
Integrating Feature Data from nFORM to nCORE
Control tag mapping is defined in nformExport.VW_FEATR_EXPORT. Integration logic is defined in dbo.SP_nFORM_STG_TO_SUBM_FEATR.
Feature information is collected from nFORM submission data from a variety of control configurations:
Sections that have control tags prefixed with
SITE(used for site location feature insert/update),Sections that have control tags prefixed with
FEATR,Advanced table controls containing columns tagged with specific
FEATRtags (see below), andDatagrid controls containing columns tagged with specific
FEATRtags (see below).
Data integration is driven entirely by control data, not section tag names.
Sections can be configured to repeat, allowing multiple features to be imported. Similarly, advanced table and datagrid controls allow repeating sets of feature data within a single form section, enabling multiple feature records to be imported from a single section.
indicating Feature Type in Form Design
The feature type can be specified using any of the following methods:
Include a column in an section, advanced table or datagrid control tagged
FEATR_TYPEwith values that match existing feature type description or code. This can be a user-entered value or a hidden control with a calculated or default value the matches the desired feature type code or description, orInclude a section with a location control. The Feature type can then be specified by either:
setting the location control’s label to the feature type description
setting the location control’s tag to the feature type code
Inserting New Features versus Updating Existing Features
If an existing feature is found with a matching FEATR_ID_TXT, all of its fields are updated. Otherwise, a new feature is created upon import.
nFORM Control Tag to nCORE Field Mapping (Features)
The table below lists the control tags used to map data from nFORM contact controls to nCORE feature fields.
Control Tag (nFORM) | Target Field (nCORE) | Notes |
|---|---|---|
FEATR_ID_TXT | FEATR.FEATR_ID_TXT |
|
FEATR_TYPE | FEATR.REF_FEATR_TYPE_CODE | Can match either the CODE or DESCR from the REF_FEATR_TYPE lookup table. |
FEATR_DESCR | FEATR.DESCR |
|
(N/A) | FEATR_LOC.(lat/long value) | Derived as a single latitude and longitude point from an nFORM location control. The tag value does not matter; the integration logic will fetch the coordinate from any location control. |
FEATR_LAT | FEATR_LOC.(lat value) | Only applies to advanced table controls with a column for this value. For advanced table and grid controls, limited to values between -90.0 and 90.0. |
FEATR_LONG | FEATR_LOC.(long value) | Only applies to advanced table controls with a column for this value. For advanced table and grid controls, limited to values between -180.0 and 180.0. |
Integrating Contact Data from nFORM to nCORE
Control tag mapping is defined in nFORMExport.VW_CONTCT_EXPORT. Integration logic is defined in dbo.SP_nFORM_STG_TO_SUBM_CONTCT_AFFIL.
Submission contacts in nCORE are primarily created from nFORM contact controls.
Configuring a Contact’s Affiliation Type
Every contact imported to nCORE from an nFORM submission is assigned at least one affiliation type. The affiliation type assigned is determined based on the following:
The nFORM contact control’s Label matches an affiliation type description (for example, “Applicant”)
The nFORM contact control's Tag matches an affiliation type code (for example “APPLCNT”)
If no matching affiliation type description or code is found, nCORE assigns a generic “Contact” affiliation type to the submission contact.
Allowing Users to Assign One or More Affiliation Types to a Contact
Forms often need to allow users to assign more than one role to a contact. To achieve this:
Add a contact control to the relevant form section (the Tag value is not important).
Add a single- or multi-select control to the contact control, set its Tag to “AFFIL,” and populate the values with one or more affiliation type descriptions.
For this to work, the section must contain only one contact control. If multiple contacts with different affiliation types are needed, configure the section to repeat.
Configuring Multiple Contact Controls with the Same Affiliation Type
nFORM requires that all tags in a form be unique, which can be a challenge when multiple contact controls need to use the same affiliation type code. To work around this, append a plus sign (+) and additional text to the tag to create a unique value. For example, a contact control with the tag “CMPLNT+TEST1” will yield a contact with a “CMPLNT” affiliation type code.
Configuring a Contact Control to Update Person Records
License forms often use a contact control to update person records. When the applicant is also the site, the same contact control can be used to create both by setting the Label to “Applicant” and Tag to “SITE.”
The Site Name is derived from the contact control’s Company Name / Organization field. The First Name and Last Name fields are only used to update person records.
Creating Submission Contacts and Site Relationships from a Site Lookup
See the Relating Sites in a Submission page.
nFORM Control Tag to nCORE Field Mapping (Contacts)
The table below lists the control tags used to map data from nFORM contact controls to nCORE contact fields.
Control Tag (nFORM) | Target Field (nCORE) | Notes |
|---|---|---|
Type | AFFIL.REF_AFFIL_TYPE_CODE | After contacts are added to CONTCT, affiliations are added to the AFFIL table, linking each contact record to affiliation types matching the REF_AFFIL_TYPE_CODE. |
Title | CONTCT.TITLE |
|
prefixNames | CONTCT.PREFIX |
|
formula | CONTCT.CONTCT_NAME | Typically a complex formula using either the company name or a combination of first and last names. |
firstName | CONTCT.FIRST_NAME |
|
lastName | CONTCT.LAST_NAME |
|
companyName | CONTCT.ORG_NAME |
|
CONTCT.EMAIL |
| |
phone | PHONE.PHONE | Only applies to legacy forms. Saves the tag mapped to “phone” as the REF_PHONE_TYPE_CODE = "OFFICE" phone. Uses FN_FORMAT_PHONE to format the phone number. |
phone_0..3 | PHONE.PHONE | Creates distinct phone records for phone_0, phone_1, phone_2, and phone_3, using FN_FORMAT_PHONE to format phone numbers. |
phoneType_0..3 | PHONE.REF_PHONE_TYPE_CODE | Adds the phoneType of phone_0, phone_1, phone_2, and phone_3 to the nCORE phone records. If the phoneType is “BUSINESS,” then “OFFICE” is selected in nCORE. If it is “MAIN,” then “OTHER” is selected. |
extension_0..3 | PHONE.PHONE_EXT | Adds the extension for phone_0, phone_1, phone_2, and phone_3 to the nCORE phone records. |
extension | PHONE.PHONE_EXT | Only applies to legacy forms. Saves the tag mapped to “extension” as the REF_PHONE_TYPE_CODE = "OFFICE" phone. |
fax | PHONE.PHONE | Creates a distinct phone record with a “FAX” type. |
street | CONTCT.ADDR_1 |
|
street2 | CONTCT.ADDR_2 |
|
locality | CONTCT.CITY |
|
areaCode | CONTCT.REF_STATE_CODE |
|
countryCode | CONTCT.REF_CNTRY_CODE |
|
postalCode | CONTCT.ZIP_CODE |
|
county | unmapped |
|
description | CONTCT.ADDR_CMNTS | Maps to the Location Description field. |