An AI-powered rate negotiation system connecting Admins, Hospitals, and Professionals through intelligent, data-driven compensation recommendations.
Each actor plays a distinct role. Together they power a negotiation engine that produces fair, market-accurate rates every time.
Configures the entire SN engine — global settings, market data tables, and subscription plans that grant SN access.
Base Rates State Metrics Shift Differentials Cert Premiums Facility Adjustments AI SettingsSubscribes to SN, completes their profile parameters, uploads historical rate data, and sets ceiling rates on job postings.
SN Parameters Historical CSV Data Ceiling Rate per Job Target Bill Rate Hard-to-Fill FlagSubscribes to SN (plan or add-on), sets an optional personal rate range, then uses the engine when applying to jobs.
SN Subscription Rate Range (optional) Apply with SN Rate Re-evaluate up to 5× Accept or NegotiateEvery rate suggestion is built from layered data — from global benchmarks up to hospital-specific parameters and AI inference.
The calculator uses a layered formula, combining market data with professional and hospital-specific signals to produce a fair, defensible rate.
Base Rate Priority: The calculator picks the best available source in this order: Hospital's target bill rate → Hospital's historical average CSV data → Global state+specialty benchmark → National specialty average → Global average fallback. The more hospital data available, the more accurate the rate.
When both the hospital and professional are SN subscribers and the hospital has completed their parameters profile, Claude AI adds an intelligent refinement layer on top of the calculated rate.
Combines structured data with contextual reasoning to suggest the optimal rate
Calculator-recommended rate, market min/max, job title, specialty, shift type, urgency level, professional years of experience, desired rate (if provided), hospital parameters (target bill rate, preferred range, ceiling), and historical rate summary (count, avg, min, max).
A single suggested_rate value, a rationale explaining the recommendation, and a confidence score. If Claude can't produce a valid rate, the system falls back to the professional's desired rate → min acceptable → calculator rate.
Claude is invoked only when: (1) the hospital has an active SN subscription, AND (2) the hospital has a completed parameters profile. If either condition is missing, the pure calculator rate is used — no AI call is made.
Even after AI suggests a rate, if the hospital has set a ceiling rate on the job posting and the professional has not explicitly overridden their desired rate, the final suggested rate is capped at min(suggested, ceilingRate). Professionals are shown an "over ceiling" flag if applicable.
Admin builds the foundation tables the engine reads from. Without this data the system uses national averages and lowers confidence scores.
Market hourly rates indexed by specialty code × US state. Includes percentile_25, percentile_50, percentile_75, and percentile_90 — used to define the market min/max range for each role.
📊 SnBaseRate modelPer-state economic and healthcare market data: cost-of-living index, nurse vacancy rate, nurse shortage index, hospital demand index, Medicaid expansion status. These drive the shortage and demand adjustment multipliers.
🗺️ SnStateMetric modelMaps specialty codes (e.g. RN-ICU, RN-ER) to names and includes a national base rate used as fallback when no state-level benchmark exists. Also stores the experience band configuration per specialty.
📋 SnSpecialtyMaster modelDollar-per-hour additions by shift type (night, weekend, holiday, travel) and state. For example, a night ICU shift in California might add $8/hr over the base. Configurable per state to reflect local norms.
⏰ SnShiftDifferential modelDollar-per-hour additions per certification type held by the professional (e.g. CCRN +$4, BLS +$1, ACLS +$2). The system sums all applicable premiums for that professional's certification list.
🎓 SnCertificationPremium modelMultipliers applied based on hospital facility type: Level I Trauma Centers, Academic Medical Centers, Teaching Hospitals typically pay higher than community facilities. Admin sets these multipliers per facility category.
🏢 SnFacilityAdjustment modelAdmin controls: max re-evaluations per professional per job (default 5, 6-hour cache window), min rate floor (absolute minimum suggested rate), and whether the SN engine is globally enabled or disabled.
⚙️ Settings modelAdmin toggles has_smart_negotiation = true on any professional subscription plan or add-on plan. Both professionals and hospitals must have SN-enabled subscriptions for the AI layer to activate.
The richer the hospital's data, the more accurate and competitive the rate. Each layer of data adds intelligence to every job's rate calculation.
The hospital must have an active subscription with has_smart_negotiation = true. Without this, the hospital's data is NOT included in the AI context and no ceiling rate is enforced — professionals still get a calculator-only rate.
A hospital-level configuration form with key fields: Target Bill Rate ($/hr), Preferred Rate Range (e.g. 95–110), Maximum Bill Rate (hard cap), Hard-to-Fill Flag (+10% boost), and Confidence Threshold. Must be marked as "completed" for AI to use it.
📋 HospitalSnProfile modelHospital uploads historical rate records (CSV) containing past base rates by discipline and specialty. The system computes average, min, and max rates from this history — used as the most preferred base rate source over global benchmarks.
📂 HospitalSnHistoricalRateRecordEach individual job posting can have an sn_ceiling_rate — the maximum rate this specific posting will accept. If a professional's suggested rate exceeds this, it gets capped (unless the professional explicitly overrides their desired rate). An "over ceiling" flag is surfaced to the professional.
Hospital SN Activation: The AI layer only activates when the hospital has (1) an active SN subscription AND (2) a completed parameters profile (i.e. parameters_completed_at is set). Just subscribing is not enough — the profile must be filled out. Without completed parameters, only the calculator rate is returned.
From subscription to submitted application — everything a professional experiences in the Smart Negotiation journey.
Professional purchases a plan with has_smart_negotiation = true, or adds an SN add-on to their existing plan. This unlocks the SN panel on all job applications.
Complete all 6 required profile steps: Basic Profile → Entity → Specialties → Documents → Education → Certifications. The SN engine uses specialty codes and certifications in its calculations.
👩⚕️ ProfessionalSN subscribers see an optional Step 7 in their profile sidebar: set a personal minimum and maximum hourly rate. When set, every rate suggestion is compared against this range and a green (within) or red (lower/higher) status message is shown during application.
👩⚕️ ProfessionalFrom the job index (/professional/jobs) or job detail page (/professional/jobs/{id}), the professional clicks "Apply." The SN panel automatically loads a suggested rate via the calculation pipeline.
The SN panel shows the Suggested / Final Rate ($/hr). If a personal rate range is configured, a status message always shows: green "within your range" or red "lower/higher than your range — do you still want to apply?"
👩⚕️ ProfessionalThe professional can click Re-evaluate to get a fresh AI-powered suggestion, optionally adjusting their desired rate first. Re-evaluations are tracked per professional per job in a 6-hour cache. Counter shows remaining attempts.
👩⚕️ ProfessionalWhen satisfied, the professional clicks Accept (visible when a rate range is set). This locks the rate as read-only and shows a "Rate Accepted" badge. The Re-evaluate button stays visible — clicking it resets to a new suggestion.
👩⚕️ ProfessionalThe form submits with the negotiated_rate and full negotiation context (over-ceiling flag, ceiling rate, re-evaluation counts). The application is stored and a SmartRateSnapshot is persisted for analytics and auditing.
Multiple rate boundaries exist simultaneously. The SN engine navigates them to land on an optimal, fair rate.
SN is a premium feature gated by subscription. Both sides of the marketplace need SN access for the full AI experience.
Dual-side unlock: The AI rate suggestion is at its most powerful when both the professional AND the hospital have SN access with completed profiles. If only the professional has SN, they still get a calculator-based rate — just without the hospital's parameters enriching it.
Every rate suggestion comes with a confidence score (0–100%). Missing data deducts points, ensuring professionals and hospitals always know how reliable a rate is.