Global Core Electronic Medicinal Product Information (ePI)
1.1.0 - trial-use International flag

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

Version Control

Page standards status: Informative

Technical Details ยท Lifecycle Management

Managing the ePI Lifecycle

A structured approach to versioning, auditing, and traceability for ePI documents โ€” from initial draft through regulatory approval, variation, and eventual withdrawal.

Version Identifiers at a Glance
Server-Managed
Bundle.id

A UUID that uniquely identifies the Bundle instance on the server. Not persistent across servers โ€” will change if the ePI is copied or migrated.

Server-Managed
Bundle.meta.versionId

A version counter (1, 2, 3โ€ฆ) incremented automatically by the server with each update to this Bundle.

Business-Managed
Bundle.identifier

A UUID that stays constant across all versions of an ePI. Assigned by the authoring tool. Survives server migrations โ€” used to group all versions of one ePI together.

Business-Managed
Composition.identifier + .version

A new UUID is generated for each document version to uniquely distinguish it. The version number (1, 2, 3โ€ฆ) is also incremented by the authoring tool.

Composition.status โ€” Lifecycle States
๐Ÿ“
preliminary
Draft under review โ€” not yet approved
โ†’
โœ…
final
Officially approved by the regulatory authority
โ†’
๐Ÿ”ด
deprecated
Superseded, withdrawn, or discontinued
|
๐Ÿšซ
cancelled
Draft abandoned before approval
|
โš ๏ธ
entered-in-error
Created by mistake โ€” must be ignored

The arrows indicate the normal approval flow. The vertical bar separates terminal error states that can occur from any point in the lifecycle.

Composition.relatesTo โ€” Relationship Types
ValueWhen to Use
derived-from Creating a new draft by copying content from an existing final ePI (e.g., starting a variation or safety update).
amends A new approved ePI modifies or adds content to a previous approved ePI โ€” used in merge scenarios where parallel variations are consolidated.
replaces A newer version (draft or final) completely supersedes an earlier version within the same ePI lineage.
retracts Formally withdraws or invalidates a previous version โ€” used with status = deprecated or entered-in-error.
Version Control โ€” Step by Step
1
Creating a New Version
  • New Bundle created with a new Bundle.id and meta.versionId = "1"
  • Bundle.identifier stays the same as previous versions
  • New Composition.identifier and incremented .version
  • Composition.relatesTo references the prior version
2
Updating an Existing Version
  • Server increments Bundle.meta.versionId and updates meta.lastUpdated
  • Bundle.identifier remains unchanged
  • New Composition.identifier and .version generated if this constitutes a new document version
3
Tracking & Audit
  • Both Bundle.identifier and Composition.identifier allow tracking across systems
  • Composition.relatesTo builds a version history chain
  • Server-managed fields ensure FHIR versioning compliance
ePI Lifecycle โ€” Worked Example
# ePI Document Action Bundle.identifier Comp.identifier Ver Status relatesTo
1Initial ePICompany creates initial draft UUID-1UUID-A11 preliminary โ€”
2Initial ePICompany updates draft UUID-1UUID-A22 preliminary replaces UUID-A1
3Initial ePICompany updates draft UUID-1UUID-A33 preliminary replaces UUID-A2
4Initial ePIRegulator approves ePI UUID-1UUID-A44 final replaces UUID-A3
5Safety Update ePICompany creates draft from approved ePI UUID-1UUID-B15 preliminary derived-from UUID-A4
6Stability Update ePICompany creates draft from approved ePI UUID-1UUID-C16 preliminary derived-from UUID-A4
10Stability Update ePIRegulator approves ePI UUID-1UUID-C310 final replaces UUID-C2
11Safety Update ePIRegulator approves ePI UUID-1UUID-B411 final replaces UUID-B3
12Stability Update ePIMerge content from approved safety update UUID-1UUID-C412 final amends UUID-C3 derived-from UUID-B4

Rows 7โ€“9 (intermediate draft updates) are omitted for brevity.

Graphical Lifecycle Views
Figure 1
Initial approval workflow
From initial draft to first approved ePI
Figure 2
Parallel variations and merge
Parallel safety and stability variations with final merge
Figure 3
Withdrawal example
Deprecation / withdrawal of an authorised ePI