Think Beyond Practice ← Practice Lab
Billing & Coding Lab
Choose a mode below — or follow the recommended path if you’re just getting started.
New to the Billing & Coding Lab?
Start here → Guided Billing Training
Then → Billing Simulator
Use when you need it → Denial Drills
Or jump straight to any mode below.
Guided Trainings
💳
Guided Billing Training
From EHR setup to posting the ERA — NPI, fee schedule, eligibility, claim building, and patient billing. Explained as you do it.
New to private practice? Start here.
Start here
📖
Note Building & MDM
Build a defensible psychotherapy note step by step. Understand MDM vs time and what your documentation actually proves to an auditor.
Guided
Simulations & Tools
📋
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
CodeDescriptionYour billed ratePremera 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.
Billing Simulator
Established patient follow-up
Payer: --
In progress
Visit & provider information
Patient
J. Mercer, est. 3 yrs
Date of service
--
Place of service
POS 11 = office. POS 10 = patient home via telehealth. POS 02 = telehealth originating site. Wrong POS triggers automatic denial.
10 -- Telehealth, patient home
Visit mode
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
--
Member ID: --
Plan
--
Status
Active
Effective
01/01/2026
Group
GRP-44921
Copay
--
Per visit
Deductible
--
Coinsurance
--
After deductible
OOP max
--
TH parity
--
WA state
Auth required
No
Outpatient MH
Collect copay at time of service.
Your NPI: --
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?
⚠Do not enter PHI or personal health information. This tool is not covered by a Business Associate Agreement and is not intended for protected health information. Do not enter any information that identifies a patient, and do not enter health information about yourself or anyone else. Keep all entries free of names, contact details, and other identifying or health-related specifics.
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...
Take action
Corrected claim
✅ Corrected claim processed
ERA summary — for reference while posting
Service lines
DateCodeModChargesThis paymentBalance
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 feedback goes straight to the Think Beyond Practice team.
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 feedback goes straight to the Think Beyond Practice team.
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
Note Building & MDM
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.
MDM pathway
Problems: 2 stable chronic conditions
Data: minimal
Risk: low (no management decisions)

MDM = low → 99213
Time pathway
42 minutes total provider time
40–54 min range

Time → 99215
Task — Final billing decision
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.
The Billing Workflow
The Billing Workflow
Run the billing lifecycle —
start to finish.
Every claim follows the same path — from setup to payment to patient billing. We’re going to run that entire process using one real patient. You make the decisions. You see what breaks when they’re wrong.
Patient: Maya Chen, 32F — Follow-up (Telehealth) — Premera Blue Cross
Step 1
Practice Setup
Starts with setting up your billing system correctly. Your NPI, taxonomy, TIN, and place of service determine how every claim is routed. If these don’t match your credentialing file, claims fail before they’re even reviewed.
Step 2
Fee Schedule
Decide what you charge — and what you’ll actually get paid. You submit your billed rate, but the payer applies a contracted allowable. Learn how to set fees above allowables and avoid fee compression that quietly reduces revenue.
Step 3
Credentialing & Enrollment
Make sure the payer recognizes you. Before any claim pays, your NPI, taxonomy, and TIN must match what the payer has on file. Mismatches lead to CO-16 and CO-184 denials — often with no clear explanation.
Step 4
Pre-Visit Eligibility
Verify coverage before the visit happens. Check if insurance is active, how the deductible applies, and what the patient will owe. This is where most billing mistakes start — quoting the wrong benefit or missing deductible impact.
Step 5
Build the Claim
Document the visit and submit it correctly. Enter CPT codes, diagnosis, POS, and modifiers. This is where clinical decisions meet billing rules — and where errors trigger denials.
Step 6
ERA & Payment Posting
Read what the payer actually did. The ERA shows what was paid, reduced, or denied — and why. Apply payments correctly, understand CO-45 write-offs, and assign patient responsibility.
Step 7
Patient Billing
Close the loop with the patient. Generate the statement based on the ERA. Know what to charge, what to write off, and what to say when patients question the bill.
Step 1 — Practice Setup
This is what every claim is built on.
Before a single claim goes out, your billing system needs four things configured correctly. If any one of them is wrong, claims deny — sometimes silently, sometimes months later.

