Revenue integrity for independent medical practices

See every claim your billing reports leave behind.

Krino Health provides independent oversight for outsourced medical billing. We turn an export from your practice management system into a prioritized worklist of denied, underpaid, and untouched claims — showing what happened, what to do next, and who needs to act.

Your biller runs the billing workflow. Krino Health gives your practice an independent view of the outcome.

Book a 20-minute call →No pitch — we’re learning how practices handle denials today.


01  /  What you get

Your reports show the fee, not the missed revenue.

If you outsource billing, an invoice and a monthly summary are usually the clearest documents you receive. They show what you paid and how much was collected — but not the claims that never turned into revenue.

Synthetic example · not a real practice or billing company
INVOICE
NORTHFIELD MEDICAL BILLING, LLC
P.O. Box #2214
Fairview, OR 97024
Service To: RIVERBEND FAMILY MEDICINE
Attention To: PRACTICE ADMINISTRATOR
Invoice No. 47
Invoice Date: 07/28/2026
#DescriptionTotal
47Patient Statements Paid$4,210.55
June 2026 Billing Services$118,463.90
June 2026 Billing Credit($612.40)
Subtotal:$122,062.05
6% of Subtotal:$7,323.72
INVOICE TOTAL:$7,323.72
Synthetic example
Monthly Summary — June 2026
Charges submitted$214,880
Insurance payments$118,464
Adjustments$38,190
Patient balance$11,720
Net collection rate93.8%

93.8% reads well, and it’s meant to. But different outcomes — contractual write-offs, denials no one worked, claims that ran out of time, payments that came in short — get compressed into a few aggregate lines. You still can’t see which claims are recoverable, or whether anyone followed up.


Better

Denial totals help, but they still don’t show the next action.

Synthetic example
Denials by reason — June 2026
CO-16   Claim lacks information or has a billing error22 claims$4,180
CO-97   Benefit included in another service’s payment14 claims$2,740
CO-50   Not deemed medically necessary8 claims$3,920
CO-22   Coordination of benefits7 claims$2,020
PR-31   Patient cannot be identified as our insured6 claims$1,610
CO-197  Precertification / authorization absent4 claims$3,690
61 claims$18,160

Better. You now know what went wrong. You still don’t know which claims, whether anyone has touched them since, how much time is left, or which ones need you rather than your staff.


What Krino Health gives you

A claim-level worklist, prioritized by urgency.

Every claim with money still on it, sorted by how much time is left. Filter by the kind of work it needs, or by who has to do it. Open any row to see the whole life of the claim — when it went out, when the payer answered, when the money posted, and how long it has been sitting since.

Synthetic sample data · not from any practice · sortable, filterable, and rows open
Work
State Who
Okafor, D.02/27/202699215Medicare $186.00 Denied Documentation didn’t support the level billed Appeal · clinical Physician Open · untouched 134d EXPIRED
Claim timeline
  • 02/27/2026 Visit
  • 03/02/2026 Claim submitted
  • 03/03/2026 Accepted by payer
  • 03/26/2026 Remittance — denied CO-50
  • 03/30/2026 Posted to ledger as adjustment
  • No action recorded for 134 days
  • 07/29/2026 Appeal window closed
Detail
  • Claim 2026-0311-8842
  • Patient DOB 07/21/1955
  • Billed $186.00
  • Allowed $0.00
  • Paid $0.00
  • Payer note CO-50 · not deemed medically necessary
Ibrahim, R.03/20/2026J1100Medicare $41.30 Denied Billed without the qualifying service it attaches to Resubmit Biller Open · untouched 112d 9 days left
Claim timeline
  • 03/20/2026 Visit
  • 03/23/2026 Claim submitted
  • 03/24/2026 Accepted by payer
  • 04/17/2026 Remittance — denied CO-B15
  • 04/21/2026 Posted to ledger as adjustment
  • No action recorded for 112 days
Detail
  • Claim 2026-0323-9017
  • Patient DOB 06/30/1968
  • Billed $41.30
  • Allowed $0.00
  • Paid $0.00
  • Payer note CO-B15 · qualifying service not received or adjudicated
