RadMapping+ is a centralized platform for managing radiologist schedules, specialties, facility assignments, licensing, and workload analytics, along with other provider-related information. It integrates real-time data sync from Google Sheets with a secure Supabase backend and a Flask-based web dashboard.
- Navigate to any page here upon landing on the site after authentication
- Navigate day-by-day by hour with color-coded availability and RVU
- Tooltips and modals for more details
- Special tags for PRN and other shift types
- View entries at a glance
- Pinned and sorted doctors
- Color coded by shift type
- View gaps based on expected vs actual RVU/hour
- Search by facility, state, and hour block
- Search doctors, filter by active status
- Pinned doctors prioritized
- View/edit doctor info, facility assignments, and licenses
- Changes are audit-logged
- Search facilities, filter by status or state
- Prioritized facilities feature
- View facility info and assigned doctors
- Facility-specific contact info
- See specialty-to-doctor assignments
- View/edit licenses
- Expired licenses are auto-detected
- View current and upcoming vacations
- Provider-related policies and notes
- Contact management with roles
- View all changes from admins or sync
- Searchable by field
- Converts user questions into SQL using OpenAI + LlamaIndex
- Google OAuth via Supabase
- Role-based access (Admin vs User)
- Backend: Python + Flask
- Frontend: HTML, Jinja2, TailwindCSS
- Database: Supabase (PostgreSQL + Auth + Storage)
- AI Integration: OpenAI, LlamaIndex
- Scheduling APIs: Google Sheets API
- Data Processing: Pandas, openpyxl
- Deployment: Docker-compatible, uses environment variables
git clone https://github.com/acozy03/RadmappingPlus.git
cd RadMapping+
SUPABASE_URL=
SUPABASE_KEY=
SECRET_KEY=
SUPABASE_SUPER_KEY=
OPENAI_API_KEY=
OPENAI_ORG_ID=
SUPABASE_DB_URL=
pip install -r requirements.txt
python -m flask run
gcloud builds submit --tag gcr.io/project-id/project-name
gcloud run deploy flask-app \
--image gcr.io/project-id/project-name \
--platform managed \
--region region \
--allow-unauthenticated \
--env-vars-file .env.yaml
- Supabase Auth controls user access
- All writes are logged with user IDs via audit logging
- Editable sections are role-locked
Role | Capabilities |
---|---|
Admin | Full edit access to all modules and fields (CRUD ops) |
User | View-only access to the platform |
-
In Supabase, go to Authentication and copy the UID.
-
Navigate to the
users
table. -
Click Insert Row:
- Paste UID into
id
- Set
role
toadmin
- Paste UID into
-
Find user in
users
table -
Either:
- Delete the row
- Or change
role
touser