IE Medication Events Implementation Guide
0.1.0 - Nostalgic IE (draft)
IE Medication Events Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Reference examples, for illustration only. This material was first published in IE Core 0.2.0 and moved here with the ePrescription and eDispensation profiles (IE Core ADR-009). The scenarios, payloads and foreign product codes are illustrative: all people, organisations and identifiers are fictional, and the cross-border flows are not specified by HIQA. They show how the IE MPD profiles can be used; they are not normative.
This page indexes all sample FHIR Bundle, FHIR IPS, and CDA document files provided in this Implementation Guide for the cross-border ePrescription workflow.
All FHIR examples are FHIR R4 Bundles that validate against the IE MPD profiles with the
FHIR Validator (22/22 pass; see Testing).
They are illustrative and synthetic. During the HIQA alignment they were cleaned of invented identifier systems and
national product codes, and their patients were given the fields the ePrescription profile requires
(scripts/audit/remediate_payloads.py, scripts/audit/conform_payloads.py). Where a source example had no street
address, the line carries the data-absent-reason extension rather than an invented value. Other countries'
identifiers keep their value but have no system, because no verified system URI was available; the issuing country
is named in assigner. The CDA documents use the HL7 example OID arc (OI-020).
For HIQA-aligned, conformant references, use the eight HIQA scenario Bundles.
Each outbound ePrescription Bundle contains the following FHIR resources. The AllergyIntolerance resource for the Penicillin allergy is always included so the dispensing pharmacy can perform automatic safety checks.
classDiagram
class Bundle {
resourceType: Bundle
type: collection
identifier: UUID
}
class Patient {
identifier: PPS + IHI + eIDAS
name: Seán Patrick Murphy
birthDate: 1975-03-15
address: Dublin, Ireland
}
class Practitioner {
identifier: GP-IE-12345
name: Dr. Aoife O'Brien
}
class Organization {
name: Grafton Street Medical Practice
address: Dublin 2
}
class AllergyIntolerance {
code: Penicillin / Amoxicillin
criticality: high
type: allergy
severity: severe
note: Do NOT dispense penicillin-class
}
class Medication {
code: ATC + destination country code
form: tablet / injection / capsule
}
class MedicationRequest {
status: active
intent: order
authoredOn: prescription date
dosageInstruction: dose + frequency
substitution: allowed or not-allowed
groupIdentifier: shared Rx group UUID
}
Bundle "1" --> "1" Patient : subject
Bundle "1" --> "1" Practitioner : requester
Bundle "1" --> "1" Organization : performer
Bundle "1" --> "1" AllergyIntolerance : safety alert
Bundle "1" --> "1..*" Medication : prescribed drug
Bundle "1" --> "1..*" MedicationRequest : prescription item
MedicationRequest --> Patient : for patient
MedicationRequest --> Practitioner : prescribed by
MedicationRequest --> Medication : prescribed drug
Patient --> AllergyIntolerance : has critical allergy
These bundles represent Irish ePrescriptions transmitted via MyHealth@EU to foreign pharmacies. Each bundle includes the Patient, Practitioner, Organization, AllergyIntolerance, Medication, and MedicationRequest resources.
| File | Destination | Medications | Drug Code System |
|---|---|---|---|
| IE→DE ePrescription | 🇩🇪 Germany | Metformin 500mg + Lisinopril 10mg | PZN (Pharmazentralnummer) |
| IE→ES ePrescription | 🇪🇸 Spain | Metformin 500mg + Lisinopril 10mg + Atorvastatin 20mg | CIMA (Agencia Española) |
| IE→FR ePrescription | 🇫🇷 France | Metformin 500mg + Lisinopril 10mg | CIP (ANSM) |
| IE→NL ePrescription | 🇳🇱 Netherlands | Metformin 500mg + Lisinopril 10mg + Atorvastatin 20mg | G-Standaard GNK |
| IE→LV ePrescription | 🇱🇻 Latvia | Metformin 500mg + Lisinopril 10mg | ZRA (Zāļu reģistrs) |
| IE→PT ePrescription | 🇵🇹 Portugal | Sertraline 50mg + Omeprazole 20mg | INFARMED |
| IE→DK ePrescription | 🇩🇰 Denmark | Warfarin 5mg | DKMA/VNR |
| IE→SE ePrescription | 🇸🇪 Sweden | Insulin Glargine + Insulin Aspart | LMV (Läkemedelsverket) |
| IE→AT ePrescription | 🇦🇹 Austria | Atorvastatin 80mg + Ramipril 10mg | BASG |
These bundles represent dispensation confirmation records returned from EU pharmacies to the Irish NCPeH. Each bundle includes the dispensing organization, pharmacist, dispensed products (with local drug codes), and the substitution status.
| File | Origin Country | Contents |
|---|---|---|
| DE eDispensation Response | 🇩🇪 Germany | Metformin + Lisinopril dispensed with PZN codes, generic substitution noted |
| LV eDispensation Response | 🇱🇻 Latvia | Metformin + Lisinopril dispensed with ZRA codes |
| PT eDispensation Response | 🇵🇹 Portugal | Sertraline + Omeprazole dispensed with INFARMED codes, no substitution for Sertraline |
These bundles represent foreign prescriptions dispensed at Irish pharmacies via the National ePrescription Service (NePS). Foreign drug codes are mapped to Irish NMPC codes at the point of dispensation, with SNOMED CT Irish Edition carried as secondary coding where available.
| File | Patient | Origin | Irish Pharmacy |
|---|---|---|---|
| FI→IE Dispensation via NePS | Mikko Korhonen 🇫🇮 | Finland | Hickey's Pharmacy, Dublin |
| BE→IE Dispensation via NePS | Lars Janssen 🇧🇪 | Belgium | McCauley's Pharmacy, Dublin |
| DE Patient → IE Dispensation | German citizen 🇩🇪 | Germany | Dispensed at Irish pharmacy via NePS |
The Patient Summary samples (
IE_Patient_IPS_FHIR.json,IPS_CDA_Sample.xml) belong to IE Core, which profiles the Patient Summary; they are listed here for context and are published with IE Core.
The International Patient Summary (IPS) bundles provide a complete structured clinical document for cross-border care. These can be exchanged via the MyHealth@EU Patient Summary service.
| File | Patient | Contents |
|---|---|---|
| IE Patient IPS Bundle | Seán Murphy 🇮🇪 | Full IPS with patient demographics, allergies, conditions, medications, vital signs |
CDA (Clinical Document Architecture) R2 documents remain in use across MyHealth@EU for backward compatibility with national contact points that have not yet migrated to FHIR.
| File | Description | Format |
|---|---|---|
IE_to_DE_ePrescription_CDA.xml |
ePrescription for Germany — Metformin 500mg + Lisinopril 10mg | CDA R2 (eHDSI ePrescription template) |
IPS_CDA_Sample.xml |
Generic IPS CDA document for Seán Murphy | CDA R2 (IPS template, MyHealth@EU) |
To download these CDA files, use the Examples ZIP from the Downloads page.
| Package | Contents |
|---|---|
| JSON Examples ZIP | All FHIR Bundle examples in JSON format |
| XML Examples ZIP | All FHIR and CDA examples in XML format |
| Full IG Package | npm FHIR package for tooling integration |
Use the HL7 FHIR Validator to validate any bundle against IE MPD profiles:
# Validate a single ePrescription bundle
java -jar validator_cli.jar IE_to_DE_ePrescription_FHIR.json \
-ig nostalgic-ie.fhir.core#0.2.0 \
-version 4.0.1
# Validate all cross-border bundles
java -jar validator_cli.jar input/examples/IE_to_*_ePrescription_FHIR.json \
-ig nostalgic-ie.fhir.core#0.2.0 \
-version 4.0.1
# Validate IPS bundle
java -jar validator_cli.jar IE_Patient_IPS_FHIR.json \
-ig nostalgic-ie.fhir.core#0.2.0 \
-ig hl7.fhir.uv.ips#1.1.0 \
-version 4.0.1
Test the bundles with the FHIR Interoperability API (see Testing & Validation for server setup):
# Translate CDA ePrescription to FHIR Bundle
curl -X POST http://localhost:7001/api/cda/translate \
-H "Content-Type: application/xml" \
-d @IE_to_DE_ePrescription_CDA.xml
# Translate Irish IPS CDA to FHIR IPS Bundle
curl -X POST http://localhost:7001/api/ehds/ips/translate \
-H "Content-Type: application/xml" \
-d @IPS_CDA_Sample.xml
# Validate FHIR IPS Bundle
curl -X POST http://localhost:7001/api/validate/ips \
-H "Content-Type: application/json" \
-d @IE_Patient_IPS_FHIR.json
# Submit IE→DE ePrescription via FHIR $process-message
curl -X POST http://localhost:7001/fhir/$process-message \
-H "Content-Type: application/json" \
-d @IE_to_DE_ePrescription_FHIR.json
# Get EHDS priority datasets info
curl http://localhost:7001/api/ehds/datasets
The cross-border scenarios are covered by Cucumber/Gherkin BDD tests. See tests/features/crossborder-eprescription.feature:
cd tests && npm install
npm run test:bdd -- --tags "@crossborder"
This runs all 11 cross-border scenario groups including:
See Testing & Validation for the full testing guide.