Plan Deductible Rules API | Administrative - SOAP

The PlanDeductibleRule service allows clients the ability to read, add, update, and delete the deductible rules on a plan. 

Service web methods
The following operations are supported: 
  • DeleteDeductibleRules - This method is used to delete a set of deductible rules on a plan.
  • GetBenefitPlanDeductibleRules - This method is used to retrieve a set of deductible rules on a plan.
  • SaveDeductibleRules - This method is used to insert or update a set of deductible rules on a plan.

Service assumptions/business rules
The PlanDeductibleRule service makes the following assumptions and enforces the following business rules:
  • Clients shall conform to the WS-I specifications unless otherwise agreed upon by Alegeus and the administrator.
  • Clients shall format SOAP messages in a document/literal format over HTTPS.
  • Clients shall have already created a valid user ID and password.
  • Clients shall have a valid session ID after being authenticated by the system. The session ID needs to be passed in the proper manner as described in the account manager service guide.
  • If the administrator uses the same user ID and password for all of their clients, the administrator is responsible for managing the security of the data.
  • Clients should validate data before submitting a request to this service. This facilitates better performance and accurate processing on both systems.
  • Clients shall not attempt to use this service for batch processing of large amounts of data. The service is designed for synchronous calls that send or retrieve small chunks of data. If batch processing is required, then the EDI process should be used.
  • If any method fails, the service returns a SOAP fault describing the problem.

DeleteDeductibleRules

This method is used to delete a set of deductible rules on a plan.  

History
The DeleteDeductibleRules methods are listed below:

Request messages
  • DeleteDeductibleRule

Response messages

  • DeleteDeductibleRuleResponse

DeleteDeductibleRules request/response messages

The DeleteDeductibleRules method requires the following request and response messages (input and output data).

The table below includes the following request messages:

• DeleteDeductibleRuleRequest

  • TpaIdStringrequired
    Unique identifier WCA assigns to you.
    First Available Version:DeleteDeductibleRuleRequest
  • EmployerIdstringrequired
    The unique identifier of the employer.
    First Available Version:DeleteDeductibleRuleRequest
  • AccountTypeCodestringrequired
    The account type code associated with the plan.
    First Available Version:DeleteDeductibleRuleRequest
  • PlanIdstringrequired
    The unique identifier of the plan.
    First Available Version:DeleteDeductibleRuleRequest
  • PlanYearStartDatedaterequired
    The date the plan starts.
    Format = YYYY-MM-DD
    First Available Version:DeleteDeductibleRuleRequest
  • PlanYearEndDateDaterequired
    The date the plan ends.
    Format = YYYY-MM-DD
    First Available Version:DeleteDeductibleRuleRequest
  • CoverageTierIdStringrequired
    This field is only applicable for plans enabled with a Coverage Tier Type.  Populate with the specific Tier ID to which the deductible rules should be associated. If coverage tiers are enabled for the Plan, and this field is left blank, then the record will fail.
    First Available Version:DeleteDeductibleRuleRequest

Response message: Empty response.

Example of DeleteDeductibleRules SOAP request message

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <MBISessionHeader xmlns="http://www.medibank.com/MBIWebServices/SoapHeader/">
      <MBISessionID>string</MBISessionID>
    </MBISessionHeader>
  </soap:Header>
  <soap:Body>
    <DeleteDeductibleRuleRequest
xmlns="http://www.medibank.com/MBIWebServices/Plan/Messages/DeductibleRule/Request/2008/07/">
        <request>
        <TpaId>string</TpaId>
        <EmployerId>string</EmployerId>
        <AccountTypeCode>string</AccountTypeCode>
        <PlanId>string</PlanId>
        <PlanYearStartDate>date</PlanYearStartDate>
        <PlanYearEndDate>date</PlanYearEndDate>
        <CoverageTierId>string</CoverageTierId>
      </request>
    </DeleteDeductibleRuleRequest>
  </soap:Body>
</soap:Envelope>  