Here's what that setup screen looks like. Take a moment to read it.
Practice Setup
Rendering NPI
Type 1 — Individual
Box 24J on CMS-1500 · Identifies the rendering provider · Follows you across employers
Drives claim routing
Taxonomy Code
363LP0808X
Box 33b on CMS-1500 · Must match CAQH · Mismatch = CO-184 denial
Triggers denials
TIN / EIN
XX-XXXXXXX
Box 25 on CMS-1500 · Determines payment routing · Must match credentialing
Affects reimbursement
Place of Service
11 · 10 · 02
Box 24B on CMS-1500 · In-person vs telehealth · Wrong code = rate reduction
Affects rate
We're going to build this screen field by field. Each one has a denial waiting behind it if you get it wrong.
Step 1 — Practice Setup
Your NPI: the number on every claim you submit.
Every claim you submit must include it. Payers, clearinghouses, and EHRs all use it to route and adjudicate.
Type 1 NPI
Individual provider
Assigned to you personally. Follows you regardless of where you work. Goes in Box 24J (rendering provider) on every claim.
Type 2 NPI
Organization / group
Assigned to a practice or group entity. Goes in Box 33a (billing provider). Solo practice owners often use their Type 1 in both fields.
If you bill a telehealth visit using your Type 2 NPI in Box 24J instead of your Type 1, the payer may reject it because it doesn't match the rendering provider on file. Most solo PMHNPs in private practice use their Type 1 in both Box 24J and Box 33a until they have a formal group structure.
Enter your rendering provider NPI (Type 1, 10 digits).
Step 1 — Practice Setup
Taxonomy code: your specialty on the claim.
A 10-character code that tells the payer what type of provider you are. It lives in Box 33b and in your CAQH profile. If the taxonomy code on your claim doesn't match what's in the payer's credentialing system, you'll see a CO-184 denial.
Your license number is issued by your state board and is what authorizes you to practice. Your taxonomy code is a national standardized code used in the billing system to categorize your specialty. Payers use taxonomy to verify that your credential type matches what's on file from credentialing. They're separate systems — both matter, for different reasons.
Select the correct taxonomy code for a PMHNP in private practice.
163W00000X — Registered Nurse
363LP0808X — Nurse Practitioner, Psychiatric/Mental Health
207Q00000X — Family Medicine Physician
364SP0809X — Clinical Nurse Specialist, Adult Psychiatric/Mental Health
Step 1 — Practice Setup
Place of Service: where the visit happened.
Box 24B on the CMS-1500. Payers reimburse differently by site — wrong POS triggers denials or rate reductions.
11
Office
In-person at your office. No telehealth modifier.
10
Telehealth — Home
Patient at home on video. Requires modifier 95 on every CPT line.
02
Telehealth — Other
Patient at a non-home site. Rare in solo outpatient.
Two scenarios. Pick the correct POS for each.
Get it wrong to see what happens on the ERA.
Scenario 1: Your patient drives to your office. You meet in person for 45 minutes.
Scenario 2: Your patient joins from home on a video call. You're at your office.
Step 1 — Practice Setup
TIN: how payers send you money.
Box 25 on the CMS-1500. Tells the payer what entity to send reimbursement to and issue 1099s under.
Option A — SSN
Your Social Security Number. Simpler to set up. But it puts your SSN on claims that pass through clearinghouses — increasing identity theft exposure.
Option B — EIN ✓ Recommended
Employer Identification Number. Free from IRS in minutes. Separates your personal identity from your business. Standard practice for solo providers.
Yes — and consistency matters more than the choice itself. Whichever TIN you use on your credentialing applications must match exactly what's in your billing system. A mismatch between your credentialing TIN and your claim TIN can cause payment routing failures and CO-16 denials. Pick one, use it everywhere, and never change it mid-contract without notifying payers.
Enter your EIN (format: XX-XXXXXXX).
Step 1 — Practice Setup
Your practice setup is configured.
Every claim you submit from this point forward will use this data. Here's what you built — and what each field prevents.
Practice Setup — Validated
✓
NPI (Type 1) —
Claim routes to correct rendering provider · Prevents CO-16 NPI mismatch
✓
Taxonomy — 363LP0808X (PMHNP)
Matches payer credentialing file · Prevents CO-184 taxonomy mismatch denial
✓
TIN / EIN —
Payment routes to correct entity · Prevents payment routing failures
✓
Place of Service — 11 (office) and 10 (telehealth) configured
Correct POS per visit type · Prevents rate reductions and CO-4 modifier denials
This setup carries forward through every module. When you build the claim in Module 5, these fields will pre-populate automatically.
Step 2 — Fee Schedule
Your fee is not what you get paid.
When you submit a claim, you submit your billed charge — the fee you set. The payer pays you their contracted allowable — a rate negotiated during credentialing.

