E-prescription via FHIR for Vietnam
Paper prescriptions with handwritten signatures are giving way to FHIR-based electronic prescriptions with legally valid digital signatures. The physician prescribes inside the EMR, signs digitally, pushes the record through the electronic medical record system and the Personal Health Record on VNeID — Vietnam's national digital identification app — and the pharmacy then authenticates and dispenses the medication. Every event in the chain is logged, auditable, and interoperable across healthcare facilities.
This page is written for hospital CIOs designing an e-prescription module, vendor development teams building pharmacy software, pharmacists running pharmacy chains, and legal teams who need to reconcile the latest regulatory framework through 2026.
TL;DR
- Three core resources:
MedicationRequestmodels the prescription,MedicationDispenserecords each dispensing event, andMedicationdescribes the drug entry in the catalog. - Standard workflow: the physician prescribes inside the EMR, signs digitally, syncs to the Personal Health Record on VNeID, the patient presents a QR code at the pharmacy, and the pharmacist authenticates before dispensing.
- The legal framework for prescribing chemical drugs and biologicals (outpatient) is governed by Circular 26/2025/TT-BYT; prescribing of traditional Vietnamese medicine (TVM/YHCT) is governed by Circular 55/2025/TT-BYT; social health insurance (BHYT) payment for traditional medicines is covered by Circular 27/2025/TT-BYT.
- The EMR is the legal container for the prescription — Circular 13/2025/TT-BYT requires legally valid digital signatures, while Decree 137/2024/NĐ-CP provides the general electronic transactions framework.
- Drug coding is layered: a Vietnam-internal CodeSystem, the WHO ATC classification, and UCUM units of measure; the national catalog standard is still being finalized.
On this page
- The paper prescription problem
- Legal framework 2025-2026
- FHIR e-prescription architecture
- The three core resources
- Drug codes and identifier sets
- Full end-to-end workflow
- Integration with the Personal Health Record on VNeID
- Traditional Vietnamese medicine prescriptions
- Interaction alerts and CDS Hooks
- Frequently asked questions
- References
- Further reading
1. The paper prescription problem
Vietnam's healthcare system still circulates a large volume of paper prescriptions. Physicians either handwrite or print them from a local application, sign by hand, stamp, and the patient carries the paper to a pharmacy and hands it to the pharmacist. This approach generates three distinct categories of risk: clinical safety, fraud, and lost analytical capability.
On clinical safety, handwriting is easy to misread — especially for dosage, route of administration, and lookalike brand names. When the pharmacy cannot see the patient's current medication history, interaction alerts depend solely on the pharmacist's memory. Patients treated at multiple facilities typically carry around scattered old prescriptions, making it hard to reconcile their full medication history.
On fraud, paper prescriptions can be forged, altered, or copied at will. Tightly controlled drug classes — opioids, latest-generation antibiotics, psychotropics — leave no audit trail when paper is used. Vietnam Social Security (BHYT) routinely struggles to reconcile outpatient prescriptions against social health insurance reimbursement records.
On analytics, prescription data sits in local data silos, is not standardized, and is nearly impossible to extract for purposes such as antimicrobial resistance surveillance, chronic disease adherence monitoring, or pharmacovigilance. FHIR e-prescription resolves all three problems with a standard data model, digital signatures, and API-based interoperability.
2. Legal framework 2025-2026
E-prescription in Vietnam is regulated simultaneously by three groups of legal instruments: prescribing rules, electronic medical records, and electronic transactions. You need to read all three groups to see the complete picture.
| Instrument | Effective date | Scope of application for e-prescription |
|---|---|---|
| Circular 26/2025/TT-BYT | Issued 30/06/2025, effective 01/07/2025 | Regulates the prescribing of chemical drugs and biologicals in outpatient care — the primary basis for chemical-drug MedicationRequest. |
| Circular 55/2025/TT-BYT | Effective 01/03/2026 | Regulates the prescribing of traditional medicines and herbal materials — the legal basis for traditional Vietnamese medicine MedicationRequest. |
| Circular 27/2025/TT-BYT | Issued 01/07/2025, effective 01/09/2025 | Catalog and BHYT reimbursement rules for herbal medicines and traditional drugs — tied to Coverage and Claim, not to prescribing rules. |
| Circular 13/2025/TT-BYT | Effective 21/07/2025 | Electronic medical records — requires legally valid digital signatures, audit trail, and traceability; the prescription is one component of the EMR. |
| Decree 137/2024/NĐ-CP | Effective 23/10/2024 | Electronic transactions framework for state agencies — the general legal foundation for digital signatures and authentication. |
| Decision 1332/QĐ-BYT | In rollout | Personal Health Record integrated into the VNeID app — the patient-facing channel for displaying prescriptions. |
Key distinction between Circular 27/2025 and Circular 55/2025
Circular 27/2025/TT-BYT belongs to the BHYT instrument family — it specifies the catalog and
reimbursement levels for herbal medicines and traditional drugs when the BHYT fund pays. It
does not regulate the prescribing process. The legal basis for prescribing traditional
Vietnamese medicine is Circular 55/2025/TT-BYT, which takes effect on 01/03/2026. When
modeling a MedicationRequest for a traditional medicine,
the primary citation is Circular 55, while Circular 27 applies only to
Claim and Coverage.
Decree 137/2024/NĐ-CP supplies the general legal framework for electronic transactions and digital signatures within state agencies; it does not mandate a specific signature container format such as PKCS#7 or JOSE for prescriptions. Choosing the digital-signature format is a decision left to each facility's implementation profile, aligned with the digital-certificate ecosystem and PKI infrastructure already in use at the hospital.
3. FHIR e-prescription architecture
The reference model splits the e-prescription chain across four system domains: the prescribing facility's EMR, the hospital's FHIR server, the patient-facing channel, and the dispensing pharmacy's system. Each domain has its own trust boundary and exchanges data over digitally signed end-to-end protocols.
[Physician in EMR]
↓ creates MedicationRequest + digital signature
[Hospital FHIR Server]
↓ syncs through the integration gateway
[Personal Health Record on VNeID]
↓ patient views in the app
[Patient arrives at pharmacy]
↓ presents prescription identifier
[Pharmacy system — FHIR client]
↓ verifies signature, reads MedicationRequest
[Dispenses medication + creates MedicationDispense]
↓ writes back to FHIR server
[Physician sees the prescription has been dispensed in the EMR]
The most important property is the immutability of MedicationRequest after it has
been signed. Any subsequent change — cancellation, dose change, drug switch — is implemented
as a new MedicationRequest with a priorPrescription link back to the
old one; the original is never overwritten. This rule satisfies the audit-trail requirement of
Circular 13/2025/TT-BYT and aligns with FHIR's immutable-record model.
4. The three core resources
4.1. MedicationRequest — the prescription
MedicationRequest is the legal representation of the prescription. The
status field takes values active, completed,
stopped, or cancelled; the intent field distinguishes a
formal order (order) from an internal proposal (proposal) or a
treatment plan (plan). The requester field references the prescribing
physician, constrained to a Practitioner with a valid practice license.
{
"resourceType": "MedicationRequest",
"id": "mr-amlodipin-001",
"status": "active",
"intent": "order",
"subject": { "reference": "Patient/lan-001" },
"encounter": { "reference": "Encounter/enc-001" },
"authoredOn": "2026-04-30T11:00:00+07:00",
"requester": { "reference": "Practitioner/bs-001" },
"medicationCodeableConcept": {
"coding": [
{
"system": "http://fhir.hl7.org.vn/core/CodeSystem/vn-medication",
"code": "AML005",
"display": "Amlodipin 5mg viên nén"
},
{
"system": "http://www.whocc.no/atc",
"code": "C08CA01",
"display": "Amlodipine"
}
]
},
"dosageInstruction": [
{
"text": "Uống 1 viên sau bữa sáng",
"timing": {
"repeat": { "frequency": 1, "period": 1, "periodUnit": "d" }
},
"route": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "26643006",
"display": "Oral route"
}
]
},
"doseAndRate": [
{
"doseQuantity": {
"value": 5,
"unit": "mg",
"system": "http://unitsofmeasure.org",
"code": "mg"
}
}
]
}
],
"dispenseRequest": {
"validityPeriod": {
"start": "2026-04-30",
"end": "2026-05-30"
},
"numberOfRepeatsAllowed": 0,
"quantity": {
"value": 30,
"unit": "viên",
"system": "http://unitsofmeasure.org",
"code": "{tbl}"
}
},
"substitution": {
"allowedBoolean": true
}
}
The medicationCodeableConcept block carries multiple parallel coding
entries: a Vietnam-internal code and a WHO ATC code. The dosageInstruction block
structures the dose — timing for the schedule, route for the route of
administration coded against SNOMED CT, and doseQuantity for the per-dose amount.
The dispenseRequest block bounds the validity period and the number of refills
allowed.
4.2. MedicationDispense — the dispensing event
When the pharmacy dispenses the medication, the system creates a
MedicationDispense that points back to MedicationRequest through
authorizingPrescription. This resource records the actual dispensing event: who
dispensed, where, how much, and when. It is the basis for matching the prescription against the
BHYT reimbursement record and for detecting double-dispensing.
{
"resourceType": "MedicationDispense",
"id": "md-amlodipin-001",
"status": "completed",
"subject": { "reference": "Patient/lan-001" },
"performer": [
{ "actor": { "reference": "Practitioner/pharm-001" } }
],
"location": { "reference": "Location/pharm-h-001" },
"authorizingPrescription": [
{ "reference": "MedicationRequest/mr-amlodipin-001" }
],
"medicationCodeableConcept": {
"coding": [
{
"system": "http://fhir.hl7.org.vn/core/CodeSystem/vn-medication",
"code": "AML005",
"display": "Amlodipin 5mg viên nén"
}
]
},
"quantity": {
"value": 30,
"unit": "viên",
"system": "http://unitsofmeasure.org",
"code": "{tbl}"
},
"whenHandedOver": "2026-04-30T15:30:00+07:00",
"dosageInstruction": [
{
"text": "Uống 1 viên sau bữa sáng"
}
]
} 4.3. Medication — the drug catalog entry
Medication describes a drug in the catalog: code, dosage form, ingredients, and
strength. A single Medication is referenced by many
MedicationRequest instances. In production data, Medication is
typically synchronized periodically from the hospital's drug catalog or from the BHYT catalog.
{
"resourceType": "Medication",
"id": "med-amlodipin-5mg",
"code": {
"coding": [
{
"system": "http://fhir.hl7.org.vn/core/CodeSystem/vn-medication",
"code": "AML005",
"display": "Amlodipin 5mg viên nén"
},
{
"system": "http://www.whocc.no/atc",
"code": "C08CA01",
"display": "Amlodipine"
}
]
},
"form": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "385055001",
"display": "Tablet"
}
]
},
"ingredient": [
{
"itemCodeableConcept": {
"coding": [
{
"system": "http://www.whocc.no/atc",
"code": "C08CA01",
"display": "Amlodipine besilate"
}
]
},
"strength": {
"numerator": {
"value": 5,
"unit": "mg",
"system": "http://unitsofmeasure.org",
"code": "mg"
},
"denominator": {
"value": 1,
"unit": "viên",
"system": "http://unitsofmeasure.org",
"code": "{tbl}"
}
}
}
]
} 5. Drug codes and identifier sets
The drug-coding system in Vietnamese FHIR is layered into three parallel tiers. The first tier is the marketing authorization number issued by the Drug Administration of Vietnam when a drug is licensed for sale on the market. The middle tier is the BHYT catalogs that accompany payment circulars — for example, the essential drugs list and the traditional medicines list per Circular 27/2025/TT-BYT. The outer tier is the international WHO ATC code, used for pharmacological classification and cross-border reconciliation.
The Vietnamese Pharmacopoeia is a set of quality standards for drugs — it specifies purity, test methods, and dosage-form requirements — not a list of drugs that may be prescribed. When writing technical documentation, draw the lines clearly: the Drug Administration's authorization number identifies the product, the BHYT catalog drives reimbursement, ATC drives analytics, and the Pharmacopoeia drives quality references.
The CodeSystem expected in the VN Core IG uses the canonical URI
http://fhir.hl7.org.vn/core/CodeSystem/vn-medication. As of this writing, that
CodeSystem does not have a finalized public spec and is being calibrated against the
interoperable drug-code catalog shared between the Ministry of Health and Vietnam Social
Security. Early-adopter projects should keep the reference open and stay ready to update once
the formal spec is published.
ATC uses the full URI http://www.whocc.no/atc. Units of measure follow UCUM at
http://unitsofmeasure.org. RxNorm has no Vietnamese translation and is suitable
only as a reference mapping when exchanging data with United States systems.
6. Full end-to-end workflow
A complete e-prescription cycle breaks down into ten steps. Each step has its own inputs, outputs, and the events that need to be recorded:
- The physician prescribes inside the EMR interface — selects the patient, picks the drug from the local catalog, enters dose and route.
- The system runs pre-confirmation checks — reconciles against recorded allergies, screens for interactions with the active medication list, and matches contraindications against current diagnoses.
- The physician confirms the prescription — the system creates a draft
MedicationRequestwithstatus = "draft". - The physician signs digitally — using a personal digital certificate registered with the facility; the signature container is a decision of the hospital's implementation profile.
- The record is written to the FHIR server —
statusmoves toactive, andProvenancecaptures who signed and when. - The record is pushed to the Personal Health Record on VNeID through the integration gateway operated by the Ministry of Health under Decision 1332/QĐ-BYT.
- The patient arrives at the pharmacy and presents the prescription identifier — either as a QR code in the app or as a printed prescription number.
- The pharmacy system authenticates and reads the prescription — calls the FHIR API, validates the signature, and verifies validity and the number of times it has been dispensed.
- Dispenses the medication and records the event — creates a
MedicationDispensewithstatus = "completed"and a back-link to the original prescription. - Syncs back to the EMR and BHYT — the physician sees that the prescription has been dispensed, and the BHYT reimbursement file has the necessary supporting evidence.
Each step generates a corresponding AuditEvent, satisfying the audit-trail
requirements of Circular 13/2025/TT-BYT and the Personal Data Protection Law (Law 91/2025/QH15).
7. Integration with the Personal Health Record on VNeID
Decision 1332/QĐ-BYT defines the content and integration scope of the Personal Health Record on VNeID. It specifies what types of data are displayed to the patient — clinical visit summaries, lab results, prescriptions — while also setting the principle that the data is created, signed, and synchronized by the originating healthcare facility.
Reference model — pending official spec
As of May 2026, the Ministry of Health and the Ministry of Public Security have not
published a public API for pharmacies to look up prescriptions through VNeID. The
descriptions of the /rx/ endpoints, QR code format, and JWT
authentication procedures in this document are a reference model intended to support
internal system design; implementing facilities must reconcile with the official spec when
it is published and remain ready to adapt.
The reference model that several hospitals are jointly building today assumes the QR code
carries the prescription identifier together with a short-lived token. When the pharmacy scans
the QR code, its system calls the FHIR endpoint of the prescribing hospital, validates the
digital signature on the MedicationRequest, and verifies that the prescription is
still valid, has not been canceled, and has not been dispensed up to the allowed quantity. The
full flow should be standardized through an implementation guide led by the Ministry of Health.
8. Traditional Vietnamese medicine prescriptions
Traditional Vietnamese medicine (TVM/YHCT) has three peculiarities that do not exist in
chemical-drug prescribing: a formula typically combines several herbs, each at its own
weight; herbs are usually dispensed by the "thang" (a single dose unit) rather than by tablet;
and the diagnostic and therapeutic vocabulary has its own coding system. FHIR can model all
three peculiarities through the Medication.ingredient list and
Medication.amount in units of "thang".
{
"resourceType": "Medication",
"id": "med-bo-trung-ich-khi-thang",
"code": {
"coding": [
{
"system": "http://fhir.hl7.org.vn/core/CodeSystem/vn-yhct-prescription",
"code": "BTIKT-001",
"display": "Bổ trung ích khí thang"
}
]
},
"ingredient": [
{
"itemCodeableConcept": {
"coding": [
{
"system": "http://fhir.hl7.org.vn/core/CodeSystem/vn-yhct-herb",
"code": "DD001",
"display": "Đảng sâm"
}
]
},
"strength": {
"numerator": { "value": 16, "unit": "g", "system": "http://unitsofmeasure.org", "code": "g" },
"denominator": { "value": 1, "unit": "thang", "system": "http://unitsofmeasure.org", "code": "1" }
}
},
{
"itemCodeableConcept": {
"coding": [
{
"system": "http://fhir.hl7.org.vn/core/CodeSystem/vn-yhct-herb",
"code": "DD002",
"display": "Hoàng kỳ"
}
]
},
"strength": {
"numerator": { "value": 20, "unit": "g", "system": "http://unitsofmeasure.org", "code": "g" },
"denominator": { "value": 1, "unit": "thang", "system": "http://unitsofmeasure.org", "code": "1" }
}
}
]
} The legal basis for prescribing traditional Vietnamese medicine is Circular 55/2025/TT-BYT, effective 01/03/2026. It governs the presentation of formulas, the diagnostic requirements framed in TVM terms, and the practitioner's scope of practice. When BHYT pays, the traditional medicine prescription is also bound by Circular 27/2025/TT-BYT — the BHYT catalog of traditional drugs, payment caps, and prescribing conditions per disease category.
The shared TVM terminology codes have been issued by the Ministry of Health in two waves:
Decision 2552/QĐ-BYT dated 12/08/2025 for wave 1 — clinical patterns, diagnoses, acupoints,
and techniques; and Decision 3080/QĐ-BYT dated 26/09/2025 for wave 2 — symptoms, tongue,
pulse, treatment principles, herbal materials, and formulas. These are the source for the
vn-yhct-prescription and vn-yhct-herb CodeSystems planned for the
VN Core IG.
9. Interaction alerts and CDS Hooks
FHIR pairs naturally with CDS Hooks — the specification for embedding clinical decision
support inside an EMR. As the physician is about to confirm the prescription, the EMR fires a
medication-prescribe event to an external CDS service, sending along the patient
context and the draft prescription. The service returns a list of Card objects
carrying alerts: drug-drug interactions, drug-comorbidity interactions, allergies, unusually
high doses, and lower-cost equivalents at the same active ingredient.
In Vietnam, the CDS service can come from three sources: the drug-interaction database maintained by the Drug Administration, an in-house hospital system maintained by the clinical pharmacy team, or a commercial API from an international vendor. If the CDS service uses machine learning to predict interactions or recommend regimens, it may fall within the scope of Law 134/2025/QH15 on artificial intelligence (effective 01/03/2026), with an appropriate risk classification.
Every alert and every final decision by the physician — accept, dismiss, or modify — should be
recorded in Provenance or AuditEvent for downstream auditing. This
is good for patient safety and provides legal grounding when a clinical incident occurs.
10. Frequently asked questions
What about small pharmacies that do not yet have a FHIR system?
Independent pharmacies do not need to deploy a full FHIR server. A lightweight progressive web app (PWA) running in the browser, capable of scanning a QR code and calling REST APIs, is enough for the dispensing use case. Pharmacy software vendors can offer this PWA as a shared service.
Where do patients pick up the prescription if they don't have VNeID yet?
During the transition period, the prescription is printed on paper with a QR code and a textual prescription identifier. The patient brings the paper to the pharmacy, where the pharmacist either scans the QR code or types in the prescription number to retrieve the FHIR prescription from the hospital's system.
How do you change a prescription after it has been signed?
You don't edit the old one. Create a new MedicationRequest with
priorPrescription pointing back to the previous one and set the previous
prescription's status to stopped. Both records remain in place to
preserve the full history.
Can a single prescription be dispensed multiple times?
Yes. The numberOfRepeatsAllowed field within dispenseRequest sets
the number of refills. Each dispensing event creates its own
MedicationDispense; the total number of MedicationDispense records
referencing the same prescription must not exceed
numberOfRepeatsAllowed + 1.
11. References
- FHIR R4 — MedicationRequest, MedicationDispense, Medication.
- WHO Collaborating Centre for Drug Statistics Methodology — ATC classification.
- SNOMED International — SNOMED CT (reference codes for routes and dosage forms).
- UCUM — standard units of measure.
- CDS Hooks — specification for embedded clinical decision support.
- Circular 26/2025/TT-BYT — Prescribing of chemical drugs and biologicals (outpatient).
- Circular 55/2025/TT-BYT — Regulation on prescribing traditional medicines and herbal materials (effective 01/03/2026).
- Circular 27/2025/TT-BYT — BHYT catalog and reimbursement rules for herbal and traditional medicines.
- Circular 13/2025/TT-BYT — Electronic medical records.
- Decree 137/2024/NĐ-CP — Electronic transactions in state agencies.
- Decision 1332/QĐ-BYT — Personal Health Record on VNeID.
- Decision 2552/QĐ-BYT (12/08/2025) — Shared codes for traditional Vietnamese medicine terminology, wave 1.
- Decision 3080/QĐ-BYT (26/09/2025) — Shared codes for traditional Vietnamese medicine terminology, wave 2.
- Law 91/2025/QH15 — Personal Data Protection (effective 01/01/2026).
- Law 134/2025/QH15 — Artificial Intelligence (effective 01/03/2026).