Medical IT · Pharma × AI Engineer · 28 卒

薬学 × AI で
医療の未来を作る

薬学専門知識と生成 AI 開発スキルを持つ薬学部 5 年生。
AI シミュレーター・モバイルアプリを個人開発し、本番運用中。

3+
個人開発アプリ
Web · Win · iOS
対応プラットフォーム
本番稼働中
Streamlit Cloud 運用
About

自己紹介

高嶋 貫多
高嶋 貫多 Kanta Takashima
昭和薬科大学 薬学部 数理科学研究室 5 年生(28 卒)

はじめまして、高嶋 貫多(Kanta Takashima)と申します。昭和薬科大学 薬学部 数理科学研究室 5 年生(28 卒)です。

実務実習で薬局・病院での臨床経験を積む傍ら、「いつでも繰り返し練習できる環境を作りたい」という思いから、AI を使った薬学実習シミュレーターを独学で開発しました。Python・Flutter・Gemini API を用いて Web・Windows・iOS に対応したアプリを個人で設計・実装し、本番運用まで行っています。

薬学の専門知識と AI・アプリ開発スキルを活かして、医療 IT 分野でプロダクト開発に携わることを目指しています。

薬学の専門知識

薬学部 5 年生として OSCE・実務実習に取り組む中で、「いつでも繰り返し練習できる環境」を作りたいと思い、AI シミュレーターを独学で開発しました。

開発スキル

Python / Streamlit / Gemini API / Supabase / Flutter を独学習得。認証・DB・LLM・評価機能を一貫実装し、Web・Windows・iOS に対応したアプリを開発。

志望分野

医療 IT 企業でエンジニアとして、薬学ドメイン知識と AI・アプリ開発スキルを活かしたプロダクト開発に携わりたいと考えています。

現在の状況

昭和薬科大学 5 年生(28 卒)。薬局・病院の実務実習と並行しながら就職活動中。医療 IT 企業・大手 SIer 医療部門を志望。

Projects

開発プロジェクト

卒業研究 本番運用中 Web アプリ

患者・医療従事者役 AI シミュレーター

薬学生の実務実習・OSCE 対策向け AI ロールプレイ練習ツール

概要

Google Gemini 2.5 Flash が患者・医師・看護師を演じ、実際のコミュニケーション練習ができる。 会話後に AI がチェックリスト + SOAP 薬歴を自動評価。Streamlit Community Cloud で本番運用中。

操作デモ

主な機能

🎭AI 患者・医師・看護師ロールプレイ(20 以上のシナリオ)
📊チェックリスト + SOAP 薬歴の AI 自動評価(JSON パース)
🎓OSCE 対策 / 実習前練習 / 初期研修 の 3 モード
🔐Supabase Auth 認証・自動ログアウト(30 分)
🔊gTTS 音声読み上げ・Whisper 音声入力(PC)
👩‍🏫教員向けスタッフダッシュボード

技術スタック

Gemini 2.5 Flash Streamlit 1.41 Supabase (Auth + DB) Python 3.x gTTS / Whisper Streamlit Cloud

アーキテクチャ

ユーザー
 ↓
Streamlit UI (app.py)
 ├── 認証 (auth.py / Supabase Auth)
 ├── シナリオ選択 (sidebar.py / prompts*.py)
 ├── チャット (ui_chat.py / llm.py)
 │  └── Gemini 2.5 Flash API
 ├── 音声 (audio.py / gTTS · Whisper)
 └── 評価 (evaluation.py)
    └── Supabase DB (evaluations テーブル)

工夫した点

① プロンプトで「聞かれたことだけ答える」制約を設け、実臨床に近い会話を再現
② 評価を JSON 構造化出力させ、チェックリスト・アドバイス・SOAP を個別パース・表示
last_active_at を Supabase に記録、サーバー再起動後も 30 分タイムアウト判定が動作
{{TODAY+3Y}} などの日付テンプレートを起動時に実日付へ動的置換
個人開発 Windows アプリ iOS アプリ

薬剤師向け 服薬指導支援アプリ

Flutter でマルチプラットフォーム対応したネイティブアプリ

概要

薬局・病院の薬剤師が現場で使えるネイティブアプリ。 Flutter による単一コードベースで Windows デスクトップ・iOS スマートフォンに対応。 バックエンドは Python(FastAPI)で構築し、薬剤情報の参照・管理機能を提供。

