소개
설문지 작성은 모바일 건강 앱을 사용하는 대부분의 의료 분야 종사자의 핵심 작업입니다.
데이터 입력이 어려울 수 있으며 오류가 발생할 수 있습니다. 구조화된 데이터 캡처 (SDC) 라이브러리와 디자인 가이드라인에 관한 Google의 목표는 개발자가 데이터 입력의 사용자 환경과 캡처된 데이터의 품질을 개선할 수 있도록 하는 것입니다.
이 섹션에서 다루는 네 가지 테마는 다음과 같습니다.
레이아웃 및 탐색
긴 스크롤 및 페이지로 나눈 레이아웃

Android FHIR SDK에는 두 가지 레이아웃 옵션 중에서 선택할 수 있는 옵션이 있습니다.
- 긴 스크롤 (기본값)
- 페이지 나눔
긴 스크롤 설문지는 한 페이지에 모든 질문을 표시하고 사용자는 스크롤하여 각 질문으로 이동합니다.
페이지 매김 설문지에서는 콘텐츠가 여러 페이지에 걸쳐 표시됩니다. 관련 질문이나 입력란을 한 페이지에 그룹화할 수 있습니다. 뒤로 버튼과 다음 버튼은 페이지 하단에 고정되어 페이지 간에 이동할 수 있습니다.
GitHub에서 설문지를 페이지로 나누는 방법 알아보기
어떤 레이아웃을 선택해야 하나요?
각 레이아웃 옵션에는 장단점이 있습니다. 다음은 사용할 레이아웃을 선택할 때 고려해야 할 각 레이아웃 유형의 몇 가지 속성입니다.
긴 스크롤 | 페이지 나눔 | |
---|---|---|
탐색 속도 | 더 빠르게 탐색할 수 있습니다. | 탐색 속도가 더 느립니다. |
탐색의 정확성 | 탐색 정확도가 떨어짐 | 더 정확한 탐색 |
작업 전환 후 질문에 다시 집중하기 | 중단 후 방향을 변경하기 어려움 | 중단된 후 쉽게 방향을 변경할 수 있음 |
방문 후 디지털 설문지 작성 (종이에서 복사) | 종이에서 손쉽게 복사할 수 있습니다. | 종이에서 복사할 때 더 어려움 |
작은 화면 | 작은 화면에서는 | 더 나쁨작은 화면에 더 적합합니다 |
접근성 | 접근성이 더 나빠집니다. 탐색이 까다롭습니다. | 접근성 향상 스크린 리더, 텍스트 음성 변환 및 기타 기술로 처리할 수 있는 개별 화면입니다. |
안내 및 설명을 위한 공간 | 안내와 지침을 제공하기에는 더 나쁨 | 안내 및 안내를 받기에 더 좋습니다. |
긴 스크롤

단일 페이지 레이아웃에서 더 쉽게 탐색할 수 있도록 질문에 번호를 매기세요.

긴 스크롤을 사용할 때는 질문 제목의 글꼴 크기를 더 작게 만들어 화면에 더 많은 콘텐츠가 표시되도록 합니다. 예: 긴 스크롤은 16픽셀입니다. 페이지 매김은 28픽셀입니다.
페이지로 나누기

키보드, 드롭다운 및 기타 구성요소가 페이지 공간을 차지하므로 페이지당 질문 하나를 목표로 하세요.

콘텐츠는 스크롤 없이 볼 수 있는 부분에 표시되어야 합니다.

예: 이 3개의 텍스트 필드는 대체 연락처 개인 정보와 관련이 있으므로 한 페이지에 그룹화됩니다.

혼동을 피하기 위해 한 페이지에서 관련 없는 콘텐츠를 그룹화하지 마세요.
진행 상태 표시기
진행률 표시기는 설문지 내 진행 상황을 나타냅니다.
긴 설문지에 진행률 표시기를 포함하여 사용자가 탐색하고 진행 상황을 확인할 수 있도록 합니다. 진행률 표시기는 설문지 내 위치와 완료까지 남은 시간을 표시합니다.

