Appearance
healthcare
병원 검색
GET
/healthcare/hospitals
지역·종별·진료과목·병원명으로 검색한다. 응급실 운영, 달빛어린이병원 필터도 있다.
Request
🔒 Bearer 인증 필요 · 인증 방법GET
/healthcare/hospitalsQuery Parameters
| Name | Type | Required | Constraints | Description |
|---|---|---|---|---|
page | number | - | default 1 | 페이지 번호 |
size | number | - | min 1 · max 100 · default 20 | 페이지 크기 |
region | string | - | 시군구 코드. /healthcare/meta/regions 참조 | |
category | string | - | 종별 코드. 쉼표로 여러 개(OR). /healthcare/meta/classes 참조. | |
tier | string | - | 병원 등급. TIER1(의원급) | TIER2(병원급) | TIER3(상급종합) | NURSING | MENTAL. 쉼표로 여러 개(OR). **비워두면 NURSING·MENTAL 이 빠진다** — 장기 입원 시설이라 외래 검색에 섞이면 방해다. `tier=NURSING` 으로 지정하면 나온다. /healthcare/meta/tiers 참조. | |
subject | string | - | 진료과목 코드. 쉼표로 여러 개(OR). /healthcare/meta/subjects 참조. 진료 분야 그룹(치과·한방 등)은 /healthcare/meta/subject-groups 에서 받아 **코드로 펼쳐서** 넘긴다. 이 API 는 그룹을 모른다. | |
name | string | - | 병원명 (부분 일치) | |
emergency | string | - | 응급실 운영 병원만 | |
baby | string | - | 달빛어린이병원만 (야간·휴일 소아진료) |
Response
200
PageResponse
| Field | Type | Required | Description |
|---|---|---|---|
items | HospitalSummary[] | 필수 | |
page | number | 필수 | 현재 페이지 번호 |
size | number | 필수 | 페이지 크기 |
totalCount | number | 필수 | 전체 항목 수 |
totalPages | number | 필수 | 전체 페이지 수 |
HospitalSummary
| Field | Type | Required | Description |
|---|---|---|---|
id | number | 필수 | 통합 병원 id |
name | string | 필수 | |
category | Code | - | 종별. 의원·종합병원·치과의원 … |
└─code | string | 필수 | |
└─name | string | 필수 | |
tier | Code | - | 병원 등급. TIER1(의원급) | TIER2(병원급) | TIER3(상급종합) | NURSING | MENTAL. 종별에서 유도한 값이다 — 의료법이 병상 수로 종별을 규정하므로 등급이 종별에 이미 들어 있다. |
└─code | string | 필수 | |
└─name | string | 필수 | |
location | Location | 필수 | |
└─station | string | - | 가장 가까운 지하철역. 교통정보의 첫 지하철 항목에서 뽑는다. **거리는 따지지 않는다** — 원본이 거리("500m")와 소요시간("도보 5분")을 같은 칸에 섞어 쓰고 비워두기도 해서, 걸러내면 멀쩡한 역세권 병원이 대거 빠진다. 정확한 거리는 상세의 transport 를 봐라. |
└─address | string | - | |
└─postNo | string | - | |
└─region | Region | - | |
└─code | string | 필수 | |
└─name | string | 필수 | |
└─sido | Code | - | 시도 |
└─code | string | 필수 | |
└─name | string | 필수 | |
└─emdong | string | - | 읍면동. 코드가 없어 이름 그대로다. |
└─lat | number | - | |
└─lon | number | - | |
tel | string | - | |
emergency | boolean | 필수 | 응급실 운영 |
baby | boolean | 필수 | 달빛어린이병원 (야간·휴일 소아진료) |
병원 상세
GET
/healthcare/hospitals/{id}
진료과목·진료시간·인력·병상·장비·역량을 함께 반환한다. 진료시간은 kind 로 갈린다 — general(일반)과 baby(달빛어린이)는 시간대가 다르다.
Request
🔒 Bearer 인증 필요 · 인증 방법GET
/healthcare/hospitals/{id}Path Parameters
| Name | Type | Required | Constraints | Description |
|---|---|---|---|---|
id | number | 필수 | 통합 병원 id |
Response
200
HospitalDetail
| Field | Type | Required | Description |
|---|---|---|---|
id | number | 필수 | 통합 병원 id |
name | string | 필수 | |
category | Code | - | 종별. 의원·종합병원·치과의원 … |
tier | Code | - | 병원 등급. TIER1(의원급) | TIER2(병원급) | TIER3(상급종합) | NURSING | MENTAL. 종별에서 유도한 값이다 — 의료법이 병상 수로 종별을 규정하므로 등급이 종별에 이미 들어 있다. |
location | Location | 필수 | |
tel | string | - | |
emergency | boolean | 필수 | 응급실 운영 |
baby | boolean | 필수 | 달빛어린이병원 (야간·휴일 소아진료) |
sources | Sources | 필수 | |
homepage | string | - | |
establishedAt | string | - | 개설일자 (YYYYMMDD) |
intro | string | - | 병원 소개·진료 안내 |
notice | string | - | 기타 안내. **구조화된 진료시간이 못 담는 예외**가 자유 텍스트로 온다 — "접수시간: 평일 08:30~17:00", "신정·구정·추석 당일 휴진" 등. |
directions | string | - | 찾아오는 길. 병원이 쓴 문장이다. transport 와 별개다 |
transport | Transport | 필수 | 교통편. 없으면 빈 목록이 담긴 객체다 |
parking | Parking | - | |
subjects | Subject[] | 필수 | |
hours | Hours[] | 필수 | |
staff | Staff | - | |
beds | Beds | - | 규모기관만 있다 |
equipments | Equipment[] | 필수 | |
capabilities | Capability[] | 필수 |
Code
| Field | Type | Required | Description |
|---|---|---|---|
code | string | 필수 | |
name | string | 필수 |
Location
| Field | Type | Required | Description |
|---|---|---|---|
station | string | - | 가장 가까운 지하철역. 교통정보의 첫 지하철 항목에서 뽑는다. **거리는 따지지 않는다** — 원본이 거리("500m")와 소요시간("도보 5분")을 같은 칸에 섞어 쓰고 비워두기도 해서, 걸러내면 멀쩡한 역세권 병원이 대거 빠진다. 정확한 거리는 상세의 transport 를 봐라. |
address | string | - | |
postNo | string | - | |
region | Region | - | |
└─code | string | 필수 | |
└─name | string | 필수 | |
└─sido | Code | - | 시도 |
└─code | string | 필수 | |
└─name | string | 필수 | |
└─emdong | string | - | 읍면동. 코드가 없어 이름 그대로다. |
lat | number | - | |
lon | number | - |
Sources
| Field | Type | Required | Description |
|---|---|---|---|
ykiho | string | - | HIRA 요양기호. 원본을 직접 확인할 때만 쓴다. |
hpid | string | - | NMC 기관ID |
Transport
| Field | Type | Required | Description |
|---|---|---|---|
subway | TransportRoute[] | 필수 | |
└─kindName | string | - | 교통편 원문. 화면 표기에 쓴다 |
└─line | string | - | 노선. 여러 노선이 한 문자열로 오기도 한다 |
└─arrival | string | - | 하차지점 |
└─dir | string | - | 이름은 방향이지만 실제로는 이용 안내가 온다 |
└─distance | string | - | 거리 **또는 소요시간**. 단위가 제각각이라 계산하지 마라 |
└─note | string | - | |
bus | TransportRoute[] | 필수 | 시내·마을·시외/고속버스가 모두 들어온다. 구분은 kindName |
└─kindName | string | - | 교통편 원문. 화면 표기에 쓴다 |
└─line | string | - | 노선. 여러 노선이 한 문자열로 오기도 한다 |
└─arrival | string | - | 하차지점 |
└─dir | string | - | 이름은 방향이지만 실제로는 이용 안내가 온다 |
└─distance | string | - | 거리 **또는 소요시간**. 단위가 제각각이라 계산하지 마라 |
└─note | string | - | |
etc | TransportRoute[] | 필수 | 자가용·기차·기타. 대중교통이 아닌 것도 있다 |
└─kindName | string | - | 교통편 원문. 화면 표기에 쓴다 |
└─line | string | - | 노선. 여러 노선이 한 문자열로 오기도 한다 |
└─arrival | string | - | 하차지점 |
└─dir | string | - | 이름은 방향이지만 실제로는 이용 안내가 온다 |
└─distance | string | - | 거리 **또는 소요시간**. 단위가 제각각이라 계산하지 마라 |
└─note | string | - |
Parking
| Field | Type | Required | Description |
|---|---|---|---|
capacity | number | - | 주차 가능대수 |
paid | boolean | - | 유료 여부 |
note | string | - |
Subject
| Field | Type | Required | Description |
|---|---|---|---|
code | string | 필수 | |
name | string | 필수 | |
declared | boolean | 필수 | 신고한 과목인가. **진료과목** 판정 기준이다. |
doctorCount | number | - | 과목별 의사수. **겸직이 중복 계산된다. 합산하지 마라** — 총원은 staff.doctorTotal 이다. |
specialistCount | number | - | 과목별 전문의수. 0보다 크면 **표시과목**이다. 상세 수집이 끝난 병원만 값이 있다. |
Hours
| Field | Type | Required | Description |
|---|---|---|---|
kind | string | 필수 | general(일반 진료) | baby(달빛어린이). **시간대가 다르다** — 달빛은 야간에 소아만 받는다. |
day | number | 필수 | 1~7 = 월~일, 8 = 공휴일 |
open | string | - | |
close | string | - | |
breakStart | string | - | |
breakEnd | string | - |
Staff
| Field | Type | Required | Description |
|---|---|---|---|
doctorTotal | number | - | 총 의사수. 중복 없는 실제 인원이다. |
specialist | number | - | |
resident | number | - | |
intern | number | - | |
generalDoctor | number | - | |
dentist | number | - | |
oriental | number | - | |
midwife | number | - |
Beds
| Field | Type | Required | Description |
|---|---|---|---|
total | number | - | 허가 병상수 |
standard | number | - | |
higher | number | - | |
icu | number | - | 중환자실 |
emergency | number | - | 응급실 병상 |
operatingRoom | number | - | |
delivery | number | - | |
neonatal | number | - | |
isolation | number | - | 음압 격리 |
psyOpen | number | - | |
psyClosed | number | - |
Equipment
| Field | Type | Required | Description |
|---|---|---|---|
code | string | 필수 | |
name | string | 필수 | |
count | number | - | 보유 대수 |
Capability
| Field | Type | Required | Description |
|---|---|---|---|
type | string | 필수 | severe(중증처치) | specialty(전문병원) | special(특수진료) |
code | string | 필수 | |
name | string | - |