New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When does `quantity` represent packs? #12

Open
sebbacon opened this Issue Jan 6, 2017 · 13 comments

Comments

Projects
None yet
4 participants
@sebbacon
Copy link
Contributor

sebbacon commented Jan 6, 2017

This ticket is an expansion of the discussion in #2.

We know of at least one product which is recorded both by the pack and by the dose. Some products appear consistently to be recorded by the pack. Here are some examples. They are all special containers.

  • 0302000N0BCAEBF Seretide 125 Evohaler (GlaxoSmithKline UK Ltd)
  • 0302000N0BDABBK Flutiform 250micrograms/dose / 10micrograms/dose inhaler (Napp Pharmaceuticals Ltd)
  • 1202010M0AAACAC Fluticasone propionate 50micrograms/dose nasal spray (this one has a cheaper alternative too)
  • 0105020D0AAACAC Prednisolone 20mg/application foam enema
  • 0206010F0AACGCG Glyceryl trinitrate 400micrograms/dose aerosol sublingual spray
  • 0301011R0BEAIAP Ventolin 100micrograms/dose Evohaler

Some examples where they are prescribed both by pack and dose are:

  • Glycopyrronium bromide 55microgram inhalation powder capsules with device ('0301020S0____AA)
  • ThickenUp powder (190700000BBCJA0) - 91% prescribed as packs (should be by gram)
  • Climagest 2mg tablets (0604011L0BGAAAH). In September 2016, 26% were recorded by the (28-tablet) pack, rather than by tablet.
  • Lidocaine 2.5% / Prilocaine 2.5% cream (1502010J0____BY) - 14% were prescribed by packet - most frequently when prescribed by name rather than generically
  • Flumetasone 0.02% / Clioquinol 1% ear drops (1201010F0AAAAAA) - this would appear to be another case where the brand (Locorten Vioform) is recorded by dose and the generic by pack.
  • Sucralfate_Enem 2g In 50ml (0107010S0AAAGAG)

The other problem is we've no real way of knowing if this is happening for non-special-containers, because (for example) we can't know if 1 represents a very expensive pill or a cheap pack. We've attempted various heuristics and have yet to identify a smoking gun here.

@sebbacon sebbacon changed the title How is aspirin recorded? Should `quantity` always represent packs for special containers? Jan 6, 2017

@sebbacon

This comment has been minimized.

Copy link
Contributor

sebbacon commented Jan 6, 2017

@richiecroker this is the ticket I referenced in the followup email to Graham

@richiecroker

This comment has been minimized.

Copy link

richiecroker commented Jan 6, 2017

@sebbacon this goes back to the issue in the other thread. We need to look at the full BNF descriptor - soi for things like GTN spray which comes in two pack sizes, this is clearly expressed in the descriptor:

Glyceryl Trinit_A/Spy 400mcg 180D CFF 0206010F0AACFCF
Glyceryl Trinit_Sub A/Spy 400mcg (200D) 0206010F0AACHCH

And an interesting further thought: these, although in effect the same, won't show up as chemical-dose pairs...

@richiecroker

This comment has been minimized.

Copy link

richiecroker commented Jan 6, 2017

But if they're consistent, I really don't think it matters.

@sebbacon

This comment has been minimized.

Copy link
Contributor

sebbacon commented Jan 6, 2017

Regarding pack sizes, it is inconsistently expressed in the descriptor. I think about 40% of products come in more than one pack size, but only a select few (I make it 191) get their own BNF codes.

But I think you're onto something because special containers that get per-pack codes are in the "consistent" list above.

Perhaps there's supposed to be a rule that all special container pack sizes should get their own BNF code, and should be recorded per-pack against that code. That would make sense.

Then the exceptions we're finding are where a pack-size-specific BNF code has not been issued for a special container, when it should have been.

For exampe, the Climgest comes in 28s and 84s but only has one code; the Fluticasone propionate is 60s, 120s and 150s and has separate codes.

Agreed that it doesn't matter - but I thought I'd capture some examples of where it is consistent as it may help Graham or someone else understand what's going on better. And I think we now have a good hypothesis.

@sebbacon sebbacon closed this Jan 6, 2017

@sebbacon sebbacon reopened this Jan 6, 2017

@sebbacon sebbacon changed the title Should `quantity` always represent packs for special containers? When does `quantity` represent packs? Jan 6, 2017

@sebbacon

This comment has been minimized.

Copy link
Contributor

sebbacon commented Jan 17, 2017

Just to note we're awaiting feedback from Graham who said on Jan 6

I will have my team liaise with the drug data maintenance team to understand what is going on with these. Once the investigation is complete I will come back to you with the reasoning.

@sebbacon

This comment has been minimized.

Copy link
Contributor

sebbacon commented May 3, 2017

Response from NHS BSA:

Glycopyrronium/ Seebri
An error that concerned Seebri on the drug database was corrected for October 2016 prescriptions. The 6 & 30 packs of Seebri both had container sizes set to a value of 1 and not 6 & 30 respectively that they should have had.

The Drug Tariff entry of the Glycopyrronium Brom_Inh Cap 55mcg + Dev that appeared from August 2016 onwards is correct.

But figures historically (prior to Aug16) are incorrect as they were based on Seebri’s as there was no generic available.

ThickenUp powder (190700000BBCJA0)
There are complexities regarding the authoring of the size of sachets in general, some have a container size of 1 and some have the weight of the sachet as the size. This is a historic issue. Work is under way to review this and agree a way forward.

Climagest 2mg tablets (0604011L0BGAAAH) and Lidocaine 2.5% / Prilocaine 2.5% cream (1502010J0____BY)
Both had container size attributes incorrectly listed . This has now been amended on the drug database.

Flumetasone 0.02% / Clioquinol 1% ear drops (1201010F0AAAAAA)
The drug databases are correct for this product.

@sebbacon

This comment has been minimized.

Copy link
Contributor

sebbacon commented May 3, 2017

I've responded:

1. Retrospective fixes

When you say (for example of Lidocaine 2.5%) "this has been amended on the drug database", what exactly does this mean, i.e. which drug database?

Is quantity information in prescribing data added by your team in preparation for the data release, or is it copied directly from prescriptions and therefore wrong in the original prescriptions (which presumably originate in dm+d)? In other words, it is possible to regenerate historic prescribing data with correct quantities as a result of you having amended the database?

I ask because we are working on an analysis of prescribing data. Does this mean the changes you've made will only be reflected in data released since the change? (and if so, from which date?)

2. Sachets and creams

You mention that the sachets issue that affects ThickenUp has yet to be resolved.

In our analysis, we've found considerable variation in the price paid for cutaneous creams (mainly Aveeno, E45, Sudocrem and Balneum Plus - about £1.7m per month). It's hard to tell if their variation is due to inconsistencies in how quantity is recorded, rather than underlying dispensing variation (as you've indicated is the case for ThickenUp). When you mention "complexities regarding the authoring of the size of sachets in general", is it likely the same issues apply to these cutaneous creams? If so, it seems we should probably drop these from our analysis.

Rather than drop individual BNF codes as we find problems with them, it would be better to know if there's a pattern for knowing what items have potential problems. For example, one hypothesis we developed was that special containers that get unique per-pack-size codes in the BNF are not affected by this issue, whereas special containers which have multiple pack sizes but only one BNF code are affected. Are you able to describe which kinds of products are affected by the problem in general terms like this?

sebbacon added a commit that referenced this issue May 3, 2017

@sebbacon

This comment has been minimized.

Copy link
Contributor

sebbacon commented Dec 4, 2017

A new example:

Estriol 0.01% cream with applicator has BNF code 0702010F0AAACAC and VMPP 3194311000001106.

@inglesp

This comment has been minimized.

Copy link

inglesp commented Dec 5, 2017

Not sure if this is relevant...

The NCSO list references Estriol 0.01% cream with applicator with pack size 80g.

dm+d has the following VMPPs:

  • Estriol 0.01% cream 80 gram
  • Estriol 0.01% cream with applicator 1 pack

I'd asked @richiecroker which of the two to match the NCSO entry against, and he said the latter.

@sebbacon

This comment has been minimized.

Copy link
Contributor

sebbacon commented Apr 11, 2018

A new unusual one: Latanoprost. 5ml appears to be charged as 2 bottles (2.5ml) but 2ml as 1. Most practices seem to prescribe in pairs of bottles, so ones that prescribe in single bottles appear as outliers.

@HelenCEBM

This comment has been minimized.

Copy link

HelenCEBM commented Apr 11, 2018

The latanoprost issue could also apply to other products dispensed in units of non-integer quantities that have to be rounded to whole numbers.
Here's a script that creates a shortlist of items where this could be an issue (i.e. the qtyval contains a decimal point) AND where we have identified PPU savings:

SELECT distinct p.bnf_code, b.presentation, v.qtyval, sum(quantity) as quantity, SUM(ppu.possible_savings) AS possible_savings, 
max(price_per_unit) as max_ppu, min(price_per_unit) as min_ppu
FROM ebmdatalab.dmd.vmpp v LEFT JOIN ebmdatalab.dmd.product p on v.vpid = p.vpid
INNER JOIN `ebmdatalab.hscic.ppu_savings` ppu on p.bnf_code = ppu.bnf_code AND formulation_swap is null
LEFT JOIN ebmdatalab.hscic.bnf b on p.bnf_code = b.presentation_code
WHERE CAST(qtyval AS string)  LIKE '%.%' and p.bnf_code is not null
GROUP BY p.bnf_code, b.presentation, v.nm, v.qtyval
ORDER BY bnf_code

Of course the smaller the qtyval, the greater the potential effect of the rounding.

@sebbacon

This comment has been minimized.

Copy link
Contributor

sebbacon commented Apr 16, 2018

...and here are the current values for Helen's query, for the record:

image

@sebbacon

This comment has been minimized.

Copy link
Contributor

sebbacon commented Apr 16, 2018

Also to add that there is a lookup table for DMD "uom" fields ("unit of measure") and Lantanoprost is indeed specified to be measured in ml.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment