Save everything from Maccabi Online to your computer, then ask an AI assistant anything about it: what changed, what stands out, what to do next. Unofficial.
翻譯準備中
外掛TypeScript · JavaScriptGitHub @RoniRachmani上線中營運者未確認
試用過了嗎? 點一下就好,不需要登入。
Ask an AI assistant about your Maccabi Online medical records. Unofficial Chrome extension that saves them, every PDF plus the site's own data, as one ZIP on your computer. Not affiliated with Maccabi Healthcare Services.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Your whole Maccabi history, and a genius friend who's read all of it.
Save everything from Maccabi Online to your computer, then ask anything: what changed, what stands out, what to do next. This Chrome extension saves your records and their PDFs as one ZIP, and you open the folder in the Claude or ChatGPT desktop app. It's free, and your records stay on your computer.
Maccabi Online shows your records one page at a time, within date limits. The export puts every record in one place, where an assistant can read all of it.
[!NOTE] Unofficial. Not affiliated with, endorsed by or sponsored by Maccabi Healthcare Services.
Install · Export your records · What's in the ZIP · Privacy and safety · Development
You need Chrome 120 or newer.
Install from the Chrome Web Store, and Chrome keeps it up to date. However you install it, the build isn't minified, so you can read exactly the code that runs.
health-records-export-for-maccabi-<version>.zip from the
latest release and unzip it.chrome://extensions and turn on Developer mode.manifest.json in it. Keep the folder: Chrome
loads the extension from it.Chrome doesn't update an unpacked extension. To move to a newer one, download it again over the same folder and press
the reload arrow on chrome://extensions. Finish or stop an export first: a reload ends it.
To build it yourself, you need Node.js 22 or newer:
git clone https://github.com/RoniRachmani/health-records-export-for-maccabi.git
cd health-records-export-for-maccabi
npm install
npm run build
Then load the dist/ folder the same way.
maccabi-export-YYYY-MM-DD.zip is in your Downloads folder and Chrome notifies you.| The popup says | What to do |
|---|---|
| Export paused | Your session ended, and the extension couldn't reconnect by itself. Log in to Maccabi Online again, click the icon on that tab and press Resume. Also shown after Chrome restarts mid-export. |
| Waiting for the Maccabi Online tab | Bring the tab back to the front. The export continues on its own. |
| Export stopped | Press Try again on the Maccabi Online tab. It continues from the step that failed. |
| The ZIP was not saved | Press Save again. Also shown when Chrome closed while the ZIP was downloading. |
Resume refuses to continue if a different member is logged in. Cancel export ends the export and deletes the files collected so far, once you confirm it. An export left paused or stopped for 7 days is deleted the same way, and a notification says so.
A single item that fails doesn't stop the export. It's listed in the popup when the export finishes, and stays
there until the next export starts. The ZIP records it too, in export-errors.json, so whoever reads the export
later can tell a section that failed from one that had nothing in it.
One folder, maccabi-export-YYYY-MM-DD/:
| Folder | Contents |
|---|---|
profile/ | Member details, entitlements, insurance seniority, your doctors' provider details |
my-doctor/ | Assigned doctors and eligibilities |
test-results/ | Test list, each result, a history per lab measurement, latest lab results, result PDFs |
visit-summaries/ | Visits of the last 12 months, and older ones that answered an inquiry to your doctor, with their summary PDFs |
medications-and-prescriptions/ | Prescriptions and their PDFs, full purchase history, purchase report PDF |
referrals/ | Referrals and their PDFs |
approvals/ | Medical certificates, approvals and specialists' answers to your doctors, and their PDFs |
info-pages/ | Information pages from your visits, and their PDFs. Only when the site lists any |
vaccinations/ | Vaccinations by group, flu vaccine eligibility, vaccination booklet PDF |
letters/ | Letters and their PDFs |
communication-with-doctor/ | Inquiries to doctors and attached forms, each pointing to the visit it was answered in |
uploads/ | Documents you uploaded and their files |
hospital-stays/ | Hospital visits: date, kind of visit, hospital and department, and discharge letters when the site has them. Only when the site lists any |
allergies-sensitivity/ | Your recorded sensitivities. Kept even when there are none, so an empty list says none are on record |
appointments/ (future only), requests-approvals/ | Only when the site has something in them |
<date>_medical-file.pdf | Your full medical file, freshly ordered for the widest range Maccabi allows: the document that reaches furthest back, and the place to start |
README.md | Instructions for an AI assistant, and the export's own data dictionary: what each folder holds, how a record is shaped, which fields carry no meaning, what the export does not contain, and which extension version and file layout made it |
Every section keeps its list in list.json, one JSON file per record in details/, and documents in files/.
Files are named <date>_<id>_<title>, so a record's JSON and its PDF share a name:
visit-summaries/list.json
visit-summaries/details/2026-02-01_A1_קרדיולוגיה.json
visit-summaries/files/2026-02-01_A1_קרדיולוגיה.pdf
The date and id come from the record; the title is a display string the site returned, used as it sent it and left out when a record has none.
Each document is saved once. A form attached to an inquiry is often the very file of a referral or a prescription,
and a document can be uploaded twice: the copy isn't written again, and the record it belongs to says where the
file is instead (files[], with same_as).
Finder, Windows Explorer and 7-Zip read the Hebrew file names correctly. macOS's unzip command garbles them: use
ditto -x -k <zip> <dir> there.
README.md is written for whoever reads the export next, most often an AI assistant. It says what the files can't
say for themselves: where to start, what the export doesn't contain, so an omission isn't taken for an absence in your
history, and which values mislead, such as a lab result of 0 that is really a text answer.
Each JSON file is the site's response as sent, wrapped with where it came from. Your member ID is never written into
file paths or endpoint values:
{
"endpoint": "GET MainAppAPI/v1/members/0/{mid}",
"fetched_at": "2026-09-17T08:12:03.512Z",
"status": 200,
"data": { "...": "the response, unchanged" }
}
Two exceptions: medications-and-prescriptions/purchased-history.html is the site's purchase table as sent
(windows-1255; the site has no JSON version of it), and the two report files leave out the base64 PDF, which is saved
in files/ instead — those say so in their own omitted field.
The website has the full guide: what to ask, with pictures, and how to open your export, step by step. In short:
Unzip the export and open the whole folder in an assistant's desktop app. A chat takes a few dozen files, and an export has hundreds:
claude in the folder.Claude's desktop app needs a paid plan for now. ChatGPT Work is in the free plan too, where it has rolled out. Its usage is limited, and a large export may need more. Then start with:
Read README.md first. Then summarize my health history from my full medical file.
Then ask what you'd ask a friend who had read everything:
Or ask it to make something, like a chart of your cholesterol over the years or a one-page summary for a new doctor.
The export's README.md is the assistant's instructions: it asks it to show the file and page behind each fact, leave
your files alone, keep your name and ID out of searches, and say plainly when something needs a doctor. The assistant advises; you
and your doctor decide. For urgent symptoms, call your doctor or Magen David Adom on 101.
online.maccabi4u.co.il. It has no servers, analytics or tracking, and no
remote code.[!WARNING] The ZIP isn't encrypted. Anyone who can open it can read your health information. Keep it somewhere safe, and take care when you share it.
[!WARNING] Your records go only where you take them. The extension sends your records nowhere. The AI service you open them in can read them, so before you do, check what it keeps and for how long. Where its settings allow: turn off training on your chats, give each person a project of their own, and check what its memory shares with your other chats, and delete the chats and the project when you're done with them.
Read the full Privacy Policy and Terms of Use.
| Permission | Used to |
|---|---|
online.maccabi4u.co.il | Read your records from the site you're logged in to. No other sites. |
scripting | Read the login session from the Maccabi Online tab, and send the requests the site accepts only from its own pages |
downloads | Save the ZIP |
storage, unlimitedStorage | Keep export progress, and collected files until the ZIP is saved (PDFs can be large) |
offscreen | Build the ZIP, and parse two HTML tables the site returns |
alarms | Continue a long export if Chrome suspends the extension's background worker |
notifications | Tell you when the export is ready or needs you |
You need Node.js 22 or newer and Chrome.
npm install
npm test # unit tests (synthetic data only)
npm run typecheck
npm run dev # development build in dist-dev/, rebuilt on change
npm run build # store build in dist/
Load dist-dev/ unpacked at chrome://extensions. It shows up as "Maccabi Health Records Takeout - Ready for AI (dev)".
flowchart LR
popup[Popup] -- messages --> sw[Service worker]
sw -- "/sonline/ REST API and PDFs" --> site[(Maccabi Online)]
sw -- chrome.scripting --> tab[Maccabi Online tab]
tab -- "/online/ legacy pages, medical file order" --> site
sw -- staged files --> idb[(IndexedDB)]
sw -- "parse HTML, build ZIP" --> off[Offscreen document]
off -- reads staged files --> idb
sw -- chrome.downloads --> zip[ZIP in Downloads]
The service worker walks a fixed plan of steps and checkpoints each one, so a paused run continues where it stopped. REST API requests go from the service worker; the legacy pages' requests, and the medical file order, go from inside the Maccabi Online tab, where the site requires them to originate.
| Path | Contents |
|---|---|
src/core/ | The collection logic, one file per part of the site in sections/. Uses no extension APIs: it reaches the site through a Transport, writes through a Sink and parses HTML through an HtmlParser (see types.ts). |
src/extension/background/ | The service worker: the run loop with pause and resume (runner.ts), the Maccabi Online tab (tab.ts), badge and notifications (ui.ts) |
src/extension/offscreen/ | HTML parsing and ZIP building, which the service worker can't do |
src/extension/shared/ | Run state and plan, IndexedDB staging, the ZIP's layout and the README.md written into it |
src/extension/popup/ | The popup |
src/extension/dev/ | The bridge content script, injected by the development build only |
test/ | Vitest tests against a fake Maccabi Online (fakes.ts) |
docs/ | The endpoint maps, the privacy policy and terms, the store listing, the positioning the copy follows, the popup's sections with their steps and timings, and each release's notes: docs/README.md says what each file is for |
public/ | Icons, and the privacy policy, terms and third-party notices that ship in the extension |
site/ | The landing page, for the web only: published by the Pages workflow, never shipped in the extension |
store/ | Chrome Web Store images in assets/, and the pages they're rendered from in src/ |
scripts/ | Build scripts (icons, store images and video, the release ZIP), the live run, the export from the terminal, and the check of the landing page's motion (npm run site-check) |
tools/ | Tools for working on the extension that are no part of it: endpoint-scan/, which lists what the site's own code can call that the endpoint maps lack () |
CONTRIBUTING.md has the rest: how a run is checkpointed and resumed, the design system, driving a run from the console or the terminal, releasing, and the ground rules. tools/endpoint-scan/README.md covers the scan for requests the site makes that the export doesn't.
Report bugs in GitHub Issues. Issues are public: never include health information, your ID number or files from an export.
MIT.
The extension copies what Maccabi Online provides and doesn't interpret it. It isn't medical advice or an official copy of your records. See the Terms of Use.
export-errors.json | Everything the export failed to collect, by folder: [] when every request was answered |
CLAUDE.md, AGENTS.md | Point Claude Code and Codex at README.md, so they take it as their instructions without being told to |
npm run endpoints.github/ | The CI workflow that runs the gate, the workflows that publish a release, publish the website and check that the store images and video still render (they are rendered on a Mac), the issue forms, the security policy, and Dependabot, whose pull requests CI merges once they pass |