Chuyển đến nội dung chính

Bài 6: Medication, MedicationRequest, Immunization - Resources thuốc

Quản lý thuốc trong FHIR: Medication, MedicationRequest (đơn thuốc), MedicationAdministration, MedicationDispense, MedicationStatement. Immunization (tiêm chủng), liên kết với CodeSystem thuốc (RxNorm, ATC).

🏗️ Kiến trúc — Bài 6 Bài 6: Medication, MedicationRequest, Immunization - Resources thuốc

HL7 FHIR - Chuẩn Dữ liệu Y tế từ Cơ bản đến Nâng cao

Phần 2: FHIR Resources cốt lõi

xdev.asia

Xem bản video

1. Medication Workflow trong FHIR

FHIR cung cấp một chuỗi Resources để mô tả toàn bộ quy trình thuốc, từ kê đơn đến cấp phát và sử dụng.


Bác sĩ kê đơn         Dược sĩ cấp phát       Điều dưỡng cho thuốc
      │                      │                        │
      ▼                      ▼                        ▼
MedicationRequest ──▶ MedicationDispense ──▶ MedicationAdministration
      │                                              │
      │              MedicationStatement ◀────────────┘
      │              (bệnh nhân tự báo cáo)
      ▼
  Medication
  (thông tin thuốc)

2. Medication Resource

Medication mô tả thông tin về thuốc: tên, thành phần, dạng bào chế, nhà sản xuất.

{
  "resourceType": "Medication",
  "id": "med-amlodipine-5mg",
  "code": {
    "coding": [
      {
        "system": "http://www.whocc.no/atc",
        "code": "C08CA01",
        "display": "Amlodipine"
      }
    ],
    "text": "Amlodipine 5mg"
  },
  "doseForm": {
    "coding": [
      {
        "system": "http://snomed.info/sct",
        "code": "385055001",
        "display": "Tablet dose form"
      }
    ],
    "text": "Viên nén"
  },
  "ingredient": [
    {
      "item": {
        "concept": {
          "coding": [
            {
              "system": "http://snomed.info/sct",
              "code": "386864001",
              "display": "Amlodipine"
            }
          ]
        }
      },
      "isActive": true,
      "strengthRatio": {
        "numerator": {
          "value": 5,
          "unit": "mg",
          "system": "http://unitsofmeasure.org",
          "code": "mg"
        },
        "denominator": {
          "value": 1,
          "unit": "tablet",
          "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm",
          "code": "TAB"
        }
      }
    }
  ]
}

3. MedicationRequest — Đơn thuốc

MedicationRequest (trước đây gọi là MedicationOrder) ghi nhận y lệnh kê đơn thuốc.

Các elements quan trọng

ElementCardinalityMô tả
status1..1active | on-hold | ended | stopped | completed | cancelled | draft
intent1..1proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
medication1..1Reference(Medication) hoặc CodeableConcept
subject1..1Reference(Patient)
encounter0..1Reference(Encounter)
requester0..1Reference(Practitioner)
dosageInstruction0..*Hướng dẫn liều dùng
dispenseRequest0..1Yêu cầu cấp phát (quantity, refills, validityPeriod)
substitution0..1Cho phép thay thế thuốc không?

Ví dụ: Đơn thuốc huyết áp

{
  "resourceType": "MedicationRequest",
  "id": "mr-amlodipine-001",
  "status": "active",
  "intent": "order",
  "medication": {
    "reference": {
      "reference": "Medication/med-amlodipine-5mg",
      "display": "Amlodipine 5mg"
    }
  },
  "subject": {
    "reference": "Patient/patient-001",
    "display": "Nguyễn Văn A"
  },
  "encounter": {
    "reference": "Encounter/encounter-outpatient-001"
  },
  "authoredOn": "2025-01-15T08:40:00+07:00",
  "requester": {
    "reference": "Practitioner/practitioner-001",
    "display": "BS. Trần Thị B"
  },
  "reason": [
    {
      "reference": {
        "reference": "Condition/cond-hypertension-001",
        "display": "Tăng huyết áp nguyên phát"
      }
    }
  ],
  "dosageInstruction": [
    {
      "sequence": 1,
      "text": "Uống 1 viên mỗi sáng sau ăn",
      "timing": {
        "repeat": {
          "frequency": 1,
          "period": 1,
          "periodUnit": "d",
          "when": ["ACM"]
        }
      },
      "route": {
        "coding": [
          {
            "system": "http://snomed.info/sct",
            "code": "26643006",
            "display": "Oral route"
          }
        ]
      },
      "doseAndRate": [
        {
          "type": {
            "coding": [
              {
                "system": "http://terminology.hl7.org/CodeSystem/dose-rate-type",
                "code": "ordered"
              }
            ]
          },
          "doseQuantity": {
            "value": 1,
            "unit": "tablet",
            "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm",
            "code": "TAB"
          }
        }
      ]
    }
  ],
  "dispenseRequest": {
    "numberOfRepeatsAllowed": 3,
    "quantity": {
      "value": 30,
      "unit": "tablet"
    },
    "expectedSupplyDuration": {
      "value": 30,
      "unit": "days",
      "system": "http://unitsofmeasure.org",
      "code": "d"
    }
  }
}

