nCORE / nSPECT Data Integration

This article describes how to configure data integration between nSPECT and nCORE.

Configuring nCORE/nSPECT Integration

The first step in configuring inspection integration between nCORE and nSPECT is setting up one or more nCORE Evaluation Types to integrate with nSPECT.

When a new Evaluation Type is added to nCORE, a new Inspection Type will be added to nSPECT when the user clicks the checkbox "Enable nSPECT Integration" and saves the record:

Configuring nSPECT Integration using the nCORE Evaluation Type screen

Once the "Enable nSPECT Integration" checkbox is clicked, a number of additional settings are displayed, as shown in the image above:

  1. Set Inspection Report to "Final" Status when nSpect Inspection is Completed - the Inspection Report Document will be set to "Final" status in nCORE automatically

  2. nSPECT Inspection Report File Type - Can be set to "docx" or "pdf". Default file type is set in APP_DEPLOY_SETTING where CODE = 'NSPECT_RPT_EXT'

  3. Default Follow-up Evaluation Type -  If an Inspection Form in nSPECT is configured to schedule a follow-up evaluation, it will be created with the type specified. If no type is specified, the follow-up will be created as the same type as the current inspection. See section Outbound Tags for more information on configuring Follow-up Evaluations.

Configuring Integration Tags in nSPECT

Integration tags are configured on nSPECT questions during form design. Integration tags can be used to pass data from nCORE into nSPECT for new inspections and back from nSPECT to nCORE when an inspection is complete.

There are three aspects of data integration between nSPECT and nCORE:

  1. Using Data Integration Tags to prefill nSPECT Forms with data from nCORE and to update nCORE data from completed nSPECT inspections

  2. Using Data Integration Context to populate the nCORE "Inspection Results" tab from a completed nSPECT Inspection

  3. Using Reference / Citation to create violations in nCORE from questions marked as a violation in nSPECT

These three topics are discussed in the sections below.

Using Data Integration Tags to move data between nCORE and nSPECT

When designing an nSPECT form, the Data Integration Tags field is used to to prefill nSPECT Forms with data from nCORE and to update nCORE data from completed nSPECT inspections.

nSPECT Data Integration Tags field

For a complete list of the available data integration tags, see the nCORE / nSPECT Data Integration Tags page.

Using Data Integration Context to populate nCORE Evaluation Results from Completed nSPECT Inspections

The nCORE Evaluation Details page can show a list of questions and answers configured on an nSPECT form for completed inspections. To enable this feature, entering "AREA" into the Data Integration Context field in an nSPECT inspection question.

nSPECT Data Integration Context Field

Questions configured with the text "AREA" in the Data Integration Context will appear along with the answer in the Inspection Results tab in nVIRO. 

Using Reference/Citation to Create Violations in nCORE from Completed nSPECT Inspections

Questions marked as violations in nSPECT can be configured to create violation records in nCORE, but must be configured to do so.

  1. In nSPECT, edit the form question that should result in a violation

  2. In the Reference / Citation field, enter a unique value for the violation reference. This value will be used in the next section to map to an nCORE Violation Type/Category

  3. Ensure that the radio button is selected that indicates the user is allowed to mark the inspection as a violation

  4. Click Save at the top of the screen to ensure the changes are saved.

  5. Navigate to the nCORE Admin → Lookups → Violation Types to Categories screen

  6. Either create a new Violation Type to Category Association or edit an existing Violation Type to Category Association that the violation will map to.

  7. In the nSPECT Reference / Citation Integration Tag field, enter the same value as entered in step 2 above.

  8. Click Save to save the changes.

Note that after saving, beneath the nSPECT Data Integration Tag field, a message will indicate whether the mapping is successful or not by display either one of the following messages:

  • "No nSPECT questions use this 'Reference / Citation' text", or

  • "Success! 'Reference / Citation' value exists in nSPECT"

When a violation is created in nCORE from nSPECT, the violation comment is set to the following:

Question: (question from nSPECT form); Answer: (answer from nSPECT form); Comments: (comments from nSPECT form, or “(No Comments)” if none)

Technical Aspects of nSPECT to nCORE integration

Steps performed for integration:

  1. On a regular interval, nCORE invokes the Integration - Process Completed nSpect Inspections scheduled task. This process performs the following steps:

    1. WSL queries VW_EVAL_NSPECT_CMPL to find inspections marked Complete in nSPECT but are not staged in EVAL_NSPECT_SUB

    2. WSL iterates through each completed inspection and performs the following steps:

      1. Invokes the nSPECT GetCompletedInspection API to fetch inspection data

      2. Inserts inspection data into the data is staged to EVAL_NSPECT_SUB

      3. Inserts inspection question answers into NSPECT_EVAL_SUB_DTL

    3. WSL invokes Stored procedure SP_IMPORT_NSPECT_DATA to move data from the staging tables back to nCORE. Specific steps include:

      1. Fetch all records from EVAL_NSPECT_SUB where PRCSS_DT IS NULL. For each record found:

        1. Insert into NSPECT_EVAL_FILE_PRCSS for the inspection report

        2. Insert new EVAL if evaluation does not exist in nCORE (for ad-hoc inspections)

        3. Synchronize nCORE Evaluation Start Date, End Date, Report Transmittal Date, Assigned User, and set evaluation status to “Processed”

        4. Insert question/answers into EVAL_NSPECT_SUMM where questions are tagged ‘Area’

        5. Insert violations

        6. Schedule follow-up inspections

  2. On a separate schedule, nCORE invokes the Integration - Import nSPECT Submission Files scheduled task. This process performs the following steps:

    1. WSL queries NSPECT_EVAL_FILE_PRCSS for any records that are active (IS_ACTIVE=1) and have not yet been moved to nCORE (DOC_MGMT_ID is null)

    2. For each file found, invokes the nSPECT client API to fetch either the PDF or DOCX inspection report and saves to nCORE DOC_MGMT table

      1. The inspection report DOC_CREATE_TYPE_ID, DOC_STATUS_TYPE_ID and DOC_CATG_ID are fetched from Deployment Settings ncore.documentCreateTypeId, ncore.documentStatusTypeId and ncore.documentCategoryId respectively.

    3. For each file successfully copied to nCORE, the DOC_MGMT_ID and PRCSS_DATE are set in NSPECT_EVAL_FILE_PRCSS

    4. Then, procedure SP_ADD_NSPECT_REQST_FILE performs finalization tasks:

      1. Sets NSPECT_EVAL_FILE_PRCSS records to Inactive that were copied to nCORE successfully or are over two weeks old and WSL has not generated a PDF.

      2. Sets document status from “Draft” to "Final" of configured to do so based on Evaluation Type lookup setting.

      3. Sets document security status based on Deployment setting NSPECT.DOC.DEFAULT_SEC_TYPE_CODE (default is “Public”)

        1. ^^^ This may be moved to an Evaluation Type setting pending enhancement ALVIRO-6865

      4. Processes inspection media files (photos):

        1. Inserts any inspection media (photos) from nSPECT into nCORE DOC_MGMT, sets document status to “Final”, sets document name and description, sets Security type to “Internal”.

        2. Sets the nSPECT binary media (photo) data to NULL

      5. Performs final cleanup, deleting NSPECT_EVAL_FILE_PRCSS records where IS_ACTIVE=0 and no errors were recorded in the import process

Removing an Inspection from nSPECT

In nSPECT, an authorized user can choose "Remove Inspection" from the main Inspections list. When this is done, the inspection is removed from the nSPECT database. A nCORE nightly batch update procedure will set the inspection back to "Planned" that evening.