Application Integration에 지원되는 커넥터를 참조하세요.

HL7 트리거

HL7 트리거는 HL7 연결에서 구독한 HL7 이벤트를 기반으로 통합을 호출할 수 있는 커넥터 이벤트 트리거입니다.

시작하기 전에

  • Pub/Sub 주제 만들기
  • HL7 저장소를 만듭니다.
  • 최소 하위 계층 프로토콜 (MLLP)을 사용하여 TCP/IP 연결을 통해 HL7 메시지를 수신하려면 MLLP 어댑터를 구성해야 합니다. REST (Google Cloud Healthcare API)를 통해 HL7 메시지를 수신하는 경우에는 MLLP 어댑터를 구성할 필요가 없습니다. 어댑터를 실행하려면 다음 단계를 따르세요.

    1. gcloud CLI에서 프로젝트 및 리전을 설정합니다.
      gcloud config set project PROJECT_ID \
      gcloud config set compute/region LOCATION

      자세한 내용은 속성 설정을 참고하세요.

    2. VM 인스턴스를 만듭니다.
         gcloud compute instances create VM_NAME \
             --service-account=SERVICE_ACCOUNT_EMAIL \
             --scopes=https://www.googleapis.com/auth/cloud-platform
         

      다음을 바꿉니다.

      • SERVICE_ACCOUNT_EMAIL: 만든 서비스 계정의 이메일 주소입니다.
      • VM_NAME: VM 인스턴스 이름입니다.
    3. 새로 만든 VM 인스턴스에 태그를 추가합니다.
         gcloud compute instances add-tags INSTANCE_NAME \
         --zone ZONE \
         --tags TAGS
         

      다음을 바꿉니다.

      • INSTANCE_NAME: VM 인스턴스 이름입니다.
      • ZONE: VM 인스턴스의 영역입니다.
      • TAGS: VM 인스턴스에 추가할 태그입니다.
    4. MLLP 어댑터가 실행 중인 포트를 노출하는 방화벽 규칙을 추가합니다.
         gcloud compute firewall-rules create FIREWALL_RULE \
         --action=ALLOW \
         --direction=INGRESS \
         --priority=1000 \
         --rules=tcp:PORT\
         --network=default \
         --source-ranges=0.0.0.0/0
      

      다음을 바꿉니다.

      • FIREWALL_RULE: 방화벽 규칙의 이름
      • PORT: MLLP 어댑터가 실행되는 포트입니다.
    5. VM 인스턴스에 SSH를 설정합니다.
         gcloud compute ssh VM_NAME --zone ZONE
       

      다음을 바꿉니다.

      • VM_NAME: VM 인스턴스 이름입니다.
      • ZONE: VM 인스턴스의 영역입니다.
    6. 다음 명령어를 사용하여 VM에 Docker를 설치합니다.
         sudo apt-get update && sudo apt-get install -y docker.io
         
    7. 다음 명령어를 실행하여 Docker 서비스를 시작합니다.
         sudo systemctl start docker
         sudo systemctl enable docker
         
    8. 컨테이너 레지스트리에서 Docker 이미지를 가져옵니다.
         docker pull gcr.io/cloud-healthcare-containers/mllp-adapter:latest
         
    9. VM 인스턴스에서 MLLP 어댑터를 실행합니다.
         docker run \
         --network=host \
         -v ~/.config:/root/.config \
         gcr.io/cloud-healthcare-containers/mllp-adapter \
         /usr/mllp_adapter/mllp_adapter \
         --hl7_v2_project_id=PROJECT_ID \
         --hl7_v2_location_id=LOCATION \
         --hl7_v2_dataset_id=DATASET_ID \
         --hl7_v2_store_id=HL7V2_STORE_ID \
         --export_stats=false \
         --receiver_ip=0.0.0.0 \
         --port=PORT \
         --api_addr_prefix=https://healthcare.googleapis.com:443/v1 \
         --logtostderr
       

      다음을 바꿉니다.

      • PROJECT_ID: Google Cloud 프로젝트의 프로젝트 ID입니다.
      • LOCATION: HL7 저장소의 위치입니다.
      • DATASET_ID: HL7 저장소를 보관할 데이터 세트의 ID입니다.
      • HL7V2_STORE_ID: HL7 저장소의 ID입니다.
      • PORT: MLLP 어댑터가 실행되는 포트입니다.
    10. 다음 명령어를 실행하여 컨테이너가 실행 중인지 확인합니다.
         sudo docker ps
         
    11. 컨테이너 로그를 확인하려면 다음 명령어를 실행합니다.
         sudo docker logs CONTAINER_ID
         

