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
The HSE Central Terminology Server (CTS) is the authoritative national FHIR terminology service for Ireland, operated by the Health Service Executive (HSE). It exposes a standard FHIR R4 terminology API and hosts all national code systems required for Irish healthcare interoperability, including:
| Terminology | Description |
|---|---|
| SNOMED CT Irish Edition | SNOMED International + HSE Irish Extension (module 1601000220105), maintained by eHealth Ireland |
| NMPC (National Medicinal Product Catalogue) | Irish medicinal product catalogue modelled as SNOMED CT Irish Extension concepts |
| PCRS (Primary Care Reimbursement Service) | Reimbursement scheme category codes, exposed as an NMPC supplement property |
| HPRA Drug Catalogue | Health Products Regulatory Authority authorisation numbers, mapped via SNOMED ConceptMap |
| ATC (WHO) | Anatomical Therapeutic Chemical classification codes, mapped via SNOMED ConceptMap |
FHIR endpoint: https://nmpc.hse.ie/production1/fhir
Guidance & API examples: https://github.com/hsenmpc/nmpc-api-examples
Authentication: The CTS requires OAuth2 bearer token authentication. Token endpoint:
https://nmpc.hse.ie/authorisation/auth/realms/terminology/. See the NMPC API Examples repository for detailed authentication guidance.
The NMPC is Ireland's national registry of medicinal products, maintained by the HSE in collaboration with the HPRA. It is modelled as a SNOMED CT-based product hierarchy within the SNOMED CT Irish Extension. Real product identifiers are SNOMED CT concept IDs — not local code strings.
NMPC products are organised in a six-level hierarchy, each level represented as a SNOMED CT refset within the Irish Extension (module 1601000220105):
| Level | Full Name | SNOMED Refset ID | Description |
|---|---|---|---|
| VTM | Virtual Therapeutic Moiety | 660351000220100 |
Generic therapeutic substance (e.g. "Metformin") |
| ATM | Actual Therapeutic Moiety | 660361000220103 |
Branded therapeutic substance |
| VMP | Virtual Medicinal Product | 660371000220109 |
Generic product (e.g. "Metformin 500mg tablet") — use for generic prescribing |
| AMP | Actual Medicinal Product | 660381000220107 |
Authorised branded product (e.g. "Glucophage 500mg") |
| VMPP | Virtual Medicinal Product Pack | 660391000220105 |
Generic product with specific pack size |
| AMPP | Actual Medicinal Product Pack | 660401000220107 |
Authorised branded pack — dispensable unit; use for dispensing records |
Prescribing guidance:
IE Core ValueSets for NMPC product levels are defined in the IE Core terminology:
| ValueSet | IE Core ID | SNOMED Refset |
|---|---|---|
| IE Core NMPC VMP | ie-core-nmpc-vmp |
660371000220109 |
| IE Core NMPC AMP | ie-core-nmpc-amp |
660381000220107 |
| IE Core NMPC VMPP | ie-core-nmpc-vmpp |
660391000220105 |
| IE Core NMPC AMPP | ie-core-nmpc-ampp |
660401000220107 |
To retrieve all current AMPP concepts from the CTS using the NMPC supplement:
GET https://nmpc.hse.ie/production1/fhir/ValueSet/$expand
?url=https://hl7-ie.github.io/ie-core/fhir/ie/core/ValueSet/ie-core-nmpc-ampp
&useSupplement=https://nmpc.hse.ie/CodeSystem/nmpc-supplement
Authorization: ******
The useSupplement parameter enables the CTS to return NMPC-specific properties (PCRS category, HPRA authorisation number, shortage status, ATC code, etc.) alongside the SNOMED CT display names.
GET https://nmpc.hse.ie/production1/fhir/CodeSystem/$lookup
?system=http://snomed.info/sct
&version=http://snomed.info/sct/1601000220105
&code=<SNOMED concept ID>
&useSupplement=https://nmpc.hse.ie/CodeSystem/nmpc-supplement
Authorization: ******
PCRS scheme membership is exposed as an NMPC supplement property. To filter products available under the GMS scheme:
GET https://nmpc.hse.ie/production1/fhir/ValueSet/$expand
?url=https://hl7-ie.github.io/ie-core/fhir/ie/core/ValueSet/ie-core-nmpc-ampp
&useSupplement=https://nmpc.hse.ie/CodeSystem/nmpc-supplement
&filter=PCRS:GMS
Authorization: ******
PCRS categories are defined at: https://nmpc.hse.ie/PCRS/Category
The HPRA (Health Products Regulatory Authority) maintains the authoritative registry of medicinal products licensed for use in Ireland. HPRA product identifiers are mapped to NMPC SNOMED concepts via a SNOMED ConceptMap refset (690021000220108).
To look up an HPRA authorisation number for a product use the NMPC supplement lookup, which includes the HPRA identifier as a property on the SNOMED CT concept.
No FHIR code system URI for HPRA authorisation numbers has been published, so IE Core does not define one (Requires Clarification, OI-023). Carry the HPRA authorisation number in Medication.identifier with a system agreed with the HPRA/HSE once one exists; the CTS ConceptMap refset identifiers on this page have not been independently verified (OI-018).
WHO ATC (Anatomical Therapeutic Chemical) codes are mapped to NMPC VTM-level SNOMED concepts via ConceptMap refset 680441000220106 on the CTS. To retrieve the ATC code for a product:
GET https://nmpc.hse.ie/production1/fhir/ConceptMap/$translate
?system=http://snomed.info/sct
&version=http://snomed.info/sct/1601000220105
&code=<SNOMED VTM concept ID>
&target=http://www.whocc.no/atc
Authorization: ******
{
"resourceType": "MedicationRequest",
"medicationCodeableConcept": {
"coding": [
{
"system": "http://snomed.info/sct",
"version": "http://snomed.info/sct/1601000220105",
"code": "<VMP SNOMED concept ID>",
"display": "<VMP display name from NMPC>"
},
{
"system": "http://www.whocc.no/atc",
"code": "<ATC code>",
"display": "<ATC description>"
}
]
}
}
In the IE Medication Events eDispensation profile (HL7 Europe MPD parent) the medication is a
medicationReference, so the coding below sits in the referencedMedication.code. It is shown inline here for brevity.
{
"resourceType": "MedicationDispense",
"medicationCodeableConcept": {
"coding": [
{
"system": "http://snomed.info/sct",
"version": "http://snomed.info/sct/1601000220105",
"code": "<AMPP SNOMED concept ID>",
"display": "<AMPP display name from NMPC>"
},
{
"system": "http://www.whocc.no/atc",
"code": "<ATC code>",
"display": "<ATC description>"
}
]
}
}
Examples use real NMPC codes. Every medicinal product in the IE Core examples carries its NMPC VMP code: a SNOMED CT Irish Edition concept (
systemhttp://snomed.info/sct,versionhttp://snomed.info/sct/1601000220105), for example718271000220105Metformin hydrochloride 500 mg oral tablet. Each was checked in the NMPC Meds Catalogue (base publication 21 September 2026) and is recorded indocs/hiqa-2026/nmpc-verification.csv.
Two public, authoritative places show Irish content:
| Source | What it shows | Use it to check |
|---|---|---|
| NMPC Meds Catalogue (HSE) | The six NMPC levels (VTM, ATM, VMP, AMP, VMPP, AMPP) with their NMPC codes, active ingredients, pack sizes and shortages; search by name, code, ingredient, PCRS code or supplier | An NMPC code and its exact name |
SNOMED International browser (snomed.org/browser) |
Member-country editions, including the Irish Edition (MAIN/SNOMEDCT-IE, release 2026-09-21) |
Any Irish Edition concept, including Irish Extension concepts and refsets |
NMPC codes are SNOMED CT concept IDs: NMPC VMP, AMP, VMPP and AMPP codes are Irish Extension concepts (their SCTID
carries the Irish namespace 1000220, e.g. 716141000220105), while NMPC VTMs can be International concepts (e.g.
776338003 Insulin aspart). Both browsers are for reference use; neither offers an open API, so automated
validation still needs the HSE CTS (OI-022). scripts/terminology/verify_codes.py checks Irish Extension codes
against the catalogue-verified list instead of tx.fhir.org.
The SNOMED CT Irish Edition extends the SNOMED CT International Edition with Irish-specific content, maintained by eHealth Ireland in partnership with SNOMED International.
1601000220105http://snomed.info/sct (FHIR uses one system URI for every SNOMED CT edition)compose.include.version: http://snomed.info/sct/1601000220105 to name the Irish
Edition. A system of http://snomed.info/sct/1601000220105 is wrong: no validator or terminology server
treats it as SNOMED CT (ADR-007).IE Core uses the SNOMED CT Irish Edition. Every SNOMED CT ValueSet in this IG includes codes from the Irish Edition. International Edition concepts are part of the Irish Edition, so an International concept is a valid Irish Edition code. Irish Extension concepts (including all NMPC products) exist only in the Irish Edition.
Validation: tx.fhir.org does not host the Irish Edition. Public validation therefore checks International concepts only, and ValueSets pinned to the Irish Edition cannot be expanded there (OI-022). Irish Extension codes must be checked against the HSE CTS.
The Irish Extension includes:
| Resource | Link |
|---|---|
| NMPC API Examples | https://github.com/hsenmpc/nmpc-api-examples |
| CTS FHIR Endpoint | https://nmpc.hse.ie/production1/fhir |
| eHealth Ireland SNOMED CT | https://www.ehealthireland.ie/…/snomed-ct/ |
| HPRA Drug Catalogue | https://www.hpra.ie/homepage/medicines/medicines-information/find-a-medicine |
| PCRS | https://www.hse.ie/eng/staff/pcrs/ |
| WHO ATC / DDD Index | https://www.whocc.no/atc_ddd_index/ |