Skip to content
jbuchbinder edited this page Dec 1, 2011 · 5 revisions

Summary

REMITT can be thought of as an "abstraction layer" involving disparate billing services, eligibility checking services, remittance processing services, differing low-level billing formats, and other EMR/PM related systems and services.

It exists as a "web service", which is accessed using SOAP protected by HTTP Basic Authentication. A single REMITT server instance can theoretically service thousands (if not more) instances of EMR/PM systems.

SOAP Interface

The full SOAP interface is described by the REMITT WSDL file, which is present on any running REMITT instance. This is a brief list of the different functions which can be accessed by an EMR/PM system in order to communicate with the REMITT engine. (Please note that not all functions need to be called by every EMR/PM system.)

  • getFile: Retrieve a generated output file.
    • Parameters:
      • category (string): Type of the file (output, log, etc)
      • fileName (string): Name of the file
    • Returns:
      • Contents of the requested file. (The SOAP wrapper will base64 encode the content.)
  • validatePayload: Run a REMITT XML Format payload through a custom validator. This may be executed before insertPayload for sanity checking.
    • Parameters:
      • validatorClass (string):
      • data (base64 binary):
    • Returns:
      • Array of payload validation response messages.
  • getConfigValues: Get all plugin configuration options for the current user.
    • Parameters:
      • None
    • Returns:
      • Array of configuration options, containing name (string), namespace (string), and value (string).
  • getCurrentUserName: Retrieve the username of the requesting REMITT user.
    • Parameters:
      • None
    • Returns:
      • String containing the current logged in REMITT username.
  • parseData: Frontend for REMITT parsing plugins. This allows some of the inner REMITT logic for parsing X12 messages (among other things) to be exposed, letting the user parse messages into a common XML format.
    • Parameters:
      • parserClass (string): Fully qualified class name for a ParserInterface class. This would normally be org.remitt.parser.X12Message835 for parsing X12 835 messages.
      • data (string): Message text to be parsed.
    • Returns:
      • String, XML text for the converted message.
  • addKeyToKeyring: Add a public/private key set to REMITT's keyring for the current user. Currently this is used to import keys for SFTP transport plugins.
    • Parameters:
      • keyname (string):
      • privatekey (base64 binary):
      • publickey (base64 binary):
    • Returns:
      • Boolean, success.
  • listRemittUsers: Get a list of all of the REMITT users on the system. Can only be called by the administrative user.
    • Parameters:
      • None
    • Returns:
      • Array of UserDTO objects.
  • batchEligibilityCheck: Initiate a series of batch eligibility checks.
    • Parameters:
      • requests (array of EligilibilityRequest objects, consisting of:)
        • plugin (string):
        • request (array of entry objects)
          • entry (object consisting of key (EligibilityParameter) and value (string))
    • Returns:
      • Array of integers, which are eligibility request job identifiers.
  • setConfigValue: Set a configuration value for a named plugin.
    • Parameters:
      • namespace (string): Fully-qualified plugin name with which this option is associated.
      • option (string): Textual option name.
      • value (string): Setting for this option.
    • Returns:
      • Boolean, success.
  • getOutputYears: Get all years for which REMITT has output data.
    • Parameters:
      • None
    • Returns:
      • Array of integer year values.
  • getProtocolVersion: Retrieve current REMITT SOAP protocol version.
    • Parameters:
      • None
    • Returns:
      • String representation of current protocol version.
  • getFileList: Get a list of output files based on provided criteria.
    • Parameters:
      • category (string):
      • criteria (string):
      • value (string):
    • Returns:
      • Array of file listing objects, containing:
        • filename (string): Textual name of the file.
        • filesize (int): File size in bytes.
        • inserted (date/time): Insertion timestamp.
        • originalId (string): Original REMITT payload identifier.
  • changePassword: Change current REMITT user's password.
    • Parameters:
      • newPassword (string): New password text.
    • Returns:
      • Boolean, success.
  • getPluginOptions: List available options for a particular plugin.
    • Parameters:
      • pluginClass (string): Fully-qualified plugin class name.
      • qualifyingOption (string):
    • Returns:
      • Array of strings.
  • getStatus: Retrieve current status of an inserted payload.
    • Parameters:
      • jobId (int): REMITT job identifier, as returned by insertPayload.
    • Returns:
      • Integer, status.
  • addRemittUser: Create new REMITT user. Can only be called by the administrative user.
    • Parameters:
      • user (UserDTO object): New user information.
    • Returns:
      • Boolean, success.
  • getPlugins: Get a list of all REMITT plugins for a certain task/category.
    • Parameters:
      • category (string): This should normally be render, translation (which should not be used in most cases, as it is not externally visible), transport, eligibility and scooper.
    • Returns:
      • Array of strings.
  • getEligibility: Perform a single synchronous eligibility request.
    • Parameters:
      • request (EligibilityRequest object):
    • Returns:
      • EligibilityResponse object
  • getBulkStatus
    • Parameters:
      • jobIds (array of int):
    • Returns:
      • Array of integer statuses.
  • insertPayload
    • Parameters:
      • originalId (string): EMR/PM id associated with this billing batch.
      • inputPayload (string): Generated XML payload format described by REMITT XML Format document.
      • renderPlugin (string): Fully qualified plugin class name for render-stage plugin. Under most circumstances, this will be org.remitt.plugin.render.XsltPlugin.
      • renderOption (string): Option for render plugin. This will usually be the XSL stylesheet name, which will normally be 4010_837p, 5010_837p, hcfa1500 or statement. A full list is available in the source on github.
      • transportPlugin (string): Fully qualified plugin class name for transport/transmission-stage plugin. There are a growing number of transport plugins available, in the org.remitt.plugin.transport namespace. A full list is available in the source on github
      • transportOption (string):
    • Returns:
      • Integer, REMITT batch identifier.
  • getOutputMonths
    • Parameters:
      • targetYear (int):
    • Returns:
      • Array of integers containing a list of input months for which REMITT has generated output content.

