openemr_manual
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| openemr_manual [2026/08/25 21:16] – Add module version / OpenEMR compatibility matrix brad.sharp | openemr_manual [2026/10/17 14:41] (current) – brad.sharp | ||
|---|---|---|---|
| Line 6: | Line 6: | ||
| - [[#Download and Installation|Download and Installation]] | - [[#Download and Installation|Download and Installation]] | ||
| - [[# | - [[# | ||
| + | - [[#Option A: ZITADEL key file|Option A: ZITADEL key file]] | ||
| + | - [[#Option B: Client ID and Client Secret|Option B: Client ID and Client Secret]] | ||
| - [[# | - [[# | ||
| - [[# | - [[# | ||
| Line 35: | Line 37: | ||
| * OpenEMR **7.0.0** or later (8.x recommended) | * OpenEMR **7.0.0** or later (8.x recommended) | ||
| * PHP **8.2** or later | * PHP **8.2** or later | ||
| - | * An active ClaimRev account with API credentials | + | * An active ClaimRev account with API credentials |
| ==== Choose Your Install Method ==== | ==== Choose Your Install Method ==== | ||
| Line 41: | Line 43: | ||
| The ClaimRev Connect module is published on Packagist as '' | The ClaimRev Connect module is published on Packagist as '' | ||
| - | **Current Version: 2.1.X** | + | **Current Version: 2.2.0** |
| === Method 1: Composer (Recommended) === | === Method 1: Composer (Recommended) === | ||
| Line 49: | Line 51: | ||
| <code bash> | <code bash> | ||
| cd / | cd / | ||
| - | composer require claimrevolution/ | + | composer require claimrevolution/ |
| sudo systemctl reload php-fpm | sudo systemctl reload php-fpm | ||
| </ | </ | ||
| - | Composer downloads the latest v2.1.x release, drops it into '' | + | Composer downloads the latest v2.x release, drops it into '' |
| To **update** the module later: | To **update** the module later: | ||
| Line 83: | Line 85: | ||
| - Find **ClaimRev Connect** in the module list. Click **Install**, | - Find **ClaimRev Connect** in the module list. Click **Install**, | ||
| - Navigate to **ClaimRev Connect > Setup** and click **Run Upgrade** to create the required database tables. | - Navigate to **ClaimRev Connect > Setup** and click **Run Upgrade** to create the required database tables. | ||
| + | |||
| + | **Upgrading from 2.1.x?** After updating the files, click **Run Upgrade** on the Setup tab once. It adds the table 2.2.0 uses for ZITADEL sign-in and is safe to run more than once. Sites that keep using a client ID and secret need nothing else. | ||
| **Note:** If you do not yet have a ClaimRev account, visit [[https:// | **Note:** If you do not yet have a ClaimRev account, visit [[https:// | ||
| Line 90: | Line 94: | ||
| ===== Configuration ===== | ===== Configuration ===== | ||
| - | After enabling the module, you need to configure | + | After enabling the module, |
| + | |||
| + | First, set the environment in **Admin > Config > Connectors > ClaimRev Connect**: | ||
| + | * **ClaimRev Environment**: | ||
| + | |||
| + | The API server, sign-in server and scope are set automatically from the environment. You do not need to enter them. | ||
| + | |||
| + | ==== Option A: ZITADEL key file ==== | ||
| + | |||
| + | - Get your key file from ClaimRev. | ||
| + | - In OpenEMR, go to **ClaimRev Connect > Setup**. | ||
| + | - In the **ClaimRev Sign-In Key (ZITADEL)** card, click **Choose File** and pick the key file, or paste its contents into the box. | ||
| + | - Click **Save Key and Test Connection**. The module stores the key encrypted, signs in to ClaimRev and checks your account straight away. You should see //ZITADEL key saved and the connection to ClaimRev was verified.// | ||
| + | - Open the **Connectivity** tab to confirm: **Identity Provider** shows ZITADEL, **Token** shows Yes, and your default account is listed. | ||
| + | |||
| + | When a key is saved, the module uses it and ignores the Client ID and Client Secret settings. To go back to Option B, click **Remove Key** on the Setup tab. To replace a key (for example after ClaimRev rotates it), load the new file the same way. | ||
| + | |||
| + | ==== Option B: Client ID and Client Secret ==== | ||
| - | - Navigate to **Admin > Config > Connectors**. | + | - In **Admin > Config > Connectors |
| - | - Scroll to the **ClaimRev | + | * **Client ID**: your ClaimRev API client ID |
| - | - Enter the following values provided by ClaimRev: | + | * **ClaimRev |
| - | * **Client ID** - Your ClaimRev API client ID | + | - Click **Save**. |
| - | * **Client Secret** | + | - Open the **Connectivity** tab in the module |
| - | * **API Server** | + | |
| - | | + | |
| - | * **Client Scope** - The API scope (typically provided by ClaimRev) | + | |
| - | - Click **Save** to store your settings. | + | |
| - | **Tip: | + | **Tip: |
| --- | --- | ||
| Line 681: | Line 698: | ||
| ===== Compatibility ===== | ===== Compatibility ===== | ||
| + | |||
| + | ==== Module Version Compatibility ==== | ||
| + | |||
| + | **Always run the current release.** A single build covers every supported OpenEMR version — the '' | ||
| + | |||
| + | ^ Module version ^ OpenEMR 7.0.2 ^ OpenEMR 7.0.4 ^ OpenEMR 8.0.x ^ OpenEMR 8.2 ^ OpenEMR 8.3 ^ OpenEMR 8.4 ^ | ||
| + | | **v2.2.0** (current) | Yes | Yes | Yes | Yes | Yes | Yes | | ||
| + | | v2.1.9 | Yes | Yes | Yes | Yes | Yes | Not tested | | ||
| + | |||
| + | |||
| + | Requires **PHP 8.2 or later** on any core. v2.2.0 verified live against the ClaimRev API (staging and production, ZITADEL sign-in) on OpenEMR 8.4.1, 8.3.0 and 7.0.2. v2.1.8 verified on 8.3.0, 7.0.4 and 7.0.2, including 837P claim submission. | ||
| + | |||
| + | === Running an older module version? === | ||
| + | |||
| + | **v2.1.6 and earlier fail on OpenEMR 7.0.4 and on the 8.0.x patch line.** Module pages die with: | ||
| + | |||
| + | < | ||
| + | |||
| + | Those cores ship an '' | ||
| + | |||
| + | Upgrading to v2.1.7 or later resolves all of it. | ||
| + | |||
| + | === Pinning a specific version === | ||
| + | |||
| + | Every release stays available on Packagist. To hold a particular version: | ||
| + | |||
| + | < | ||
| + | |||
| + | There is no separate branch per OpenEMR version. A single build covers both 7.x and 8.x, and older cores are supported by pinning the last release that supported them. | ||
| ==== Supported OpenEMR Versions ==== | ==== Supported OpenEMR Versions ==== | ||
| Line 699: | Line 745: | ||
| | '' | | '' | ||
| | '' | | '' | ||
| - | |||
| - | ==== Compatibility Check ==== | ||
| - | To verify the module works correctly on your OpenEMR version: | ||
| - | |||
| - | - Navigate to **ClaimRev Connect > Connectivity**. | ||
| - | - Click the **Run Compatibility Check** button. | ||
| - | - A diagnostic page shows the status of each critical component: | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * OpenEMR version and PHP version | ||
| - | |||
| - | If all checks show green, the module is fully operational. If any check shows "Using ClaimRev shim", the module is running with compatibility shims — all features work normally. | ||
| --- | --- | ||
| Line 719: | Line 751: | ||
| ==== Connection Issues ==== | ==== Connection Issues ==== | ||
| - | * Verify your API credentials in **Admin > Config > Connectors** | + | |
| + | | ||
| * Ensure your server can reach the ClaimRev API endpoint (check firewall rules) | * Ensure your server can reach the ClaimRev API endpoint (check firewall rules) | ||
| * Check the OpenEMR error log for detailed error messages | * Check the OpenEMR error log for detailed error messages | ||
| * Use the **Connectivity** tab in the module to test your connection | * Use the **Connectivity** tab in the module to test your connection | ||
| + | |||
| + | ==== ZITADEL Key Problems ==== | ||
| + | * **" | ||
| + | * **"The key file is not valid JSON" / "not a ZITADEL service-account key file" | ||
| + | * **403 " | ||
| ==== Eligibility Check Returns No Results ==== | ==== Eligibility Check Returns No Results ==== | ||
| Line 779: | Line 817: | ||
| ===== Changelog ===== | ===== Changelog ===== | ||
| + | |||
| + | The full, detailed changelog is in [[https:// | ||
| + | |||
| + | == Version 2.2.0 — October 12, 2026 == | ||
| + | * **ZITADEL sign-in.** The module can sign in to ClaimRev with a ZITADEL key file, loaded on the Setup tab and stored encrypted. Sites using a client ID and secret keep working unchanged, and switch over by loading a key. See [[# | ||
| + | * **Clearer connection errors.** The Connectivity tab shows why sign-in failed. A key from the wrong ClaimRev environment (test vs production) is detected and named. | ||
| + | * **Token caching.** ZITADEL access tokens are cached and renewed shortly before they expire, instead of being requested on every page load. | ||
| + | * **Upgrade note:** click **Run Upgrade** on the Setup tab once after updating. | ||
| + | * Verified on OpenEMR 8.4.1, 8.3.0 and 7.0.2. | ||
| == Version 2.1.3 — May 22, 2026 (Packagist edition) == | == Version 2.1.3 — May 22, 2026 (Packagist edition) == | ||
| Line 832: | Line 879: | ||
| * **Eligibility Sweep Background Service** — New '' | * **Eligibility Sweep Background Service** — New '' | ||
| * **OpenEMR 7.x Compatibility** — Built-in compatibility shims ('' | * **OpenEMR 7.x Compatibility** — Built-in compatibility shims ('' | ||
| - | * **Compatibility Check** — New diagnostic page (Connectivity > Run Compatibility Check) verifies all module dependencies resolve correctly | ||
| * **Statement Tracking Table** — New '' | * **Statement Tracking Table** — New '' | ||
| Line 850: | Line 896: | ||
| * Portal notifications | * Portal notifications | ||
| * Native OpenEMR eligibility sync | * Native OpenEMR eligibility sync | ||
| - | --- | ||
| - | |||
| - | ===== Module Version Compatibility ===== | ||
| - | |||
| - | Use this table to pick the right module version for your OpenEMR install. **If you are on any OpenEMR 8.x release, use v2.1.7 or later** — earlier versions have known faults on the 8.0.x patch line. | ||
| - | |||
| - | ^ Module version ^ OpenEMR 7.x ^ OpenEMR 8.0.x ^ OpenEMR 8.2 / 8.3 ^ Notes ^ | ||
| - | | **v2.1.7** (current) | Yes | Yes | Yes | Recommended for every supported core. Verified on 8.0.0.3, 8.2.0 and 8.3.0. | | ||
| - | | v2.1.6 | Yes | **No** | Yes | Verified on 7.0.4. On 8.0.x the module' | ||
| - | | v2.1.5 | Yes | **No** | Yes | Same 8.0.x limitation as v2.1.6. | | ||
| - | | v2.1.4 | Yes | Partial | Yes | Fixes the site-wide login failure from v2.1.3, but module pages still fatal on 8.0.x. | | ||
| - | | v2.1.3 | Yes | **No — do not install** | Yes | Causes an HTTP 500 during login bootstrap on 8.0.x, taking the whole site down. Upgrade to v2.1.7. | | ||
| - | |||
| - | All versions require **PHP 8.2 or later**. | ||
| - | |||
| - | ==== Why the 8.0.x column matters ==== | ||
| - | |||
| - | OpenEMR' | ||
| - | |||
| - | * **v2.1.3** called it during login bootstrap — the entire site returned HTTP 500. | ||
| - | * **v2.1.4** routed the service layer through '' | ||
| - | * **v2.1.7** completed that migration. One of the missed call sites rendered inside the patient dashboard, so on 8.0.x it aborted the page render and made the adjacent **Patient Portal / API** panel disappear — a symptom that did not obviously point at this module. | ||
| - | |||
| - | If you are running OpenEMR 8.0.x on v2.1.6 or earlier and see missing dashboard panels or blank module pages, upgrading to v2.1.7 resolves it. | ||
| - | |||
| - | ==== Pinning a specific version ==== | ||
| - | |||
| - | Every release stays available on Packagist. To hold a particular version: | ||
| - | |||
| - | < | ||
| - | |||
| - | There is no separate branch per OpenEMR version. A single build covers both 7.x and 8.x, and older cores are supported by pinning the last release that supported them. | ||
| - | |||
openemr_manual.1787692585.txt.gz · Last modified: by brad.sharp
