IMS REST API

IMS REST API



Background and strategic fit

The purpose of this Integration is to pull over different incident information (Near Miss,Injury Illness, Vehicle and Environmental) to support our growing customer base to analyze the data they are entering through the ProcessMAP solution.This document provides information on how to consume the API's by the end Users.

Assumptions

  • Individual APIs being used for Near Miss, Injury Illness, Vehicle & Environmental incident types

  • For Injury/Illness the Incident type field will have comma separate value in case it is a combined Incident with other Incident Types

    • Data will be sent only for the Injury/Illness

  • ProcessMAP system User permissions would not be considered while exposing the data

  • ProcessMAP assumes anyone who is accessing the Outbound API has required authority to access Personal Information

  • User would have to input single Location Code(e.g. Westlake) each time to consume that Location data

  • Data to be accessed with a limitation of 2 years duration at a time to avoid any performance issues.

  • Data will be shown in Readable JSON format

  • Fields Names in the Response would be Product Field Naming. Customer will have to use mapping documentation

  • User accessing this endpoint through a valid Token & ConsumerId, provided by ProcessMAP, will have access to complete data

  • Witness Details  Information will be as nested

  • BodyParts -- Will be separated by , and side will be mentioned in braces Ex: Arm (L)(R)

  • For Nature, Cause and BodyParts -- IF Other(List) is selected then others description will be appended with '-' Ex: Other(List) --- Some Text

  • For Employee, Supervisor, Reported By  -- LastName, MiddleName, First name and Prefix will be combined as shown as single (Prefix(if available) + Firstname+ MiddleName(if available) + LastName)

  • For Witness the First Name, Middle Name, Last Name will not be appended as no field is mandatory

  • Incident Status will be included in the json output

  • DATETIME, INT and FLOAT data will be shown as NULL when there is no data

  • Pin Location Information and Default CAPA is not considered for this release

  • The data that is being shown in response is in EST Date time format ONLY

  • Certain fields are auto-populated in Application but the same will not reflect in JSON until the form is saved

User Interaction

Implementation : 

AUTHENTICATION URL DETAILS [  Base URL with Auth EndPoint ] 



Please note that the above Auth Token expires after every 120 minutes.



BASE URL FOR RESPECTIVE API CALLS : 



Near Miss

Incident Details

Request

GET papi/v1/imsoutbound/nearmissincidents?locationCode={locationCode}&dateFrom={dateFrom}&dateTo={dateTo}&lastSyncedDate={lastSyncedDate}

Ex: papi/v1/imsoutbound/nearmissincidents?locationCode=westlake&dateFrom=2019-07-01&dateTo=2019-07-30&lastSyncedDate=2019-01-01



URI Parameters

Location Code, DateFrom, DateTo and LastSyncedDate are to be passed as parameters.

DateFrom and DateTo are required when LastSyncedDate is not provided.

When DateFrom, DateTo and LastSyncedDate are provided, data will be returned based on LastSyncedDate only.

Name

        Description

           Type

      Additional information

Name

        Description

           Type

      Additional information

locationCode

        Represents the unique code of location for which Incident records to return.

           string

      Required

dateFrom

        Represents the starting date of Incident records to return.

           date

      Required but value optional

dateTo

        Represents the ending date of Incident records to return.

           date

      Required but value optional

lastSyncedDate

        Represents the data from incident created date or incident modified date.

           date

      Required but value optional



Headers

Name

       Description

      Sample

Name

       Description

      Sample

Authorization

       Represents the value of the authentication token.
       Allow multiple values: no.

      Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ...

ConsumerId

       Represents the value of the consumer id.
       Allow multiple values: no.

      2426

Response

Sample:

