ドキュメントでの医療アクセス指示の抽出(VLM Run AI)
これはAI Summarization, Multimodal AI分野の自動化ワークフローで、8個のノードを含みます。主にGoogleDrive, GoogleSheets, VlmRun, GoogleDriveTriggerなどのノードを使用。 ドキュメントから処方箋をVLM Run AIでGoogleスプシに抽出
- •Google Drive API認証情報
- •Google Sheets API認証情報
{
"meta": {
"instanceId": "96d35e452e0d9a182973416b7532cfc5643239aaaa764a5bf74d52ca84f4a35c",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "d91aa0d4-5d82-4696-bd1e-5dbadda58824",
"name": "VLM Run",
"type": "@vlm-run/n8n-nodes-vlmrun.vlmRun",
"position": [
48,
288
],
"parameters": {
"domain": "healthcare.physician-order"
},
"typeVersion": 1
},
{
"id": "12cecad0-3515-45b7-8941-2a83a32fe758",
"name": "シートに行を追加",
"type": "n8n-nodes-base.googleSheets",
"position": [
544,
288
],
"parameters": {
"columns": {
"value": {
"DIAGNOSIS": "={{ $json.response.physician_info.diagnosis }}",
"EXAM DATE": "={{ $json.response.exam_data }}",
"PATIENT DOB": "={{ $json.response.patient_info.dob }}",
"PATIENT NAME": "={{ $json.response.patient_info.name.full_name }}",
"PATIENT EMAIL": "={{ $json.response.patient_info.email }}",
"PHYSICIAN FAX": "={{ $json.response.physician_info.fax }}",
"FORM SIGNED IN": "={{ $json.response.form_signed_date }}",
"PATIENT GENDER": "={{ $json.response.patient_info.gender }}",
"PATIENT HEIGHT": "={{ $json.response.patient_info.height }}",
"PATIENT WEIGHT": "={{ $json.response.patient_info.weight }}",
"PHYSICIAN NAME": "={{ $json.response.physician_info.referring_physician.full_name }}",
"ADDITIONAL INFO": "={{ $json.response.additional_notes }}",
"PATIENT ADDRESS": "={{ $json.response.patient_info.address }}",
"PHYSICIAN EMAIL": "={{ $json.response.physician_info.email }}",
"PATIENT PHONE NO": "={{ $json.response.patient_info.phone }}",
"REFERRING CLINIC": "={{ $json.response.physician_info.referring_clinic }}",
"PHYSICIAN PHONE NO": "={{ $json.response.physician_info.phone }}",
"REFERRING CLINIC ADDRESS": "={{ $json.response.physician_info.referring_clinic_address }}"
},
"schema": [
{
"id": "PATIENT NAME",
"type": "string",
"display": true,
"required": false,
"displayName": "PATIENT NAME",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PATIENT ADDRESS",
"type": "string",
"display": true,
"required": false,
"displayName": "PATIENT ADDRESS",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PATIENT PHONE NO",
"type": "string",
"display": true,
"required": false,
"displayName": "PATIENT PHONE NO",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PATIENT EMAIL",
"type": "string",
"display": true,
"required": false,
"displayName": "PATIENT EMAIL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PATIENT DOB",
"type": "string",
"display": true,
"required": false,
"displayName": "PATIENT DOB",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PATIENT GENDER",
"type": "string",
"display": true,
"required": false,
"displayName": "PATIENT GENDER",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PATIENT HEIGHT",
"type": "string",
"display": true,
"required": false,
"displayName": "PATIENT HEIGHT",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PATIENT WEIGHT",
"type": "string",
"display": true,
"required": false,
"displayName": "PATIENT WEIGHT",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PHYSICIAN NAME",
"type": "string",
"display": true,
"required": false,
"displayName": "PHYSICIAN NAME",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PHYSICIAN PHONE NO",
"type": "string",
"display": true,
"required": false,
"displayName": "PHYSICIAN PHONE NO",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PHYSICIAN EMAIL",
"type": "string",
"display": true,
"required": false,
"displayName": "PHYSICIAN EMAIL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PHYSICIAN FAX",
"type": "string",
"display": true,
"required": false,
"displayName": "PHYSICIAN FAX",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "REFERRING CLINIC",
"type": "string",
"display": true,
"required": false,
"displayName": "REFERRING CLINIC",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "REFERRING CLINIC ADDRESS",
"type": "string",
"display": true,
"required": false,
"displayName": "REFERRING CLINIC ADDRESS",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "DIAGNOSIS",
"type": "string",
"display": true,
"required": false,
"displayName": "DIAGNOSIS",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ADDITIONAL INFO",
"type": "string",
"display": true,
"required": false,
"displayName": "ADDITIONAL INFO",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "EXAM DATE",
"type": "string",
"display": true,
"required": false,
"displayName": "EXAM DATE",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "FORM SIGNED IN",
"type": "string",
"display": true,
"required": false,
"displayName": "FORM SIGNED IN",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1sxwN8f1BTLkb3zvSmyj5HQ9iOLbqNNeDjCt0JuwzsFY/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1sxwN8f1BTLkb3zvSmyj5HQ9iOLbqNNeDjCt0JuwzsFY",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1sxwN8f1BTLkb3zvSmyj5HQ9iOLbqNNeDjCt0JuwzsFY/edit?usp=drivesdk",
"cachedResultName": "physician order sheet"
}
},
"typeVersion": 4.7
},
{
"id": "9f3e9526-b716-49b9-b26d-59aa44b415bd",
"name": "ファイルをダウンロード",
"type": "n8n-nodes-base.googleDrive",
"position": [
-336,
288
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"operation": "download"
},
"typeVersion": 3
},
{
"id": "aa4720fa-a453-4e44-b00b-95e805783ab8",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1168,
-192
],
"parameters": {
"color": 7,
"width": 480,
"height": 768,
"content": "# Physician Order Processing with VLM Run\n\nAutomatically extracts structured physician order details from uploaded documents in Google Drive and saves them into a Google Sheet for tracking, compliance, or reporting.\n\n## Workflow\n\n1. 📂 Detect file upload in Google Drive\n2. ⬇️ Download the uploaded document\n3. 🤖 Convert document to structured text using VLM Run (`healthcare.physician-orders`)\n4. 📊 Append extracted order data to Google Sheet\n\n## Perfect for\n\n* Durable Medical Equipment (DME) order forms\n* Physician treatment orders\n* Prescription request forms\n* Insurance/Medicaid submission workflows\n* Automated compliance documentation\n\n## Requirements\n\n* VLM Run API access\n* Google Drive + Sheets OAuth2\n* n8n server with active workflow"
},
"typeVersion": 1
},
{
"id": "f4cf5e61-eb58-444f-8334-e881fe5af979",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
368,
-192
],
"parameters": {
"color": 7,
"width": 480,
"height": 768,
"content": "# Append Row in Sheet\n\n**Function:** Appends extracted structured data into a Google Sheet.\n\n* Columns could be: Patient, DOB, HCPCS Code, Item Description, Qty, Price, Diagnosis, Physician, Date\n\n**Benefit:** Provides a structured, continuously updated database for tracking orders"
},
"typeVersion": 1
},
{
"id": "abf0a903-ccfa-42da-a091-e84f8146668d",
"name": "付箋3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-144,
-192
],
"parameters": {
"width": 480,
"height": 768,
"content": "# VLM Run (Document)\n\n**Function:** Sends the physician order file to VLM Run under the category `healthcare.physician-orders`.\n\n* Extracts structured details such as:\n\n * Patient name, DOB, Medicaid ID\n * Ordered items (HCPCS, quantity, price, authorization flag)\n * Physician details (name, NPI, signature date)\n\n**Benefit:** Turns complex medical forms into machine-readable JSON"
},
"typeVersion": 1
},
{
"id": "6cec4604-f099-418f-bb58-eb0501b15759",
"name": "Google Drive Trigger",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
-592,
288
],
"parameters": {
"event": "fileCreated",
"options": {
"fileType": "all"
},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"mode": "list",
"value": "1E8rvLEWKguorMT36yCD1jY78G0u8g6g7",
"cachedResultUrl": "https://drive.google.com/drive/folders/1E8rvLEWKguorMT36yCD1jY78G0u8g6g7",
"cachedResultName": "test_data"
}
},
"typeVersion": 1
},
{
"id": "7f89b384-401d-448b-8f5f-0f2e916133ad",
"name": "付箋4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-656,
-192
],
"parameters": {
"color": 7,
"width": 480,
"height": 768,
"content": "# 📁 Input Processing\n\n**Monitors & downloads physician order files from Google Drive.**\n\n**Process:**\n1. Watches designated Drive folder\n2. Auto-triggers on new uploads\n3. Downloads files for AI processing\n\n**Supported Formats:**\n- Images (JPG, PNG, WEBP)\n- PDF documents\n- Mobile camera uploads\n- Scanned receipts"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"d91aa0d4-5d82-4696-bd1e-5dbadda58824": {
"main": [
[
{
"node": "12cecad0-3515-45b7-8941-2a83a32fe758",
"type": "main",
"index": 0
}
]
]
},
"9f3e9526-b716-49b9-b26d-59aa44b415bd": {
"main": [
[
{
"node": "d91aa0d4-5d82-4696-bd1e-5dbadda58824",
"type": "main",
"index": 0
}
]
]
},
"6cec4604-f099-418f-bb58-eb0501b15759": {
"main": [
[
{
"node": "9f3e9526-b716-49b9-b26d-59aa44b415bd",
"type": "main",
"index": 0
}
]
]
}
}
}このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - AI要約, マルチモーダルAI
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
Shahrear
@shahrearI’m Shahrear, a Software Engineer with over 5 years of experience in full-stack development and workflow automation. I specialize in building intelligent automations using n8n, helping teams streamline operations and boost productivity. I’m also an expert in developing custom n8n nodes, with published work on npm - including the @vlm-run/n8n-nodes-vlmrun package. Linkedin - https://www.linkedin.com/in/shahrear-amin/ Email - shahrearbinamin33@gmail.com
このワークフローを共有