Example of DeleteDeductibleRules SOAP response message

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <MBIMessageIdHeader xmlns="http://www.medibank.com/MBIWebServices/SoapHeader/">
      <MessageId>string</MessageId>
    </MBIMessageIdHeader>
  </soap:Header>
  <soap:Body>
    <DeleteDeductibleRuleResponse
xmlns="http://www.medibank.com/MBIWebServices/Plan/Messages/DeductibleRule/Response/2008/07/">      
<DeleteDeductibleRulesResult />
    </DeleteDeductibleRuleResponse>
  </soap:Body>
</soap:Envelope>  

Example client code

The following is an example of the client code (using a .NET proxy class for accessing the service) used when calling the DeleteDeductibleRules web method.

try
{
            // create new SOAP header for the user’s current session id localhost.MBISessionHeader sh = new localhost.MBISessionHeader();  
 // create the proxy object for the service  localhost.PlanDeductibleRuleService proxy = new localhost.PlanDeductibleRuleService();  
     // create a new request object for the method’s parameters
  localhost.DeleteDeductibleRules request = new localhost.DeleteDeductibleRules();          
// set the parameters for the web method call
request.TpaId = "T00021";
request.EmployerId = "MedSC";
request.AccountTypeCode = “FSA”;
request.PlanId = “FSA2009”;
request.PlanYearStartDate = 2009-01-01;
request.PlanYearEndDate = 2009-12-31;
request.CoverageTierId = “CVRTIER1”;             
// Add the session SOAP header so that the service knows who we are.
// Note that we stored the session ID in a member variable after
// logged in to the system for future web method calls.                 
 sh.MBISessionID = _sessionID; 
proxy.MBISessionHeaderValue = sh;
 // Call the web method.
       proxy.DeleteDeductibleRules(request); 
        MessageBox.Show("Finished"); 
}
catch(SoapException se)
{
        // perform needed operations
}
catch(Exception ex)
{
        // perform needed operations
}  

GetBenefitPlanDeductibleRules

This method is used to retrieve existing deductible rules on an existing plan.  

History
The GetBenefitPlanDeductibleRules methods are listed below:

Request messages
  • GetBenefitPlanDeductibleRuleRequest
Response messages
  • GetBenefitPlanDeductibleRuleResponse

GetBenefitPlanDeductibleRules request/response messages

The GetBenefitPlanDeductibleRules method requires the following request and response messages (input and output data).

The table below includes the following request messages:
  • GetBenefitPlanDeductibleRuleRequest
  • TpaIdstringrequired
    Unique identifier WCA assigns to you.
    First Available Version:GetBenefitPlanDeductibleRuleRequest
  • EmployerIdstringrequired
    The unique identifier of the employer.
    First Available Version:GetBenefitPlanDeductibleRuleRequest
  • AccountTypeCodestringrequired
    The account type code associated with the plan.
    First Available Version:GetBenefitPlanDeductibleRuleRequest
  • PlanIdstringrequired
    The unique identifier of the plan.
    First Available Version:GetBenefitPlanDeductibleRuleRequest
  • PlanYearStartDatedaterequired
    The date the plan starts.
    Format = YYYY-MM-DD
    First Available Version:GetBenefitPlanDeductibleRuleRequest
  • PlanYearEndDatedaterequired
    The date the plan ends.
    Format = YYYY-MM-DD
    First Available Version:GetBenefitPlanDeductibleRuleRequest
  • CoverageTierIdstringrequired
    This field is only applicable for plans enabled with a Coverage Tier Type.  Populate with the specific Tier ID to which the deductible rules should be associated. If coverage tiers are enabled for the Plan, and this field is left blank, then the record will fail. 
    First Available Version:GetBenefitPlanDeductibleRuleRequest