主な機能

💊薬剤情報の検索・閲覧(添付文書連携)
📱Windows・iOS 双方で動作するマルチプラットフォーム対応
🔄Python バックエンド(FastAPI)との REST API 連携
🎨Material Design 3 ベースのクリーンな UI

技術スタック

Flutter(Dart) Python(FastAPI) Windows Desktop iOS REST API

アーキテクチャ

Flutter フロントエンド (Dart)
 ├── Windows デスクトップ
 └── iOS アプリ
   ↓ REST API
Python バックエンド (FastAPI)
 └── 薬剤情報 DB
個人開発 Web アプリ 薬学×確定申告

セルフメディケーション税制 記録帳

OTC 薬の購入を記録し、確定申告の控除額を自動計算する薬学特化ツール

概要

市販薬(OTC 薬)の購入履歴を記録し、セルフメディケーション税制の控除額(最大 88,000 円)を 自動計算する Web アプリ。バーコードスキャンで薬品を即座に登録でき、 確定申告用の医療費控除明細書を印刷・出力できる。薬学部で学んだ知識を一般向けに還元したプロダクト。

操作デモ

主な機能

📷バーコードスキャンで OTC 薬を自動認識・入力(@zxing)
🧮年間購入額から控除額を自動計算(12,000 円超で最大 88,000 円)
🖨️確定申告用・医療費控除明細書(特例用)を PDF 印刷出力
📊CSV エクスポートで購入記録を一括出力
💊対象 OTC 薬データベースで薬品検索・登録
🗂️確定申告の手順ガイド・e-Tax 案内を内蔵

技術スタック

React 19 TypeScript Vite @zxing/browser(バーコード) jsPDF(PDF 出力) LocalStorage

アーキテクチャ

React 19 + TypeScript (Vite ビルド)
 ├── バーコードスキャン (@zxing/browser)
 ├── 薬品 DB 検索 (drugDatabase.ts)
 ├── 購入記録管理 → LocalStorage
 ├── 控除額計算 (tax.ts / 閾値 12,000 円・上限 88,000 円)
 └── 明細書出力 (jsPDF / window.print)

工夫した点

① バーコードスキャン機能でレシートなしでも薬品を瞬時に登録できる UX を実現
② 国税庁の様式に準拠した医療費控除明細書(特例用)をブラウザ内で印刷可能に
③ サーバー不要の LocalStorage 設計でプライバシーに配慮した情報管理
④ 薬学部で学んだセルフメディケーション税制の知識を直接プロダクトに応用
個人開発 独自ドメイン公開中 薬剤師向けツール

持参薬チェック

残薬調整の現場課題から生まれた、使用期限確認・錠剤鑑別を1画面に統合した薬剤師向け Web ツール

概要

PTP シートには渕にロット番号のみ印字され、使用期限は外箱にしかないことが多い。 各社の使用期限検索サイトを個別に開く手間という実務課題を解消するため、 19 社のリンクを 1 画面に集約し、ロット番号を貼り付けるだけで即検索できるツールを開発。 錠剤鑑別・報告書 PDF 印刷も統合し、独自ドメイン jisanyaku-check.com で公開中。

操作デモ

主な機能

🔍19 社の製薬会社 使用期限検索ページへワンタップアクセス
💊錠剤鑑別(PMDA・ハイパー薬事典へのワンタップ検索)
よく使うメーカーのお気に入り登録・並び替え
📋ロット番号コピー機能(各社サイトにそのまま貼り付け)
🖨️確認結果を報告書として PDF 印刷・保存
🔒完全ローカル動作(LocalStorage)・サーバーレス

技術スタック

HTML / CSS JavaScript(バニラ) GitHub Pages 独自ドメイン(CNAME) LocalStorage

開発の背景・工夫した点

① PTP シートの使用期限問題という「実務で感じた課題」をそのままプロダクト化
② 製薬会社の公開 API が存在しないため、スクレイピングではなくリンク集方式を採用し持続可能な運用を実現
③ ロット番号をクリップボードにコピーして各社サイトで即検索できる UX を設計
④ SEO 対策(schema.org 構造化データ・OGP・sitemap.xml)で検索流入を意識した実装
個人開発 iOS アプリ 小児服薬支援

おくすりヒーロー

