構築例一覧へ戻る
構築例 03 / Build Example
Example 03 / 05

介護記録システム

介護サービス事業所の記録業務(介護記録・バイタル・ケア計画・請求)をデジタル化するシステム。施設・デイサービス・訪問介護の3サービス種別に対応し、記録の真正性(承認・編集ロック・監査ログ)から介護報酬請求・国保連への伝送までを一気通貫でカバーします。

フロントエンド
React + TypeScript + Vite
バックエンド
Express REST API(インメモリ)
設計トレース
業務シナリオ → UMLモデル(36エンティティ・19列挙・24業務ルール)→ 実装
介護記録 バイタル異常値アラート ケアプラン 介護報酬請求・国保連伝送 記録の編集ロック 監査ログ
設計モデル / Design Models

36エンティティを、モデルで統べる。

本アプリの実装は、業務シナリオから導出した UMLモデル(ドメインモデル36エンティティ・19列挙・24業務ルール)に基づきます。アクター(介護職員・看護職員・サービス提供責任者・ケアマネジャー・請求担当・管理者)と UC-01〜UC-24、業務ルール(BR)がそのまま実装へトレースされ、操作マニュアルの各章と対応します。

ユースケース図 Use Case Diagram
介護記録システム ユースケース図
利用者・ケア計画/スケジュール/サービス提供・記録/請求・連携/管理・分析・監査 の5領域に UC-01〜UC-24 を配置。真正性(BR-001)・バイタル異常値(BR-005)・請求の月次締め(BR-010/015/019)などの制約を併記。 原寸で開く ↗
クラス図(ドメインモデル) Domain Class Diagram
介護記録システム クラス図(ドメインモデル)
Resident・CarePlan・ServiceEvent・CareRecord・VitalSign・BillingClaim・StaffAccount・AuditLog など36エンティティの関連・多重度と、4つの状態遷移(ServiceEvent / CareRecord / CarePlan / BillingClaim)を定義。 原寸で開く ↗

本書は、本アプリケーションの操作手順をまとめた利用者向けマニュアルです。画面・ボタン名・状態名は実装に準拠しています。

  • 対象アプリ: 介護記録システム(Nursing Care Record System)
  • 構成: フロントエンド(React + TypeScript + Vite)+ バックエンド(Express REST API / インメモリ)
  • 設計トレース: 業務シナリオ → UMLモデル(ドメインモデル36エンティティ・19列挙・24業務ルール)→ 実装
  • 表示言語: 日本語

01はじめに

本アプリは、介護サービス事業所の記録業務(介護記録・バイタル・ケア計画・請求など)をデジタル化するためのシステムです。施設・デイサービス・訪問介護の3サービス種別を扱えます。主な機能は次のとおりです。

区分機能
利用者管理利用者マスタ、要介護認定、既往歴・服薬、緊急連絡先、利用契約
事業所・職員事業所、職員アカウント、居室・ベッド
ケア計画アセスメント、ケアプラン、サービス計画、個別機能訓練、モニタリング
スケジュールサービス予定、シフト(勤務表)、送迎
サービス提供(記録)サービス提供実績、介護記録、バイタル、写真・動画、訪問/施設/栄養/デイの記録
連携・オペレーション申し送り、スタッフ間連絡、家族連絡、LIFEデータ、IoT機器・検知、KPI
請求介護報酬請求(レセプト)、請求明細、利用料請求、加算
コンプライアンス監査ログ

代表的なアクター(利用者像):介護職員 / 看護師 / サービス提供責任者 / ケアマネジャー / 請求担当 / 管理者。

本アプリはログイン認証を実装していないため、すべての画面に誰でもアクセスできます。職種・権限は「職員アカウント」データ上の属性として管理します。

02起動と終了

2.1 必要環境

  • Node.js 20.x 以降

2.2 起動手順

2つのサーバーを起動します。ターミナルを2つ使います。

# ① バックエンド(REST API / ポート 4000)
cd app/backend
npm install        # 初回のみ
npm run dev        # 起動時にデモデータを自動投入

# ② フロントエンド(画面 / ポート 5173)
cd app/frontend
npm install        # 初回のみ
npm run dev

ブラウザで http://localhost:5173/ を開きます。

フロントエンドは /api へのアクセスを自動的にバックエンド(4000番)へ転送します。先にバックエンドを起動してください。ヘルスチェック: GET http://localhost:4000/api/health{"success":true}

2.3 終了手順

各ターミナルで Ctrl + C。または以下で停止します。

lsof -ti:4000,5173 | xargs kill

03画面構成

画面左のサイドバーから各機能へ移動します。機能は業務コンテキストごとに8グループへ整理されています。