The table below includes the following response messages:
  • GetBenefitPlanDeductibleRuleResponse
  • TpaIdstring
    Unique identifier WCA assigns to you.
    First Available Version:GetBenefitPlanDeductibleRuleResponse
  • EmployerIdstring
    The unique identifier of the employer.
    First Available Version:GetBenefitPlanDeductibleRuleResponse
  • AccountTypeCodestring
    The account type code associated with the plan.
    First Available Version:GetBenefitPlanDeductibleRuleResponse
  • PlanIdstring
    The unique identifier of the plan.
    First Available Version:GetBenefitPlanDeductibleRuleResponse
  • PlanYearStartDatedate
    The date the plan starts.
    Format = YYYY-MM-DD
    First Available Version:GetBenefitPlanDeductibleRuleResponse
  • PlanYearEndDatedate
    The date the plan ends.
    Format = YYYY-MM-DD
    First Available Version:GetBenefitPlanDeductibleRuleResponse
  • CoverageTierIdstring
    This field is only applicable for plans enabled with a Coverage Tier Type. 
    Populate with the specific Tier ID to which the deductible rules should be associated. If coverage tiers are enabled for the Plan, and this field is left blank, then the record will fail. 
    First Available Version:GetBenefitPlanDeductibleRuleResponse
  • PlanKeyint
    The plan key.
    First Available Version:GetBenefitPlanDeductibleRuleResponse
  • CoverageTierKeyint
    Coverage tier key.
    First Available Version:GetBenefitPlanDeductibleRuleResponse
  • DeductibleRuleSetKeyint
    The deductible rule set key.
    First Available Version:GetBenefitPlanDeductibleRuleResponse
  • DeductibleRuleSetArray
    If there are rule sets, this array will return the fields listed below. 
    First Available Version:GetBenefitPlanDeductibleRuleResponse
  • DeductibleRuleKeyint
    The deductible rule key.
    First Available Version:GetBenefitPlanDeductibleRuleResponse
  • LowRangedecimal
    The low range.
    First Available Version:GetBenefitPlanDeductibleRuleResponse
  • HighRangedecimal
    The high range.
    First Available Version:GetBenefitPlanDeductibleRuleResponse
  • PlanPayPercentageshort
    The plan pay percentage.
    First Available Version:GetBenefitPlanDeductibleRuleResponse
  • DeductiblePercentageshort
    The deductible percentage. 
    First Available Version:GetBenefitPlanDeductibleRuleResponse

Example of GetBenefitPlanDeductibleRules SOAP request message

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <MBISessionHeader xmlns="http://www.medibank.com/MBIWebServices/SoapHeader/">
      <MBISessionID>string</MBISessionID>
    </MBISessionHeader>
  </soap:Header>
  <soap:Body>
    <GetBenefitPlanDeductibleRuleRequest
xmlns="http://www.medibank.com/MBIWebServices/Plan/Messages/DeductibleRule/Request/2008/07/">
        <request>
        <TpaId>string</TpaId>
        <EmployerId>string</EmployerId>
        <AccountTypeCode>string</AccountTypeCode>
        <PlanId>string</PlanId>
        <PlanYearStartDate>date</PlanYearStartDate>
        <PlanYearEndDate>date</PlanYearEndDate>
        <CoverageTierId>string</CoverageTierId>
      </request>
    </GetBenefitPlanDeductibleRuleRequest>
  </soap:Body>
</soap:Envelope>

Example of GetBenefitPlanDeductibleRules SOAP response message:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <MBIMessageIdHeader xmlns="http://www.medibank.com/MBIWebServices/SoapHeader/">
      <MessageId>string</MessageId>
    </MBIMessageIdHeader>
  </soap:Header>
  <soap:Body>
    <GetBenefitPlanDeductibleResponse
