소개
설문지 작성은 모바일 건강 앱을 사용하는 대부분의 의료 분야 종사자의 핵심 작업입니다.
데이터 입력이 어려울 수 있으며 오류가 발생할 수 있습니다. 구조화된 데이터 캡처 (SDC) 라이브러리와 디자인 가이드라인에 관한 Google의 목표는 개발자가 데이터 입력의 사용자 환경과 캡처된 데이터의 품질을 개선할 수 있도록 하는 것입니다.
이 섹션에서 다루는 네 가지 테마는 다음과 같습니다.
레이아웃 및 탐색
긴 스크롤 및 페이지로 나눈 레이아웃
![긴 스크롤 및 페이지로 나눈 레이아웃 비교 긴 스크롤에는 한 페이지에 질문이 3개 표시되지만 페이지로 나누기에는 질문이 1개 있습니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/comparinglayouts.png?hl=ko)
Android FHIR SDK에는 두 가지 레이아웃 옵션 중에서 선택할 수 있는 옵션이 있습니다.
- 긴 스크롤 (기본값)
- 페이지 나눔
긴 스크롤 설문지는 한 페이지에 모든 질문을 표시하고 사용자는 스크롤하여 각 질문으로 이동합니다.
페이지 매김 설문지에서는 콘텐츠가 여러 페이지에 걸쳐 표시됩니다. 관련 질문이나 입력란을 한 페이지에 그룹화할 수 있습니다. 뒤로 버튼과 다음 버튼은 페이지 하단에 고정되어 페이지 간에 이동할 수 있습니다.
GitHub에서 설문지를 페이지로 나누는 방법 알아보기
어떤 레이아웃을 선택해야 하나요?
각 레이아웃 옵션에는 장단점이 있습니다. 다음은 사용할 레이아웃을 선택할 때 고려해야 할 각 레이아웃 유형의 몇 가지 속성입니다.
긴 스크롤 | 페이지 나눔 | |
---|---|---|
탐색 속도 | 더 빠르게 탐색할 수 있습니다. | 탐색 속도가 더 느립니다. |
탐색의 정확성 | 탐색 정확도가 떨어짐 | 더 정확한 탐색 |
작업 전환 후 질문에 다시 집중하기 | 중단 후 방향을 변경하기 어려움 | 중단된 후 쉽게 방향을 변경할 수 있음 |
방문 후 디지털 설문지 작성 (종이에서 복사) | 종이에서 손쉽게 복사할 수 있습니다. | 종이에서 복사할 때 더 어려움 |
작은 화면 | 작은 화면에서는 | 더 나쁨작은 화면에 더 적합합니다 |
접근성 | 접근성이 더 나빠집니다. 탐색이 까다롭습니다. | 접근성 향상 스크린 리더, 텍스트 음성 변환 및 기타 기술로 처리할 수 있는 개별 화면입니다. |
안내 및 설명을 위한 공간 | 안내와 지침을 제공하기에는 더 나쁨 | 안내 및 안내를 받기에 더 좋습니다. |
긴 스크롤
![질문 제목 앞에 숫자가 표시된 설문지](https://developers.google.cn/static/open-health-stack/design/images/data-capture/numberedquestionnaire.png?hl=ko)
단일 페이지 레이아웃에서 더 쉽게 탐색할 수 있도록 질문에 번호를 매기세요.
![질문 제목의 글꼴 크기 비교 긴 스크롤은 16픽셀입니다. 페이지 매김은 28픽셀입니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/adjustfont.png?hl=ko)
긴 스크롤을 사용할 때는 질문 제목의 글꼴 크기를 더 작게 만들어 화면에 더 많은 콘텐츠가 표시되도록 합니다. 예: 긴 스크롤은 16픽셀입니다. 페이지 매김은 28픽셀입니다.
페이지로 나누기
![드롭다운 선택이 있는 페이지로 나눈 질문 '어떤 주에 살고 있나요?'](https://developers.google.cn/static/open-health-stack/design/images/data-capture/onequestion.png?hl=ko)
키보드, 드롭다운 및 기타 구성요소가 페이지 공간을 차지하므로 페이지당 질문 하나를 목표로 하세요.
![하단 필드가 화면에 표시되지 않는 페이지로 나눈 주소 필드.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/hidecontent.png?hl=ko)
콘텐츠는 스크롤 없이 볼 수 있는 부분에 표시되어야 합니다.
![여러 텍스트 입력란이 질문 하나로 그룹화됩니다. 질문 제목은 대체 연락 담당자이며 이름, 관계, 전화번호를 입력란에 입력합니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/groupcontent.png?hl=ko)
예: 이 3개의 텍스트 필드는 대체 연락처 개인 정보와 관련이 있으므로 한 페이지에 그룹화됩니다.
![관련 없는 질문이 같은 페이지에 있습니다. 첫 번째 질문은 보험 보장 범위에 관한 것이며 두 번째 질문은 이전 건강 상태에 관한 질문입니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/unrelatedgroup.png?hl=ko)
혼동을 피하기 위해 한 페이지에서 관련 없는 콘텐츠를 그룹화하지 마세요.
진행 상태 표시기
진행률 표시기는 설문지 내 진행 상황을 나타냅니다.
긴 설문지에 진행률 표시기를 포함하여 사용자가 탐색하고 진행 상황을 확인할 수 있도록 합니다. 진행률 표시기는 설문지 내 위치와 완료까지 남은 시간을 표시합니다.
![상단의 설문지 제목 아래에 위치한 진행률 표시기](https://developers.google.cn/static/open-health-stack/design/images/data-capture/progress-scroll.png?hl=ko)
스크롤할 때도 항상 표시되도록 질문과 앵커 위에 배치합니다.
![하단의 탐색 버튼 위 진행률 표시기](https://developers.google.cn/static/open-health-stack/design/images/data-capture/progress-paginated.png?hl=ko)
대신 하단에, 뒤로 및 다음 버튼 위, 이 레이아웃을 사용하면 사용자가 어느 페이지에 있는지 표시할 수도 있습니다.
탐색 버튼
탐색 버튼 (뒤로, 다음)은 설문지 하단에 고정됩니다. 무한 스크롤 또는 페이지로 나눈 설문지의 마지막 페이지에서 다음 버튼은 제출이라는 라벨이 지정되어 있습니다.
버튼을 일관된 위치에 유지하고 뒤로 및 다음과 같이 작업 라벨이 지정된 활성 버튼을 항상 사용합니다.
![탐색 버튼이 활성 상태입니다. 파란색으로 채워진 다음 버튼](https://developers.google.cn/static/open-health-stack/design/images/data-capture/active-buttons.png?hl=ko)
양식이 불완전한 경우에도 항상 활성 버튼을 표시합니다. 다음을 탭하면 누락된 필드나 유효성 검사 오류를 완료하는 방법을 안내하는 팝업 대화상자가 표시됩니다.
![다음 버튼이 비활성화되어 있습니다. 회색으로 채워진 다음 버튼](https://developers.google.cn/static/open-health-stack/design/images/data-capture/inactive-buttons.png?hl=ko)
비활성화된 버튼은 사용자가 문제 해결 방법을 알기 어렵게 만듭니다.
![다음 버튼에는 화살표 아이콘만 있으며 텍스트 설명은 없습니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/icon-buttons.png?hl=ko)
아이콘만 있는 버튼은 사용하지 마세요. 버튼에는 항상 설명 동작으로 라벨을 지정하세요.
질문 및 안내
![질문 및 안내 구성요소를 보여주는 페이지로 구성된 주석이 달린 설문지](https://developers.google.cn/static/open-health-stack/design/images/data-capture/question-banner.png?hl=ko)
- 설문지 제목입니다.
- 진행률 표시기
- 그룹 헤더입니다.
- 질문 제목입니다.
- 안내.
- 입력란입니다.
- 항목 형식입니다.
- 필수 입력란입니다.
- 도움말을 선택하세요.
그룹 헤더
그룹 헤더는 질문 제목 위에 표시되는 텍스트 헤더입니다.
그룹 헤더를 사용하여 비슷한 질문을 그룹화하세요. 유용한 정보를 추가할 때만 그룹 헤더를 사용하세요.
![그룹 헤더는 환자 내역입니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/group-short.png?hl=ko)
짧은 제목을 사용하여 비슷한 질문을 그룹화하세요. 예: 환자 내역과 관련된 모든 질문이 그룹화됩니다.
![그룹 헤더는 개인 정보와 라이프스타일 정보입니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/group-long.png?hl=ko)
한 줄을 넘어 복잡한 제목이나 긴 제목은 사용하지 마세요.
질문 제목
질문 제목은 요청된 정보를 간결하게 설명합니다. 질문 제목은 페이지에서 가장 큰 글꼴 크기로 사용자의 눈길을 질문에 끌 수 있습니다.
모든 페이지나 질문에는 질문 제목이 있어야 합니다. 질문 제목은 짧게 유지하거나 질문으로 표현하세요.
![질문 제목이 생년월일입니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/title-short.png?hl=ko)
짧은 제목을 사용하면 사용자가 더 쉽게 읽을 수 있습니다.
![질문 제목은 생년월일을 입력하세요. 어느 도시에서 태어났습니까?](https://developers.google.cn/static/open-health-stack/design/images/data-capture/title-long.png?hl=ko)
너무 긴 질문을 하거나 두 질문을 중첩하지 마세요.
![질문 제목이 없습니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/title-none.png?hl=ko)
사용자가 입력해야 하는 정보를 쉽게 알 수 있도록 질문 제목을 항상 포함합니다.
안내
안내는 질문 제목 아래에 표시되는 선택적 텍스트 입력란입니다.
instructions 필드를 사용하여 질문이 필요한지 여부, 선택할 수 있는 항목 수 (하나 또는 여러 개), 모든 정보를 작성하거나 질문에 답변할 수 없는 경우 사용자가 취해야 할 조치 등 관련 안내를 설명합니다.
![안내: 하나를 선택하세요. 필수 질문입니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/instructions-required.png?hl=ko)
안내 입력란을 사용하여 필수 질문인지 여부와 선택할 수 있는 질문 수를 알립니다.
![안내: 정확한 DOB를 알 수 없는 경우 알 수 없는 DOB 체크박스를 선택합니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/instructions-edge.png?hl=ko)
안내를 사용하여 일부 입력란을 작성할 수 없는 등의 시나리오에 직면했을 때 취해야 할 조치를 사용자에게 안내합니다.
![안내: 대체 연락처는 긴급 상황 시 사용되며 친인척 (예: 파트너, 어머니, 형제)이 될 수 있습니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/instructions-definitions.png?hl=ko)
안내에 따라 질문 제목에 사용된 용어의 추가 맥락이나 정의를 제공합니다.
라벨 텍스트
라벨 텍스트는 텍스트 필드 또는 드롭다운에 필요한 정보를 사용자에게 알려줍니다. 필드가 선택되면 라벨 텍스트가 텍스트 필드의 중간에서 맨 위로 이동합니다.
모든 텍스트 입력란과 드롭다운 상자에는 라벨이 있어야 합니다. 라벨 텍스트는 짧고 명확해야 하며 전체 내용을 볼 수 있어야 합니다.
![라벨 텍스트: 이름](https://developers.google.cn/static/open-health-stack/design/images/data-capture/label-short.png?hl=ko)
라벨 텍스트는 짧고 명확해야 하며 전체 내용이 표시되어야 합니다.
![라벨 텍스트: 고객 이름을 입력합니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/label-long.png?hl=ko)
라벨 텍스트가 너무 길거나, 잘리거나, 여러 줄을 차지해서는 안 됩니다.
![라벨 텍스트가 없습니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/label-none.png?hl=ko)
사용자가 어떤 정보를 입력해야 하는지 알 수 있도록 항상 텍스트 필드에 라벨을 지정하세요.
항목 형식
EntryFormat은 텍스트 필드 아래에 표시되어 입력해야 하는 특정 형식 데이터를 사용자에게 알립니다. 오류 메시지는 EntryFormat 필드에 표시되며 기존 EntryFormat 명령을 대체합니다.
날짜, 전화번호, 단위 및 정수에는 EntryFormat을 사용합니다.
![날짜 형식: dd/mm/yyyy.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/entry-do.png?hl=ko)
필드 아래에 날짜 형식을 표시하고 설명 문구를 포함합니다.
![날짜 형식이 없습니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/entry-none.png?hl=ko)
데이터 형식을 표시하지 않으면 데이터가 잘못 입력될 수 있습니다.
![심박수 텍스트 필드 아래에는 입력 형식에 다음과 같이 표시됩니다. 정상 범위: 60~100bpm 혈중 산소 포화도 텍스트 입력란 아래의 입력 형식은 정상 범위: 95~100%입니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/entry-range.png?hl=ko)
의료 범위를 입력할 때는 정상 범위의 예를 제공하세요. 이렇게 하면 사용자가 범위를 벗어난 오류나 숫자를 포착하는 데 도움이 됩니다.
필수 입력란
필수 필드는 사용자가 필드를 작성해야 하며 필드가 완료될 때까지 진행되지 않도록 차단됩니다.
필수 필드를 표시하려면 질문 제목 끝에 별표 (*)를 표시합니다. 별표 (*)가 무엇을 나타내는지 모두가 명확하지는 않으므로 안내 필드에 '필수 질문'을 포함합니다. 질문 제목이 없으면 라벨 텍스트에 별표 (*)를 표시합니다.
![질문 제목 다음에 별표 표시 및 아래 안내의 필수 질문.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/required-explanation.png?hl=ko)
필수 입력란에 별표 (*)를 표시하고 `필수 질문`을 나타내는 서면 안내를 포함합니다.별표(*)가 무엇을 의미하는지 잘 모르는 경우가 많으므로 설명이 도움이 될 수 있습니다.
![질문 제목 뒤에 별표가 있지만 별표의 의미를 설명하는 설명이 없음](https://developers.google.cn/static/open-health-stack/design/images/data-capture/required-noexplanation.png?hl=ko)
별표(*)의 의미에 대한 서면 설명 없이 별표(*)만 표시하지 않습니다.
![아래 안내에 따라 질문 제목 및 필수 질문 다음에 별표가 표시됩니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/required-localize.png?hl=ko)
사용자에게 가장 익숙한 용어를 사용하세요. 예를 들어 'Mandatory'는 더 익숙한 용어이며 일부 국가에서는 'Required' 대신에 사용될 수 있습니다.
![별표 없음 선택사항인 질문이 안내에 표시됩니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/required-optional.png?hl=ko)
대부분의 질문이 필수인 경우 대신 선택사항인 질문을 표시하세요.
![라벨 텍스트 뒤에 별표를 표시합니다. 항목 형식 필드에 표시된 필수 질문입니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/required-label.png?hl=ko)
질문 제목이 없는 경우 라벨 텍스트에 별표를 표시합니다.
도움말
질문 제목 옆에 도움말 아이콘이 표시됩니다. 아이콘을 탭하면 추가 정보가 포함된 도움말 정보 상자가 나타납니다. 아이콘을 다시 탭하면 도움말 정보 상자가 닫힙니다.
선택사항입니다. 항상 표시할 필요는 없는 추가 정보를 표시하는 데 도움이 되는 경우에만 사용합니다.
![도움말: 계절성 독감 백신은 독감 면역이라고도 합니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/help-do.png?hl=ko)
사용자가 한 번만 확인해야 하는 정보나 추가 정보를 제공하는 정보가 필요한 경우 도움말을 사용하세요.
![도움말: 하나를 선택하세요.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/help-dont.png?hl=ko)
모든 사용자에게 표시되어야 하는 도움말 상자 안에 안내를 숨기지 마세요.
데이터 캡처
![데이터 캡처 구성요소 8가지(텍스트 필드, 날짜 선택 도구, 드롭다운, 슬라이더, 단일 선택, 불리언 선택, 객관식, 열린 선택)](https://developers.google.cn/static/open-health-stack/design/images/data-capture/datacapture-banner.png?hl=ko)
어떤 구성요소를 사용해야 하나요?
데이터 입력 유형 | 부울 선택 | 1개 선택 | 객관식 | 선택지 | 드롭다운 | 날짜 선택 도구 | 텍스트 입력란 | 슬라이더 | 자동 완성 |
---|---|---|---|---|---|---|---|---|---|
'예' 또는 '아니요'를 선택하세요. | |||||||||
한 가지 옵션 선택 | 주의사항 |
||||||||
여러 옵션 선택 | 주의사항 |
||||||||
텍스트 | |||||||||
날짜 | |||||||||
숫자 | 주의사항 |
입력란
텍스트 필드는 사용자가 정보를 입력할 수 있음을 나타냅니다.
사용자가 설문지에 이름, 전화번호, 주소와 같은 텍스트를 입력해야 하는 경우 텍스트 필드를 사용합니다. 미리 채워진 선택 항목(객관식 또는 단일 선택)을 대신 사용할 수 있는 경우 텍스트 (키보드) 입력이 필요한 데이터 입력을 제한합니다.
![질문 제목: 새 사용자 등록 텍스트 필드 1: 이름. 텍스트 필드 2: 전화번호](https://developers.google.cn/static/open-health-stack/design/images/data-capture/text-do.png?hl=ko)
고유한 단어나 숫자를 입력해야 하는 데이터 입력에는 텍스트 필드를 사용합니다.
![질문 제목: 방문 이유 텍스트 필드: 이유 설명](https://developers.google.cn/static/open-health-stack/design/images/data-capture/text-dont.png?hl=ko)
자유 텍스트 응답이 복수 선택, 드롭다운 또는 단일 선택 선택이 될 수 있는 경우에는 사용하지 마세요.
단일 선택 및 불리언 선택
단일 선택 및 불리언 선택은 사용자에게 옵션 중 하나를 선택하라는 메시지가 표시될 때 라디오 버튼으로 표시되는 선택 컨트롤입니다.
'예' 또는 '아니요'의 바이너리 선택이 있는 경우 boolean choice을 사용합니다. 그렇지 않으면 단일 선택 구성요소를 사용합니다. 목록에 옵션이 10개를 초과하면 단일 선택 항목 대신 드롭다운을 사용합니다. 드롭다운은 옵션이 많을 때 더 조밀하고 탐색하기 쉽습니다.
![질문 제목: 첫 방문인가요? 불리언 선택 옵션은 '예' 또는 '아니요'입니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/singlechoice-boolean.png?hl=ko)
옵션이 '예' 및 '아니요'인 경우 불리언 선택을 사용합니다.
![Question title: 가장 높은 수준의 학력은 어떻게 되나요?
다음은 단일 선택 옵션입니다. 1. 모름 2. 교육을 받지 않음
3. 초등학교 4. 중학교](https://developers.google.cn/static/open-health-stack/design/images/data-capture/singlechoice-single.png?hl=ko)
사용자가 목록에서 하나의 옵션을 선택할 수 있는 경우 단일 선택을 사용합니다.
![매우 긴 상태 목록을 보여주는 단일 선택 목록. 상태 23~27이 표시됩니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/singlechoice-dont.png?hl=ko)
매우 긴 목록 (10개 이상)에는 한 가지만 선택하지 마세요. 대신 드롭다운을 사용하세요.
날짜 선택 도구
날짜 선택 도구를 사용하면 사용자가 캘린더 날짜 선택기와 키보드를 통해 날짜를 입력할 수 있습니다. 캘린더 아이콘을 탭하면 캘린더 날짜 선택 도구가 활성화됩니다.
마지막 생리 기간 또는 다음 방문 등 오늘 날짜에 가까운 날짜에만 캘린더 날짜 선택 도구를 사용하세요. 그렇지 않으면 생일과 같은 날짜에 키보드 입력을 우선시합니다.
![생년월일 키보드 날짜 입력이 활성 상태입니다. 텍스트 필드 상자 오른쪽에 있는 캘린더 아이콘 대략적인 날짜임을 나타내는 체크박스가 선택되어 있습니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/datepicker-do.png?hl=ko)
날짜를 입력하려면 키보드 입력 (텍스트 상자 탭하기)과 캘린더 날짜 선택도구 (아이콘 탭하기)를 모두 사용 설정합니다.
![날짜 선택 도구의 캘린더 뷰](https://developers.google.cn/static/open-health-stack/design/images/data-capture/datepicker-dont.png?hl=ko)
캘린더 날짜 선택 도구를 생년월일의 유일한 입력 방법으로 사용하지 마세요. 연도와 월을 확인하는 것은 쉽지 않습니다.
드롭다운
드롭다운 메뉴를 사용하면 사용자가 여러 옵션 중에서 선택할 수 있습니다. 사용자가 입력을 시작하면 입력한 내용을 기반으로 옵션이 필터링됩니다. 이렇게 하면 사용자가 긴 목록에서 적절한 옵션을 빠르게 찾을 수 있습니다.
드롭다운 메뉴는 옵션 목록이 매우 길 때 (10개 이상의 옵션) 공간을 덜 차지하므로 단일 선택 대신 훌륭한 대안입니다.
![상태 A~F가 나열된 주 드롭다운](https://developers.google.cn/static/open-health-stack/design/images/data-capture/dropdown-do.png?hl=ko)
매우 긴 옵션 목록에서 하나의 옵션(예: 주 또는 도시 선택)을 선택할 때 드롭다운을 사용합니다.
![연령 드롭다운으로, 1에서 6까지의 숫자가 표시되어 있습니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/dropdown-dont.png?hl=ko)
나이와 같은 모든 옵션을 스크롤하는 것보다 콘텐츠를 입력하는 것이 더 쉬울 때는 드롭다운을 사용하지 않습니다.
객관식
객관식은 사용자가 옵션 목록에서 여러 섹션을 만들 수 있는 경우 체크박스로 표시되는 선택 컨트롤입니다.
사용자가 미리 정의된 옵션 목록에서만 선택할 수 있는 경우 다중 선택을 사용합니다. 사용자가 직접 자유 응답도 추가할 수 있는 경우에는 Open Choice 구성요소를 사용하세요. 사용자가 여러 옵션을 선택할 수 있음을 알 수 있도록 instructions 필드에 '해당하는 항목 모두 선택'을 입력합니다.
![질문 제목: 오늘 방문한 이유가 무엇인가요? 행마다 하나씩, 총 4개의 체크박스와 옵션이 표시됩니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/multiple-do.png?hl=ko)
기본 모양은 체크박스 주위의 컨테이너로, 탭할 수 있는 영역을 명확하게 표시합니다.
![질문 제목: 오늘 방문한 이유가 무엇인가요? 행마다 2개씩 6개의 체크박스와 옵션이 표시됩니다. 두 가지 옵션에서 일부 텍스트가 잘립니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/multiple-dont.png?hl=ko)
휴대전화 화면 크기와 텍스트 크기의 차이로 인해 텍스트가 잘릴 수 있으므로 한 행에 여러 옵션을 표시하지 마세요.
선택지
개방형 선택은 객관식 선택과 유사하지만 사용자가 기타를 선택하고 자유 텍스트를 입력할 수 있는 기능을 추가합니다.
사전 설정된 옵션 목록이 있지만 사용자가 추가 옵션을 추가할 수도 있는 경우 Open Choices를 사용합니다. 대부분의 옵션이 알려진 경우 주관식 선택을 사용합니다. 하지만 제공된 옵션 중 어느 것도 적용되지 않으므로 일부 사용자가 기타를 선택할 것으로 예상됩니다.
!['기타'가 선택되었습니다. 자유 텍스트를 추가하기 위한 텍스트 필드가 활성 상태입니다.
키보드가 표시되어 있습니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/openchoice-do.png?hl=ko)
정확한 데이터를 수집하는 것이 중요하고 사전 정의된 옵션이 적용되지 않는 경우에 사용합니다. 예: 직업
![질문 제목: 추가할 내용이 있으신가요? 예, 아니요, 기타의 세 가지 옵션이 있습니다. '기타'가 선택되었습니다. 자유 텍스트를 추가하기 위한 텍스트 필드가 활성 상태입니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/openchoice-dont.png?hl=ko)
대부분의 응답에서 기타를 선택해야 하는 경우에는 사용하지 마세요. 이러한 경우에는 텍스트 필드 또는 단락 필드를 대신 사용하세요.
슬라이더
슬라이더를 사용하면 사용자가 값 범위에서 선택할 수 있습니다. Android FHIR SDK의 슬라이더는 개별 슬라이더입니다. 불연속 슬라이더를 사용하면 사용자가 미리 정해진 범위에서 특정 값을 선택할 수 있습니다. 눈금 표시는 사용 가능한 값을 나타내는 데 사용할 수 있습니다. 숫자 데이터 입력에는 슬라이더를 사용하지 않습니다. 대신 텍스트 필드 또는 드롭다운 메뉴를 사용하세요.
![질문 제목: 고객의 자녀가 몇 명인가요? 숫자 4의 슬라이더가 선택됩니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/slider-dont.png?hl=ko)
범위가 큰 경우 특정 값에 슬라이더를 사용하지 않습니다. 대신 키보드 입력이 있는 텍스트 필드를 사용하세요.
데이터 유효성 검사 및 오류
데이터 검증
데이터 유효성 검사는 데이터 유형 또는 텍스트 필드에 입력할 수 있는 값을 제한합니다. 데이터 검증은 수집된 데이터의 품질을 개선할 수 있습니다.
형식 또는 값 제한사항을 표시하려면 EntryFormat 필드를 사용합니다. 사용자가 오류를 수정할 수 있도록 의미 있는 데이터 유효성 검사 오류 메시지를 인라인으로 즉시 표시합니다.
![라벨 텍스트: 전화번호 입력 형식: 8자리](https://developers.google.cn/static/open-health-stack/design/images/data-capture/validation-show.png?hl=ko)
사용자가 데이터 입력 방법을 알 수 있도록 데이터 검증 제한사항을 미리 표시합니다.
![라벨 텍스트: 전화번호 항목 형식: 없음.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/validation-hide.png?hl=ko)
전화번호의 자릿수를 표시하지 않으면 사용자에게 오류가 발생할 수 있으며 완료하는 데 시간이 더 오래 걸립니다.
![22/33/4444를 입력했습니다. 오류 메시지: 날짜 형식이 잘못되었습니다. 형식은 dd/mm/yyyy여야 합니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/validation-timely.png?hl=ko)
필드를 완료한 직후에 의미 있는 데이터 유효성 검사 오류를 표시합니다. 오류 메시지는 기존 항목 형식 텍스트를 대체합니다.
![대화상자 다음 오류를 해결하세요. 1. 전화번호 2. 생년월일
버튼 1: 무시하고 제출 버튼 2: 오류를 수정합니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/validation-dontwait.png?hl=ko)
사용자가 '제출'을 누를 때까지 기다리지 말고 처음으로 유효성 검사 오류를 표시합니다.
오류
오류 메시지는 사용자에게 문제가 발생했을 때 이를 알리고 문제 해결 방법을 전달합니다.
색상, 아이콘, 텍스트를 사용해 오류를 전달합니다.
![오류 메시지는 '필수 질문입니다. 다음 중 하나를 선택하세요.'](https://developers.google.cn/static/open-health-stack/design/images/data-capture/error-howtofix.png?hl=ko)
오류가 발생한 이유 (필수 질문)와 해결을 위해 취할 수 있는 조치 (하나만 선택)를 설명합니다.
![오류 메시지는 '오류'입니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/error-noexplanation.png?hl=ko)
'error'만 표시된 오류 메시지는 사용자가 오류 해결 방법을 파악하는 데 도움이 되지 않습니다.
![생년월일 22/33/4444를 입력했습니다. 오류 메시지의 날짜 형식이 잘못되었습니다. 형식은 dd/mm/yyyy여야 합니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/error-noblame.png?hl=ko)
예: '날짜 형식이 잘못되었습니다. 형식은 dd/mm/yyyy여야 합니다.
![생년월일 22/33/4444를 입력했습니다. 오류 메시지는 '잘못된 날짜 형식을 입력했습니다.'입니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/error-dontblame.png?hl=ko)
'나'가 포함된 오류 메시지로 사용자를 비난하지 마세요(예: '잘못된 날짜 형식을 입력함').
!['필수 질문입니다. 옵션을 하나 이상 선택하세요.' 체크박스 컨테이너는 빨간색 윤곽선으로 표시됩니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/error-combo.png?hl=ko)
색상, 아이콘, 텍스트를 사용하여 사용자에게 오류가 있음을 알립니다.
![오류 메시지나 아이콘이 없습니다. 체크박스 컨테이너에는 빨간색 윤곽선이 있으며 이는 오류가 있음을 나타내는 유일한 지표입니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/error-onlycolor.png?hl=ko)
적록색 색맹과 같은 일반적인 시각 장애를 지원하려면 색상에만 의존하여 오류를 전달하지 마세요.
![체크박스 컨테이너는 빨간색 윤곽선으로, 각 컨테이너 뒤에 오류 아이콘 1개가 표시됩니다. 아이콘 3개가 표시됩니다.](https://developers.google.cn/static/open-health-stack/design/images/data-capture/error-icons.png?hl=ko)
하나의 아이콘만으로도 충분한 경우가 많습니다. 오류를 전달하기 위해 아이콘을 과도하게 사용하면 안 됩니다.