グループ主なメニュー
(トップ)ダッシュボード
利用者管理利用者 / 要介護認定 / 既往歴・服薬情報 / 緊急連絡先 / 利用契約
事業所・職員事業所 / 職員アカウント / 居室・ベッド
ケア計画アセスメント / ケアプラン / サービス計画 / 個別機能訓練計画 / モニタリング
スケジュールサービス予定 / シフト(勤務表)/ 送迎
サービス提供(記録)サービス提供(実績)/ 介護記録 / バイタルサイン / 写真・動画添付 / 訪問記録 / 施設ケア記録 / 食事・栄養記録 / デイサービス記録
連携・オペレーション申し送り・業務日誌 / スタッフ間共有・連絡帳 / 家族連絡 / LIFEデータ / ロボット・IoT機器 / IoT検知データ / 経営指標(KPI)
請求介護報酬請求(レセプト)/ 請求明細 / 利用料請求 / 加算
コンプライアンス監査ログ

各機能は共通して 一覧 → 詳細 → 新規/編集 の3画面で構成されます(5章参照)。

04ダッシュボード

起動直後(トップ画面)に表示されます。全体状況の把握と、各機能への入り口として利用します。

  • 件数サマリカード(利用者・サービス提供・介護記録・バイタル・ケアプラン・介護報酬請求・職員・申し送り)。カードをクリックすると該当の一覧へ移動します。
  • 最近の介護記録:直近の記録を種別バッジ・状態バッジ付きで表示。クリックで詳細へ。
  • 異常値バイタル(アラート):しきい値を超えたバイタル(isAbnormal)のみを抽出して表示。
ダッシュボード画面
ダッシュボード画面

05共通操作(一覧・詳細・新規/編集)

すべての機能は同じ操作パターンで扱えます。

5.1 一覧画面

  • 検索:検索ボックスにキーワードを入力し「検索」。対象フィールドはメニューごとに異なります(例:利用者は氏名・フリガナ・要介護度)。
  • 並び替え:列見出しの「⇅」をクリックすると昇順/降順に切り替わります。
  • ページ送り:一覧下部の「前へ/次へ」。「◯件中 ◯–◯件を表示」で総件数を確認できます。
  • 行の操作:各行右の「編集」「削除」。右上の「新規作成」で新規登録画面へ。
利用者一覧画面
利用者一覧画面

5.2 詳細画面

  • 「詳細情報」セクションに全項目を表示。参照項目(利用者・事業所など)は青いリンクで、クリックすると関連データの詳細へ移動します。
  • 状態を持つデータでは、上部に「操作(状態遷移)」セクションが表示され、現在の状態に応じたボタンが出ます(14章参照)。
  • 右上:「一覧へ」「編集」「削除」。
利用者詳細画面
利用者詳細画面

5.3 新規/編集画面

  • 入力フォーム。「作成」または「更新」で保存、「キャンセル」で戻ります。
  • 項目の種類に応じて入力欄が変わります。
    • 必須項目:ラベル横に赤い「*」。未入力だと保存できません。
    • 選択肢(列挙):プルダウン(例:サービス種別=施設/デイサービス/訪問介護)。
    • 日付・日時:カレンダー入力。
    • 参照(ref):関連データのIDを入力(欄の下に「関連 ◯◯ のID」と表示)。
    • 真偽(boolean):チェックボックス。
利用者の新規作成画面
利用者の新規作成画面

06利用者管理

すべての記録の起点となる利用者情報を管理します。

  • 利用者:氏名・フリガナ・要介護度・サービス種別・生年月日・住所・ケアプラン。まずここに登録します。
  • 要介護認定:利用者ごとの要介護度と認定有効期間(開始・終了)。
  • 既往歴・服薬情報:既往歴・服薬情報・アレルギー。
  • 緊急連絡先:家族等の氏名・続柄・電話番号。
  • 利用契約:事業所・サービス種別・契約期間。

いずれも「利用者」を参照するため、先に利用者を登録してから各情報を追加してください。

07事業所・職員

  • 事業所:事業所名・サービス種別・住所。施設/デイ/訪問など複数事業所を登録できます。
  • 職員アカウント:氏名・職種/役職(介護職員・看護師・サービス提供責任者・ケアマネジャー・請求担当・管理者)・資格・雇用区分・所属事業所。職種に応じた運用権限の管理を想定しています。
  • 居室・ベッド:居室番号・ベッド番号・入居中フラグ・入居者・事業所。施設サービスで利用します。

08ケア計画

利用者ごとの計画を管理します。実績(サービス提供)とは分離され、計画の意図を残します。

  • アセスメント:評価領域(ADL / IADL / 認知 / 生活環境)・評価内容・スコア・評価者。
  • ケアプラン:長期目標・短期目標・計画期間・状態・ケアマネジャー。状態遷移(作成中→有効→更新→終了)を持ちます(14.3)。
  • サービス計画:ケアプランにぶら下がる個別サービス(内容・頻度)。
  • 個別機能訓練計画:目標・プログラム・訓練指導員・実施日時。
  • モニタリング:ケアプランに対する達成度・状態変化・評価者・評価日時。
