Wiki » History » Version 2
關山 和丈, 06/26/2025 09:59 AM
| 1 | 2 | 關山 和丈 | ## Wiki |
|---|---|---|---|
| 2 | |||
| 3 | ### プロダクト構成の概要 |
||
| 4 | |||
| 5 | ``` |
||
| 6 | [EMレセコン PC] |
||
| 7 | └─ NSIPSテキストファイル出力(.txt) |
||
| 8 | ↓(SMB共有) |
||
| 9 | [Electronアプリ(ローカル)] |
||
| 10 | ├─ SMB接続で INDEX/DATA フォルダ を監視 |
||
| 11 | ├─ 条件を満たす .txt を自動で S3(dev: MinIO)にアップロード |
||
| 12 | └─ アップロード後、Rails API に通知(HMAC署名付きURLで) |
||
| 13 | |||
| 14 | ▼ POST /api/v1/parse_s3 |
||
| 15 | |||
| 16 | [Rails API(Heroku/EC2)] |
||
| 17 | ├─ NsipsFileParserFromS3 が S3 からtxtファイル取得・UTF-8変換 |
||
| 18 | ├─ NsipsParser により以下を抽出・登録 |
||
| 19 | │ ├─ 患者情報 |
||
| 20 | │ ├─ 処方情報(居宅指導料含む) |
||
| 21 | │ └─ 薬剤・用法情報 |
||
| 22 | └─ ExternalNotifier で 外部システムに通知(Webhook) |
||
| 23 | |||
| 24 | ▼ Webhook 送信(HMAC署名付き) |
||
| 25 | |||
| 26 | [Google Apps Script(GAS)] |
||
| 27 | └─ Rails から受信した prescription_id を使って |
||
| 28 | /prescriptions/:id にアクセス |
||
| 29 | 外部システムのカレンダーに患者名・予測日を記載 |
||
| 30 | |||
| 31 | ``` |
||
| 32 | |||
| 33 | ### アーキテクチャ図 |
||
| 34 | |||
| 35 | ``` |
||
| 36 | ┌────────────────────────────┐ |
||
| 37 | │ EMレセコン(SMB出力) │ |
||
| 38 | │ - NSIPS形式 .txt │ |
||
| 39 | └────────────┬───────────────┘ |
||
| 40 | │ SMB共有 |
||
| 41 | ▼ |
||
| 42 | ┌────────────────────────────┐ |
||
| 43 | │ Electronアプリ(ローカル) │ |
||
| 44 | │ - SMB監視(INDEX / DATA)│ |
||
| 45 | │ - MinIO/S3にアップロード │ |
||
| 46 | │ - Rails APIへ通知 │ |
||
| 47 | └────────────┬───────────────┘ |
||
| 48 | │ POST /api/v1/parse_s3 |
||
| 49 | ▼ |
||
| 50 | ┌────────────────────────────┐ |
||
| 51 | │ Rails API (Heroku/EC2) │ |
||
| 52 | │ - NsipsFileParserFromS3 │ |
||
| 53 | │ - NsipsParser │ |
||
| 54 | │ └─ 患者/処方/薬剤DB登録 │ |
||
| 55 | │ - ExternalNotifier │ |
||
| 56 | └────────────┬───────────────┘ |
||
| 57 | │ Webhook (署名付) |
||
| 58 | ▼ |
||
| 59 | 外部システムへ連携 |
||
| 60 | ┌────────────────────────────┐ |
||
| 61 | │ Google Apps Script (GAS) │ |
||
| 62 | │ - prescription取得 │ |
||
| 63 | │ - スプレッドシート記載 │ |
||
| 64 | └────────────────────────────┘ |
||
| 65 | |||
| 66 | ``` |
||
| 67 | 1 | 關山 和丈 | |
| 68 | smb |
||
| 69 | https://www.npmjs.com/package/smb2?activeTab=readme |