As mSupply has grown and it has become used across provinces within countries, and in the majority of countries in some regions, we think it’s time to put forward a proposal to provide a harmonised drug code that can be used for:
- collation of reporting data across countries
- electronic interchange of information (such as tenders and purchase orders) between suppliers and their customers.
Here’s a diagram of what we’re proposing (click it for the larger version).
- This is strictly generics. If you want to define brand names, look somewhere else.
- The main attributes of a common code
- We’re trying to keep it simple. The idea is to provide a unique identifier primarily to aid in answering questions like “How many Amoxycillin 250mg tabs were issued in 2010 in region X?”
- The codes are somewhat human readable, so for common items you’ll know an item from it’s code.
- We are not trying to store a hierarchy of categories or classifications in the code. Such (meta) information will be stored in other fields.
- It allows for producing code128 barcodes that give a full product description by using AI (Application Identifiers) after the code
- e.g. amo250tb(90)1000(17)141130(10)b23498 represents a Amoxycillin 250mg tabs/caps in a pack of 1000 with an expiry of 30th November 2014 (that’s the “141130” in yymmdd format) and a batch number of b23498
- more options here
How will you maintain them?
- We’ll keep a publicly accessible database of codes.
- We will make a RESTful interface so anyone can get back a list of matching items when a query is submitted.
- “http://codes.msupply.org.nz/get/item/Amoxy” would return records that match “Amoxy”
- “http://codes.msupply.org.nz/get/code/amo250tb” would return the one record that matches the code “amo250tb”
- The database would have a single table with fields something like this:
Field Notes Common_code that’s the bit we’re interested in here Item name e.g Amoxycillin 250mg tabs DDD Defined daily dose DDD factor How many of this item in a DDD ATC Code this is the most common ATC code ATC Codes other a comma separated list of other ATC code(s) WHO EDL classification. in dot notation form e.g. 6.2.1 Units i.e. what does “1” refer to? 1 tablet? 1 bottle [e.g. for eye drops]? Last modification date in timestamp format Notes Relevant information
- We’ll make a pdf available too, so users can have an easy reference.
- Is it tied to mSupply? No. We intend to get the ball rolling, and to make something usable to stop still-birth by committee. If in the future it catches on, we’d be happy to hand it over to an independent body. We maintain no copyright or anything ridiculous like that.
- ATC codes won’t work as a common code as there are multiple codes for the same item when used for more than one therapeutic purpose
- The database will have fields to store meta information about the item such as it’s ATC code, and it’s WHO EML list category.
- Item code (the first three letters)
- Usually the first three characters of the generic name, but can modify for disambiguation here too.
- No decimal places
- Must be 3 alphanumeric characters, so padding with leading zeroes if you don’t have a strength.
- Can use units: e.g. amo03gsc would work for amoxycillin 3g sachets.
- Code length:
- The codes are always a minimum of 8 characters.
- An eight character code is the same as a nine character code with a disambiguation character of zero (i.e. amo250tb = amo250tb0 )
- Pack sizes and units
- We’ve got a bit of work to do here. The basic idea is that we aren’t interested in pack sizes in the same way a supplier is. For reporting we only care how many amoxy tabs were issued, not what pack size they came in. And by “how many” we mean how many tablets, not how many packs.
- There’s obviously a problem with the likes of creams and liquids, where it’s common to refer to a tube or a bottle, and not to the number of ml or gm of a the item.
- We’re thinking to specify the units in a separate field, and software vendors should allow a “unit_factor” field for each batch which converts the pack size used back to grams or ml.
- That said, we can see the need to an extension so you can specify a pack size to clearly identify a particular item- we’ll think about that a bit more. We’re tending towards using the bar coding spec above to specify pack sizes when needed. The trouble is that manufacturers tend to make a separate bar code for each pack size, which is good for them, but not so useful for trying to produce reports that collate data per item, irrespective of pack size supplied
|Amoxycillin 250mg tabs/caps
|Ampicillin 500mg injection
|Amoxy/Clavulanic Acid 500/125mg tabs
|Chloramphenicol eye drops 0.5%
|Chloramphenicol ear drops
|Propranolol 10mg tabs
|pro010tb or pro010tb0
|Prochlorperazine 10mg tabs
That’s all folks. Comments welcome below.Comments
Where is mSupply used?
mSupply is designed to be used in developing countries around the world. You can find us in more than 35 countries.