본문으로 건너뛰기
버전: 0.68.0

환자 API 개요

참고: 이 문서에 설명된 모든 API는 dta-wir-medi-api 애플리케이션에 구현되어 있습니다. (Go)

논의 사항

1. Domain 구조 정리

현재 상황:

  • 현재 API 문서는 patient 도메인으로 분리되어 있습니다.
  • Patient 관련 API는 여러 하위 기능(액세스 코드, 메모, 의무 등록 번호 등)으로 구성되어 있습니다.

결정 필요 사항:

  1. 도메인 분류 방식

    • 현재의 patient 도메인 분류를 유지할 것인가?
    • API 경로(path) 기준으로 도메인을 재구성할 것인가?
  2. 문서 세분화 수준

    • patient 관련 API를 단일 문서에 모두 작성할 것인가?
    • patient-memo, patient-accesscode 등 하위 경로(path)별로 별도 문서로 분리할 것인가?

2. Error Response 형식 통일

dta-wir-medi-api (Go)와 dta-wide-api (TypeScript)의 에러 응답 형식이 다릅니다.

Go 버전 (dta-wir-medi-api) - 현재 구조

{
"status": 400,
"code": 40000,
"message": "유효하지 않은 전화번호 형식입니다."
}

TypeScript 버전 (dta-wi-medi-api)

{
"status": 401,
"code": 1080,
"message": "UNAUTHORIZED",
"detail": "{\"displayText\":\"No token found in Authorization header\"}"
}
  1. 두 API 서버의 에러 응답 형식을 통일할 것인가? 통일한다면 기존 클라이언트도 수정할 것인가?

문서 업데이트:

  • 위 논의 결과에 따라 각 API 문서의 에러 응답 섹션을 업데이트해야 합니다.

개요

환자 API는 환자 정보 관리, 액세스 코드 발급, 환자 리포트 조회, 의무 등록 번호 관리 등을 담당하는 API 집합입니다.

환자 API 목록

환자 조회 API

API 엔드포인트메서드설명문서
/v1/patientsGET환자 목록 조회상세보기
/v1/patients/user-cycles/{userCycleId}/reportsGET환자 리포트 조회상세보기
/v1/patients/user-cycles/{userCycleId}/reports/externalGET외부 토큰으로 환자 리포트 조회상세보기
/v1/patients/registrationsGET등록 목록 조회상세보기

액세스 코드 관리 API

API 엔드포인트메서드설명문서
/v1/accesscodesPOST액세스 코드 생성상세보기
/v1/accesscodes/notificationPOST액세스 코드 생성 및 알림 전송상세보기
/v1/patients/accesscodes/{accesscodeId}/statusPATCH액세스 코드 상태 업데이트상세보기

의무 등록 번호 관리 API

API 엔드포인트메서드설명문서
/v1/medical-registration-numberPOST의무 등록 번호 생성상세보기
/v1/patients/user-cycles/{userCycleId}/medical-registration-numberPATCH환자 의무 등록 번호 업데이트상세보기
/v1/patients/medical-registration-number/{medicalRegistrationNumberId}/statusPATCH의무 등록 번호 상태 업데이트상세보기

환자 메모 관리 API

API 엔드포인트메서드설명문서
/v1/patients/user-cycles/{userCycleId}/memoPUT환자 메모 업데이트상세보기

인증 요구 사항

대부분의 환자 API는 유효한 JWT 액세스 토큰이 필요합니다.

request header
Authorization: Bearer {access_token}

예외:

  • 외부 토큰으로 환자 리포트 조회 API (/v1/patients/user-cycles/{userCycleId}/reports/external)는 별도의 외부 액세스 토큰을 쿼리 파라미터로 전달합니다.