Object Definitions

EligibilityParameter (enum)

  • ELIGIBILITY_PARAMETER_NPI
  • ELIGIBILITY_PARAMETER_INSURANCE_ID
  • ELIGIBILITY_PARAMETER_INSURED_LAST_NAME
  • ELIGIBILITY_PARAMETER_INSURED_FIRST_NAME
  • ELIGIBILITY_PARAMETER_INSURED_DOB
  • ELIGIBILITY_PARAMETER_INSURED_GENDER
  • ELIGIBILITY_PARAMETER_INSURED_STATE
  • ELIGIBILITY_PARAMETER_INSURED_SSN
  • ELIGIBILITY_PARAMETER_DEPENDENT_LAST_NAME
  • ELIGIBILITY_PARAMETER_DEPENDENT_FIRST_NAME
  • ELIGIBILITY_PARAMETER_DEPENDENT_DOB
  • ELIGIBILITY_PARAMETER_DEPENDENT_GENDER
  • ELIGIBILITY_PARAMETER_DEPENDENT_RELATIONSHIP
  • ELIGIBILITY_PARAMETER_SERVICE_TYPE
  • ELIGIBILITY_PARAMETER_CARD_ISSUE_DATE
  • ELIGIBILITY_PARAMETER_GROUP_NUMBER

EligibilityResponse (object)

  • messages (array of strings)
  • rawResponse (string)
  • status (EligibilityStatus enum)
  • successCode (EligibilitySuccessCode enum)

EligibilityStatus (enum)

  • OK
  • BAD
  • CONTINUATION
  • SERVER_ERROR

EligibilitySuccessCode (enum)

  • SUCCESS
  • VALIDATION_FAILURE
  • PAYER_TIMEOUT
  • PAYER_NOT_SUPPORTED
  • SYSTEM_ERROR
  • PAYER_ENROLLMENT_REQUIRED
  • PROVIDER_ENROLLMENT_REQUIRED
  • PRODUCT_REQUIRED
Clone this wiki locally