I3 Integration Document – Order, Status and Result Web Service
Introduction
This document will outline the full integration points between the integrated partner and i3screen.
Transmission
This section details the mechanism of transferring HR-XML formatted files to and from i3Sreen as part of the ordering process.
HTTPS POST
i3Screen Web Service is SOAP-based and will accept HR-XML documents via HTTPS POST to the following URL:
Production
https://demo.i3screen.net:443/web_services/Service.php
Requests for service should be sent as data in the HTTPS POST (i.e. data = HR-XML request).
Process of placing orders to i3DrugSreen Portal by “i3ScreenDrugTestingIntegration.exe” are explained as follows,
1) Step1: Fetch the Drug Screen & Occupational Health Orders records from salesforce to place the order on i3Screen portal on basis of required Required fields which are as follows,
Ready For E-Registration (Ready_For_E_Registration__c) Should be True
Background Search (Background_Search__c) Should not be blank
BGC Configuration(Account__r.BGC_Configuration__c) Should not be blank
Integration Vendor Name(Partner_Location__r.Integration_Vendor_Name__c) should be “i3screen”,
Ready_For_E_Registration__c should be “TRUE“,
Related_BGC_Order__c should not be null,
Partner Location(Partner_Location__c) should not be null,
Drug Integration Status(Drug_Integration_Status__c) should be 'i3screen Schedule Request',
Account(Account__c) should not be null, Account__r.BGC_Configuration__c should not be null,
Drug Test Schedule Complete(Drug_Test_Schedule_Complete__c) should be false,
Related_BGC_Order__r.Subject_Country__c should not be null,
Related_BGC_Order__r.Subject_Zip_Code__c should not be null
=> Limitations on field length also there, different for different fields.
Package Codes and Package Names are defined as follows,
|
Package Name
|
Package Code
|
|
7 Panel
|
PE7U
|
|
9 Panel
|
PE9U
|
|
10 Panel
|
PE10U
|
|
5 Panel - Instant
|
PE5I
|
|
5 Panel + Nicotine
|
PE5UCOT
|
|
10 panel + MDMA
|
PE10UMDMA
|
|
10 Panel + Alcohol
|
PE10UA
|
|
10 Panel + Nicotine
|
PE10UCOT
|
|
5 Panel Hair
|
PE5H
|
|
Breath Alcohol
|
PEBAT
|
|
12 Panel
|
PE12U
|
|
5 Panel DOT Like
|
PE5UDOTLIKE
|
|
12 Panel Urine
|
PE12U
|
|
5 Panel Oral
|
PE5O
|
|
5 Panel Urine + Alcohol
|
PE5UA
|
|
Dot Panel
|
PEDOTU
|
|
5 Panel
|
PE5U
|
|
Swab
|
PE5PO
|
|
Cotinine
|
PECOTU
|
|
10 + NIC URINE
|
PE10UCOT
|
|
10 PANEL + MDMA URINE
|
PE10UMDMA
|
|
10 PANEL URINE
|
PE10U
|
|
10 PANEL URINE + ALC
|
PE10UA
|
|
12 PANEL URINE
|
PE12U
|
|
5 PANEL DOT LIKE
|
PE5UDOTLIKE
|
|
5 PANEL HAIR
|
PE5H
|
|
5 PANEL INSTANT
|
PE5I
|
|
5 PANEL ORAL
|
PE5O
|
|
5 PANEL URINE
|
PE5U
|
|
5 PANEL URINE + ALC
|
PE5UA
|
|
5 PANEL URINE + NICOTINE
|
PE5UCOT
|
|
7 PANEL URINE
|
PE7U
|
|
9 PANEL URINE
|
PE9U
|
|
DOT PANEL
|
PEDOTU
|
|
NONDOT BREATH ALCOHOL TEST
|
PEBAT
|
Request XML is getting generated by the exe and going to save into SQL DB in table “i3ScreenIntegrationStatusUpdates” .
After that request are placed on i3Screen portal, we are using the DTOC Order id as Reference ID on i3Screen portal and also the response of that placed order
are getting logged into SQL DB in the same table.
After saving the response, EXE is updating that Order record on salesforce.
Fields are getting updated in salesforce DTOC Order detail page after successful placement of order to i3Screen
Drug Test Schedule Complete(Drug_Test_Schedule_Complete__c) Should be True
Drug Test Schedule Date (Drug_Test_Schedule_Date__c) Should be Current Date
Drug Integration Status (Drug Integration_Status__c) Should be 'i3screen Scheduled'
Normal Process :(Replication)
1. Navigate to http://admin1-preemploy.cs71.force.com/main/
2. Login with valid credentials
3. Place an order for a Drug Test
4. Copy the order number
5. Navigate to www.i3screen.net
6. Login with valid credentials
7. Navigate to https://test.salesforce.com/
8. Login with valid credentials
9. Find and open the created Order
10. Open the Drug Screen & Occupational Health Order Record
11. Click the link in the Drug Test Schedule Notes field
Sample Background Request XML (BackgroundCheck)
<?xml version="1.0" encoding="UTF-8"?>
<BackgroundCheck account="534329" password="w789Z2RAp9oS6dgX3ULY"
userId="Preemploy">
<BackgroundSearchPackage>
<Organization>
<OrganizationName>OrganizationName</OrganizationName>
<AdditionalItems qualifier="recruiterId" type="Informational">
<Text>24153</Text>
</AdditionalItems>
</Organization>
<ReferenceId>
<IdValue>DTOCID043812</IdValue>
</ReferenceId>
<PersonalData>
<PersonName>
<GivenName>Anthony</GivenName>
<MiddleName>Edward</MiddleName>
<FamilyName>Dyb</FamilyName>
</PersonName>
<Telephone>
<FormattedNumber />
</Telephone>
<PostalAddress validTo="9999">
<CountryCode>US</CountryCode>
<PostalCode>90717</PostalCode>
<Region>CA</Region>
<Municipality>Lomita</Municipality>
<DeliveryAddress>
<AddressLine>2128 242nd Street</AddressLine>
</DeliveryAddress>
</PostalAddress>
<ContactMethod>
<InternetEmailAddress>dybtony@gmail.com</InternetEmailAddress>
</ContactMethod>
<DemographicDetail>
<GovernmentId countryCode="US"
issuingAuthority="SSN">476063684</GovernmentId>
</DemographicDetail>
</PersonalData>
<Screenings>
<ReferenceId idOwner="PartnerName">
<IdValue name="LocationCode">234193</IdValue>
</ReferenceId>
<Screening qualifier="x:I3Logix" type="drug">
<ReferenceId idOwner="I3Logix">
<IdValue name="doNotMatchResults" />
</ReferenceId>
<SearchDrugs>
<ReasonForTest>Pre-Employment</ReasonForTest>
<TestType packageCode="PE5U" />
<CollectionDate dateDescription="expirationDate">
<AnyDate>4/25/2016 12:00:00 AM</AnyDate>
</CollectionDate>
<OtherApplicantInformation />
</SearchDrugs>
</Screening>
</Screenings>
</BackgroundSearchPackage>
</BackgroundCheck>
HR-XML Background Request Response :
HR-XML Background Results Response Processing by the web service “i3screendrugtest_result_ws.asmx”
Step 1: This is secured web service, so it is necessary to have the credentials in result xml for authentication.
Step 2: After authentication this result xml is getting saved to SQL db in table “i3ScreenIntegrationStatusUpdates” having nt_request_from field's
value as “web Service”.
Step 3: Getting all the values from result xml by querying on it and going to update these values to salesforce verified fields. Values will be saved to
that Order for which the result is received.
After execution of web service, four objects in salesforce get updated which are as follows,
Drug Test Status (Drug_Test_Status__c)
Lab Account Number (Lab_Account_Number__c)
Donor First Name (Donor_First_Name__c)
Donor Last Name (Donor_Last_Name__c)
Background Check Case (Background_Check_Case__c)
Background Search (Background_Search__c)
BGC DTOC Order (BGC_DTOC_Order__c)
Lab Location (Lab_Location__c)
Request Reason for Test (Request_Reason_for_Test__c)
i3drug screen government id number (i3drug_screen_government_id_number__c)
Donor Middle Name (Donor_Middle_Name__c)
i3drug screening other id (i3drug_screening_other_id__c)
i3drug screening status (i3drug_screening_status__c)
Collection Date (Collection_Date__c)
i3drug screen sent date (i3drug_screen_sent_date__c)
Laboratory (Laboratory__c)
Result ID (Result_ID__c)
Date of Birth (Date_of_Birth__c)
Overall Result (Overall_Result__c)
Lab Name (Lab_Name__c)
Collection Site (Collection_Site__c)
Collection Site Phone (Collection_Site_Phone__c)
Result (Result__c)
Drug Tested (Druge_Tested__c)
BGC Drug Test Search Type (BGC_Drug_Test_Search_Type__c)
Notes to Client (Notes_Pre_to_Client__c)
Sample Result as sent to partner from i3screen.
<?xml version="1.0" encoding="UTF-8"?>
<BackgroundReports account="534329">
<ProviderReferenceId idOwner="I3Logix">
<IdValue>2016041913774</IdValue>
</ProviderReferenceId>
<BackgroundReportPackage type="report">
<ClientReferenceId>
<IdValue name="PRE-EMPLOY.COM">DTOCID041840</IdValue>
<IdValue name="LocationCode">234193</IdValue>
<IdValue name="LabAccount">623678</IdValue>
</ClientReferenceId>
<SupportingDocumentation>
<Documentation>
</Documentation>
</SupportingDocumentation>
<Screenings>
<Screening type="drug">
<ScreeningStatus>
<OrderStatus>Completed</OrderStatus>
<AdditionalItems type="Detail" qualifier="AdjudicationResult">
<Text>NEGATIVE</Text>
</AdditionalItems>
</ScreeningStatus>
<DrugAbuseReport>
<OrganizationName>PRE-EMPLOY.COM</OrganizationName>
<OrganizationId idOwner="PRE-EMPLOY.COM">
<IdValue>534329</IdValue>
</OrganizationId>
<ApplicantInformation>
<PersonName type="Subject">
<GivenName>Test_Name</GivenName>
<MiddleName />
<FamilyName>Dyb</FamilyName>
</PersonName>
<DemographicDetail>
<GovernmentId countryCode="US"
issuingAuthority="SSN">999999999</GovernmentId>
<OtherId type="i3screenparticipantid">3918268</OtherId>
</DemographicDetail>
</ApplicantInformation>
<ScreeningVerificationResults>
<ReasonForTest>Pre-Employment</ReasonForTest>
<TestType type="D2UFLLCF15379680001" packageCode="PE5U" />
<SpecimenCollectionDate>
<AnyDate>2016-04-20</AnyDate>
</SpecimenCollectionDate>
<SpecimenReceivedDate>
<AnyDate>notKnown</AnyDate>
</SpecimenReceivedDate>
<Laboratory>LabCorp</Laboratory>
<MedicalReviewOfficer>Test_MedicalReviewOfficer</MedicalReviewOfficer>
<SpecimenIdNumber>
<IdValue>0592211395</IdValue>
</SpecimenIdNumber>
<TestResults result="NEGATIVE" type="D2UFLLCF15379680001">
<Substance>
<SubstanceType>Amphetamines</SubstanceType>
<Results>NEGATIVE</Results>
</Substance>
<Substance>
<SubstanceType>Cocaine</SubstanceType>
<Results>NEGATIVE</Results>
</Substance>
<Substance>
<SubstanceType>Creatinine</SubstanceType>
<Results>IN RANGE</Results>
</Substance>
<Substance>
<SubstanceType>Marijuana</SubstanceType>
<Results>NEGATIVE</Results>
</Substance>
<Substance>
<SubstanceType>Nitrites</SubstanceType>
<Results>NEGATIVE</Results>
</Substance>
<Substance>
<SubstanceType>Opiates</SubstanceType>
<Results>NEGATIVE</Results>
</Substance>
<Substance>
<SubstanceType>PH</SubstanceType>
<Results>IN RANGE</Results>
</Substance>
<Substance>
<SubstanceType>Phencyclidine (PCP)</SubstanceType>
<Results>NEGATIVE</Results>
</Substance>
<Substance>
<SubstanceType>Specific Gravity</SubstanceType>
<Results>IN RANGE</Results>
</Substance>
</TestResults>
<Comments />
<AdditionalItems type="Informational" qualifier="billableTestResult">
<Text>NEGATIVE</Text>
</AdditionalItems>
</ScreeningVerificationResults>
</DrugAbuseReport>
</Screening>
</Screenings>
</BackgroundReportPackage>
</BackgroundReports>
Response from I3Screen to Pre-Employ Mapping
http://preemploy.arcsdev.com/document/i3screen-preemploy_integrationfield_map.xls