Apps & API
Patients choose health apps and approve each one; clinicians open your approved apps from the chart; services you work with take a regular export. Apps only read records, and patients can turn any app off.
Apps & API
Patients choose health apps and approve each one; clinicians open your approved apps from the chart; services you work with take a regular export. Apps only read records, and patients can turn any app off.
Patient & third-party app access: turn it on
Patients can connect a health app of their choice (for example a personal health record app on their phone) to their records at your practice. Clinicians can open apps your practice approves straight from a patient’s chart. And an approved service your practice works with can receive a regular export of your patients’ records. Patients approve every app themselves and can turn it off at any time. Apps can only read records; nothing an app does changes the chart.
-
Turn the feature on.
A practice administrator (or someone allowed to manage additional features) opens
Admin → Additional Features, findsPatient & third-party app access, switches it on and pressesSave Changes. It is off for every practice until you turn it on. -
Open
Admin → Apps & API. The item appears in the Admin menu’s Practice group once the feature is on. It is for practice administrators, the owner, and staff given Manage third-party integration credentials (only the owner or an administrator can give it; the Office Manager role profile does not include it). - Give developers your address, or register the apps you use. See The Apps & API page and Register an app.
Apps button and the portal’s Connected apps page disappear, apps stop getting records on their next request, and an app that tries to sign in shows “This practice does not offer app connections.” Your registered apps are kept for when you turn it back on.The Apps & API page
One page, top to bottom:
| Card | What it shows |
|---|---|
Your FHIR server | Your practice’s FHIR base URL with Copy: give it to app developers. It only answers for your practice. Links to the Developer documentation and the Public listing of Hero practices that apps use to find you. |
Apps your practice registered | Apps you added with Register an app. Each one has a client ID that works only at your practice. |
Apps registered with Hero | Apps Hero has reviewed that work at every Hero practice. They are on at your practice once the feature is on; you can only switch one off, and you should only do so if it puts your patients’ data at risk. Shown only when there are any. |
Recent bulk exports | The last exports background services took: Service, Requested, Status, Records (with the number of patients). Shown only when there are any. |
Sign-in lengths | Access lasts (5 to 60 minutes, 60 by default) — how long an app reads records before it quietly renews its sign-in. Patient apps stay connected and Provider apps stay signed in (92 to 365 days without use, 92 by default). Most practices never change them; press Save after a change. |
Each app row shows its name, what kind it is (Patient app, Provider app or Background service), how it signs in, the developer, its Client ID with Copy, and how many connections it has and when it was last used. On the right:
- The On/Off switch. Turning an app off ends all its connections at your practice at once; when it has any, Hero asks first (“Turn off …? Its 3 connections end now and people will need to connect it again.”). Turning off an app registered with Hero affects your practice only.
New secret(apps that sign in with a secret). The old secret stops working right away; copy the new one when it is shown, because you won’t see it again.- Edit (pencil) and Remove (bin), for apps your practice registered. Removing ends every connection and the client ID stops working.
Every change on this page is recorded in the practice’s access log.
Register an app
The app’s developer tells you how the app signs in and where it sends people back to. Then:
-
Press
Register an appand name it.App nameis required. -
Choose
Who uses it.Patient app(“Patients connect it to their own records”, the default),Provider app(“Clinicians open it from a patient’s chart”) orBackground service(“Exports all patients for population health. No one signs in.”). -
Choose
How it signs in, as the developer tells you.No secret(a phone or browser app),Secret(the default; a server-side app) orKey set (JWKS). A background service always uses a key set: enter itsKey set URL, or paste its public key set. -
Fill in the addresses.
Redirect URIs, one per line, exactly as the developer gives them (required for patient and provider apps, up to 10). For a provider app, the optionalLaunch URLis where Hero opens the app from a chart; leave it empty if clinicians start the app on their own. Add thePrivacy policylink andWhat the app does(patients read it when they approve the app). -
Press
Registerand copy what Hero shows.App registeredshows theClient IDand, for an app with a secret, theClient secret: “Copy the secret now and give it to the app’s developer securely. You won’t see it again; you can make a new one later.”
There is no review step for an app your practice registers: it works at your practice as soon as you save. To change it later use Edit; what kind of app it is and how it signs in can’t change (register a new app instead).
Bulk exports for a service you work with
For a population-health or analytics service: register it as a Background service with its key set, and give the vendor the client ID. The vendor’s service then asks for exports itself; there is no button in Hero that starts one. An export covers all of your practice’s patients, its files are kept for 24 hours, at most two run at once for one service, and every patient included is recorded in the access log. You see each one under Recent bulk exports. To make a file of one patient’s whole record yourself, use Export health information instead.
Open an app from a patient’s chart
When your practice has an active provider app with a Launch URL, the patient header shows an app button (in the horizontal patient bar next to Send to ECG, and in the vertical patient-info panel). With one app the button carries the app’s name and opens it directly. With several it reads Apps and opens Open an app: “The app opens in a new tab with this patient’s chart.” When you are in a visit’s note, the app gets the visit too. The button shows for physicians, administrators and staff who can view patient details; billing-only accounts don’t see it.
The approval screen
- Opened from the chart by you: no question. Hero shows “Opening … for …” and the app opens.
- Started in the app itself: after you sign in to Hero, the screen asks “Allow … to use Hero EMR as you?”, lists what it can read (“It can read what you can see in charts:” and the record types), links the app’s privacy policy, and offers
Don't alloworAllow. Either answer returns you to the app.
An app only ever reads what your account may see in charts. Emergency chart access does not count. A provider app stays signed in until it goes unused for the Provider apps stay signed in days (92 by default), and stops at once if your account becomes inactive or the practice turns the app or the feature off.
| You see | What to do |
|---|---|
| “This launch expired. Open the app again from the chart.” or “This launch link is not valid” | A launch from the chart works once, for 10 minutes. Press the app button again. |
| “Only the person who opened this app from the chart can continue.” | Someone else’s launch link was opened. Open the app from the chart yourself. |
| “This app asked only for patient access, which needs a chart. Open it from a chart.” | The app can’t be started on its own. Use the chart’s app button. |
| “This sign-in request expired…” or “…already answered…” | Go back to the app and start again (a sign-in request lasts 30 minutes). |
| “This app can't connect” | The app isn’t registered at your practice, was turned off, or sent an address you didn’t register. Check it on Apps & API with its developer. |
How a patient connects an app, and turns it off
- The patient starts in the app. When the app connects to your practice it opens your patient portal. A signed-out patient signs in first; someone whose login covers several practices is switched to yours.
-
They read what the app asks for.
“Allow … to see your health records?” names the app’s maker and your practice, and says plainly that the app isn’t run by your practice and its own privacy policy decides how it uses the information. A parent or caregiver who can share more than one person’s records chooses under
Whose records?. -
They choose what to share.
What … can seelists the kinds of records (basic information, allergies, health problems, medications, test results and measurements, immunizations, visits, care plans and goals, notes and documents, implanted devices, insurance and more), all ticked: “Uncheck anything you don’t want to share.” Health problems and test results can be narrowed further, for example to lab results and vital signs only. -
They press
AlloworDon't allow. If they signed in more than 15 minutes earlier, Hero first asks them to confirm it’s them (password or passkey). Either answer returns them to the app.
Connected apps. Patients see every app they allowed under the account menu → Connected apps: who made it, when it was connected (and by whom, if a caregiver did it), when it was last used, what it can see, and Turn off access. Turning it off stops the app getting records right away; the page reminds them that information the app already has stays with the app, and to ask its developer if they want it deleted.
Apps & API shows only how many connections each app has. A patient who wants an app cut off turns it off in Connected apps; switching the app off on Apps & API ends it for every patient.Need help? Email support@heroemr.com.