医療サービス向け業務管理システム

医療業務管理システム

訪問・院内・法人向けサービスの予約管理と、在庫・請求・費用管理を一つにまとめた医療業務管理システムを開発しました。

クライアントと直接要件を整理し、設計・新規開発からデプロイ、運用サポートまで一貫して担当しました。

  • Ruby on Rails
  • PostgreSQL
役割
Webアプリケーションエンジニア
プロジェクト区分
クライアント案件

守秘義務に配慮し、クライアント名とWebサイトへのリンクは掲載していません。案件名は内容を表す名称に置き換えています。

担当したこと

  1. クライアントと直接打ち合わせを行い、業務上の要件を整理してアプリケーションを設計しました。

  2. Ruby on RailsとPostgreSQLを使い、予約・サービスの実施管理、在庫、請求、医師への報酬、レポート機能を開発しました。

  3. AWS上でDockerとKamalを使ったデプロイを担当し、運用サポートと継続的な改善にも対応しました。

開発プロセス

  1. 技術調査・選定
  2. システム設計
  3. 開発
  4. テスト・最適化

主な機能

予約・サービスの実施管理

訪問・院内・法人向けの予約を管理し、複数の患者やサービス、フォローアップの予約にも対応します。

在庫・物流

パートナー、倉庫、薬局にまたがる在庫引当、手配依頼、配送伝票を管理します。

入金・原価管理

請求書発行サービスとの連携、手動での入金登録、医師への報酬(コミッション)、サービス原価、財務レポートに対応します。

権限・レポート

役割に応じたアクセス制御に加え、業務ダッシュボードとレポートの出力機能を備えています。

技術・設計

主要技術
Ruby on Rails · PostgreSQL
フロントエンド
HTML · CSS · JavaScript · Hotwire · Tailwind CSS · Flowbite
インフラ
AWS · Docker
デプロイ
Kamal

AWSとDockerを使用し、Kamalでデプロイしています。運用サポートと継続的な改善も担当しています。

画面にはTailwind CSSとFlowbiteのコンポーネントを使用しています。TurboとStimulusでインタラクティブな更新を実装し、ViewComponentで再利用可能な画面部品を構成しています。

サービス実施と入金状況の分離

サービスの実施状況と入金状況を別々に管理しています。予約チケットの合計金額は、保存のたびではなく、関連データの変更時に再計算します。

在庫計算と引当処理の分離

必要な在庫の計算と引当処理を分離しています。サービスの種類に応じて在庫を引き当て、複数回の接種では残りの回数分をまとめて確保できます。

業務領域ごとのサービス層

予約チケット・在庫・請求の処理を、それぞれ専用のサービスオブジェクトに分けています。処理結果の形式を統一し、成否・データ・エラー情報を一貫して扱えるようにしています。

業務フローのテスト

入金、在庫、権限、レポートの業務フローをテストしています。一部の処理はバックグラウンドジョブで実行します。

構成図

システム概要図

この図はシステムの構成を説明するためのもので、実際のアプリケーション画面ではありません。

採用・開発のご相談

開発のご相談をお待ちしています。

業務委託やパートタイムで、Webサイト・Webアプリケーションの新規開発に対応しています。

開発について相談する 開発実績一覧に戻る

クライアントの機密保持のため、掲載していないプロジェクトもあります。

プロジェクト