개요

앱의 건강 메뉴 전체를 가리킴. 복약 관리, 건강생활정보, 체중·신장, 혈압, 비상연락처, 비상호출, LH안심서비스로 나뉨.

입주 승인이 끝난 세대만 쓸 수 있음. 전출·세대원 제외 상태면 메뉴가 통째로 막힘(공개노트/기능/로그인과 세대 승인). API 경로·테이블은 공개노트/개발/모듈/MAW 세대·헬스케어 API.

복약 관리

무엇을 하는가

복용 중인 약을 등록하고, 복용 시각에 알림을 받을 가족을 지정하고, 먹었는지 기록함.

  • 약 하나에 복용 시각을 최대 10개까지 넣음
  • 알림 대상 가족은 최대 10명임. “가족 전체”를 고르면 가족 목록에서 앞에서 10명까지만 채워짐. 11명째부터는 버려짐
  • 복용 요일은 선택한 요일 코드를 정렬해 저장함
  • 복약 기록은 같은 약·같은 날짜면 덮어씀. 하루에 두 번 기록해도 행이 하나임

복약 알림은 앱 서버가 보내지 않음

앱 서버(MAW)는 약 등록과 복용 기록만 함. 실제 알림 발송은 스케줄러 서버가 하므로, “복약 알림이 안 와요”는 앱 서버 로그로 확인할 수 없음. 공개노트/개발/push 알림 · 공개노트/개발/모듈/SCW 스케줄러 서버

알아둘 점

  • 약을 지워도 복용 기록은 남음. 지우지 않고 두는 것이 현재 동작이라 통계가 어긋나 보일 수 있음
  • 가족 이름이 비어 보이면 그 사람이 현재 가족 목록에 없는 것임(전출·탈퇴 등)
  • 캘린더 검색에서 시작일·종료일을 비우면 조회 결과의 마지막 건을 기준으로 범위를 잡음. 데이터에 따라 결과가 크게 달라짐
  • 등록된 약이 많으면 목록이 느려짐(약마다 추가 조회가 붙는 구조임)

건강생활정보

건강정보·보건소소식·복지관소식 링크 목록임. 단지 지정이 없는 정보는 전 단지 공통으로 보임.

  • 유형 표기는 건강정보·보건소소식 두 가지만 이름이 정해져 있고 그 밖의 값은 전부 “복지관소식”으로 보임
  • 페이징이 없음. 공통 정보가 쌓이면 목록 응답이 계속 커짐
  • 링크 주소는 검증 없이 그대로 내려감

체중·혈압 기록

V1과 V2가 서로 다른 곳에 저장됨

체중·신장과 혈압은 구 버전(V1) API와 신 버전(V2) API가 저장 테이블부터 다름. 앱 버전에 따라 어느 쪽을 쓰는지 갈림.

“기록이 사라졌어요”의 1순위 원인임. 앱 업데이트 전후로 이력이 갈릴 수 있음. 문의가 오면 앱 버전을 먼저 물을 것. 다만 목표 체중만은 V1·V2가 같은 곳에 저장되므로 목표값은 그대로 보임.

입력 규칙

  • V1 체중 등록은 신장과 체중이 둘 다 있어야 함. 하나만 보내면 저장되지 않음
  • V1 혈압 등록은 최고혈압·최저혈압·맥박·복약여부 4개가 모두 있어야 함
  • V2는 기록 번호를 함께 보내면 수정, 없으면 신규임
  • V2 삭제는 등록한 본인만 가능함

화면 문구와 어긋나 보이는 것

  • V2 혈압 목록의 “최고/최저”는 마지막 측정값이 아니라 전체 기록 중의 최댓값·최솟값임. 화면이 “최근 혈압”처럼 보여 주면 값이 안 맞아 보임
  • V2 혈압 목록은 기록이 0건이면 오류 화면처럼 보일 수 있음(공통 응답 형식이 아닌 404가 나감). 장애가 아니라 기록이 없는 것임
  • V2 체중 목록도 기록이 없거나 목표 체중이 없으면 오류로 떨어짐
  • 혈압 수치는 문자로 저장돼 있어 숫자가 아닌 값이 들어가면 조회가 오류가 됨

비상연락처와 OTP 인증

무엇을 하는가

