Service Provider Integration
This article provides an overview of the process to integrate third party service providers such as transportation and translation services with client copies of SmartSimple that track Independent Medical Assessments(IME) and Rehabilitation services.
For full details, refer to the Service Provider Integration protocol document.
Contents
Overview
The objectives of this integration are twofold:
- Provide the ability for a SmartSimple client to electronically request services from a third party provider.
- Provide the ability for a third party provider to post invoice details related to the services requested back to the SmartSimple client.
Two service types are currently fully defined and supported: Interpretation/Translation and Transportation. Additional service types will be supported in the future.
The general transfer process is illustrated below:
- From SmartSimple, information related to the service request is transferred to the service provider's website using a HTTPS post method
- Information from the service provider's system is posted back to SmartSimple using a HTTPS post method
Transferring Information from SmartSimple to Service Provider
The information to be transferred from SmartSimple is gathered from a number of linked objects associated to the service.
As illustrated below, information is gathered from the Payor, Client's contact record, Case (Level 1), and the specific assessment or treatment service (Level 2).
- The configuration work required to post information to the service provider is performed by SmartSimple or its business partners.
For a complete list of fields transferred from SmartSimple, please refer to Service Provider Integration Fields page.
Transferring Information from Service Provider to SmartSimple
When invoice information is received from the Service Provider, a new record is created under each service called a service billing record (Level 3).
This service billing record contains the details and costs of the services provided.
- The configuration work required to post information to SmartSimple is performed by the service provider.
For a complete list of fields transferred by the Service Provider, please refer to Service Provider Integration Fields page.
Transfer Process
For security and auditing purposes, information is not directly passed from the Service Provider system to SmartSimple's client interface. Instead the returned service billing information is managed by SmartSimple's Integration Gateway.
The gateway performs the following:
- Manages all incoming service billing information
- Each SmartSimple client polls the Integration Gateway and extracts Service Billing records using proprietary protocols
- All fields are submitted by http POST parameters
- Service URL is https://integration.smartsimple.biz/billingpost/
Sample POST from SmartSimple
The following code is a sample of what SmartSimple will be using within a Web Page View on each client copy to post the details to the service provider.
Note that the naming of the HTML control IDs are the field names specified in the Service Provider Integration Fields page.
<html> <head> <title>Transportation Request</title> </head> <body> <form method="POST" action="/ex/ex_post.jsp"> <input type=hidden name="post_url" value="@system.providerurl@"> <input type=hidden name="update_fieldid" value="2704332"> <input type=hidden name="ss_CaseID" value="@parent.opportunityid@"> <input type=hidden name="ss_ServiceID" value="@eventid@"> <input type=hidden name="ss_CustomerID" value="ID goes here"> <input type=hidden name="ss_Source" value="10"> <input type=hidden name="newlevelthree" value="1"> <input type=hidden name="subject" value="providername"> <input type=hidden name="description" value=""> <input type=hidden name="statusid" value="31064"> <input type=hidden name="eventtype" value="46852"> <input type=hidden name="appid" value="103115"> <input type=hidden name="referencefield" value="2704345"> <div style="border:1px solid #1b409b; max-width:700px; min-width:550px;"> <table> <th colspan="4" align="left" class="titleText001">Insurance company claim referred By:</th> </tr> <tr> <th align="left">Referral Contact First Name </th> <td><textarea name=ss_ReferralFirstName readonly>@parent.Referral Contact First Name@</textarea></td> <th align="left">Referral Contact Last Name </th> <td><textarea name=ss_ReferralLastName readonly>@parent.Referral Contact Last Name@</textarea></td> </tr> <tr> <th align="left"> Address </th> <td><textarea name=ss_ReferralAddress readonly>@parent.client.address@</textarea></td> <th align="left"> City </th> <td><textarea name=ss_ReferralCity readonly>@parent.client.city@</textarea></td> </tr> <tr> <th align="left"> Province </th> <td><textarea name=ss_ReferralProvince/State readonly>@parent.client.province@</textarea></td> <th align="left"> Postal Code </th> <td><textarea name=ss_ReferralPostalCode readonly>@parent.client.postalcode@</textarea></td> </tr> <tr> <th align="left"> Country </th> <td><textarea name=ss_ReferralCountry readonly>Canada</textarea></td> </tr> <tr> <th align="left"> Phone </th> <td><textarea name=ss_ReferralPhoneNumber readonly>@parent.Referral Contact Phone@</textarea></td> <th align="left"> Fax </th> <td><textarea name=ss_ReferralFaxNumber readonly>@parent.client.fax@</textarea></td> </tr> <tr> <th align="left">Email </th> <td><textarea name=ss_ReferralEmail readonly><!--hideifnotfound-->@parent.Referral Contact Email@</textarea></td> <th align="left"> Company </th> <td><textarea name=ss_ReferralCompany readonly>@parent.client.name@</textarea></td> </tr> <th colspan="4" align="left" class="titleText001"><br /><br />Pickup Details </th> </tr> <tr> <th align="left"> Pickup Time</th> <td><textarea name=ss_PickupTime readonly>@apppictime@</textarea></td> <th align="left"> Pickup Address</th> <!--@sslogic('@picsamehome@'='No')--> <td><textarea name=ss_PickupAddress readonly>@picaddress@</textarea></td> <!--@end--> </tr> <tr> <th align="left"> Pickup City</th> <!--@sslogic('@picsamehome@'='No')--> <td><textarea name=ss_PickupCity readonly>@piccity@</textarea></td> <!--@end--> <th align="left"> Pickup Postal Code</th> <!--@sslogic('@picsamehome@'='No')--> <td><textarea name=ss_PickupPostalCode readonly>@piczip@</textarea></td> <!--@end--> </tr> <tr> <th align="left"> Pickup Apt. /Suite</th> <td><textarea name=ss_PickupApt readonly><!--hideifnotfound-->@Pickup-Apt@</textarea></td> <th align="left"> Pickup Buzzer Code</th> <td><textarea name=ss_PickupBuzzer readonly><!--hideifnotfound-->@Pickup-Buzzer@</textarea></td> </tr> <tr> <th align="left"> Pickup Province/State</th> <!--@sslogic('@picsamehome@'='No')--> <td><textarea name=ss_PickupProvince readonly>@picprovince@</textarea></td> <!--@end--> <th align="left"> Pickup Phone</th> <!--@sslogic('@picsamehome@'='No')--> <td><textarea name=ss_PickupPhone readonly><!--hideifnotfound-->@Pickup-Phone@</textarea></td> <!--@end--> </tr> <tr> <th align="left"> Does Claimant Require a Wheelchair Accessible Vehicle?</th> <td><input type='hidden' name='ss_WheelchairVehicle' value='@intwheel.combovalue@'> <textarea readonly>@intwheel@</textarea></td> <th align="left"> Does Claimant Require Special Needs (e.g. Assistance)?</th> <td><input type='hidden' name='ss_SpecialNeeds' value='@intassistance.combovalue@'> <textarea readonly>@intassistance@</textarea></td> </tr> <th colspan="4" align="left" class="titleText001"><br /><br />Claimant Information </th> </tr> <tr> <th align="left"> Claimant First Name </th> <td><textarea name=ss_ClaimantFirstName readonly>@parent.Claimant First Name@</textarea></td> <th align="left"> Claimant Last Name </th> <td><textarea name=ss_ClaimantLastName readonly>@parent.Claimant Last Name@</textarea></td> </tr> <tr> <th align="left"> Address </th> <td><textarea name=ss_ClaimantAddress readonly><!--hideifnotfound-->@parent.Claimant Address@</textarea></td> <th align="left"> City </th> <td><textarea name=ss_ClaimantCity readonly><!--hideifnotfound-->@parent.Claimant City@</textarea></td> </tr> <tr> <th align="left"> Apt. /Suite </th> <td><textarea name=ss_ClaimantApt readonly><!--hideifnotfound-->@parent.Claimant Apt@</textarea></td> <th align="left"> Buzzer Code</th> <td><textarea name=ss_ClaimantBuzzer readonly><!--hideifnotfound-->@parent.Claimant Buzzer@</textarea></td> </tr> <tr> <th align="left"> Province </th> <td><textarea name=ss_ClaimantProvince readonly><!--hideifnotfound-->@parent.Claimant Province@</textarea></td> <th align="left"> Postal Code </th> <td><textarea name=ss_ClaimantPostalCode readonly><!--hideifnotfound-->@parent.Claimant Postal Code@</textarea></td> </tr> <tr> <th align="left"> Country </th> <td><textarea name=ss_ClaimantCountry readonly><!--hideifnotfound-->Canada</textarea></td> <th align="left"> P.O Box </th> <td><textarea name=ss_ClaimantPOBox readonly><!--hideifnotfound-->@parent.Claimant P.O Box@</textarea></td> </tr> <tr> <th align="left">Phone </th> <td><textarea name=ss_ClaimantPhone readonly><!--hideifnotfound-->@parent.Claimant Phone #@</textarea></td> <th align="left">Fax Number </th> <td><textarea name=ss_ClaimantFax readonly><!--hideifnotfound-->@parent.Claimant Fax #@</textarea></td> </tr> <tr> <th align="left">Policy #</th> <td><textarea name=ss_ClaimantPolicyNumber readonly>@parent.Policy #@</textarea></td> <th align="left"> Claim #</th> <td><textarea name=ss_ClaimFile readonly>@parent.Claim #@</textarea></td> </tr> <tr> <th align="left"> Date of Loss </th> <td><textarea name=ss_DateofLoss readonly>@parent.Date of Loss@</textarea></td> </tr> </table> </div> </form> </body> </html>