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:49] – 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 684: | Line 701: | ||
| ==== Module Version Compatibility ==== | ==== Module Version Compatibility ==== | ||
| - | Use this table to pick the right module version for your OpenEMR install. | + | **Always run the current |
| - | ^ Module version ^ OpenEMR 7.0.4 ^ OpenEMR 8.0.x ^ OpenEMR 8.2 / 8.3 ^ Notes ^ | + | ^ Module version |
| - | | **v2.1.7** (current) | Yes | Yes | Yes | Recommended for every supported core. Verified on 7.0.4, 8.0.0.3, 8.2.0 and 8.3.0. | + | | **v2.2.0** (current) | Yes | Yes | Yes | Yes | Yes | Yes | |
| - | | v2.1.6 and earlier | **No** | **No** | + | | v2.1.9 | Yes | Yes | Yes | Yes | Yes | Not tested |
| - | | v2.1.3 only | **No — do not install** | + | |
| - | Earlier OpenEMR 7.0.x releases (7.0.2 and below) may work on older module versions, because those cores ship no '' | ||
| - | All versions require | + | Requires |
| - | === Why older module | + | === Running an older module |
| - | OpenEMR 7.0.4 and the 8.0.x patch releases ship an '' | + | **v2.1.6 and earlier fail on OpenEMR 7.0.4 and on the 8.0.x patch line.** Module pages die with: |
| - | * **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 | + | |
| - | If you are running OpenEMR 7.0.4 or 8.0.x on v2.1.6 or earlier | + | Those cores ship an '' |
| + | |||
| + | Upgrading | ||
| === Pinning a specific version === | === Pinning a specific version === | ||
| Line 709: | Line 724: | ||
| Every release stays available on Packagist. To hold a particular 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. | 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. | ||
| Line 736: | 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 796: | 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) == | ||
openemr_manual.1787694554.txt.gz · Last modified: by brad.sharp
