IE (Ireland) Core Implementation Guide
0.3.0 - draft
IE (Ireland) Core Implementation Guide - Local Development build (v0.3.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
This page documents changes to the IE Core Implementation Guide.
IE Core now traces only the HIQA Draft National Standard for a Patient Summary. The HIQA ePrescription and
eDispensation profiles moved to IE Medication Events
(nostalgic-ie.fhir.medication-events), which also profiles medication administration and medication statements
(ADR-009). The release code name is to be chosen.
IECoreMedicationRequest, IECoreMedicationDispense, IECoreMedicationRequestEPrescription,
IECoreMedicationDispenseEDispensation, IECoreMedicationEPrescription, IECorePatientEPrescription,
IECoreBundleEPrescription, IECoreBundleEPrescriptionCrossBorder, IECoreListAllergiesAtPrescribing,
IECoreProvenanceEPrescriptionSignature, with their invariants. Use the IEMpd* profiles in IE Medication Events.IECoreMedicationStatement or a base MedicationRequest.hl7.fhir.eu.mpd, ihe.pharm.mpd.r4, hl7.fhir.extensions.r5.Practitioner.identifier:HSPI (HSP-I, individual) and Organization.identifier:HSPO (HSP-O, organisation), with
NamingSystems ie-core-ns-hsp-i and ie-core-ns-hsp-o. Placeholder system URIs, no format rule (OI-003, OI-030).IECoreMedication, IECoreMedicationStatement, and every NamingSystem and
identifier system URI (IE Medication Events uses IE Core's).IECorePatient / IECoreMedication.Aligns IE Core with the HIQA Draft National Standard for Electronic Prescriptions and Electronic
Dispensations and the Draft National Standard for a Patient Summary (both public consultation
drafts, September 2026). Decisions are recorded in ADR-001 to ADR-007 (docs/adr/ in the source
repository). The HIQA element IDs are cited as EP x.y / PS x.y.
Release notes: docs/release-notes-0.2.0.md. Consultation feedback prepared from this work (individual submission):
docs/hiqa-2026/consultation-feedback.md. Not tagged or published.
nostalgic-ie.fhir.core (ADR-008). The FHIR package specification reserves hl7.* for HL7, so
this proof of concept cannot publish hl7.fhir.ie.core; it uses the project code name nostalgic-ie. Releases get
code names: 0.2.0 is "Nostalgic IE". The canonical URL is unchanged. The R5 track becomes
nostalgic-ie.fhir.core.r5. A Simplifier.net bundle is built in CI (see Publishing on Simplifier.net).Discharge report section code. dischargeDetails used LOINC 8648-8 (Hospital course note), the same code as
the hospital-course section. It now uses 8650-4 (Hospital discharge disposition note), as HL7 Europe HDR does
(verified on tx.fhir.org).
IECorePatient is now a permissive base:
ethnicity, mother's maiden name, pronouns and interpreter-required are no longer MustSupport.
IECorePatientEPrescription: exactly the HIQA EP patient dataset. Ethnicity, mother's
maiden name, nationality, citizenship, place of birth, religion, marital status, pronouns,
photo and contact are prohibited (0..0) (GDPR Art. 5(1)(c); Art. 9).IECorePatientSummaryPatient (parent HL7 Europe EPS patient; imposes IECorePatient):
HIQA PS demographics incl. ethnicity (PS 1.4.10), nationality (1.4.7), mother's former
surnames (1.4.6), place of birth (1.4.3), country of affiliation (1.4.8), and the
nominated contact person (PS 3).IECoreMedicationRequestEPrescription.subject and IECoreMedicationDispenseEDispensation.subject
→ IECorePatientEPrescription; IECoreCompositionPatientSummary.subject → IECorePatientSummaryPatient.ie-pat-2..5. PCRS scheme numbers are now HIQA "other identifiers"
(EP/PS 1.3.3) typed with a placeholder code system. The "Hospital Appointment Access" label was wrong;
HIQA defines HAA as the Health (Amendment) Act card scheme.Ethnicity extension value changed from code 0..1 (required binding) to CodeableConcept
(repeatable, extensible binding), per PS 1.4.10.
IECoreMedicationRequestEPrescription, IECoreMedicationDispenseEDispensation and
IECoreMedicationEPrescription now derive from the MPD profiles. The custom IECoreOffLabelUse
extension is retired in favour of MPD's IHE off-label extension. Dispenses must carry MPD's
recorded (HIQA EP 6.2). authorizingPrescription is exactly 1..1. requester must be a
Practitioner or PractitionerRole (registration is Mandatory, EP 2.6).IECorePractitioner requires at least one registration identifier (EP/PS 2.6) and a given name.Patient Summary re-parented on HL7 Europe EPS 1.0.0-ballot (ADR-004).
IECoreCompositionPatientSummary now derives from composition-eu-eps (which imposes the IPS
Composition). The IE section slices are replaced by the EPS slices (medications →
sectionMedications, alerts → sectionAlert, travelHistory → sectionTravelHx, …).
Medical devices are DeviceUseStatement entries. IECoreProcedure.performed[x] is relaxed from
1..1 to 0..1 (HIQA PS 9.3.1 Required).
docs/hiqa-2026/terminology-remediation.csv.Ethnicity CodeSystem now uses the CSO Data Standard for Ethnicity v1.0 (7 Feb 2025) codes
(10–36, 99). The previous slug codes (white-irish, …) are removed.
Payload identifiers and codes (Phase 8). The sample JSON payloads, CDA documents and Postman
collection no longer use http://hl7.hse.ie/..., invented national identifier systems, invented
national product codes, the invented ehealth.ec.europa.eu/fhir/tag#xt-ehr tag or the misused
v3-ActCode#PBILLACCT tag. Prescription identifiers use the NePS system; dispense and document
identifiers use urn:uuid; CDA OIDs use the HL7 example arc (OI-020). Hypercholesterolaemia is
ICD-10 E78.0 (was E78.5, Hyperlipidaemia, unspecified).
input/examples are published IG examples,
but they had never validated (non-UUID urn:uuid fullUrls, _comment, missing dispense recorded, and so on).
scripts/audit/conform_payloads.py fixed them without inventing clinical content; all 22 now validate. They are
plain collection Bundles: they do not claim IECoreBundleEPrescription and carry no allergy statement or
signature, so they are illustrative only; the HIQA scenario Bundles are the conformant references.docs/audit/review-hiqa-2026.md). Prescription items must reference a
Medication (BREAKING); controlled-drug rules rewritten to the HIQA text (ie-rx-cd-1/2/3); new Bundle
invariants ie-bnd-rx-5 (one patient) and ie-bnd-rx-6 (listed allergies included); ie-bnd-rx-2 requires the
allergy-statement List code; prescriber phone/email rules start from requester; the age is required when the date
of birth is partial; AllergyIntolerance.clinicalStatus 0..1 with ie-allergy-1 so an allergy entered in error can
be retracted; group identifier compares system and value. NMPC ValueSets are marked experimental (refset IDs
unverified, OI-018); unused aliases with unverified URIs removed; FSH examples no longer use invented national
identifier or product code systems.version, never in system; the invented HPRA "code
system" URI was removed (OI-023).NMPC-… codes are replaced by NMPC VMP codes
checked in the public NMPC Meds Catalogue (e.g. 718271000220105 Metformin
hydrochloride 500 mg oral tablet), coded system http://snomed.info/sct, version
http://snomed.info/sct/1601000220105; the HIQA scenario medicines gain their NMPC codes. The placeholder code system
IECoreNMPCPlaceholder is removed (ADR-007 addendum). The Terminology Services page names the NMPC catalogue and the
SNOMED International browser as the public places to check Irish codes.hl7.fhir.eu.extensions (an R5 package) replaced by hl7.fhir.eu.extensions.r4; SMART App Launch
2.2.0 declared as a dependency for the SMART page's links; the invalid show-hierarchical-table parameter and
outdated LOINC / IE code displays fixed; input/ignoreWarnings.txt added. The age-at-prescribing units are
checked by invariant ie-age-units-1 (the terminology server could not expand UCUM in the Publisher).docs/hiqa-2026/open-issues.md), in a new HIQA 2026 menu.ie-bnd-xb-2 accepts the signature target as the entry fullUrl or as a relative reference.ie-rx-cd-2 compares the validity end and the 14-day limit as dates (a date and a dateTime of
different precision previously compared as empty).tests/validator/run-validation.js reads the dependencies from sushi-config.yaml (it pinned
EU Base 0.1.0, IPS 1.1.0 and MPD 0.1.0-ballot) and validates all examples in one validator run.system http://snomed.info/sct with the edition as
version. Previously the edition URI was used as the system, so nothing could match.$NMPC example codes live in an explicit placeholder CodeSystem (IECoreNMPCPlaceholder), clearly not the NMPC.ie-pat-1 accepts 18 or 10 digits (EP/PS 1.3.1). It previously rejected valid 10-digit IHIs.individual-recordedSexOrGender
(type LOINC 76689-9) and is separate from administrative gender and gender identity.gender-identity, pronouns, patient-nationality,
birthPlace) are reused instead of being re-declared. The previous duplicate slices overlapped.IECoreBundlePatientSummary (parent EPS Bundle; identifier 1..1 for HIQA PS 19.1.2; IE Coverage
entries for PS 1.3.4). Invariants ie-ps-1 (entries or emptyReason in every section HIQA gives
an empty reason to) and ie-ps-attester-1.ie-cond-1 (condition status
required unless entered-in-error).IECoreBundleEPrescription (+ IECoreBundleEPrescriptionCrossBorder, claimed in meta.profile
to flag a cross-border prescription), IECoreListAllergiesAtPrescribing (the allergy statement
sent with every prescription, EP 1.6.1/1.6.2) and IECoreProvenanceEPrescriptionSignature
(EP 2.13).ie-bnd-rx-1), allergy statement (ie-bnd-rx-2,
ie-list-allergy-1), under-12 age (ie-bnd-rx-3), prescriber phone (ie-bnd-rx-4),
cross-border email and signature (ie-bnd-xb-1/2), status reason (ie-rx-status-1),
structured dosage with text (ie-rx-dosage-1), Do Not Substitute reason (ie-rx-subst-1),
controlled drugs (ie-rx-cd-1/2), non-dispensation reason (ie-md-status-1), hand-over date
(ie-md-handover-1), GLN check digit (ie-loc-gln-1).http://www.gs1.org/gln).ie-core-medicationrequest-group-identifier. The server CapabilityStatement adds
MedicationDispense?prescription (repeats dispensed are derived, not stored), Bundle and List.HIQAEPrescriptionLM and HIQAPatientSummaryLM with mappings to IE Core,
and the HIQA Traceability page (ADR-001).IECorePatientAgeAtPrescribing (EP 1.4.2; invariant ie-rx-age-1: age required on
prescriptions for children under 12), IECoreMothersFormerSurname (PS 1.4.6),
IECoreCountryOfAffiliation (PS 1.4.8).hl7.fhir.eu.eps 1.0.0-ballot (ADR-004).hiqa-eprescription.feature, hiqa-patient-summary.feature and data-minimisation.feature
evaluate the IG's own invariants with fhirpath.js, including a broken copy for every rule; the
traceability check runs as a test; scripts/qa/check_ep_data_minimisation.py fails the build if
ePrescription content mentions ethnicity, maiden name, nationality, citizenship, religion or marital status.This release aligns IE Core with the XT-EHR logical model v1.0.0 (released 2025). The XT-EHR 1.0.0 release introduced a formal Obligations Framework, new base models (EHDSDocument, EHDSDataSet), mandatory section updates to the Patient Summary and Hospital Discharge Report, and additional ePrescription elements.
IE Core Patient Summary (IECoreCompositionPatientSummary)
procedures section changed from optional (0..1) to mandatory (1..1) per EHDSPatientSummary v1.0.0medicalDevices section changed from optional (0..1) to mandatory (1..1) per EHDSPatientSummary v1.0.0results section renamed to observationResults (LOINC 30954-2); entry types expanded to include IECoreObservationClinicalResultplanOfCare section renamed to carePlans; entry references IECoreCarePlanmedications.entry updated to reference IECoreMedicationStatement as primary type, reflecting EHDSMedicationUse → MedicationStatement mappingemptyReason MS on all mandatory sections (medications, allergies, problems, procedures, medicalDevices)text MS (narrative) on all sectionsalerts (LOINC 104605-1) — references IECoreFlag or IECoreAllergyIntolerancefunctionalStatus (LOINC 47420-5)socialHistory (LOINC 29762-2)pregnancyHistory (LOINC 10162-6)travelHistory (LOINC 10182-4)advanceDirectives (LOINC 42348-3) — references IECoreADIDocumentReferencecarePlans (LOINC 18776-5) — references IECoreCarePlanpatientStory (LOINC 81338-6) — narrative onlyIE Core Hospital Discharge Report (IECoreCompositionDischargeReport)
encounterInformation (1..1) section — references IECoreEncountercourseOfEncounter (1..1) section with four sub-sections: diagnoses, procedures, pharmacotherapy, testResultsadmissionDetails replaced by encounterInformationdiagnoses, procedures, medications flat sections replaced by sub-sections within courseOfEncounteradmissionEvaluation (0..1) — functional status and objective findings on admissionpatientHistory (0..1) — anamnesis, past problems, prior procedures, devicesdischargeDetails (0..1) — objective findings and discharge summaryalerts (0..1) — references IECoreFlag or IECoreAllergyIntolerancemedicationSummary section (LOINC 75311-1) references IECoreMedicationStatementIE Core ePrescription (IECoreMedicationRequestEPrescription) — aligned with EHDSMedicationPrescription v1.0.0:
statusReason MS — reason for current prescription statusdispenseRequest.dispenseInterval MS — minimum interval between dispensations (minimumDispenseInterval)category description to include intendedUseTypeIECoreOffLabelUse extension for off-label use indicator (offLabel boolean + reason)IECoreMedicationStatement — maps to EHDSMedicationUse (XT-EHR 1.0.0 Release). Uses FHIR R4 MedicationStatement; note that FHIR R5 uses MedicationUsage. Added to MedicationProfiles group in sushi-config.yaml.IECoreFlag — maps to EHDSAlert (XT-EHR 1.0.0 Release). Uses FHIR R4 Flag. Added to ClinicalProfiles group in sushi-config.yaml.IECoreOffLabelUse — Extension for off-label use on MedicationRequest. Contains isOffLabelUse (boolean) and reason (CodeableConcept or string) sub-extensions. Added to EPrescriptionProfiles group.ehds-conformance.md: Alignment matrix updated from v0.3.0 to v1.0.0; added new model rows (EHDSDocument, EHDSDataSet, EHDSBodyStructure, EHDSAttachment); added Obligations Framework section; added FHIR R4/R5 Compatibility section; updated Future EU Alignment listfuture-of-ie-core.md: Revised roadmap to reflect XT-EHR 1.0.0 release; added new short-term prioritiescrossborder-eprescription.md: Updated with XT-EHR 1.0.0 ePrescription model additionsgeneral-guidance.md: Added Obligations Framework guidance noteindex.md: Updated profile tables to include new profiles; updated PS/HDR section descriptionsresults section code changed from 30954-2 (previously used) — both map to LOINC 30954-2 (Relevant diagnostic tests/laboratory data). No breaking change.planOfCare → carePlans: section code 18776-5 (Plan of care note) unchanged. The FHIR section id has changed from planOfCare to carePlans — consumers using hardcoded section IDs will need to update.courseOfEncounter structure. Consumers using hardcoded section LOINC codes should verify against the updated profile.Initial draft of the IE Core Implementation Guide. This is a development snapshot and has not yet been submitted for formal HL7 ballot.