Skip to content

Commit

Permalink
Add claimrev module (#6280)
Browse files Browse the repository at this point in the history
* Add claimrev module

* removed unused file

* first set of code review changes

* fixed unclosed php tags

* translation and other changes

* more changes

* fixed submit to be hard coded

* added more transformations and fixed small issues.

* fix missing transfors

* fix css styling

* fix php styling

* sniffer fixes

* lint stuff

* lin changes

* fix camel case

* more styling fixes, hope this gets them this time

* php styling issues that never go away

* added access control and csrf

* fix mapping in eligibility creator

* needed to get latest insurance by date. added an order by

* update for validations

* fix eligibilty check post not working

* fix sniff

---------

Co-authored-by: Brad <brad.sharp@claimrev.com>
  • Loading branch information
claimrevolution and claimrevolution committed Mar 30, 2023
1 parent 46de5be commit e4f5cd5
Show file tree
Hide file tree
Showing 56 changed files with 5,123 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# 1.0.12
Added new setup helpers to stop the sftp service from interfering with the file sending service of this module.


674 changes: 674 additions & 0 deletions interface/modules/custom_modules/oe-module-claimrev-connect/LICENSE

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# ClaimRev Connect Module for OpenEMR
This module creates the connetion the the Claim Revolution, LLC clearinghouse. Using rest API's the module will send your claim file in for processing and download the 999/277 files to the appropriate location on the OpenEMR system.
The module also handles the real-time eligibility of your patients. There are multiple ways this can be accomplished.
<ul>
<li> Manual – In the patient card a new card is created that lets the user manually check for eligibility from Claim Revolution. </li>
<li> Automatic – When the patient has a visit scheduled the system will go out and pull eligibility and will be available on the patient card. </li>
</ul>

Under the menu option for the module the user can do a simple search for claims submitted to the clearinghouse and view the statuses attached to those claims.
## Getting Started
Please to go to www.claimrev.com to get the required information to setup the module. A ClientID and Client Secret are required to get the module to do something. Once those are setup, you should see your account number listed in debug tab on the module's system menu.

The module will create a new table to store the eligibility request and response JSON. Entries are created in the background_services table to enable:</br>

<ul>
<li>Sending the claim files</li>
<li>Getting reports</li>
<li>Send and Receive eligibility </li>
</ul>

## Contributing
If you would like to help with improving this module post an issue on Github or send a pull request.


Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"name": "claimrevolution/oe-module-claimrev-connect",
"description": "OpenEMR Custom Module Claim Revolution, LLC Connector",
"type": "openemr-module",
"license": "GPL-3.0",
"authors": [
{
"name": "Brad Sharp",
"email": "brad.sharp@claimrev.com",
"role": "Developer"
}
],
"keywords": ["openemr", "openemr-module","clearinghouse","claimrev"],
"minimum-stability": "stable",
"autoload": {
"psr-4": {"OpenEMR\\Modules\\ClaimRevConnector\\": "src/"}
},
"require": {
"openemr/oe-module-installer-plugin": "^0.1.0",
"php": "^7.1",
"symfony/event-dispatcher": "^4.4.0",
"nyholm/psr7": "^1.4"
},
"conflict": {
"openemr/openemr": "<6.0.0"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ClaimRev Clearinghouse Connector
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?php

/**
*
* @package OpenEMR
* @link http://www.open-emr.org
*
* @author Brad Sharp <brad.sharp@claimrev.com>
* @copyright Copyright (c) 2022 Brad Sharp <brad.sharp@claimrev.com>
* @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3
*/

namespace OpenEMR\Modules\ClaimRevConnector;

$classLoader->registerNamespaceIfNotExists('OpenEMR\\Modules\\ClaimRevConnector\\', __DIR__ . DIRECTORY_SEPARATOR . 'src');
/**
* @global EventDispatcher $eventDispatcher Injected by the OpenEMR module loader;
*/

$bootstrap = new Bootstrap($eventDispatcher, $GLOBALS['kernel']);
$bootstrap->subscribeToEvents();
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.label {
font-style: bold;
}

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<?php

/**
*
* @package OpenEMR
* @link http://www.open-emr.org
*
* @author Brad Sharp <brad.sharp@claimrev.com>
* @copyright Copyright (c) 2022 Brad Sharp <brad.sharp@claimrev.com>
* @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3
*/

require_once "../../../../globals.php";

use OpenEMR\Common\Acl\AclMain;
use OpenEMR\Common\Twig\TwigContainer;
use OpenEMR\Modules\ClaimRevConnector\ConnectivityInfo;

$tab = "connectivity";

//ensure user has proper access
if (!AclMain::aclCheckCore('acct', 'bill')) {
echo (new TwigContainer(null, $GLOBALS['kernel']))->getTwig()->render('core/unauthorized.html.twig', ['pageTitle' => xl("ClaimRev Connect - Account")]);
exit;
}
?>

<html>
<head>
<link rel="stylesheet" href="../../../../../public/assets/bootstrap/dist/css/bootstrap.min.css">
</head>
<title><?php echo xlt("ClaimRev Connect - Account"); ?></title>
<body>
<div class="row">
<div class="col">
<?php require '../templates/navbar.php'; ?>
</div>
</div>
<div class="row">
<div class="col">
<?php $connectivityInfo = new ConnectivityInfo(); ?>
<h3><?php echo xlt("Client Connection Information"); ?></h3>
<ul>

<li><?php echo xlt("Authority");?>: <?php echo text($connectivityInfo->client_authority); ?></li>
<li><?php echo xlt("Client ID");?>: <?php echo text($connectivityInfo->clientId); ?></li>
<li><?php echo xlt("Client Scope");?>: <?php echo text($connectivityInfo->client_scope); ?></li>
<li><?php echo xlt("API Server");?>: <?php echo text($connectivityInfo->api_server); ?></li>
<li><?php echo xlt("Default Account");?>: <?php echo text($connectivityInfo->defaultAccount); ?> </li>
<li><?php echo xlt("Token");?>: <?php echo text($connectivityInfo->hasToken); ?> </li>
</ul>
</div>
</div>
<div class="row">
<div class="col">
<a href="index.php"><?php echo xlt("Back to index"); ?></a>
</div>
</div>
</body>
</html>

Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
<?php

/**
*
* @package OpenEMR
* @link http://www.open-emr.org
*
* @author Brad Sharp <brad.sharp@claimrev.com>
* @copyright Copyright (c) 2022 Brad Sharp <brad.sharp@claimrev.com>
* @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3
*/

require_once "../../../../globals.php";

use OpenEMR\Common\Acl\AclMain;
use OpenEMR\Common\Twig\TwigContainer;

$tab = "home";

//ensure user has proper access
if (!AclMain::aclCheckCore('acct', 'bill')) {
echo (new TwigContainer(null, $GLOBALS['kernel']))->getTwig()->render('core/unauthorized.html.twig', ['pageTitle' => xl("ClaimRev Connect - Home")]);
exit;
}
?>
<html>
<head>
<link rel="stylesheet" href="../../../../../public/assets/bootstrap/dist/css/bootstrap.min.css">
</head>
<title> <?php echo xlt("ClaimRev Connect - Home"); ?> </title>
<body>
<div class="row">
<div class="col">
<?php
require '../templates/navbar.php';
?>
</div>
</div>
<div class="row">
<div class="col">
<h1><?php echo xlt("ClaimRev - Client Access"); ?></h1>
</div>
</div>
<div class="row">
<div class="col">
<div class="card">
<p>
<?php echo xlt("Welcome to the ClaimRev Connector. This is your link to the portal and claim processing."); ?>
</p>

<h6> <?php echo xlt("Tab Descriptions"); ?> </h6>
<ul>
<li>
<?php echo xlt("Claims -> Lets you search claims sent to ClaimRev and view the status."); ?>
</li>
<li>
<?php echo xlt("X12 Tracker -> Display's files that have been submitted or in the process of being submitted."); ?>
</li>
<li>
<?php echo xlt("Setup -> Helps identify any setup issues along with checking background services."); ?>
</li>
<li>
<?php echo xlt("Connectivity -> Display's information that may help support fix connection issues you maybe having."); ?>
</li>
</ul>

<h6><?php echo xlt("Support/Sales"); ?></h6>
<ul>
<li> <?php echo xlt("Call"); ?>: <a href="tel:9189430020">1-918-943-0020<a> </li>
<li> <?php echo xlt("Email Support"); ?>: <a href = "support@claimrev.com">support@claimrev.com</a> </li>
<li> <?php echo xlt("Email Sales"); ?>: <a href = "sales@claimrev.com">sales@claimrev.com</a> </li>
</ul>
</div>

</div>
</div>
</body>
</html>
Loading

0 comments on commit e4f5cd5

Please sign in to comment.