ケアプラン詳細画面(状態遷移)
ケアプラン詳細画面(状態遷移)

09スケジュール

  • サービス予定:利用者・サービス種別・予定日時・担当職員・送迎時間・ルート。予定であり、実績は「サービス提供(実績)」に記録します。
  • シフト(勤務表):事業所・日付・勤務帯(日勤/夜勤)・人員基準充足・配置職員。
  • 送迎:利用者・送迎ルート・車両・迎え/送り時刻。主にデイサービスで利用します。

10サービス提供(記録)

日々のケア記録の中核です。

10.1 サービス提供(実績)

1サービス=1イベントの実績です。介護記録・バイタルがこのイベントに紐づき、請求へ集計されます。

  • 項目:利用者・サービス種別・状態・実施日時・担当職員・サービス予定・ケアプラン。
  • 詳細画面の「操作(状態遷移)」で 開始 → 完了、または 欠席・中止 を記録します(14.1)。
サービス提供(実績)詳細画面(状態遷移)
サービス提供(実績)詳細画面(状態遷移)

10.2 介護記録

食事・入浴・排泄・水分・服薬・褥瘡・事故(ヒヤリハット)などの記録です。

  • 項目:サービス提供・記録種別・記録内容・状態・記録日時・記録者・添付メディアID。
  • 一覧では記録種別・状態がバッジ表示されます。
介護記録一覧画面
介護記録一覧画面
  • 詳細画面では「操作(状態遷移)」から 提出 → 承認 → 編集ロック、または 差し戻し を行います(14.2)。
⚠️ 編集ロック(Locked)された記録は編集・削除できません(真正性 BR-001)。承認後にロックすることで改ざんを防ぎます。
介護記録詳細画面(状態遷移ボタン)
介護記録詳細画面(状態遷移ボタン)
上図は「提出済」状態の例で、「承認」「差し戻し」などのボタンが表示されています。

10.3 バイタルサイン

体温・血圧・脈拍・SpO2 を記録します。

  • 項目:利用者・バイタル種別・測定値・異常値・測定日時・サービス提供・取得元IoT機器。
  • 異常値判定はサーバーで自動計算されます(BR-005)。しきい値を外れると「異常値=はい」となり、ダッシュボードのアラートに表示されます。しきい値は 14.5 参照。
バイタルサイン一覧画面(異常値フラグ)
バイタルサイン一覧画面(異常値フラグ)

10.4 その他の記録

  • 写真・動画添付:介護記録に紐づくメディア(種別・URL・撮影日時)。
  • 訪問記録(訪問介護):介護区分・滞在時間・GPS証跡(到着/退出)・移動手段。GPSと滞在時間で訪問を証明します(BR-022)。
  • 施設ケア記録(施設):居室・勤務帯・生活場面・夜間巡視実施。24時間の生活記録を勤務帯単位で残します(BR-023)。
  • 食事・栄養記録:食事(朝/昼/夕/おやつ)・食形態・摂取率・カロリー・療養食。
  • デイサービス記録(デイ):出欠確認・入浴提供・レクリエーション・送迎・機能訓練(BR-024)。

11連携・オペレーション

  • 申し送り・業務日誌:勤務帯・申し送り内容・重要度・生成日時。各スタッフの記録から集約する運用を想定(BR-008)。
  • スタッフ間共有・連絡帳:内容・利用者・重要度・既読状態・送信者・投稿日時。
  • 家族連絡:利用者・内容・既読状態・添付メディア・投稿日時。
  • LIFEデータ:科学的介護情報システム(LIFE)へ提出するデータ(形式:CSV / API / PDF)。
  • ロボット・IoT機器:見守りセンサー・バイタル計・インターホン等の機器登録。
  • IoT検知データ:機器・検知種別(睡眠状態 / 離床 / 測定)・検知値・利用者・検知日時。
  • 経営指標(KPI):指標名・目標値・実績値・対象期間。

12請求

  • 介護報酬請求(レセプト):利用者・対象月・請求額・状態・請求明細ID。ケア実績から集計して生成し、国保連へ伝送します。詳細画面の「操作(状態遷移)」で 月次締め(確定)→ 国保連へ伝送返戻 → 再請求 を行います(14.4)。
  • 請求明細:レセプト・サービスコード・単位数・回数・金額。
  • 利用料請求:利用者・対象月・自己負担分・実費・入金消込済。
  • 加算:加算コード・加算名・要件充足・事業所。