xmlns="http://www.medibank.com/MBIWebServices/Plan/Messages/DeductibleRule/Response/2008/07/">
        <GetBenefitPlanDeductibleRulesResult>
        <TpaId>string</TpaId>
        <EmployerId>string</EmployerId>
        <AccountTypeCode>string</AccountTypeCode>
        <PlanId>string</PlanId>
        <PlanYearStartDate>date</PlanYearStartDate>
        <PlanYearEndDate>date</PlanYearEndDate>
        <CoverageTierId>string</CoverageTierId>
        <PlanKey>int</PlanKey>
        <CoverageTierKey>int</CoverageTierKey>
        <DeductibleRuleSetKey>int</DeductibleRuleSetKey>
        <DeductibleRuleSet>
          <DeductibleRuleKey>int</DeductibleRuleKey>
          <LowRange>decimal</LowRange>
          <HighRange>decimal</HighRange>
          <PlanPayPercentage>short</PlanPayPercentage>
          <DeductiblePercentage>short</DeductiblePercentage>
        </DeductibleRuleSet>
        <DeductibleRuleSet>
          <DeductibleRuleKey>int</DeductibleRuleKey>
          <LowRange>decimal</LowRange>
          <HighRange>decimal</HighRange>
          <PlanPayPercentage>short</PlanPayPercentage>
          <DeductiblePercentage>short</DeductiblePercentage>
        </DeductibleRuleSet>
      </GetBenefitPlanDeductibleRulesResult> 
      </GetBenefitPlanDeductibleResponse>
  </soap:Body>
</soap:Envelope>

Example client code
The following is an example of the client code (using a .NET proxy class for accessing the service) used when calling the GetBenefitPlanDeductibleRules web method.

try 
{
 // create new SOAP header for the user’s current session id localhost.MBISessionHeader sh = new localhost.MBISessionHeader();
       // create the proxy object for the service
  localhost.PlanDeductibleRuleService proxy = new localhost.PlanDeductibleRuleService();
     // create a new request object for the method’s parameters
 localhost.GetBenefitPlanDeductibleRules request = new localhost.GetBenefitPlanDeductibleRules();  localhost.GetBenefitPlanDeductibleRulesResponse resp;            
// set the parameters for the web method call
request.TpaId = "T00021";
request.EmployerId = "MedSC";
request.AccountTypeCode = “FSA”;
request.PlanId = “FSA2009”; 
request.PlanYearStartDate = 2009-01-01;
request.PlanYearEndDate = 2009-12-31;
request.CoverageTierId = “CVRTIER1”;
// Add the session SOAP header so that the service knows who we are. // Note that we stored the session ID in a member variable after
// logged in to the system for future web method calls.               
sh.MBISessionID = _sessionID;
proxy.MBISessionHeaderValue = sh;
// Call the web method.
      resp = proxy.DeleteDeductibleRules(request); 
      MessageBox.Show("Finished"); 
}
catch(SoapException se)
{
        // perform needed operations
}
catch(Exception ex)
{
        // perform needed operations
}

SaveDeductibleRules

This method is used to insert or update plan deductible rules on an existing plan.

History
The SaveDeductibleRules methods are listed below:

Request messages
  • SaveDeductibleRuleRequest
Response messages
  • SaveDeductibleRuleResponse

SaveDeductibleRules request/response messages
The SaveDeductibleRules method requires the following request and response messages (input and output data). The table below includes the following request messages:

• SaveDeductibleRuleRequest

  • TpaIdstringrequired
    Unique identifier WCA assigns to you.
    First Available Version:SaveDeductibleRuleRequest
  • EmployerIdstringrequired
    The unique identifier of the employer.
    First Available Version:SaveDeductibleRuleRequest
  • AccountTypeCodestringrequired
    The account type code associated with the plan.
    First Available Version:SaveDeductibleRuleRequest
  • PlanIdstringrequired
    The unique identifier of the plan.
    First Available Version:SaveDeductibleRuleRequest
  • PlanYearStartDat edaterequired
    The date the plan starts.
    Format = YYYY-MM-DD
    First Available Version:SaveDeductibleRuleRequest
  • PlanYearEndDatedaterequired
    The date the plan ends.
    Format = YYYY-MM-DD
    First Available Version:SaveDeductibleRuleRequest
  • CoverageTierIdstringrequired
    This field is only applicable for plans enabled with a Coverage Tier Type.  Populate with the specific Tier ID to which the deductible rules should be associated. If coverage tiers are enabled for the Plan, and this field is left blank, then the record will fail. 
    First Available Version:SaveDeductibleRuleRequest
  • DeductibleRuleSetarrayrequired
    An array containing the deductible rules.
    Please see appropriate table for DeductibleRuleSet definition
    First Available Version:SaveDeductibleRuleRequest
  • HighRangedecimalrequired
    The high range.  
    First Available Version:SaveDeductibleRuleRequest
  • PlanPayPercentag eshortrequired
    The plans pay percentage.
    First Available Version:SaveDeductibleRuleRequest