스크롤할 때도 항상 표시되도록 질문과 앵커 위에 배치합니다.

대신 하단에, 뒤로 및 다음 버튼 위, 이 레이아웃을 사용하면 사용자가 어느 페이지에 있는지 표시할 수도 있습니다.
탐색 버튼
탐색 버튼 (뒤로, 다음)은 설문지 하단에 고정됩니다. 무한 스크롤 또는 페이지로 나눈 설문지의 마지막 페이지에서 다음 버튼은 제출이라는 라벨이 지정되어 있습니다.
버튼을 일관된 위치에 유지하고 뒤로 및 다음과 같이 작업 라벨이 지정된 활성 버튼을 항상 사용합니다.

양식이 불완전한 경우에도 항상 활성 버튼을 표시합니다. 다음을 탭하면 누락된 필드나 유효성 검사 오류를 완료하는 방법을 안내하는 팝업 대화상자가 표시됩니다.

비활성화된 버튼은 사용자가 문제 해결 방법을 알기 어렵게 만듭니다.

아이콘만 있는 버튼은 사용하지 마세요. 버튼에는 항상 설명 동작으로 라벨을 지정하세요.
질문 및 안내

- 설문지 제목입니다.
- 진행률 표시기
- 그룹 헤더입니다.
- 질문 제목입니다.
- 안내.
- 입력란입니다.
- 항목 형식입니다.
- 필수 입력란입니다.
- 도움말을 선택하세요.
그룹 헤더
그룹 헤더는 질문 제목 위에 표시되는 텍스트 헤더입니다.
그룹 헤더를 사용하여 비슷한 질문을 그룹화하세요. 유용한 정보를 추가할 때만 그룹 헤더를 사용하세요.

짧은 제목을 사용하여 비슷한 질문을 그룹화하세요. 예: 환자 내역과 관련된 모든 질문이 그룹화됩니다.

한 줄을 넘어 복잡한 제목이나 긴 제목은 사용하지 마세요.
질문 제목
질문 제목은 요청된 정보를 간결하게 설명합니다. 질문 제목은 페이지에서 가장 큰 글꼴 크기로 사용자의 눈길을 질문에 끌 수 있습니다.
모든 페이지나 질문에는 질문 제목이 있어야 합니다. 질문 제목은 짧게 유지하거나 질문으로 표현하세요.

짧은 제목을 사용하면 사용자가 더 쉽게 읽을 수 있습니다.

너무 긴 질문을 하거나 두 질문을 중첩하지 마세요.

사용자가 입력해야 하는 정보를 쉽게 알 수 있도록 질문 제목을 항상 포함합니다.
안내
안내는 질문 제목 아래에 표시되는 선택적 텍스트 입력란입니다.
instructions 필드를 사용하여 질문이 필요한지 여부, 선택할 수 있는 항목 수 (하나 또는 여러 개), 모든 정보를 작성하거나 질문에 답변할 수 없는 경우 사용자가 취해야 할 조치 등 관련 안내를 설명합니다.

안내 입력란을 사용하여 필수 질문인지 여부와 선택할 수 있는 질문 수를 알립니다.

안내를 사용하여 일부 입력란을 작성할 수 없는 등의 시나리오에 직면했을 때 취해야 할 조치를 사용자에게 안내합니다.

안내에 따라 질문 제목에 사용된 용어의 추가 맥락이나 정의를 제공합니다.
라벨 텍스트
라벨 텍스트는 텍스트 필드 또는 드롭다운에 필요한 정보를 사용자에게 알려줍니다. 필드가 선택되면 라벨 텍스트가 텍스트 필드의 중간에서 맨 위로 이동합니다.
모든 텍스트 입력란과 드롭다운 상자에는 라벨이 있어야 합니다. 라벨 텍스트는 짧고 명확해야 하며 전체 내용을 볼 수 있어야 합니다.

