1. 소개

최종 업데이트: 2022년 9월 22일
이 Codelab에서는 Looker를 사용하여 BigQuery에 집계된 임상 데이터에 액세스하고 이를 시각화하는 솔루션을 구현합니다. Looker를 사용하여 대규모 의료 데이터 세트를 탐색하는 방법을 보여줍니다. Looker는 Google Cloud BigQuery와 원활하게 통합되므로 Google Cloud에서 인구 및 환자 수준 대시보드를 빠르고 간단하게 빌드할 수 있습니다.
이 Codelab에서는 다음을 수행하는 방법을 알아봅니다.
- 사전 프로비저닝된 Looker 인스턴스에서 기존 LookML 프로젝트를 살펴봅니다.
- Looker에서 Look을 만듭니다.
- Looker에서 인구 수준 대시보드를 만듭니다.
- Looker에서 환자 수준 대시보드를 만듭니다.
- 대시보드를 서로 연결합니다.
- PDF 첨부파일이 포함된 이메일을 통해 Look 및 대시보드를 전송하도록 예약합니다.
이 Codelab을 실행하려면 무엇이 필요한가요?
- Looker 인스턴스에 액세스할 수 있어야 합니다. 이 Codelab을 위해 Looker 인스턴스가 프로비저닝됩니다. 양식을 제출하여 Looker 인스턴스에 대한 액세스 권한을 요청할 수 있습니다. 액세스가 즉시 프로비저닝됩니다.
- Looker 인스턴스가 BigQuery의 데이터에 액세스합니다. 이 Codelab을 위해 BigQuery에 테스트 데이터 세트 (hcls-public-data:fhir_20k_patients_analytics)가 미리 생성되어 있습니다.
2. Looker 액세스 권한 요청
이 섹션에서는 등록 양식을 제출하여 Looker 인스턴스에 액세스합니다. Looker에 등록하고 액세스 권한을 얻으면 Looker에 로그인하여 보고서와 대시보드를 빌드할 수 있습니다.
사용자 등록
- 이 양식을 작성하여 새 Looker 계정을 등록하세요. 양식을 제출하면 계정을 활성화하고, 비밀번호를 설정하고, 등록을 완료하라는 이메일이 전송됩니다.

- Looker에서 환영 이메일을 받으면 계정을 활성화합니다.

- 그러면 활성화 양식으로 이동합니다. 활성화 양식을 작성하여 비밀번호를 설정하고 계정을 활성화합니다. 그러면 Looker의 홈 화면으로 이동합니다.
Looker에 로그인
이 링크를 사용하여 Looker에 로그인합니다.

3. 기존 LookML 프로젝트 탐색
- Looker에서 개발 드롭다운으로 이동합니다. 기존 bqlooker_codelab LookML 프로젝트를 선택하여 탐색을 시작합니다. LookML 프로젝트의 모델 및 뷰 파일 창이 표시됩니다.

- 다시 검증을 클릭하여 오류가 있는지 확인합니다. 녹색 'LookML 문제가 없음'은 성공을 나타냅니다.

- Explore 드롭다운을 클릭하여 기존 Explore를 모두 확인합니다. Explore는 보고서 (Look)의 기본 SQL 쿼리 구성요소입니다.

4. 측정기준 및 측정값
LookML xxx.view 파일을 수정하여 맞춤 측정기준 및 측정값 추가
- 개발 드롭다운을 클릭합니다.
- 보라색 개발자 모드 버튼을 슬라이드하여 사용 설정합니다.

- 탐색 드롭다운을 클릭하고 환자(질환 및 약물)를 선택합니다.
- '개수' 옆에 있는 톱니바퀴 기호를 클릭하고 LookML로 이동을 선택하여 'patients_with_conditions_and_medications.view'를 엽니다.

- 이 뷰는 Develop(개발) > bqlooker_codelab> Expand the view(뷰 펼치기)에서도 액세스할 수 있습니다.
- 'patients_with_conditions_and_medications.view' 파일에 다음 코드 스니펫을 포함하여 'number_of_patients'를 새 측정으로 추가합니다.
measure: number_of_patients {
type: count
drill_fields: [lastname]
}
다음 스크린샷은 patients_with_conditions_and_medications.view 파일의 코드 스니펫을 보여줍니다.

