Dashboard

dm+d Search

Search UK dm+d (Dictionary of Medicines and Devices) concepts — medicines and medical devices used in the NHS.

Endpoint

GET /v1/dmd/search

Quick Start

Node.js
import { Fhirfly } from "@fhirfly-io/terminology";

const client = new Fhirfly({ apiKey: "YOUR_API_KEY" });

// Search for paracetamol products
const results = await client.dmd.search({
  q: "paracetamol"
});

console.log(`Found ${results.total} concepts`);
for (const item of results.items) {
  console.log(`[${item.concept_type}] ${item.code}: ${item.display}`);
}

Parameters

Parameter Description Example
q General text search across concept names q=paracetamol

Filters

Parameter Type Description Example
concept_type string Filter by concept type VTM, VMP, AMP, VMPP, AMPP
status string Filter by status (default: valid) valid, invalid

Pagination & Response

Parameter Default Max Description
limit 20 100 Results per page
page 1 100 Page number
shape compact --- compact, standard, full
sort relevance --- relevance, name

Example Response

{
  "facets": {
    "concept_type": {
      "VMP": 45,
      "AMP": 120,
      "VMPP": 38,
      "AMPP": 95,
      "VTM": 2
    }
  },
  "has_more": true,
  "items": [
    {
      "code": "90332006",
      "code_system": "dm+d",
      "concept_type": "VTM",
      "name": "Paracetamol",
      "display": "Paracetamol"
    },
    {
      "code": "39732311000001104",
      "code_system": "dm+d",
      "concept_type": "VMP",
      "name": "Paracetamol 500mg tablets",
      "display": "Paracetamol 500mg tablets"
    }
  ],
  "limit": 2,
  "meta": {
    "legal": {
      "attribution_required": true,
      "citation": "dm+d, NHS England / NHSBSA. Crown copyright. Open Government Licence v3.0.",
      "license": "OGL-UK-3.0",
      "source_name": "NHS dm+d"
    }
  },
  "page": 1,
  "total": 300,
  "total_capped": false
}

Use Cases

Search for a Specific Ingredient (VTM)

Node.js
const results = await client.dmd.search({
  q: "amoxicillin",
  concept_type: "VTM"
});

Find Branded Products (AMP)

Node.js
const results = await client.dmd.search({
  q: "Nurofen",
  concept_type: "AMP"
});

Search Generic Products (VMP)

Node.js
const results = await client.dmd.search({
  q: "ibuprofen 400mg",
  concept_type: "VMP"
});

Search Pack-Level Concepts

Node.js
// Find actual medicinal product packs
const results = await client.dmd.search({
  q: "paracetamol 500mg",
  concept_type: "AMPP"
});

Concept Type Hierarchy

dm+d concepts follow a hierarchy from abstract to specific:

VTM (ingredient)
└── VMP (generic product)
    ├── AMP (branded product)
    └── VMPP (generic pack)
        └── AMPP (branded pack)

Facets

dm+d search returns these facets:

Facet Description
concept_type Distribution by concept type (VTM/VMP/AMP/VMPP/AMPP)

Required Scope

dmd.search

See Also