{
"Incident ID (System Generated)": "sample string",

    "Incident Title/Site": "sample string",

    "Location Code": "sample string",

    "Location": "sample string",

    "Incident Date": "2019-10-06T00:00:00.000Z",

    "Time of Incident": "sample string 2",

    "Time Undetermined": "sample string",

    "Date Reported to Employer": "2019-10-06T00:00:00.000Z",

    "Time Reported To Employer": "18:40",

    "Day Of Week": "sample string",

    "Reported By": "sample string",

    "Work Shift": "sample string",

    "Incident Occurred on Employer's Premises": "sample string",

    "Operating Unit": "sample string",

“Please identify the severity of the Incident“: “Sample String“,

    "Describe what occurred to create the Near Miss/Unsafe Act/Unsafe Condition?": "sample string.",

    "Is Contractor Involved?": "sample string",

    "Please provide Contractor Name, Company": "sample string",

“Contractor Details”: “Sample String“,

“Was the Contractor trained on Company Policies?”: “Sample String“,

“Was Asset involved?”: “Sample String”,

“Asset(s)”: “Sample String”,

    "Near Miss Incident Type": "sample string",

    "Severity": "sample string",

    "Hazard Classification": "sample string",

    "Potential Injury / Illness":

 [

      {

        "Nature of Injury / Illness": "sample string",

        "Cause of Injury/Illness": "sample string",

        "Injured Body Parts":

[

          "sample string",

          "sample string",

        ]

      }

],

    "Employee/Individual Details":

 {

      "Was an Employee / Individual involved in the Incident?": "sample string",

"Personnel Type": "Sample String",

"First Name": "Sample String",
"Middle Name": "Sample String",
"Last Name": "Sample String",
"Salutation": "Sample String",
"Employee Id": "Sample String",
"Occupation/Job Title": "Sample String",
"Hire Date": “2019-10-06T00:00:00.000Z“,
"Pay Rate Type": "Sample String",
"Employee / Individual Department1": "Sample String",
"Supervisor First Name": "Sample String",
"Supervisor Last Name": "Sample String",
"Supervisor Middle Name": " Sample String",
"Supervisor's Email": "Sample String"

          },

"Incident Severity_En": {
"Incident Severity (SIF/PSIF)_En": "Sample String",
"Actual Severity": "Sample String"
},
"Process Safety": {
"Is this a Process Safety Incident": "Sample String",
"Process Safety Incident Classification": "Sample String"
},

    "Are there any Witnesses identified?": "sample string",

    "If Yes - Number of Witnesses":  "sample string",

    "Witness Information":

      [ {

"LastName": "sample string 2",

"FirstName": "sample string 3",

"MiddleName": "sample string 4",

"PhoneNumber": "sample string 5",

"Notes": "sample string 6"

       } ],

"Management Review": [ {

“Role”: “Sample String“,

“Owner”: “Sample String“,

“Approval Due Date”: “Sample String“,

“Comments”: “Sample String“,

“Completed By”: “Sample String“,

“Management Review Status”: “Sample String“

} ],

    "Incident Status": ""sample string",

    "Created By": "sample string",

    "Created Date": "2019-10-14T11:43:31.517Z",

    "Modified Date": "2019-10-14T11:47:29.440Z",

    "Modified By": "sample string",

  

"Investigation Responsibility":
{ "Responsible Team": [ { "Salutation": null, "First Name": "John", "Last Name": "Smith" }, { "Salutation": null, "First Name": "Sagar", "Last Name": "Pradhan" } ], "Target Completion Date": "2019-11-22T00:00:00.000Z", "Note/Comments": "Test inv responsblity*", "Notify Immediate Supervisor": "Y" },

    "Investigation Details": [

     {

        "Had the job or task related to the Near Miss been risk assessed?": "sample string",

        "IF No, explain:":"sample string",

      },

      {

        "Was incident reviewed with the involved employee?":"sample string",

        "Employee Comments (If yes to answer above)": "sample string",

      },

      {

        "How long has the employee been working on the job where the Near Miss occurred?": "sample string"

      },

      {

        "Was the employee performing their normal job?": "sample string"

      },

      {

        "Select the type of the task the employee was performing when the Near Miss occurred": "sample string"

      },

      {

        "What tools, machine, equipment, object, or substances or components were involved in the Near Miss":  "sample string"

      },

      {

        "Lessons Learned from incident to be communicated to other departments?": "sample string"

      },

    

        "Name of person leading the investigation":  "sample string"

      },

      {

        "Investigation completed date":  "sample string"

      },

      {

        "Investigation completed Time":  "sample string"

      },

      {

        "Name of representative(s) approving of the investigation and corrective action?":  "sample string"

      },

      {

        "Date of representaive(s) approval": "sample string"

      }

    ],

    "Contributing Factors":

     [

      {

        "Contributing Factor Type (Parent)":  "sample string",

        "Contributing Factors":

 [

           "sample string",

           "sample string"

        ],

        "Comments":  "sample string"

      }

    ],

    "5 Why? Methodology": 

