Global Core Electronic Medicinal Product Information (ePI), published by HL7 International / Biomedical Research and Regulation. This guide is not an authorized publication; it is the continuous build for version 1.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/emedicinal-product-info/ and changes regularly. See the Directory of published versions
Type 1 Digital Label
Before You Start
Complete these three steps before building any ePI type.
📖
Step A
Read the Global ePI IG
Familiarise yourself with the Vulcan eMedicinal Product Information standard and its four ePI types.
🏛️
Step B
Read your national ePI guidance
Your health regulator may publish specific formatting rules, section codes, or terminology requirements that extend this guide.
Check your national regulator's website
🛠️
Step C
Get a structured authoring tool
There are numerous structured authoring tools available. Consult different vendors to find the right tool that fits your needs and budget
What is ePI Type 1?
An ePI Type 1 is the digital equivalent of your existing DOCX or PDF label (e.g., a Summary of Product Characteristics (SmPC), Patient Information Leaflet (PIL), Instructions For Use, Product Monograph, Medication Guide) converted into a structured FHIR document. It preserves the regulator's required template headings, full narrative text, tables, and embedded images, making the document machine-readable while remaining human-readable.
You will create these FHIR resources
📦 Bundle
📄 Composition
🖼️ Binary (images)
How the Type 1 resources connect
Bundle
contains
Composition
references
Binary (Images)
Step-by-Step Workflow
1
Get the DOCX version of the label
Obtain the most recent regulator-approved version of the label in Word format (DOCX or DOC). This is your source of truth. Always use the version that matches the current marketing authorisation.
💡
Tip: If only a PDF exists, some structured authoring tools can convert it to DOCX or directly to ePI. Review the output carefully — formatting artefacts from PDF conversion can introduce errors.
2
Before converting any content, answer these questions. Your answers drive the document's core metadata.
| Question |
Drives this ePI field |
| Which jurisdiction? | identifier.system (regulator's namespace) |
| What template type is this (e.g. SmPC, package leaflet, instructions for use, or other local template type)? | Composition.type (document type code) |
| Which language(s)? | Composition.language (ISO 639-1, e.g. en) |
| Which medicinal product? | Composition.title + Type 2 product linkage |
💡
One ePI document per language: Each language version is a separate ePI document (e.g., one ePI for French, a separate ePI for Japanese). Do not mix languages within a single ePI document.
3
Convert DOCX content to ePI sections — apply the Granularity Rule
Map each top-level section heading in the regulator's Word document to a top-level <section> in the Composition resource. Narrative text goes inside each section's <text> element as XHTML. Reproduce the authorized content exactly as it appears in the Word document. This includes formatting, tables, and lists.
Formatting vs. Styling
Embedded formatting is required for structural and semantic meaning (e.g., using standard HTML tags for bold, underline, italics, or text alignment). However, styles should never be embedded inline (e.g., hardcoded fonts, font sizes, text colors, or rigid table borders). All visual presentation must be handled externally. Refer to the Style Sheets page for details.
⚡ The ePI Granularity Rule
In a Word document, sections like Indications are typically one large block of text. In an ePI, each individual item should be its own child subsection. This granularity enables more advanced use cases like personalization, dynamic content generation, healthcare interoperability, and advanced search.
Example 1 — Indications
⚠ Word: Monolith
4. INDICATIONS
This medicine is indicated for:
• Mild to moderate pain
• Reduction of fever
• Musculoskeletal pain in adults
✓ ePI: Granular
<section> ← Indications (parent)
<section> Mild to moderate pain </section>
<section> Reduction of fever </section>
<section> Musculoskeletal pain </section>
</section>
Example 2 — Contraindications
⚠ Word: Monolith
5. CONTRAINDICATIONS
Do not use if the patient has:
• Known hypersensitivity to the active substance
• Severe hepatic impairment
• Active peptic ulcer disease
✓ ePI: Granular
<section> ← Contraindications (parent)
<section> Known hypersensitivity </section>
<section> Severe hepatic impairment </section>
<section> Active peptic ulcer disease </section>
</section>
Example 3 — Warnings & Special Populations
⚠ Word: Monolith
4.4 SPECIAL WARNINGS
Use with caution in:
• Elderly patients (≥ 65 years)
• Patients with renal impairment
• Patients with cardiovascular disease
✓ ePI: Granular
<section> ← Special Warnings (parent)
<section> Elderly patients </section>
<section> Renal impairment </section>
<section> Cardiovascular disease </section>
</section>
4
Convert images to Base64 Binary
Labels often contain diagrams, instructional graphics, or logos. These must be embedded directly inside the ePI — not linked to external files — so the document is fully self-contained.
🖼️
A. Export the image
Save as SVG (preferred), PNG, or JPEG from the source document
🔢
B. Encode to Base64
Use a reputable online tools or your authoring platform to convert the image to a Base64 string
🔗
C. Place & cross-reference
Add a Binary resource in contained, reference it with <img src="#id"/> in the narrative
💡
Preferred format: SVG scales perfectly on any screen and is typically smaller than PNG. JPEG and PNG are acceptable for legacy content. See the Technical Style Guide for full image guidance.
5
Assemble the Bundle and validate
Wrap the Composition (and any Binary resources) inside a FHIR Bundle with type: document. Then validate the complete file against the Type 1 profile.
| Bundle field |
What to enter |
id | A system-generated UUID |
identifier | The regulator-assigned document ID for this label |
type | Always document |
timestamp | Date/time the bundle was assembled (ISO 8601) |
entry[0] | Must be the Composition resource; Binary entries follow |
✅
Validate: Run the completed Bundle against the Type 1 FHIR Profile. Fix any errors before submitting to your regulator. Full XML/JSON examples are in the Artifacts section.
6
Manage lifecycle and version control
Once your ePI is authorized and published, any future changes must follow a structured versioning process. A new version of the label requires careful updates to the Bundle, Composition, and List resources to maintain historical traceability.
🔄 See Version Control Guide
Before creating a v2.0 or subsequent version of this ePI, read the comprehensive Version Control guide. It explains how to deprecate old versions, link new versions to the historical record, and increment your identifiers correctly.
What's next?