opensafely / codelist-development

Repository for discussion of OpenSAFELY codelists
7 stars 3 forks source link

*MEDICATION*: Long acting opioids #293

Closed chrisjwood16 closed 5 months ago

chrisjwood16 commented 5 months ago

User requirements

A codelist is needed of all long acting opioids used for analgesia (any route) excluding cough suppression, motility, general anaesthesia, opiate use disorder - this is for a project looking at opioid prescribing for patients on hospital waiting lists.

Sensitivity versus specificity

Any opioid as a modified release formulation or transdermal patch.

Relevant definitions or links to important reference sources

No response

Coding system

dm+d

Existing relevant codelists

https://www.opencodelists.org/codelist/opensafely/high-dose-long-acting-opioids-openprescribing/22c902fd/ https://www.opencodelists.org/codelist/opensafely/non-high-dose-long-acting-opioids-openprescribing/0013e8c8/ But there are new formulations of tapentadol not included in these codelists.

Search terms / synonyms / search strategy

Using Google BigQuery to combine BNF and dmd info to extract relevant formulations:

SELECT DISTINCT p.presentation_code as code, p.presentation as term 
  FROM hscic.bnf p
  INNER JOIN dmd.vmp vmp ON CONCAT(SUBSTR(p.presentation_code,0,9),'AA', SUBSTR(p.presentation_code,-2), SUBSTR(p.presentation_code,-2)) = vmp.bnf_code
  INNER JOIN dmd.vpi AS vpi ON vmp.id = vpi.vmp
  INNER JOIN dmd.ont AS ont ON vmp.id = ont.vmp
  INNER JOIN dmd.ontformroute AS route ON ont.form = route.cd
  WHERE
    (
      (vpi.ing = (60886004) AND route.descr LIKE '%modified-release.oral') /* Morphine Sulfate MR oral preps (ing code) */
      OR (vpi.ing = 387024006 AND route.descr LIKE '%modified-release.oral') /* Oxycodone MR oral preps (ing code) */
      OR (vpi.ing IN (441757005, 442699004,40755011000001109)  AND route.descr LIKE '%modified-release.oral') /* Tapentadol HCl/Phosphate MR oral preps (ing code) */
      OR (vpi.ing IN (386858008, 108505002) AND route.descr LIKE '%modified-release.oral') /* Tramadol HCl/ Tramadol MR 12 hour oral preps (ing code) */
      OR (vpi.ing IN (44508008, 387485001) AND route.descr LIKE '%modified-release.oral') /* Hydromorphone (ing code) */
      OR (vpi.ing IN (322538006, 387322000) AND route.descr LIKE '%modified-release.oral') /* Dihydrocodeine (ing code) */
      OR (vpi.ing IN (387494007, 261000) AND route.descr LIKE '%modified-release.oral') /* Codeine (ing code) */
      OR (vpi.ing IN (6837005, 387042001, 56297001) AND route.descr LIKE '%modified-release.oral') /* Dextropropoxyphene (ing code) */
      OR (vpi.ing IN (395783008, 768496009) AND route.descr LIKE '%modified-release.oral') /* Meptazinol (ing code) */ 
      OR (vpi.ing = (387173000)  AND route.descr LIKE 'patch.transdermal') /* Buprenorphine patches (ing code) */
      OR (vpi.ing = 373492002 AND route.descr = 'patch.transdermal') /* Fentanyl patches (ing code) */
    )
  GROUP BY code, term

Inclusion criteria for codes

Any opioid which is formulated as modified release or transdermal patch

Exclusion criteria for codes

No response

Borderline cases

No response

Final codelist

No response

chrisjwood16 commented 5 months ago

Draft codelist by @alschaffer: https://www.opencodelists.org/codelist/user/anschaf/long-acting-opioids/2d2c7ff6/ created by combining 2 existing codelists and then adding tapentadol items.

chrisjwood16 commented 5 months ago

@alschaffer I've checked against above method using BigQuery. Just a few items missing: image

alschaffer commented 5 months ago

Updated: https://www.opencodelists.org/codelist/user/anschaf/long-acting-opioids/1853cad8/

chrisjwood16 commented 5 months ago

@alschaffer - happy to approve this as accurate. Please can you add metadata/sign off info and publish.

alschaffer commented 5 months ago

Done https://www.opencodelists.org/codelist/user/anschaf/long-acting-opioids/1853cad8/