Appearance
건강보험심사평가원 원본
건강보험심사평가원(HIRA) 등록 병원 API입니다. 병원 목록 조회와 요양기관기호(ykiho) 기반 상세 조회를 제공합니다.
접근 권한 안내
이 데이터는 정부데이터 원본(공공데이터포털)을 캐싱한 자료입니다. 현재는 공개되어 있으나, 추후 허가받은 사용자만 접근할 수 있도록 제한될 예정입니다.
특징
- 공공데이터포털의 데이터를 빠르게 접근할 수 있습니다.
- 필터 조건을 세분화하고 검색 성능을 개선했습니다.
데이터 출처
- 건강보험심사평가원(HIRA)에 등록된 정보입니다. — https://www.hira.or.kr
- 대한민국 공공데이터포털에서 제공한 원본 데이터를 캐싱하여 제공합니다.
- 원본 데이터포털과 하루 한 번 재동기화됩니다.
데이터 정확성
데이터가 잘못된 경우, 원본 제공처(건강보험심사평가원 또는 공공데이터포털)의 원본 데이터 오류일 수 있습니다.
TIP
값이 없는(null) 필드는 응답에서 생략됩니다.
병원 목록 조회
GET
/data-go-kr/hira/hospitals
로컬 DB 에 미러링한 HIRA 병원 목록. 응답 구조는 원본 API 와 동일하다.
Request
🔒 Bearer 인증 필요 · 인증 방법GET
/data-go-kr/hira/hospitalsQuery Parameters
| Name | Type | Required | Constraints | Description |
|---|---|---|---|---|
page | number | optional | default 1 | 페이지 번호 |
size | number | optional | min 1 · max 100 · default 20 | 페이지 크기 |
Response
200
HiraHospitalListResponse
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
response | HiraHospitalListResult | optional |
HiraHospitalListResult
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
header | HiraResultHeader | optional | ||
↳resultCode | string | optional | 결과코드 (정상: 00) | |
↳resultMsg | string | optional | 결과메시지 | |
body | HiraHospitalListBody | optional | ||
↳numOfRows | integer | optional | 한 페이지 결과 수 | |
↳pageNo | integer | optional | 현재 페이지 번호 | |
↳totalCount | integer | optional | 전체 결과 수 | |
↳items | HiraHospitalListItems | optional | ||
↳item | HiraHospitalItem[] | optional | ||
↳ykiho | string | optional | 암호화된 요양기호. 상세정보 조회(MadmDtlInfoService2.8)의 키다. | |
↳yadmNm | string | optional | 병원명 | |
↳clCd | string | optional | 종별코드 | |
↳clCdNm | string | optional | 종별코드명 (예: 상급종합) | |
↳sidoCd | string | optional | 시도코드 | |
↳sidoCdNm | string | optional | 시도명 | |
↳sgguCd | string | optional | 시군구코드 | |
↳sgguCdNm | string | optional | 시군구명 | |
↳emdongNm | string | optional | 읍면동명 | |
↳postNo | string | optional | 우편번호 | |
↳addr | string | optional | 주소 | |
↳telno | string | optional | 전화번호 | |
↳hospUrl | string | optional | 홈페이지 | |
↳estbDd | string | optional | 개설일자 (YYYYMMDD) | |
↳drTotCnt | integer | optional | 의사총수 | |
↳mdeptGdrCnt | integer | optional | 의과일반의 인원수 | |
↳mdeptIntnCnt | integer | optional | 의과인턴 인원수 | |
↳mdeptResdntCnt | integer | optional | 의과레지던트 인원수 | |
↳mdeptSdrCnt | integer | optional | 의과전문의 인원수 | |
↳detyGdrCnt | integer | optional | 치과일반의 인원수 | |
↳detyIntnCnt | integer | optional | 치과인턴 인원수 | |
↳detyResdntCnt | integer | optional | 치과레지던트 인원수 | |
↳detySdrCnt | integer | optional | 치과전문의 인원수 | |
↳cmdcGdrCnt | integer | optional | 한방일반의 인원수 | |
↳cmdcIntnCnt | integer | optional | 한방인턴 인원수 | |
↳cmdcResdntCnt | integer | optional | 한방레지던트 인원수 | |
↳cmdcSdrCnt | integer | optional | 한방전문의 인원수 | |
↳pnursCnt | integer | optional | 공식 가이드(2021)에 없는 필드. 값이 대부분 0 이고 드물게 한 자릿수인 것으로 보아 전문간호사 수로 추정된다. | |
↳XPos | string | optional | x좌표 (경도). 대문자 X 로 시작한다. | |
↳YPos | string | optional | y좌표 (위도). 대문자 Y 로 시작한다. | |
↳distance | string | optional | 거리(m). xPos/yPos/radius 로 반경 검색했을 때만 온다. |
병원 상세 조회
GET
/data-go-kr/hira/hospitals/{ykiho}
암호화된 요양기호로 1건 조회. 없으면 items 가 빈 배열이고 totalCount 가 0 이다.
Request
🔒 Bearer 인증 필요 · 인증 방법GET
/data-go-kr/hira/hospitals/{ykiho}Path Parameters
| Name | Type | Required | Constraints | Description |
|---|---|---|---|---|
ykiho | string | required | 암호화된 요양기호. 목록 응답의 ykiho 를 그대로 쓴다. |
Response
200
HiraHospitalListResponse
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
response | HiraHospitalListResult | optional |
HiraHospitalListResult
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
header | HiraResultHeader | optional | ||
↳resultCode | string | optional | 결과코드 (정상: 00) | |
↳resultMsg | string | optional | 결과메시지 | |
body | HiraHospitalListBody | optional | ||
↳numOfRows | integer | optional | 한 페이지 결과 수 | |
↳pageNo | integer | optional | 현재 페이지 번호 | |
↳totalCount | integer | optional | 전체 결과 수 | |
↳items | HiraHospitalListItems | optional | ||
↳item | HiraHospitalItem[] | optional | ||
↳ykiho | string | optional | 암호화된 요양기호. 상세정보 조회(MadmDtlInfoService2.8)의 키다. | |
↳yadmNm | string | optional | 병원명 | |
↳clCd | string | optional | 종별코드 | |
↳clCdNm | string | optional | 종별코드명 (예: 상급종합) | |
↳sidoCd | string | optional | 시도코드 | |
↳sidoCdNm | string | optional | 시도명 | |
↳sgguCd | string | optional | 시군구코드 | |
↳sgguCdNm | string | optional | 시군구명 | |
↳emdongNm | string | optional | 읍면동명 | |
↳postNo | string | optional | 우편번호 | |
↳addr | string | optional | 주소 | |
↳telno | string | optional | 전화번호 | |
↳hospUrl | string | optional | 홈페이지 | |
↳estbDd | string | optional | 개설일자 (YYYYMMDD) | |
↳drTotCnt | integer | optional | 의사총수 | |
↳mdeptGdrCnt | integer | optional | 의과일반의 인원수 | |
↳mdeptIntnCnt | integer | optional | 의과인턴 인원수 | |
↳mdeptResdntCnt | integer | optional | 의과레지던트 인원수 | |
↳mdeptSdrCnt | integer | optional | 의과전문의 인원수 | |
↳detyGdrCnt | integer | optional | 치과일반의 인원수 | |
↳detyIntnCnt | integer | optional | 치과인턴 인원수 | |
↳detyResdntCnt | integer | optional | 치과레지던트 인원수 | |
↳detySdrCnt | integer | optional | 치과전문의 인원수 | |
↳cmdcGdrCnt | integer | optional | 한방일반의 인원수 | |
↳cmdcIntnCnt | integer | optional | 한방인턴 인원수 | |
↳cmdcResdntCnt | integer | optional | 한방레지던트 인원수 | |
↳cmdcSdrCnt | integer | optional | 한방전문의 인원수 | |
↳pnursCnt | integer | optional | 공식 가이드(2021)에 없는 필드. 값이 대부분 0 이고 드물게 한 자릿수인 것으로 보아 전문간호사 수로 추정된다. | |
↳XPos | string | optional | x좌표 (경도). 대문자 X 로 시작한다. | |
↳YPos | string | optional | y좌표 (위도). 대문자 Y 로 시작한다. | |
↳distance | string | optional | 거리(m). xPos/yPos/radius 로 반경 검색했을 때만 온다. |
비급여 진료비 조회
GET
/data-go-kr/hira/hospitals/{ykiho}/npay
기관이 신고한 비급여 항목별 실제 청구금액(curAmt). 응답 구조는 원본 API 와 동일하다.
병원급 이상만 있다 — 의원(clCd=31)은 원본에 통째로 없어 늘 빈 배열이다. 한 기관에 수백 행이다(최다 1,048건) — 페이지로 받아라.
Request
🔒 Bearer 인증 필요 · 인증 방법GET
/data-go-kr/hira/hospitals/{ykiho}/npayPath Parameters
| Name | Type | Required | Constraints | Description |
|---|---|---|---|---|
ykiho | string | required | 암호화된 요양기호. 통합 병원 상세(/healthcare/hospitals/:id)의 ykiho 를 그대로 쓴다. |
Query Parameters
| Name | Type | Required | Constraints | Description |
|---|---|---|---|---|
page | number | optional | default 1 | 페이지 번호 |
size | number | optional | min 1 · max 100 · default 20 | 페이지 크기 |
Response
200
HiraNonPaymentDetailResponse
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
response | HiraNonPaymentDetailResult | optional |
HiraNonPaymentDetailResult
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
header | HiraResultHeader | optional | ||
↳resultCode | string | optional | 결과코드 (정상: 00) | |
↳resultMsg | string | optional | 결과메시지 | |
body | HiraNonPaymentDetailBody | optional | ||
↳numOfRows | integer | optional | 한 페이지 결과 수 | |
↳pageNo | integer | optional | 현재 페이지 번호 | |
↳totalCount | integer | optional | 전체 결과 수 | |
↳items | HiraNonPaymentDetailItems | optional | ||
↳item | HiraNonPaymentDetailItem[] | optional | ||
↳ykiho | string | optional | 암호화된 요양기호 | |
↳yadmNm | string | optional | 병원명 | |
↳clCd | HiraClassCode | optional | ||
↳clCdNm | string | optional | 종별코드명 (예: 종합병원) | |
↳sidoCd | integer | optional | 시도코드 | |
↳sidoCdNm | string | optional | 시도명 (예: 서울) | |
↳sgguCd | integer | optional | 시군구코드 | |
↳sgguCdNm | string | optional | 시군구명 (예: 영등포구) | |
↳urlAddr | string | optional | 병원 비급여 안내 URL. **없는 행이 있다**(표본 4,000행 중 391건). | |
↳sno | integer | optional | 일련번호 | |
↳npayCd | HiraNonPaymentCode | optional | ||
↳npayKorNm | string | optional | 비급여 한글명. '대분류/중분류/소분류' 를 슬래시로 이어 붙인 형태다 (예: MRI진단료/근골격계/고관절). | |
↳yadmNpayCdNm | string | optional | 요양기관이 자체적으로 붙인 항목명 (예: 'Hip MRI', 'MegaDerm 3~4mm*1*1Cm (엘앤씨바이오)'). **표기가 기관 제각각**이라 이 값으로 기관 간 비교에 쓰지 않는다 — 비교는 `npayCd` 로 한다. | |
↳adtFrDd | HiraApplyDate | optional | 적용개시일자 (YYYYMMDD, JSON number) | |
↳adtEndDd | HiraApplyDate | optional | 적용종료일자 (YYYYMMDD, JSON number). **종료가 없으면 `99991231`** 이다 — 현재 유효한 가격이라는 뜻이지 실제 날짜가 아니다. | |
↳curAmt | integer | optional | 현재금액 (단위: 원). 그 기관이 실제로 받는 금액이다. |
병원평가 등급 조회
GET
/data-go-kr/hira/hospitals/{ykiho}/asm
기관이 받은 평가항목별 등급. 응답 구조는 원본 API 와 동일하다.
한 기관에 1건이다 — 평가항목이 item 에 asmGrd01~24 로 가로로 붙는다(02·11 은 원본에 없다). 항목 번호의 이름은 /data-go-kr/hira/codes 가 아니라 통합 병원 상세가 붙여준다.
평가대상이 아니면 items 가 빈 배열이다 — 평가대상은 36,599곳으로 병원 전체의 부분집합이다. 대부분 의원(clCd=31)이라 병원급 전용은 아니다.
등급 값은 원본 그대로다. 정수 1~5 와 문자열 등급제외(평가는 했으나 등급 미부여)가 섞여 온다. 키 자체가 없으면 평가대상 제외라는 뜻이라 등급제외 와 다르다 — 합치면 정보가 사라진다. 천식(asmGrd16)만 인코딩이 달라 1 대신 양호, 등급제외 대신 0 을 쓴다. 0 은 최하가 아니라 등급제외다.
Request
🔒 Bearer 인증 필요 · 인증 방법GET
/data-go-kr/hira/hospitals/{ykiho}/asmPath Parameters
| Name | Type | Required | Constraints | Description |
|---|---|---|---|---|
ykiho | string | required | 암호화된 요양기호. 통합 병원 상세(/healthcare/hospitals/:id)의 ykiho 를 그대로 쓴다. |
Response
200
HiraHospitalAssessmentResponse
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
response | HiraHospitalAssessmentResult | optional |
HiraHospitalAssessmentResult
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
header | HiraResultHeader | optional | ||
↳resultCode | string | optional | 결과코드 (정상: 00) | |
↳resultMsg | string | optional | 결과메시지 | |
body | HiraHospitalAssessmentBody | optional | ||
↳numOfRows | integer | optional | 한 페이지 결과 수 | |
↳pageNo | integer | optional | 현재 페이지 번호 | |
↳totalCount | integer | optional | 전체 결과 수 | |
↳items | HiraHospitalAssessmentItems | optional | ||
↳item | HiraHospitalAssessmentItem[] | optional | ||
↳ykiho | string | optional | 암호화된 요양기호 | |
↳yadmNm | string | optional | 요양기관명 | |
↳clCd | object | optional | 종별코드. **숫자와 문자열이 섞여 온다.** '01'(상급종합)만 문자열이고 나머지(11·21·28·29·31·71·72·75…)는 정수다 — 앞자리 0 이 있는 코드만 문자열로 남기 때문이다. 비교할 때는 문자열로 맞춘다. | |
↳clCdNm | string | optional | 종별코드명 | |
↳addr | string | optional | 주소 | |
↳asmGrd01 | HiraAssessmentGrade | optional | 급성기뇌졸중 | |
↳asmGrd03 | HiraAssessmentGrade | optional | 혈액투석 | |
↳asmGrd04 | HiraAssessmentGrade | optional | 의료급여정신과 | |
↳asmGrd05 | HiraAssessmentGrade | optional | 수술부위 감염예방 항생제 | |
↳asmGrd06 | HiraAssessmentGrade | optional | 관상동맥우회술 | |
↳asmGrd07 | HiraAssessmentGrade | optional | 급성상기도감염 항생제 처방률 | |
↳asmGrd08 | HiraAssessmentGrade | optional | 주사제 처방률 | |
↳asmGrd09 | HiraAssessmentGrade | optional | 약품목수 | |
↳asmGrd10 | HiraAssessmentGrade | optional | 요양병원 | |
↳asmGrd12 | HiraAssessmentGrade | optional | 대장암 | |
↳asmGrd13 | HiraAssessmentGrade | optional | 위암 | |
↳asmGrd14 | HiraAssessmentGrade | optional | 유방암 | |
↳asmGrd15 | HiraAssessmentGrade | optional | 폐암 | |
↳asmGrd16 | object | optional | 천식. **이 항목만 등급 표기가 다르다. 등급 체계 자체는 나머지와 같다.** 일반 21개 : 1 2 3 4 5 '등급제외' 천식 : '양호' 2 3 4 5 0 1등급을 '양호' 로, 등급대상 제외를 0 으로 표기할 뿐이다. 그래서 천식에는 1 과 '등급제외' 가 오지 않는다. 가이드가 이 항목만 '(양호한 기관 공개)' 로 표기한 것이 이 뜻이다(나머지 21개는 '(1~5등급, 등급제외)'). **0 은 최하 등급도 값 없음도 아니다.** 0 은 등급제외이고 최하는 5 다. 다른 항목과 비교하려면 '양호'→1, 0→'등급제외' 로 옮겨서 쓴다. | |
↳asmGrd17 | HiraAssessmentGrade | optional | 만성폐쇄성폐질환 | |
↳asmGrd18 | HiraAssessmentGrade | optional | 폐렴 | |
↳asmGrd19 | HiraAssessmentGrade | optional | 중환자실 | |
↳asmGrd20 | HiraAssessmentGrade | optional | 신생아중환자실 | |
↳asmGrd21 | HiraAssessmentGrade | optional | 마취 | |
↳asmGrd22 | HiraAssessmentGrade | optional | 정신건강 입원영역 | |
↳asmGrd23 | HiraAssessmentGrade | optional | 급성하기도감염 항생제 처방률 | |
↳asmGrd24 | HiraAssessmentGrade | optional | 고혈압·당뇨병 |
코드 목록 조회
GET
/data-go-kr/hira/codes
로컬 DB 에 미러링한 HIRA 코드. tp 로 종류를 고른다. 응답 item 의 필드명은 종류별 원본 API 와 같다.
Request
🔒 Bearer 인증 필요 · 인증 방법GET
/data-go-kr/hira/codesQuery Parameters
| Name | Type | Required | Constraints | Description |
|---|---|---|---|---|
page | number | optional | default 1 | 페이지 번호 |
size | number | optional | min 1 · max 100 · default 20 | 페이지 크기 |
tp | string | required | enum: addr, class, subject, equipment, specialty, special | 코드 종류. addr=주소, class=의료기관종별, subject=진료과목, equipment=장비, specialty=전문병원, special=특수진료 |
Response
200
타입: object
지역 목록 조회
GET
/data-go-kr/hira/regions
병원 데이터에서 집계한 시도·시군구 목록(코드 포함). 병원이 1건 이상 있는 지역만 나온다.
Request
🔒 Bearer 인증 필요 · 인증 방법GET
/data-go-kr/hira/regionsQuery Parameters
| Name | Type | Required | Constraints | Description |
|---|---|---|---|---|
page | number | optional | default 1 | 페이지 번호 |
size | number | optional | min 1 · max 100 · default 20 | 페이지 크기 |
Response
200
HiraRegionResponse
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
response | HiraRegionResult | required |
HiraRegionResult
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
header | KrDataHeader | required | ||
↳resultCode | string | required | 결과 코드. 정상은 00 | |
↳resultMsg | string | required | 결과 메시지 | |
body | HiraRegionBody | required | ||
↳items | HiraRegionItems | required | ||
↳item | HiraRegionItem[] | required | ||
↳sidoCd | string | required | 시도코드 | |
↳sidoCdNm | string | optional | 시도명 | |
↳sgguCd | string | required | 시군구코드 | |
↳sgguCdNm | string | optional | 시군구명. 심평원 자체 표기다 (예: 수원팔달구, 광주북구). | |
↳hospitalCount | number | required | 이 지역의 병원 수 | |
↳numOfRows | number | required | 한 페이지 결과 수 | |
↳pageNo | number | required | 페이지 번호 | |
↳totalCount | number | required | 전체 결과 수 |
병원 진료과목 조회
GET
/data-go-kr/hira/hospitals/{ykiho}/subjects
해당 병원이 진료하는 과목 목록. 응답 구조는 원본 API(진료과목정보)와 동일하다.
Request
🔒 Bearer 인증 필요 · 인증 방법GET
/data-go-kr/hira/hospitals/{ykiho}/subjectsPath Parameters
| Name | Type | Required | Constraints | Description |
|---|---|---|---|---|
ykiho | string | required | 암호화된 요양기호 |
Response
200
HiraSubjectInfoResponse
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
response | HiraSubjectInfoResult | optional |
HiraSubjectInfoResult
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
header | HiraResultHeader | optional | ||
↳resultCode | string | optional | 결과코드 (정상: 00) | |
↳resultMsg | string | optional | 결과메시지 | |
body | HiraSubjectInfoBody | optional | ||
↳numOfRows | integer | optional | 한 페이지 결과 수 | |
↳pageNo | integer | optional | 현재 페이지 번호 | |
↳totalCount | integer | optional | 전체 결과 수 | |
↳items | HiraSubjectInfoItems | optional | ||
↳item | HiraSubjectInfoItem[] | optional | ||
↳dgsbjtCd | string | optional | 진료과목코드 | |
↳dgsbjtCdNm | string | optional | 진료과목코드명 | |
↳dgsbjtPrSdrCnt | integer | optional | 과목별 의사수 | |
↳cdiagDrCnt | integer | optional | 선택진료 의사수 |