위급 시 연락할 번호를 등록함. 새 번호는 문자로 받은 6자리 인증번호를 통과해야만 저장됨.

  1. 번호를 입력하고 인증번호 발송을 요청함
  2. 문자로 6자리 인증번호가 옴 — 유효시간 3분(180초)
  3. 인증번호를 넣고 저장하면 등록됨
  • 이미 등록된 번호는 인증 없이 통과함. 새로 추가되는 번호만 인증 대상임
  • 여러 개를 한 번에 저장할 때 하나라도 인증에 실패하면 전부 저장되지 않음
  • 한 번 쓴 인증번호는 재사용할 수 없음

발송·입력 제한

제한
재발송 대기60초
같은 번호로 발송10분에 5회, 하루 20회
같은 사용자가 발송10분에 10회, 하루 30회
인증번호 입력 실패5회면 잠김. 다시 발송받아야 함

운영 응대

입주민 말원인안내
인증번호가 안 와요발송 한도 초과 또는 문자 발송 실패60초 뒤 재시도, 그래도 안 오면 고객센터 접수
인증번호가 틀리대요3분이 지났거나 오타다시 발송받아 3분 안에 입력
자꾸 “잠시 후 다시” 라고 떠요재발송 대기 60초 또는 하루 한도시간을 두고 재시도
5번 틀렸더니 안 돼요입력 실패 5회로 잠김인증번호를 새로 발송받을 것
번호를 바꾸고 싶어요수정 기능이 없음기존 번호를 지우고 새로 등록. 이때 인증을 다시 받아야 함
  • 화면에는 오류 문구만 뜨고 HTTP는 정상 응답임. 앱이 문구로 안내함
  • 같은 번호를 두 번 등록할 수 없음(번호가 키의 일부임)
  • Redis가 죽으면 인증번호 발송·검증이 전부 실패함
  • 문자가 안 갔을 때 앱 서버가 사유를 남기지 않음. 원인은 문자 발송 서버 쪽에서 확인해야 함 → 공개노트/개발/모듈/SMS 발송

비상호출

앱에서 비상 버튼을 누르면 앱 서버가 관제(APW)로 이벤트를 올리기만 함. 앱 서버 DB에는 아무것도 저장하지 않음.

  • 실제 알림·출동은 관제 쪽 로직임 → 공개노트/개발/모듈/APW 연계 서버
  • 관제에는 전달됐는데 앱에는 실패로 보일 수 있음(응답을 못 받으면 오류 처리함). “눌렀는데 오류가 떴다”는 문의는 관제 쪽 접수 여부를 함께 확인할 것
  • 이벤트 코드는 SF005 고정임

방범 경보·비상호출 알림이 문자로 가는 경로는 기본매뉴얼/입주민/알림이 안 와요 참고.

LH안심서비스와 헬스체크

  • 비상콜 사용 여부, LH안심 사용 여부, 확인 주기, 안내 문구(100자)를 설정함
  • 빈칸으로 값을 지울 수 없음. 해제하려면 "N" 같은 명시적인 값을 보내야 함. 빈 문자열은 무시됨
  • 최종 수정 시각이 남지 않음. “언제 바뀌었냐”는 질문에 답할 수 있는 값이 없음
  • 설정한 적이 없는 사용자는 조회 결과가 비어 있음(오류 아님)
  • 헬스체크(앱이 살아 있음을 서버에 남기는 것)는 호출할 때마다 이력이 1행씩 쌓임. 정리 배치가 없어 계속 커짐

알려진 문제

증상원인조치
기록이 사라짐앱 버전에 따라 V1·V2 저장 위치가 다름앱 버전 확인 후 개발 담당자에게 전달
V2 혈압의 최고/최저가 이상함최근값이 아니라 전체 최댓값·최솟값임의도된 계산이라 안내
혈압·체중 목록에서 오류기록 0건 또는 목표 체중 없음값을 하나 등록하면 풀림
복약 알림이 안 옴발송 주체가 앱 서버가 아님공개노트/개발/push 알림 절차를 따름
남의 복약 기록이 보임복약 기록 조회·삭제에 소유자 검증이 없음개발 담당자에게 전달. 공개노트/개발/모듈/MAW 앱 API 서버 “알려진 이슈”
비상연락처 번호 변경 불가수정 API 자체가 없음삭제 후 재등록(인증 다시)

관련

공개노트/개발/모듈/MAW 세대·헬스케어 API 공개노트/개발/모듈/MAW 앱 API 서버 공개노트/개발/push 알림 공개노트/개발/모듈/SMS 발송 공개노트/개발/모듈/SCW 스케줄러 서버 공개노트/개발/모듈/APW 연계 서버 공개노트/기능/로그인과 세대 승인 기본매뉴얼/입주민/알림이 안 와요