- 저장을 클릭합니다. 탐색 -> 질환 및 약물 환자 창으로 돌아가 화면을 새로고침하여 새 측정항목 '환자 수'가 추가되었는지 확인합니다.

- 탐색 드롭다운을 클릭하고 환자 생체 정보를 선택합니다.
- Count 필드 옆에 있는 톱니바퀴 기호를 클릭하고 'LookML로 이동'을 선택하여 'patient_vital_info.view'를 엽니다.
- 'patient_vital_info.view' 파일에 다음 코드 스니펫을 포함하여 'RoundedValue'를 측정기준으로, 'DIA'와 'SYS'를 측정값으로 추가합니다.
dimension: RoundedValue {
type: number
sql: round(${value},2);;
}
measure: DIA {
type: average
sql:
CASE
WHEN ${patient_vital_info.measurement} like "%Diastolic%"
THEN round(${value},0)
END;;
}
measure: SYS {
type: average
sql:
CASE
WHEN ${patient_vital_info.measurement} like "%Systolic%"
THEN round(${value},0)
END;;
}
다음 스크린샷은 파일의 코드 스니펫을 보여줍니다.

- 저장을 클릭합니다. 탐색 -> 환자 바이탈 정보 창으로 돌아가 화면을 새로고침하여 새 필드가 추가되었는지 확인합니다.