Brooks, S.03/09/202696372BCBS $13.70 Paid short Payer allowed $42.10 and posted $28.40 Underpaid Biller Open · untouched 126d 49 days left
Claim timeline
  • 03/09/2026 Visit
  • 03/11/2026 Claim submitted
  • 03/12/2026 Accepted by payer
  • 04/02/2026 Remittance — allowed $42.10, paid $28.40
  • 04/07/2026 Payment posted in full, no variance flagged
  • No action recorded for 126 days
Detail
  • Claim 2026-0311-7734
  • Patient DOB 09/05/1971
  • Billed $58.00
  • Allowed $42.10
  • Patient responsibility $0.00
  • Paid $28.40
  • Payer note No adjustment code accounts for the $13.70 gap
Whitfield, J.04/02/202699396Cigna $224.00 Denied Payer says another plan is primary under coordination of benefits Eligibility Front desk Open · untouched 109d 68 days left
Claim timeline
  • 04/02/2026 Visit
  • 04/06/2026 Claim submitted
  • 04/07/2026 Accepted by payer
  • 04/21/2026 Remittance — denied CO-22
  • 04/24/2026 Posted to ledger as adjustment
  • No action recorded for 109 days
Detail
  • Claim 2026-0406-2280
  • Patient DOB 08/11/1959
  • Billed $224.00
  • Allowed $0.00
  • Paid $0.00
  • Payer note CO-22 · care may be covered by another payer per COB
Sorensen, K.04/24/202699214UnitedHealthcare $156.00$30.00 Rejected Procedure code inconsistent with the modifier used Recode Coder Open · untouched 105d 71 days left
Claim timeline
  • 04/24/2026 Visit
  • 04/27/2026 Claim submitted
  • 04/28/2026 Rejected before adjudication
  • No action recorded for 105 days
Detail
  • Claim 2026-0427-3318
  • Patient DOB 12/08/1974
  • Billed $186.00
  • Allowed
  • Paid $0.00
  • Payer note CO-4 · procedure code inconsistent with the modifier used
Alvarez, M.05/02/202699214Aetna $142.00$35.00 Rejected Claim lacks information — referring provider NPI missing Resubmit Biller Open · untouched 97d 79 days left
Claim timeline
  • 05/02/2026 Visit
  • 05/05/2026 Claim submitted
  • 05/06/2026 Rejected before adjudication
  • No action recorded for 97 days
Detail
  • Claim 2026-0505-5561
  • Patient DOB 03/14/1962
  • Billed $177.00
  • Allowed
  • Paid $0.00
  • Payer note CO-16 · claim/service lacks information or has a billing error
Chen, R.04/18/202620610UnitedHealthcare $178.40 Denied Injection folded into the payment for the office visit; modifier 25 absent Recode Coder Open · untouched 92d 84 days left
Claim timeline
  • 04/18/2026 Visit
  • 04/20/2026 Claim submitted
  • 04/21/2026 Accepted by payer
  • 05/07/2026 Remittance — office visit paid, injection denied CO-97
  • 05/11/2026 Posted to ledger as adjustment
  • No action recorded for 92 days
Detail
  • Claim 2026-0420-1156
  • Patient DOB 11/08/1978
  • Billed $310.00
  • Allowed $131.60
  • Paid $131.60
  • Payer note CO-97 · benefit included in the payment for another service
Nguyen, T.05/11/202673721Cigna $412.00 Denied Precertification absent for the MRI Appeal · admin Biller Open · untouched 61d 116 days left
Claim timeline
  • 05/11/2026 Imaging performed
  • 05/13/2026 Claim submitted
  • 05/14/2026 Accepted by payer
  • 06/08/2026 Remittance — denied CO-197
  • 06/11/2026 Posted to ledger as adjustment
  • No action recorded for 61 days
Detail
  • Claim 2026-0513-7051
  • Patient DOB 01/30/1989
  • Billed $412.00
  • Allowed $0.00
  • Paid $0.00
  • Payer note CO-197 · precertification/authorization/notification absent
Duarte, C.05/15/202697110BCBS $65.00$20.00 Denied Payer deems the information submitted does not support this many sessions Appeal · clinical Physician Open · untouched 60d 117 days left
Claim timeline
  • 05/15/2026 Visit
  • 05/18/2026 Claim submitted
  • 05/19/2026 Accepted by payer
  • 06/09/2026 Remittance — denied CO-151
  • 06/12/2026 Posted to ledger as adjustment
  • No action recorded for 60 days
