Your note, in your EHR's own fields, checked
The Margent Field Mapper puts a note you've reviewed into the right fields of a web-based EHR, then reads every field back to confirm it saved. It never clicks Sign. You do.
- Chrome Web Store listing coming soon
- Chrome 116+ or current Microsoft Edge
- Open it withAltShiftA
Progress note
J.E. (fictional) · 10/30/2026 · 90837
The extension never clicks this button.
A simulation built from the extension's own rules and its fictional sample note. Type in the Response field, then insert again, to see how text you've written is protected.
Five steps, and the last one is a check
Nothing runs on your EHR pages until you open the extension. Then it does one job: put the note where it belongs and prove it stayed there.
- 1
Receives the note you reviewed
MARGENT_PENDING_NOTEWhen you sign in Margent and choose Send to EHR, the note goes to the extension. It holds the note in memory only, with client initials and no citation markers.
- 2
Recognizes the EHR
score ≥ 70 = matchedWhen you open the extension, it checks the page address and the form's structure against versioned selector packs, in every frame, including iframes and framesets.
- 3
Finds each field
selectors → labels → ARIAIt tries the pack's selectors first, then the pack's labels, then generic label and ARIA rules. It never writes into a field labelled as a signature, password, PIN or search box.
- 4
Fills with real input events
input + changeValues go in through the browser's own setter, followed by input and change events, so the EHR's React, Angular or Vue state and its own validation see the change. Rich-text editors get an InputEvent too.
- 5
Reads every field back
~600 ms read-backAbout 600 ms after writing, once the page's own scripts have run, it reads each field and compares it with your note. You get a checklist: verified, extra text, mismatch, skipped, too long or not found, with a Copy button on any section that didn't verify.
A versioned field map per EHR, and a fallback for the rest
Each selector pack says how to recognize an EHR and where each note section goes. Packs marked starter were written from public documentation and haven't yet been checked on a live tenant. On any other web EHR, generic label and ARIA rules find the fields, and the read-back shows what landed.
| EHR | Status | Sections mapped | Pack version |
|---|---|---|---|
| SimplePractice*.simplepractice.com | Starter | Behavior, Subjective, Objective, Intervention, Response, Assessment, Plan, Risk | 2026.10.1 |
| TherapyNotes*.therapynotes.com | Starter | Behavior, Intervention, Response, Plan, Risk, Assessment | 2026.10.1 |
| TheraNest*.theranest.com | Starter | Behavior, Intervention, Response, Assessment, Plan | 2026.10.1 |
| Kipu*.kipuworks.com | Starter | Behavior, Goal, Intervention, Response, Plan, Risk | 2026.10.1 |
| Netsmart myAvatar*.netsmartcloud.com | Starter | Behavior, Intervention, Response, Plan, Risk | 2026.10.1 |
| Qualifacts Credible*.crediblebh.com | Starter | Behavior, Intervention, Response, Plan, Risk | 2026.10.1 |
| Any other web EHRgeneric labels + ARIA | Verified on our test EHR | Behavior, Subjective, Objective, Data, Problem, Goal, Intervention, Response, Assessment, Plan, Risk | 2026.10.1 |
EHR runs over Citrix or remote desktop? The browser can't reach it; see the other ways we connect. Want your EHR's pack verified on your templates? Tell us which one.
Checked before it reaches the EHR. Signed only by you.
Note checks run when you sign in Margent, so the note the extension carries has already been checked against your note rules. Critical issues pause the signature; everything else is advisory and logged. The extension then fills the EHR and stops. The EHR's own Sign button stays yours.
How note checks work- MargentYou review the draft and click Sign.
- Note checksChecks the note against your rules. Critical issues pause the signature until you fix or dismiss them.
- MargentSend to EHR hands the signed note to the extension, initials only.
- ExtensionFills each field, waits for the EHR's scripts, reads every field back.
- YouReview in the EHR and click its own Sign button.
No client information kept in the browser beyond the pending note
Each guarantee below is enforced in the extension's code and manifest, not by policy alone.
- Never signs or submits
- The field mapper contains no click, submit or keyboard events. Buttons, links and role=button elements are never write targets. You click your EHR's Sign button.
- No client information stored in the browser
- The extension does not request the storage permission. The pending note lives in a variable in the background worker, expires after 15 minutes, and is gone when the browser stops the worker.
- Runs only when you ask
- Nothing is injected into EHR pages when they load. The field mapper is injected when you open the extension (activeTab and scripting). The only content script runs on Margent's own pages.
- Accepts notes only from Margent
- Notes are accepted only from the extension's own pages or from Margent tabs. Each one is checked for shape and limited to 100 KB.
- Doesn't overwrite your work
- Fields that already contain text are skipped unless you tick “Replace text already in EHR fields”.
- No remote code
- Selector packs are JSON bundled with the extension, and its content security policy is script-src 'self'.
Force-install it for every clinician
Chrome and Edge both read the ExtensionInstallForcelist enterprise policy. Push it from Google Admin, Intune, Group Policy or an MDM profile, and the extension installs on next browser start and can't be removed by users.
- Permissions: activeTab and scripting only. No storage, no history, no access to every site.
- Host access is limited to the EHR domains it has packs for, plus Margent itself.
- Edge can install Chrome Web Store extensions by policy, so one listing covers both browsers.
The extension ID is issued with the Chrome Web Store listing, which is coming soon. Early-access teams get the ID and install help from us directly.
{
"ExtensionInstallForcelist": [
"<margent-extension-id>;https://clients2.google.com/service/update2/crx"
]
}- Google Admin console
- Devices › Chrome › Apps & extensions › Users & browsers › Add Chrome app or extension by ID, set to Force install
- Windows (GPO / Intune)
- HKLM\Software\Policies\Google\Chrome\ExtensionInstallForcelist
- macOS (MDM profile)
- com.google.Chrome › ExtensionInstallForcelist
What it doesn't do yet
Known limits, written down so your team isn't surprised by them.
- The browser can stop the extension's background worker after about 30 seconds of inactivity, which clears the pending note. Send it again from Margent. That is the trade-off for never writing clinical text to disk.
- Fields inside cross-origin iframes are reachable only on hosts the extension lists. A new EHR domain needs a new host permission and a pack, which means an extension update.
- Packs marked starter were written from public documentation and haven't yet been checked against a live tenant. Generic label and ARIA rules cover fields a pack misses, and the read-back check shows anything that didn't land.
Early access
Try it on your EHR before the store listing goes live
Tell us your EHR and note templates. We'll check the pack against a test client with you and send the install details for your browsers.