The difference between your billed charge and the allowable is the CO-45 contractual write-off. You absorb it. You can never bill the patient for it.

Rule: Always set your fees above the allowable — never below. If your fee is below the allowable, you leave money on the table every single visit.
Example — Premera 99214:
Your billed charge:    $200.00
Contracted allowable: $138.00 ⚠ FLAG: confirm rate
CO-45 write-off:      -$62.00
Insurance pays:      $138.00 (or portion after deductible)
Step 2 — Fee Schedule
Set your fee schedule.
Enter a fee for each code. Premera allowables are shown for reference. Your fee must be above the allowable for each code — but not so close that you create compression.
CPT Code
Premera Allowable ⚠
Your Fee
99213
$98.00 (flag)
$
99214
$138.00 (flag)
$
99215
$168.00 (flag)
$
90833
$68.00 (flag)
$
Module 3 — Credentialing & Payer Enrollment
What has to match — and what breaks when it doesn't.
When a payer credentialed you, they stored your information in their system: your NPI, your taxonomy code, your TIN, and your effective date. Every claim you submit gets cross-checked against that stored record.

If anything doesn't match, you get a denial — not always with a clear explanation.
CO-16 — Claim lacks required info / NPI not enrolled
Your NPI isn't active with this payer yet, or there's a mismatch between what you submitted and their enrollment record. Common in the first 90 days after credentialing or after a practice address change.
CO-184 — Taxonomy mismatch
The taxonomy code on your claim doesn't match what the payer has on file from credentialing. Fix: verify your taxonomy in CAQH and in your EHR billing settings — they must be identical.
The credentialing checklist — what must match on every claim:
✓ Type 1 NPI (rendering) — matches CAQH and payer enrollment
✓ Taxonomy code — matches CAQH and payer enrollment
✓ TIN/EIN — matches W-9 on file with payer
✓ Effective date — claims cannot precede your credentialing effective date
Step 4 — Pre-Visit Eligibility
Meet your patient.
You have a follow-up scheduled for tomorrow.

Patient: Maya Chen, 32F, established
Insurance: Premera Blue Cross
Visit type: Telehealth (patient home)