Detail
  • Claim 2026-0518-7719
  • Patient DOB 02/17/1990
  • Billed $85.00
  • Allowed $0.00
  • Paid $0.00
  • Payer note CO-151 · information submitted does not support this frequency of services
Rivera, L.05/22/202699213Medicaid $96.00 Denied Payer cannot identify the patient as its insured on that date Eligibility Front desk Open · untouched 53d 123 days left
Claim timeline
  • 05/22/2026 Visit
  • 05/26/2026 Claim submitted
  • 05/27/2026 Accepted by payer
  • 06/15/2026 Remittance — denied PR-31
  • 06/19/2026 Posted to ledger as adjustment
  • No action recorded for 53 days
Detail
  • Claim 2026-0526-6642
  • Patient DOB 06/19/1994
  • Billed $96.00
  • Allowed $0.00
  • Paid $0.00
  • Payer note PR-31 · patient cannot be identified as our insured
Haddad, N.05/29/202620605Aetna $88.20$25.00 Denied Injection called not medically necessary at this frequency Appeal · clinical Physician Open · untouched 46d 131 days left
Claim timeline
  • 05/29/2026 Visit
  • 06/01/2026 Claim submitted
  • 06/02/2026 Accepted by payer
  • 06/23/2026 Remittance — denied CO-50
  • 06/26/2026 Posted to ledger as adjustment
  • No action recorded for 46 days
Detail
  • Claim 2026-0601-8123
  • Patient DOB 04/25/1983
  • Billed $113.20
  • Allowed $0.00
  • Paid $0.00
  • Payer note CO-50 · not deemed medically necessary
Patel, A.11/14/202520611Aetna $205.60 Reversed Paid in January, then reversed in June after a retroactive review Appeal · admin Biller Open · untouched 42d 134 days left
Claim timeline
  • 11/14/2025 Visit
  • 11/17/2025 Claim submitted
  • 12/29/2025 Remittance — paid $205.60
  • 01/05/2026 Payment posted
  • 06/26/2026 Second remittance — payment reversed
  • 06/30/2026 Reversal posted
  • No action recorded for 42 days
Detail
  • Claim 2025-1117-4409
  • Patient DOB 12/02/1966
  • Billed $240.00
  • Allowed $205.60
  • Paid $205.60 then recouped
  • Payer note Retroactive eligibility review
Lindqvist, P.04/09/202699213Aetna $118.00$25.00 Paid NPI corrected and resubmitted; paid in full Resubmit Biller Closed 06/18/2026 Closed
Claim timeline
  • 04/09/2026 Visit
  • 04/13/2026 Claim submitted
  • 04/14/2026 Rejected — CO-16
  • 05/28/2026 Corrected and resubmitted
  • 06/15/2026 Remittance — paid $118.00
  • 06/18/2026 Payment posted · resolved
Detail
  • Claim 2026-0413-4402
  • Patient DOB 10/03/1980
  • Billed $143.00
  • Allowed $118.00
  • Paid $118.00
  • Payer note Closed 66 days after the rejection
Osei, F.03/30/202620610Cigna $165.50 Paid Modifier 25 added on resubmission Recode Coder Closed 05/29/2026 Closed
Claim timeline
  • 03/30/2026 Visit
  • 04/02/2026 Claim submitted
  • 04/23/2026 Remittance — injection denied CO-97
  • 05/06/2026 Corrected claim with modifier 25
  • 05/26/2026 Remittance — paid $165.50
  • 05/29/2026 Payment posted · resolved
Detail
  • Claim 2026-0402-3390
  • Patient DOB 05/27/1972
  • Billed $290.00
  • Allowed $165.50
  • Paid $165.50
  • Payer note Closed 36 days after the denial
Marsh, T.02/18/202699214Medicare $149.00 Paid Redetermination filed with the office note; denial overturned Appeal · clinical Physician Closed 06/02/2026 Closed
Claim timeline
  • 02/18/2026 Visit
  • 02/20/2026 Claim submitted
  • 03/16/2026 Remittance — denied CO-50
  • 04/09/2026 Redetermination filed with office note
  • 05/28/2026 Denial overturned — paid $149.00
  • 06/02/2026 Payment posted · resolved
Detail
  • Claim 2026-0220-2214
  • Patient DOB 09/14/1965
  • Billed $149.00
  • Allowed $149.00
  • Paid $149.00
  • Payer note Filed on day 24 of a 120-day window
