Difference between revisions of "Service Provider Integration"

From SmartWiki
Jump to: navigation, search
(updating categories)
 
(33 intermediate revisions by one other user not shown)
Line 1: Line 1:
 +
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.
 +
 
==Overview==
 
==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:
 +
 +
[[File:1_Transfer_Process.PNG]]
 +
 +
*From SmartSimple, information related to the service request is transferred to the service provider's website using a [[Post to External Server|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===
 
===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''''').
 +
 +
[[File: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===
 
===Transferring Information from Service Provider to SmartSimple===
==Field List transferred to Service Provider System==
 
As part of our Integration services, we currently support <u>two types of transaction records</u>.
 
*Interpretation records - Identified by <b>TypeofService</b> field - set to 1.
 
*Transportation records - Identified by <b>TypeofService</b> field - set to 2.
 
  
 +
----
 +
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.
  
Referring to the list below, note that both Interpretation and Transportation records have common fields until <b>Field #55</b>.
+
[[File:3_Service_Provider_Objects.PNG]]
 +
*The configuration work required to post information to SmartSimple is performed by the service provider.
  
  
===Interpretation Fields===
+
'''For a complete list of fields transferred by the Service Provider, please refer to [[Service Provider Integration Fields]] page.'''
{| border="1" cellpadding="4"
 
|-
 
! style="color: black; background-color: #62BC43;"|Identifiers !! style="color: black; background-color: #62BC43;"|Field Name !! style="color: black; background-color: #62BC43;"|Description !! style="color: black; background-color: #62BC43;"|Field Type !! style="color: black; background-color: #62BC43;"|Acceptable Values
 
|-
 
| 1 || CaseID || Unique Identifier for Case || Numberic ||
 
|-
 
| 2 || ServiceID || Unique Identifier for Service || Numberic ||
 
|-
 
| 3 || CustomerID || Unique Identifier for SmartSimple Customer || Alpha ||
 
|-
 
| 4 || Source || Source Type || Numberic || 10=IME , 20=Insurer
 
|-
 
| 5 || TypeofService || Type of Service || Numeric || <b>1</b>
 
|-
 
| 6 || ProtocolPassword || Protocol Password || ||
 
|-
 
! style="color: black; background-color: #62BC43;"|Referral !! style="color: black; background-color: #62BC43;"|Field Name !! style="color: black; background-color: #62BC43;"|Description !! style="color: black; background-color: #62BC43;"|Field Type !! style="color: black; background-color: #62BC43;"|Acceptable Values
 
|-
 
|7||ReferralFirstName||Referral First Name||Alpha||
 
|-
 
|8||ReferralLastName||Referral Last Name||Alpha||
 
|-
 
|9||ReferralAddress||Referral Address||Alpha||
 
|-
 
|10||ReferralCity||Referral City||Alpha||
 
|-
 
|11||ReferralProvince/State||Referral Province/State||Alpha||
 
|-
 
|12||ReferralPostalCode||Referral PostalCode||Alpha||
 
|-
 
|13||ReferralCountry||Referral Country||Alpha||
 
|-
 
|14||ReferralFileNumber||Referral FileNumber||Alpha||
 
|-
 
|15||ReferralPhoneNumber||Referral Phone Number||Alpha||
 
|-
 
|16||ReferralFaxNumber||Referral Fax Number||Alpha||
 
|-
 
|17||ReferralEmail||Referral Email||Alpha||
 
|-
 
|18||ReferralCompany||Referral Company||Alpha||
 
|-
 
! style="color: black; background-color: #62BC43;"|Claimant !! style="color: black; background-color: #62BC43;"|Field Name !! style="color: black; background-color: #62BC43;"|Description !! style="color: black; background-color: #62BC43;"|Field Type !! style="color: black; background-color: #62BC43;"|Acceptable Values
 
|-
 
|19||ClaimantFirstName||Claimant First Name||Alpha||
 
|-
 
|20||ClaimantLastName||Claimant Last Name||Alpha||
 
|-
 
|21||ClaimantApt/Suite||Claimant Apt/Suite||Alpha||
 
|-
 
|22||ClaimantBuzzer||Claimant Buzzer||Alpha||
 
|-
 
|23||ClaimantAddress||Claimant Address||Alpha||
 
|-
 
|24||ClaimantCity||Claimant City||Alpha||
 
|-
 
|25||ClaimantProvince/State||Claimant Province/State||Alpha||
 
|-
 
|26||ClaimantPostalCode||Claimant PostalCode||Alpha||
 
|-
 
|27||ClaimantCountry||Claimant Country||Alpha||
 
|-
 
|28||ClaimantPhone||Claimant Phone||Alpha||
 
|-
 
|29||ClaimantFax||Claimant Fax||Alpha||
 
|-
 
|30||ClaimFile||Claim File||Alpha||
 
|-
 
|31||DateofLoss||Dateof Loss||Date/Time||YYYY-MM-DD
 
|-
 
|32||ClaimantPolicyNumber||Claimant Policy Number||Alpha||
 
|-
 
|33||ClaimantP.O.Box||Claimant P.O. Box||Alpha||
 
|-
 
|33||Billingsameasreferral||Billing same as referral||Numeric||1=Yes;2=No
 
|-
 
! style="color: black; background-color: #62BC43;"|Billing !! style="color: black; background-color: #62BC43;"|Field Name !! style="color: black; background-color: #62BC43;"|Description !! style="color: black; background-color: #62BC43;"|Field Type !! style="color: black; background-color: #62BC43;"|Acceptable Values
 
|-
 
|34||BillingFirstName||Billing First Name||Alpha||
 
|-
 
|35||BillingLastName||Billing Last Name||Alpha||
 
|-
 
|36||BillingCompany||Billing Company||Alpha||
 
|-
 
|37||BillingAddress||Billing Address||Alpha||
 
|-
 
|38||BillingCity||Billing City||Alpha||
 
|-
 
|39||BillingProvince/State||Billing Province/State||Alpha||
 
|-
 
|40||BillingPostalCode||Billing Postal Code||Alpha||
 
|-
 
|41||BillingPhone||Billing Phone||Alpha||
 
|-
 
|42||BillingFax||Billing Fax||Alpha||
 
|-
 
|43||BillingEmail||Billing Email||Alpha||
 
|-
 
|44||BillingP.O.Box||Billing P.O. Box||Alpha||
 
|-
 
! style="color: black; background-color: #62BC43;"|Appointment Details !! style="color: black; background-color: #62BC43;"|Field Name !! style="color: black; background-color: #62BC43;"|Description !! style="color: black; background-color: #62BC43;"|Field Type !! style="color: black; background-color: #62BC43;"|Acceptable Values
 
|-
 
|45||Faxconfirmationofappointment||Fax confirmation of appointment||Numeric||1=Yes;2=No
 
|-
 
|46||Emailconfirmationofappointment||Email confirmation of appointment||Numeric||1=Yes;2=No
 
|-
 
|47||Phoneconfirmationofappointment||Phone confirmation of appointment||Numeric||1=Yes;2=No
 
|-
 
|48||Notes||Notes||Alpha||
 
|-
 
|49||ArrangeAppointmentwithclaimant||Arrange Appointment with claimant/patient||Numeric||1=Yes;2=No
 
|-
 
|50||ConfirmAppointmentwithclaimant||Confirm Appointment with claimant/patient||Numeric||1=Yes;2=No
 
|-
 
|51||DateandTime||Date and Time of appointment||Date/Time||YYYY-MM-DDHH:MM:SS
 
|-
 
|52||Duration||Duration||Date/Time||hh:mm
 
|-
 
|53||AppointmentLocation||Location||Alpha||
 
|-
 
|54||TypeofAssessment||Type of Assessment||Alpha||
 
|-
 
|55||Language||Language||Alpha||
 
|-
 
|56||GenderofInterpreter||Gender of Interpreter||Numeric||1=Male;2=Female;3=NoPreferences
 
|}
 
  
 +
 +
 +
===Transfer Process===
  
 
----
 
----
  
===Transportation Fields===
+
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 [[HCAI Overview|Integration Gateway]].
{| border="1" cellpadding="4"
+
 
|-
+
[[File:4_Integration_Gateway.PNG]]
! style="color: black; background-color: #62BC43;"|Identifiers !! style="color: black; background-color: #62BC43;"|Field Name !! style="color: black; background-color: #62BC43;"|Description !! style="color: black; background-color: #62BC43;"|Field Type !! style="color: black; background-color: #62BC43;"|Acceptable Values
+
 
|-
+
The gateway performs the following:
| 1 || CaseID || Unique Identifier for Case || Numberic ||
+
*Manages all incoming service billing information
|-
+
*Each SmartSimple client polls the Integration Gateway and extracts Service Billing records using proprietary protocols
| 2 || ServiceID || Unique Identifier for Service || Numberic ||
+
*All fields are submitted by http POST parameters
|-
+
*Service URL is https://integration.smartsimple.biz/billingpost/
| 3 || CustomerID || Unique Identifier for SmartSimple Customer || Alpha ||
+
 
|-
+
 
| 4 || Source || Source Type || Numberic || 10=IME , 20=Insurer
+
 
|-
+
==Sample POST from SmartSimple==
| 5 || TypeofService || Type of Service || Numeric || <b>2</b>
+
The following portion of code is a sample of what SmartSimple will be using within a [[Web Page View]] on each client copy to post field data to the service provider.
|-
+
 
| 6 || ProtocolPassword || Protocol Password || ||
+
Note that the naming of the HTML control IDs are the field names specified in the [[Service Provider Integration Fields]] page.
|-
+
 
! style="color: black; background-color: #62BC43;"|Referral !! style="color: black; background-color: #62BC43;"|Field Name !! style="color: black; background-color: #62BC43;"|Description !! style="color: black; background-color: #62BC43;"|Field Type !! style="color: black; background-color: #62BC43;"|Acceptable Values
+
The sample page below is sending the following categories of fields:
|-
+
*Insurance Company + Referral Contact
|7||ReferralFirstName||Referral First Name||Alpha||
+
*Pickup Details
|-
+
*Claimant Information
|8||ReferralLastName||Referral Last Name||Alpha||
+
 
|-
 
|9||ReferralAddress||Referral Address||Alpha||
 
|-
 
|10||ReferralCity||Referral City||Alpha||
 
|-
 
|11||ReferralProvince/State||Referral Province/State||Alpha||
 
|-
 
|12||ReferralPostalCode||Referral PostalCode||Alpha||
 
|-
 
|13||ReferralCountry||Referral Country||Alpha||
 
|-
 
|14||ReferralFileNumber||Referral FileNumber||Alpha||
 
|-
 
|15||ReferralPhoneNumber||Referral Phone Number||Alpha||
 
|-
 
|16||ReferralFaxNumber||Referral Fax Number||Alpha||
 
|-
 
|17||ReferralEmail||Referral Email||Alpha||
 
|-
 
|18||ReferralCompany||Referral Company||Alpha||
 
|-
 
! style="color: black; background-color: #62BC43;"|Claimant !! style="color: black; background-color: #62BC43;"|Field Name !! style="color: black; background-color: #62BC43;"|Description !! style="color: black; background-color: #62BC43;"|Field Type !! style="color: black; background-color: #62BC43;"|Acceptable Values
 
|-
 
|19||ClaimantFirstName||Claimant First Name||Alpha||
 
|-
 
|20||ClaimantLastName||Claimant Last Name||Alpha||
 
|-
 
|21||ClaimantApt/Suite||Claimant Apt/Suite||Alpha||
 
|-
 
|22||ClaimantBuzzer||Claimant Buzzer||Alpha||
 
|-
 
|23||ClaimantAddress||Claimant Address||Alpha||
 
|-
 
|24||ClaimantCity||Claimant City||Alpha||
 
|-
 
|25||ClaimantProvince/State||Claimant Province/State||Alpha||
 
|-
 
|26||ClaimantPostalCode||Claimant PostalCode||Alpha||
 
|-
 
|27||ClaimantCountry||Claimant Country||Alpha||
 
|-
 
|28||ClaimantPhone||Claimant Phone||Alpha||
 
|-
 
|29||ClaimantFax||Claimant Fax||Alpha||
 
|-
 
|30||ClaimFile||Claim File||Alpha||
 
|-
 
|31||DateofLoss||Dateof Loss||Date/Time||YYYY-MM-DD
 
|-
 
|32||ClaimantPolicyNumber||Claimant Policy Number||Alpha||
 
|-
 
|33||ClaimantP.O.Box||Claimant P.O. Box||Alpha||
 
|-
 
|33||Billingsameasreferral||Billing same as referral||Numeric||1=Yes;2=No
 
|-
 
! style="color: black; background-color: #62BC43;"|Billing !! style="color: black; background-color: #62BC43;"|Field Name !! style="color: black; background-color: #62BC43;"|Description !! style="color: black; background-color: #62BC43;"|Field Type !! style="color: black; background-color: #62BC43;"|Acceptable Values
 
|-
 
|34||BillingFirstName||Billing First Name||Alpha||
 
|-
 
|35||BillingLastName||Billing Last Name||Alpha||
 
|-
 
|36||BillingCompany||Billing Company||Alpha||
 
|-
 
|37||BillingAddress||Billing Address||Alpha||
 
|-
 
|38||BillingCity||Billing City||Alpha||
 
|-
 
|39||BillingProvince/State||Billing Province/State||Alpha||
 
|-
 
|40||BillingPostalCode||Billing Postal Code||Alpha||
 
|-
 
|41||BillingPhone||Billing Phone||Alpha||
 
|-
 
|42||BillingFax||Billing Fax||Alpha||
 
|-
 
|43||BillingEmail||Billing Email||Alpha||
 
|-
 
|44||BillingP.O.Box||Billing P.O. Box||Alpha||
 
|-
 
! style="color: black; background-color: #62BC43;"|Appointment Details !! style="color: black; background-color: #62BC43;"|Field Name !! style="color: black; background-color: #62BC43;"|Description !! style="color: black; background-color: #62BC43;"|Field Type !! style="color: black; background-color: #62BC43;"|Acceptable Values
 
|-
 
|45||Faxconfirmationofappointment||Fax confirmation of appointment||Numeric||1=Yes;2=No
 
|-
 
|46||Emailconfirmationofappointment||Email confirmation of appointment||Numeric||1=Yes;2=No
 
|-
 
|47||Phoneconfirmationofappointment||Phone confirmation of appointment||Numeric||1=Yes;2=No
 
|-
 
|48||Notes||Notes||Alpha||
 
|-
 
|49||ArrangeAppointmentwithclaimant||Arrange Appointment with claimant/patient||Numeric||1=Yes;2=No
 
|-
 
|50||ConfirmAppointmentwithclaimant||Confirm Appointment with claimant/patient||Numeric||1=Yes;2=No
 
|-
 
|51||DateandTime||Date and Time of appointment||Date/Time||YYYY-MM-DDHH:MM:SS
 
|-
 
|52||Duration||Duration||Date/Time||hh:mm
 
|-
 
|53||AppointmentLocation||Location||Alpha||
 
|-
 
|54||TypeofAssessment||Type of Assessment||Alpha||
 
|-
 
! style="color: black; background-color: #62BC43;"|Pickup Details !! style="color: black; background-color: #62BC43;"|Field Name !! style="color: black; background-color: #62BC43;"|Description !! style="color: black; background-color: #62BC43;"|Field Type !! style="color: black; background-color: #62BC43;"|Acceptable Values
 
|-
 
|55||PickupTime||Pickup Time||Date/Time||YYYY-MM-DDHH:MM:SS
 
|-
 
|56||PickupAddress||Pickup Address||Alpha||
 
|-
 
|57||PickupCity||Pickup City||Alpha||
 
|-
 
|58||PickupPostalCode||Postal Code||Alpha||
 
|-
 
|59||PickupApt/Suite||Pickup Apt/Suite||Alpha||
 
|-
 
|60||PickupBuzzer||Pickup Buzzer||Alpha||
 
|-
 
|61||PickupProvince/State||Pickup Province/State||Alpha||
 
|-
 
|62||PickupPhone||Pickup Phone||Alpha||
 
|-
 
|63||WheelchairVehicle||Does claimant require a wheelchair accessible vehicle?||Numeric|| 1=Yes;2=No
 
|-
 
|64||SpecialNeeds||Does claimant require special needs (e.g. Assistance)?||Numeric||1=Yes;2=No
 
|}
 
==Field List transferred to SmartSimple==
 
  
==Sample Code==
 
 
<pre>
 
<pre>
test
+
<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="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">
 +
  <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>@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>
 +
        <td><textarea name=ss_PickupAddress readonly>@picaddress@</textarea></td>
 +
      </tr>
 +
      <tr>
 +
        <th align="left"> Pickup City</th>
 +
        <td><textarea name=ss_PickupCity readonly>@piccity@</textarea></td>
 +
        <th align="left"> Pickup Postal Code</th>
 +
        <td><textarea name=ss_PickupPostalCode readonly>@piczip@</textarea></td>
 +
      </tr>
 +
      <tr>
 +
        <th align="left"> Pickup Province/State</th>
 +
        <td><textarea name=ss_PickupProvince readonly>@picprovince@</textarea></td>
 +
        <th align="left"> Pickup Phone</th>
 +
        <td><textarea name=ss_PickupPhone readonly>@Pickup-Phone@</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>@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 readonly>@parent.Claimant Province@</textarea></td>
 +
        <th align="left"> Postal Code </th>
 +
        <td><textarea name=ss_ClaimantPostalCode readonly>@parent.Claimant Postal Code@</textarea></td>
 +
      </tr>
 +
      <tr>
 +
        <th align="left"> Country </th>
 +
        <td><textarea name=ss_ClaimantCountry readonly>Canada</textarea></td>
 +
            <th align="left">Phone </th>
 +
        <td><textarea name=ss_ClaimantPhone readonly>@parent.Claimant Phone #@</textarea></td>
 +
      <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>
 +
 
 +
</pre>
 +
==Sample POST to SmartSimple==
 +
The following code is a sample html post page that Service Providers can use to POST data back to SmartSimple’s Integration Server.
 +
 
 +
Each form element will need to be populated with information related to the performed service from the Service Provider’s data source.
 +
 
 +
<pre><HTML>
 +
<HEAD>
 +
<TITLE>Integration Provider Sample Submission</TITLE>
 +
</HEAD>
 +
<BODY>
 +
<form action="http://hcai.smartsimple.biz/ex/provider/billing.jsp" method="POST" target="_blank">
 +
  <table border=1 cellspaing=0 cellpadding=1>
 +
    <tr>
 +
      <td width=400px>Provider Key</td>
 +
      <td><textarea rows=1 cols=25 name=providerkey>xxx key goes here xxx</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Test Submission Flag</td>
 +
      <td><textarea rows=1 cols=25 name=isprod>0</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Case ID</td>
 +
      <td><textarea rows=1 cols=25 name=caseid>123456</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Service ID</td>
 +
      <td><textarea rows=1 cols=25 name=serviceid>88888</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Type of Service </td>
 +
      <td><textarea rows=1 cols=25 name=typeofservice>typeofservice</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Client Alias </td>
 +
      <td><textarea rows=1 cols=25 name=client>client</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Client Type</td>
 +
      <td><textarea rows=1 cols=25 name=source>10</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>GAP Code </td>
 +
      <td><textarea rows=1 cols=25 name=gapcode>gapcode</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Rate for service</td>
 +
      <td><textarea rows=1 cols=25 name=rate>10.00</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Unit Measure </td>
 +
      <td><textarea rows=1 cols=25 name=measure>measure</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Quantity</td>
 +
      <td><textarea rows=1 cols=25 name=quantity>quantity</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Tax</td>
 +
      <td><textarea rows=1 cols=25 name=tax>tax</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Tax Type</td>
 +
      <td><textarea rows=1 cols=25 name=taxtype>taxtype</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Total</td>
 +
      <td><textarea rows=1 cols=25 name=total>total</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Tax Amount</td>
 +
      <td><textarea rows=1 cols=25 name=taxamt>taxamt</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Gross Total</td>
 +
      <td><textarea rows=1 cols=25 name=grossamt>grossamt</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Reference #</td>
 +
      <td><textarea rows=1 cols=25 name=reference>reference</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Confirmation #</td>
 +
      <td><textarea rows=1 cols=25 name=confirmationnum>#12345-eee</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Provider Name</td>
 +
      <td><textarea rows=1 cols=25 name=provider>provider</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Provider Emailr</td>
 +
      <td><textarea rows=1 cols=25 name=provideremail>provideremail</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px>Notes</td>
 +
      <td><textarea rows=1 cols=25 name=notes>notes</textarea></td>
 +
    </tr>
 +
    <tr>
 +
      <td width=400px><Input type="submit" value="Submit to SmartSimple"></td>
 +
    </tr>
 +
  </table>
 +
</form>
 +
</BODY>
 +
</HTML>
 
</pre>
 
</pre>
  
[[Category:Universal Tracking Application| Da]][[Category:Integration| S]]
+
==See Also==
 +
* [[Service Provider Integration Fields]]
 +
* [[Post to External Server]]
 +
 
 +
[[Category:Integration]]
 +
[[Category:External Services]]

Latest revision as of 13:50, 20 July 2017

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.

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 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 portion of code is a sample of what SmartSimple will be using within a Web Page View on each client copy to post field data 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.

The sample page below is sending the following categories of fields:

  • Insurance Company + Referral Contact
  • Pickup Details
  • Claimant Information


<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="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">
  <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>@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>
        <td><textarea name=ss_PickupAddress readonly>@picaddress@</textarea></td>
      </tr>
      <tr>
        <th align="left"> Pickup City</th>
        <td><textarea name=ss_PickupCity readonly>@piccity@</textarea></td>
        <th align="left"> Pickup Postal Code</th>
        <td><textarea name=ss_PickupPostalCode readonly>@piczip@</textarea></td>
      </tr>
      <tr>
        <th align="left"> Pickup Province/State</th>
        <td><textarea name=ss_PickupProvince readonly>@picprovince@</textarea></td>
        <th align="left"> Pickup Phone</th>
        <td><textarea name=ss_PickupPhone readonly>@Pickup-Phone@</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>@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 readonly>@parent.Claimant Province@</textarea></td>
        <th align="left"> Postal Code </th>
        <td><textarea name=ss_ClaimantPostalCode readonly>@parent.Claimant Postal Code@</textarea></td>
      </tr>
      <tr>
        <th align="left"> Country </th>
        <td><textarea name=ss_ClaimantCountry readonly>Canada</textarea></td>
            <th align="left">Phone </th>
        <td><textarea name=ss_ClaimantPhone readonly>@parent.Claimant Phone #@</textarea></td>
      <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>

Sample POST to SmartSimple

The following code is a sample html post page that Service Providers can use to POST data back to SmartSimple’s Integration Server.

Each form element will need to be populated with information related to the performed service from the Service Provider’s data source.

<HTML>
<HEAD>
<TITLE>Integration Provider Sample Submission</TITLE>
</HEAD>
<BODY>
<form action="http://hcai.smartsimple.biz/ex/provider/billing.jsp" method="POST" target="_blank">
  <table border=1 cellspaing=0 cellpadding=1>
    <tr>
      <td width=400px>Provider Key</td>
      <td><textarea rows=1 cols=25 name=providerkey>xxx key goes here xxx</textarea></td>
    </tr>
    <tr>
      <td width=400px>Test Submission Flag</td>
      <td><textarea rows=1 cols=25 name=isprod>0</textarea></td>
    </tr>
    <tr>
      <td width=400px>Case ID</td>
      <td><textarea rows=1 cols=25 name=caseid>123456</textarea></td>
    </tr>
    <tr>
      <td width=400px>Service ID</td>
      <td><textarea rows=1 cols=25 name=serviceid>88888</textarea></td>
    </tr>
    <tr>
      <td width=400px>Type of Service </td>
      <td><textarea rows=1 cols=25 name=typeofservice>typeofservice</textarea></td>
    </tr>
    <tr>
      <td width=400px>Client Alias </td>
      <td><textarea rows=1 cols=25 name=client>client</textarea></td>
    </tr>
    <tr>
      <td width=400px>Client Type</td>
      <td><textarea rows=1 cols=25 name=source>10</textarea></td>
    </tr>
    <tr>
      <td width=400px>GAP Code </td>
      <td><textarea rows=1 cols=25 name=gapcode>gapcode</textarea></td>
    </tr>
    <tr>
      <td width=400px>Rate for service</td>
      <td><textarea rows=1 cols=25 name=rate>10.00</textarea></td>
    </tr>
    <tr>
      <td width=400px>Unit Measure </td>
      <td><textarea rows=1 cols=25 name=measure>measure</textarea></td>
    </tr>
    <tr>
      <td width=400px>Quantity</td>
      <td><textarea rows=1 cols=25 name=quantity>quantity</textarea></td>
    </tr>
    <tr>
      <td width=400px>Tax</td>
      <td><textarea rows=1 cols=25 name=tax>tax</textarea></td>
    </tr>
    <tr>
      <td width=400px>Tax Type</td>
      <td><textarea rows=1 cols=25 name=taxtype>taxtype</textarea></td>
    </tr>
    <tr>
      <td width=400px>Total</td>
      <td><textarea rows=1 cols=25 name=total>total</textarea></td>
    </tr>
    <tr>
      <td width=400px>Tax Amount</td>
      <td><textarea rows=1 cols=25 name=taxamt>taxamt</textarea></td>
    </tr>
    <tr>
      <td width=400px>Gross Total</td>
      <td><textarea rows=1 cols=25 name=grossamt>grossamt</textarea></td>
    </tr>
    <tr>
      <td width=400px>Reference #</td>
      <td><textarea rows=1 cols=25 name=reference>reference</textarea></td>
    </tr>
    <tr>
      <td width=400px>Confirmation #</td>
      <td><textarea rows=1 cols=25 name=confirmationnum>#12345-eee</textarea></td>
    </tr>
    <tr>
      <td width=400px>Provider Name</td>
      <td><textarea rows=1 cols=25 name=provider>provider</textarea></td>
    </tr>
    <tr>
      <td width=400px>Provider Emailr</td>
      <td><textarea rows=1 cols=25 name=provideremail>provideremail</textarea></td>
    </tr>
    <tr>
      <td width=400px>Notes</td>
      <td><textarea rows=1 cols=25 name=notes>notes</textarea></td>
    </tr>
    <tr>
      <td width=400px><Input type="submit" value="Submit to SmartSimple"></td>
    </tr>
  </table>
</form>
</BODY>
</HTML>

See Also