Choose a mode below — or follow the recommended path if you’re just getting started.
New to the Practice Lab?
Start here →Guided Learning
Then →Billing Simulator
Use when you need it →Denial Drills
Or jump straight to any mode below.
📖
Guided Learning
Watch a defensible note get built. Then build one yourself.
Recommended starting point for new members.
Start here
📋
Billing Simulator
Code the visit, submit the claim, interpret the ERA, post the payment. The full billing cycle from chart to zero balance.
Available
⚠
Denial Drills
The claim already went out. The ERA came back wrong. Figure out what happened and fix it.
Available
🧠
MDM Foundations
What counts as low, moderate, or high in each MDM domain — and does your note actually prove it?
Available
🗨️
Psychotherapy Documentation
Did therapy happen? What kind? Can you prove it? Three stages: recognition, classification, and building an audit-defensible note.
Available
🔍
Code Reference
What does this code mean and what do you do with it? Search any CO, PR, OA, or remark code instantly.
Available
📝
Chart Coder
A full chart note, no billing context. Read it, pick your codes, find out if the documentation actually supports what you billed.
Coming soon
📄
Paper Remittance
Your payer doesn’t send ERAs. A check arrived in the mail with a paper EOB. Read it, post it, reconcile it.
Coming soon
🧪
Sandbox
Enter any clinical scenario and see what the ERA would return. Free exploration, no teaching targets.
Coming soon
Practice Lab Diagnostics
Runs variant generations headlessly and checks for structural logic errors — time math, MDM/addon consistency, trap integrity.
Checks ERA math, CPT billing rules, payer rate calculations, and rule enforcement across all 17 drills and 500 generated variants. Flags anything where the numbers or rules are wrong.
What this does
Runs the simulator programmatically. Generates variants, submits specific code combinations, and shows you the full debrief output and note fragments — so you can review clinical accuracy without clicking through the UI.
Quality triage dashboard
Aggregates issues across all evaluators into a prioritized action queue. Run any evaluators first, then refresh this dashboard to see what needs attention.
Structural checks
Validates every Stage 1, 2, and 3 scenario: index bounds, acceptableChoices alignment, grading logic, seed pool integrity, Unit 1 and Unit 2 screen flow, phrasing bank consistency, and MS-006 contrast mode wiring.
MS-006 contrast pair evaluator (LLM)
Sends each MS-006 contrast pair to Claude and evaluates teaching integrity: same-visit preservation, documentation-as-differentiator, clinical plausibility, and whether the pair reinforces the Lesson 5 insight.
Evaluates all 14 reasoning blocks. Each call uses the API — takes ~30 seconds total.
Full-program teaching quality evaluator (LLM)
Samples debrief content from all modes — Billing Sim, Denial Drills, MDM Sim, and Guided Learning — and scores each against four teaching quality criteria: clinical accuracy, reasoning failure addressed, consequence clarity, and pattern transferability. Catches semantic drift and weak teaching that structural checks miss.
Samples ~20 items across all modes. Each call uses the API — takes ~60 seconds total.
Cognitive trap validator (LLM)
Tests whether wrong answers are doing their job. A trap that is too obvious teaches nothing. A trap that is unfair creates frustration. Evaluates plausibility, whether it targets the real cognitive error, and whether the temptation language explains the pull correctly.
Samples traps from Billing Sim, Denial Drills, and MDM Sim. Takes ~45 seconds.
Scenario realism checker (LLM)
Asks whether a real PMHNP would actually write this note. Catches textbook-sounding language, unnatural phrasing, and unrealistic clinical presentations. Credibility depends on scenarios that feel like real practice.
Samples notes from Billing Sim seeds and Unit 2 cases. Takes ~30 seconds.
Outcome integrity checker (LLM)
Asks: given this note, is the stated optimal code actually defensible? Catches cases where the ground truth code is asserted but the note content does not support it. Second-lens sanity check on top of the rules engine.
Samples Billing Sim seeds with full note content. Takes ~40 seconds.
Cross-module consistency checker (LLM)
Checks whether the program contradicts itself. Samples teaching content from different modes and asks whether any two items conflict on the same clinical or billing concept. Catches drift before members notice it.
Sends paired samples across modes. Takes ~30 seconds.
Behavior change evaluator (LLM)
The highest-order test: after this scenario, will a clinician document or bill differently next time? Evaluates whether content is transformational (changes behavior) or merely informational (explains a rule). Flags content that is technically correct but unlikely to change practice.
Samples debriefs across all modes. Takes ~40 seconds.
Guided Learning gap analysis (LLM)
Targets the two dimensions where Guided Learning consistently scores below 4: Reasoning failure (does the feedback explain why clinicians make this mistake?) and Consequence (does it name the financial or audit outcome?). Returns specific rewrite suggestions per screen — not just a score.
Evaluates all three units. Each item gets a diagnosis and a concrete suggestion. Takes ~60 seconds.
What this checks
Runs every billing seed through its key submission combinations — clean, undercode, wrong modifier, wrong add-on, omitted add-on, invalid time+addon — and verifies expected ERA type, debrief pattern, and revenue consequence. Proves the engine adjudicates correctly for every seed, not just that seeds exist.
Program-level evaluation (LLM)
Evaluates each training mode independently, then synthesizes a program-level view. Scores conceptual clarity, teaching quality, behavior change potential, and credibility — both per mode and as a unified curriculum. Identifies gaps and coverage blind spots invisible to scenario-level checks.
Two API calls. Assembles a content packet from live data. Takes ~90 seconds. Use after major content additions, before launch, or when suspecting drift — not every run.
Practice Setup
Set up your practice before running your first case. Settings auto-populate into every claim -- errors here cascade forward. If you want to jump straight in with a realistic practice already configured, use the button below.
Provider information
Provider name
Full name as on your NPI registration
NPI number
Payer reps require this before pulling any claim
Taxonomy code
PMHNP taxonomy: 363LP0808X
Default place of service
Most telehealth providers: POS 10
Preferred telehealth modifier
Premera, United, most commercial payers use 95
Fee schedule -- your billed rates
One or more billed rates is below the contracted allowed amount. ERA will pay only what you billed.
Premera
United
Kaiser
Code
Description
Your billed rate
Premera allowed
Billing Simulator
Practice the full billing cycle — chart → claim → ERA → resolution. Each case is built from a real billing pattern. Your job is to decide what actually holds up.
What do you want to practice?
Each case generates a realistic chart note. The correct coding is determined by the pattern, not the note wording.
Synchronous telehealth = real-time audio/video. Determines which modifiers apply.
Telehealth -- synchronous
Type of service
Should be 1 - Medical Care for psychiatric E/M visits.
1 -- Medical care
Rendering provider
--
NPI
--
Diagnoses
F31.81 -- Bipolar II, current depressed
F41.1 -- GAD
Chart note
Prep
8 min
Face-to-face
22 min
Documentation
10 min
Total encounter
40 min
Follow-up on lamotrigine titration. Mood 5/10, sleep improved, no SI/HI. Two active chronic conditions managed (Bipolar II, GAD). Reviewed CBC and metabolic panel from 03/01/2026. Dose increased from 150mg to 200mg -- discussed rash monitoring protocol and titration schedule. Adherence counseling provided. 17 minutes of psychotherapy performed using CBT techniques targeting anxiety and mood regulation.
Patient benefits -- Premera Blue Cross PPO
J. MERCER
Member ID: --
Plan
Premera Blue Cross PPO
Status
Active
Effective
01/01/2026
Group
GRP-44921
Copay
$55.00
Per visit
Deductible
Met
$1,500 used
Coinsurance
0%
After deductible
OOP max
$4,500
$2,100 used
TH parity
Yes
WA state
Auth required
No
Outpatient MH
Collect $55.00 copay at time of service. Deductible met.
Questions about coverage or parity?
Call insurance rep
Estimated hold time: 2 hours
Visit & provider information
Date of service
--
Rendering provider
--
NPI
--
Place of service
Payer
--
Patient
--
Claim coding
Before you code: are you billing by time or MDM for this visit, and why?
In real billing there is no Time/MDM toggle. The debrief will show whether your method matched your codes and what it cost you.
Hover column headers for guidance
Procedure code
E/M codes 99202-99215 bill the encounter. Add-on codes 90833, 90836, 90838, 99417 bill additional services in the same encounter.
Mod 1
95 = synchronous telehealth, most commercial payers (Premera, Regence, UHC, Kaiser). GT = Medicare and some Medicare Advantage plans only. Leave blank for in-person POS 11. Required on EVERY line independently -- E/M and add-on each need their own modifier.
Mod 2
Units
Most E/M codes = 1 unit. 99417 bills per 15 min beyond 99215 threshold. 90833/90836/90838 always 1 unit.
Charges
Your billed rate from fee schedule. Must be above the contracted allowed amount to capture full reimbursement.
Dx 1
ICD-10 diagnosis code justifying this procedure. Auto-fills from the chart diagnoses. Your EHR does this automatically.
Dx 2
ICD-10 diagnosis code justifying this procedure. Auto-fills from the chart diagnoses. Your EHR does this automatically.
Dx 3
Modifier or coding question?
Estimated hold time: 2 hours
How confident are you this claim is correct?
Claim #
Your unique claim identifier. Required when calling the payer.
--
Member ID
Patient insurance member ID. Payer rep requires this before pulling any claim.
--
NPI
Your rendering provider NPI. Payer rep will ask for this before revealing claim details.
--
Billed
Total charges submitted across all service lines.
--
Paid
What the payer sent you. Difference between allowed and paid is your contractual adjustment.
--
Adjudication detail
Processing...
How do you respond?
❌ Second denial
What to do now
ERA summary — for reference while posting
Service lines
Date
Code
Mod
Charges
This payment
Balance
EOB -- apply payment
Premera Blue Cross -- Primary
Allowed
Maximum payer will pay under your contract. Cannot bill patient for billed-minus-allowed difference.
Contracted rate. CO-45 = billed minus allowed.
Contract adj. (CO-45)
Your write-off. CO-45 = charge exceeds contracted rate. Never bill the patient for this.
Your write-off. Never bill patient for CO-45.
Insurance paid
What the payer sent you. Post this as an insurance payment.
What payer sent you.
Copay
Fixed patient amount per visit. Should be collected at time of service.
Collected at time of service.
Deductible
Amount applied to patient deductible. Patient responsibility -- bill the patient.
Patient responsibility.
Coinsurance
Patient percentage share of allowed amount after deductible.
Patient % after deductible.
Questions about this payment or adjustment?
Call insurance rep
Estimated hold time: 2 hours
Transaction log
-- Created
Service line created. Transferred to primary payer.
Charges --
Pat resp --
Balance --
-- Billed
Electronic claim submitted via clearinghouse.
Amount $0.00
Balance --
03/14/2026 -- Copay applied
Patient copay collected at time of service.
Amount --
Balance --
03/19/2026 -- ERA received
Awaiting posting.
Paid --
Balance $0.00 pending
Claim processed
Audit risk
Pattern
--
What happened
--
Why it happened
--
⚠ Time-based billing + psychotherapy add-on
Billing method comparison
Documentation standard
--
What auditors look for
--
Next time
--
Billing method
--
Your reasoning
--
What you submitted
--
Share feedback on this scenario
Your comment will post directly to the member thread in the forum.
Denial Drills
The claim already went out. The ERA came back wrong.
Each drill presents a real ERA — a denial, partial payment, or unexpected result. Your job: figure out what happened and fix it. Call the insurance rep if you need help. The debrief explains the pattern and the rule.
📋17 drills across 7 denial categories
🎲Random queue — no two sessions the same
☎️Live insurance rep chat on every drill
Drill
Submitted claim
Adjudication detail
Patient account
--
Take action
Fix the claim
EOB — apply payment
--
Allowed
Maximum payer will pay under your contract. CO-45 = billed minus allowed.
Contracted rate. CO-45 = billed minus allowed.
Contract adj. (CO-45)
Your write-off. Never bill patient for CO-45.
Your write-off. Never bill patient for CO-45.
Insurance paid
What the payer sent you.
What payer sent you.
Copay
Fixed patient amount. Collected at time of service.
Collected at time of service.
Deductible
Applied to patient deductible. Bill the patient.
Patient responsibility.
Coinsurance
Patient % share of allowed after deductible.
Patient % after deductible.
Transaction log
-- Created
Service line created. Transferred to primary payer.
Charges --
Balance --
-- Billed
Electronic claim submitted via clearinghouse.
Amount $0.00
Balance --
-- Copay applied
Patient copay collected at time of service.
Amount --
Balance --
-- ERA received
Awaiting posting.
Paid --
Balance $0.00 pending
-- Posted
Account reconciled.
$0.00
Debrief
Pattern
--
Category
--
Difficulty
--
Teaching point
--
Key rule
--
Share feedback on this drill
Your comment will post directly to the member thread in the forum. Choose "This was helpful" to share publicly.
MDM Foundations
Medical decision-making: what counts, what your note proves, and where PMHNPs leave money on the table.
📖
Layer 1 — Domain Literacy
What are the three MDM domains? What counts as low, moderate, or high in each? Flash-card format with immediate feedback.
START HERE →
📄
Layer 2 — Documentation Translation
Given a real note excerpt, what MDM level does the documentation actually support? The skill that prevents audits.
APPLY IT →
🎯
Layer 3 — Decision Sim
Real chart. Real decision. Pick MDM or time, choose the code, see the consequence. Same teaching loop as the Billing Simulator.
DECIDE →
Layer 1 — Domain Literacy
Question 1 of 12
Problems Domain
Clinical scenario
--
What MDM complexity level does this scenario represent?
Layer complete
🎯
--
--
Layer 3 — Decision Sim
Scenario 1 of 4
Clinical scenario
Which basis are you using?
Select the most defensible code:
MDM breakdown
What happened
Why this felt right
Anchor
Unit 1 — Psychotherapy Documentation
Guided Learning
Each unit introduces a concept, forces a decision, and hands you off to the mode that drills it.
Unit 1
Psychotherapy Documentation
What actually supports 90833? Recognize what fails, build what passes, make the billing call.
Leads to → Psychotherapy Documentation Mode
Unit 2
MDM vs Time
Same visit, two valid pathways. When psychotherapy is billed, time is no longer available. Understand why and choose intentionally.
Leads to → Billing Simulator
Unit 3
The Billing Cycle
Fee schedule to ERA. Make decisions at every step — fee setup, eligibility, patient communication, submission, and what to do when payment doesn't match.
Leads to → Billing Simulator
What actually supports 90833?
Psychotherapy: Supportive therapy provided addressing ongoing anxiety and recent work stressors. Discussed coping strategies and encouraged use of grounding techniques. Patient engaged and receptive throughout session.
Would this support 90833?
Psychotherapy: Supportive therapy provided addressing ongoing anxiety and recent work stressors. Discussed coping strategies and encouraged use of grounding techniques. Patient engaged and receptive throughout session.
Most 90833 problems don’t come from no therapy — they come from therapy that wasn’t documented clearly enough to defend it.
A defensible note — built line by line
Two sections. Two jobs.
E/M Section
Medical decision-making Diagnosis and treatment plan Risk assessment
Psychotherapy Section
Modality Intervention Patient response Time
These serve different parts of the claim.
If you bill a psychotherapy add-on, E/M must be selected by MDM — not total time.
Two notes. Which supports 90833?
Note A
Provided CBT focusing on catastrophic thinking contributing to panic attacks. Used cognitive restructuring to identify and challenge automatic thoughts. Patient demonstrated good engagement and generated alternative interpretations independently. 20 minutes psychotherapy documented.
Note B
Psychotherapy: Supportive therapy provided addressing ongoing anxiety and recent work stressors. Discussed coping strategies and encouraged use of grounding techniques. Patient engaged and receptive throughout session.
Would this support 90833?
Psychotherapy: Provided CBT, DBT, and supportive therapy addressing anxiety, mood instability, interpersonal stressors, and trauma-related symptoms. Reviewed multiple coping strategies, safety planning, and emotional processing techniques. Patient actively engaged, receptive, motivated, and demonstrated insight throughout.
The pattern is always the same.
Build it yourself
Generating scenario…
Time
Modality
Focus
Intervention
Patient Response
Your note
Select from each category above to build your note.
Would you bill 90833 on this note?
Now apply it across real scenarios.
You have the pattern. Psychotherapy Documentation Mode drills it across six recognition scenarios, classification problems, and note builds — until the judgment is automatic.
Practice engine
Psychotherapy Documentation Mode — recognition, classification, and note building across varied clinical scenarios.
Up next — Unit 2
You can document the work. Now: what are you allowed to bill for it? MDM vs Time — choosing the right framework.
Unit 2 — MDM vs Time
Lesson 1 of 7 — Two pathways
Read this note. There are two valid ways to bill it.
Lesson 2 of 7 — Choose the higher level
Same visit. Two pathways. You can only bill one.
MDM
TIME
Task — Pathway decision
Which basis would you use to bill this visit?
Lesson 3 of 7 — Psychotherapy constraint
Same visit. Psychotherapy is documented — and you are billing it.
Task — Claim decision
Given this visit, what would you bill?
The psychotherapy section is documented and you are billing the add-on. Both options below include 90833.
Lesson 4 of 7 — Low MDM doesn't trap you
No psychotherapy billed. Time is available again.
No add-on → no restriction on time-based E/M.
Follow-up for generalized anxiety disorder. Patient reports stable symptoms with no recent exacerbations. Denies significant anxiety or functional impairment.
Continues current medication regimen without issues. No changes made today. No psychotherapy performed.
Total time on date of service included evaluation, medication review, and documentation, totaling 34 minutes.
Task — Highest supported code
What is the highest defensible code for this visit?
Lesson 5 of 7 — Problem count doesn't determine level
Two diagnoses. But what does MDM actually support?
Established patient seen for follow-up of MDD and GAD. Reports stable mood and minimal anxiety. PHQ-9 score 5, GAD-7 score 4, both consistent with prior visit. No significant changes in symptoms reported.
Current medications continued without change. No psychotherapy performed. No new concerns raised.
Time on date of service included evaluation and documentation, totaling 24 minutes.
Task — MDM evaluation
What does MDM support for this visit?
Lesson 6 of 7 — Time requires documentation
A long visit is not the same as a time-based claim.
Now that you've seen what limits MDM, the question is: can time be used instead?
Patient seen for follow-up of MDD. Reports improvement. Medication continued unchanged. Visit was lengthy due to patient questions about side effects and long-term prognosis. Provider spent significant time educating patient and documenting the encounter.
No psychotherapy performed.
Task — Documentation recognition
Can this provider bill by time?
Lesson 7 of 7 — Time can dramatically outperform MDM
Same visit. See what each pathway actually yields.
Established patient presenting for follow-up of MDD and GAD. Reports stable mood and minimal anxiety. PHQ-9 score 5, both conditions stable, no changes in symptoms since last visit.
Current medications continued without change. No psychotherapy performed. Extended time spent on patient education, answering questions about long-term treatment, and documentation.
Total time on date of service included evaluation, patient education, and documentation, totaling 42 minutes.
What is the highest defensible code for this visit?
Unit 2 complete
The framework.
MDM
Complexity-based. Always available.
Time
Work-based. Requires documentation. Blocked by psychotherapy.
You don’t pick the higher code. You pick the method that’s allowed — and then document it.
Setup
Eligibility
Visit
Claim
ERA
Reconcile
Patient
Training Help
Thinking...
Stage 1 — Practice Setup
Before you see a patient, your system has to be configured.
Your patient today: Dana Reyes, established patient. Telehealth follow-up for MDD and GAD. Premera Blue Cross. You'll follow this case through every stage of the billing cycle.
Every claim you submit inherits settings from your practice configuration. Errors here cascade forward — wrong POS code, wrong modifier, missing NPI — and generate denials on every single claim until you catch it.
Spotlight: Place of Service
Dana is a telehealth patient — she's at home. Which POS code applies?
Why this matters
POS 10 vs POS 02 affects reimbursement rate under some payer contracts. POS 11 on a telehealth claim triggers an instant CO-4 or CO-97 denial — the payer sees an office visit code but no corresponding office location.
Stage 1 — Practice Setup
Every CPT line on a telehealth claim needs a modifier.
Spotlight: Telehealth Modifier
Dana's visit is synchronous audio-video. Your claim will have two CPT lines: 99214 and 90833. Which modifier applies to each line?
99214 modifier
90833 modifier
Stage 1 — Practice Setup
Your fee schedule sets the ceiling — not the floor.
Set your billed rates for Dana's visit codes. Premera's contracted allowable is shown. Your fee must be at or above the allowable — otherwise your charge becomes the ceiling and you leave money on the table.
Code
Description
Your fee
Premera allowable
99214
E/M est. pt, moderate MDM
$
$98.00
90833
Psych add-on, 16-37 min
$
$70.00
Stage 2 — Eligibility
Dana calls to schedule. You run eligibility before the visit.
Your biller pulls benefits from Premera's portal. Here's what comes back:
Member: Dana Reyes
Plan: Premera Preferred Gold PPO
Status:Active
Mental health: Covered
Deductible: $1,500/year
Deductible met:$1,500 (fully met)
Copay: $25/visit
Coinsurance: 0% after deductible
Out-of-pocket max: $3,000
OOP met: $2,100 of $3,000
Based on this, what do you tell Dana about her cost for today's visit?
Stage 3 — Visit & Coding
Dana's visit is complete. Time to code it.
Visit summary — Dana Reyes
CC: Follow-up, MDD and GAD. Telehealth.
Problems: MDD — partial response on sertraline 150mg. Discussed dose increase to 200mg after reviewing PHQ-9 (score 12, up from 9). GAD — anxiety elevated, reviewed recent stressors, continued buspirone. Both conditions actively managed with clinical decisions made.
Data: Reviewed PHQ-9 trend across last 3 visits. Reviewed medication interaction profile for sertraline dose change.
Risk: Prescription drug management with dose adjustment and active monitoring for side effects. Counseled on serotonin syndrome signs.
Psychotherapy (18 min): CBT targeting cognitive distortions around work performance. Patient identified automatic thought pattern and generated two alternative interpretations independently. Progress toward anxiety goals noted.
Total time: 36 minutes.
What is the correct claim for this visit?
Stage 4 — Claim Submission
Review the claim before it goes out.
This is your last chance to catch errors. One missing element can deny the whole claim or just one line. Review each field.
Pending claim — Dana Reyes
Patient:Dana Reyes
Payer:Premera Blue Cross
DOS:Today
POS:10 (Patient home telehealth)
Provider NPI:Populated from setup
Diagnosis:F32.1, F41.1
Claim lines
99214-95
E/M est. pt, moderate MDM
$120.00
✓
90833-95
Psych add-on, 16-37 min
$95.00
✓
Before submitting — is there anything that needs correction?
Stage 5 — ERA Review
The ERA comes back. Read it before you post anything.
An ERA is not a payment confirmation — it's a transaction record showing exactly how Premera processed each line. Read every column before touching your ledger.
Electronic Remittance Advice — Premera Blue Cross
Patient: Dana Reyes | Claim: CLM-DR-001 | DOS: Today
CPT
Billed
Allowed
Ins Paid
CO Adj
PR
Remark
99214-95
$120.00
$98.00
$98.00
-$22.00
$0.00
Deductible met, 0% coins
90833-95
$95.00
$70.00
$70.00
-$25.00
$0.00
Deductible met, 0% coins
TOTAL
$215.00
$168.00
$168.00
-$47.00
$0.00
What does the CO adjustment column represent?
Stage 6 — Reconciliation
Post the ERA to Dana's ledger.
Every dollar on the ERA must be accounted for. Insurance paid goes in. The contractual adjustment gets written off. Patient responsibility gets billed. The ledger must balance to $0 before the account is clean. Use the ERA above — enter each amount in the correct bucket.
ERA summary (reference): Total billed $215.00 | Total allowed $168.00 | Insurance paid $168.00 | CO adjustment -$47.00 | Patient responsibility $0.00
Dana Reyes — Account Ledger
Charge posted (total billed)
$215.00
✓ auto
Insurance payment received
$
Contractual write-off (CO adjustment)
$
Patient responsibility (balance to collect)
$
Unresolved balance
$215.00
Stage 7 — Patient Billing
The ledger is clean. Dana owes $0 — but you collected $25.
Insurance paid $168.00. Write-off posted $47.00. Patient responsibility: $0.00. You collected $25 at intake as an upfront estimate.
Dana calls: "I got a letter from Premera saying my visit was processed and I owe $0. But you collected $25 from me. What's going on?"
How do you respond?
Stage 7 — Patient Billing (Real-World Variant)
Same visit. New plan year. Different ERA.
January. Dana's deductible reset to $1,500. She has only met $400 so far. Same codes, same visit. Here is the ERA:
Electronic Remittance Advice — Premera Blue Cross
Patient: Dana Reyes | Claim: CLM-DR-002 | Deductible remaining: $1,100
CPT
Billed
Allowed
Ins Paid
CO Adj
PR
Remark
99214-95
$120.00
$98.00
$0.00
-$22.00
$98.00
Deductible applies
90833-95
$95.00
$70.00
$0.00
-$25.00
$70.00
Deductible applies
TOTAL
$215.00
$168.00
$0.00
-$47.00
$168.00
Insurance paid $0. Patient responsibility is $168. What do you do with the $25 you collected at intake?
Stage 7 — Patient Statement
Ledger is posted. Generate the patient statement.
Your EHR billing module shows Dana's account. The ERA has been posted. The remaining balance is ready to bill.
EHR Billing Module
Think Beyond Psych
Dana Reyes
DOB: 03/14/1985 | MRN: DR-00847
Account balance
$143.00
Last visit
Today
Insurance paid
$0.00
Collected
$25.00
Transaction detail
DOS
Description
Amount
Balance
Today
Charge — 99214+90833
$215.00
$215.00
Today
CO write-off (contractual)
-$47.00
$168.00
Today
Payment collected at service
-$25.00
$143.00
Think Beyond Psych
Patient Statement
Statement date: Today
Amount due: $143.00
Patient: Dana Reyes
Service
Charge
Your cost
99214 — Telehealth visit
$120
$98
90833 — Psychotherapy add-on
$95
$70
Payment at service
-$25
Balance due
$143
Your deductible applies to this visit. Insurance has processed your claim. Questions? Contact our billing office. Payment plans available.
Stage 7 — After the Statement
Statement sent. Now you wait.
Dana Reyes — A/R Aging
Current
$143
0–30 days
31–60 days
$0
pending
61–90 days
$0
pending
90+ days
$0
pending
Balances that age past 90 days have significantly lower collection rates and may require external collections — which costs 20-30% of the recovered amount.
Three days later, Dana calls.
"I got your statement. It says I owe $143. I thought my copay was $25. Did something go wrong?"
How do you respond?
Stage 7 — Payment Posted
Dana pays. The account closes.
EHR Billing Module
Think Beyond Psych
Dana Reyes
Account status: CLOSED
Account balance
$0.00
Today
Charge (99214+90833)
+$215.00
Today
CO write-off
-$47.00
Today
Collected at service
-$25.00
+3 days
Patient payment — statement
-$143.00
Balance
$0.00
What made this work: You set the expectation at eligibility ("this is an estimate"). You coded correctly. You submitted a clean claim. You posted the ERA accurately. You generated and sent the statement. When Dana called, you explained the deductible reset clearly and offered a payment plan. Every step connected to the next one.
Cycle complete — Dana Reyes
You ran the full billing cycle.
Every dollar in your practice follows this path. Setup errors cascade into denials. Eligibility errors cascade into patient disputes. Coding errors cascade into revenue loss or recoupment. Reconciliation errors cascade into bad books. Patient communication errors cascade into collections problems. The cycle is one system — not seven separate tasks.
Psychotherapy Documentation
Recognition, classification, and documentation defensibility for 90833/90836/90838.
🤔
Stage 1 — Therapy or Not?
Read a session vignette. Decide: does this constitute billable psychotherapy? Recognition before documentation.
START HERE →
🏷️
Stage 2 — What Kind?
Given a session interaction, identify the modality and intervention. Classification before documentation.
Complete Stage 1 to unlock
✍️
Stage 3 — Build the Note
Given a clinical scenario, construct a defensible psychotherapy section. Evaluated on all five required elements.
Complete Stage 2 to unlock
Stage 1 — Therapy or Not?
Scenario 1 of 6
Clear
Session vignette
What modality is this?
What intervention was used?
Build the psychotherapy section — select one from each category:
Would you bill 90833 on this note?
Stage complete
🎯
--
--
Code Reference
How to identify a patient's payer
The member ID on the insurance card usually starts with a 3-letter prefix. That prefix identifies which BCBS plan — and therefore which state — the patient belongs to. When you have a dispute or need to call the home plan directly, the prefix tells you where to call.
BCBS: Every state has its own plan
Blue Cross Blue Shield is not one company. Each state has an independent licensee. In Washington, it's Premera (individual/small group) and Regence (large group). Some members have out-of-state BCBS coverage — their claims route through the home plan. Knowing which state the plan is from matters when you need to call.
Premera Blue Cross
Washington, Alaska — individual & small group
Member prefix: ZKR, ZGS, XPP, YBK
Regence BCBS of Washington
Washington — large group, BCBS-branded plans
Member prefix: W, WA, RCW
Regence BCBS of Oregon
Oregon — large group
Member prefix: W, OR (shared namespace)
Highmark BCBS
Pennsylvania, Delaware, West Virginia
Member prefix: HMK, YST
Anthem BCBS
CA, CO, CT, GA, IN, KY, ME, MO, NV, NH, NY, OH, VA, WI
Member prefix: XMW, YXX, varies by state
BCBS of Texas
Texas
Member prefix: YBK, XLT
BCBS of Michigan
Michigan
Member prefix: XPX, YBL
BCBS of Florida / Florida Blue
Florida
Member prefix: YMC, ZGN
Independence BCBS
Southeastern Pennsylvania
Member prefix: IBC
If you don't recognize the prefix: Google "BCBS member ID prefix [prefix letters]" or use the BCBS prefix lookup tool at bcbs.com. This is how billers identify the home plan when they need to call.
Common payers for WA PMHNPs
Kaiser Permanente
WA group-model HMO. In-network only. Separate provider portal.
Prefix: GOU (Gonzaga/group plans)
UnitedHealthcare
UHC, Optum, UMR, Oxford all route through UHC
Prefix: varies — look for "UHC" or Optum on card
Apple Health (Medicaid)
WA Medicaid. Routes through MCOs: Molina, Coordinated Care, Community Health Plan
Card shows MCO name, not "Apple Health"
PEBB / SEBB Plans
WA state employees & school employees. Administered by Premera or Kaiser depending on plan selection.
Verify at time of service — plan type varies
LifeWise Health Plan
Subsidiary of Premera. Separate payer ID. Marketplace plans primarily.
Prefix: ZKR (shared with Premera block)
Cigna
National commercial. Behavioral health sometimes carved out to Evernorth.
Check if BH is carved out before billing Cigna directly
How billers use member ID prefixes
When a patient has an insurance card you don't recognize — especially a BCBS card from another state — the 3-letter prefix on the member ID tells you which state plan they belong to. That matters when:
1. You have a claim dispute. Claims route through the BlueCard program to the home plan. If you need to escalate, you call the home plan, not Premera.
2. You're verifying benefits. Out-of-state BCBS plans may have different mental health benefits, different telehealth rules, or different prior auth requirements than Premera.
3. You're checking eligibility. Some plans are not in-network with your local BCBS even if you're credentialed — the member's home plan determines network status.
Quick method: Google "insurance prefix [letters]" or search bcbs.com prefix tool. Your biller probably already does this. Now you know why.
Telehealth Modifiers: 95 vs GT
95
Synchronous telehealth
Use on commercial payers: Premera, Regence, UHC, Kaiser, Cigna, Aetna.
Required on every CPT line independently — if you bill 99214 + 90833, both lines need modifier 95.
POS 10 (patient home) requires this modifier.
GT
Interactive audio & video
Use on Medicare and some Medicare Advantage plans.
Using GT on a commercial claim may cause a denial or processing error — verify before billing.
Same rule: required on every line.
Most common error: Modifier 95 on the E/M line but not on the 90833 add-on line. The E/M pays; the add-on denies CO-4. Each line is adjudicated independently.
Modifier 25 is sometimes added to the E/M when billing alongside a procedure (like an injection). Not typically required when billing 90833 with E/M — the add-on code relationship is already defined by CPT. Check your payer's policy if you see modifier 25 denials.
Place of Service codes
POS 11
Office — patient physically present. No modifier needed.
POS 10
Patient home — telehealth. Modifier 95 required on every line.
POS 02
Telehealth originating site — patient at clinic or facility. Used less commonly.
POS 02 + 95
Originating site with synchronous audio/video. Some payers require both.