Showing 15 of 61 claims
Still open $1,622.20
Past appeal $186.00
Recovered $432.50
Needs a physician 3

Click any row to open the claim. On a narrow screen the table shows fewer columns — the rest are inside the row.

Appeal windows are set by each payer’s contract and vary widely. Shown here: Medicare at 120 days from receipt of the remittance advice (receipt presumed 5 days after the notice date, per CMS); commercial payers illustrated at 180 days from the remittance date. Rejected claims are governed by the timely-filing limit, not an appeal window.

Three things do most of the work. Who acts separates the claims your front desk can close today from the three that need you to write something. Resolved is a column most reports don’t include — untouched 134d means a hundred and thirty-four days have passed since anyone recorded a single action on that claim, and in every report you get today it looks identical to one denied last week. And opening a row shows you exactly where the work should have happened and didn’t.

Resubmit
A field is wrong or missing. Correct it and send it again — there’s nothing to argue about and no one to persuade.
Recode
The service was payable but not as it was coded. A modifier, a bundling edit, a code that contradicts another line. Needs someone who codes, not someone who chases.
Eligibility
The claim went to the wrong plan, or to the right plan on the wrong date. Coordination of benefits, termed coverage, a secondary that should have been primary.
Appeal · admin
A real dispute, but a procedural one: authorization that existed and wasn’t attached, timely filing with proof, a recoupment that shouldn’t have happened. Paperwork, not medicine.
Appeal · clinical
The payer is disputing the medicine — necessity, frequency, level of service. Winning it takes a clinician who can say why the care was warranted. These are the ones that get abandoned, because they’re the only ones that cost your time rather than your staff’s.
Underpaid
Not the contractual write-off. Every claim is billed above the contracted rate on purpose, and the gap between your charge and the allowed amount is a normal adjustment — it was never collectible. This is a different thing: the payer’s own remittance allowed one amount and then paid a smaller one, with nothing on the claim explaining the difference.

Why it happens

A $60 denial isn’t worth the same to everyone.

Most independent practices outsource billing for 4–9% of collections. The arrangement works — until a claim comes back denied.

Reworking a denial costs staff time. Whether that time is worth spending depends entirely on who is counting.

Recovered valueCost to reworkRational move
Billing company
at 6%
$3.60~$25 in staff timeLet it go
Your practice~$56An already-staffed hourCollect it

Illustrative arithmetic — assumes a 6% collections fee and roughly $25 of staff time to rework one denial. Actual economics vary by contract and workflow.

Nobody here is acting in bad faith. The incentive simply doesn’t point the same direction for both parties, and the gap between the two rows never shows up in a report — it’s folded into adjustments and stops being visible.


Questions

Questions we get.

Krino Health finds and prioritizes the work — it doesn’t file appeals or contact payers on your behalf. Your existing staff or billing team takes the action. What Krino Health changes is visibility: which twelve of the sixty-one claims are worth an hour today, and which three of those need you rather than your staff. It doesn’t add a person; it makes the existing one’s next hour obvious.

No. Krino Health doesn’t replace anything in your billing workflow and doesn’t require your biller to do anything differently. It reads a report you can already export yourself.

No. The data comes out of your own practice management system, under your own login. There’s nothing to ask permission for.

Then the report will show that, and that’s worth knowing too. Most of what Krino Health surfaces isn’t negligence — reworking a $60 denial genuinely costs a billing company more than it earns them. The incentive is structural, not personal.

Not today. What Krino Health reads now is what the payer sent back about claims that were already submitted — nothing about the visit itself. EMR access opens up work further upstream, and it’s on the roadmap, but it isn’t needed to start and won’t happen without you asking for it.

No. Payers will only discuss claims with the provider or a formally designated agent, and Krino Health is deliberately neither. You keep the relationship. We just tell you where to point it.

Most of them, yes — and those are supposed to be there. You bill above every payer’s contracted rate on purpose, so that you never accidentally ask for less than one of them would have paid. The difference gets written off, and it was never money you could collect. Krino Health doesn’t flag any of that. What it separates out is the rest of the line: claims denied for a reason nobody worked, payments smaller than the payer’s own allowed amount, and money that was paid and later taken back.