Before the visit, you need to run an eligibility check. This tells you whether her insurance is active, what her cost-sharing looks like, and whether she has a deductible balance. It also protects you — if you see a patient without verifying benefits and the claim denies, you may not be able to collect.
Step 4 — Pre-Visit Eligibility
Benefits came back. Read them carefully.
Availity — Eligibility & Benefits
Member: Chen, Maya    DOB: 1992-03-14
Plan: Premera BCBS PPO    Group: 88421
Status: ACTIVE
─────────────────────────────────
OUTPATIENT MEDICAL
Deductible: $1,500    Met: $340.00    Remaining: $1,160.00
Copay: $25.00 (applies after deductible)
─────────────────────────────────
OUTPATIENT MENTAL HEALTH
Individual Deductible: $2,000    Met: $340.00    Remaining: $1,660.00
OOP Max: $6,000    Met: $340.00
Mental Health Copay: $30.00 (applies after deductible only)
Coinsurance: 20% (after deductible)
─────────────────────────────────
TELEHEALTH
Covered    Audio/video required: Yes    Same cost-share as outpatient mental health
─────────────────────────────────
INPATIENT MENTAL HEALTH
Covered    Prior auth required: Yes
─────────────────────────────────
Mental Health: Covered    Auth required: No
Which benefit section applies to this visit?
Visit type: Telehealth (patient home). Maya is scheduled for outpatient psychiatric medication management via video.
Now fill in the pre-visit estimate form.
Pre-Visit Patient Estimate
Is insurance active?
Deductible remaining
$
What will the patient likely owe at today's visit?
Step 4 — Pre-Visit Eligibility
Nothing about the visit changed. Only the deductible did.
Same patient. Same plan. Same visit type. Maya is back for a telehealth follow-up three months later. Run eligibility again.
Availity — Eligibility & Benefits
Member: Chen, Maya    DOB: 1992-03-14
Plan: Premera BCBS PPO    Group: 88421
Status: ACTIVE
─────────────────────────────────
OUTPATIENT MENTAL HEALTH
Individual Deductible: $2,000    Met: $2,000.00    Remaining: $0.00
OOP Max: $6,000    Met: $2,000.00
Mental Health Copay: $30.00 (applies after deductible only)
Coinsurance: 20% (after deductible)
─────────────────────────────────
Mental Health: Covered    Auth required: No
Telehealth: Covered    Uses outpatient mental health benefits
What will Maya owe at today's visit?
Step 4 — Pre-Visit Eligibility
New patient. Different plan structure entirely.
James Okafor, 45M. Kaiser Permanente HMO. Telehealth follow-up for depression and medication management. Run eligibility.
Availity — Eligibility & Benefits
Member: Okafor, James    DOB: 1979-08-22
Plan: Kaiser Permanente HMO    Group: KP-44210
Status: ACTIVE
─────────────────────────────────
OUTPATIENT MENTAL HEALTH
Individual Deductible: None
Copay: $20.00 per visit
Coinsurance: Not applicable
─────────────────────────────────
Mental Health: Covered    Auth required: No
Telehealth: Covered    Same cost-share
Notice what is different here. No deductible line. No "applies after deductible." James owes a flat $20 copay from visit one — no calculation needed.
What will James owe at today's visit?
Step 4 — Pre-Visit Eligibility
Maya’s benefits aren’t always this clean.
Same patient. This time the eligibility response comes back with multiple benefit sections — like it usually does. Your job is to figure out which one actually applies to this visit.
Patient: Maya Chen, 32F — Telehealth follow-up, anxiety and insomnia — Premera Blue Cross PPO
AVAILITY — ELIGIBILITY & BENEFITS
Member: Chen, Maya      DOB: 1992-03-14
Plan: Premera BCBS PPO     Group: 88421
Status: ACTIVE
Outpatient Medical
Copay: $25    Coinsurance: 10%    Deductible applies: Yes
Outpatient Mental Health
Copay: $30    Coinsurance: 20% (after deductible)    Deductible applies: Yes
Inpatient Mental Health
$500/day    Preauthorization required
Telehealth
Covered    Uses outpatient mental health benefits    Audio/video required: Yes
Deductible / OOP
Individual Deductible: $2,000    Met: $340    Remaining: $1,660.00
OOP Max: $6,000    Met: $340
Step 1 — Which benefit section applies to this visit?
Step 2 — What will the patient likely owe at today’s visit?
Step 3 — What will you tell Maya before the visit?
Step 4 — Pre-Visit Eligibility
What if eligibility comes back blank?
Sometimes the portal returns nothing — "no match found," "unable to verify," or just a blank screen. This happens when the member ID is entered wrong, the patient hasn't been enrolled yet, or there's a system issue.

