FHIR Server là một dịch vụ mã nguồn mở triển khai tiêu chuẩn FHIR, hỗ trợ mạnh mẽ cho việc trao đổi dữ liệu y tế. Hướng dẫn này sẽ giúp bạn hiểu rõ về thiết kế kiến trúc, quy trình triển khai và cách gọi API của FHIR Server.
1. Phân tích kiến trúc cốt lõi của FHIR Server
FHIR Server được thiết kế theo mô-đun, bao gồm ba lớp chính: lớp API xử lý các yêu cầu HTTP, lớp dịch vụ lõi thực hiện logic nghiệp vụ FHIR, và lớp lưu trữ dữ liệu hỗ trợ nhiều cơ sở dữ liệu như SQL Server và Cosmos DB.
Quyết định kiến trúc (ADRs) được ghi lại trong thư mục docs/arch/, mô tả chi tiết các quyết định thiết kế như tái cấu trúc bảng tài nguyên hay triển khai xóa hàng loạt.
2. Các bước triển khai FHIR Server nhanh chóng
2.1 Chuẩn bị
Đầu tiên, clone kho lưu trữ dự án:
git clone https://gitcode.com/gh_mirrors/fh/fhir-server
2.2 Cấu hình chế độ nhập ban đầu
Trong cài đặt ứng dụng, cấu hình chế độ nhập ban đầu để nhập dữ liệu hàng loạt.
2.3 Di chuyển cơ sở dữ liệu
FHIR Server hỗ trợ cả di chuyển tự động và thủ công. Di chuyển tự động diễn ra khi nâng cấp server, trong khi di chuyển thủ công yêu cầu quản trị viên chạy công cụ di chuyển schema được mô tả trong docs/schema-manager.md.
3. Ví dụ gọi API thường dùng
FHIR Server cung cấp nhiều API, dưới đây là một số thao tác phổ biến:
3.1 Lấy thông tin bệnh nhân
GET {{hostname}}/Patient?_id=searchpatient3
Authorization: Bearer {{bearer.response.body.access_token}}
3.2 Tìm kiếm bệnh nhân và bao gồm tài nguyên liên quan
GET {{hostname}}/Patient?_revinclude=Encounter:subject
Authorization: Bearer {{bearer.response.body.access_token}}
3.3 Tạo mới bệnh nhân
POST {{hostname}}/Patient
Content-Type: application/json
Authorization: Bearer {{bearer.response.body.access_token}}
{
"resourceType": "Patient",
"name": [{"family": "Smith", "given": ["John"]}],
"gender": "male",
"birthDate": "1980-01-01"
}
Xem thêm ví dụ trong file docs/rest/SearchExamples.http.
4. Khám phá tính năng nâng cao
4.1 Thao tác hàng loạt
FHIR Server hỗ trợ nhập và xóa hàng loạt. Xóa hàng loạt có thể sử dụng tham số _include để xóa tầng các tài nguyên liên quan.
4.2 Tìm kiếm
Các tính năng tìm kiếm mạnh mẽ bao gồm:
- Tìm kiếm chuỗi:
GET {{hostname}}/DiagnosticReport?subject:Patient.name=Sarah - Tìm kiếm ngược chuỗi:
GET {{hostname}}/Patient?_has:Observation:patient:code=527 - Tìm kiếm kết hợp:
GET {{hostname}}/DiagnosticReport?result.code-value-quantity=2823-3$lt9.2
4.3 Bảo mật và xác thực
FHIR Server sử dụng Azure Active Directory để xác thực và ủy quyền. Tham khảo docs/Register-Resource-Application.md và docs/Register-Client-Application.md để biết chi tiết.
Với hướng dẫn này, bạn đã nắm được kiến trúc cơ bản, quy trình triển khai và cách gọi API của FHIR Server. FHIR Server là một giải pháp mạnh mẽ cho trao đổi dữ liệu y tế chuẩn hóa, phù hợp cho cả xây dựng ứng dụng y tế và nghiên cứu dữ liệu sức khỏe. Để biết thêm thông tin, hãy tham khảo tài liệu chính thức trong thư mục docs/.
Dự án FHIR Server: https://gitcode.com/gh_mirrors/fh/fhir-server