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
Text Search
| 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
- dm+d Lookup API — Look up a specific dm+d concept
- OPCS-4 Search — Search UK procedure codes
- RxNorm Search — Search U.S. drug terminology
- Search APIs Overview — Common search features