Medical Research Skills for Claude Code, Codex, Cursor & Copilot
의사가 만든 58개 오픈소스 스킬로 의료 연구 전 과정을 지원
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
うえまつ産業医事務所(Mestate LLC)の産業保健活動 統合管理システム。 稼働中の「ストレスチェックWeb」と将来同じSupabaseプロジェクトを共用します(開発中は別の無料プロジェクトを使用)。 • 技術: Next.js 14 (App Router) + Supabase (Auth / Postgres / RLS) + Vercel • 設計原則: RLS+最小権限 / 危険操作はSECURITY DEFINER RPC+監査ログ / 10名未満の集計非表示 / 年度は4月始まり / セッションCookie+20分自動ログアウト セットアップ手順(開発用・無料Supabaseプロジェクト)README 전문 보기 ↗
うえまつ産業医事務所(Mestate LLC)の産業保健活動 統合管理システム。 稼働中の「ストレスチェックWeb」と将来同じSupabaseプロジェクトを共用します(開発中は別の無料プロジェクトを使用)。
| フェーズ | 内容 | 状態 |
|---|---|---|
| Phase 1 | 基盤(認証・ロール・企業共用)+ 安全衛生委員会議事録(作成・共有・添付・印刷/PDF) | ✅ 実装済み |
| Phase 2 | 面談管理(予定・実施記録・非公開メモ・意見書PDF) | ✅ 実装済み |
| Phase 3 | 健康診断結果(CSV取込・有所見・就業判定・経年・個人票・報告書サマリ・受診勧奨通知書) | ✅ 実装済み |
| Phase 4 | 統合ビュー・ダッシュボード・集計・ストレスチェック連携 | ✅ 実装済み(本番はstresリポジトリの hm-stress-link.sql で接続) |
| Phase 5 | 従業員カルテ(書類共有・産業医文書作成・履歴集約) | ✅ 実装済み |
supabase/dev_setup/0000_dev_base.sql …… 開発用のみ(companies / profiles の代替を作成)supabase/dev_setup/0001_dev_fix_recursion.sql …… 開発用のみ(RLS修正パッチ。0000を最新版で実行した場合は不要)supabase/dev_setup/0002_dev_stress_mock.sql …… 開発用のみ(ストレスチェック連携モック)supabase/migrations/0101_hm_phase1.sql …… Phase 1 本体supabase/migrations/0102_hm_phase2.sql …… Phase 2 面談管理supabase/migrations/0103_hm_phase3.sql …… Phase 3 健康診断結果supabase/migrations/0104_hm_checkup_bulk_delete.sql …… 健診記録の一括削除RPCsupabase/migrations/0106_hm_phase5_karte.sql …… Phase 5 従業員カルテsupabase/migrations/0107_hm_company_info.sql …… 企業補足情報(住所等)supabase/migrations/0108_hm_interview_pre_info.sql …… 面談の事前情報欄supabase/migrations/0109_hm_patrols_person_link.sql …… 産業医巡視記録・面談とカルテの連携supabase/migrations/0110_hm_minutes_settings.sql …… 議事録の企業別デフォルト設定supabase/migrations/0111_hm_hygiene_patrols.sql …… 衛生管理者巡視記録(チェックリスト)supabase/migrations/0112_hm_hygiene_defaults.sql …… 衛生管理者氏名のデフォルト設定supabase/migrations/0113_hm_env_patrol_files.sql …… 作業環境測定・巡視記録の写真添付supabase/migrations/0114_hm_bulk_work_judgment.sql …… 就業判定の一括入力supabase/migrations/0117_hm_judgment_setup.sql …… 健診結果の自動判定一式(判定区分2026年4月1日改定)supabase/migrations/0118_hm_followup_defaults.sql …… 事後措置の既定値を総合判定に連動supabase/migrations/0119_hm_checkup_person_link.sql …… 健診結果の生年月日・カルテ紐付けsupabase/migrations/0120_hm_interview_type_followup.sql …… 面談種別に復職後フォローアップ面談を追加supabase/migrations/0121_hm_work_judgment_pending.sql …… 就業判定に「判定保留」を追加・医師の意見の更新RPCsupabase/migrations/0122_hm_office_info.sql …… 産業医事務所の情報(帳票・CSV記載用)0000_dev_base.sql の末尾コメントに沿って、テストユーザー(office / company)とテスト企業を作成.env.local.example をコピーして .env.local を作成し、開発用プロジェクトの
Settings > API から URL と anon key を設定:
NEXT_PUBLIC_SUPABASE_URL=...
NEXT_PUBLIC_SUPABASE_ANON_KEY=...
npm install
npm run dev
ストレスチェックWeb(hironoriuematsu-byte/stres)と同じSupabaseプロジェクトに同居し、
ストレスチェックのデータは読み取りのみ参照します。依存の向きは
健康管理Web → ストレスチェックWeb の一方向のみです。
詳細はストレスチェックWeb側の連携仕様書を参照してください。
適用は次の順序で行います(すべて本番のSQL Editorで1回だけ実行)。
| # | 実行するもの | リポジトリ |
|---|---|---|
| 1 | supabase/migrations/0016_hm_link.sql | stres(profilesの別名列・companies.hm_enabled を追加) |
| 2 | supabase/migrations/0101〜0104, 0106〜0114, 0117〜0122 | kenko-kanri(本リポジトリ) |
| 3 | supabase/hm-stress-link.sql | stres(連携用の読み取り関数3つ) |
| 4 | Vercel環境変数 NEXT_PUBLIC_KENKO_URL=https://kenko.mestate.jp を設定 | stres側のVercel |
| 5 | 企業管理で対象企業の「健康管理Web」にチェック | ストレスチェックWebの画面 |
注意点:
dev_setup/ 配下のSQLは絶対に実行しない(本番にはcompanies/profilesが既にあるため)supabase/hm-stress-link.sql を使う
(本リポジトリの旧テンプレート 0105_... は削除済み)NEXT_PUBLIC_STRESS_URL=https://stres.mestate.jp を設定するkenko-kanri-khaki.vercel.app)は更新されないため、残っていれば削除する。利用者には https://kenko.mestate.jp を案内するprofiles の user_id / name / emp_id / dept は列名を変更しない
(0016の別名列の定義が壊れるため)企業ごとに Google Meet の常設ルーム(Meet の「スペース」)を1つ用意し、健康管理Webにログインしている産業医事務所と、その企業の事業者担当者だけが「面談ルームに入る」から入室できる。リンクは作り直さない限り変わらない。
| 項目 | 内容 |
|---|---|
| ルーム | 企業ごとに Meet のスペースを1つ(Meet REST API spaces.create) |
| 認証 | サービスアカウント+ドメイン全体の委任で、産業医の Workspace アカウント(GOOGLE_MEET_OWNER_EMAIL)として操作。主催者は産業医。npm 追加なし(Node の crypto で JWT 署名) |
| スコープ | meetings.space.created, meetings.space.readonly |
| アクセス種別 | TRUSTED(既定): 企業側(Workspace 外)は「参加をリクエスト」→ 産業医が承認。GOOGLE_MEET_ACCESS_TYPE=OPEN で承認不要 |
| 対象企業の限定 | hm_meet_rooms.enabled。office がオン/オフ。company は RLS で自社の有効なルームのみ読める |
| 入室 | RPC hm_meet_enter(company_id) が権限確認 → hm_meet_entries に記録 → hm_log_access → リンクを返す |
| 在室表示 | API Route が spaces.get の activeConference → participants を取得。30秒ごとにポーリング(タブ表示中のみ) |
| 開催履歴 | conferenceRecords から開始・終了時刻(参加者名は含めない) |
| APIなしでも | Meet リンクを手入力で登録可(在室表示・開催履歴なし) |
supabase/migrations/0146_hm_meet_rooms.sql を実行https://www.googleapis.com/auth/meetings.space.created,https://www.googleapis.com/auth/meetings.space.readonly を登録GOOGLE_SERVICE_ACCOUNT_EMAIL / GOOGLE_SERVICE_ACCOUNT_PRIVATE_KEY / GOOGLE_MEET_OWNER_EMAIL(任意で GOOGLE_MEET_ACCESS_TYPE)→ Redeployhm_ 接頭辞(hm_minutes, hm_minute_files, hm_interviews, hm_interview_opinions, hm_access_logs など)interview_requests(高ストレス申出)との連携はhm_interviews.interview_request_idで受け口のみ用意(本番スキーマ確認後に接続)0101_ からの番号付きSQLファイルで管理し、SQL Editorで手動実行results 等)は読み取り専用で参照(Phase 4)hm-files(非公開・企業別RLS)hm_access_logs は削除・変更不可(閲覧はofficeのみ)| ロール | 権限 |
|---|---|
| office | 産業医事務所。全企業・全機能。議事録の削除(論理削除・理由必須・ログ記録)はofficeのみ |
| company | 企業側担当者。自社の議事録の作成・閲覧・添付 |
| employee | 従業員。「従業員に公開」された自社議事録の閲覧のみ |
| jimu | 本システムは対象外(ストレスチェックWebのみ) |