E-prescription via FHIR for Vietnam
This page proposes a FHIR model for electronic prescribing, from order to dispensing. Signing or confirmation, connection to the national prescription system, display in a personal health record, and pharmacy lookup must follow the applicable instrument, endpoint, and contract. FHIR alone does not make the chain legally effective, fully audited, or interoperable.
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. - Reference workflow: prescribe in the EMR, sign or confirm through an authorized mechanism, exchange through a published channel, and record dispensing; VNeID and QR steps apply only when the relevant contract supports them.
- 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.
- Circular 13/2025/TT-BYT defines permitted forms of electronic signing or confirmation in the EMR, while Decree 137/2024/NĐ-CP provides a related electronic-transactions framework. Neither prescribes a FHIR signature container.
- 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
- Risks to control when digitizing prescriptions
- Legal framework 2025-2026
- FHIR e-prescription architecture
- The three core resources
- Drug codes and identifier sets
- Full end-to-end workflow
- VNeID and official prescription channels
- Traditional Vietnamese medicine prescriptions
- Interaction alerts and CDS Hooks
- Frequently asked questions
- References
- Further reading
1. Risks to control when digitizing prescriptions
Paper prescriptions, printouts from local software, and electronic prescriptions may coexist during a transition. The reviewed public corpus does not provide a reliable nationwide share for each form; this section describes design risks to assess, not adoption or fraud statistics.
Safety risks can arise when dosage, route, or product information is unclear, when medication history is unavailable, or when records from multiple facilities cannot be reconciled. Digitizing the workflow reduces these risks only when catalogs, validation, confirmation processes, and user interfaces are designed appropriately.
Integrity risks include alteration, copying, duplicate dispensing, and inability to reconcile an order with dispensing and reimbursement records. An electronic system needs the applicable signature or confirmation, state controls, prescription identifiers, and reconciliation evidence; moving to FHIR is not self-sufficient proof against fraud.
Cross-institution analytics also depends on coding quality for products, units and dosage, as well as purpose and lawful data-processing authority. A FHIR e-prescription contract can support standardization and exchange, but still needs governed drug catalogs, suitable signing or confirmation, access controls, reconciliation, and end-to-end tests.
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 27/2021/TT-BYT | Effective 15/02/2022; check amendments at implementation time | Regulates electronic prescribing and the legal value of an electronic prescription; it is a separate legal layer from the FHIR model. |
| Decisions 808/QĐ-BYT and 425/QĐ-BYT | Technical and operational decisions for the National Prescription System | Govern connection, prescription identifiers, and system operation; an adapter must follow the current specification and must not assume a FHIR API. |
| 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 — defines forms of electronic signing/confirmation and requirements for infrastructure and retrieval; it does not itself mandate FHIR AuditEvent. |
| 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 | A basis for the Personal Health Record integrated into VNeID; the current guidance and contract determine the prescription dataset and display behavior. |
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; transport, authentication, signatures, and authorization must follow the published contract for that flow.
[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]
FHIR Resources are not immutable by default. When a signed order must be preserved, the
implementation profile must define its signed snapshot, version history, and no-overwrite policy.
Cancellation or replacement may use status and a new MedicationRequest with
priorPrescription where its semantics fit; test the rule with every receiving system.
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. Reference end-to-end workflow
This illustrative cycle has ten steps. Whether each step applies depends on the contract, CapabilityStatement, signing policy, and business workflow of the participants:
- 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 — status changes under the workflow; use
Provenancewhen origin or attestation must be exchanged and the applicable profile defines that meaning. - The record is sent to an external channel — only under a published endpoint, payload, and agreement; do not assume a default VNeID prescription flow.
- 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 — uses the API or adapter allowed by the contract, checks the signature, validity, and dispensing history under the applicable rules.
- Dispenses the medication and records the event — creates a
MedicationDispensewithstatus = "completed"and a back-link to the original prescription. - Synchronizes the outcome — returns it to the EMR and BHYT channel when those interfaces require it; a FHIR Resource alone does not establish reimbursement eligibility.
The deployment must derive an event matrix from its data flow, threat model, and audit policy.
Create AuditEvent only for events whose semantics and requirements call for it;
the Resource does not itself prove compliance with Circular 13/2025 or Law 91/2025.
7. VNeID and official prescription channels
Decision 1332/QĐ-BYT and subsequent guidance provide a basis for the Personal Health Record integrated into VNeID. This is distinct from the National Prescription System governed by Circular 27/2021, Decisions 808/QĐ-BYT and 425/QĐ-BYT, and current technical specifications. None of these instruments by itself turns VNeID into a pharmacy-facing FHIR endpoint.
Separate official contracts from reference designs
As of 18 July 2026, the reviewed public corpus includes separate APIs/specifications for
the National Prescription System and pharmaceutical database, but does not establish a
pharmacy-facing FHIR API through VNeID. Do not implement assumed /rx/
endpoints, QR payloads, or JWT rules in place of an official contract. Pin the technical
decision, API version, environment, and credentials issued by the destination system.
A QR code carrying a prescription identifier and a short-lived token is only one design option. The lookup endpoint, signature validation, order state, and dispensing limit must come from an authorized contract. If FHIR is used internally or in an adapter, that contract needs an Implementation Guide or CapabilityStatement, a threat model, and a corresponding test suite; this flow cannot be inferred from Decision 1332/QĐ-BYT.
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.
The event matrix should identify which alerts and decisions need records. Use
AuditEvent for security/privacy events and Provenance for origin or
attestation when their semantics fit; neither is a default business log or self-sufficient legal evidence.
10. Frequently asked questions
What about small pharmacies that do not yet have a FHIR system?
A pharmacy need not operate a FHIR server if the contract permits a client or adapter. A QR-scanning PWA is one user-interface option, but it must still meet authentication, authorization, offline/conflict handling, data-protection, and endpoint-conformance requirements.
Where do patients pick up the prescription if they don't have VNeID yet?
The fallback channel must follow the applicable prescribing workflow and pharmacy contract; it may be a printout or prescription number where the governing rules and destination support it. Do not assume every pharmacy can query a hospital FHIR endpoint directly.
How do you change a prescription after it has been signed?
The policy must preserve the signed snapshot and version history. Where replacement semantics
apply, create a new MedicationRequest with priorPrescription pointing
to the prior order and update status under the workflow; do not assume every change uses
stopped.
Can a single prescription be dispensed multiple times?
Yes. The numberOfRepeatsAllowed field within dispenseRequest sets
the number of authorized repeats beyond the initial dispense. One authorized dispense may,
however, produce multiple records for partial fills, so a simple count of
MedicationDispense resources is not sufficient. Validation must reconcile status,
repeats, aggregate quantity, validity period, and the applicable business rules.
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 27/2021/TT-BYT — Electronic prescribing.
- Decisions 808/QĐ-BYT and 425/QĐ-BYT — connection to and operation of the National Prescription System.
- 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).