介護報酬請求(レセプト)詳細画面(状態遷移)
介護報酬請求(レセプト)詳細画面(状態遷移)

13コンプライアンス(監査ログ)

  • 監査ログ:操作者・操作・対象・日時。「誰がいつ何を操作したか」を残す監査証跡です(真正性 BR-001/004)。

14業務ルールと状態遷移

状態を持つデータは、詳細画面上部の「操作(状態遷移)」からボタンで状態を進めます。ボタンは現在の状態に応じて出し分けされ、許可されない遷移はエラー(400)になります。

14.1 サービス提供(実績)の状態遷移

        開始              完了
Scheduled ──▶ InProgress ──▶ Completed
(予定)        (実施中)       (完了)
   │                │
   └─── 欠席・中止 ──┴──▶ Absent(欠席)   ※完了後は欠席にできない

14.2 介護記録の状態遷移

        提出              承認            編集ロック
Draft ──────▶ Submitted ──────▶ Approved ──────▶ Locked
(下書き)        (提出済)        (承認済)        (ロック)
   ▲               │
   └── 差し戻し ────┘
  • 「承認」「差し戻し」は 提出済 からのみ可能。
  • Locked の記録は編集・削除不可(BR-001 真正性)。

14.3 ケアプランの状態遷移

        有効化            更新
Draft ──────▶ Active ──────▶ Updated
(作成中)      (有効)        (更新)
                 │
                 └──── 終了 ────▶ Expired(終了)  ※いつでも終了可

14.4 介護報酬請求の状態遷移

    月次締め(確定)     国保連へ伝送        返戻            再請求
Draft ──▶ Confirmed ──▶ Transmitted ──▶ Returned ──▶ Rebilled
(未確定)  (確定)       (伝送済)       (返戻)      (再請求)
                             ▲                            │
                             └──────── 伝送 ──────────────┘
  • 伝送は 確定 または 再請求 から可能(BR-010 / 015 / 019)。

14.5 バイタル異常値のしきい値(BR-005)

登録時にサーバーが自動判定し、範囲外なら「異常値=はい」になります。

バイタル種別正常範囲単位
体温(Temperature)35.0 〜 37.5
血圧(BloodPressure・収縮期)90 〜 140mmHg
脈拍(Pulse)50 〜 100bpm
SpO293 〜 100
しきい値は簡易実装です。運用では利用者ごとの設定値へ置き換える想定です。

15テストデータについて

バックエンド起動時に、動作確認用のデモデータが自動投入されます(app/backend/src/data/seed.ts)。

  • 利用者5名(施設/デイ/訪問)を中心に、全36種類の画面すべてに複数件のデータが入っています。
  • 介護記録は全種別・全状態、バイタルは正常/異常の両方、請求は全状態など、各機能の見え方を確認できるよう配置しています。
  • データはインメモリ保持のため、バックエンドを再起動すると初期(シード)状態に戻ります。画面上での追加・編集・削除は、再起動までの間だけ保持されます。

16よくある質問・トラブルシュート

症状原因・対処
画面は出るがデータが空バックエンド未起動。app/backendnpm run dev を実行してください。
介護記録を「編集/削除」できない状態が 編集ロック(Locked)。真正性ルール(BR-001)により改変不可です。
「承認」「差し戻し」ボタンが出ない記録が 提出済(Submitted) でないため。先に「提出」してください。
請求を「伝送」できない状態が 確定(Confirmed) または 再請求(Rebilled) でないため。先に「月次締め(確定)」を行ってください。
バイタルの異常値が思った通りにならないしきい値は 14.5 のとおり。判定はサーバー側で自動計算されます。
保存できない/必須エラーラベルに赤い「*」が付く必須項目が未入力です。
参照項目(利用者・事業所など)に何を入れるか分からない入力欄の下の「関連 ◯◯ のID」に、該当データのID(例:resident-001)を入力します。IDは各一覧・詳細で確認できます。
登録したデータが消えたインメモリ保持のため、バックエンド再起動で初期化されます(17章)。
ポートが使用中で起動できない既存プロセスを停止:lsof -ti:4000,5173 | xargs kill

17制約事項

  • データは在メモリ(インメモリ)保持です。バックエンドを再起動すると、登録したデータはシード(初期)状態に戻ります。
  • ログイン認証はありません。職種・権限は職員アカウントのデータ属性として扱います。
  • 参照項目(利用者・事業所など)はIDでの入力・表示です(名称の自動解決・サジェストは本デモ範囲外)。
  • 請求・LIFE連携などの外部システム連携は、状態管理までを行う想定で、実データの送受信は本デモ範囲外です。
  • 本番運用では、永続化層を RDB(PostgreSQL 等)+認証基盤へ差し替えることを想定しています。

本マニュアルは uml-workflow-v3 で生成したアプリケーションの実装に基づいています。