-
Notifications
You must be signed in to change notification settings - Fork 7
Integrating REMITT
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.
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.)
- Parameters:
-
validatePayload
: Run a REMITT XML Format payload through a custom validator. This may be executed beforeinsertPayload
for sanity checking.- Parameters:
-
validatorClass
(string): -
data
(base64 binary):
-
- Returns:
- Array of payload validation response messages.
- Parameters:
-
getConfigValues
: Get all plugin configuration options for the current user.- Parameters:
- None
- Returns:
- Array of configuration options, containing
name
(string),namespace
(string), andvalue
(string).
- Array of configuration options, containing
- Parameters:
-
getCurrentUserName
: Retrieve the username of the requesting REMITT user.- Parameters:
- None
- Returns:
- String containing the current logged in REMITT username.
- Parameters:
-
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 aParserInterface
class. This would normally beorg.remitt.parser.X12Message835
for parsing X12 835 messages. -
data
(string): Message text to be parsed.
-
- Returns:
- String, XML text for the converted message.
- Parameters:
-
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.
- Parameters:
-
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.
- Parameters:
-
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 ofkey
(EligibilityParameter) andvalue
(string))
-
-
-
- Returns:
- Array of integers, which are eligibility request job identifiers.
- Parameters:
-
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.
- Parameters:
-
getOutputYears
: Get all years for which REMITT has output data.- Parameters:
- None
- Returns:
- Array of integer year values.
- Parameters:
-
getProtocolVersion
: Retrieve current REMITT SOAP protocol version.- Parameters:
- None
- Returns:
- String representation of current protocol version.
- Parameters:
-
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.
-
- Array of file listing objects, containing:
- Parameters:
-
changePassword
: Change current REMITT user's password.- Parameters:
-
newPassword
(string): New password text.
-
- Returns:
- Boolean, success.
- Parameters:
-
getPluginOptions
: List available options for a particular plugin.- Parameters:
-
pluginClass
(string): Fully-qualified plugin class name. -
qualifyingOption
(string):
-
- Returns:
- Array of strings.
- Parameters:
-
getStatus
: Retrieve current status of an inserted payload.- Parameters:
-
jobId
(int): REMITT job identifier, as returned byinsertPayload
.
-
- Returns:
- Integer, status.
- Parameters:
-
addRemittUser
: Create new REMITT user. Can only be called by the administrative user.- Parameters:
-
user
(UserDTO object): New user information.
-
- Returns:
- Boolean, success.
- Parameters:
-
getPlugins
: Get a list of all REMITT plugins for a certain task/category.- Parameters:
-
category
(string): This should normally berender
,translation
(which should not be used in most cases, as it is not externally visible),transport
,eligibility
andscooper
.
-
- Returns:
- Array of strings.
- Parameters:
-
getEligibility
: Perform a single synchronous eligibility request.- Parameters:
-
request
(EligibilityRequest object):
-
- Returns:
- EligibilityResponse object
- Parameters:
-
getBulkStatus
- Parameters:
-
jobIds
(array of int):
-
- Returns:
- Array of integer statuses.
- Parameters:
-
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 beorg.remitt.plugin.render.XsltPlugin
. -
renderOption
(string): Option for render plugin. This will usually be the XSL stylesheet name, which will normally be4010_837p
,5010_837p
,hcfa1500
orstatement
. 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 theorg.remitt.plugin.transport
namespace. A full list is available in the source on github -
transportOption
(string):
-
- Returns:
- Integer, REMITT batch identifier.
- Parameters:
-
getOutputMonths
- Parameters:
-
targetYear
(int):
-
- Returns:
- Array of integers containing a list of input months for which REMITT has generated output content.
- Parameters:
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
-
messages
(array of strings) -
rawResponse
(string) -
status
(EligibilityStatus enum) -
successCode
(EligibilitySuccessCode enum)
OK
BAD
CONTINUATION
SERVER_ERROR
SUCCESS
VALIDATION_FAILURE
PAYER_TIMEOUT
PAYER_NOT_SUPPORTED
SYSTEM_ERROR
PAYER_ENROLLMENT_REQUIRED
PROVIDER_ENROLLMENT_REQUIRED
PRODUCT_REQUIRED