4. MedicationAdministration

Ghi nhận việc cho thuốc thực tế (điều dưỡng cho bệnh nhân nội trú uống/tiêm thuốc).

{
  "resourceType": "MedicationAdministration",
  "id": "ma-001",
  "status": "completed",
  "medication": {
    "reference": {
      "reference": "Medication/med-amlodipine-5mg"
    }
  },
  "subject": {
    "reference": "Patient/patient-001"
  },
  "occurenceDateTime": "2025-01-16T07:00:00+07:00",
  "performer": [
    {
      "actor": {
        "reference": {
          "reference": "Practitioner/practitioner-002",
          "display": "ĐD. Lê Thị C"
        }
      }
    }
  ],
  "request": {
    "reference": "MedicationRequest/mr-amlodipine-001"
  },
  "dosage": {
    "text": "1 viên uống",
    "route": {
      "coding": [
        {
          "system": "http://snomed.info/sct",
          "code": "26643006",
          "display": "Oral route"
        }
      ]
    },
    "dose": {
      "value": 5,
      "unit": "mg",
      "system": "http://unitsofmeasure.org",
      "code": "mg"
    }
  }
}

5. Immunization — Tiêm chủng

{
  "resourceType": "Immunization",
  "id": "imm-covid-001",
  "status": "completed",
  "vaccineCode": {
    "coding": [
      {
        "system": "http://hl7.org/fhir/sid/cvx",
        "code": "208",
        "display": "SARS-COV-2 (COVID-19) vaccine, mRNA, spike protein, LNP, preservative free, 30 mcg/0.3mL dose"
      }
    ],
    "text": "Pfizer-BioNTech COVID-19 Vaccine"
  },
  "patient": {
    "reference": "Patient/patient-001"
  },
  "encounter": {
    "reference": "Encounter/encounter-vaccination-001"
  },
  "occurrenceDateTime": "2024-03-15T09:30:00+07:00",
  "primarySource": true,
  "location": {
    "reference": "Location/loc-vaccination-center"
  },
  "lotNumber": "EW0150",
  "expirationDate": "2024-09-30",
  "site": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/v3-ActSite",
        "code": "LA",
        "display": "Left arm"
      }
    ]
  },
  "route": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/v3-RouteOfAdministration",
        "code": "IM",
        "display": "Intramuscular"
      }
    ]
  },
  "doseQuantity": {
    "value": 0.3,
    "unit": "mL",
    "system": "http://unitsofmeasure.org",
    "code": "mL"
  },
  "performer": [
    {
      "function": {
        "coding": [
          {
            "system": "http://terminology.hl7.org/CodeSystem/v2-0443",
            "code": "AP",
            "display": "Administering Provider"
          }
        ]
      },
      "actor": {
        "reference": "Practitioner/practitioner-002"
      }
    }
  ],
  "protocolApplied": [
    {
      "series": "COVID-19 Primary Series",
      "doseNumber": "2"
    }
  ]
}

6. Hệ thống mã thuốc

CodeSystemMục đíchPhạm vi
ATC (WHO)Phân loại thuốcQuốc tế
RxNorm (NLM)Tên thuốc chuẩn hóaHoa Kỳ
SNOMED CTThuật ngữ lâm sàng (gồm thuốc)Quốc tế
CVX (CDC)Mã vaccineHoa Kỳ (dùng rộng rãi)
NDCNational Drug CodeHoa Kỳ

7. Tổng kết

  • Medication — Thông tin thuốc (thành phần, dạng bào chế)

  • MedicationRequest — Y lệnh kê đơn (dosage, dispense, substitution)

  • MedicationAdministration — Ghi nhận cho thuốc thực tế

  • MedicationDispense — Dược sĩ cấp phát thuốc

  • Immunization — Tiêm chủng với đầy đủ thông tin vaccine, liều, lô

  • Sử dụng CodeSystems: ATC, RxNorm, CVX, SNOMED CT