When the portal fails, you call the provider services line. That's what Angela is for. In this scenario, you'll call her and get the benefits verbally — then enter what she tells you into your intake form.
Scenario: A new patient is calling in tomorrow. Portal shows "no match found" for Member ID 887421. Her insurance card shows Premera BCBS. You need to call and verify benefits before you can tell her what to expect for cost.
Call Angela to get the benefits.
Ask her the right questions. When she gives you information, you'll enter it into the form below the chat.
A
Angela
Premera Provider Services
Premera provider services, this is Angela. How can I help you today?
Enter what Angela tells you:
Phone Benefits Verification
Insurance active? (Y/N)
Individual deductible total / remaining
Total $ Remaining $
Mental health copay $
Telehealth covered?
Auth required?
Step 5 — Build the Claim
The CMS-1500: the universal claim form.
Every outpatient professional claim — whether submitted electronically or on paper — maps to the CMS-1500 format. Your EHR fills most of it automatically, but you need to understand every field, because errors in any of them cause denials.

You're going to build Maya Chen's claim from scratch. The system will walk you through each section, highlight the active field, and explain what goes there and why.
Visit details: Maya Chen, 32F, established patient, Premera BCBS
Diagnoses: F33.11 (MDD recurrent moderate), F41.1 (GAD)
Visit: Telehealth, patient home, 99214 + 90833, modifier 95 on both lines
Date of service: Use today's date
Step 5 — Build the Claim
Fill the CMS-1500.
Each field is explained when active. Fill in the highlighted field, then advance.
In real life, your EHR fills most of this automatically — your NPI, POS, fee schedule, and diagnosis codes all pre-populate from your settings. You are filling it in manually here so you know exactly what goes in each field, why it matters, and what happens when any of it is wrong.
Visit details — reference while you fill
Patient: Maya Chen, 32F, established  |  Payer: Premera BCBS
Diagnoses: F33.11 (MDD recurrent moderate)  |  F41.1 (GAD)
Visit: Telehealth, patient home (POS 10)  |  99214 + 90833, modifier 95 on both lines
NPI: --  |  DOS: Today's date
Billed rate 99214: --  |  Billed rate 90833: --
⚠ You skipped Practice Setup. Go back to Step 1 to enter your NPI and fee schedule — you will need them to complete this form.
CMS-1500 — Maya Chen
Box 21 — Diagnosis Codes
A
B
Box 24B — Place of Service
Box 24D — CPT Codes + Modifiers
mod:
mod:
Box 24F — Charges
Enter the billed charge for each line — your fee from the schedule you set in Module 2.
Line 1 $
Line 2 $
Box 33a — Billing NPI
This is where your Type 1 NPI goes if you're billing as a solo provider — or your Type 2 if billing under a group entity. Use the same NPI you entered in Module 1.
Box 24J — Rendering NPI
Your Type 1 (individual) NPI. Always the provider who actually performed the service — you.
Step 6 — ERA & Payment Posting
The ERA arrived.
The ERA (Electronic Remittance Advice) is the explanation of what the payer did with your claim. Read every line before you post anything. Each number means something specific — and each one requires a specific action.
Read each line left to right. This is how the payer processed your claim — one code at a time.
ERA — Premera Blue Cross
Claim: Maya Chen  |  DOS: today
Code
Billed
Allowed
Write-off
Ins. paid
Pt. owes
99214-95
$--
$138.00
$--
CO-45 — contractual write-off
$0.00
$138.00
PR-1 — deductible
90833-95
$--
$68.00
$--
CO-45 — contractual write-off
$0.00
$68.00
PR-1 — deductible
Total insurance payment: $0.00
Total patient responsibility: $206.00 (PR-1 deductible — both lines)
Read the ERA. Answer each question before posting.
In real life, no one labels these for you. Work through each one.
Look at the CO-45 write-off on each line above (billed minus allowed). What does that amount actually represent?
You billed above the $138 allowed for 99214. Which number determines your payment?
Insurance paid $0. PR-1 shows $206. What is your next step?
ERA shows patient responsibility: $206. You collected $0 at the visit. What matters most here?
Line 1: PR-1 $138. Line 2: PR-1 $68. What is the total patient responsibility?
Ignore the summary line. Calculate from the line items — this is how you catch errors in posting.
Connect Step 4 to Step 6
In Step 4, Maya had $1,660 remaining on her deductible. This ERA shows PR-1: $206. Does this confirm your pre-visit estimate was accurate — or did you miss something?
Step 7 — Post the ERA
Post the ERA into your billing system.
In real life your EHR may auto-import ERA data if you are enrolled in ERA services with your payer. When that happens these fields populate automatically. If you receive a paper ERA or are not enrolled, you enter them manually. Either way — verify every number. Automation hides mistakes.
ERA — for reference while posting
Code
Billed
Allowed
Ins. paid
99214-95
$200
$138.00
$0.00
90833-95
$120
$68.00
$0.00
Once adjudicated, billed no longer matters. Everything flows from allowed.
Post line by line. Calculate — do not just copy.
Calculate from the ERA. Do not copy totals. Each line is its own claim. Post them separately or your numbers will be wrong.
Line 1 — 99214-95
Allowed (contracted rate)
$138.00
CO-45 write-off $
Insurance paid $
Patient owes (PR-1 — deductible) $
PR-3 copay would already be collected — this is different
Line 2 — 90833-95
Allowed (contracted rate)
$68.00
CO-45 write-off $
Insurance paid $
Patient owes (PR-1 — deductible) $
Claim balance
CO-45 and insurance reduce the balance. Patient responsibility resolves it. If your balance is not $0, your posting is wrong. Fix it before moving on.
Total billed: $--
CO-45 written off: $--
Insurance paid: $--
Patient owes: $--
Balance: $--
If your balance is not $0, your posting is wrong.
Quick check: what drives everything — billed or allowed?
✓ ERA posted correctly
CO-45: $114.00 written off  |  Insurance: $0.00  |  Patient balance: $206.00
Insurance is done. You were paid $0. The remaining $206 is now yours to collect. This is why eligibility matters. You predicted this in Step 4.
This is a clean deductible scenario. In the simulator, you will see mixed payments, copays, and partial adjudication. The same rules apply — CO-45 is always math, allowed always drives everything, and the balance always must hit zero.
This is where your eligibility estimate gets tested.
Send the patient statement.
This is where most practices stall — the balance exists, but no statement goes out.
Patient Statement — Maya Chen
Date of service: --
Service: Telehealth psychiatric follow-up
Codes: 99214, 90833
Billed to Premera: $--
Insurance paid: $0.00
Reason: Deductible applied
Amount you owe: $--
Maya calls. She says: "I thought my insurance would cover this."
Choose the best response.
A — "Your insurance processed the claim and applied it to your deductible. That means they did not pay yet, and the balance is yours until the deductible is met. After that, your cost will drop to your copay or coinsurance."
B — "That's what insurance decided — you'll need to call them."
C — "Let me resubmit the claim — this doesn't look right."
D — "We can just waive the balance this time."
Guided Billing Training — Complete
You built a claim from scratch.
You took a visit from intake to payment — and saw exactly where the money goes.

Every claim you submit follows this exact cycle. If you understand this, billing stops feeling random.

The claim didn't fail here. It worked exactly as designed.

Insurance paid $0 because the deductible applied. Nothing went wrong. The balance moved to the patient — exactly as the plan is designed. Your job now is to collect it.

What's next
The Billing Simulator removes the guardrails. Same workflow — but now you have to recognize problems without prompts. Real charts. Real denials. No explanations.
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.
Premera Blue Cross -- Provider Services
Rep: Angela · Finally off hold
Connected
Premera Blue Cross -- Provider Services
Rep: Angela · Finally off hold
Connected