Not quite. A/R aging tells you what’s outstanding. It doesn’t tell you which claims were denied for a fixable reason, which ones nobody has touched since, which ones are about to run out of appeal time, or which ones can’t be closed without a clinician.

Claim files carry patient identifiers, insurance IDs, and diagnosis codes, so this is PHI and gets handled accordingly, under a BAA. It’s a far smaller surface than clinical records.


See what your billing leaves behind.

We’re talking with practice owners about how denials actually get handled — no pitch, nothing to buy.

Book a 20-minute call →

Who we are

Named for judgment.

The name comes from the Greek κρίνω (krinein) — to judge, to discern, to distinguish, to decide. The same root runs through the English words critic, critical, crisis, and criterion.

That is the work: a critical review of the numbers behind your billing, and a creative, practical path to collecting more of what you are actually owed. For each practice we build customized infographics and charts that make the billing picture legible at a glance — so the route to full, rightful revenue is clear rather than buried in aggregate lines.

The team
Joon Kim, MD, MSPH
Founder · practicing cardiac electrophysiologist

“While preparing to open my own practice, I learned that revenue cycle management is a critical part of running a solo practice — and that there is no good solution built for it.”

Despite the significant fees paid to billing companies, there is a striking lack of transparency: owners can’t see the details of the billing process, or how much money is being lost, or why. I started Krino Health to attack that complex problem with a simple solution first.

More of the team — including our engineering lead — to come.

What we do

Independent oversight, delivered as a service.

Krino Health reads what your payers sent back and turns it into something you can act on — without touching how you bill. One thing done well today, with the rest on the way.

Available now

Claim-level worklist

Every open claim from your practice management export, ranked by how much time is left — with the reason, the fix-or-fight call, and who on your team needs to act. See a live sample →

Available now

Customized billing infographics

Your billing picture as charts built for your practice — by payer, by code, by provider, by month. A few sample views are below. Every one is built to your practice and your questions.

Coming next

Direct feed — no export

Instead of you exporting a report each time, the standardized claim and remittance transactions (837 / 277CA / 835) come to us directly. Because the format is standardized, the structure is identical across specialties and PM/EHR systems. This is the piece we most want to build once the compliance and BAA groundwork is in place — see the note below on how it works and who it fits first.

Later

Bank reconciliation

A payer saying it paid you and money landing in your account are two different events, and the second is rarely checked. We match every remittance to a deposit and flag money that was announced but never arrived. It depends on bank data that isn’t always easy to get, so it comes after the direct feed.

On the direct feed — the honest version. Receiving the 835 (remittance) directly means enrolling as your ERA receiver, and payers generally send each provider’s ERA to one destination at a time — so a new enrollment redirects it rather than adding a copy. That makes the direct feed cleanest for practices with an in-house biller, or where we act as the hub that receives and passes data through. For practices whose outside biller relies on that ERA feed, we start from a PM export instead, which touches nothing. We’d rather tell you that up front than promise a “free extra copy” that isn’t how the plumbing works.
Sample · synthetic data · click a payer

Collected vs. outstanding, by payer

Of everything billed this quarter, how much came in and how much is still open — by insurer. Click any payer to see what’s holding its money up.

Open claims34Avg days outstanding47 daysCO-197 · prior auth absent$5,540CO-16 · missing info$3,200
73721 (MRI) is the biggest single stuck code.
Open claims41Avg days outstanding61 daysCO-97 · bundled$4,110CO-4 · modifier$3,900
Highest outstanding and slowest to pay.
Open claims19Avg days outstanding38 daysCO-151 · frequency$2,600CO-50 · med. necessity$2,100
Pays fastest of the commercial plans.
Open claims14Avg days outstanding55 daysCO-197 · prior auth absent$3,690CO-22 · COB$1,800
Prior-auth denials dominate.
Open claims9Avg days outstanding33 daysCO-50 · med. necessity$2,400
Cleanest payer; little stuck.
Open claims11Avg days outstanding52 daysPR-31 · not identified as insured$2,100CO-22 · COB$1,600
Eligibility/ID issues lead.
CollectedStill outstanding
Sample · synthetic data · click a band

How old is the unpaid money? (A/R aging)

The same $53,900 of outstanding claims, sorted by how long they’ve been sitting. The older the claim, the lower the odds of ever collecting it — the 90+ band is where money quietly dies.

