8
n8n 한국어amn8n.com

문서 의뢰 추출 Google 스프레드시트(VLM Run AI)

중급

이것은AI Summarization, Multimodal AI분야의자동화 워크플로우로, 8개의 노드를 포함합니다.주로 GoogleDrive, GoogleSheets, VlmRun, GoogleDriveTrigger 등의 노드를 사용하며. 사용자 VLM Run AI를 통해 문서에서 의료 지시를 Google 스프레드시트에 추출

사전 요구사항
  • Google Drive API 인증 정보
  • Google Sheets API 인증 정보
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "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 트리거",
      "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)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
중급
노드 수8
카테고리2
노드 유형5
난이도 설명

일정 경험을 가진 사용자를 위한 6-15개 노드의 중간 복잡도 워크플로우

저자
Shahrear

Shahrear

@shahrear

I’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

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34