5. Look
Look을 정리하기 위한 폴더 구조 만들기
- 찾아보기 -> 개인 폴더 (예: Codelab User's folder)를 선택합니다.
- 새로 만들기 버튼을 클릭하고 폴더를 선택합니다.

- 폴더 이름('인구 관리')을 입력하고 폴더 만들기 버튼을 클릭합니다.

- 1, 2, 3단계를 반복하여 개인 폴더 아래에 'Patient Level Visualization'이라는 이름의 다른 폴더를 만듭니다.
- 개인 폴더 아래에 두 개의 폴더가 있어야 합니다.

인구 관리를 위한 유사 세그먼트 구축
Looker에서 탐색 드롭다운을 클릭한 다음 환자(질환 및 약물 포함)를 선택하여 보고서와 뷰(Look이라고도 함)를 빌드합니다.
다음 단계에 따라 조건 및 약물 수별 환자 목록을 만듭니다.
- 'Condition Desc' 및 'Med Count' 측정기준 옆에 있는 필터 버튼을 클릭하여 필터링 기준을 추가합니다. 이 Codelab에서는 다음 두 가지 기준으로 데이터를 필터링합니다.
- Condition Desc가 Diabetes, Diabetes_Hypertension, Hypertension과 같습니다.
- Med Count가 13 이상입니다.

- 각 필드를 강조 표시하여 '환자 ID', '약물 수', '질병 설명' 측정기준을 선택하여 결과 섹션에 '환자 ID', '약물 수', '질병 설명' 데이터 요소를 추가합니다.

- 시각화 탭에서 '표' 아이콘을 클릭하여 '환자 ID', '약물 수', '질병 설명' 데이터 요소를 뷰에 추가합니다.

- 실행을 클릭하여 결과를 확인합니다.

- 시각화 탭에서 수정 '아래쪽 화살표'를 클릭하여 뷰에 정보를 추가하고 업데이트합니다. 각 텍스트 상자에 커서를 놓고 원하는 텍스트를 입력하여 기본 텍스트를 덮어씁니다.

- 실행 버튼 옆에 있는 '톱니바퀴' 기호를 클릭하고 'Look으로 저장'을 선택합니다.

- 'Population Management'(인구 관리) 폴더를 선택합니다.
- 제목과 설명을 입력합니다.

- Look 저장 및 보기 또는 저장 버튼을 클릭하여 Look을 저장합니다.
- Look 저장 및 보기 버튼을 클릭하면 Look 보기가 표시됩니다.

- 저장 버튼을 클릭하면 탐색 뷰 상단에 녹색 배너가 표시됩니다. '조건별 환자 목록 및 약물 수' 링크를 클릭하여 Look을 엽니다('저장 및 Look 보기' 버튼을 클릭한 것처럼 표시됨). '인구 관리' 링크를 클릭하여 폴더를 엽니다. 여기에서 스타일을 선택하여 엽니다.

다음 단계에 따라 조건별 총 환자 수 시트를 만듭니다.
- 'Condition Desc' 및 'Med Count' 측정기준 옆에 있는 필터 버튼을 클릭하여 필터링 기준을 추가합니다. 이 Codelab에서는 다음 두 가지 기준에 따라 데이터를 필터링합니다.
- Condition Desc가 Diabetes, Diabetes_Hypertension, Hypertension과 같습니다.
- Med Count가 13 이상입니다.
- 필드를 강조 표시하여 '환자 수' 측정값을 선택하여 결과 섹션에 '환자 수' 데이터 요소를 추가합니다.
- 시각화 탭에서 '단일 값' 아이콘을 클릭하여 '환자 수' 데이터 요소를 뷰에 추가합니다.
- 실행을 클릭하여 결과를 확인합니다.

- 시각화 탭에서 수정 '아래쪽 화살표'를 클릭하여 뷰에 정보를 추가하고 업데이트합니다. 각 텍스트 상자에 커서를 놓고 원하는 텍스트를 입력하여 기본 텍스트를 덮어씁니다.
- 실행 버튼 옆에 있는 '톱니바퀴' 기호를 클릭하고 'Look으로 저장'을 선택합니다.
- 'Population Management'(인구 관리) 폴더를 선택합니다. 이름과 설명을 입력합니다.
- Look 저장 및 보기 또는 저장 버튼을 클릭하여 Look을 저장합니다.
- Look 저장 및 보기 버튼을 클릭하면 Look 보기가 표시됩니다.
- 저장 버튼을 클릭하면 탐색 뷰 상단에 녹색 배너가 표시됩니다. '조건별 총 환자 수' 링크를 클릭하여 Look을 엽니다('Look 저장 및 보기' 버튼을 클릭한 것처럼 표시됨). '인구 관리' 링크를 클릭하여 폴더를 엽니다. 여기에서 스타일을 선택하여 엽니다.
다음 단계에 따라 약물 수별 환자 수 Look을 빌드합니다.
- 'Condition Desc' 및 'Med Count' 측정기준 옆에 있는 필터 버튼을 클릭하여 필터링 기준을 추가합니다. 이 Codelab에서는 다음 두 가지 기준에 따라 데이터를 필터링합니다.
- Condition Desc가 Diabetes, Diabetes_Hypertension, Hypertension과 같습니다.
- Med Count가 13 이상입니다.
- 각 필드를 강조 표시하여 'Med Count' 측정기준과 'Number of Patients' 측정을 선택하고 RESULTS 섹션에 'Med Count' 및 'Number of Patients' 데이터 요소를 추가합니다.
- 시각화 탭에서 '열' 아이콘을 클릭하여 'Med Count' 및 'Number of Patients' 데이터 요소를 뷰에 추가합니다.
- 실행을 클릭하여 결과를 확인합니다.

- 시각화 탭에서 수정 '아래쪽 화살표'를 클릭하여 뷰에 정보를 추가하고 업데이트합니다. 각 텍스트 상자에 커서를 놓고 원하는 텍스트를 입력하여 기본 텍스트를 덮어씁니다.
- 실행 버튼 옆에 있는 '톱니바퀴' 기호를 클릭하고 'Look으로 저장'을 선택합니다.
- 'Population Management'(인구 관리) 폴더를 선택합니다. 이름과 설명을 입력합니다.
- Look 저장 및 보기 또는 저장 버튼을 클릭하여 Look을 저장합니다.
- Look 저장 및 보기 버튼을 클릭하면 Look 보기가 표시됩니다.
- 저장 버튼을 클릭하면 탐색 뷰 상단에 녹색 배너가 표시됩니다. '환자 수(약물 수별)' 링크를 클릭하여 Look을 엽니다('저장 및 Look 보기' 버튼을 클릭한 것처럼 표시됨). '인구 관리' 링크를 클릭하여 폴더를 엽니다. 여기에서 디자인을 선택하여 엽니다.
다음 단계에 따라 조건별 환자 수 검색을 빌드합니다.
- 'Condition Desc' 및 'Med Count' 측정기준 옆에 있는 필터 버튼을 클릭하여 필터링 기준을 추가합니다. 이 Codelab에서는 다음 두 가지 기준에 따라 데이터를 필터링합니다.
- Condition Desc가 Diabetes, Diabetes_Hypertension, Hypertension과 같습니다.
- Med Count가 13 이상입니다.
- 각 필드를 강조 표시하여 'Condition Desc' 측정기준과 'Number of Patients' 측정값을 선택하고 RESULTS 섹션에 'Condition Desc' 및 'Number of Patients' 데이터 요소를 추가합니다.
- 시각화 탭에서 '원형' 아이콘을 클릭하여 'Condition Desc' 및 'Number of Patients' 데이터 요소를 뷰에 추가합니다.
- 실행을 클릭하여 결과를 확인합니다.

- 시각화 탭에서 수정 '아래쪽 화살표'를 클릭하여 뷰에 정보를 추가하고 업데이트합니다.
- 실행 버튼 옆에 있는 '톱니바퀴' 기호를 클릭하고 'Look으로 저장'을 선택합니다.
- 'Population Management'(인구 관리) 폴더를 선택합니다. 제목과 설명을 입력합니다.
- Look 저장 및 보기 또는 저장 버튼을 클릭하여 Look을 저장합니다.
- Look 저장 및 보기 버튼을 클릭하면 Look 보기가 표시됩니다.
- 저장 버튼을 클릭하면 탐색 뷰 상단에 녹색 배너가 표시됩니다. '조건별 환자 수' 링크를 클릭하여 Look을 엽니다('저장 및 Look 보기' 버튼을 클릭한 것처럼 표시됨). '인구 관리' 링크를 클릭하여 폴더를 엽니다. 여기에서 디자인을 선택하여 엽니다.
환자 집단 보고서 요약
Looker에서 찾아보기 드롭다운을 클릭하고 <<개인 폴더>>를 선택한 다음 '인구 관리' 폴더를 선택하여 4개의 보고서 (Look이라고도 함)가 생성되었는지 확인합니다.

환자의 중요 정보를 표시하는 디자인 빌드
Looker에서 탐색 드롭다운을 클릭한 다음 환자 생체 정보를 선택하여 보고서와 뷰 (Look이라고도 함)를 빌드합니다.
다음 단계에 따라 환자의 혈압 측정 Look을 빌드합니다.
- '측정일', '측정', '환자 ID' 측정기준 옆에 있는 필터 버튼을 클릭하여 필터링 기준을 추가합니다. 이 Codelab에서는 다음 세 가지 기준으로 데이터를 필터링합니다.
- 측정일이 지난 10년 이내입니다.
- 측정에 혈압이 포함됩니다.
- 환자 ID가 287b4723-9c8d-495a-9915-54386d8dcc31과 같습니다.

- 각 필드를 강조 표시하여 '측정일' 측정기준과 'Dia' (이완기) 및 'Sys' (수축기) 측정값을 선택하고 결과 섹션에 '측정일', 'Dia' (이완기), 'Sys' (수축기) 데이터 요소를 추가합니다.

- 시각화 탭에서 '선' 아이콘을 클릭하여 '측정일', 'Dia' (이완기), 'Sys' (수축기) 데이터 요소를 뷰에 추가합니다.

- 실행을 클릭하여 결과를 확인합니다.

- 시각화 탭에서 수정 '아래쪽 화살표'를 클릭하여 뷰에 정보를 추가하거나 업데이트합니다. 각 텍스트 상자에 커서를 놓고 원하는 텍스트를 입력하여 기본 텍스트를 덮어씁니다.

- 혈압 측정 클러스터를 확장하려면 필터 기준 측정일을 2015-04-02부터 2015-08-02까지 (전) 범위로 변경합니다.

- 실행 버튼 옆에 있는 '톱니바퀴' 기호를 클릭하고 'Look으로 저장'을 선택합니다.
- 'Patient Level Visualization' 폴더를 선택합니다. 제목과 설명을 입력합니다.

- Look 저장 및 보기 또는 저장 버튼을 클릭하여 Look을 저장합니다.
- Look 저장 및 보기 버튼을 클릭하면 Look 보기가 표시됩니다.

- 저장 버튼을 클릭하면 탐색 뷰 상단에 녹색 배너가 표시됩니다. '혈압' 링크를 클릭하여 Look을 엽니다('저장 및 Look 보기' 버튼을 클릭한 것처럼 표시됨). 'Patient Level Visualization'(환자 수준 시각화) 링크를 클릭하여 폴더를 엽니다. 여기에서 디자인을 선택하여 엽니다.

다음 단계에 따라 환자의 체질량지수 측정 Look을 빌드합니다.
- '측정일', '측정', '환자 ID' 측정기준 옆에 있는 필터 버튼을 클릭하여 필터링 기준을 추가합니다. 이 Codelab에서는 다음 세 가지 기준으로 데이터를 필터링합니다.
- 측정일이 지난 10년 이내입니다.
- 측정에 체질량지수가 포함됩니다.
- 환자 ID가 287b4723-9c8d-495a-9915-54386d8dcc31과 같습니다.
- 각 필드를 강조 표시하여 'Roundedvalue', 'Dateofmeasurement Date', 'Measurement' 측정기준을 선택하고 결과 섹션에 'Roundedvalue', 'Dateofmeasurement Date', 'Measurement' 데이터 요소를 추가합니다.
- 시각화 탭에서 '선' 아이콘을 클릭하여 'Roundedvalue', 'Dateofmeasurement Date', 'Measurement' 데이터 요소를 뷰에 추가합니다.
- 실행을 클릭하여 결과를 확인합니다.

- 시각화 탭에서 수정 '아래쪽 화살표'를 클릭하여 뷰에 정보를 추가하고 업데이트합니다.
- 실행 버튼 옆에 있는 '톱니바퀴' 기호를 클릭하고 'Look으로 저장'을 선택합니다.
- 'Patient Level Visualization' 폴더를 선택합니다. 제목과 설명을 입력합니다.
- Look 저장 및 보기 또는 저장 버튼을 클릭하여 Look을 저장합니다.
- Look 저장 및 보기 버튼을 클릭하면 Look 보기가 표시됩니다.
- 저장 버튼을 클릭하면 탐색 뷰 상단에 녹색 배너가 표시됩니다. '체질량지수' 링크를 클릭하여 Look을 엽니다('Look 저장 및 보기' 버튼을 클릭한 것처럼 표시됨). 'Patient Level Visualization'(환자 수준 시각화) 링크를 클릭하여 폴더를 엽니다. 여기에서 디자인을 선택하여 엽니다.
다음 단계에 따라 환자의 헤모글로빈 A1c 측정값을 포함하는 Look을 빌드합니다.
- '측정일', '측정', '환자 ID' 측정기준 옆에 있는 필터 버튼을 클릭하여 필터링 기준을 추가합니다. 이 Codelab에서는 다음 세 가지 기준으로 데이터를 필터링합니다.
- 측정일이 지난 10년 이내입니다.
- 측정에는 혈색소 A1c가 포함됩니다.
- 환자 ID가 287b4723-9c8d-495a-9915-54386d8dcc31과 같습니다.
- 각 필드를 강조 표시하여 'Roundedvalue', 'Dateofmeasurement Date', 'Measurement' 측정기준을 선택하고 결과 섹션에 'Roundedvalue', 'Dateofmeasurement Date', 'Measurement' 데이터 요소를 추가합니다.
- 시각화 탭에서 '선' 아이콘을 클릭하여 'Roundedvalue', 'Dateofmeasurement Date', 'Measurement' 데이터 요소를 뷰에 추가합니다.
- 실행을 클릭하여 결과를 확인합니다.

- 시각화 탭에서 수정 '아래쪽 화살표'를 클릭하여 뷰에 정보를 추가하거나 업데이트합니다.
- 실행 버튼 옆에 있는 '톱니바퀴' 기호를 클릭하고 'Look으로 저장'을 선택합니다.
- 'Patient Level Visualization' 폴더를 선택합니다. 제목과 설명을 입력합니다.
- Look 저장 및 보기 또는 저장 버튼을 클릭하여 Look을 저장합니다.
- Look 저장 및 보기 버튼을 클릭하면 Look 보기가 표시됩니다.
- 저장 버튼을 클릭하면 탐색 뷰 상단에 녹색 배너가 표시됩니다. '혈색소 A1c' 링크를 클릭하여 Look을 엽니다('저장 및 Look 보기' 버튼을 클릭한 것처럼 표시됨). 'Patient Level Visualization'(환자 수준 시각화) 링크를 클릭하여 폴더를 엽니다. 여기에서 디자인을 선택하여 엽니다.
다음 단계에 따라 환자의 측정 테이블 모양을 빌드합니다.
- '측정일' 및 '환자 ID' 측정기준 옆에 있는 필터 버튼을 클릭하여 필터링 기준을 추가합니다. 이 Codelab에서는 다음 두 가지 기준에 따라 데이터를 필터링합니다.
- 측정일이 지난 10년 이내입니다.
- 환자 ID가 287b4723-9c8d-495a-9915-54386d8dcc31과 같습니다.
- 각 필드를 강조 표시하여 '측정일', '측정값', '반올림된 값', '단위' 측정기준을 선택하여 결과 섹션에 '측정일', '측정값', '반올림된 값', '단위' 데이터 요소를 추가합니다.
- 시각화 탭에서 '표' 아이콘을 클릭하여 '측정일', '측정값', '반올림된 값', '단위' 데이터 요소를 뷰에 추가합니다.
- 실행을 클릭하여 결과를 확인합니다.

- 시각화 탭에서 수정 '아래쪽 화살표'를 클릭하여 뷰에 정보를 추가하고 업데이트합니다.
- 실행 버튼 옆에 있는 '톱니바퀴' 기호를 클릭하고 'Look으로 저장'을 선택합니다.
- 'Patient Level Visualization' 폴더를 선택합니다. 제목과 설명을 입력합니다.
- Look 저장 및 보기 또는 저장 버튼을 클릭하여 Look을 저장합니다.
- Look 저장 및 보기 버튼을 클릭하면 Look 보기가 표시됩니다.
- 저장 버튼을 클릭하면 탐색 뷰 상단에 녹색 배너가 표시됩니다. '측정값 표' 링크를 클릭하여 Look을 엽니다('Look 저장 및 보기' 버튼을 클릭한 것처럼 표시됨). 'Patient Level Visualization'(환자 수준 시각화) 링크를 클릭하여 폴더를 엽니다. 여기에서 디자인을 선택하여 엽니다.
환자의 활력 징후 정보 보고서 요약
Looker에서 찾아보기 드롭다운을 클릭하고 <<개인 폴더>>를 선택한 다음 '환자 수준 시각화' 폴더를 선택하여 4개의 보고서 (Look이라고도 함)가 생성되었는지 확인합니다.

6. 대시보드
Looker에서 대시보드를 만드는 방법에는 여러 가지가 있습니다.
- 처음부터
- 저장된 Look에서
- 탐색 페이지의 쿼리
이 Codelab에서는 저장된 Look에서 대시보드를 만드는 방법을 알아봅니다.
인구 대시보드 빌드
- Look이 있는 개인 폴더 또는 하위 폴더 (예: 인구 관리)로 이동합니다.
- 열 Look을 선택합니다 (예: 조건별 환자 목록 및 약물 수).
- '기어' 기호를 클릭하고 '대시보드에 저장'을 선택하거나 '대시보드에 추가' 링크를 클릭하여 Look을 대시보드에 추가합니다.

- 새 대시보드 버튼을 클릭합니다. 대시보드 이름을 입력한 다음 확인을 클릭합니다. 또는 기존 대시보드를 선택합니다.
- 대시보드에 Look 추가 또는 대시보드에 저장 버튼을 클릭합니다. 어떤 선택을 하든 Look이 대시보드에 추가됩니다.
- 대시보드에 Look 추가 버튼을 클릭하면 Look 보기의 '대시보드' 섹션에 대시보드 링크가 표시됩니다. 이 기호
는 폴더 뷰에도 표시됩니다.

- 대시보드에 저장 버튼을 클릭하면 Look 보기의 '대시보드에 있음' 섹션에 '아니요'가 표시됩니다.

- 1~5단계를 반복하여 대시보드에 Look을 추가합니다.
- 찾아보기 드롭다운을 클릭하고 <<개인 폴더>>를 선택한 다음 '인구 관리' 폴더를 선택합니다. 4개의 Look이 모두 새 '인구 대시보드'에 추가되었는지 확인합니다.

- '인구 대시보드'를 클릭하여 엽니다.
- 수정 버튼을 클릭하여 원하는 대로 타일을 재정렬합니다.
- 필터 메뉴를 클릭하여 인구 대시보드에 필터를 추가합니다.
- 새 필터 버튼을 클릭합니다.
- 필터 이름 (예: 복용 중인 약물 수)을 입력한 다음 유형 (예: 필드)을 선택합니다.
- '이 필터에 연결할 필드를 선택하세요' 섹션에서 모델 (예: Bqlooker Codelab), Explore (예: Patients with Conditions and Medications), 필드 (예: Med Count)를 선택합니다.
- 기본값을 설정합니다 (예: Med Count >= 13).
- 모두 버튼을 클릭하거나 각 타일의 보라색 버튼을 슬라이드하여 이 필터가 변경되면 업데이트할 대시보드 타일을 선택합니다.
- 저장을 클릭합니다.

- 수정 완료를 클릭한 다음 대시보드를 다시 실행하여 모든 필터가 예상대로 작동하는지 확인합니다.

환자 대시보드 빌드
- Look이 있는 개인 폴더 또는 하위 폴더 (예: 환자 수준 시각화)로 찾아보기합니다.
- 오른쪽 상단에서 새로 만들기 버튼을 클릭하고 대시보드를 선택한 후 이름을 지정합니다 (예: 환자 대시보드).

- 대시보드 만들기 버튼을 클릭합니다.

- 옵션 1: 새 타일을 클릭하고 Explore를 선택한 다음 Look과 동일한 타일 빌드를 시작합니다.
- 옵션 2: Look 추가 링크를 클릭하고 +추가 버튼을 클릭하여 Look을 추가하고 (또는 삭제를 클릭하여 Look을 삭제) 대시보드 업데이트 버튼을 클릭합니다. 이 Codelab에서는 옵션 2를 사용했습니다.

- 환자 대시보드가 수정 모드로 표시됩니다. 원하는 대로 타일을 재정렬합니다.
- 필터 메뉴를 클릭하여 환자 및 날짜 필터를 환자 대시보드에 추가합니다.
- 새 필터 버튼을 클릭합니다.
- 필터 이름 (예: 환자)을 입력한 다음 유형 (예: 필드)을 선택합니다.
- '이 필터에 연결할 필드 선택' 섹션에서 모델 (예: Bqlooker Codelab)을 선택하고, 탐색 (예: 환자 생체 정보)을 선택하고, 필드 (예: 환자 ID)를 선택합니다.
- 기본값을 설정합니다 (예: 환자 ID = 287b4723-9c8d-495a-9915-54386d8dcc31).
- 모두 버튼을 클릭하거나 각 타일의 보라색 버튼을 슬라이드하여 이 필터가 변경되면 업데이트할 대시보드 타일을 선택합니다.
- 저장을 클릭합니다.
- 5단계를 반복하여 날짜 필터를 추가합니다 (필드 선택 = 측정일, 기본값은 지난 10년).

- 수정 완료를 클릭한 다음 대시보드를 다시 실행하여 모든 필터가 예상대로 작동하는지 확인합니다.

- 날짜 필터를 2015년 4월 2일부터 2015년 8월 2일 전까지의 범위로 변경하여 혈압 측정 '클러스터'를 확장합니다.
- 수정 완료를 클릭한 다음 대시보드를 다시 실행하여 모든 필터가 예상대로 작동하는지 확인합니다.

- 찾아보기 드롭다운을 클릭하고 <<개인 폴더>>를 선택한 다음 'Patient Level Visualization' 폴더를 선택하고 4개의 모든 Look이 새 'Patient Dashboard'에 추가되었는지 확인합니다.

7. 대시보드 연결
이 Codelab에서는 다음 단계에 따라 인구 대시보드에서 환자 대시보드로 연결되는 링크를 만듭니다.
- 찾아보기 드롭다운을 클릭하고 <<개인 폴더>>를 선택한 다음 'Patient Level Visualization' 폴더를 선택합니다.
- '환자 대시보드'를 열고 URL (예: https://googlecodelabs.gw1.cloud.looker.com/dashboards/9?Patient)을 복사합니다.

- 개발 드롭다운을 클릭하고 보라색 버튼을 슬라이드하여 개발 모드를 사용 설정한 다음 bqlooker_codelab LookML 프로젝트를 선택합니다.

- 개인 브랜치에서 'patients_with_conditions_and_medications.view'을 열고 dimension: patient_id{} 내에 다음 코드 스니펫을 추가하여 인구 대시보드에서 환자 대시보드로 연결되는 링크를 만듭니다.
link: {
label: "View key vitals"
url: "https://googlecodelabs.gw1.cloud.looker.com/dashboards/9?Patient={{value}}"
}
다음 스크린샷은 파일의 코드 스니펫을 보여줍니다.

- 오른쪽 상단에 있는 저장 버튼을 클릭합니다.
- 인구 대시보드를 찾아 엽니다.
- 환자 ID 옆에 있는 '...' 기호를 클릭합니다.
- '주요 바이탈 확인'을 선택하여 환자 대시보드를 엽니다.


8. 이메일을 통해 Look 및 대시보드 전송 예약
- 개발 드롭다운으로 이동하여 보라색 버튼을 슬라이드하여 개발자 모드를 사용 중지합니다.
- 대시보드로 이동하여 대시보드를 선택합니다.
- '세로 점 3개' 기호를 클릭하고 일정 추가를 선택합니다.

- 모든 정보를 입력합니다.
- 원하는 대로 옵션을 선택합니다.
- 이메일 주소를 추가합니다 (추가 클릭).
- 모두 저장을 클릭합니다.
- 테스트 보내기 버튼을 클릭하여 대시보드 전송을 테스트합니다. 이 예에서는 오전 6시부터 오후 6시까지 5분마다 이메일이 전송됩니다.

- Looker에서 PDF 파일로 첨부된 대시보드가 포함된 이메일을 보냈는지 메일함을 확인합니다.

- '세로 점 3개' 기호를 클릭하고 언제든지 일정 수정을 선택하여 일정을 수정할 수 있습니다.

- 전송할 Look을 예약하는 데 유사한 메커니즘 (1~10단계)을 적용합니다.

9. 삭제
Looker 계정
Looker의 계정이 약 10일 후에 삭제될 수 있습니다.
10. 축하합니다
축하합니다. Looker를 사용하여 FHIR 형식의 임상 데이터에 액세스하고, 쿼리하고, 시각화하는 코드 랩을 완료했습니다.
GCP에서 공개 BigQuery 데이터 세트에 액세스했습니다.
사전 프로비저닝된 Looker 인스턴스에서 기존 LookML 프로젝트를 살펴봤습니다.
Looker에서 Look 및 대시보드를 만들었습니다.
대시보드를 서로 연결했습니다.
PDF 첨부파일이 포함된 이메일을 통해 Look 및 대시보드를 전송하도록 예약했습니다.
이제 BigQuery 및 Looker로 의료 데이터 분석 여정을 시작하는 데 필요한 주요 단계를 알게 되었습니다.
©Google, Inc. or its affiliates. All rights reserved. 배포 금지.