EllisShang

ケーススタディ

HospitalHost – 救急外来待ち時間ナビ

フルスタックエンジニア(ハッカソン) · EngHacks 2021 · 2021年

概要

EngHacks 2021 で、React フロントエンドと Express/Node.js + MySQL バックエンドを用いて、近くの病院の救急外来待ち時間を比較できる Web アプリを開発しました。

主要技術

ReactTypeScriptNode.jsExpressMySQLREST

成果

確認後、成果の詳細をここに追加します。

ストーリーとプロセス

概要

HospitalHost は、救急外来の待ち時間を可視化し、患者がどの病院に向かうかを判断しやすくする 待ち時間ナビゲーション Web アプリ です。EngHacks 2021 ハッカソンで開発しました。

近くの病院ごとの推定待ち時間を一覧表示し、「とりあえず近いところ」ではなく、緊急度と待ち時間のバランス を見ながら選べるようにすることを目指しました。

機能

  • 参加病院の 推定救急待ち時間 を一覧で表示。
  • スタッフ用ポータル から、病院スタッフやボランティアが新規患者の到着を登録可能。
  • 各患者について、優先度(トリアージ)と推定待ち時間 を病院単位で蓄積。
  • データを集計し、病院ごとの 合計推定待ち時間 を算出、最も待ち時間が短い候補 をハイライト表示。

技術スタック

  • フロントエンドReact を用いて UI を構築し、API から取得した待ち時間データを動的にレンダリング。
  • バックエンドNode.js + Express により REST API を実装。
  • データベースMySQL で病院情報・患者情報・待ち時間レコードを管理。
  • API 設計:React アプリが最新の待ち時間を JSON で取得しやすいよう、シンプルなエンドポイントを設計しました。

課題

  • チームメンバーの多くが SQL / MySQL 初心者 だったため、短期間でクエリやスキーマ設計をキャッチアップする必要がありました。
  • 将来的な機能追加も見据えつつ、シンプルで扱いやすい REST API に落とし込む設計が求められました。
  • ハッカソン中にデータモデルが変化していく中で、フロントエンドとバックエンドの整合性を維持する必要がありました。

チームと成果

  • ハッカソン直前にリモートで結成したチームでしたが、短時間で課題設定と解決アプローチに合意できました。
  • デザイン・フロントエンド・バックエンドなど、異なる得意分野を持つメンバーが役割分担して開発。
  • リアルタイムな待ち時間情報が患者の意思決定をどう変えられるか を示す動作プロトタイプを完成させました。

学びと今後の展望

  • Web スタックとリレーショナルデータベースを組み合わせる経験を通じて、ツール選定や設計判断の基準がより明確になりました。
  • 今後検討したいアイデアとして:
    • 患者の位置情報や距離 を考慮した病院推薦ロジックの導入。
    • 実測待ち時間との比較による 推定モデルのフィードバック改善
    • 患者の症状から AI でトリアージ優先度を推定 する機能。
    • 病院への 電話・メッセージ連携 を組み込み、問い合わせをシームレスに。
    • 緊張した状況でも一目で理解できる UI デザインへの改善。