라벨 텍스트는 짧고 명확해야 하며 전체 내용이 표시되어야 합니다.

라벨 텍스트가 너무 길거나, 잘리거나, 여러 줄을 차지해서는 안 됩니다.

사용자가 어떤 정보를 입력해야 하는지 알 수 있도록 항상 텍스트 필드에 라벨을 지정하세요.
항목 형식
EntryFormat은 텍스트 필드 아래에 표시되어 입력해야 하는 특정 형식 데이터를 사용자에게 알립니다. 오류 메시지는 EntryFormat 필드에 표시되며 기존 EntryFormat 명령을 대체합니다.
날짜, 전화번호, 단위 및 정수에는 EntryFormat을 사용합니다.

필드 아래에 날짜 형식을 표시하고 설명 문구를 포함합니다.

데이터 형식을 표시하지 않으면 데이터가 잘못 입력될 수 있습니다.

의료 범위를 입력할 때는 정상 범위의 예를 제공하세요. 이렇게 하면 사용자가 범위를 벗어난 오류나 숫자를 포착하는 데 도움이 됩니다.
필수 입력란
필수 필드는 사용자가 필드를 작성해야 하며 필드가 완료될 때까지 진행되지 않도록 차단됩니다.
필수 필드를 표시하려면 질문 제목 끝에 별표 (*)를 표시합니다. 별표 (*)가 무엇을 나타내는지 모두가 명확하지는 않으므로 안내 필드에 '필수 질문'을 포함합니다. 질문 제목이 없으면 라벨 텍스트에 별표 (*)를 표시합니다.

필수 입력란에 별표 (*)를 표시하고 `필수 질문`을 나타내는 서면 안내를 포함합니다.별표(*)가 무엇을 의미하는지 잘 모르는 경우가 많으므로 설명이 도움이 될 수 있습니다.

별표(*)의 의미에 대한 서면 설명 없이 별표(*)만 표시하지 않습니다.

사용자에게 가장 익숙한 용어를 사용하세요. 예를 들어 'Mandatory'는 더 익숙한 용어이며 일부 국가에서는 'Required' 대신에 사용될 수 있습니다.

대부분의 질문이 필수인 경우 대신 선택사항인 질문을 표시하세요.

질문 제목이 없는 경우 라벨 텍스트에 별표를 표시합니다.
도움말
질문 제목 옆에 도움말 아이콘이 표시됩니다. 아이콘을 탭하면 추가 정보가 포함된 도움말 정보 상자가 나타납니다. 아이콘을 다시 탭하면 도움말 정보 상자가 닫힙니다.
선택사항입니다. 항상 표시할 필요는 없는 추가 정보를 표시하는 데 도움이 되는 경우에만 사용합니다.

사용자가 한 번만 확인해야 하는 정보나 추가 정보를 제공하는 정보가 필요한 경우 도움말을 사용하세요.

모든 사용자에게 표시되어야 하는 도움말 상자 안에 안내를 숨기지 마세요.
데이터 캡처

어떤 구성요소를 사용해야 하나요?
데이터 입력 유형 | 부울 선택 | 1개 선택 | 객관식 | 선택지 | 드롭다운 | 날짜 선택 도구 | 텍스트 입력란 | 슬라이더 | 자동 완성 |
---|---|---|---|---|---|---|---|---|---|
'예' 또는 '아니요'를 선택하세요. | |||||||||
한 가지 옵션 선택 | 주의사항 |
||||||||
여러 옵션 선택 | 주의사항 |
||||||||
텍스트 | |||||||||
날짜 | |||||||||
숫자 | 주의사항 |
입력란
텍스트 필드는 사용자가 정보를 입력할 수 있음을 나타냅니다.
사용자가 설문지에 이름, 전화번호, 주소와 같은 텍스트를 입력해야 하는 경우 텍스트 필드를 사용합니다. 미리 채워진 선택 항목(객관식 또는 단일 선택)을 대신 사용할 수 있는 경우 텍스트 (키보드) 입력이 필요한 데이터 입력을 제한합니다.