[

      {

        "Select Action or Condition that may have directly caused incident":

        [

           "sample string"

        ],

        "Whys": 

[

          {

            "Why or what created the scenario above to affect the action or condition":  "sample string"

          },

          {

            "Final Root Cause Checked":  "sample string"

          }

]

    ],

    "Root Cause Analysis": 

[

      {

        "Root cause Type (Parent)":  "sample string",

        "Root Cause":

[

          "Tools/Equipment -  "sample string",

        ],

        "Comments":  "sample string"

       }

 ],

    "Action Items": [

      {

        "Source ID":  "sample string",

        "Source Title": "sample string",

        "Action Item Title": "sample string",

        "Action Item Category": "Incident Management",

        "Action Item Type": "Corrective Action",

        "Action Item Description":"sample string",

        "Action Item Priority": "sample string",

        "Action Item Due Date": "2019-11-06T00:00:00.000Z",

        "Owners":

      [

          "sample string"

      ],

        "Responsible Department": "sample string",

        "Applicable to Expansion": "sample string",

        "Description of Actions to be Expanded": "sample string",

        "Applicable to EEM/EPM Info": "sample string",

        "EEM / EPM":"sample string",

        "EEM/EPM Info Submitted": "sample string",

        "Document Number": "sample string",

        "Assigned By":  "sample string",

        "Verification Required":  "sample string",

        "Action Item Status":  "sample string",

        "Action Taken":  "sample string",

        "Action Item Completed By":  "sample string",

        "Completed Date": "2019-10-06T00:00:00.000Z",

        "Due Date Extension": "sample string",

        "Requested Due Date Extension":  "sample string",

        "Reason for Due Date Extension": "sample string",

        "Due Date Extension Request Approved?": "sample string",

        "Reason for not extending the Due Date": "sample string",

        "Verification Status": "sample string",

        "Verification Performed": "sample string",

        "Verified By": "sample string"

        "Verification Date":"sample string"

        "Comments":"sample string",     

      }

    ]

Near Miss Field List

Section

Field Name

Database Column Size

Section

Field Name

Database Column Size

Incident Detail



Incident ID *

NVARCHAR(400)



Internal incident Id

NVARCHAR(200)



Incident Title (No Personal data to be entered) *

NVARCHAR(400)

General Detail



Incident Date *

DATETIME



Time of Incident *

NVARCHAR(100)



Time Undetermined

NVARCHAR(10)



Day of Week *

NVARCHAR(50)



Date Reported to Employer

DATETIME



Time Reported to Employer

NVARCHAR(200)



Reported By

NVARCHAR(200)



Work Shift *

NVARCHAR(200)



Incident Occurred on Employer's Premises *

NVARCHAR(3)



Address of Incident Location *

NVARCHAR(500)



City *

NVARCHAR(50)



County

NVARCHAR(50)



Country * 

NVARCHAR(50)



State *

NVARCHAR(50)



Postal Code

NVARCHAR(50)



Department *

NVARCHAR(100)



Department where the incident/injury occurred

NVARCHAR(100)



Could this have resulted in a life altering injury or fatality? *

NVARCHAR(100)



Describe what occurred to create the Near Miss? *

NVARCHAR(8000)



Was Contractor Involved? *

NVARCHAR(50)



Contractor Name *

NVARCHAR(500)



Contractor Details


NVARCHAR(4000)



Was the Contractor trained on Company Policies? *

NVARCHAR(50)



Was Asset involved?

NVARCHAR(50)



Asset(s)

NVARCHAR(4000)



Nearmiss Incident type *

NVARCHAR(200)



Severity *

NVARCHAR(50)



Hazard Classification *

NVARCHAR(100)



Was a Corrective Action completed at time of reporting incident?

NVARCHAR(3)



Action Item Title

NVARCHAR(500)



Action Taken

NVARCHAR(4000)



Primary Owners

NVARCHAR(100)



Assigned By

NVARCHAR(100)



Completion Date

DATETIME

Potentially Injury illness section  



Nature of Illness/Injury *

NVARCHAR(100)



Cause of Illness/Injury *

NVARCHAR(200)



Injured Body Part

NVARCHAR(100)

Employee / Individual Details  



Was an Employee / Individual involved in the Incident? *

NVARCHAR(50)



Personnel Type *

NVARCHAR(50)



Employee / Individual Involved ( Last, First, M.I.) *

NVARCHAR(200),
NVARCHAR(200),
NVARCHAR(200)



Employee Id *

NVARCHAR(200)



Gender

NVARCHAR(200)



Occupation/Job Title

NVARCHAR(200)



Hire Date

DATETIME



Employee / Individual Department

NVARCHAR(100)



Supervisor ( Last, First, M.I) 

NVARCHAR(200),
NVARCHAR(200),
NVARCHAR(200)



Supervisor's Email 

NVARCHAR(50)



Do you want to further classify Unsupervised Contract Employee

NVARCHAR(10)



Type of Client Personnel

NVARCHAR(20)



Client Company

NVARCHAR(100)



Name of Contractor

NVARCHAR(800)



Name of Sub-Contractor

NVARCHAR(800)

Incident Severity_En

 

Incident Severity (SIF/PSIF)_En

NVARCHAR(500)

 

Actual Severity

NVARCHAR(500)

Process Safety

 

Is this a Process Safety Incident

NVARCHAR(5)

 

Process Safety Incident Classification

NVARCHAR(500)

Witness Information  



Are there any Witness identified?

NVARCHAR(20)



If Yes - Number of Witnesses  

INT



Last Name

NVARCHAR(50)



First Name

NVARCHAR(50)



Middle Name

NVARCHAR(50)



Phone Number

NVARCHAR(100)



Notes

NVARCHAR(2000)

Injury/Illness

Incident Details

Request

GET papi/v1/imsoutbound/injuryincidents?locationCode={locationCode}&dateFrom={dateFrom}&dateTo={dateTo}&lastSyncedDate={lastSyncedDate}

Ex: papi/v1/imsoutbound/injuryincidents?locationCode=westlake&dateFrom=2019-07-01&dateTo=2019-07-30&lastSyncedDate=2019-01-01



URI Parameters

Location Code, DateFrom, DateTo and LastSyncedDate are to be passed as parameters.

DateFrom and DateTo are required when LastSyncedDate is not provided.

When DateFrom, DateTo and LastSyncedDate are provided, data will be returned based on LastSyncedDate only.

Name

        Description

           Type

      Additional information

Name

        Description

           Type

      Additional information

locationCode

        Represents the unique code of location for which Incident records to return.

           string

      Required

dateFrom

        Represents the starting date of Incident records to return.

           date

      Required but value optional

dateTo

        Represents the ending date of Incident records to return.

           date

      Required but value optional

lastSyncedDate

        Represents the data from incident created date or incident modified date.

© 2018 ProcessMAP Corporation, All Rights Reserved Confidential, may not be disclosed without the express permission of ProcessMAP Corporation