IMS REST API
- 1 Background and strategic fit
- 2 Assumptions
- 3 User Interaction
- 3.1 Near Miss
- 3.1.1 Incident Details
- 3.1.1.1 Request
- 3.1.1.2 Response
- 3.1.1.3 Near Miss Field List
- 3.1.1 Incident Details
- 3.2 Injury/Illness
- 3.3 Environmental
- 3.3.1 Incident Details
- 3.4 Errors/Validation Messages
- 3.5 Vehicle :
- 3.5.1 Incident Details
- 3.6 Errors/Validation Messages
- 3.7 PropertyDamage
- 3.7.1 Incident Details
- 3.7.1.1 Request
- 3.7.1.2 Sample response:
- 3.7.2 Property Damage Claim Field List
- 3.7.3 Investigation Sections Field List
- 3.7.4 Action Item Field List
- 3.7.5 Management Review
- 3.7.1 Incident Details
- 3.8 GeneralLiability
- 3.8.1 Incident Details
- 3.8.1.1 Request
- 3.8.2 General Liability Claim Field List
- 3.8.3 Investigation Sections Field List
- 3.8.4 Action Item Field List
- 3.8.5 Management Review
- 3.8.1 Incident Details
- 3.9 Errors/Validation Messages
- 3.10 Questions
- 3.1 Near Miss
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 ]
Environment | Auth URL |
---|---|
UAT | https://integrationsvc.uat.pmapconnect.com/product/papi/v1/auth |
Production |
Please note that the above Auth Token expires after every 120 minutes.
BASE URL FOR RESPECTIVE API CALLS :
Environment | Base URL |
---|---|
UAT | |
Production |
Near Miss
Incident Details
Request
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 |
---|---|---|---|
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 |
---|---|---|
Authorization | Represents the value of the authentication token. | Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ... |
ConsumerId | Represents the value of the consumer id. | 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 |
---|---|---|
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 |
| |
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), | |
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), | |
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 |
---|---|---|---|
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