고유한 단어나 숫자를 입력해야 하는 데이터 입력에는 텍스트 필드를 사용합니다.

자유 텍스트 응답이 복수 선택, 드롭다운 또는 단일 선택 선택이 될 수 있는 경우에는 사용하지 마세요.
단일 선택 및 불리언 선택
단일 선택 및 불리언 선택은 사용자에게 옵션 중 하나를 선택하라는 메시지가 표시될 때 라디오 버튼으로 표시되는 선택 컨트롤입니다.
'예' 또는 '아니요'의 바이너리 선택이 있는 경우 boolean choice을 사용합니다. 그렇지 않으면 단일 선택 구성요소를 사용합니다. 목록에 옵션이 10개를 초과하면 단일 선택 항목 대신 드롭다운을 사용합니다. 드롭다운은 옵션이 많을 때 더 조밀하고 탐색하기 쉽습니다.

옵션이 '예' 및 '아니요'인 경우 불리언 선택을 사용합니다.

사용자가 목록에서 하나의 옵션을 선택할 수 있는 경우 단일 선택을 사용합니다.

매우 긴 목록 (10개 이상)에는 한 가지만 선택하지 마세요. 대신 드롭다운을 사용하세요.
날짜 선택 도구
날짜 선택 도구를 사용하면 사용자가 캘린더 날짜 선택기와 키보드를 통해 날짜를 입력할 수 있습니다. 캘린더 아이콘을 탭하면 캘린더 날짜 선택 도구가 활성화됩니다.
마지막 생리 기간 또는 다음 방문 등 오늘 날짜에 가까운 날짜에만 캘린더 날짜 선택 도구를 사용하세요. 그렇지 않으면 생일과 같은 날짜에 키보드 입력을 우선시합니다.

날짜를 입력하려면 키보드 입력 (텍스트 상자 탭하기)과 캘린더 날짜 선택도구 (아이콘 탭하기)를 모두 사용 설정합니다.

캘린더 날짜 선택 도구를 생년월일의 유일한 입력 방법으로 사용하지 마세요. 연도와 월을 확인하는 것은 쉽지 않습니다.
드롭다운
드롭다운 메뉴를 사용하면 사용자가 여러 옵션 중에서 선택할 수 있습니다. 사용자가 입력을 시작하면 입력한 내용을 기반으로 옵션이 필터링됩니다. 이렇게 하면 사용자가 긴 목록에서 적절한 옵션을 빠르게 찾을 수 있습니다.
드롭다운 메뉴는 옵션 목록이 매우 길 때 (10개 이상의 옵션) 공간을 덜 차지하므로 단일 선택 대신 훌륭한 대안입니다.

매우 긴 옵션 목록에서 하나의 옵션(예: 주 또는 도시 선택)을 선택할 때 드롭다운을 사용합니다.

나이와 같은 모든 옵션을 스크롤하는 것보다 콘텐츠를 입력하는 것이 더 쉬울 때는 드롭다운을 사용하지 않습니다.
객관식
객관식은 사용자가 옵션 목록에서 여러 섹션을 만들 수 있는 경우 체크박스로 표시되는 선택 컨트롤입니다.
사용자가 미리 정의된 옵션 목록에서만 선택할 수 있는 경우 다중 선택을 사용합니다. 사용자가 직접 자유 응답도 추가할 수 있는 경우에는 Open Choice 구성요소를 사용하세요. 사용자가 여러 옵션을 선택할 수 있음을 알 수 있도록 instructions 필드에 '해당하는 항목 모두 선택'을 입력합니다.

기본 모양은 체크박스 주위의 컨테이너로, 탭할 수 있는 영역을 명확하게 표시합니다.

