Changelog

New features and fixes in each release of Healthcare Online Tools.

v1.13.0

New features

  • A feedback button on every page to report a problem or suggest an improvement, and a contact page linked from the footer.

v1.12.0

New features

  • New page: ICD-10-CM 2027 changes. Every code added, deleted or revised for 1 October 2026, and the 15 codes that stay in the classification but stop being billable, each with the codes that replace it. Every code opens in the ICD-10 Code Browser.
  • ICD-10 Code Browser: links can open a specific search and release (for example ?release=2027&q=E11.9), and code searches recognise codes with a letter in second position, such as QA1.71.

v1.11.0

New features

  • ICD-10 Code Browser: the FY2027 ICD-10-CM code set (in force from 1 October 2026) is here, alongside the April 2026 update and the FY2026 October release. Each release shows its discharge window, and the browser opens on the one in force today, so it switches to FY2027 on 1 October by itself.
  • ICD-10-PCS Code Builder: adds the FY2027 tables, index and titles (79,256 codes). The builder now opens on the release in force today instead of the newest one, so September discharges are not coded with codes that are not yet valid.

v1.10.0

New features

  • New ISHNE Holter Viewer, in the Biosignal Tools category: open ISHNE Holter ECG recordings โ€” together with their beat annotation file if you have one โ€” and see every header field, each lead with its name, quality and resolution, and per-lead statistics that flag saturated samples. It recomputes the checksum and explains problems like a truncated file, an ECG size that does not match the file or an annotation file that belongs to a different recording. Browse the waveforms of full 24- to 48-hour Holters with beat labels drawn on the traces, filter the beat list with RR intervals and heart rate, and see a minute-by-minute heart-rate trend with basic HRV (SDNN, RMSSD, pNN50) computed from the annotations. Export the document, leads, beats or a window of samples. The files are read on your own machine and never uploaded.
  • The EDF Viewer now shares its tables and waveform viewer with the new ISHNE Holter Viewer, so improvements to either one reach both.
  • New EDF Viewer, in a new Biosignal Tools category: open EDF, EDF+ and BDF recordings โ€” polysomnography, EEG, ECG โ€” and see every header field, the channel list with units, ranges, filters and sample rates, and all EDF+ annotations such as sleep stages and events. It checks the file against the specification and explains problems like a truncated recording or a wrong record count, computes per-channel statistics and flags saturated channels, and lets you page through the waveforms of even multi-gigabyte files. Export the header, signals, annotations or a window of samples. The file is read on your own machine and never uploaded.
  • New DICOM Diff Tool: load two .dcm files and see exactly how they differ, tag by tag โ€” what is identical, what changed, and what exists in only one of them. It reads inside sequences instead of summarising them, so nested attributes in structured reports and scheduled procedure steps are compared properly. Filter down to just the PHI tags to check an anonymisation, or just the UID tags to check a PACS migration, then export the filtered report as CSV for the ticket. Both files are read entirely on your own machine and never uploaded.
  • New ICD-10-PCS Code Builder: procedure codes are built, not looked up, and this builds them the way the classification actually works. Pick a section, body system and root operation and the remaining four characters offer only the values that are valid together โ€” because a PCS code exists only when all seven come from the same row of a table, which is what makes so many plausible-looking codes get a claim rejected. Paste a code you already have and every axis is named; if it does not exist, you get the exact character that breaks it and what the table would have accepted instead. The full alphabetic index is included, so you can start from the procedure name the way the manual does, and both FY2026 and FY2025 are loaded because claims work runs behind the 1 October update. Alongside it, a reference page defining all 31 root operations with the distinctions that cause the most rework. Everything runs in your browser.
  • The HL7 to JSON Converter now splits subcomponents, not just fields, repetitions and components. A field like an assigning authority carrying a namespace, an OID and a universal ID type together (`CITY_GENERAL&1.2.840.114350&ISO`) used to come through as one opaque string; each of those subcomponents is now its own array entry, so the OID your EMPI or FHIR Identifier.system mapping actually needs is no longer buried inside a string you'd have to re-parse by hand.