필요한 역할

HL7 트리거에 새 연결을 만들거나 구성하려면 프로젝트에 다음 IAM 역할이 있는지 확인합니다.

  • 커넥터 관리자(roles/connectors.admin)
  • 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

HL7 트리거에 사용할 서비스 계정에 다음 IAM 역할 또는 권한을 부여합니다.

  • Application Integration 호출자(roles/integrations.integrationInvoker)
  • Healthcare HL7v2 메시지 소비자 (roles/healthcare.hl7V2Consumer)
  • Healthcare HL7v2 메시지 수집 (roles/healthcare.hl7V2Ingest)
  • 권한 (healthcare.hl7V2Stores.update)
  • Pub/Sub 편집자(roles/pubsub.editor)
  • 서비스 계정에 역할 부여에 대한 자세한 내용은 서비스 계정에 대한 액세스 관리를 참조하세요.

HL7 트리거 추가

HL7 트리거를 통합에 추가하려면 다음 단계를 따르세요.

  1. Google Cloud console에서 Application Integration 페이지로 이동합니다.

    Application Integration으로 이동

  2. 탐색 메뉴에서 통합을 클릭합니다.

    Google Cloud 프로젝트에서 사용할 수 있는 모든 통합이 나열된 통합 목록 페이지가 나타납니다.

  3. 기존 통합을 선택하거나 통합 만들기를 클릭하여 새 통합을 만듭니다.

    새 통합을 만드는 경우:

    1. 통합 만들기 창에 이름과 설명을 입력합니다.
    2. 통합 리전을 선택합니다.
    3. 통합을 위한 서비스 계정을 선택합니다. 통합 툴바의 통합 요약 창에서 언제든지 통합에 대한 서비스 계정 세부정보를 변경하거나 업데이트할 수 있습니다.
    4. 만들기를 클릭합니다.

    통합 편집기 페이지에서 통합이 열립니다.

  4. 통합 편집기 탐색 메뉴에서 트리거를 클릭하여 사용 가능한 트리거 목록을 확인합니다.
  5. 통합 편집기에서 HL7 트리거 요소를 클릭하여 배치합니다.
  6. HL7 트리거를 구성하려면 Integration Connectors에서 제공하는 대상 프로토콜로 REST (Cloud Healthcare API)가 포함된 기존 HL7 연결을 사용하거나 인라인 연결 만들기 옵션을 사용하여 새 HL7 REST(Google Cloud Healthcare API) 연결을 만들면 됩니다.

기존 연결을 사용하여 HL7 트리거 구성

Integration Connectors에서 REST (Cloud HealthCare API)를 대상으로 하는 기존 HL7 연결을 사용하여 HL7 트리거를 구성할 수 있습니다. HL7 트리거커넥터 이벤트 트리거이므로 이벤트 구독이 사용 설정된 HL7 REST(Google Cloud Healthcare API) 연결만 사용하여 트리거를 구성할 수 있습니다.

새 HL7 REST(Google Cloud Healthcare API) 연결을 사용하여 HL7 트리거를 구성하는 방법에 대한 자세한 내용은 새 HL7 REST(Google Cloud Healthcare API) 연결을 사용하여 HL7 트리거 구성을 참고하세요.

REST (Cloud Healthcare API)를 대상 프로토콜로 하는 기존 HL7 연결을 사용하여 HL7 트리거를 구성하려면 다음 단계를 따르세요.

  1. 통합 편집기에서 HL7 트리거 요소를 클릭하여 트리거 구성 창을 엽니다.
  2. 트리거 구성을 클릭합니다.
  3. 커넥터 이벤트 트리거 편집기 페이지에서 다음 구성 세부정보를 제공합니다.
    1. 리전: HL7 REST(Google Cloud Healthcare API) 연결의 리전을 선택합니다.
    2. 연결: 사용하려는 HL7 REST(Google Cloud Healthcare API) 연결을 선택합니다.

      Application Integration에는 활성 상태이고 이벤트 구독이 사용 설정된 HL7 REST(Google Cloud Healthcare API) 연결만 표시됩니다.

    3. 드롭다운 메뉴에서 HL7 메시지 콘텐츠 유형: 텍스트 또는 바이트 중 하나를 선택합니다.
    4. HL7 메시지 유형을 입력합니다. 예를 들면 ADT_A01 또는 ADT_02입니다.
  4. 완료를 클릭하여 트리거 구성을 완료하고 페이지를 닫습니다.

