Administrative Resources
Fast Healthcare Interoperability Resources (FHIR) là tiêu chuẩn được phát triển bởi HL7, nhằm đơn giản hóa việc trao đổi dữ liệu giữa các hệ thống thông tin y tế. Khác với HL7 v2.x mà chúng ta đã tìm hiểu trước đây (với cấu trúc dạng văn bản phân cách bởi các ký tự đặc biệt), FHIR áp dụng các công nghệ web hiện đại và sử dụng cấu trúc RESTful API, với dữ liệu được biểu diễn dưới dạng JSON hoặc XML.
Hãy cùng khám phá các Administrative Resources quan trọng trong FHIR R5!
Practitioner & PractitionerRole
Practitioner
Resource Practitioner
đại diện cho một chuyên gia y tế - người trực tiếp hoặc gián tiếp tham gia vào việc cung cấp dịch vụ chăm sóc sức khỏe.
Các thuộc tính chính:
identifier
: Mã số định danh (ví dụ: số giấy phép hành nghề)active
: Trạng thái hoạt độngname
: Họ têntelecom
: Thông tin liên lạc (email, điện thoại)gender
: Giới tínhbirthDate
: Ngày sinhaddress
: Địa chỉphoto
: Hình ảnhqualification
: Bằng cấp, chứng chỉ chuyên môn
Ví dụ:
PractitionerRole
Resource PractitionerRole
mô tả vai trò của một chuyên gia y tế trong một tổ chức cụ thể, với phạm vi thực hành và thời gian làm việc xác định.
Các thuộc tính chính:
identifier
: Mã định danh cho vai tròactive
: Trạng thái hoạt độngperiod
: Khoảng thời gian giữ vai tròpractitioner
: Tham chiếu đến Practitionerorganization
: Tham chiếu đến Organizationcode
: Loại vai trò (bác sĩ, y tá, etc.)specialty
: Chuyên khoalocation
: Địa điểm làm việchealthcareService
: Dịch vụ y tế cung cấptelecom
: Thông tin liên lạc trong vai trò nàyavailableTime
: Thời gian làm việcnotAvailable
: Thời gian không làm việc
Ví dụ:
Organization & OrganizationAffiliation
Organization
Resource Organization
đại diện cho một đơn vị cung cấp dịch vụ y tế hoặc liên quan đến y tế (bệnh viện, phòng khám, phòng xét nghiệm...).
Các thuộc tính chính:
identifier
: Mã định danh tổ chứcactive
: Trạng thái hoạt độngtype
: Loại tổ chứcname
: Tên tổ chứcalias
: Tên gọi kháctelecom
: Thông tin liên lạcaddress
: Địa chỉpartOf
: Tổ chức cấp trêncontact
: Thông tin liên hệ
Ví dụ:
OrganizationAffiliation
Resource OrganizationAffiliation
mô tả mối quan hệ giữa hai tổ chức, bao gồm các dịch vụ được cung cấp, vai trò, và thời gian của mối quan hệ.
Các thuộc tính chính:
identifier
: Mã định danh của mối quan hệactive
: Trạng thái hoạt độngperiod
: Khoảng thời gian mối quan hệ có hiệu lựcorganization
: Tổ chức chínhparticipatingOrganization
: Tổ chức tham gianetwork
: Mạng lưới chăm sóc sức khỏecode
: Loại mối quan hệspecialty
: Chuyên khoalocation
: Địa điểmhealthcareService
: Dịch vụ y tếtelecom
: Thông tin liên lạcendpoint
: Điểm kết nối
Ví dụ:
Location & Endpoint
Location
Resource Location
mô tả một địa điểm vật lý nơi dịch vụ y tế được cung cấp, hoặc nơi tài nguyên và bệnh nhân có thể được tìm thấy.
Các thuộc tính chính:
identifier
: Mã định danh địa điểmstatus
: Trạng thái (active, suspended, inactive)operationalStatus
: Trạng thái hoạt độngname
: Tên địa điểmalias
: Tên gọi khácdescription
: Mô tảmode
: Chế độ (instance, kind)type
: Loại địa điểmtelecom
: Thông tin liên lạcaddress
: Địa chỉphysicalType
: Loại hình vật lýposition
: Vị trí địa lý (kinh độ, vĩ độ)managingOrganization
: Tổ chức quản lýpartOf
: Thuộc địa điểm lớn hơnhoursOfOperation
: Giờ hoạt động
Ví dụ:
Endpoint
Resource Endpoint
đại diện cho một điểm kết nối kỹ thuật mà thông qua đó các dịch vụ được cung cấp.
Các thuộc tính chính:
identifier
: Mã định danh endpointstatus
: Trạng thái (active, suspended, error, off, etc.)connectionType
: Loại kết nối (hl7-fhir-rest, hl7-fhir-msg, hl7v2-mllp, etc.)name
: Tên endpointmanagingOrganization
: Tổ chức quản lýcontact
: Thông tin liên hệperiod
: Khoảng thời gian hoạt độngpayloadType
: Loại payload được hỗ trợpayloadMimeType
: MIME types được hỗ trợaddress
: URL hoặc địa chỉ của endpointheader
: Các header cần thiết
Ví dụ:
Encounter & EpisodeOfCare
Encounter
Resource Encounter
mô tả quá trình tương tác giữa bệnh nhân và nhà cung cấp dịch vụ y tế, như lần thăm khám, nhập viện.
Các thuộc tính chính:
identifier
: Mã định danh cuộc thăm khámstatus
: Trạng thái (planned, arrived, in-progress, finished, etc.)class
: Phân loại (inpatient, outpatient, emergency, etc.)type
: Loại thăm khámserviceType
: Loại dịch vụpriority
: Mức độ ưu tiênsubject
: Bệnh nhânepisodeOfCare
: EpisodeOfCare liên quanbasedOn
: ServiceRequest hoặc CarePlan liên quanparticipant
: Người tham gia (bác sĩ, y tá...)appointment
: Cuộc hẹn liên quanperiod
: Khoảng thời gianlength
: Thời lượngreasonCode
: Lý do thăm khám (mã)reasonReference
: Lý do thăm khám (tham chiếu)diagnosis
: Chẩn đoán liên quanlocation
: Địa điểmserviceProvider
: Nhà cung cấp dịch vụ
Ví dụ:
EpisodeOfCare
Resource EpisodeOfCare
đại diện cho một loạt các dịch vụ chăm sóc sức khỏe liên quan được cung cấp cho một bệnh nhân.
Các thuộc tính chính:
identifier
: Mã định danh đợt điều trịstatus
: Trạng thái (planned, waitlist, active, finished, etc.)type
: Loại đợt điều trịdiagnosis
: Chẩn đoán liên quanpatient
: Bệnh nhânmanagingOrganization
: Tổ chức quản lýperiod
: Khoảng thời gianreferralRequest
: Yêu cầu chuyển tuyếncareManager
: Người quản lý chăm sócteam
: Nhóm chăm sóc
Ví dụ:
Schedule, Slot & Appointment
Schedule
Resource Schedule
định nghĩa một khung thời gian mà các Slots có thể được đặt cho một hoạt động cụ thể và một người thực hiện.
Các thuộc tính chính:
identifier
: Mã định danh lịchactive
: Trạng thái hoạt độngserviceCategory
: Danh mục dịch vụserviceType
: Loại dịch vụspecialty
: Chuyên khoaactor
: Người hoặc địa điểm thực hiệnplanningHorizon
: Khung thời gian lập kế hoạchcomment
: Ghi chú
Ví dụ:
Slot
Resource Slot
đại diện cho một khoảng thời gian cụ thể từ một Schedule nơi các cuộc hẹn có thể được đặt.
Các thuộc tính chính:
identifier
: Mã định danh slotserviceCategory
: Danh mục dịch vụserviceType
: Loại dịch vụspecialty
: Chuyên khoaappointmentType
: Loại cuộc hẹnschedule
: Lịch liên quanstatus
: Trạng thái (free, busy, busy-unavailable, busy-tentative, entered-in-error)start
: Thời gian bắt đầuend
: Thời gian kết thúcoverbooked
: Đã đặt quá số lượngcomment
: Ghi chú
Ví dụ:
Appointment
Resource Appointment
cung cấp thông tin về một cuộc hẹn đã lên lịch giữa bệnh nhân và nhà cung cấp dịch vụ y tế.
Các thuộc tính chính:
identifier
: Mã định danh cuộc hẹnstatus
: Trạng thái (proposed, pending, booked, arrived, fulfilled, cancelled, etc.)cancelationReason
: Lý do hủyserviceCategory
: Danh mục dịch vụserviceType
: Loại dịch vụspecialty
: Chuyên khoaappointmentType
: Loại cuộc hẹnreasonCode
: Lý do cuộc hẹn (mã)reasonReference
: Lý do cuộc hẹn (tham chiếu)priority
: Mức độ ưu tiêndescription
: Mô tảsupportingInformation
: Thông tin bổ sungstart
: Thời gian bắt đầuend
: Thời gian kết thúcminutesDuration
: Thời lượng (phút)slot
: Slot liên quancreated
: Thời điểm tạocomment
: Ghi chúpatientInstruction
: Hướng dẫn cho bệnh nhânbasedOn
: ServiceRequest liên quanparticipant
: Người tham gia
Ví dụ:
ServiceRequest
Resource ServiceRequest
mô tả yêu cầu một hoạt động chẩn đoán hoặc điều trị cho một bệnh nhân.
Các thuộc tính chính:
identifier
: Mã định danh yêu cầustatus
: Trạng thái (draft, active, on-hold, completed, etc.)intent
: Ý định (proposal, plan, order, etc.)category
: Danh mục dịch vụpriority
: Mức độ ưu tiêndoNotPerform
: Không thực hiệncode
: Mã dịch vụorderDetail
: Chi tiết yêu cầuquantity
: Số lượngsubject
: Bệnh nhânencounter
: Cuộc thăm khám liên quanoccurrence
: Thời điểm/khoảng thời gian thực hiệnasNeeded
: Chỉ khi cầnauthoredOn
: Thời điểm tạorequester
: Người yêu cầuperformer
: Người thực hiệnreasonCode
: Lý do yêu cầu (mã)reasonReference
: Lý do yêu cầu (tham chiếu)supportingInfo
: Thông tin bổ sungspecimen
: Mẫu vậtbodySite
: Vị trí trên cơ thểnote
: Ghi chú
Ví dụ:
So sánh với HL7 v2.x
Để hiểu rõ hơn về FHIR, hãy so sánh với HL7 v2.x mà chúng ta đã tìm hiểu trước đây:
Cấu trúc
Tin nhắn dạng văn bản với các segments, fields
Resources dạng JSON/XML với cấu trúc tường minh
Giao thức
MLLP qua TCP/IP
RESTful API qua HTTP/HTTPS
Tính rõ ràng
Cấu trúc ngầm định, khó đọc
Cấu trúc rõ ràng, dễ đọc với người và máy
Tính mở rộng
Z-segments, tùy biến
Extensions với định nghĩa rõ ràng
Ngữ nghĩa
Thiếu mô hình dữ liệu chính thức
Mô hình dữ liệu chặt chẽ
Khả năng làm việc
Cần kiến thức chuyên sâu
Dễ tiếp cận với web developers
Tin nhắn HL7 v2.x
MSH, PID, PV1, ORC, OBR, OBX...
Patient, Encounter, ServiceRequest, Observation...
Ví dụ một tin nhắn ADT trong HL7 v2.x:
Phần tương đương trong FHIR:
Triển khai thực tế
Xây dựng API FHIR với Administrative Resources
Sau đây là ví dụ triển khai đơn giản API FHIR sử dụng Node.js và Express:
Ứng dụng trong quản lý phòng khám
Một ứng dụng quản lý phòng khám sử dụng FHIR có thể tận dụng các Administrative Resources như sau:
Quản lý nhân sự: Sử dụng
Practitioner
vàPractitionerRole
để quản lý thông tin bác sĩ, y tá và nhân viên y tế.Quản lý cơ sở vật chất: Sử dụng
Location
để quản lý các phòng khám, phòng thủ thuật, khu vực chờ.Lập lịch khám: Sử dụng
Schedule
,Slot
vàAppointment
để quản lý lịch làm việc của bác sĩ và cuộc hẹn của bệnh nhân.Quy trình khám bệnh: Sử dụng
Encounter
để theo dõi các lần thăm khám của bệnh nhân, vàServiceRequest
để yêu cầu xét nghiệm, chụp chiếu.Quản lý dịch vụ: Sử dụng
HealthcareService
để quản lý các dịch vụ y tế cung cấp.
Mô hình hóa các tình huống thực tế
Tình huống 1: Đặt lịch khám
Luồng xử lý:
Tạo
Schedule
cho bác sĩTạo các
Slot
từ lịch làm việcBệnh nhân đặt
Appointment
vào mộtSlot
còn trốngKhi bệnh nhân đến, cập nhật trạng thái
Appointment
thành "arrived"Tạo
Encounter
liên kết vớiAppointment
Tình huống 2: Chuyển tuyến bệnh nhân
Luồng xử lý:
Tại bệnh viện gốc, tạo
ServiceRequest
với intent="referral"Tạo
Task
để theo dõi việc chuyển tuyếnTại bệnh viện đích, tạo
Appointment
và liên kết vớiServiceRequest
Khi khám xong, cập nhật
Task
thành completedGửi
DiagnosticReport
vàObservation
về bệnh viện gốc
Tình huống 3: Quản lý khoa phòng
Luồng xử lý:
Tạo
Organization
cho bệnh việnTạo các
Organization
con cho mỗi khoaTạo
Location
cho mỗi phòngGán
PractitionerRole
cho từng nhân viên trong khoaSử dụng
Schedule
vàSlot
để quản lý lịch làm việc của khoa
Bảo mật trong FHIR
FHIR cung cấp nhiều cơ chế bảo mật:
OAuth 2.0 và OpenID Connect: Xác thực và ủy quyền
SMART on FHIR: Khung ứng dụng cho phép apps truy cập dữ liệu FHIR an toàn
Consent Resource: Quản lý sự đồng ý của bệnh nhân
AuditEvent Resource: Ghi lại các hoạt động truy cập
Provenance Resource: Theo dõi nguồn gốc dữ liệu
Communications Security: TLS/HTTPS cho truyền dữ liệu
Digital Signatures: Đảm bảo tính toàn vẹn dữ liệu
Tương lai của Administrative Resources trong FHIR
FHIR đang không ngừng phát triển, với các xu hướng:
Chuẩn hóa quy trình làm việc: Kết hợp với BPM (Business Process Management)
Tích hợp AI/ML: Dự đoán nhu cầu lịch hẹn, tối ưu hóa lịch làm việc
FHIR Bulk Data: Xử lý dữ liệu hành chính quy mô lớn
Population Health Management: Sử dụng dữ liệu hành chính để phân tích xu hướng sức khỏe cộng đồng
Patient Access: Bệnh nhân tự quản lý lịch hẹn và dữ liệu hành chính của mình
Kết luận
Administrative Resources trong FHIR R5 cung cấp nền tảng mạnh mẽ cho việc quản lý hệ thống y tế hiện đại. Với cấu trúc dữ liệu rõ ràng, khả năng mở rộng và tích hợp dễ dàng, FHIR vượt trội so với các tiêu chuẩn cũ như HL7 v2.x.
Khác với HL7 v2.x với cú pháp phức tạp và khó đọc với con người, FHIR tận dụng các công nghệ web hiện đại, giúp nhà phát triển dễ dàng triển khai và tích hợp với các hệ thống khác.
Các Administrative Resources như Practitioner, Organization, Location, Encounter và Appointment làm nền tảng cho việc xây dựng các hệ thống y tế kỹ thuật số, từ phòng khám nhỏ đến mạng lưới bệnh viện phức tạp.
Với sự phát triển không ngừng của FHIR, chúng ta có thể mong đợi các Administrative Resources sẽ ngày càng trở nên hoàn thiện hơn, hỗ trợ tốt hơn cho các quy trình quản lý y tế phức tạp và nhu cầu trao đổi dữ liệu trên toàn cầu.
Last updated