IE (Ireland) Core Implementation Guide
0.3.0 - draft Ireland flag

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

Terminology Services (CTS & NMPC)

HSE Central Terminology Server (CTS) & NMPC

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.


National Medicinal Product Catalogue (NMPC)

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 Product Hierarchy

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:

  • Use VMP concepts for generic prescribing (MedicationRequest)
  • Use AMP concepts for branded prescribing where required
  • Use AMPP concepts in dispensing records (MedicationDispense)

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

Querying the CTS

Expand a ValueSet (AMPP — dispensable packs)

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.

Lookup a specific product

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: ******

Filter by PCRS reimbursement category

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


HPRA Drug Catalogue

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).


ATC Mapping

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: ******

Coding Patterns in IE Core Resources

MedicationRequest (generic prescribing — VMP)

{
  "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>"
      }
    ]
  }
}

MedicationDispense (AMPP — dispensed pack)

In the IE Medication Events eDispensation profile (HL7 Europe MPD parent) the medication is a medicationReference, so the coding below sits in the referenced Medication.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 (system http://snomed.info/sct, version http://snomed.info/sct/1601000220105), for example 718271000220105 Metformin hydrochloride 500 mg oral tablet. Each was checked in the NMPC Meds Catalogue (base publication 21 September 2026) and is recorded in docs/hiqa-2026/nmpc-verification.csv.

Checking Irish codes

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.


SNOMED CT Irish Edition

The SNOMED CT Irish Edition extends the SNOMED CT International Edition with Irish-specific content, maintained by eHealth Ireland in partnership with SNOMED International.

  • Module ID: 1601000220105
  • Coding.system: always http://snomed.info/sct (FHIR uses one system URI for every SNOMED CT edition)
  • Coding.version / ValueSet 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.

  • Release schedule: Aligned with SNOMED International biannual releases

The Irish Extension includes:

  • All NMPC medicinal product concepts (the full product hierarchy)
  • Irish-specific clinical concepts as required by HSE clinical terminology programs
  • Mapping refsets for HPRA, PCRS, and ATC

Further Resources

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/