Fixes

  • EDF and ISHNE Holter viewers: zoomed-out waveforms are now drawn as one continuous trace instead of separate vertical bars.
  • Removed the blog tag pages: most listed just one or two articles and added little beyond the article itself. Tags still appear on each article as labels, and the blog categories remain the way to browse related articles.
  • Two fixes in the HL7 tools. The message viewer did not model repeating fields: a patient identifier list like 1^^^MR~2^^^SSN was read as one long field, so from the repetition separator onwards every component carried the wrong label โ€” the second identifier's assigning authority was shown as part of the first identifier. Repetitions are now split out and shown as separate labelled groups, and MSH-1 and MSH-2, which define the separators themselves, are never split. In the HL7 v2 to FHIR converter, the coding system was emitted as urn:oid: followed by whatever the message said, producing urn:oid:LN for a LOINC code โ€” not an OID, not a valid URI, and enough to fail FHIR validation. The well-known terminologies now map to their real canonical URIs (LOINC, SNOMED CT, ICD-9/10, CPT, HCPCS, RxNorm, NDC, UCUM, CVX), a genuine numeric OID keeps urn:oid:, and a local or unrecognised system is left without a system URI and reported in the warnings rather than being invented.
  • Two fixes in the HL7 v2 to FHIR Mapper. When a patient carried more than one identifier in PID-3 โ€” an enterprise MRN and a local facility MRN, say โ€” only the first ever became a Patient.identifier, and if a second one was present its data bled into the first entry's identifier type instead of staying separate. The same happened to alternate or maiden names in PID-5. Every repetition of both fields now becomes its own entry. Separately, a results message covering more than one panel or order โ€” a chemistry panel and a microbiology culture sent together โ€” produced a single DiagnosticReport with every result from every panel mixed into it; each OBR group now becomes its own report, holding only the results that belong to it.

v1.8.0

New features

  • New ICD-10-CM and DICOM guides: how a code is structured and how to look one up, billable vs non-billable codes, Excludes1 vs Excludes2 notes, ICD-10-CM vs ICD-10-PCS, plus windowing (window width and level) and the standard CT presets for brain, lung, bone and soft tissue.
  • Blog tags now follow the language you are reading in, and the tag you filtered by is shown on the page so it is clear what the list is filtered to.
  • Article images now carry descriptive alternative text, so screen readers describe what each illustration shows instead of repeating the article title.

Fixes

  • Fixed 11 internal links that pointed to the wrong category or to a non-localized address and led to a Not Found page.
  • Spanish blog tag pages kept their old addresses working: the previous links now redirect to the translated address instead of breaking.
  • Article publication dates are spread across distinct days, so the blog reads as a steady stream of articles instead of large batches all dated the same day.

v1.7.0

New features

  • New FHIR Bundle Explorer: open a FHIR Bundle, a single resource or a Bulk Data NDJSON export, browse the resources as a tree with clickable references, flatten any resource type to a table, and download it as CSV โ€” all in your browser.
  • Added a feedback button (report a bug or suggestion) and a contact form. Both are optional โ€” they only appear when configured.
  • New X12 EDI 837/835 Viewer: parse and inspect healthcare claim and remittance (ERA) files locally, with named segments and no PHI upload.

Fixes

  • Blog article headers are now a shorter, full-width hero image instead of an oversized banner.

v1.6.0

New features

  • Blog, tag and category pages are now paginated (12 per page) for faster browsing.
  • Each site now has a public changelog โ€” click the version in the footer to see what's new.
  • Refreshed page headers: the title and description now sit on a larger hero image, and category pages show each tool as an image card you can browse at a glance.
  • The privacy notice is now a compact dismissible bar at the bottom of the screen instead of a large block, leaving more room for the tool.

Fixes

  • Fixed the blog card image so it fits the card edge-to-edge instead of floating with extra padding.
  • Lab Unit Converter no longer shows a negative value for an out-of-range HbA1c; it now warns instead.
  • Fixed offline mode: the offline cache failed to install because of missing icon files, so pages weren't reliably available offline.
  • Keyword tags now show as individual tags instead of a single comma-separated line.