새 연결을 사용하여 HL7 트리거 구성

새 HL7 REST(Google Cloud Healthcare API) 연결을 사용하여 HL7 트리거를 구성하려면 다음 단계를 따르세요.

  1. 통합 편집기에서 HL7 트리거 요소를 클릭하여 트리거 구성 창을 엽니다.
  2. 트리거 구성을 클릭합니다.
  3. HL7 트리거의 리전을 선택합니다.
  4. 연결을 클릭하고 드롭다운 메뉴에서 연결 만들기 옵션을 선택합니다.
  5. 연결 만들기 창에서 다음 단계를 완료합니다.
  6. 연결 세부정보 단계에서 새 HL7 연결에 대한 세부정보를 제공합니다.
    1. 커넥터 버전: 드롭다운 목록에서 사용 가능한 HL7 커넥터 버전을 선택합니다.
    2. 연결 이름: HL7 연결 이름을 입력합니다.
    3. (선택사항) 설명: 연결에 대한 설명을 입력합니다.
    4. 필요한 경우 Cloud Logging을 사용 설정한 다음 로그 수준을 선택합니다. 기본적으로 로그 수준은 Error로 설정됩니다.
    5. 서비스 계정: HL7 연결에 필요한 IAM 역할이 있는 서비스 계정을 선택합니다.
    6. 이벤트 구독 사용 설정: HL7 연결에 대해 이벤트 구독을 사용 설정하려면 이 옵션을 선택합니다.
    7. (선택사항) 수신 시간 제한 입력: SO_TIMEOUT 값 (밀리초)은 프레임 시작을 기다릴 때 사용됩니다. 기본값은 15,000밀리초입니다.
    8. 대상 프로토콜: HL7 REST(Google Cloud Healthcare API) 대상 프로토콜을 선택한 다음 다음을 지정합니다.
      1. 프로젝트 ID: HL7 저장소가 있는 Google Cloud 프로젝트 ID입니다.
      2. 위치: 데이터 세트 및 HL7v2 저장소의 위치입니다.
      3. 데이터 세트 ID: HL7v2 저장소를 보관할 데이터 세트의 ID입니다.
      4. HL7 저장소 ID: HL7v2 메시지를 저장하는 HL7v2 저장소의 ID입니다.
    9. 필요한 경우 연결 노드 설정을 구성합니다.

      • 최소 노드 수: 최소 연결 노드 수를 입력합니다.
      • 최대 노드 수: 최대 연결 노드 수를 입력합니다.

      노드는 트랜잭션을 처리하는 연결의 단위(또는 복제본)입니다. 연결에 대해 더 많은 트랜잭션을 처리하려면 더 많은 노드가 필요합니다. 이와 반대로 더 적은 트랜잭션을 처리하기 위해서는 더 적은 노드가 필요합니다. 노드가 커넥터 가격 책정에 미치는 영향을 파악하려면 연결 노드 가격 책정을 참조하세요. 값을 입력하지 않으면 기본적으로 최소 노드가 (높은 가용성을 위해) 2로 설정되고 최대 노드는 50으로 설정됩니다.

    10. 원하는 경우 + 라벨 추가를 클릭하여 키/값 쌍의 형식으로 연결에 라벨을 추가합니다.
    11. 필요한 경우 SSL을 사용하려면 SSL 사용 설정을 선택합니다. SSL 구성 세부정보가 표시됩니다.
      1. 트러스트 저장소 유형을 선택합니다. 공개, 비공개, 비보안 연결 중 하나일 수 있습니다.
      2. 트러스트 저장소 선택에 따라 표시된 인증서를 선택합니다.
      3. mTLS를 사용하는 경우 키 저장소 섹션에서 키 저장소 인증서를 선택합니다.
      4. 원하는 경우 TLS 버전을 선택합니다.
      5. 지원되는 암호화 스위트를 입력합니다. 여러 암호화 스위트를 쉼표로 구분된 값으로 입력합니다. 자세한 내용은 지원되는 암호화 스위트를 참조하세요.
    12. 다음을 클릭합니다.
  7. 대상 섹션을 건너뜁니다.
  8. 다음을 클릭합니다.
  9. HL7 연결에는 인증이 필요하지 않으므로 인증 섹션에서 인증 세부정보를 지정할 필요가 없습니다.
  10. 이벤트 구독 세부정보 섹션에서 이벤트 관련 세부정보를 구성합니다.
    • 프로젝트 이름: Pub/Sub 인스턴스가 있는 Google Cloud 프로젝트입니다.
    • Pub/Sub 주제 이름: 알림 메시지가 전송될 HL7v2 저장소와 연결할 Pub/Sub 주제 이름입니다.
  11. 검토: 연결 및 인증 세부정보를 검토합니다.
  12. 만들기를 클릭합니다.

