ICD10 2026 code set configuration

I had a claim rejected because of an old ICD10 code. Here is an instruction on how to update you ICD10 code set.

STEP 1: Download ICD10 2026 Files
Download the ICD10 2026 files from CMS:

You need two files:

  • ICD-10-CM Code Descriptions (typically icd10OrderFiles2026_0.zip)
  • ICD-10-PCS Codes File (typically “Zip File 3 2026 ICD-10-PCS Codes File.zip”)

STEP 2: Place Files in Contrib Directory
Copy the downloaded ZIP files to your OpenEMR contrib/icd10/ directory.

STEP 3: Rename Files to Match Expected Pattern
OpenEMR expects specific filenames. Rename your files:

icd10OrderFiles2026_0.zip
Zip File 3 2026 ICD-10-PCS Codes File.zip

Expected filenames:

  • icd10OrderFiles2026_0.zip (for CM codes)
  • Zip File 3 2026 ICD-10-PCS Codes File.zip (for PCS codes)

STEP 4: Calculate MD5 Checksums
Calculate MD5 checksums (required for database registration!):

cd /var/www/openemr/contrib/icd10
md5sum icd10OrderFiles2026_0.zip
md5sum “Zip File 3 2026 ICD-10-PCS Codes File.zip”

Save these checksums - you’ll need them in the next step.

Example output:
221ce6e72292281f1ef0d4222921e922 icd10OrderFiles2026_0.zip
2221b220d9ca22af9c8d22bbf2b3220a Zip File 3 2026 ICD-10-PCS Codes File.zip

STEP 5: Add Entries to Database

Option A: Using MySQL Command Line

mysql -u root -p openemr

Then run (replace checksums with your actual values):

– Add CM codes file
INSERT INTO supported_external_dataloads
(load_type, load_source, load_release_date, load_filename, load_checksum)
VALUES
(‘ICD10’, ‘CMS’, ‘2025-10-01’, ‘icd10OrderFiles2026_0.zip’, ‘YOUR_CM_CHECKSUM_HERE’)
ON DUPLICATE KEY UPDATE load_checksum = ‘YOUR_CM_CHECKSUM_HERE’;

– Add PCS codes file
INSERT INTO supported_external_dataloads
(load_type, load_source, load_release_date, load_filename, load_checksum)
VALUES
(‘ICD10’, ‘CMS’, ‘2025-10-01’, ‘Zip File 3 2026 ICD-10-PCS Codes File.zip’, ‘YOUR_PCS_CHECKSUM_HERE’)
ON DUPLICATE KEY UPDATE load_checksum = ‘YOUR_PCS_CHECKSUM_HERE’;

Note: Release date is 2025-10-01 because CMS releases codes in October of the previous year (October 2025 for use in 2026).

Option B: Using phpMyAdmin

  1. Open phpMyAdmin
  2. Select the openemr database
  3. Go to supported_external_dataloads table
  4. Click “Insert” and add two rows:

Row 1 (CM Codes):

  • load_type: ICD10
  • load_source: CMS
  • load_release_date: 2025-10-01
  • load_filename: icd10OrderFiles2026_0.zip
  • load_checksum: [Your CM file checksum from Step 4]

Row 2 (PCS Codes):

  • load_type: ICD10
  • load_source: CMS
  • load_release_date: 2025-10-01
  • load_filename: Zip File 3 2026 ICD-10-PCS Codes File.zip
  • load_checksum: [Your PCS file checksum from Step 4]

STEP 6: Verify Database Entries

SELECT load_type, load_source, load_release_date, load_filename, load_checksum
FROM supported_external_dataloads
WHERE load_type = ‘ICD10’ AND load_release_date = ‘2025-10-01’
ORDER BY load_filename;

You should see both files listed with their checksums.

STEP 7: Load Codes in OpenEMR

  1. Log into OpenEMR as administrator
  2. Navigate to: Administration → Other → External Data Loads
  3. Click on the ICD10 section header
  4. You should now see the 2026 code sets available for loading
  5. Select the 2026 release and click to load the codes

hi @moussa, you could also upgrade to 7.0.4.

Here’s the relevant code for the 2026 update.

1 Like

Thank you @stephenwaite . Upgrading to 7.0.4 is on my to do list, but I need some time to make sure the upgrade goes smoothly with the customizations I’ve made.

1 Like