API tra cứu ICD-10

API JSON công khai, chỉ đọc, không cần đăng ký hay khóa. Dùng cho phần mềm quản lý bệnh viện (HIS), phần mềm giám định BHYT và các công cụ y tế khác.

Địa chỉ gốc

https://clinic.tptrue.com/api/v1/icd10

Các điểm truy cập

  • GET /search?q={từ khóa}&chapter={số La Mã}&per_page={1-50}

    Tìm theo mã (E10, J02.9) hoặc tên bệnh, có dấu hay không dấu. Từ khóa 2-100 ký tự. Có phân trang.

  • GET /chapters

    Danh sách 22 chương.

  • GET /chapters/{số La Mã}

    Một chương với ghi chú Bao gồm, Loại trừ và các khối.

  • GET /blocks/{khối}

    Một khối, ví dụ A15-A19, với ghi chú và khối con.

  • GET /blocks/{khối}/codes?per_page={1-100}

    Các nhóm mã 3 ký tự của khối. Có phân trang.

  • GET /codes/{mã}

    Một mã, ví dụ E11 hoặc E11.9, kèm khối, hướng dẫn mã hóa, cờ và các mã chi tiết.

  • GET /asterisks

    Danh sách mã dấu sao (*). Có phân trang.

Ví dụ

curl "https://clinic.tptrue.com/api/v1/icd10/search?q=dai+thao+duong&per_page=5"
curl "https://clinic.tptrue.com/api/v1/icd10/codes/E11.9"
curl "https://clinic.tptrue.com/api/v1/icd10/blocks/A15-A19"

Phản hồi có dạng { "data": ..., "links": ..., "meta": ..., "source": ..., "disclaimer": ... }. Tên bệnh nằm trong name.vi và name.en.

Giới hạn và quy tắc sử dụng

  • Tối đa 60 yêu cầu mỗi phút cho mỗi địa chỉ IP, riêng /search tối đa 30. Vượt mức nhận mã 429 kèm tiêu đề Retry-After.
  • Dữ liệu chỉ đổi khi có văn bản mới nên phản hồi có ETag và Cache-Control: hãy lưu đệm phía bạn thay vì gọi lặp lại. Cần tải toàn bộ danh mục để dùng nội bộ thì lưu lại kết quả, đừng quét liên tục.
  • Cho phép gọi trực tiếp từ trình duyệt (CORS) với phương thức GET.
  • API có phiên bản (/v1); thay đổi không tương thích sẽ ra phiên bản mới.
  • Dữ liệu chỉ để tham khảo, không thay thế văn bản do Bộ Y tế ban hành. Khi mã hóa chính thức, hãy đối chiếu với văn bản gốc.