휴대전화 화면 크기와 텍스트 크기의 차이로 인해 텍스트가 잘릴 수 있으므로 한 행에 여러 옵션을 표시하지 마세요.
선택지
개방형 선택은 객관식 선택과 유사하지만 사용자가 기타를 선택하고 자유 텍스트를 입력할 수 있는 기능을 추가합니다.
사전 설정된 옵션 목록이 있지만 사용자가 추가 옵션을 추가할 수도 있는 경우 Open Choices를 사용합니다. 대부분의 옵션이 알려진 경우 주관식 선택을 사용합니다. 하지만 제공된 옵션 중 어느 것도 적용되지 않으므로 일부 사용자가 기타를 선택할 것으로 예상됩니다.

정확한 데이터를 수집하는 것이 중요하고 사전 정의된 옵션이 적용되지 않는 경우에 사용합니다. 예: 직업

대부분의 응답에서 기타를 선택해야 하는 경우에는 사용하지 마세요. 이러한 경우에는 텍스트 필드 또는 단락 필드를 대신 사용하세요.
슬라이더
슬라이더를 사용하면 사용자가 값 범위에서 선택할 수 있습니다. Android FHIR SDK의 슬라이더는 개별 슬라이더입니다. 불연속 슬라이더를 사용하면 사용자가 미리 정해진 범위에서 특정 값을 선택할 수 있습니다. 눈금 표시는 사용 가능한 값을 나타내는 데 사용할 수 있습니다. 숫자 데이터 입력에는 슬라이더를 사용하지 않습니다. 대신 텍스트 필드 또는 드롭다운 메뉴를 사용하세요.

범위가 큰 경우 특정 값에 슬라이더를 사용하지 않습니다. 대신 키보드 입력이 있는 텍스트 필드를 사용하세요.
데이터 유효성 검사 및 오류
데이터 검증
데이터 유효성 검사는 데이터 유형 또는 텍스트 필드에 입력할 수 있는 값을 제한합니다. 데이터 검증은 수집된 데이터의 품질을 개선할 수 있습니다.
형식 또는 값 제한사항을 표시하려면 EntryFormat 필드를 사용합니다. 사용자가 오류를 수정할 수 있도록 의미 있는 데이터 유효성 검사 오류 메시지를 인라인으로 즉시 표시합니다.

사용자가 데이터 입력 방법을 알 수 있도록 데이터 검증 제한사항을 미리 표시합니다.

전화번호의 자릿수를 표시하지 않으면 사용자에게 오류가 발생할 수 있으며 완료하는 데 시간이 더 오래 걸립니다.

필드를 완료한 직후에 의미 있는 데이터 유효성 검사 오류를 표시합니다. 오류 메시지는 기존 항목 형식 텍스트를 대체합니다.

사용자가 '제출'을 누를 때까지 기다리지 말고 처음으로 유효성 검사 오류를 표시합니다.
오류
오류 메시지는 사용자에게 문제가 발생했을 때 이를 알리고 문제 해결 방법을 전달합니다.
색상, 아이콘, 텍스트를 사용해 오류를 전달합니다.

오류가 발생한 이유 (필수 질문)와 해결을 위해 취할 수 있는 조치 (하나만 선택)를 설명합니다.

'error'만 표시된 오류 메시지는 사용자가 오류 해결 방법을 파악하는 데 도움이 되지 않습니다.

예: '날짜 형식이 잘못되었습니다. 형식은 dd/mm/yyyy여야 합니다.

'나'가 포함된 오류 메시지로 사용자를 비난하지 마세요(예: '잘못된 날짜 형식을 입력함').

색상, 아이콘, 텍스트를 사용하여 사용자에게 오류가 있음을 알립니다.

적록색 색맹과 같은 일반적인 시각 장애를 지원하려면 색상에만 의존하여 오류를 전달하지 마세요.

하나의 아이콘만으로도 충분한 경우가 많습니다. 오류를 전달하기 위해 아이콘을 과도하게 사용하면 안 됩니다.