The table below includes detail for the DeductibleRuleSet object:

Response message: Empty message.

Example of SaveDeductibleRules SOAP request message:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
    <MBISessionHeader xmlns="http://www.medibank.com/MBIWebServices/SoapHeader/">
      <MBISessionID>string</MBISessionID>
    </MBISessionHeader>
  </soap:Header>
  <soap:Body>
    <SaveDeductibleRuleRequest
xmlns="http://www.medibank.com/MBIWebServices/Plan/Messages/DeductibleRule/Request/2008/07/">
        <request>
        <TpaId>string</TpaId>
        <EmployerId>string</EmployerId>
        <AccountTypeCode>string</AccountTypeCode>
        <PlanId>string</PlanId>
        <PlanYearStartDate>date</PlanYearStartDate>
        <PlanYearEndDate>date</PlanYearEndDate>
        <CoverageTierId>string</CoverageTierId>
        <DeductibleRuleSet>
          <HighRange>decimal</HighRange>
          <PlanPayPercentage>short</PlanPayPercentage>
        </DeductibleRuleSet>
        <DeductibleRuleSet>
          <HighRange>decimal</HighRange>
          <PlanPayPercentage>short</PlanPayPercentage>
        </DeductibleRuleSet>
      </request>
    </SaveDeductibleRuleRequest>
  </soap:Body>
</soap:Envelope>

Example of SaveDeductibleRules SOAP response message

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <MBIMessageIdHeader xmlns="http://www.medibank.com/MBIWebServices/SoapHeader/">
      <MessageId>string</MessageId>
    </MBIMessageIdHeader>   </soap:Header>   <soap:Body>
    <SaveDeductibleRuleResponse
xmlns="http://www.medibank.com/MBIWebServices/Plan/Messages/DeductibleRule/Response/2008/07/">
  <SaveDeductibleRulesResult />
    </SaveDeductibleRuleResponse>
  </soap:Body>
</soap:Envelope>

Example client code

The following is an example of the client code (using a .NET proxy class for accessing the service) used when calling the SaveDeductibleRules web method.

try 
{
            // create new SOAP header for the user’s current session id localhost.MBISessionHeader sh = new localhost.MBISessionHeader();
       // create the proxy object for the service
  localhost.SaveDeductibleRules proxy = new localhost.SaveDeductibleRules();
// set the parameters for the web method call
request.TpaId = "T00021";
request.EmployerId = "MedSC";
request.AccountTypeCode = “FSA”;
request.PlanId = “FSA2009”;
request.PlanYearStartDate = 2009-01-01;
request.PlanYearEndDate = 2009-12-31;
request.CoverageTierId = “CVRTIER1”;
request.DeductibleRuleSet.HighRange = 1000d;
request.DeductibleRuleSet.PlanPayPercentage = 10;
// Add the session SOAP header so that the service knows who we are.
// Note that we stored the session ID in a member variable after
// logged in to the system for future web method calls.                 
 sh.MBISessionID = _sessionID; 
proxy.MBISessionHeaderValue = sh;
// Call the web method.
        proxy.SaveDeductibleRules(request); 
        MessageBox.Show("Finished"); 
}
catch(SoapException se)
{
        // perform needed operations
}
catch(Exception ex)
{
         // perform needed operations
}