지원되는 암호화 스위트

TLS 버전 지원되는 암호화 스위트
1.2
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
1.3
  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_128_GCM_SHA256

트리거 출력

HL7 트리거에서 이벤트 구독 구성을 완료하는 데 몇 분 정도 걸립니다. 이벤트 구독 세부정보 아래의 트리거 구성 창에서 이벤트 구독 상태를 볼 수 있습니다.

HL7 트리거는 다음 상태를 사용하여 이벤트 구독 상태를 나타냅니다.

  • Creating: 트리거가 이벤트 구독을 구독 중임을 나타냅니다.
  • Active: 트리거가 이벤트 구독을 성공적으로 구독했음을 나타냅니다.
  • Error: 구성된 이벤트 구독에 문제가 있음을 나타냅니다.

이벤트 구독 세부정보 섹션에는 이벤트 구독 상태 외에도 연결 리전, 연결 이름, 이벤트 구독 이름과 같은 기타 세부정보가 표시됩니다.

트리거 출력 변수

각 이벤트에서 HL7 트리거는 다운스트림 태스크에 사용할 수 있는 ConnectorEventPayload 출력 변수 (JSON 형식)를 생성합니다. 출력 변수에는 HL7 이벤트의 페이로드가 포함됩니다. 예를 들면 다음과 같습니다.

 {
 "messageType": "ADT_A01",
 "message": "MSH|^~\\&|SendingApp|SendingFacility|ReceivingApp|ReceivingFacility|20240209120000||ADT^A01|123456789|P|2.3|||NE|AL|||||\rEVN|A02222221|20240209120000|||\rPID|1||123456789|^^^Hospital^MR||Doe^John^^^Mr.||19800101|M|||123 Main St^^New York^NY^10001^USA||(555)555-1234|(555)555-1235\rPV1|1|I|2000^2012^01||||123^Doe^John|||SUR||||ADM|A0||\r",
 "contentType": "text/plain"
}

이벤트 구독 보기

Integration Connectors에서 연결과 연결된 모든 이벤트 구독을 보고 관리하려면 다음을 수행합니다.

  1. Integration Connectors > 연결 페이지로 이동합니다.

    연결 페이지로 이동

  2. 구독을 보려는 연결을 클릭합니다.
  3. 이벤트 구독 탭을 클릭합니다.

    그러면 연결된 모든 이벤트 구독이 표시됩니다.

HL7 트리거 수정

HL7 트리거를 수정하여 연결 구성 및 이벤트 구독 세부정보를 변경하거나 업데이트할 수 있습니다.

HL7 트리거를 수정하려면 다음 단계를 따르세요.

  1. 통합 편집기에서 HL7 트리거 요소를 클릭하여 트리거 구성 창을 엽니다.
  2. HL7 트리거 구성을 클릭합니다.
  3. 커넥터 이벤트 트리거 편집기 페이지에서 다음을 수행합니다.
    1. 이전에 구성한 이벤트 구독을 유지하려면 유지를 클릭하고 삭제를 클릭합니다.
    2. 원하는 대로 연결 구성과 이벤트 구독 세부정보를 업데이트합니다.
    3. 완료를 클릭합니다.
  4. 이벤트 구독 세부정보의 트리거 구성 창에서 업데이트된 연결과 이벤트 구독 세부정보를 볼 수 있습니다.

할당량 및 한도

할당량 및 한도에 대한 자세한 내용은 할당량 및 한도를 참조하세요.

다음 단계