Medical Research Skills for Claude Code, Codex, Cursor & Copilot
58 open-source skills for the full medical research lifecycle. Built by physicians, tested on real publications.
Manage health records, appointments, and hospital operations for patients, staff, and admins
AI summary · website and README
HealthJavaScript · CSSGitHub @docketcoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Built with Next.js · Designed for Hong Kong, built for the world
Medsa is three apps in one codebase:
Folder structure — what every file doesRead the full README ↗Built with Next.js · Designed for Hong Kong, built for the world
Medsa is three apps in one codebase:
| Portal | Who uses it | URL |
|---|---|---|
| Patient portal | Patients, families, guardians | medsa.health/patient |
| Practitioner portal | All healthcare staff | medsa.health/practitioner |
| Institution & partner portal | Hospital admins, insurance companies | medsa.health/institution |
medsa/
│
├── package.json ← Tells Node.js what this project is + what to install
├── next.config.js ← Next.js settings (you rarely touch this)
│
├── styles/
│ └── globals.css ← App-wide styles: fonts, colour variables, reset
│
├── pages/ ← Every file here becomes a URL on your site
│ ├── _app.jsx ← Root wrapper — loads global CSS, wraps all pages
│ ├── index.jsx ← medsa.health/ — landing page, portal selector
│ ├── patient.jsx ← medsa.health/patient — patient portal
│ ├── practitioner.jsx ← medsa.health/practitioner — practitioner portal
│ ├── institution.jsx ← medsa.health/institution — institution + insurance
│ └── claim-review.jsx ← medsa.health/claim-review — agent claim review link
│
├── components/
│ │
│ ├── shared/ ← Used by ALL three portals
│ │ ├── MedsaLogo.jsx ← The medsa wordmark SVG (custom, all lowercase)
│ │ ├── UI.jsx ← Reusable building blocks: Btn, Card, Toggle, Modal
│ │ └── colours.js ← Single source of truth for every colour in the app
│ │
│ ├── patient/ ← PATIENT PORTAL screens
│ │ ├── PatientApp.jsx ← Root — manages screen routing, topbar, bottom nav
│ │ ├── EmergencyOverlay ← SOS card — always accessible, shows critical info
│ │ ├── HomeScreen ← Dashboard: QR passport, quick tiles, message board
│ │ ├── RecordsScreen ← Medical records, vaccinations, sharing, upload
│ │ ├── DoctorsScreen ← Find doctors/clinics, wait times, book, pay
│ │ ├── CalendarScreen ← Appointments, medication alarms with time picker
│ │ ├── InsuranceScreen ← AI plan browser, claims, agent contact
│ │ ├── PrescriptionsScreen ← Active meds, drug info, refill, interaction check
│ │ ├── FamilyScreen ← Guardian controls for minors/seniors/disability
│ │ └── StorageScreen ← Subscription tiers: Free / Personal / Family
│ │
│ ├── practitioner/ ← PRACTITIONER PORTAL screens
│ │ ├── PractitionerApp.jsx ← Root — manages clock-in state, screen routing
│ │ ├── roles.js ← Role definitions + default access permissions
│ │ ├── ClockInScreen ← QR scan to clock in — unlocks patient data
│ │ ├── PractitionerIDScreen ← ID card, license, scan permissions
│ │ ├── PatientSearchScreen ← Scan QR or search; tiered access by role
│ │ │ EMS → emergency card immediately
│ │ │ Others → tabbed patient view (only what role allows)
│ │ ├── ScheduleScreen ← Personal shifts + LIVE HOSPITAL OVERVIEW (all roles)
│ │ │ Dept schedule + shift requests (heads/admin only)
│ │ ├── MessagesScreen ← Internal messaging with compose
│ │ ├── AdminPermissions ← Role permission manager (admin only)
│ │ └── HelpScreen ← Support, complaints, FAQ, privacy
│ │
│ ├── institution/ ← INSTITUTION PORTAL screens (medical admin)
│ │ ├── InstitutionApp.jsx ← Root — portal selector (institution vs insurance)
│ │ ├── InstitutionDashboard ← Live overview: beds, staff, discharges, wait times
│ │ ├── PractitionerList ← All staff, searchable, by department, credentials
│ │ ├── PatientList ← All patients, admission reason visible on card
│ │ │ Unregistered flagged — syncs on Medsa registration
│ │ ├── FullSchedule ← By department / by tier / patient appointment schedule
│ │ ├── OccupancyScreen ← Beds, busy rate, wait times per department (bar chart)
│ │ └── PortalManagement ← Create/cancel portals, approve new credentials
│ │
│ └── insurance/ ← INSURANCE PARTNER PORTAL screens
│ ├── InsuranceDashboard ← Overview: plan views, new clients, pending claims
│ ├── PlanManager ← Add/edit plan listings (like a restaurant menu)
│ ├── InsuranceAdminClaimsLog ← Full claims log with agent decisions + reasons
│ │ Admin views only — cannot approve/reject directly
│ │ Can override or send reminder to agent
│ ├── SponsoredListings ← Buy sponsored placements in AI recommendations
│ └── AgentClaimView ← Standalone claim review for agents (opened via link)
│ No login needed — secured by one-time URL token
Every screen file currently shows a grey placeholder. To make it real:
Open the matching source file from your outputs folder:
medsa-complete.jsx + medsa-patient-updates.jsxmedsa-practitioner-v2.jsx + medsa-updates-v3.jsxmedsa-institution-portal.jsxmedsa-institution-portal.jsx + medsa-updates-v3.jsxFind the matching function (e.g. function RecordsScreen)
Copy the entire function body into the component file
Make sure you import C from '../shared/colours' at the top
Replace the export default function X() placeholder
You need Node.js installed first. Download it at nodejs.org (LTS version).
Then in Terminal (Mac) or Command Prompt (Windows):
# 1. Go into the project folder
cd medsa
# 2. Install everything the project needs (only needed once)
npm install
# 3. Start the app
npm run dev
# 4. Open your browser and go to:
# http://localhost:3000
Every time you save a file, the browser updates automatically.
You only need to do this once. After that, every time you push to GitHub it deploys automatically.
medsa folder as a new repositorymedsa-health GitHub repositorymedsa.health| Stream | How |
|---|---|
| B2B institution subscription | Hospitals/clinics pay monthly for practitioner + admin portal access |
| Patient storage tiers | Free (2GB) → Personal HK$18/mo → Family HK$38/mo |
| Insurance marketplace | Listing fee + sponsored placement fee + referral commission per new client |
| What | Tool | Why |
|---|---|---|
| Framework | Next.js 14 | Pages become URLs automatically, deploys perfectly on Vercel |
| Database (next step) | Supabase | Patient records, auth, real-time sync |
| Hosting | Vercel | Auto-deploys from GitHub, free tier available |
| Security | Cloudflare | DNS, DDoS protection, HTTPS |
| Auth (next step) | Supabase Auth | Patient login, practitioner clock-in, institution admin |
Once the prototype is live:
medsa.health · Built by Victoria · v1.0 prototype