Xem bản video
1. Encounter Resource — Lượt khám / Nhập viện
Encounter mô tả một tương tác giữa bệnh nhân và nhà cung cấp dịch vụ y tế — từ lượt khám ngoại trú, nhập viện, cấp cứu, đến khám từ xa (telehealth).
Cấu trúc Encounter
| Element | Cardinality | Type | Mô tả |
|---|---|---|---|
| status | 1..1 | code | planned | in-progress | on-hold | discharged | completed | cancelled | entered-in-error |
| class | 1..* | CodeableConcept | AMB (ngoại trú) | IMP (nội trú) | EMER (cấp cứu) | VR (telehealth) |
| type | 0..* | CodeableConcept | Loại khám cụ thể |
| priority | 0..1 | CodeableConcept | Mức ưu tiên |
| subject | 1..1 | Reference(Patient) | Bệnh nhân |
| participant | 0..* | BackboneElement | Bác sĩ, điều dưỡng tham gia |
| period | 0..1 | Period | Thời gian bắt đầu — kết thúc |
| reason | 0..* | BackboneElement | Lý do khám |
| diagnosis | 0..* | BackboneElement | Chẩn đoán gắn với lượt khám |
| admission | 0..1 | BackboneElement | Chi tiết nhập viện (preAdmission, admitSource, dischargeDisposition) |
| location | 0..* | BackboneElement | Phòng / khoa / giường |
| serviceProvider | 0..1 | Reference(Organization) | Cơ sở y tế |
Ví dụ: Encounter ngoại trú
{
"resourceType": "Encounter",
"id": "encounter-outpatient-001",
"status": "completed",
"class": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
"code": "AMB",
"display": "ambulatory"
}
]
}
],
"type": [
{
"coding": [
{
"system": "http://snomed.info/sct",
"code": "185349003",
"display": "Encounter for check up"
}
],
"text": "Khám sức khỏe tổng quát"
}
],
"subject": {
"reference": "Patient/patient-001",
"display": "Nguyễn Văn A"
},
"participant": [
{
"type": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType",
"code": "ATND",
"display": "attender"
}
]
}
],
"actor": {
"reference": "Practitioner/practitioner-001",
"display": "BS. Trần Thị B"
}
}
],
"period": {
"start": "2025-01-15T08:00:00+07:00",
"end": "2025-01-15T08:45:00+07:00"
},
"reason": [
{
"use": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/encounter-reason-use",
"code": "CC",
"display": "Chief Complaint"
}
]
},
"value": [
{
"concept": {
"text": "Đau đầu và mệt mỏi kéo dài 2 tuần"
}
}
]
}
],
"serviceProvider": {
"reference": "Organization/org-bvdk-001",
"display": "Bệnh viện Đa khoa Trung ương"
}
}
Ví dụ: Encounter nhập viện
{
"resourceType": "Encounter",
"id": "encounter-inpatient-001",
"status": "in-progress",
"class": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
"code": "IMP",
"display": "inpatient encounter"
}
]
}
],
"subject": {
"reference": "Patient/patient-002"
},
"period": {
"start": "2025-01-10T14:30:00+07:00"
},
"admission": {
"admitSource": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/admit-source",
"code": "emd",
"display": "From accident/emergency department"
}
]
},
"preAdmissionIdentifier": {
"system": "http://bvdk.vn/pre-admit",
"value": "PA-20250110-001"
}
},
"location": [
{
"location": {
"reference": "Location/loc-cardiology-bed-12",
"display": "Khoa Tim mạch - Giường 12"
},
"status": "active",
"period": {
"start": "2025-01-10T15:00:00+07:00"
}
}
],
"diagnosis": [
{
"condition": [
{
"reference": {
"reference": "Condition/cond-001"
}
}
],
"use": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/diagnosis-role",
"code": "AD",
"display": "Admission diagnosis"
}
]
}
]
}
]
}
2. Condition Resource — Chẩn đoán / Vấn đề sức khỏe
Condition ghi nhận chẩn đoán bệnh, vấn đề sức khỏe, hoặc tình trạng y tế của bệnh nhân.
Cấu trúc Condition
| Element | Cardinality | Type | Mô tả |
|---|---|---|---|
| clinicalStatus | 0..1 | CodeableConcept | active | recurrence | relapse | inactive | remission | resolved |
| verificationStatus | 0..1 | CodeableConcept | unconfirmed | provisional | differential | confirmed | refuted | entered-in-error |
| category | 0..* | CodeableConcept | problem-list-item | encounter-diagnosis |
| severity | 0..1 | CodeableConcept | Mức độ nặng (SNOMED CT) |
| code | 1..1 | CodeableConcept | Mã chẩn đoán (ICD-10, SNOMED CT) |
| bodySite | 0..* | CodeableConcept | Vị trí cơ thể |
| subject | 1..1 | Reference(Patient) | Bệnh nhân |
| encounter | 0..1 | Reference(Encounter) | Lượt khám liên quan |
| onset[x] | 0..1 | dateTime | Age | Period | Range | string | Thời điểm khởi phát |
| abatement[x] | 0..1 | dateTime | Age | Period | Range | string | Thời điểm thuyên giảm |
| stage | 0..* | BackboneElement | Giai đoạn bệnh |
Ví dụ: Chẩn đoán Tăng huyết áp
{
"resourceType": "Condition",
"id": "cond-hypertension-001",
"clinicalStatus": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/condition-clinical",
"code": "active"
}
]
},
"verificationStatus": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/condition-ver-status",
"code": "confirmed"
}
]
},
"category": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/condition-category",
"code": "encounter-diagnosis",
"display": "Encounter Diagnosis"
}
]
}
],
"severity": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "24484000",
"display": "Severe"
}
]
},
"code": {
"coding": [
{
"system": "http://hl7.org/fhir/sid/icd-10",
"code": "I10",
"display": "Essential (primary) hypertension"
},
{
"system": "http://snomed.info/sct",
"code": "38341003",
"display": "Hypertensive disorder"
}
],
"text": "Tăng huyết áp nguyên phát"
},
"subject": {
"reference": "Patient/patient-001",
"display": "Nguyễn Văn A"
},
"encounter": {
"reference": "Encounter/encounter-outpatient-001"
},
"onsetDateTime": "2024-06-15",
"recordedDate": "2025-01-15"
}
Condition Staging (Ung thư)
{
"resourceType": "Condition",
"id": "cond-cancer-001",
"code": {
"coding": [
{
"system": "http://hl7.org/fhir/sid/icd-10",
"code": "C34.1",
"display": "Malignant neoplasm of upper lobe, bronchus or lung"
}
],
"text": "Ung thư phổi thùy trên"
},
"subject": {
"reference": "Patient/patient-003"
},
"stage": [
{
"summary": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "258219007",
"display": "Stage 2"
}
]
},
"type": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "260998006",
"display": "Clinical staging (qualifier value)"
}
]
}
}
]
}
3. Observation Resource — Kết quả quan sát
Observation là resource linh hoạt nhất trong FHIR — dùng cho vital signs, kết quả xét nghiệm, social history, survey, imaging measurements, và clinical assessments.
Observation Categories
| Category | Mô tả | Ví dụ |
|---|---|---|
| vital-signs | Dấu hiệu sinh tồn | Huyết áp, nhịp tim, SpO2, nhiệt độ |
| laboratory | Kết quả xét nghiệm | HbA1c, glucose, CBC, lipid panel |
| imaging | Kết quả hình ảnh | Kích thước khối u |
| social-history | Tiền sử xã hội | Hút thuốc, uống rượu |
| survey | Bảng khảo sát | PHQ-9 (trầm cảm), VAS (đau) |
| exam | Khám lâm sàng | Cân nặng, chiều cao |
Ví dụ: Vital Signs — Huyết áp
{
"resourceType": "Observation",
"id": "obs-bp-001",
"status": "final",
"category": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
"code": "vital-signs",
"display": "Vital Signs"
}
]
}
],
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "85354-9",
"display": "Blood pressure panel with all children optional"
}
],
"text": "Huyết áp"
},
"subject": {
"reference": "Patient/patient-001"
},
"encounter": {
"reference": "Encounter/encounter-outpatient-001"
},
"effectiveDateTime": "2025-01-15T08:15:00+07:00",
"performer": [
{
"reference": "Practitioner/practitioner-002",
"display": "ĐD. Lê Thị C"
}
],
"component": [
{
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "8480-6",
"display": "Systolic blood pressure"
}
]
},
"valueQuantity": {
"value": 145,
"unit": "mmHg",
"system": "http://unitsofmeasure.org",
"code": "mm[Hg]"
},
"interpretation": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation",
"code": "H",
"display": "High"
}
]
}
]
},
{
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "8462-4",
"display": "Diastolic blood pressure"
}
]
},
"valueQuantity": {
"value": 92,
"unit": "mmHg",
"system": "http://unitsofmeasure.org",
"code": "mm[Hg]"
},
"interpretation": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation",
"code": "H",
"display": "High"
}
]
}
]
}
]
}
Ví dụ: Lab Result — HbA1c
{
"resourceType": "Observation",
"id": "obs-hba1c-001",
"status": "final",
"category": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
"code": "laboratory"
}
]
}
],
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "4548-4",
"display": "Hemoglobin A1c/Hemoglobin.total in Blood"
}
],
"text": "HbA1c"
},
"subject": {
"reference": "Patient/patient-001"
},
"effectiveDateTime": "2025-01-15",
"valueQuantity": {
"value": 7.2,
"unit": "%",
"system": "http://unitsofmeasure.org",
"code": "%"
},
"referenceRange": [
{
"low": {
"value": 4.0,
"unit": "%"
},
"high": {
"value": 5.6,
"unit": "%"
},
"text": "Bình thường: 4.0 - 5.6%"
}
],
"interpretation": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation",
"code": "H",
"display": "High"
}
],
"text": "Cao — Gợi ý đái tháo đường kiểm soát chưa tốt"
}
]
}
4. Liên kết Resources qua References
Patient ──────────────────┐
│ │
▼ ▼
Encounter ──────────────▶ Condition
│ diagnosis │
│ │ evidence
▼ ▼
Observation ◀──────────── Observation
(vital signs) (lab results)
Tất cả các Resources lâm sàng đều liên kết với nhau qua Reference. Encounter chứa reference đến Patient, Condition gắn với Encounter qua element encounter, Observation references đến cả Patient, Encounter, và có thể reference đến Condition.
5. Tổng kết
Encounter — Mô tả lượt tương tác (khám ngoại trú, nhập viện, cấp cứu, telehealth)
Condition — Chẩn đoán bệnh với ICD-10/SNOMED CT, staging, severity
Observation — Resource linh hoạt nhất: vital signs (LOINC), lab results, social history
References — Liên kết tạo mạng lưới dữ liệu lâm sàng hoàn chỉnh