Aetna$6,800UnitedHealthcare$7,200BCBS$4,100Cigna$2,600Medicare$1,900Medicaid$1,700
UnitedHealthcare$5,100Aetna$3,600Cigna$2,400Medicaid$2,100BCBS$1,600Medicare$800
UnitedHealthcare$2,900Aetna$2,000Cigna$1,500Medicaid$900BCBS$600Medicare$300
Aetna$2,400Cigna$1,900Medicaid$1,500
Recovery odds fall as claims age. Anything past 90 days is where money quietly dies — work these first.
0–3031–6061–9090+ — at risk
Sample · synthetic data · click an outcome

What happens to denied claims

Of 61 claims denied this quarter, where they ended up. Abandoned + Expired = 30 claims, $8,040 that leaked or is leaking — the number no monthly report puts in front of you.

22
9
24
6
RecoveredIn progressAbandonedExpired

Fixed or appealed and paid. Mostly resubmits and admin appeals.

Worked, awaiting payer response.

Denied, no action recorded since. The quiet leak.

Past the appeal window. Gone.

Sample · synthetic data · click a code

Money left on the table by undercharging

Payers pay the lesser of your charge or their allowed amount. When your charge sits below what a payer would have paid, you lose the difference on every claim for that code — and it appears in no report.

~$12,440/ year, estimated, across the codes below
What each payer allowed for 20610
Aetna
$164
United
$158
BCBS
$171
Cigna
$150
Medicare
$142
Your charge sits below several payers’ allowed amounts. Raise the charge on 20610 to about $185 and you capture what each payer was already willing to pay — an estimated $6,120/year on this code alone (synthetic).
What each payer allowed for 96372
Aetna
$42
United
$39
BCBS
$44
Medicare
$36
Your charge sits below several payers’ allowed amounts. Raise the charge on 96372 to about $50 and you capture what each payer was already willing to pay — an estimated $3,080/year on this code alone (synthetic).
What each payer allowed for 20605
Aetna
$117
United
$112
Cigna
$108
Your charge sits below several payers’ allowed amounts. Raise the charge on 20605 to about $130 and you capture what each payer was already willing to pay — an estimated $1,980/year on this code alone (synthetic).
What each payer allowed for 99213
United
$126
BCBS
$128
Your charge sits below several payers’ allowed amounts. Raise the charge on 99213 to about $135 and you capture what each payer was already willing to pay — an estimated $1,260/year on this code alone (synthetic).
Your chargeBest payer allowed (above your charge)

Every chart here is customizable. These are just samples on synthetic data. For your practice we build the views that answer your questions — by payer, by code, by provider, by month — and update them as your data comes in.

Who we work with

If you send claims and get money back, Krino Health can read what happened.

Krino Health is built for independent practices that want an independent view of what happened to every claim — whether billing is outsourced or handled in-house. Nothing about how you bill has to change.

Solo practices
Where billing is outsourced and there is no one in-house to audit the result. The independent view matters most here.
Small clinics
Primary care, rheumatology, sports medicine, and other practices doing minor procedures — enough claim volume to leak revenue, not enough staff to chase every denial.
Practices with an in-house biller
You’re not the target of an audit — you’re the person we help. Krino Health hands your biller a ranked, deadline-aware worklist so their time goes to the claims that matter most, and shows the owner the same independent picture.
Dental offices Coming
The remittance format is the same, and dental adds its own leakage patterns — annual maximums, frequency limits, coordination of benefits. On the roadmap after we’ve talked with enough practices; not a target today.
Group practices
Multiple providers under one tax ID, where aggregate reports hide which provider, payer, or code is quietly underpaid.

Not sure you fit? If you send claims and can export a report from your PM system, that’s the whole requirement — outsourced or in-house.

08  /  Talk to us

We’re talking to practice owners.

Krino Health is being built for independent practices that outsource billing and have no way to independently check the result.

Right now we’re asking owners how denials actually get handled day to day — who looks at them, when, and what happens to the ones nobody gets to. Book a 20-minute call and tell us how your practice handles denials. No pitch, and nothing to buy.

Founded by Joon Kim, a practicing cardiac electrophysiologist — more in Who we are.

Where things stand: Krino Health is early. The samples above are synthetic — no real patient data. When we work with a practice’s own export it’s PHI, handled under a BAA; we don’t need or receive clinical notes. We typically reply within one business day.

Please don’t include any patient information in this message.