Difference between revisions of "Service Provider Integration"

From SmartWiki
Jump to: navigation, search
Line 67: Line 67:
 
==Sample POST from SmartSimple==
 
==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.
 
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.
 +
  
  

Revision as of 07:57, 30 March 2012

This article provides an overview of the process to integrate third party service providers such as transportation and translation services with instances of SmartSimple used by clients tracking Independent Medical Assessments(IME) and Rehabilitation services.

For full details, refer to the Service Provider Integration protocol document.

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:

1 Transfer Process.PNG

  • 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).

2 SmartSimple Objects.PNG

  • 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.

3 Service Provider Objects.PNG

  • 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.

4 Integration Gateway.PNG

The gateway performs the following:

  • Manages all incoming service billing information
  • Each SmartSimple client instance 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>
</head>
<body bgcolor="#FFFFFF" link=blue vlink=purple class="Normal" lang=EN-US topmargin="25" bottommargin="25" leftmargin="30" rightmargin="30">

//HTTP Post details
<form method="POST" action="/ex/ex_post.jsp">
<input type=hidden name="post_url" value="@system. url@">
<input type=hidden name="codedid" value="@codedid@">
<input type=hidden name="update_fieldid" value="99999">
<BR>
   <table>
<tr><th>Service</th><th><select name=ss_service><option value=2>Transportation</option></select></th>
</tr>
<tr>

//Referral Information
<th colspan="6" align="left" class="titleText001">Claim Referred By:</th>  </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"> Phone </th><td><textarea name=ss_ReferralPHoneNumber readonly>@parent.client.phone@</textarea></td>
<th align="left"> Company </th><td><textarea name=ss_ReferralCompany readonly>@parent.company.name@</textarea></td></tr>

//File Information
<th colspan="6" align="left" class="titleText001">File  Information    </th></tr>
<tr> <th align="left">File Number (Referral)</th><td><textarea name=ss_ReferralFileNumber readonly>@parent.File Number@</textarea></td>
  <th align="left"> Type of File</th><td><textarea name=ss_ClaimFile readonly>@filetype.combovalue@</textarea></td></tr>

//Appointment Details
  <th align="left">Location</th><td><textarea name=ss_AppointmentLocation readonly>@Location@</textarea></td>
<th align="left"> Date & Time </th><td><textarea name=ss_DateandTime readonly>@fullstartdate@</textarea></td></tr>
<th align="left"> Assessment Type</th><th><textarea name=ss_TypeofAssessment readonly>@type@</textarea></th></tr>

//Claimant Information
<th colspan="6" align="left" class="titleText001">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>@parent.Claimant Address@</textarea></td>
  <th align="left"> City </th><td><textarea name=ss_ClaimantCity readonly>@parent.Claimant City@</textarea></td></tr>
<tr><th align="left"> Province </th><td><textarea name=ss_ClaimantProvince/State readonly>@parent.Claimant Province@</textarea></td><th> </th>
</tr><tr>  <th align="left"> Postal Code </th><td><textarea name=ss_ClaimantPostalCode readonly>@parent.Claimant Postal Code@</textarea></td>
<tr>  <th align="left">Phone </th><td><textarea name=ss_ClaimantPhone readonly>@parent.Claimant Phone #@</textarea></td></tr>

//Appointment Details
<tr>    <th colspan="6" align="left" class="titleText001">Appointment Details    </th></tr>
  <th align="left"> Appointment location same as home address</th><th><textarea name=ss_picsamehome readonly>@picsamehome.combovalue@</textarea></th></tr>
  <tr>  <th align="left"> Appointment Date and Time</th><td><textarea name=ss_DateandTime readonly>@fullstartdate@</textarea></td>
<th align="left"> Pickup Time</th><td><textarea name=ss_PickupTime readonly>@apppictime@</textarea></td></tr>
<tr>  <th align="left"> Return Time</th><td><textarea name=ss_apprettime readonly>@appdate@</textarea></td>
<th align="left"> Duration</th><td><textarea name=ss_Duration readonly>@Assessment Duration@</textarea></td></tr>
<!--@sslogic('@picsamehome@'!='Yes')-->
<tr>  <th align="left"> Address</th><td><textarea name=ss_AppointmentLocation readonly>@Location@</textarea></td>
  </tr>
<!--@end-->

//Billing Details
<tr>  <th colspan="6" align="left" class="titleText001">Billing Details</th>
</tr><tr>  <th align="left"> Billing same as referral</th>
  <td><textarea name=ss_Billingsameasreferral readonly>@billsamereferral.combovalue@</textarea></td>
</tr>
<!--@sslogic('@billsamereferral@'='No')-->
<tr>  <th align="left"> First Name (Billing)</th><td><textarea name=ss_BillingFirstName readonly>@bilfirstname@</textarea></td>
<th align="left"> Last Name (Billing)</th><td><textarea name=ss_BillingLastName readonly>@bilastname@</textarea></td></tr>
<tr>  <th align="left"> Company (Billing)</th><td><textarea name=ss_BillingCompany readonly>@bilcompany@</textarea></td>
<th align="left"> Address (Billing)</th><td><textarea name=ss_BillingAddress readonly>@biladdress@</textarea></td></tr>
<tr>  <th align="left"> City (Billing)</th><td><textarea name=ss_BillingCity readonly>@bilcity@</textarea></td>
<th align="left"> Province Code/Zip (Billing)</th><td><textarea name=ss_BillingProvince/State readonly>@bilprovince@</textarea></td></tr>
<tr>    <th align="left"> Postal Code/Zip (Billing)</th><td><textarea name=ss_BillingPostalCode readonly>@bilzip@</textarea></td>
<!--@end-->

//Appointment Confirmation
<tr>  <th colspan="6" align="left" class="titleText001">Appointment Confirmation</th>
</tr><th align="left"> Fax confirmation of appointment</th><th><textarea name=ss_Faxconfirmationofappointment readonly>@faxconf.combovalue@</textarea></th><th> </th>
 <th align="left"> Phone Confirmation</th><th><textarea name=ss_Phoneconfirmationofappointment readonly>@phoneconf.combovalue@</textarea></th></tr>
<tr>  <th align="left"> Email confirmation of web referral</th><td><textarea name=ss_Emailconfirmationofappointment readonly>@emailconf.combovalue@</textarea></td></tr>
</table>
</div>
</form>
 </body>
</html>


See Also