DM+D (Dictionary of Medicines and Devices)
The data is available from the HSCIC TRUD pages as a zip file. The zip file contains several XML files with their XSD definitions.
This section describes the main structure of the data. However, the structure of the XML files shows there is a lot more information and structure recorded that will require further investigation.
I have described the entities within the data structure using my terms, as the ones in the official documentation are too arcane for my liking. I have, however, retained the abbreviation of the original terms.
Hierarchy / Graph
The data is is defined as a series of entities that are related to each other. Entities are divided into three categories (drugs, products and packs), with each category having virtual and actual versions of the entity (except the drug category, that has no actual version).
|Drug||VTM - Drug|
|Product||VMP - Virtual Product||AMP - Actual Product|
|Pack||VMPP - Virtual Pack||AMPP - Actual Pack|
VTM - Drug
The generic term for the drug. This differs from ingredients, for which information is available in the DM+D, but I have not as yet had need to investigate.
VMP - Virtual Product
A drug in a form that the patient would actual take, including form and dosage. For example, paracetamol 20mg tablet.
AMP - Actual Product
A drug in a given form and dosage that is actually manufactured. Therefore, for each virtual product, there will be multiple actual products, one for each manufacturer that produces it.
VMPP - Virtual Pack
A collection of virtual products packaged together for sale. For example, 16 x paracetamol 20mg tablet.
AMPP - Actual Pack
An instance of a virtual pack that is actually produced by a manufacturer.
Relationship to Snomed
The IDs given to entities within DM+D can also exist within Snomed. Snomed puts the codes in a hierarchy that can be used to classify the drugs, which the DM+D does not attempt to do.
Not all of the IDs within DM+D exist within Snomed. From what I've seen it may only be the VTM - Drugs, but that may not be the case.