薬局実習で直面した「子どもが薬を飲んでくれない」課題を、ゲーム体験に変える 3〜6 歳向け服薬支援アプリ

概要

薬局実習中、処方どおりに飲めず残薬を持ち帰る小児が多いことを実感した。 苦味や剤形の問題に加え、「飲むこと自体が嫌な体験」になっている点が本質的な課題と考え、 服薬をヒーローの物語とごほうびに置き換える iOS アプリを開発。 服薬記録・保護者向けの飲み合わせ情報・服薬指導のヒントも統合し、 子ども側の動機づけと保護者側の判断材料を 1 つのアプリで扱う設計とした。

操作デモ

主な機能

🦸バディ育成(6 種 × 5 進化段階)— 服薬でレベルアップし仲間が増える
⚔️体内スライドショー演出 — 口→食道→胃→腸をたどりバイキンを倒す(時間制限なし・必ず勝てる設計)
🎟️デジタルシール帳 — 478 枚のシールを台紙に自由にドラッグして貼る
📖シリーズ図鑑 — 40 シリーズ単位で収集し、達成感が続く設計
📷カメラ演出 — ヒーローが薬を口まで運ぶ(既定オフ・録画も送信もしない)
🧑‍🎨自作ヒーロー — 好きな写真から自分だけのバディを作成(端末内のみ保存)
💊薬価基準 7,020 品目からの予測変換・用法/剤形による自動グルーピング
🥄粉薬と服用補助食品の飲み合わせ 81 剤 × 21 食品を保護者向けに表示

技術スタック

React Native / Expo SDK 54 TypeScript(strict) AsyncStorage PanResponder / Animated expo-camera / notifications Node.js(画像・データ処理)

アーキテクチャ

サーバーを持たない完全ローカル構成。服薬記録・シールの配置・自作ヒーローの写真は すべて端末内に保存し、外部送信を行わない。 画像アセットとマスタデータは Node.js スクリプトで生成し、 「実体(画像ファイル)を唯一の情報源」として コード側の登録表を自動生成することで、登録漏れ・不整合を構造的に排除している。

開発の背景・工夫した点

① 実習で見た「飲めずに残る」課題を起点に、子どもが負ける体験を作らないゲーム設計(時間制限なし・必ず勝てるミニゲーム)
② 収集要素は 478 種を一列に並べずシリーズ単位に分割。全種収集は 4.4 年かかる計算になるため、数週間で 1 シリーズが埋まる構造に変更
③ 素材 1,997 枚を機械的に分類するため、「同じ前置きの後に 3 種類以上の語尾が続く位置」を切れ目とみなすアルゴリズムを実装し、動物名の登録漏れによる分類崩れを解消
④ 飲み合わせ表は PDF から ToUnicode CMap を解析して抽出。フォントごとに CMap を分離しなかった初期実装の誤りを、記号総数の検算(1,158→1,700)で発見し全 81 剤を復元
⑤ 薬剤データは商品名・一般名の双方で照合。異性体表記・塩・剤形の表記ゆれを正規化し、薬価基準の粉薬 2,051 品目中 185 品目をカバー
⑥ 実機に依存しないロジック検証スクリプト(81 項目)とデータ整合性チェッカーを整備し、UI を起動せず回帰を検出
権利処理について:飲み合わせ表・イラスト素材はいずれも第三者の著作物であり、 各利用規約を確認のうえ出典表記を実装。公開・配布には権利者の許諾が必要と判断し、 現時点では私的利用の範囲に留めている。
Skills

スキルセット

開発 · エンジニアリング
🐍
Python
実務レベル(個人開発)
🤖
Gemini API
プロンプト設計・実装
Streamlit
本番アプリ開発
🗄️
Supabase
Auth + DB 設計・実装
📱
Flutter / Dart
Win・iOS アプリ開発
🔗
FastAPI
REST API 設計・構築
⚛️
React / TypeScript
Web アプリ開発
📱
React Native / Expo
iOS アプリ開発
医療 · 薬学ドメイン
💊
薬学専門知識
薬学部 5 年(28 卒)
🏥
医療ドメイン
薬局・病院 実務実習経験
Contact

連絡先

一緒に医療の未来を作りませんか

医療 IT 企業・大手 SIer の医療部門への就職を希望しています。
インターンシップ・採用のお問い合わせはお気軽にどうぞ。