{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Analysing the impact of the One Drug Database on OpenPrescribing\n", "\n", "February 2020\n", "\n", "The BSA publish the [Detailed Prescribing Information](https://www.nhsbsa.nhs.uk/prescription-data/prescribing-data/detailed-prescribing-information) dataset monthly, which contains the number of items prescribed of each presentation for each practice. In 2020 they are changing the underlying database which produces this dataset. This is called the [One Drug Database project](https://www.nhsbsa.nhs.uk/important-information-drug-data), and these changes will affect the Detailed Prescribing Information dataset that we use.\n", "\n", "We expect to be affected by two changes.\n", "\n", "## Change 1: BNF code changes\n", "\n", "There will be a rationalisation of BNF codes. In particular:\n", "\n", "> BNF codes will change for products (drugs and appliances) where the pack size is currently shown as part of the naming convention.\n", "\n", "[1501 presentations](#Distribution-of-numbers-of-new-presentations-that-are-mapped-to) are affected by changed BNF codes.\n", "\n", "However, it looks like there has been a much larger rationalisation of BNF codes.\n", "\n", "Changes include:\n", "\n", "* [Old \"Liq Spec\" presentation disaggregated into \"oral solution\" and \"oral suspension\" presentations](#Old-\"Liq-Spec\"-presentation-disaggregated-into-\"oral-solution\"-and-\"oral-suspension\"-presentations)\n", "* [Old brandend presentation disaggregated into branded and generic presentations](#Old-brandend-presentation-disaggregated-into-branded-and-generic-presentations)\n", "* [Old presentation disaggregated into more accurately named presentations](#Old-presentation-disaggregated-into-more-accurately-named-presentations)\n", "* [Branded appliances into branded presentation and generic presentation in chapter 13](#Branded-appliances-into-branded-presentation-and-generic-presentation-in-chapter-13)\n", "* [An old version of a presentation is combined with the current version of the same](#An-old-version-of-a-presentation-is-combined-with-the-current-version-of-the-same)\n", "* [An \"Oral Soln\" presentation is combined with an \"Oral Susp\" presentation](#An-\"Oral-Soln\"-presentation-is-combined-with-an-\"Oral-Susp\"-presentation)\n", "* [Presentations of different flavour are combined](#Presentations-of-different-flavour-are-combined)\n", "* [Presentations of different dose size are combined](#Presentations-of-different-dose-size-are-combined)\n", "* [Branded presentations are combined into a generic presentation](#Branded-presentations-are-combined-into-a-generic-presentation)\n", "\n", "Presentations affected by changed BNF codes account for [1.3% of items and 1.4% of net_cost in November 2019](#Percentage-of-items-and-net_cost-that-are-affected-by-change-1).\n", "\n", "1% of presentations account for [55% of items](#Distribution-of-presentations-affected-by-change-1,-by-items) and [29% of net_cost](#Distribution-of-presentations-affected-by-change-1,-by-net_cost), and 10% of presentations account for [89% of items](#Distribution-of-presentations-affected-by-change-1,-by-items) and [82% of net_cost](#Distribution-of-presentations-affected-by-change-1,-by-net_cost).\n", "\n", "The 10 presentations most affected by changes in items are shown [here](#Top-10-presentations-affected-by-change-1,-by-items), and the 10 presentations most affected by changes in net_cost are shown [here](#Top-10-presentations-affected-by-change-1,-by-net_cost).\n", "\n", "## Change 2: special container quantity changes\n", "\n", "Some special container packs currently include the pack size in the drug name, and the quantity field represents the number of packs. Once the ODD changes are applied:\n", "\n", "> the quantity will be represented as the total quantity (for example, the number of mls or gms), instead of the number of special container packs.\n", "\n", "Presentations affected by changed BNF codes account for [1.5% of items and 3.2% of net_cost in November 2019](#Percentage-of-items-and-net_cost-that-are-affected-by-change-2).\n", "\n", "1% of presentations account for [44% of items](#Distribution-of-presentations-affected-by-change-2,-by-items) and [31% of net_cost](#Distribution-of-presentations-affected-by-change-2,-by-net_cost), and 10% of presentations account for [87% of items](#Distribution-of-presentations-affected-by-change-2,-by-items) and [84% of net_cost](#Distribution-of-presentations-affected-by-change-2,-by-net_cost).\n", "\n", "The 10 presentations most affected by changes in items are shown [here](#Top-10-presentations-affected-by-change-2,-by-items), and the 10 presentations most affected by changes in net_cost are shown [here](#Top-10-presentations-affected-by-change-2,-by-net_cost)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Housekeeping" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Imports from the standard library\n", "import json\n", "from collections import Counter\n", "\n", "# Imports from third-party packages\n", "import pandas as pd\n", "from ebmdatalab import bq" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Ensure that DataFrames columns are not truncated\n", "pd.set_option('display.max_colwidth', -1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Total items and net_cost for November 2019" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
itemsnet_cost
0935497907.585725e+08
\n", "
" ], "text/plain": [ " items net_cost\n", "0 93549790 7.585725e+08" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Query the prescribing data in BigQuery for the total items and net_cost \n", "sql = \"\"\"\n", "SELECT\n", " SUM(items) AS items,\n", " SUM(net_cost_pence) / 100 AS net_cost\n", "FROM public_draft.prescribing\n", "WHERE month = '2019-11-01'\n", "\"\"\"\n", "\n", "df = bq.cached_read(sql, csv_path='../bq-cache/2019_11_items_and_spending.csv')\n", "df" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Save these off for later -- we'll want to see what proprtion the items and net_cost are affected by the changes\n", "total_items, total_net_cost = df.iloc[0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Change 1: BNF code changes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Affected presentations" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Current BNF CodeMDR: BNF DescriptionNew BNF Codedm+d: BNF DescriptionBNF Code Changed (Y/N)
00101010C0AAAAAAAlum Hydrox_Cap 475mg0101010C0AAAAAAAluminium hydroxide 475mg capsulesN
10101010C0AAACACAlum Hydrox_Oral Susp S/F0101010C0AAACACAluminium hydroxide oral suspension sugar freeN
20101010C0AAAMAMAlum Hydrox_Oral Susp 475mg/5ml0101010C0AAAMAMAluminium hydroxide 475mg/5ml oral suspensionN
30101010C0BBAAAAAlu-Cap_Cap 475mg0101010C0BBAAAAAlu-Cap 475mg capsulesN
40101010E0AAAEAEHydrotalcite_Oral Susp 500mg/5ml S/F0101010E0AAAEAEHydrotalcite 500mg/5ml oral suspension sugar freeN
\n", "
" ], "text/plain": [ " Current BNF Code MDR: BNF Description New BNF Code \\\n", "0 0101010C0AAAAAA Alum Hydrox_Cap 475mg 0101010C0AAAAAA \n", "1 0101010C0AAACAC Alum Hydrox_Oral Susp S/F 0101010C0AAACAC \n", "2 0101010C0AAAMAM Alum Hydrox_Oral Susp 475mg/5ml 0101010C0AAAMAM \n", "3 0101010C0BBAAAA Alu-Cap_Cap 475mg 0101010C0BBAAAA \n", "4 0101010E0AAAEAE Hydrotalcite_Oral Susp 500mg/5ml S/F 0101010E0AAAEAE \n", "\n", " dm+d: BNF Description BNF Code Changed (Y/N) \n", "0 Aluminium hydroxide 475mg capsules N \n", "1 Aluminium hydroxide oral suspension sugar free N \n", "2 Aluminium hydroxide 475mg/5ml oral suspension N \n", "3 Alu-Cap 475mg capsules N \n", "4 Hydrotalcite 500mg/5ml oral suspension sugar free N " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Load the data from the spreadsheet\n", "bnf_mapping_raw = pd.read_excel('../data/MDR BNF to dm+d BNF Mapping.xlsx')\n", "bnf_mapping_raw.head()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "There are 1946 changed records\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
old_codeold_namenew_codenew_namechanged
560101010N0AAAAAAAntacid/Oxetacaine_Oral Susp S/F0101010N0AAABABAntacid and Oxetacaine oral suspensionY
810101012B0AAAUAUSod Bicarb_Liq Spec 420mg/5ml0101012B0AAABABSodium bicarbonate 420mg/5ml (1mol/ml) soln sugar freeY
970101012B0AABVBVSod Bicarb_Oral Soln 50mg/5ml (Old)0101012B0AABXBXSodium bicarbonate 50mg/5ml oral solutionY
870101012B0AABWBWSod Bicarb_Oral Soln 420mg/5ml0101012B0AAAUAUSodium bicarbonate 420mg/5ml (1mmol/ml) oral liquidY
1000101012B0BKAABYBoots_Gripe Mix S/F0101012B0AABYBYSodium bicarbonate 50mg/5ml oral solution sugar freeY
\n", "
" ], "text/plain": [ " old_code old_name new_code \\\n", "56 0101010N0AAAAAA Antacid/Oxetacaine_Oral Susp S/F 0101010N0AAABAB \n", "81 0101012B0AAAUAU Sod Bicarb_Liq Spec 420mg/5ml 0101012B0AAABAB \n", "97 0101012B0AABVBV Sod Bicarb_Oral Soln 50mg/5ml (Old) 0101012B0AABXBX \n", "87 0101012B0AABWBW Sod Bicarb_Oral Soln 420mg/5ml 0101012B0AAAUAU \n", "100 0101012B0BKAABY Boots_Gripe Mix S/F 0101012B0AABYBY \n", "\n", " new_name changed \n", "56 Antacid and Oxetacaine oral suspension Y \n", "81 Sodium bicarbonate 420mg/5ml (1mol/ml) soln sugar free Y \n", "97 Sodium bicarbonate 50mg/5ml oral solution Y \n", "87 Sodium bicarbonate 420mg/5ml (1mmol/ml) oral liquid Y \n", "100 Sodium bicarbonate 50mg/5ml oral solution sugar free Y " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Massage the data a bit, changing column names...\n", "bnf_mapping = bnf_mapping_raw.rename(columns={\n", " 'Current BNF Code': 'old_code',\n", " 'MDR: BNF Description': 'old_name',\n", " 'dm+d: BNF Description': 'new_name',\n", " 'New BNF Code': 'new_code',\n", " 'BNF Code Changed (Y/N)': 'changed'\n", "})\n", "# ...dropping rows where the code hasn't changed...\n", "bnf_mapping = bnf_mapping[bnf_mapping['changed'] == 'Y']\n", "# ...dropping rows where the old_code is in chapter 19...\n", "bnf_mapping = bnf_mapping[~bnf_mapping['old_code'].str.startswith('19')]\n", "# ...dropping rows where the new_code is in chapter 19...\n", "bnf_mapping = bnf_mapping[~bnf_mapping['new_code'].str.startswith('19')]\n", "# ...and sorting by old_code and new_code\n", "bnf_mapping = bnf_mapping.sort_values(['old_code', 'new_code'])\n", "\n", "print(f\"There are {len(bnf_mapping)} changed records\")\n", "display(bnf_mapping.head())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Distribution of numbers of new presentations that are mapped to\n", "\n", "_(Is there a better way to express this?)_" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are 1501 distinct old BNF codes:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1501" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bnf_mapping['old_code'].nunique()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are 1418 old BNF codes map to a single new BNF code, 37 old BNF codes map to 2 new BNF codes... and 1 maps to 112 new BNF codes:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
num_old_codesnum_new_codes_mapped_to
014181
1372
2413
315
4257
51100
61112
\n", "
" ], "text/plain": [ " num_old_codes num_new_codes_mapped_to\n", "0 1418 1 \n", "1 37 2 \n", "2 41 3 \n", "3 1 5 \n", "4 2 57 \n", "5 1 100 \n", "6 1 112 " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "old_code_counts = Counter(bnf_mapping['old_code'])\n", "old_code_count_distribution = sorted(Counter(old_code_counts.values()).items())\n", "rows = [\n", " [num_old_codes, num_new_codes_mapped_to]\n", " for num_new_codes_mapped_to, num_old_codes in old_code_count_distribution\n", "]\n", "pd.DataFrame(rows, columns=['num_old_codes', 'num_new_codes_mapped_to'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Old presentations mapping to 2 new codes" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
old_codeold_namenew_codenew_namechanged
2690102000L0AAAJAJGlycopyrronium Brom_Liq Spec 500mcg/5ml0102000L0AABHBHGlycopyrronium bromide 500micrograms/5ml oral solutionY
2710102000L0AAAJAJGlycopyrronium Brom_Liq Spec 500mcg/5ml0102000L0AABIBIGlycopyrronium bromide 500micrograms/5ml oral suspensionY
15040204000H0AAAUAUBisoprolol Fumar_OralSoln1.25mg/5ml(Old)0204000H0AABIBIBisoprolol 1.25mg/5ml oral suspensionY
15060204000H0AAAUAUBisoprolol Fumar_OralSoln1.25mg/5ml(Old)0204000H0AABJBJBisoprolol 1.25mg/5ml oral solutionY
19130205051L0AAAFAFLisinopril_Liq Spec 20mg/5ml0205051L0AAAYAYLisinopril 20mg/5ml oral solutionY
19150205051L0AAAFAFLisinopril_Liq Spec 20mg/5ml0205051L0AAAZAZLisinopril 20mg/5ml oral suspensionY
21840206010F0AAAAAAGlyceryl Trinit_Subling Spy 400mcg(200D)0206010F0AACGCGGlyceryl trinitrate 400micrograms/dose aerosol SL spyY
21880206010F0AAAAAAGlyceryl Trinit_Subling Spy 400mcg(200D)0206010F0AACICIGlyceryl trinitrate 400micrograms/dose pump sublingual sprayY
41080401010ADAABUBUMelatonin_Liq Spec 10mg/5ml0401010ADAACDCDMelatonin 10mg/5ml oral solutionY
41100401010ADAABUBUMelatonin_Liq Spec 10mg/5ml0401010ADAACECEMelatonin 10mg/5ml oral suspensionY
55610407010H0AAAAAAParacet_Cap 500mg0407010H0B3AKAABoots Paracetamol 500mg capsulesY
55850407010H0AAAAAAParacet_Cap 500mg0407010H0BUAAAANumark Paracetamol 500mg capsulesY
76310410030E0AAARARNaltrexone HCl_Oral Soln 5mg/5ml (Old)0410030E0AAATATNaltrexone 5mg/5ml oral suspensionY
76350410030E0AAARARNaltrexone HCl_Oral Soln 5mg/5ml (Old)0410030E0AAAVAVNaltrexone 5mg/5ml oral solutionY
10719070405000BBADA0Invicorp-2_Inj Soln 1ml Amp0704050ADAAAAAAPhentolamine 2mg/0.35ml / Aviptadil 25microg/0.35ml inj ampY
10722070405000BBADA0Invicorp-2_Inj Soln 1ml Amp0704050ADBBABAAInvicorp 2 solution for injectionY
12160090401000BBIEA0Maxijul Super Solb_Pdr Sach 132g090401000AAANANGeneric Maxijul Super Soluble powderY
12193090401000BBIEA0Maxijul Super Solb_Pdr Sach 132g090401000BBCJANMaxijul Super Soluble powderY
12385090401000BBMRA0PKU Lophlex LQ_20 Liq (Berry)090401000BBRPA0PKU Lophlex LQ 20 liquid (6 flavours)Y
12426090401000BBMRA0PKU Lophlex LQ_20 Liq (Berry)090401000BBTDA0PKU Lophlex LQ 20 liquid citrusY
12380090401000BBNNA0PKU Lophlex LQ_10 Liq (4 Flav)090401000BBRLA0PKU Lophlex LQ 10 liquid (5 flavours)Y
12425090401000BBNNA0PKU Lophlex LQ_10 Liq (4 Flav)090401000BBTBA0PKU Lophlex LQ 10 liquid citrusY
126700904010U0AAAAAAG/F /W/F_Bread0904010A0AABFBFGluten free biscuitsY
129220904010U0AAAAAAG/F /W/F_Bread0904010H0AAAAAAGluten free breadY
13273090402000BBKLA0Peptamen_Dripac-Flex Liq (Unflav)090402000AAASASGeneric Peptamen liquidY
13339090402000BBKLA0Peptamen_Dripac-Flex Liq (Unflav)090402000BBIGA0Peptamen liquid unflavouredY
14106090602400BBCGA0Solgar_Vit B6 Cap 100mg (OLD)0906024N0AABEBEPyridoxine 100mg capsulesY
14138090602400BBCGA0Solgar_Vit B6 Cap 100mg (OLD)0906024N0CKAABESolgar Vitamin B6 100mg capsulesY
141220906024N0AABLBLPyridox HCl_Liq Spec 100mg/5ml0906024N0AACXCXPyridoxine 100mg/5ml oral solutionY
141240906024N0AABLBLPyridox HCl_Liq Spec 100mg/5ml0906024N0AACYCYPyridoxine 100mg/5ml oral suspensionY
148600906027G0AAABABVit B Co Strong_Tab090607000AABBBBMultivitamin tabletsY
154970906027G0AAABABVit B Co Strong_Tab091200000AAFTFTMultinutrient tabletsY
143940906040G0AAAUAUColecal_Oral Susp 15,000u/5ml0906040G0AADEDEColecalciferol 5,000units/ml oral solutionY
144090906040G0AAAUAUColecal_Oral Susp 15,000u/5ml0906040G0AADSDSColecalciferol 15,000units/5ml oral solutionY
162721001030U0AABTBTMethotrexate_Oral Soln 10mg/5ml1001030U0AAAHAHMethotrexate 10mg/5ml oral liquidY
163091001030U0AABTBTMethotrexate_Oral Soln 10mg/5ml1001030U0AACFCFMethotrexate 2mg/ml oral solution sugar freeY
164851002010Q0AAAIAIPyridostig Brom_Liq Spec 60mg/5ml1002010Q0AABFBFPyridostigmine bromide 60mg/5ml oral solutionY
164911002010Q0AAAIAIPyridostig Brom_Liq Spec 60mg/5ml1002010Q0AABIBIPyridostigmine bromide 60mg/5ml oral suspensionY
17083110801000BLAQA0Blephaclean_Eye Lid Wipe (Drug)110801000AAABABGeneric Lid-Care wipesY
29069110801000BLAQA0Blephaclean_Eye Lid Wipe (Drug)21300000850Blephaclean wipesY
194931313010S0BBAAA0Zipzoc_Zn Ox Impregnated Medic Stkn(Old)1313010S0AAAAAAZinc oxide impregnated medicated stockingsY
194941313010S0BBAAA0Zipzoc_Zn Ox Impregnated Medic Stkn(Old)1313010S0BBABAAZipzoc stockingsY
2150320030300026L-Mesitran Oint 50g Wound Dress H/Base Top Applic20030300025Mesitran ointment dressingY
2150520030300026L-Mesitran Oint 50g Wound Dress H/Base Top Applic20030300028L-Mesitran ointment dressingY
2470920200000175DermaSilk Brief Adult (Fle) XSml-Sml Silk Garment20200000333DermaSilk briefs female adult medium-largeY
2471120200000175DermaSilk Brief Adult (Fle) XSml-Sml Silk Garment20200000334DermaSilk briefs female adult extra large-XX largeY
2559921020001000Hollister InstantCath Protect Nelaton 8 (25-Pack) Cath21020001002InstantCath Protect catheter 14ChY
2560121020001000Hollister InstantCath Protect Nelaton 8 (25-Pack) Cath21020001003InstantCath Protect catheter 18ChY
1784521220000118Flexitol 10% Urea Crm 500g1302010U0AAAFAFUrea 10% creamY
2639621220000118Flexitol 10% Urea Crm 500g21220000117Flexitol 10% Urea creamY
1772721220000234Cetraben Crm 150g130201000AACFCFWhite soft paraffin 13.2% /Liquid paraffin light 10.5% creamY
2645421220000234Cetraben Crm 150g21220000233Cetraben creamY
1772821220000235Cetraben Crm 500g130201000AACFCFWhite soft paraffin 13.2% /Liquid paraffin light 10.5% creamY
2645521220000235Cetraben Crm 500g21220000233Cetraben creamY
1772921220000236Cetraben Crm 1050g130201000AACFCFWhite soft paraffin 13.2% /Liquid paraffin light 10.5% creamY
2645621220000236Cetraben Crm 1050g21220000233Cetraben creamY
1771821220000252Isomol Gel 500g130201000AACACAIsopropyl myristate 15% / Liquid paraffin 15% gelY
2647621220000252Isomol Gel 500g21220000251isomol gelY
1772021220000261MyriBase Gel 500g130201000AACACAIsopropyl myristate 15% / Liquid paraffin 15% gelY
2648621220000261MyriBase Gel 500g21220000260MyriBase gelY
1772121220000263AproDerm Gel 500g130201000AACACAIsopropyl myristate 15% / Liquid paraffin 15% gelY
2648921220000263AproDerm Gel 500g21220000262AproDerm gelY
1789121220000268AquaDerm Aq Crm130201100AAAMAMAqueous creamY
2649121220000268AquaDerm Aq Crm21220000267AquaDerm Aqueous creamY
1770521220000272AquaDerm Liq Par 50%/WSP Oint 500g130201000AAA6A6White soft paraffin 50% / Liquid paraffin 50% ointmentY
2649521220000272AquaDerm Liq Par 50%/WSP Oint 500g21220000271AquaDerm Liquid Paraffin 50% in White Soft Paraffin ointmentY
1784721220000279Aquadrate Crm 10% 100g (App)1302010U0AAAFAFUrea 10% creamY
2650421220000279Aquadrate Crm 10% 100g (App)21220000278Aquadrate 10% creamY
1784921220000281Hydromol Intensive Crm 10% 100g (App)1302010U0AAAFAFUrea 10% creamY
2650721220000281Hydromol Intensive Crm 10% 100g (App)21220000280Hydromol Intensive 10% creamY
3164023300263031AMI_Suportx Ostomy/Hernia Supp/Belt 15cm+Hole Sml (75-90cm)23300263864Suportx ostomy belt with hole cutting, small 15cm blackY
3164523300263031AMI_Suportx Ostomy/Hernia Supp/Belt 15cm+Hole Sml (75-90cm)23300263870Suportx ostomy belt with hole cutting, small 15cm skinY
3164423300263036AMI_Suportx Ostomy/Hernia Supp Belt 15cm + Hole (Bespoke)23300263869Suportx ostomy belt with hole cutting, made to measure 15cm blackY
3165123300263036AMI_Suportx Ostomy/Hernia Supp Belt 15cm + Hole (Bespoke)23300263875Suportx ostomy belt with hole cutting, made to measure 15cm skinY
\n", "
" ], "text/plain": [ " old_code \\\n", "269 0102000L0AAAJAJ \n", "271 0102000L0AAAJAJ \n", "1504 0204000H0AAAUAU \n", "1506 0204000H0AAAUAU \n", "1913 0205051L0AAAFAF \n", "1915 0205051L0AAAFAF \n", "2184 0206010F0AAAAAA \n", "2188 0206010F0AAAAAA \n", "4108 0401010ADAABUBU \n", "4110 0401010ADAABUBU \n", "5561 0407010H0AAAAAA \n", "5585 0407010H0AAAAAA \n", "7631 0410030E0AAARAR \n", "7635 0410030E0AAARAR \n", "10719 070405000BBADA0 \n", "10722 070405000BBADA0 \n", "12160 090401000BBIEA0 \n", "12193 090401000BBIEA0 \n", "12385 090401000BBMRA0 \n", "12426 090401000BBMRA0 \n", "12380 090401000BBNNA0 \n", "12425 090401000BBNNA0 \n", "12670 0904010U0AAAAAA \n", "12922 0904010U0AAAAAA \n", "13273 090402000BBKLA0 \n", "13339 090402000BBKLA0 \n", "14106 090602400BBCGA0 \n", "14138 090602400BBCGA0 \n", "14122 0906024N0AABLBL \n", "14124 0906024N0AABLBL \n", "14860 0906027G0AAABAB \n", "15497 0906027G0AAABAB \n", "14394 0906040G0AAAUAU \n", "14409 0906040G0AAAUAU \n", "16272 1001030U0AABTBT \n", "16309 1001030U0AABTBT \n", "16485 1002010Q0AAAIAI \n", "16491 1002010Q0AAAIAI \n", "17083 110801000BLAQA0 \n", "29069 110801000BLAQA0 \n", "19493 1313010S0BBAAA0 \n", "19494 1313010S0BBAAA0 \n", "21503 20030300026 \n", "21505 20030300026 \n", "24709 20200000175 \n", "24711 20200000175 \n", "25599 21020001000 \n", "25601 21020001000 \n", "17845 21220000118 \n", "26396 21220000118 \n", "17727 21220000234 \n", "26454 21220000234 \n", "17728 21220000235 \n", "26455 21220000235 \n", "17729 21220000236 \n", "26456 21220000236 \n", "17718 21220000252 \n", "26476 21220000252 \n", "17720 21220000261 \n", "26486 21220000261 \n", "17721 21220000263 \n", "26489 21220000263 \n", "17891 21220000268 \n", "26491 21220000268 \n", "17705 21220000272 \n", "26495 21220000272 \n", "17847 21220000279 \n", "26504 21220000279 \n", "17849 21220000281 \n", "26507 21220000281 \n", "31640 23300263031 \n", "31645 23300263031 \n", "31644 23300263036 \n", "31651 23300263036 \n", "\n", " old_name \\\n", "269 Glycopyrronium Brom_Liq Spec 500mcg/5ml \n", "271 Glycopyrronium Brom_Liq Spec 500mcg/5ml \n", "1504 Bisoprolol Fumar_OralSoln1.25mg/5ml(Old) \n", "1506 Bisoprolol Fumar_OralSoln1.25mg/5ml(Old) \n", "1913 Lisinopril_Liq Spec 20mg/5ml \n", "1915 Lisinopril_Liq Spec 20mg/5ml \n", "2184 Glyceryl Trinit_Subling Spy 400mcg(200D) \n", "2188 Glyceryl Trinit_Subling Spy 400mcg(200D) \n", "4108 Melatonin_Liq Spec 10mg/5ml \n", "4110 Melatonin_Liq Spec 10mg/5ml \n", "5561 Paracet_Cap 500mg \n", "5585 Paracet_Cap 500mg \n", "7631 Naltrexone HCl_Oral Soln 5mg/5ml (Old) \n", "7635 Naltrexone HCl_Oral Soln 5mg/5ml (Old) \n", "10719 Invicorp-2_Inj Soln 1ml Amp \n", "10722 Invicorp-2_Inj Soln 1ml Amp \n", "12160 Maxijul Super Solb_Pdr Sach 132g \n", "12193 Maxijul Super Solb_Pdr Sach 132g \n", "12385 PKU Lophlex LQ_20 Liq (Berry) \n", "12426 PKU Lophlex LQ_20 Liq (Berry) \n", "12380 PKU Lophlex LQ_10 Liq (4 Flav) \n", "12425 PKU Lophlex LQ_10 Liq (4 Flav) \n", "12670 G/F /W/F_Bread \n", "12922 G/F /W/F_Bread \n", "13273 Peptamen_Dripac-Flex Liq (Unflav) \n", "13339 Peptamen_Dripac-Flex Liq (Unflav) \n", "14106 Solgar_Vit B6 Cap 100mg (OLD) \n", "14138 Solgar_Vit B6 Cap 100mg (OLD) \n", "14122 Pyridox HCl_Liq Spec 100mg/5ml \n", "14124 Pyridox HCl_Liq Spec 100mg/5ml \n", "14860 Vit B Co Strong_Tab \n", "15497 Vit B Co Strong_Tab \n", "14394 Colecal_Oral Susp 15,000u/5ml \n", "14409 Colecal_Oral Susp 15,000u/5ml \n", "16272 Methotrexate_Oral Soln 10mg/5ml \n", "16309 Methotrexate_Oral Soln 10mg/5ml \n", "16485 Pyridostig Brom_Liq Spec 60mg/5ml \n", "16491 Pyridostig Brom_Liq Spec 60mg/5ml \n", "17083 Blephaclean_Eye Lid Wipe (Drug) \n", "29069 Blephaclean_Eye Lid Wipe (Drug) \n", "19493 Zipzoc_Zn Ox Impregnated Medic Stkn(Old) \n", "19494 Zipzoc_Zn Ox Impregnated Medic Stkn(Old) \n", "21503 L-Mesitran Oint 50g Wound Dress H/Base Top Applic \n", "21505 L-Mesitran Oint 50g Wound Dress H/Base Top Applic \n", "24709 DermaSilk Brief Adult (Fle) XSml-Sml Silk Garment \n", "24711 DermaSilk Brief Adult (Fle) XSml-Sml Silk Garment \n", "25599 Hollister InstantCath Protect Nelaton 8 (25-Pack) Cath \n", "25601 Hollister InstantCath Protect Nelaton 8 (25-Pack) Cath \n", "17845 Flexitol 10% Urea Crm 500g \n", "26396 Flexitol 10% Urea Crm 500g \n", "17727 Cetraben Crm 150g \n", "26454 Cetraben Crm 150g \n", "17728 Cetraben Crm 500g \n", "26455 Cetraben Crm 500g \n", "17729 Cetraben Crm 1050g \n", "26456 Cetraben Crm 1050g \n", "17718 Isomol Gel 500g \n", "26476 Isomol Gel 500g \n", "17720 MyriBase Gel 500g \n", "26486 MyriBase Gel 500g \n", "17721 AproDerm Gel 500g \n", "26489 AproDerm Gel 500g \n", "17891 AquaDerm Aq Crm \n", "26491 AquaDerm Aq Crm \n", "17705 AquaDerm Liq Par 50%/WSP Oint 500g \n", "26495 AquaDerm Liq Par 50%/WSP Oint 500g \n", "17847 Aquadrate Crm 10% 100g (App) \n", "26504 Aquadrate Crm 10% 100g (App) \n", "17849 Hydromol Intensive Crm 10% 100g (App) \n", "26507 Hydromol Intensive Crm 10% 100g (App) \n", "31640 AMI_Suportx Ostomy/Hernia Supp/Belt 15cm+Hole Sml (75-90cm) \n", "31645 AMI_Suportx Ostomy/Hernia Supp/Belt 15cm+Hole Sml (75-90cm) \n", "31644 AMI_Suportx Ostomy/Hernia Supp Belt 15cm + Hole (Bespoke) \n", "31651 AMI_Suportx Ostomy/Hernia Supp Belt 15cm + Hole (Bespoke) \n", "\n", " new_code \\\n", "269 0102000L0AABHBH \n", "271 0102000L0AABIBI \n", "1504 0204000H0AABIBI \n", "1506 0204000H0AABJBJ \n", "1913 0205051L0AAAYAY \n", "1915 0205051L0AAAZAZ \n", "2184 0206010F0AACGCG \n", "2188 0206010F0AACICI \n", "4108 0401010ADAACDCD \n", "4110 0401010ADAACECE \n", "5561 0407010H0B3AKAA \n", "5585 0407010H0BUAAAA \n", "7631 0410030E0AAATAT \n", "7635 0410030E0AAAVAV \n", "10719 0704050ADAAAAAA \n", "10722 0704050ADBBABAA \n", "12160 090401000AAANAN \n", "12193 090401000BBCJAN \n", "12385 090401000BBRPA0 \n", "12426 090401000BBTDA0 \n", "12380 090401000BBRLA0 \n", "12425 090401000BBTBA0 \n", "12670 0904010A0AABFBF \n", "12922 0904010H0AAAAAA \n", "13273 090402000AAASAS \n", "13339 090402000BBIGA0 \n", "14106 0906024N0AABEBE \n", "14138 0906024N0CKAABE \n", "14122 0906024N0AACXCX \n", "14124 0906024N0AACYCY \n", "14860 090607000AABBBB \n", "15497 091200000AAFTFT \n", "14394 0906040G0AADEDE \n", "14409 0906040G0AADSDS \n", "16272 1001030U0AAAHAH \n", "16309 1001030U0AACFCF \n", "16485 1002010Q0AABFBF \n", "16491 1002010Q0AABIBI \n", "17083 110801000AAABAB \n", "29069 21300000850 \n", "19493 1313010S0AAAAAA \n", "19494 1313010S0BBABAA \n", "21503 20030300025 \n", "21505 20030300028 \n", "24709 20200000333 \n", "24711 20200000334 \n", "25599 21020001002 \n", "25601 21020001003 \n", "17845 1302010U0AAAFAF \n", "26396 21220000117 \n", "17727 130201000AACFCF \n", "26454 21220000233 \n", "17728 130201000AACFCF \n", "26455 21220000233 \n", "17729 130201000AACFCF \n", "26456 21220000233 \n", "17718 130201000AACACA \n", "26476 21220000251 \n", "17720 130201000AACACA \n", "26486 21220000260 \n", "17721 130201000AACACA \n", "26489 21220000262 \n", "17891 130201100AAAMAM \n", "26491 21220000267 \n", "17705 130201000AAA6A6 \n", "26495 21220000271 \n", "17847 1302010U0AAAFAF \n", "26504 21220000278 \n", "17849 1302010U0AAAFAF \n", "26507 21220000280 \n", "31640 23300263864 \n", "31645 23300263870 \n", "31644 23300263869 \n", "31651 23300263875 \n", "\n", " new_name \\\n", "269 Glycopyrronium bromide 500micrograms/5ml oral solution \n", "271 Glycopyrronium bromide 500micrograms/5ml oral suspension \n", "1504 Bisoprolol 1.25mg/5ml oral suspension \n", "1506 Bisoprolol 1.25mg/5ml oral solution \n", "1913 Lisinopril 20mg/5ml oral solution \n", "1915 Lisinopril 20mg/5ml oral suspension \n", "2184 Glyceryl trinitrate 400micrograms/dose aerosol SL spy \n", "2188 Glyceryl trinitrate 400micrograms/dose pump sublingual spray \n", "4108 Melatonin 10mg/5ml oral solution \n", "4110 Melatonin 10mg/5ml oral suspension \n", "5561 Boots Paracetamol 500mg capsules \n", "5585 Numark Paracetamol 500mg capsules \n", "7631 Naltrexone 5mg/5ml oral suspension \n", "7635 Naltrexone 5mg/5ml oral solution \n", "10719 Phentolamine 2mg/0.35ml / Aviptadil 25microg/0.35ml inj amp \n", "10722 Invicorp 2 solution for injection \n", "12160 Generic Maxijul Super Soluble powder \n", "12193 Maxijul Super Soluble powder \n", "12385 PKU Lophlex LQ 20 liquid (6 flavours) \n", "12426 PKU Lophlex LQ 20 liquid citrus \n", "12380 PKU Lophlex LQ 10 liquid (5 flavours) \n", "12425 PKU Lophlex LQ 10 liquid citrus \n", "12670 Gluten free biscuits \n", "12922 Gluten free bread \n", "13273 Generic Peptamen liquid \n", "13339 Peptamen liquid unflavoured \n", "14106 Pyridoxine 100mg capsules \n", "14138 Solgar Vitamin B6 100mg capsules \n", "14122 Pyridoxine 100mg/5ml oral solution \n", "14124 Pyridoxine 100mg/5ml oral suspension \n", "14860 Multivitamin tablets \n", "15497 Multinutrient tablets \n", "14394 Colecalciferol 5,000units/ml oral solution \n", "14409 Colecalciferol 15,000units/5ml oral solution \n", "16272 Methotrexate 10mg/5ml oral liquid \n", "16309 Methotrexate 2mg/ml oral solution sugar free \n", "16485 Pyridostigmine bromide 60mg/5ml oral solution \n", "16491 Pyridostigmine bromide 60mg/5ml oral suspension \n", "17083 Generic Lid-Care wipes \n", "29069 Blephaclean wipes \n", "19493 Zinc oxide impregnated medicated stockings \n", "19494 Zipzoc stockings \n", "21503 Mesitran ointment dressing \n", "21505 L-Mesitran ointment dressing \n", "24709 DermaSilk briefs female adult medium-large \n", "24711 DermaSilk briefs female adult extra large-XX large \n", "25599 InstantCath Protect catheter 14Ch \n", "25601 InstantCath Protect catheter 18Ch \n", "17845 Urea 10% cream \n", "26396 Flexitol 10% Urea cream \n", "17727 White soft paraffin 13.2% /Liquid paraffin light 10.5% cream \n", "26454 Cetraben cream \n", "17728 White soft paraffin 13.2% /Liquid paraffin light 10.5% cream \n", "26455 Cetraben cream \n", "17729 White soft paraffin 13.2% /Liquid paraffin light 10.5% cream \n", "26456 Cetraben cream \n", "17718 Isopropyl myristate 15% / Liquid paraffin 15% gel \n", "26476 isomol gel \n", "17720 Isopropyl myristate 15% / Liquid paraffin 15% gel \n", "26486 MyriBase gel \n", "17721 Isopropyl myristate 15% / Liquid paraffin 15% gel \n", "26489 AproDerm gel \n", "17891 Aqueous cream \n", "26491 AquaDerm Aqueous cream \n", "17705 White soft paraffin 50% / Liquid paraffin 50% ointment \n", "26495 AquaDerm Liquid Paraffin 50% in White Soft Paraffin ointment \n", "17847 Urea 10% cream \n", "26504 Aquadrate 10% cream \n", "17849 Urea 10% cream \n", "26507 Hydromol Intensive 10% cream \n", "31640 Suportx ostomy belt with hole cutting, small 15cm black \n", "31645 Suportx ostomy belt with hole cutting, small 15cm skin \n", "31644 Suportx ostomy belt with hole cutting, made to measure 15cm black \n", "31651 Suportx ostomy belt with hole cutting, made to measure 15cm skin \n", "\n", " changed \n", "269 Y \n", "271 Y \n", "1504 Y \n", "1506 Y \n", "1913 Y \n", "1915 Y \n", "2184 Y \n", "2188 Y \n", "4108 Y \n", "4110 Y \n", "5561 Y \n", "5585 Y \n", "7631 Y \n", "7635 Y \n", "10719 Y \n", "10722 Y \n", "12160 Y \n", "12193 Y \n", "12385 Y \n", "12426 Y \n", "12380 Y \n", "12425 Y \n", "12670 Y \n", "12922 Y \n", "13273 Y \n", "13339 Y \n", "14106 Y \n", "14138 Y \n", "14122 Y \n", "14124 Y \n", "14860 Y \n", "15497 Y \n", "14394 Y \n", "14409 Y \n", "16272 Y \n", "16309 Y \n", "16485 Y \n", "16491 Y \n", "17083 Y \n", "29069 Y \n", "19493 Y \n", "19494 Y \n", "21503 Y \n", "21505 Y \n", "24709 Y \n", "24711 Y \n", "25599 Y \n", "25601 Y \n", "17845 Y \n", "26396 Y \n", "17727 Y \n", "26454 Y \n", "17728 Y \n", "26455 Y \n", "17729 Y \n", "26456 Y \n", "17718 Y \n", "26476 Y \n", "17720 Y \n", "26486 Y \n", "17721 Y \n", "26489 Y \n", "17891 Y \n", "26491 Y \n", "17705 Y \n", "26495 Y \n", "17847 Y \n", "26504 Y \n", "17849 Y \n", "26507 Y \n", "31640 Y \n", "31645 Y \n", "31644 Y \n", "31651 Y " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "old_codes_mapping_to_2_new_codes = [code for code, count in old_code_counts.items() if count == 2]\n", "\n", "with pd.option_context('display.max_rows', None):\n", " display(bnf_mapping[bnf_mapping[\"old_code\"].isin(old_codes_mapping_to_2_new_codes)])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are several patterns here that we can pick out:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Old \"Liq Spec\" presentation disaggregated into \"oral solution\" and \"oral suspension\" presentations" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
old_codeold_namenew_codenew_namechanged
2690102000L0AAAJAJGlycopyrronium Brom_Liq Spec 500mcg/5ml0102000L0AABHBHGlycopyrronium bromide 500micrograms/5ml oral solutionY
2710102000L0AAAJAJGlycopyrronium Brom_Liq Spec 500mcg/5ml0102000L0AABIBIGlycopyrronium bromide 500micrograms/5ml oral suspensionY
\n", "
" ], "text/plain": [ " old_code old_name \\\n", "269 0102000L0AAAJAJ Glycopyrronium Brom_Liq Spec 500mcg/5ml \n", "271 0102000L0AAAJAJ Glycopyrronium Brom_Liq Spec 500mcg/5ml \n", "\n", " new_code \\\n", "269 0102000L0AABHBH \n", "271 0102000L0AABIBI \n", "\n", " new_name changed \n", "269 Glycopyrronium bromide 500micrograms/5ml oral solution Y \n", "271 Glycopyrronium bromide 500micrograms/5ml oral suspension Y " ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bnf_mapping[bnf_mapping[\"old_code\"] == \"0102000L0AAAJAJ\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Old brandend presentation disaggregated into branded and generic presentations" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
old_codeold_namenew_codenew_namechanged
10719070405000BBADA0Invicorp-2_Inj Soln 1ml Amp0704050ADAAAAAAPhentolamine 2mg/0.35ml / Aviptadil 25microg/0.35ml inj ampY
10722070405000BBADA0Invicorp-2_Inj Soln 1ml Amp0704050ADBBABAAInvicorp 2 solution for injectionY
\n", "
" ], "text/plain": [ " old_code old_name new_code \\\n", "10719 070405000BBADA0 Invicorp-2_Inj Soln 1ml Amp 0704050ADAAAAAA \n", "10722 070405000BBADA0 Invicorp-2_Inj Soln 1ml Amp 0704050ADBBABAA \n", "\n", " new_name changed \n", "10719 Phentolamine 2mg/0.35ml / Aviptadil 25microg/0.35ml inj amp Y \n", "10722 Invicorp 2 solution for injection Y " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bnf_mapping[bnf_mapping[\"old_code\"] == \"070405000BBADA0\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Old presentation disaggregated into more accurately named presentations" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
old_codeold_namenew_codenew_namechanged
148600906027G0AAABABVit B Co Strong_Tab090607000AABBBBMultivitamin tabletsY
154970906027G0AAABABVit B Co Strong_Tab091200000AAFTFTMultinutrient tabletsY
\n", "
" ], "text/plain": [ " old_code old_name new_code \\\n", "14860 0906027G0AAABAB Vit B Co Strong_Tab 090607000AABBBB \n", "15497 0906027G0AAABAB Vit B Co Strong_Tab 091200000AAFTFT \n", "\n", " new_name changed \n", "14860 Multivitamin tablets Y \n", "15497 Multinutrient tablets Y " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bnf_mapping[bnf_mapping[\"old_code\"] == \"0906027G0AAABAB\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Branded appliances into branded presentation and generic presentation in chapter 13" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
old_codeold_namenew_codenew_namechanged
1772721220000234Cetraben Crm 150g130201000AACFCFWhite soft paraffin 13.2% /Liquid paraffin light 10.5% creamY
2645421220000234Cetraben Crm 150g21220000233Cetraben creamY
\n", "
" ], "text/plain": [ " old_code old_name new_code \\\n", "17727 21220000234 Cetraben Crm 150g 130201000AACFCF \n", "26454 21220000234 Cetraben Crm 150g 21220000233 \n", "\n", " new_name changed \n", "17727 White soft paraffin 13.2% /Liquid paraffin light 10.5% cream Y \n", "26454 Cetraben cream Y " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bnf_mapping[bnf_mapping[\"old_code\"] == \"21220000234\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Old presentation mapping to 112 new codes\n", "\n", "The old presentation covered a huge range of sizes, colours, and materials. There is now one presentation for each." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
old_codeold_namenew_codenew_namechanged
3125123300263001AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge)23300263578Suportx female low waist ostomy girdle small blackY
3125323300263001AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge)23300263579Suportx female low waist ostomy girdle medium blackY
3125523300263001AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge)23300263580Suportx female low waist ostomy girdle large blackY
3125723300263001AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge)23300263581Suportx female low waist ostomy girdle extra large blackY
3125923300263001AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge)23300263582Suportx female low waist ostomy girdle XX large blackY
3126123300263001AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge)23300263583Suportx female low waist ostomy girdle small skinY
3126323300263001AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge)23300263584Suportx female low waist ostomy girdle medium skinY
3126523300263001AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge)23300263585Suportx female low waist ostomy girdle large skinY
3126723300263001AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge)23300263586Suportx female low waist ostomy girdle extra large skinY
3126923300263001AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge)23300263587Suportx female low waist ostomy girdle XX large skinY
\n", "
" ], "text/plain": [ " old_code \\\n", "31251 23300263001 \n", "31253 23300263001 \n", "31255 23300263001 \n", "31257 23300263001 \n", "31259 23300263001 \n", "31261 23300263001 \n", "31263 23300263001 \n", "31265 23300263001 \n", "31267 23300263001 \n", "31269 23300263001 \n", "\n", " old_name \\\n", "31251 AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge) \n", "31253 AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge) \n", "31255 AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge) \n", "31257 AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge) \n", "31259 AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge) \n", "31261 AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge) \n", "31263 AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge) \n", "31265 AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge) \n", "31267 AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge) \n", "31269 AMI_Suportx Hernia Support Girdles Fle Low Waist (Sml-XXLge) \n", "\n", " new_code new_name \\\n", "31251 23300263578 Suportx female low waist ostomy girdle small black \n", "31253 23300263579 Suportx female low waist ostomy girdle medium black \n", "31255 23300263580 Suportx female low waist ostomy girdle large black \n", "31257 23300263581 Suportx female low waist ostomy girdle extra large black \n", "31259 23300263582 Suportx female low waist ostomy girdle XX large black \n", "31261 23300263583 Suportx female low waist ostomy girdle small skin \n", "31263 23300263584 Suportx female low waist ostomy girdle medium skin \n", "31265 23300263585 Suportx female low waist ostomy girdle large skin \n", "31267 23300263586 Suportx female low waist ostomy girdle extra large skin \n", "31269 23300263587 Suportx female low waist ostomy girdle XX large skin \n", "\n", " changed \n", "31251 Y \n", "31253 Y \n", "31255 Y \n", "31257 Y \n", "31259 Y \n", "31261 Y \n", "31263 Y \n", "31265 Y \n", "31267 Y \n", "31269 Y " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bnf_code = old_code_counts.most_common(1)[0][0]\n", "bnf_mapping[bnf_mapping[\"old_code\"] == bnf_code].head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Distribution of numbers of old presentations that are mapped from\n", "\n", "_(Again, is there a better way to express this?)_" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are 1476 distinct new BNF codes:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1476" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bnf_mapping['new_code'].nunique()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are 1270 new BNF codes that are mapped to from a single old BNF code, 132 new BNF codes that are mapped to from 2 old BNF codes... and 1 that is mapped to from 13 old BNF codes." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
num_new_codesnum_old_codes_mapped_from
012701
11322
2303
3144
4125
546
667
728
8113
9114
10119
11123
12124
13131
\n", "
" ], "text/plain": [ " num_new_codes num_old_codes_mapped_from\n", "0 1270 1 \n", "1 132 2 \n", "2 30 3 \n", "3 14 4 \n", "4 12 5 \n", "5 4 6 \n", "6 6 7 \n", "7 2 8 \n", "8 1 13 \n", "9 1 14 \n", "10 1 19 \n", "11 1 23 \n", "12 1 24 \n", "13 1 31 " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_code_counts = Counter(bnf_mapping['new_code'])\n", "new_code_count_distribution = sorted(Counter(new_code_counts.values()).items())\n", "rows = [\n", " [num_new_codes, num_old_codes_mapped_from]\n", " for num_old_codes_mapped_from, num_new_codes in new_code_count_distribution\n", "]\n", "pd.DataFrame(rows, columns=['num_new_codes', 'num_old_codes_mapped_from'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### New presentations mapped to from 2 new codes" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
old_codeold_namenew_codenew_namechanged
1300101021B0BEALAGGaviscon Ex Strgh_Tab Chble 500mg (Lem)0101021B0AAAGAGGeneric Gaviscon 500mg chewable tablets sugar freeY
1310101021B0BEAMAGGaviscon Ex Strgh_Tab Chble 500mg(P/Mint0101021B0AAAGAGGeneric Gaviscon 500mg chewable tablets sugar freeY
2240102000ACAAAPAPAtrop Sulf_Oral Susp 500mcg/5ml0102000ACAABABAAtropine 500micrograms/5ml oral solutionY
2260102000ACAABBBBAtrop Sulf_Oral Soln 500mcg/5ml (Old)0102000ACAABABAAtropine 500micrograms/5ml oral solutionY
2480102000L0AAAWAWGlycopyrronium Brom_Oral Soln 1mg/5ml0102000L0AAADADGlycopyrronium bromide 1mg/5ml oral liquidY
2490102000L0AAAXAXGlycopyrronium Brom_Oral Susp 1mg/5ml0102000L0AAADADGlycopyrronium bromide 1mg/5ml oral liquidY
2540102000L0AAAZAZGlycopyrronium Brom_Oral Soln 2mg/5ml0102000L0AAAIAIGlycopyrronium bromide 2mg/5ml oral liquidY
2550102000L0AABABAGlycopyrronium Brom_Oral Susp 2mg/5ml0102000L0AAAIAIGlycopyrronium bromide 2mg/5ml oral liquidY
7210106010E0AAAHAHIspag Husk_Gran Eff Sach 3.5g Orange S/F0106010E0AAADADIspaghula husk 3.5g efferv gran sach gluten free sugar freeY
7220106010E0AAANANIspag Husk_Gran Eff Sach 3.5g Lem S/F0106010E0AAADADIspaghula husk 3.5g efferv gran sach gluten free sugar freeY
8640106040M0AAACACMacrogol_Co Oral Pdr Sach 6.9g (Plain)0106040M0AAABABMacrogol compound half-strength oral pdr sach NPF sugar freeY
8650106040M0AAAGAGMacrogol_Co Oral Pdr Sach 6.9g (Choc)S/F0106040M0AAABABMacrogol compound half-strength oral pdr sach NPF sugar freeY
12220202020L0AADJDJFurosemide_Oral Soln 5mg/5ml0202020L0AACACAFurosemide 5mg/5ml oral liquidY
12230202020L0AADKDKFurosemide_Oral Susp 5mg/5ml0202020L0AACACAFurosemide 5mg/5ml oral liquidY
18180205051F0AADVDVCaptopril_Oral Soln 5mg/5ml0205051F0AABNBNCaptopril 5mg/5ml oral liquidY
18190205051F0AADWDWCaptopril_Oral Susp 5mg/5ml0205051F0AABNBNCaptopril 5mg/5ml oral liquidY
18240205051F0AADXDXCaptopril_Oral Soln 25mg/5ml0205051F0AABWBWCaptopril 25mg/5ml oral liquidY
18250205051F0AADYDYCaptopril_Oral Susp 25mg/5ml0205051F0AABWBWCaptopril 25mg/5ml oral liquidY
19030205051L0AAAUAULisinopril_Oral Soln 5mg/5ml0205051L0AAAGAGLisinopril 5mg/5ml oral liquidY
19040205051L0AAAVAVLisinopril_Oral Susp 5mg/5ml0205051L0AAAGAGLisinopril 5mg/5ml oral liquidY
19070205051L0AAAWAWLisinopril_Oral Soln 2.5mg/5ml0205051L0AAAIAILisinopril 2.5mg/5ml oral liquidY
19080205051L0AAAXAXLisinopril_Oral Susp 2.5mg/5ml0205051L0AAAIAILisinopril 2.5mg/5ml oral liquidY
19610205051R0AAAXAXRamipril_Oral Soln 5mg/5ml0205051R0AAAEAERamipril 5mg/5ml oral liquidY
19620205051R0AAAYAYRamipril_Oral Susp 5mg/5ml0205051R0AAAEAERamipril 5mg/5ml oral liquidY
21970206010F0BFADCINitrolingual_P/Spy 400mcg (180 D)0206010F0BFABCJNitrolingual 400micrograms/dose pump sublingual sprayY
21980206010F0BFAECKNitrolingual_P/Spy 400mcg (75 D)0206010F0BFABCJNitrolingual 400micrograms/dose pump sublingual sprayY
23050206020A0AAAQAQAmlodipine_Oral Soln 5mg/5ml0206020A0AAACACAmlodipine 5mg/5ml oral liquidY
23060206020A0AAARARAmlodipine_Oral Susp 5mg/5ml0206020A0AAACACAmlodipine 5mg/5ml oral liquidY
23080206020A0AAAPAPAmlodipine_Oral Susp 10mg/5ml0206020A0AAADADAmlodipine 10mg/5ml oral liquidY
23090206020A0AAASASAmlodipine_Oral Soln 10mg/5ml0206020A0AAADADAmlodipine 10mg/5ml oral liquidY
28750209000L0AAANANDipyridamole_Oral Soln 200mg/5ml0209000L0AAAZAZDipyridamole 200mg/5ml oral suspensionY
28760209000L0AAAXAXDipyridamole_Oral Susp 200mg/5ml (Old)0209000L0AAAZAZDipyridamole 200mg/5ml oral suspensionY
31330301011R0AABYBYSalbutamol_Pdr For Inh 200mcg (100 D)0301011R0AAAQAQSalbutamol 200micrograms/dose dry powder inhalerY
31340301011R0AACACASalbutamol_Pdr For Inh 200mcg (200 D)0301011R0AAAQAQSalbutamol 200micrograms/dose dry powder inhalerY
37740304030C0AAALALAdren_Inj 1/1000 1ml Pfs (21 Gauge)0304030C0AAAYAYAdrenaline (base) 1mg/1ml (1 in 1,000) inj pfsY
37750304030C0AAAWAWAdren_Inj 1/1000 1ml Pfs (25 Gauge)0304030C0AAAYAYAdrenaline (base) 1mg/1ml (1 in 1,000) inj pfsY
41380401010ADAABXBXMelatonin_Oral Susp 5mg/5ml (Old)0401010ADAADEDEMelatonin 5mg/5ml oral suspensionY
41390401010ADAADBDBMelatonin_Oral Susp 5mg/5ml0401010ADAADEDEMelatonin 5mg/5ml oral suspensionY
41620401010B0AABUBUChloral Hydrate_Oral Soln 200mg/5ml BP0401010B0AABGBGChloral hydrate 200mg/5ml oral liquidY
41630401010B0AABVBVChloral Hydrate_Oral Susp 200mg/5ml0401010B0AABGBGChloral hydrate 200mg/5ml oral liquidY
45670402010J0AABLBLHaloperidol_Oral Soln 1mg/5ml0402010J0AAA7A7Haloperidol 1mg/5ml oral liquidY
45680402010J0AABMBMHaloperidol_Oral Susp 1mg/5ml0402010J0AAA7A7Haloperidol 1mg/5ml oral liquidY
47830403010B0AABHBHAmitriptyline HCl_Oral Soln 10mg/5ml0403010B0AAA6A6Amitriptyline 10mg/5ml oral liquidY
47840403010B0AABIBIAmitriptyline HCl_Oral Susp 10mg/5ml0403010B0AAA6A6Amitriptyline 10mg/5ml oral liquidY
51270404000L0AABKBKDexamfet Sulf_Oral Soln 5mg/5ml0404000L0AAAMAMDexamfetamine 5mg/5ml oral liquidY
51280404000L0AABLBLDexamfet Sulf_Oral Susp 5mg/5ml0404000L0AAAMAMDexamfetamine 5mg/5ml oral liquidY
52140404000R0AAADADModafinil_Oral Soln 100mg/5ml0404000R0AAAGAGModafinil 100mg/5ml oral suspensionY
52150404000R0AAAEAEModafinil_Oral Susp 100mg/5ml (Old)0404000R0AAAGAGModafinil 100mg/5ml oral suspensionY
58710407020A0AABIBIFentanyl_Nsl Spy 50mcg (20D)0407020A0AABHBHFentanyl 50micrograms/dose nasal sprayY
58720407020A0AABSBSFentanyl_Nsl Spy 50mcg/0.1ml Ud (6D)0407020A0AABHBHFentanyl 50micrograms/dose nasal sprayY
58780407020A0AABMBMFentanyl_Nsl Spy 200mcg (20D)0407020A0AABLBLFentanyl 200micrograms/dose nasal sprayY
58790407020A0AABQBQFentanyl_Nsl Spy 200mcg/0.1ml Ud (6D)0407020A0AABLBLFentanyl 200micrograms/dose nasal sprayY
59460407020A0BNAEBLInstanyl_Nsl Spy 200mcg (10D)0407020A0BNAGBQInstanyl 200micrograms/dose nasal sprayY
59470407020A0BNAFBMInstanyl_Nsl Spy 200mcg (20D)0407020A0BNAGBQInstanyl 200micrograms/dose nasal sprayY
59490407020A0BNACBJInstanyl_Nsl Spy 100mcg (10D)0407020A0BNAHBRInstanyl 100micrograms/dose nasal sprayY
59500407020A0BNADBKInstanyl_Nsl Spy 100mcg (20D)0407020A0BNAHBRInstanyl 100micrograms/dose nasal sprayY
59520407020A0BNAABHInstanyl_Nsl Spy 50mcg (10D)0407020A0BNAIBSInstanyl 50micrograms/dose nasal sprayY
59530407020A0BNABBIInstanyl_Nsl Spy 50mcg (20D)0407020A0BNAIBSInstanyl 50micrograms/dose nasal sprayY
65010407042F0AAATATClonidine HCl_Oral Soln 50mcg/5ml (DT)0407042F0AAAFAFClonidine 50micrograms/5ml oral liquidY
65020407042F0AAAUAUClonidine HCl_Oral Susp 50mcg/5ml (DT)0407042F0AAAFAFClonidine 50micrograms/5ml oral liquidY
6568040801050AAAZAZTopiramate_Oral Susp 100mg/5ml040801050AACCCCTopiramate 100mg/5ml oral solutionY
6569040801050AACACATopiramate_Oral Soln 100mg/5ml (DT Old)040801050AACCCCTopiramate 100mg/5ml oral solutionY
69170408010H0BBAHACLamictal_Tab 25mg (Monotherapy)0408010H0BBACACLamictal 25mg tabletsY
69180408010H0BBAIACLamictal_Tab 25mg (Valpr)0408010H0BBACACLamictal 25mg tabletsY
69390408010N0AAEUEUPhenobarb_Oral Soln 50mg/5ml0408010N0AACLCLPhenobarbital 50mg/5ml oral liquidY
69400408010N0AAEVEVPhenobarb_Oral Susp 50mg/5ml0408010N0AACLCLPhenobarbital 50mg/5ml oral liquidY
69950408010U0AAAAAAPrimidone_Oral Susp 250mg/5ml (Old)0408010U0AABCBCPrimidone 250mg/5ml oral suspensionY
69960408010U0AAAMAMPrimidone_Oral Susp 250mg/5ml (Spec)0408010U0AABCBCPrimidone 250mg/5ml oral suspensionY
73500409020C0AAAMAMTrihexyphenidyl HCl_Oral Soln 2mg/5ml0409020C0AAALALTrihexyphenidyl 2mg/5ml oral liquidY
73510409020C0AAANANTrihexyphenidyl HCl_Oral Susp 2mg/5ml0409020C0AAALALTrihexyphenidyl 2mg/5ml oral liquidY
74540410020B0AABVBVNicotine_Loz 1.5mg S/F (Cherry)0410020B0AABPBPNicotine 1.5mg lozenges sugar freeY
74550410020B0AACBCBNicotine_Loz 1.5mg S/F (Orange)0410020B0AABPBPNicotine 1.5mg lozenges sugar freeY
88910601012D0AAAVAVGppe Ins_Humulin M3 Humaject 3ml Pf Pen0601012D0AABZBZInsulin isoph biphas hum 30/70 100u/ml inj 3ml pf dispos devY
88920601012D0AABABAIns Bip Isophane_30/70 100u/ml 3ml Cart0601012D0AABZBZInsulin isoph biphas hum 30/70 100u/ml inj 3ml pf dispos devY
103180702020H0AAABABEconazole Nit_Pess 150mg + Applic0702020H0AAAFAFEconazole 150mg pessariesY
103190702020H0AAAEAEEconazole Nit_Pess 150mg + Applic0702020H0AAAFAFEconazole 150mg pessariesY
106100704020J0AAAIAIOxybutynin HCl_Oral Soln 2.5mg/5ml (Old)0704020J0AAAZAZOxybutynin 2.5mg/5ml oral solutionY
106110704020J0AAAKAKOxybutynin HCl_Oral Susp 2.5mg/5ml0704020J0AAAZAZOxybutynin 2.5mg/5ml oral solutionY
118310902012L0AABRBRSod Chlor_Liq Spec 292.5mg/5ml0902012L0AADDDDSodium chloride 292.5mg/5ml (1mmol/ml) oral solutionY
118320902012L0AADCDCSod Chlor_Oral Soln 292.5mg/5ml S/F0902012L0AADDDDSodium chloride 292.5mg/5ml (1mmol/ml) oral solutionY
118360902012L0AABCBCSod Chlor_Liq Spec 1.46g/5ml0902012L0AADHDHSodium chloride 1.46g/5ml (5mmol/ml) oral solutionY
118370902012L0AADEDESod Chlor_Oral Soln 1.46g/5ml (DT Old)0902012L0AADHDHSodium chloride 1.46g/5ml (5mmol/ml) oral solutionY
119660902021S0AADBDBGlucose/Sod Chlor_I/V Inf5%/0.9%500ml@gn0902021S0AABDBDSodium chloride 0.9% / Glucose 5% infusion 500ml bagsY
119670902021S0BDAIBDSteriflex_No3 Gluc5%/SodChlor.9%Inf500ml0902021S0AABDBDSodium chloride 0.9% / Glucose 5% infusion 500ml bagsY
12163090401000BBJGA0Calogen_Emuls (Sbery)090401000AABABAGeneric Calogen emulsionY
12164090401000BBLKA0Calogen_Emuls (Banana)090401000AABABAGeneric Calogen emulsionY
12169090401000BBJFA0Neocate Advance_Pdr Sach 100g (Unflav)090401000AACHCHNeocate Advance powder sachetsY
12170090401000BBLDA0Neocate Advance_Pdr Sach 50g (Flav)090401000AACHCHNeocate Advance powder sachetsY
126690904010I0AABJBJG/F_Bisc0904010A0AABFBFGluten free biscuitsY
126700904010U0AAAAAAG/F /W/F_Bread0904010A0AABFBFGluten free biscuitsY
12867090401060AAACACG/F /L/P_Meals0904010AQAAAAAALow protein pastaY
128690904010T0AAADADG/F /L/P_Pasta0904010AQAAAAAALow protein pastaY
13272090402000BBCEA0Peptamen_Liq Diet (Vanilla)090402000AAASASGeneric Peptamen liquidY
13273090402000BBKLA0Peptamen_Dripac-Flex Liq (Unflav)090402000AAASASGeneric Peptamen liquidY
13274090402000BBDMA0Seravit_Paed Mix Unflav090402000AAATATGeneric Seravit Paediatric powderY
13275090402000BBDNA0Seravit_Paed Mix P/Apple090402000AAATATGeneric Seravit Paediatric powderY
13334090402000BBMJA0Optifibre_Pdr Sach 8g090402000BBHWA0Optifibre powderY
13335090402000BBSKA0Optifibre_Pdr Sach 10g090402000BBHWA0Optifibre powderY
13601090402000BBTFA0Pro-Cal_Shot S/Pack 750ml090402000BBWUA0Pro-Cal shot starter packY
13602090402000BBVZA0Pro-Cal_Shot S/Pack 240ml090402000BBWUA0Pro-Cal shot starter packY
138040905013G0AABXBXMag Glycerophos_Oral Soln97.2mg/5ml(Old)0905013G0AADCDCMag glycerophos (mag 97.2mg/5ml (4mmol/5ml)) solnY
138060905013G0AADIDIMag Glycerophos_Oral Soln 97.2mg/5ml0905013G0AADCDCMag glycerophos (mag 97.2mg/5ml (4mmol/5ml)) solnY
138100905013G0AACVCVMag Glycerophos_OralSoln121.25mg/5ml Old0905013G0AADFDFMag glycerophos (mag 121.25mg/5ml (5mmol/5ml)) solnY
138120905013G0AADGDGMag Glycerophos_OralSoln121.25mg/5mlSpec0905013G0AADFDFMag glycerophos (mag 121.25mg/5ml (5mmol/5ml)) solnY
13935090504100BBBRBBLamb_Zn (Cit) Cap 50mg (8283)090504100AABBBBZinc citrate 50mg capsulesY
13936090504100BBHDBBVega_Zn Cit V/Cap 50mg090504100AABBBBZinc citrate 50mg capsulesY
13964090504700BBDGBCSolgar_Selenium Tab 200mcg090504700AABCBCSelenium 200microgram tabletsY
13965090504700BBFDBCHealthAid_Selenium Tab 200mcg090504700AABCBCSelenium 200microgram tabletsY
13967090504700BBDNBJSolgar_Selenium Tab 100mcg090504700AABJBJSelenium 100microgram tabletsY
13968090504700BBDXA0Cytoplan_Selenium Tab 100mcg090504700AABJBJSelenium 100microgram tabletsY
142790906031C0CHABBIBioCare_Vit C Cap 500mg0906031C0AABIBIAscorbic acid 500mg capsulesY
142800906031C0CJAABISolgar_Vit C V/Cap 500mg0906031C0AABIBIAscorbic acid 500mg capsulesY
143680906040G0AACACAColecal & Calc_Tab Chble 400u/1.5g (Lem)0906040G0AABYBYColecalciferol 400unit / Calcium carbonate 1.5g chewable tabY
143690906040G0AACECEColecal & Calc_Tab Chble 400u/1.5g0906040G0AABYBYColecalciferol 400unit / Calcium carbonate 1.5g chewable tabY
144090906040G0AAAUAUColecal_Oral Susp 15,000u/5ml0906040G0AADSDSColecalciferol 15,000units/5ml oral solutionY
144100906040G0AACMCMColecal_Oral Soln 15,000u/5ml (Old)0906040G0AADSDSColecalciferol 15,000units/5ml oral solutionY
147540906050P0CPADA9Natures Aid_Natur Vit ESoftgelsCap1,000u0906050P0AAA9A9Vitamin E 1,000unit capsulesY
147550906050P0CWAFA9Solgar_Vit E Cap 1,000u0906050P0AAA9A9Vitamin E 1,000unit capsulesY
147650906050P0CWAAAFSolgar_Vit E Mixed Soft Gel 400u (268mg)0906050P0AAAFAFVitamin E 400unit capsulesY
147660906050P0CWABAFSolgar_Vit E Dry V/Cap 400u (268mg)0906050P0AAAFAFVitamin E 400unit capsulesY
15247091101000BBPXFFQuest_L-Glutamine Cap 500mg091101000AAFFFFGlutamine 500mg capsulesY
15248091101000BBQPFFSolgar_L-Glutamine V/Cap 500mg091101000AAFFFFGlutamine 500mg capsulesY
15255091101000BBCHFPLamb_L-Phenylalanine Cap 500mg (8321)091101000AAFPFPL-Phenylalanine 500mg capsulesY
15256091101000BBPLFPQuest_L-Phenylalanine Cap 500mg091101000AAFPFPL-Phenylalanine 500mg capsulesY
15431091200000BETEEENatraHealth_Glucosam+Chond Cap 400/100mg091200000AAEEEEGlucosamine sulfate 400mg / Chondroitin sulfate 100mg capsY
15432091200000BEWHEEBR Pharm_Glucosamine + Chondroitin Cap091200000AAEEEEGlucosamine sulfate 400mg / Chondroitin sulfate 100mg capsY
15452091200000BEIPFEHealthAid_MSM Tab 1g091200000AAFEFEDimethyl sulfone 1g / Ascorbic acid 60mg tabletsY
15453091200000BFSAFEH/Nature_MSM Tab 1000mg091200000AAFEFEDimethyl sulfone 1g / Ascorbic acid 60mg tabletsY
162721001030U0AABTBTMethotrexate_Oral Soln 10mg/5ml1001030U0AAAHAHMethotrexate 10mg/5ml oral liquidY
162731001030U0AABUBUMethotrexate_Oral Susp 10mg/5ml1001030U0AAAHAHMethotrexate 10mg/5ml oral liquidY
164161001050A0BFAGABNatures Aid_Veget Glucosam HCl Tab 750mg1001050A0AAABABGlucosamine hydrochloride 750mg tabletsY
164171001050A0BKAAABHealth+Plus_Glucosamine HCl Tab 750mg1001050A0AAABABGlucosamine hydrochloride 750mg tabletsY
167841104010I0AAACACDexameth_Eye Dps 0.1% P/F (Old)1104010I0AAAUAUDexamethasone 0.1% eye drops preservative freeY
167851104010I0AAASASDexameth_Eye Dps 0.1% P/F (DT Old)1104010I0AAAUAUDexamethasone 0.1% eye drops preservative freeY
170391106000X0AAAAAAPiloc HCl_Eye Dps 0.5% (DT Old)1106000X0AABPBPPilocarpine hydrochloride 0.5% eye dropsY
170401106000X0AABGBGPiloc HCl_Eye Dps 0.5% P/F1106000X0AABPBPPilocarpine hydrochloride 0.5% eye dropsY
171331108010C0AAAEAEAcetylcy_Eye Dps 10%1108010C0AABABAAcetylcysteine 10% eye drops preservative freeY
171341108010C0AAAPAPAcetylcy_Eye Dps 10% P/F (DT Old)1108010C0AABABAAcetylcysteine 10% eye drops preservative freeY
1716821300000191Sai-Meds Hypromellose 0.5% Eye Dps 10ml1108010F0AAABABHypromellose 0.5% eye dropsY
1716921300000309Teardew 0.5% Hypromellose Eye Dps 10ml1108010F0AAABABHypromellose 0.5% eye dropsY
1717521300000119Tear-Lac Hypromellose Eye Dps 0.3% P/F1108010F0AAANANHypromellose 0.3% eye drops preservative free (drug)Y
1717621300000159PF Drops Hypromellose 0.3% Eye Dps 10ml P/F1108010F0AAANANHypromellose 0.3% eye drops preservative free (drug)Y
171981108010K0AACECESod Chlor_Eye Dps 5% P/F1108010K0AAA6A6Sodium chloride 5% eye drops preservative freeY
1719921300000133PF Drops Sod Chlor 5% Eye Dps 10ml P/F1108010K0AAA6A6Sodium chloride 5% eye drops preservative freeY
173461202010C0AAACACBeclomet Diprop_Aq Nsl Spy 50mcg (100 D)1202010C0AAAAAABeclometasone 50micrograms/dose nasal sprayY
173471202010C0AAADADBeclomet Diprop_Nsl Spy 50mcg (180 D)1202010C0AAAAAABeclometasone 50micrograms/dose nasal sprayY
173601202010I0AAADADBudesonide_Aq Nsl Spy 100mcg (200D)1202010I0AAACACBudesonide 100micrograms/dose nasal sprayY
173611202010I0AAAGAGBudesonide_Aq Nsl Spy 100mcg (150D)1202010I0AAACACBudesonide 100micrograms/dose nasal sprayY
175201203030A0AAAAAADichlor Alc/Amylmet_Loz 1.2mg/600mcg1203030A0AAAEAEAmylmetacresol 600microgram lozengesY
175211203030A0BJAAAAThroaties_A-Bact Pastil(R/Currant&R/Hip)1203030A0AAAEAEAmylmetacresol 600microgram lozengesY
176211203040E0AAACACChlorhex Glucon_Mthwsh (Mint) 0.2%1203040E0AAABABChlorhexidine gluconate 0.2% mouthwashY
176221203040E0AAAGAGChlorhex Glucon_Mthwsh (Aniseed) 0.2%1203040E0AAABABChlorhexidine gluconate 0.2% mouthwashY
17748130201000AACPCPLiq Paraf 50%/Emulsif 50%_Oint (Old)130201000AADMDMEmulsifying ointment 50% / Liquid paraffin 50% ointmentY
177501302010F0AAAPAPEmulsif Oint 50%/WSP 50%_Oint130201000AADMDMEmulsifying ointment 50% / Liquid paraffin 50% ointmentY
1782721220000133Ovelle Emulsif Oint 500g (App)1302010F0AAADADEmulsifying ointmentY
1782821220000137EmulsifEss Oint 500g1302010F0AAADADEmulsifying ointmentY
1789021220000267AquaDerm Aq Crm 100g130201100AAAMAMAqueous creamY
1789121220000268AquaDerm Aq Crm130201100AAAMAMAqueous creamY
17943130202000BBAZA0Derma Shield_Skin Prote Mousse 150ml130202000BBBAA0Derma Shield skin protector mousseY
17945130202000BBBGA0Derma Shield_Skin Prote Mousse 500ml130202000BBBAA0Derma Shield skin protector mousseY
182261304000H0AACUCUClobet/Oxytet/Nystatin_Crm0.05%/3%(Spec)1304000H0AACACAClobet 0.05%/Oxytetracycline 3% /Nystatin 100,000units/g crmY
182271304000H0AACVCVClobet/Oxytet/Nystatin_Crm 0.05%/3% (DT)1304000H0AACACAClobet 0.05%/Oxytetracycline 3% /Nystatin 100,000units/g crmY
183021304000T0BBAHCDHaelan_Tape 7.5cm x 200cm1304000T0BBAGCCHaelan 4micrograms/square cm tape 7.5cmY
183031304000T0BBAICEHaelan_Tape 7.5cm x 20cm1304000T0BBAGCCHaelan 4micrograms/square cm tape 7.5cmY
186611305020S0AABQBQSalic Acid 5%/WSP_Oint1305020S0AACZCZSalicylic acid 5% ointment in a baseY
186621305020S0AACBCBSalic Acid 5%/Emulsif_Oint1305020S0AACZCZSalicylic acid 5% ointment in a baseY
188731305020S0AABRBRSalic Acid 20%/WSP_Oint1307000M0AABZBZSalicylic acid 20% ointmentY
188741305020S0AACFCFSalic Acid 20%/Emulsif_Oint1307000M0AABZBZSalicylic acid 20% ointmentY
191341310020A0AAACACAmorolfine HCl_Nail Lacquer Kit 5% 3ml1310020A0AAAAAAAmorolfine 5% medicated nail lacquerY
191351310020A0AAADADAmorolfine HCl_Nail Lacquer Kit 5%1310020A0AAAAAAAmorolfine 5% medicated nail lacquerY
19541140400030AAAEAEHepat A_Vac 320u/ml 0.5ml Pfs140400030AAADADHepatitis A vaccine (inactivated, adsorbed) inj 0.5ml pfsY
19542140400030AAAFAFHepat A_Vac 50u/ml 0.5ml Pfs140400030AAADADHepatitis A vaccine (inactivated, adsorbed) inj 0.5ml pfsY
196121404000F0BMAAAXRepevax_Vac 0.5ml Pfs1404000F0AAAXAXdTAP/IPV inj 0.5ml pfsY
196131404000F0BPAAAXBoostrix-IPV_Inj 0.5ml Pfs1404000F0AAAXAXdTAP/IPV inj 0.5ml pfsY
196161404000F0BNAAA0Infanrix-IPV_Vac 0.5ml Pfs1404000F0AABBBBDTaP/IPV vacc (ads) inj 0.5ml pfsY
196171404000F0BNABBBInfanrix-IPV + Hib_Vac C/Pk Pfs + Pdr Vl1404000F0AABBBBDTaP/IPV vacc (ads) inj 0.5ml pfsY
198911502010J0AABLBLLido HCl_Antis Gel 2% (Liq)1502010J0AABQBQLidocaine 2% and Chlorhexidine gelY
198931502010J0AABRBRLido HCl 2%/Chlorhex_Gel 11ml Pfs1502010J0AABQBQLidocaine 2% and Chlorhexidine gelY
2058520010000102Absorbent Cott Wool BP 100g20010000101Absorbent cotton BP 1988Y
2058620010000103Absorbent Cott Wool BP 500g20010000101Absorbent cotton BP 1988Y
2165920030500010IntraSite Gel 15g Wound Dress H/Gel Ster20030500005IntraSite Gel dressingY
2166020030500015IntraSite Gel 25g Wound Dress H/Gel Ster20030500005IntraSite Gel dressingY
2168020030500101Iodoflex Paste 10g Wound Dress H/Gel Ster20030500100Iodoflex paste dressingY
2168120030500102Iodoflex Paste 17g Wound Dress H/Gel Ster20030500100Iodoflex paste dressingY
2168720030500121Cutimed Gel 15g Wound Dress H/Gel Ster20030500120Cutimed Gel dressingY
2168820030500122Cutimed Gel 25g Wound Dress H/Gel Ster20030500120Cutimed Gel dressingY
2259220031400061Alhydran Crm 100ml Wound Dress20031400060Alhydran creamY
2259320031400062Alhydran Crm 250ml Wound Dress20031400060Alhydran creamY
2311620031900046Silgen Ag Spy 10ml Wound Dress Silver Ctd Barrier20031900045Silgen Ag sprayY
2311720031900047Silgen Ag Spy 25ml Wound Dress Silver Ctd Barrier20031900045Silgen Ag sprayY
2379020070000110Lint Absorbent 100g20070000100Absorbent lint BPCY
2379120070000120Lint Absorbent 500g20070000100Absorbent lint BPCY
2385320090000480Comfifast 5cm x 3m (Green) Stkntte Elasctd Viscose Tublr20090000479Comfifast stockinette 5cmY
2385420090000481Comfifast 5cm x 5m (Green) Stkntte Elasctd Viscose Tublr20090000479Comfifast stockinette 5cmY
2385620090000483Comfifast 7.5cm x 3m (Blue) Stkntte Elasctd Viscose Tublr20090000482Comfifast stockinette 7.5cmY
2385720090000484Comfifast 7.5cm x 5m (Blue) Stkntte Elasctd Viscose Tublr20090000482Comfifast stockinette 7.5cmY
2385920090000486Comfifast 10.75cm x 3m (Yellow)Stkntte Elasctd Viscose Tublr20090000485Comfifast stockinette 10.75cmY
2386020090000487Comfifast 10.75cm x 5m (Yellow)Stkntte Elasctd Viscose Tublr20090000485Comfifast stockinette 10.75cmY
2386520090000492Acti-Fast 2-Way Stch 5cm x 3m(Green) Stkntte Elasctd V/Tublr20090000491Acti-Fast 2-way stretch stockinette 5cmY
2386620090000493Acti-Fast 2-Way Stch 5cm x 5m(Green) Stkntte Elasctd V/Tublr20090000491Acti-Fast 2-way stretch stockinette 5cmY
2386820090000495Acti-Fast 2-Way Stch 7.5cmx3m (Blue) Stkntte Elasctd V/Tublr20090000494Acti-Fast 2-way stretch stockinette 7.5cmY
2386920090000496Acti-Fast 2-Way Stch 7.5cmx5m (Blue) Stkntte Elasctd V/Tublr20090000494Acti-Fast 2-way stretch stockinette 7.5cmY
2387120090000498Acti-Fast 2-Way Stch 10.75cmx3m(Yell)Stkntte Elasctd V/Tublr20090000497Acti-Fast 2-way stretch stockinette 10.75cmY
2387220090000499Acti-Fast 2-Way Stch 10.75cmx5m(Yell)Stkntte Elasctd V/Tublr20090000497Acti-Fast 2-way stretch stockinette 10.75cmY
2387420090000502Tubifast 2-Way Stch 5cm x 5m (Green) Stkntte Elasctd Viscose20090000510Tubifast 2-way stretch stockinette 5cmY
2387520090000506Tubifast 2-Way Stch 5cm x 3m (Green) Stkntte Elasctd Viscose20090000510Tubifast 2-way stretch stockinette 5cmY
2387720090000503Tubifast 2-Way Stch 7.5cm x 5m (Blue) Stkntte ElasctdViscose20090000520Tubifast 2-way stretch stockinette 7.5cmY
2387820090000507Tubifast 2-Way Stch 7.5cm x 3m (Blue) Stkntte ElasctdViscose20090000520Tubifast 2-way stretch stockinette 7.5cmY
2388020090000504Tubifast 2-Way Stch 10.75cm x 5m YellowStkntteElasctdViscose20090000530Tubifast 2-way stretch stockinette 10.75cmY
2388120090000508Tubifast 2-Way Stch 10.75cm x 3m YellowStkntteElasctdViscose20090000530Tubifast 2-way stretch stockinette 10.75cmY
2393120090000806Coverflex 5cm x 3m (Green) Stkntte Elasctd Viscose Tublr20090000805Coverflex stockinette 5cmY
2393220090000807Coverflex 5cm x 5m (Green) Stkntte Elasctd Viscose Tublr20090000805Coverflex stockinette 5cmY
2393420090000811Coverflex 7.5cm x 3m (Blue) Stkntte Elasctd Viscose Tublr20090000810Coverflex stockinette 7.5cmY
2393520090000812Coverflex 7.5cm x 5m (Blue) Stkntte Elasctd Viscose Tublr20090000810Coverflex stockinette 7.5cmY
2393720090000816Coverflex 10.75cm x 3m (Yellow)Stkntte Elasctd Viscose Tublr20090000815Coverflex stockinette 10.75cmY
2393820090000817Coverflex 10.75cm x 5m (Yellow)Stkntte Elasctd Viscose Tublr20090000815Coverflex stockinette 10.75cmY
2397220090000906Easifast 5cm x 3m (Green) Stkntte Elasctd Viscose Tublr20090000905Easifast stockinette 5cmY
2397320090000907Easifast 5cm x 5m (Green) Stkntte Elasctd Viscose Tublr20090000905Easifast stockinette 5cmY
2397520090000911Easifast 7.5cm x 3m (Blue) Stkntte Elasctd Viscose Tublr20090000910Easifast stockinette 7.5cmY
2397620090000912Easifast 7.5cm x 5m (Blue) Stkntte Elasctd Viscose Tublr20090000910Easifast stockinette 7.5cmY
2397820090000916Easifast 10.75cm x 3m(Yellow) Stkntte Elasctd Viscose Tublr20090000915Easifast stockinette 10.75cmY
2397920090000917Easifast 10.75cm x 5m(Yellow) Stkntte Elasctd Viscose Tublr20090000915Easifast stockinette 10.75cmY
2398920090000937CliniFast 5cm x 3m (Green) Stkntte Elasctd Viscose Tublr20090000936CliniFast stockinette 5cmY
2399020090000938CliniFast 5cm x 5m (Green) Stkntte Elasctd Viscose Tublr20090000936CliniFast stockinette 5cmY
2399220090000940CliniFast 7.5cm x 3m (Blue) Stkntte Elasctd Viscose Tublr20090000939CliniFast stockinette 7.5cmY
2399320090000941CliniFast 7.5cm x 5m (Blue) Stkntte Elasctd Viscose Tublr20090000939CliniFast stockinette 7.5cmY
2399520090000946CliniFast 10.75cm x 3m (Yellow) Stkntte Elasctd ViscoseTublr20090000945CliniFast stockinette 10.75cmY
2399620090000947CliniFast 10.75cm x 5m (Yellow) Stkntte Elasctd ViscoseTublr20090000945CliniFast stockinette 10.75cmY
2406920090001026Comfifast MultiStretch 2-way Stch 5cmx3m (Green) Stkntte20090001025Comfifast MultiStretch 2-way stretch stockinette 5cmY
2407020090001027Comfifast MultiStretch 2-way Stch 5cmx5m (Green) Stkntte20090001025Comfifast MultiStretch 2-way stretch stockinette 5cmY
2407220090001031Comfifast MultiStretch 2-way Stch 7.5cmx3m (Blue) Stkntte20090001030Comfifast MultiStretch 2-way stretch stockinette 7.5cmY
2407320090001032Comfifast MultiStretch 2-way Stch 7.5cmx5m (Blue) Stkntte20090001030Comfifast MultiStretch 2-way stretch stockinette 7.5cmY
2407520090001036Comfifast MultiStretch 2-way Stch 10.75cmx3m (Yell) Stkntte20090001035Comfifast MultiStretch 2-way stretch stockinette 10.75cmY
2407620090001037Comfifast MultiStretch 2-way Stch 10.75cmx5m (Yell) Stkntte20090001035Comfifast MultiStretch 2-way stretch stockinette 10.75cmY
2417720090001172Fortuna Fast 5cm x 3m (Green) Stkntte Elasctd Viscose Tublr20090001171Fortuna Fast stockinette 5cmY
2417820090001173Fortuna Fast 5cm x 5m (Green) Stkntte Elasctd Viscose Tublr20090001171Fortuna Fast stockinette 5cmY
2418020090001175Fortuna Fast 7.5cm x 3m (Blue) Stkntte Elasctd Viscose Tublr20090001174Fortuna Fast stockinette 7.5cmY
2418120090001176Fortuna Fast 7.5cm x 5m (Blue) Stkntte Elasctd Viscose Tublr20090001174Fortuna Fast stockinette 7.5cmY
2418320090001178Fortuna Fast 10.75cmx3m (Yellow)Stkntte Elasctd ViscoseTublr20090001177Fortuna Fast stockinette 10.75cmY
2418420090001179Fortuna Fast 10.75cmx5m (Yellow)Stkntte Elasctd ViscoseTublr20090001177Fortuna Fast stockinette 10.75cmY
2424820090001249Flexifast 7.5cm x 3m (Blue) Stkntte Elasctd Viscose Tublr20090001248Flexifast stockinette 7.5cmY
2424920090001250Flexifast 7.5cm x 5m (Blue) Stkntte Elasctd Viscose Tublr20090001248Flexifast stockinette 7.5cmY
2425120090001252Flexifast 10.75cm x 3m (Yellow)Stkntte Elasctd Viscose Tublr20090001251Flexifast stockinette 10.75cmY
2425220090001253Flexifast 10.75cm x 5m (Yellow)Stkntte Elasctd Viscose Tublr20090001251Flexifast stockinette 10.75cmY
2610721140000013OptiLube Ster Syrg Lubricant Gel21140000015OptiLube sterile lubricating jellyY
2610921140000016OptiLube Ster Lubri Jelly21140000015OptiLube sterile lubricating jellyY
2634921200000170Jobst FarrowWrap 4000 Sml Compress System21200000169Jobst FarrowWrap 4000 compression systemY
2635021200000171Jobst FarrowWrap 4000 Med Compress System21200000169Jobst FarrowWrap 4000 compression systemY
2647321220000249Elave Intensive Crm 125g21220000248Elave Intensive creamY
2647421220000250Elave Intensive Crm 500g21220000248Elave Intensive creamY
2648621220000261MyriBase Gel 500g21220000260MyriBase gelY
2648721220000310MyriBase Gel 500ml21220000260MyriBase gelY
265021302010U0BBAAAFAquadrate_Crm 10% (Drug)21220000278Aquadrate 10% creamY
2650421220000279Aquadrate Crm 10% 100g (App)21220000278Aquadrate 10% creamY
265051302010U0BMAAAFHydromol Intensive_Crm 10% (Drug)21220000280Hydromol Intensive 10% creamY
2650721220000281Hydromol Intensive Crm 10% 100g (App)21220000280Hydromol Intensive 10% creamY
26535130201000BBAFA4Diprobase_Crm21220000311Diprobase creamY
2653721220000313Diprobase Crm 50g (App)21220000311Diprobase creamY
3054223150101506Hollister_Adapt No-Sting Medical Adh Remover A/Spy 50ml23150101504Adapt No-Sting medical adhesive remover aerosolY
3054323150101507Hollister_Adapt No-Sting Medical Adh Remover A/Spy 100ml23150101504Adapt No-Sting medical adhesive remover aerosolY
3413023452704503Loxley_Day-Drop 30ml23452704502Day-drop deodorantY
3413123452704504Loxley_Day-Drop 7.5ml23452704502Day-drop deodorantY
3595623800108014Hollister_Adapt Paste 14g23800108009Adapt pasteY
3595723800108015Hollister_Adapt Paste 60g23800108009Adapt pasteY
\n", "
" ], "text/plain": [ " old_code \\\n", "130 0101021B0BEALAG \n", "131 0101021B0BEAMAG \n", "224 0102000ACAAAPAP \n", "226 0102000ACAABBBB \n", "248 0102000L0AAAWAW \n", "249 0102000L0AAAXAX \n", "254 0102000L0AAAZAZ \n", "255 0102000L0AABABA \n", "721 0106010E0AAAHAH \n", "722 0106010E0AAANAN \n", "864 0106040M0AAACAC \n", "865 0106040M0AAAGAG \n", "1222 0202020L0AADJDJ \n", "1223 0202020L0AADKDK \n", "1818 0205051F0AADVDV \n", "1819 0205051F0AADWDW \n", "1824 0205051F0AADXDX \n", "1825 0205051F0AADYDY \n", "1903 0205051L0AAAUAU \n", "1904 0205051L0AAAVAV \n", "1907 0205051L0AAAWAW \n", "1908 0205051L0AAAXAX \n", "1961 0205051R0AAAXAX \n", "1962 0205051R0AAAYAY \n", "2197 0206010F0BFADCI \n", "2198 0206010F0BFAECK \n", "2305 0206020A0AAAQAQ \n", "2306 0206020A0AAARAR \n", "2308 0206020A0AAAPAP \n", "2309 0206020A0AAASAS \n", "2875 0209000L0AAANAN \n", "2876 0209000L0AAAXAX \n", "3133 0301011R0AABYBY \n", "3134 0301011R0AACACA \n", "3774 0304030C0AAALAL \n", "3775 0304030C0AAAWAW \n", "4138 0401010ADAABXBX \n", "4139 0401010ADAADBDB \n", "4162 0401010B0AABUBU \n", "4163 0401010B0AABVBV \n", "4567 0402010J0AABLBL \n", "4568 0402010J0AABMBM \n", "4783 0403010B0AABHBH \n", "4784 0403010B0AABIBI \n", "5127 0404000L0AABKBK \n", "5128 0404000L0AABLBL \n", "5214 0404000R0AAADAD \n", "5215 0404000R0AAAEAE \n", "5871 0407020A0AABIBI \n", "5872 0407020A0AABSBS \n", "5878 0407020A0AABMBM \n", "5879 0407020A0AABQBQ \n", "5946 0407020A0BNAEBL \n", "5947 0407020A0BNAFBM \n", "5949 0407020A0BNACBJ \n", "5950 0407020A0BNADBK \n", "5952 0407020A0BNAABH \n", "5953 0407020A0BNABBI \n", "6501 0407042F0AAATAT \n", "6502 0407042F0AAAUAU \n", "6568 040801050AAAZAZ \n", "6569 040801050AACACA \n", "6917 0408010H0BBAHAC \n", "6918 0408010H0BBAIAC \n", "6939 0408010N0AAEUEU \n", "6940 0408010N0AAEVEV \n", "6995 0408010U0AAAAAA \n", "6996 0408010U0AAAMAM \n", "7350 0409020C0AAAMAM \n", "7351 0409020C0AAANAN \n", "7454 0410020B0AABVBV \n", "7455 0410020B0AACBCB \n", "8891 0601012D0AAAVAV \n", "8892 0601012D0AABABA \n", "10318 0702020H0AAABAB \n", "10319 0702020H0AAAEAE \n", "10610 0704020J0AAAIAI \n", "10611 0704020J0AAAKAK \n", "11831 0902012L0AABRBR \n", "11832 0902012L0AADCDC \n", "11836 0902012L0AABCBC \n", "11837 0902012L0AADEDE \n", "11966 0902021S0AADBDB \n", "11967 0902021S0BDAIBD \n", "12163 090401000BBJGA0 \n", "12164 090401000BBLKA0 \n", "12169 090401000BBJFA0 \n", "12170 090401000BBLDA0 \n", "12669 0904010I0AABJBJ \n", "12670 0904010U0AAAAAA \n", "12867 090401060AAACAC \n", "12869 0904010T0AAADAD \n", "13272 090402000BBCEA0 \n", "13273 090402000BBKLA0 \n", "13274 090402000BBDMA0 \n", "13275 090402000BBDNA0 \n", "13334 090402000BBMJA0 \n", "13335 090402000BBSKA0 \n", "13601 090402000BBTFA0 \n", "13602 090402000BBVZA0 \n", "13804 0905013G0AABXBX \n", "13806 0905013G0AADIDI \n", "13810 0905013G0AACVCV \n", "13812 0905013G0AADGDG \n", "13935 090504100BBBRBB \n", "13936 090504100BBHDBB \n", "13964 090504700BBDGBC \n", "13965 090504700BBFDBC \n", "13967 090504700BBDNBJ \n", "13968 090504700BBDXA0 \n", "14279 0906031C0CHABBI \n", "14280 0906031C0CJAABI \n", "14368 0906040G0AACACA \n", "14369 0906040G0AACECE \n", "14409 0906040G0AAAUAU \n", "14410 0906040G0AACMCM \n", "14754 0906050P0CPADA9 \n", "14755 0906050P0CWAFA9 \n", "14765 0906050P0CWAAAF \n", "14766 0906050P0CWABAF \n", "15247 091101000BBPXFF \n", "15248 091101000BBQPFF \n", "15255 091101000BBCHFP \n", "15256 091101000BBPLFP \n", "15431 091200000BETEEE \n", "15432 091200000BEWHEE \n", "15452 091200000BEIPFE \n", "15453 091200000BFSAFE \n", "16272 1001030U0AABTBT \n", "16273 1001030U0AABUBU \n", "16416 1001050A0BFAGAB \n", "16417 1001050A0BKAAAB \n", "16784 1104010I0AAACAC \n", "16785 1104010I0AAASAS \n", "17039 1106000X0AAAAAA \n", "17040 1106000X0AABGBG \n", "17133 1108010C0AAAEAE \n", "17134 1108010C0AAAPAP \n", "17168 21300000191 \n", "17169 21300000309 \n", "17175 21300000119 \n", "17176 21300000159 \n", "17198 1108010K0AACECE \n", "17199 21300000133 \n", "17346 1202010C0AAACAC \n", "17347 1202010C0AAADAD \n", "17360 1202010I0AAADAD \n", "17361 1202010I0AAAGAG \n", "17520 1203030A0AAAAAA \n", "17521 1203030A0BJAAAA \n", "17621 1203040E0AAACAC \n", "17622 1203040E0AAAGAG \n", "17748 130201000AACPCP \n", "17750 1302010F0AAAPAP \n", "17827 21220000133 \n", "17828 21220000137 \n", "17890 21220000267 \n", "17891 21220000268 \n", "17943 130202000BBAZA0 \n", "17945 130202000BBBGA0 \n", "18226 1304000H0AACUCU \n", "18227 1304000H0AACVCV \n", "18302 1304000T0BBAHCD \n", "18303 1304000T0BBAICE \n", "18661 1305020S0AABQBQ \n", "18662 1305020S0AACBCB \n", "18873 1305020S0AABRBR \n", "18874 1305020S0AACFCF \n", "19134 1310020A0AAACAC \n", "19135 1310020A0AAADAD \n", "19541 140400030AAAEAE \n", "19542 140400030AAAFAF \n", "19612 1404000F0BMAAAX \n", "19613 1404000F0BPAAAX \n", "19616 1404000F0BNAAA0 \n", "19617 1404000F0BNABBB \n", "19891 1502010J0AABLBL \n", "19893 1502010J0AABRBR \n", "20585 20010000102 \n", "20586 20010000103 \n", "21659 20030500010 \n", "21660 20030500015 \n", "21680 20030500101 \n", "21681 20030500102 \n", "21687 20030500121 \n", "21688 20030500122 \n", "22592 20031400061 \n", "22593 20031400062 \n", "23116 20031900046 \n", "23117 20031900047 \n", "23790 20070000110 \n", "23791 20070000120 \n", "23853 20090000480 \n", "23854 20090000481 \n", "23856 20090000483 \n", "23857 20090000484 \n", "23859 20090000486 \n", "23860 20090000487 \n", "23865 20090000492 \n", "23866 20090000493 \n", "23868 20090000495 \n", "23869 20090000496 \n", "23871 20090000498 \n", "23872 20090000499 \n", "23874 20090000502 \n", "23875 20090000506 \n", "23877 20090000503 \n", "23878 20090000507 \n", "23880 20090000504 \n", "23881 20090000508 \n", "23931 20090000806 \n", "23932 20090000807 \n", "23934 20090000811 \n", "23935 20090000812 \n", "23937 20090000816 \n", "23938 20090000817 \n", "23972 20090000906 \n", "23973 20090000907 \n", "23975 20090000911 \n", "23976 20090000912 \n", "23978 20090000916 \n", "23979 20090000917 \n", "23989 20090000937 \n", "23990 20090000938 \n", "23992 20090000940 \n", "23993 20090000941 \n", "23995 20090000946 \n", "23996 20090000947 \n", "24069 20090001026 \n", "24070 20090001027 \n", "24072 20090001031 \n", "24073 20090001032 \n", "24075 20090001036 \n", "24076 20090001037 \n", "24177 20090001172 \n", "24178 20090001173 \n", "24180 20090001175 \n", "24181 20090001176 \n", "24183 20090001178 \n", "24184 20090001179 \n", "24248 20090001249 \n", "24249 20090001250 \n", "24251 20090001252 \n", "24252 20090001253 \n", "26107 21140000013 \n", "26109 21140000016 \n", "26349 21200000170 \n", "26350 21200000171 \n", "26473 21220000249 \n", "26474 21220000250 \n", "26486 21220000261 \n", "26487 21220000310 \n", "26502 1302010U0BBAAAF \n", "26504 21220000279 \n", "26505 1302010U0BMAAAF \n", "26507 21220000281 \n", "26535 130201000BBAFA4 \n", "26537 21220000313 \n", "30542 23150101506 \n", "30543 23150101507 \n", "34130 23452704503 \n", "34131 23452704504 \n", "35956 23800108014 \n", "35957 23800108015 \n", "\n", " old_name \\\n", "130 Gaviscon Ex Strgh_Tab Chble 500mg (Lem) \n", "131 Gaviscon Ex Strgh_Tab Chble 500mg(P/Mint \n", "224 Atrop Sulf_Oral Susp 500mcg/5ml \n", "226 Atrop Sulf_Oral Soln 500mcg/5ml (Old) \n", "248 Glycopyrronium Brom_Oral Soln 1mg/5ml \n", "249 Glycopyrronium Brom_Oral Susp 1mg/5ml \n", "254 Glycopyrronium Brom_Oral Soln 2mg/5ml \n", "255 Glycopyrronium Brom_Oral Susp 2mg/5ml \n", "721 Ispag Husk_Gran Eff Sach 3.5g Orange S/F \n", "722 Ispag Husk_Gran Eff Sach 3.5g Lem S/F \n", "864 Macrogol_Co Oral Pdr Sach 6.9g (Plain) \n", "865 Macrogol_Co Oral Pdr Sach 6.9g (Choc)S/F \n", "1222 Furosemide_Oral Soln 5mg/5ml \n", "1223 Furosemide_Oral Susp 5mg/5ml \n", "1818 Captopril_Oral Soln 5mg/5ml \n", "1819 Captopril_Oral Susp 5mg/5ml \n", "1824 Captopril_Oral Soln 25mg/5ml \n", "1825 Captopril_Oral Susp 25mg/5ml \n", "1903 Lisinopril_Oral Soln 5mg/5ml \n", "1904 Lisinopril_Oral Susp 5mg/5ml \n", "1907 Lisinopril_Oral Soln 2.5mg/5ml \n", "1908 Lisinopril_Oral Susp 2.5mg/5ml \n", "1961 Ramipril_Oral Soln 5mg/5ml \n", "1962 Ramipril_Oral Susp 5mg/5ml \n", "2197 Nitrolingual_P/Spy 400mcg (180 D) \n", "2198 Nitrolingual_P/Spy 400mcg (75 D) \n", "2305 Amlodipine_Oral Soln 5mg/5ml \n", "2306 Amlodipine_Oral Susp 5mg/5ml \n", "2308 Amlodipine_Oral Susp 10mg/5ml \n", "2309 Amlodipine_Oral Soln 10mg/5ml \n", "2875 Dipyridamole_Oral Soln 200mg/5ml \n", "2876 Dipyridamole_Oral Susp 200mg/5ml (Old) \n", "3133 Salbutamol_Pdr For Inh 200mcg (100 D) \n", "3134 Salbutamol_Pdr For Inh 200mcg (200 D) \n", "3774 Adren_Inj 1/1000 1ml Pfs (21 Gauge) \n", "3775 Adren_Inj 1/1000 1ml Pfs (25 Gauge) \n", "4138 Melatonin_Oral Susp 5mg/5ml (Old) \n", "4139 Melatonin_Oral Susp 5mg/5ml \n", "4162 Chloral Hydrate_Oral Soln 200mg/5ml BP \n", "4163 Chloral Hydrate_Oral Susp 200mg/5ml \n", "4567 Haloperidol_Oral Soln 1mg/5ml \n", "4568 Haloperidol_Oral Susp 1mg/5ml \n", "4783 Amitriptyline HCl_Oral Soln 10mg/5ml \n", "4784 Amitriptyline HCl_Oral Susp 10mg/5ml \n", "5127 Dexamfet Sulf_Oral Soln 5mg/5ml \n", "5128 Dexamfet Sulf_Oral Susp 5mg/5ml \n", "5214 Modafinil_Oral Soln 100mg/5ml \n", "5215 Modafinil_Oral Susp 100mg/5ml (Old) \n", "5871 Fentanyl_Nsl Spy 50mcg (20D) \n", "5872 Fentanyl_Nsl Spy 50mcg/0.1ml Ud (6D) \n", "5878 Fentanyl_Nsl Spy 200mcg (20D) \n", "5879 Fentanyl_Nsl Spy 200mcg/0.1ml Ud (6D) \n", "5946 Instanyl_Nsl Spy 200mcg (10D) \n", "5947 Instanyl_Nsl Spy 200mcg (20D) \n", "5949 Instanyl_Nsl Spy 100mcg (10D) \n", "5950 Instanyl_Nsl Spy 100mcg (20D) \n", "5952 Instanyl_Nsl Spy 50mcg (10D) \n", "5953 Instanyl_Nsl Spy 50mcg (20D) \n", "6501 Clonidine HCl_Oral Soln 50mcg/5ml (DT) \n", "6502 Clonidine HCl_Oral Susp 50mcg/5ml (DT) \n", "6568 Topiramate_Oral Susp 100mg/5ml \n", "6569 Topiramate_Oral Soln 100mg/5ml (DT Old) \n", "6917 Lamictal_Tab 25mg (Monotherapy) \n", "6918 Lamictal_Tab 25mg (Valpr) \n", "6939 Phenobarb_Oral Soln 50mg/5ml \n", "6940 Phenobarb_Oral Susp 50mg/5ml \n", "6995 Primidone_Oral Susp 250mg/5ml (Old) \n", "6996 Primidone_Oral Susp 250mg/5ml (Spec) \n", "7350 Trihexyphenidyl HCl_Oral Soln 2mg/5ml \n", "7351 Trihexyphenidyl HCl_Oral Susp 2mg/5ml \n", "7454 Nicotine_Loz 1.5mg S/F (Cherry) \n", "7455 Nicotine_Loz 1.5mg S/F (Orange) \n", "8891 Gppe Ins_Humulin M3 Humaject 3ml Pf Pen \n", "8892 Ins Bip Isophane_30/70 100u/ml 3ml Cart \n", "10318 Econazole Nit_Pess 150mg + Applic \n", "10319 Econazole Nit_Pess 150mg + Applic \n", "10610 Oxybutynin HCl_Oral Soln 2.5mg/5ml (Old) \n", "10611 Oxybutynin HCl_Oral Susp 2.5mg/5ml \n", "11831 Sod Chlor_Liq Spec 292.5mg/5ml \n", "11832 Sod Chlor_Oral Soln 292.5mg/5ml S/F \n", "11836 Sod Chlor_Liq Spec 1.46g/5ml \n", "11837 Sod Chlor_Oral Soln 1.46g/5ml (DT Old) \n", "11966 Glucose/Sod Chlor_I/V Inf5%/0.9%500ml@gn \n", "11967 Steriflex_No3 Gluc5%/SodChlor.9%Inf500ml \n", "12163 Calogen_Emuls (Sbery) \n", "12164 Calogen_Emuls (Banana) \n", "12169 Neocate Advance_Pdr Sach 100g (Unflav) \n", "12170 Neocate Advance_Pdr Sach 50g (Flav) \n", "12669 G/F_Bisc \n", "12670 G/F /W/F_Bread \n", "12867 G/F /L/P_Meals \n", "12869 G/F /L/P_Pasta \n", "13272 Peptamen_Liq Diet (Vanilla) \n", "13273 Peptamen_Dripac-Flex Liq (Unflav) \n", "13274 Seravit_Paed Mix Unflav \n", "13275 Seravit_Paed Mix P/Apple \n", "13334 Optifibre_Pdr Sach 8g \n", "13335 Optifibre_Pdr Sach 10g \n", "13601 Pro-Cal_Shot S/Pack 750ml \n", "13602 Pro-Cal_Shot S/Pack 240ml \n", "13804 Mag Glycerophos_Oral Soln97.2mg/5ml(Old) \n", "13806 Mag Glycerophos_Oral Soln 97.2mg/5ml \n", "13810 Mag Glycerophos_OralSoln121.25mg/5ml Old \n", "13812 Mag Glycerophos_OralSoln121.25mg/5mlSpec \n", "13935 Lamb_Zn (Cit) Cap 50mg (8283) \n", "13936 Vega_Zn Cit V/Cap 50mg \n", "13964 Solgar_Selenium Tab 200mcg \n", "13965 HealthAid_Selenium Tab 200mcg \n", "13967 Solgar_Selenium Tab 100mcg \n", "13968 Cytoplan_Selenium Tab 100mcg \n", "14279 BioCare_Vit C Cap 500mg \n", "14280 Solgar_Vit C V/Cap 500mg \n", "14368 Colecal & Calc_Tab Chble 400u/1.5g (Lem) \n", "14369 Colecal & Calc_Tab Chble 400u/1.5g \n", "14409 Colecal_Oral Susp 15,000u/5ml \n", "14410 Colecal_Oral Soln 15,000u/5ml (Old) \n", "14754 Natures Aid_Natur Vit ESoftgelsCap1,000u \n", "14755 Solgar_Vit E Cap 1,000u \n", "14765 Solgar_Vit E Mixed Soft Gel 400u (268mg) \n", "14766 Solgar_Vit E Dry V/Cap 400u (268mg) \n", "15247 Quest_L-Glutamine Cap 500mg \n", "15248 Solgar_L-Glutamine V/Cap 500mg \n", "15255 Lamb_L-Phenylalanine Cap 500mg (8321) \n", "15256 Quest_L-Phenylalanine Cap 500mg \n", "15431 NatraHealth_Glucosam+Chond Cap 400/100mg \n", "15432 BR Pharm_Glucosamine + Chondroitin Cap \n", "15452 HealthAid_MSM Tab 1g \n", "15453 H/Nature_MSM Tab 1000mg \n", "16272 Methotrexate_Oral Soln 10mg/5ml \n", "16273 Methotrexate_Oral Susp 10mg/5ml \n", "16416 Natures Aid_Veget Glucosam HCl Tab 750mg \n", "16417 Health+Plus_Glucosamine HCl Tab 750mg \n", "16784 Dexameth_Eye Dps 0.1% P/F (Old) \n", "16785 Dexameth_Eye Dps 0.1% P/F (DT Old) \n", "17039 Piloc HCl_Eye Dps 0.5% (DT Old) \n", "17040 Piloc HCl_Eye Dps 0.5% P/F \n", "17133 Acetylcy_Eye Dps 10% \n", "17134 Acetylcy_Eye Dps 10% P/F (DT Old) \n", "17168 Sai-Meds Hypromellose 0.5% Eye Dps 10ml \n", "17169 Teardew 0.5% Hypromellose Eye Dps 10ml \n", "17175 Tear-Lac Hypromellose Eye Dps 0.3% P/F \n", "17176 PF Drops Hypromellose 0.3% Eye Dps 10ml P/F \n", "17198 Sod Chlor_Eye Dps 5% P/F \n", "17199 PF Drops Sod Chlor 5% Eye Dps 10ml P/F \n", "17346 Beclomet Diprop_Aq Nsl Spy 50mcg (100 D) \n", "17347 Beclomet Diprop_Nsl Spy 50mcg (180 D) \n", "17360 Budesonide_Aq Nsl Spy 100mcg (200D) \n", "17361 Budesonide_Aq Nsl Spy 100mcg (150D) \n", "17520 Dichlor Alc/Amylmet_Loz 1.2mg/600mcg \n", "17521 Throaties_A-Bact Pastil(R/Currant&R/Hip) \n", "17621 Chlorhex Glucon_Mthwsh (Mint) 0.2% \n", "17622 Chlorhex Glucon_Mthwsh (Aniseed) 0.2% \n", "17748 Liq Paraf 50%/Emulsif 50%_Oint (Old) \n", "17750 Emulsif Oint 50%/WSP 50%_Oint \n", "17827 Ovelle Emulsif Oint 500g (App) \n", "17828 EmulsifEss Oint 500g \n", "17890 AquaDerm Aq Crm 100g \n", "17891 AquaDerm Aq Crm \n", "17943 Derma Shield_Skin Prote Mousse 150ml \n", "17945 Derma Shield_Skin Prote Mousse 500ml \n", "18226 Clobet/Oxytet/Nystatin_Crm0.05%/3%(Spec) \n", "18227 Clobet/Oxytet/Nystatin_Crm 0.05%/3% (DT) \n", "18302 Haelan_Tape 7.5cm x 200cm \n", "18303 Haelan_Tape 7.5cm x 20cm \n", "18661 Salic Acid 5%/WSP_Oint \n", "18662 Salic Acid 5%/Emulsif_Oint \n", "18873 Salic Acid 20%/WSP_Oint \n", "18874 Salic Acid 20%/Emulsif_Oint \n", "19134 Amorolfine HCl_Nail Lacquer Kit 5% 3ml \n", "19135 Amorolfine HCl_Nail Lacquer Kit 5% \n", "19541 Hepat A_Vac 320u/ml 0.5ml Pfs \n", "19542 Hepat A_Vac 50u/ml 0.5ml Pfs \n", "19612 Repevax_Vac 0.5ml Pfs \n", "19613 Boostrix-IPV_Inj 0.5ml Pfs \n", "19616 Infanrix-IPV_Vac 0.5ml Pfs \n", "19617 Infanrix-IPV + Hib_Vac C/Pk Pfs + Pdr Vl \n", "19891 Lido HCl_Antis Gel 2% (Liq) \n", "19893 Lido HCl 2%/Chlorhex_Gel 11ml Pfs \n", "20585 Absorbent Cott Wool BP 100g \n", "20586 Absorbent Cott Wool BP 500g \n", "21659 IntraSite Gel 15g Wound Dress H/Gel Ster \n", "21660 IntraSite Gel 25g Wound Dress H/Gel Ster \n", "21680 Iodoflex Paste 10g Wound Dress H/Gel Ster \n", "21681 Iodoflex Paste 17g Wound Dress H/Gel Ster \n", "21687 Cutimed Gel 15g Wound Dress H/Gel Ster \n", "21688 Cutimed Gel 25g Wound Dress H/Gel Ster \n", "22592 Alhydran Crm 100ml Wound Dress \n", "22593 Alhydran Crm 250ml Wound Dress \n", "23116 Silgen Ag Spy 10ml Wound Dress Silver Ctd Barrier \n", "23117 Silgen Ag Spy 25ml Wound Dress Silver Ctd Barrier \n", "23790 Lint Absorbent 100g \n", "23791 Lint Absorbent 500g \n", "23853 Comfifast 5cm x 3m (Green) Stkntte Elasctd Viscose Tublr \n", "23854 Comfifast 5cm x 5m (Green) Stkntte Elasctd Viscose Tublr \n", "23856 Comfifast 7.5cm x 3m (Blue) Stkntte Elasctd Viscose Tublr \n", "23857 Comfifast 7.5cm x 5m (Blue) Stkntte Elasctd Viscose Tublr \n", "23859 Comfifast 10.75cm x 3m (Yellow)Stkntte Elasctd Viscose Tublr \n", "23860 Comfifast 10.75cm x 5m (Yellow)Stkntte Elasctd Viscose Tublr \n", "23865 Acti-Fast 2-Way Stch 5cm x 3m(Green) Stkntte Elasctd V/Tublr \n", "23866 Acti-Fast 2-Way Stch 5cm x 5m(Green) Stkntte Elasctd V/Tublr \n", "23868 Acti-Fast 2-Way Stch 7.5cmx3m (Blue) Stkntte Elasctd V/Tublr \n", "23869 Acti-Fast 2-Way Stch 7.5cmx5m (Blue) Stkntte Elasctd V/Tublr \n", "23871 Acti-Fast 2-Way Stch 10.75cmx3m(Yell)Stkntte Elasctd V/Tublr \n", "23872 Acti-Fast 2-Way Stch 10.75cmx5m(Yell)Stkntte Elasctd V/Tublr \n", "23874 Tubifast 2-Way Stch 5cm x 5m (Green) Stkntte Elasctd Viscose \n", "23875 Tubifast 2-Way Stch 5cm x 3m (Green) Stkntte Elasctd Viscose \n", "23877 Tubifast 2-Way Stch 7.5cm x 5m (Blue) Stkntte ElasctdViscose \n", "23878 Tubifast 2-Way Stch 7.5cm x 3m (Blue) Stkntte ElasctdViscose \n", "23880 Tubifast 2-Way Stch 10.75cm x 5m YellowStkntteElasctdViscose \n", "23881 Tubifast 2-Way Stch 10.75cm x 3m YellowStkntteElasctdViscose \n", "23931 Coverflex 5cm x 3m (Green) Stkntte Elasctd Viscose Tublr \n", "23932 Coverflex 5cm x 5m (Green) Stkntte Elasctd Viscose Tublr \n", "23934 Coverflex 7.5cm x 3m (Blue) Stkntte Elasctd Viscose Tublr \n", "23935 Coverflex 7.5cm x 5m (Blue) Stkntte Elasctd Viscose Tublr \n", "23937 Coverflex 10.75cm x 3m (Yellow)Stkntte Elasctd Viscose Tublr \n", "23938 Coverflex 10.75cm x 5m (Yellow)Stkntte Elasctd Viscose Tublr \n", "23972 Easifast 5cm x 3m (Green) Stkntte Elasctd Viscose Tublr \n", "23973 Easifast 5cm x 5m (Green) Stkntte Elasctd Viscose Tublr \n", "23975 Easifast 7.5cm x 3m (Blue) Stkntte Elasctd Viscose Tublr \n", "23976 Easifast 7.5cm x 5m (Blue) Stkntte Elasctd Viscose Tublr \n", "23978 Easifast 10.75cm x 3m(Yellow) Stkntte Elasctd Viscose Tublr \n", "23979 Easifast 10.75cm x 5m(Yellow) Stkntte Elasctd Viscose Tublr \n", "23989 CliniFast 5cm x 3m (Green) Stkntte Elasctd Viscose Tublr \n", "23990 CliniFast 5cm x 5m (Green) Stkntte Elasctd Viscose Tublr \n", "23992 CliniFast 7.5cm x 3m (Blue) Stkntte Elasctd Viscose Tublr \n", "23993 CliniFast 7.5cm x 5m (Blue) Stkntte Elasctd Viscose Tublr \n", "23995 CliniFast 10.75cm x 3m (Yellow) Stkntte Elasctd ViscoseTublr \n", "23996 CliniFast 10.75cm x 5m (Yellow) Stkntte Elasctd ViscoseTublr \n", "24069 Comfifast MultiStretch 2-way Stch 5cmx3m (Green) Stkntte \n", "24070 Comfifast MultiStretch 2-way Stch 5cmx5m (Green) Stkntte \n", "24072 Comfifast MultiStretch 2-way Stch 7.5cmx3m (Blue) Stkntte \n", "24073 Comfifast MultiStretch 2-way Stch 7.5cmx5m (Blue) Stkntte \n", "24075 Comfifast MultiStretch 2-way Stch 10.75cmx3m (Yell) Stkntte \n", "24076 Comfifast MultiStretch 2-way Stch 10.75cmx5m (Yell) Stkntte \n", "24177 Fortuna Fast 5cm x 3m (Green) Stkntte Elasctd Viscose Tublr \n", "24178 Fortuna Fast 5cm x 5m (Green) Stkntte Elasctd Viscose Tublr \n", "24180 Fortuna Fast 7.5cm x 3m (Blue) Stkntte Elasctd Viscose Tublr \n", "24181 Fortuna Fast 7.5cm x 5m (Blue) Stkntte Elasctd Viscose Tublr \n", "24183 Fortuna Fast 10.75cmx3m (Yellow)Stkntte Elasctd ViscoseTublr \n", "24184 Fortuna Fast 10.75cmx5m (Yellow)Stkntte Elasctd ViscoseTublr \n", "24248 Flexifast 7.5cm x 3m (Blue) Stkntte Elasctd Viscose Tublr \n", "24249 Flexifast 7.5cm x 5m (Blue) Stkntte Elasctd Viscose Tublr \n", "24251 Flexifast 10.75cm x 3m (Yellow)Stkntte Elasctd Viscose Tublr \n", "24252 Flexifast 10.75cm x 5m (Yellow)Stkntte Elasctd Viscose Tublr \n", "26107 OptiLube Ster Syrg Lubricant Gel \n", "26109 OptiLube Ster Lubri Jelly \n", "26349 Jobst FarrowWrap 4000 Sml Compress System \n", "26350 Jobst FarrowWrap 4000 Med Compress System \n", "26473 Elave Intensive Crm 125g \n", "26474 Elave Intensive Crm 500g \n", "26486 MyriBase Gel 500g \n", "26487 MyriBase Gel 500ml \n", "26502 Aquadrate_Crm 10% (Drug) \n", "26504 Aquadrate Crm 10% 100g (App) \n", "26505 Hydromol Intensive_Crm 10% (Drug) \n", "26507 Hydromol Intensive Crm 10% 100g (App) \n", "26535 Diprobase_Crm \n", "26537 Diprobase Crm 50g (App) \n", "30542 Hollister_Adapt No-Sting Medical Adh Remover A/Spy 50ml \n", "30543 Hollister_Adapt No-Sting Medical Adh Remover A/Spy 100ml \n", "34130 Loxley_Day-Drop 30ml \n", "34131 Loxley_Day-Drop 7.5ml \n", "35956 Hollister_Adapt Paste 14g \n", "35957 Hollister_Adapt Paste 60g \n", "\n", " new_code \\\n", "130 0101021B0AAAGAG \n", "131 0101021B0AAAGAG \n", "224 0102000ACAABABA \n", "226 0102000ACAABABA \n", "248 0102000L0AAADAD \n", "249 0102000L0AAADAD \n", "254 0102000L0AAAIAI \n", "255 0102000L0AAAIAI \n", "721 0106010E0AAADAD \n", "722 0106010E0AAADAD \n", "864 0106040M0AAABAB \n", "865 0106040M0AAABAB \n", "1222 0202020L0AACACA \n", "1223 0202020L0AACACA \n", "1818 0205051F0AABNBN \n", "1819 0205051F0AABNBN \n", "1824 0205051F0AABWBW \n", "1825 0205051F0AABWBW \n", "1903 0205051L0AAAGAG \n", "1904 0205051L0AAAGAG \n", "1907 0205051L0AAAIAI \n", "1908 0205051L0AAAIAI \n", "1961 0205051R0AAAEAE \n", "1962 0205051R0AAAEAE \n", "2197 0206010F0BFABCJ \n", "2198 0206010F0BFABCJ \n", "2305 0206020A0AAACAC \n", "2306 0206020A0AAACAC \n", "2308 0206020A0AAADAD \n", "2309 0206020A0AAADAD \n", "2875 0209000L0AAAZAZ \n", "2876 0209000L0AAAZAZ \n", "3133 0301011R0AAAQAQ \n", "3134 0301011R0AAAQAQ \n", "3774 0304030C0AAAYAY \n", "3775 0304030C0AAAYAY \n", "4138 0401010ADAADEDE \n", "4139 0401010ADAADEDE \n", "4162 0401010B0AABGBG \n", "4163 0401010B0AABGBG \n", "4567 0402010J0AAA7A7 \n", "4568 0402010J0AAA7A7 \n", "4783 0403010B0AAA6A6 \n", "4784 0403010B0AAA6A6 \n", "5127 0404000L0AAAMAM \n", "5128 0404000L0AAAMAM \n", "5214 0404000R0AAAGAG \n", "5215 0404000R0AAAGAG \n", "5871 0407020A0AABHBH \n", "5872 0407020A0AABHBH \n", "5878 0407020A0AABLBL \n", "5879 0407020A0AABLBL \n", "5946 0407020A0BNAGBQ \n", "5947 0407020A0BNAGBQ \n", "5949 0407020A0BNAHBR \n", "5950 0407020A0BNAHBR \n", "5952 0407020A0BNAIBS \n", "5953 0407020A0BNAIBS \n", "6501 0407042F0AAAFAF \n", "6502 0407042F0AAAFAF \n", "6568 040801050AACCCC \n", "6569 040801050AACCCC \n", "6917 0408010H0BBACAC \n", "6918 0408010H0BBACAC \n", "6939 0408010N0AACLCL \n", "6940 0408010N0AACLCL \n", "6995 0408010U0AABCBC \n", "6996 0408010U0AABCBC \n", "7350 0409020C0AAALAL \n", "7351 0409020C0AAALAL \n", "7454 0410020B0AABPBP \n", "7455 0410020B0AABPBP \n", "8891 0601012D0AABZBZ \n", "8892 0601012D0AABZBZ \n", "10318 0702020H0AAAFAF \n", "10319 0702020H0AAAFAF \n", "10610 0704020J0AAAZAZ \n", "10611 0704020J0AAAZAZ \n", "11831 0902012L0AADDDD \n", "11832 0902012L0AADDDD \n", "11836 0902012L0AADHDH \n", "11837 0902012L0AADHDH \n", "11966 0902021S0AABDBD \n", "11967 0902021S0AABDBD \n", "12163 090401000AABABA \n", "12164 090401000AABABA \n", "12169 090401000AACHCH \n", "12170 090401000AACHCH \n", "12669 0904010A0AABFBF \n", "12670 0904010A0AABFBF \n", "12867 0904010AQAAAAAA \n", "12869 0904010AQAAAAAA \n", "13272 090402000AAASAS \n", "13273 090402000AAASAS \n", "13274 090402000AAATAT \n", "13275 090402000AAATAT \n", "13334 090402000BBHWA0 \n", "13335 090402000BBHWA0 \n", "13601 090402000BBWUA0 \n", "13602 090402000BBWUA0 \n", "13804 0905013G0AADCDC \n", "13806 0905013G0AADCDC \n", "13810 0905013G0AADFDF \n", "13812 0905013G0AADFDF \n", "13935 090504100AABBBB \n", "13936 090504100AABBBB \n", "13964 090504700AABCBC \n", "13965 090504700AABCBC \n", "13967 090504700AABJBJ \n", "13968 090504700AABJBJ \n", "14279 0906031C0AABIBI \n", "14280 0906031C0AABIBI \n", "14368 0906040G0AABYBY \n", "14369 0906040G0AABYBY \n", "14409 0906040G0AADSDS \n", "14410 0906040G0AADSDS \n", "14754 0906050P0AAA9A9 \n", "14755 0906050P0AAA9A9 \n", "14765 0906050P0AAAFAF \n", "14766 0906050P0AAAFAF \n", "15247 091101000AAFFFF \n", "15248 091101000AAFFFF \n", "15255 091101000AAFPFP \n", "15256 091101000AAFPFP \n", "15431 091200000AAEEEE \n", "15432 091200000AAEEEE \n", "15452 091200000AAFEFE \n", "15453 091200000AAFEFE \n", "16272 1001030U0AAAHAH \n", "16273 1001030U0AAAHAH \n", "16416 1001050A0AAABAB \n", "16417 1001050A0AAABAB \n", "16784 1104010I0AAAUAU \n", "16785 1104010I0AAAUAU \n", "17039 1106000X0AABPBP \n", "17040 1106000X0AABPBP \n", "17133 1108010C0AABABA \n", "17134 1108010C0AABABA \n", "17168 1108010F0AAABAB \n", "17169 1108010F0AAABAB \n", "17175 1108010F0AAANAN \n", "17176 1108010F0AAANAN \n", "17198 1108010K0AAA6A6 \n", "17199 1108010K0AAA6A6 \n", "17346 1202010C0AAAAAA \n", "17347 1202010C0AAAAAA \n", "17360 1202010I0AAACAC \n", "17361 1202010I0AAACAC \n", "17520 1203030A0AAAEAE \n", "17521 1203030A0AAAEAE \n", "17621 1203040E0AAABAB \n", "17622 1203040E0AAABAB \n", "17748 130201000AADMDM \n", "17750 130201000AADMDM \n", "17827 1302010F0AAADAD \n", "17828 1302010F0AAADAD \n", "17890 130201100AAAMAM \n", "17891 130201100AAAMAM \n", "17943 130202000BBBAA0 \n", "17945 130202000BBBAA0 \n", "18226 1304000H0AACACA \n", "18227 1304000H0AACACA \n", "18302 1304000T0BBAGCC \n", "18303 1304000T0BBAGCC \n", "18661 1305020S0AACZCZ \n", "18662 1305020S0AACZCZ \n", "18873 1307000M0AABZBZ \n", "18874 1307000M0AABZBZ \n", "19134 1310020A0AAAAAA \n", "19135 1310020A0AAAAAA \n", "19541 140400030AAADAD \n", "19542 140400030AAADAD \n", "19612 1404000F0AAAXAX \n", "19613 1404000F0AAAXAX \n", "19616 1404000F0AABBBB \n", "19617 1404000F0AABBBB \n", "19891 1502010J0AABQBQ \n", "19893 1502010J0AABQBQ \n", "20585 20010000101 \n", "20586 20010000101 \n", "21659 20030500005 \n", "21660 20030500005 \n", "21680 20030500100 \n", "21681 20030500100 \n", "21687 20030500120 \n", "21688 20030500120 \n", "22592 20031400060 \n", "22593 20031400060 \n", "23116 20031900045 \n", "23117 20031900045 \n", "23790 20070000100 \n", "23791 20070000100 \n", "23853 20090000479 \n", "23854 20090000479 \n", "23856 20090000482 \n", "23857 20090000482 \n", "23859 20090000485 \n", "23860 20090000485 \n", "23865 20090000491 \n", "23866 20090000491 \n", "23868 20090000494 \n", "23869 20090000494 \n", "23871 20090000497 \n", "23872 20090000497 \n", "23874 20090000510 \n", "23875 20090000510 \n", "23877 20090000520 \n", "23878 20090000520 \n", "23880 20090000530 \n", "23881 20090000530 \n", "23931 20090000805 \n", "23932 20090000805 \n", "23934 20090000810 \n", "23935 20090000810 \n", "23937 20090000815 \n", "23938 20090000815 \n", "23972 20090000905 \n", "23973 20090000905 \n", "23975 20090000910 \n", "23976 20090000910 \n", "23978 20090000915 \n", "23979 20090000915 \n", "23989 20090000936 \n", "23990 20090000936 \n", "23992 20090000939 \n", "23993 20090000939 \n", "23995 20090000945 \n", "23996 20090000945 \n", "24069 20090001025 \n", "24070 20090001025 \n", "24072 20090001030 \n", "24073 20090001030 \n", "24075 20090001035 \n", "24076 20090001035 \n", "24177 20090001171 \n", "24178 20090001171 \n", "24180 20090001174 \n", "24181 20090001174 \n", "24183 20090001177 \n", "24184 20090001177 \n", "24248 20090001248 \n", "24249 20090001248 \n", "24251 20090001251 \n", "24252 20090001251 \n", "26107 21140000015 \n", "26109 21140000015 \n", "26349 21200000169 \n", "26350 21200000169 \n", "26473 21220000248 \n", "26474 21220000248 \n", "26486 21220000260 \n", "26487 21220000260 \n", "26502 21220000278 \n", "26504 21220000278 \n", "26505 21220000280 \n", "26507 21220000280 \n", "26535 21220000311 \n", "26537 21220000311 \n", "30542 23150101504 \n", "30543 23150101504 \n", "34130 23452704502 \n", "34131 23452704502 \n", "35956 23800108009 \n", "35957 23800108009 \n", "\n", " new_name changed \n", "130 Generic Gaviscon 500mg chewable tablets sugar free Y \n", "131 Generic Gaviscon 500mg chewable tablets sugar free Y \n", "224 Atropine 500micrograms/5ml oral solution Y \n", "226 Atropine 500micrograms/5ml oral solution Y \n", "248 Glycopyrronium bromide 1mg/5ml oral liquid Y \n", "249 Glycopyrronium bromide 1mg/5ml oral liquid Y \n", "254 Glycopyrronium bromide 2mg/5ml oral liquid Y \n", "255 Glycopyrronium bromide 2mg/5ml oral liquid Y \n", "721 Ispaghula husk 3.5g efferv gran sach gluten free sugar free Y \n", "722 Ispaghula husk 3.5g efferv gran sach gluten free sugar free Y \n", "864 Macrogol compound half-strength oral pdr sach NPF sugar free Y \n", "865 Macrogol compound half-strength oral pdr sach NPF sugar free Y \n", "1222 Furosemide 5mg/5ml oral liquid Y \n", "1223 Furosemide 5mg/5ml oral liquid Y \n", "1818 Captopril 5mg/5ml oral liquid Y \n", "1819 Captopril 5mg/5ml oral liquid Y \n", "1824 Captopril 25mg/5ml oral liquid Y \n", "1825 Captopril 25mg/5ml oral liquid Y \n", "1903 Lisinopril 5mg/5ml oral liquid Y \n", "1904 Lisinopril 5mg/5ml oral liquid Y \n", "1907 Lisinopril 2.5mg/5ml oral liquid Y \n", "1908 Lisinopril 2.5mg/5ml oral liquid Y \n", "1961 Ramipril 5mg/5ml oral liquid Y \n", "1962 Ramipril 5mg/5ml oral liquid Y \n", "2197 Nitrolingual 400micrograms/dose pump sublingual spray Y \n", "2198 Nitrolingual 400micrograms/dose pump sublingual spray Y \n", "2305 Amlodipine 5mg/5ml oral liquid Y \n", "2306 Amlodipine 5mg/5ml oral liquid Y \n", "2308 Amlodipine 10mg/5ml oral liquid Y \n", "2309 Amlodipine 10mg/5ml oral liquid Y \n", "2875 Dipyridamole 200mg/5ml oral suspension Y \n", "2876 Dipyridamole 200mg/5ml oral suspension Y \n", "3133 Salbutamol 200micrograms/dose dry powder inhaler Y \n", "3134 Salbutamol 200micrograms/dose dry powder inhaler Y \n", "3774 Adrenaline (base) 1mg/1ml (1 in 1,000) inj pfs Y \n", "3775 Adrenaline (base) 1mg/1ml (1 in 1,000) inj pfs Y \n", "4138 Melatonin 5mg/5ml oral suspension Y \n", "4139 Melatonin 5mg/5ml oral suspension Y \n", "4162 Chloral hydrate 200mg/5ml oral liquid Y \n", "4163 Chloral hydrate 200mg/5ml oral liquid Y \n", "4567 Haloperidol 1mg/5ml oral liquid Y \n", "4568 Haloperidol 1mg/5ml oral liquid Y \n", "4783 Amitriptyline 10mg/5ml oral liquid Y \n", "4784 Amitriptyline 10mg/5ml oral liquid Y \n", "5127 Dexamfetamine 5mg/5ml oral liquid Y \n", "5128 Dexamfetamine 5mg/5ml oral liquid Y \n", "5214 Modafinil 100mg/5ml oral suspension Y \n", "5215 Modafinil 100mg/5ml oral suspension Y \n", "5871 Fentanyl 50micrograms/dose nasal spray Y \n", "5872 Fentanyl 50micrograms/dose nasal spray Y \n", "5878 Fentanyl 200micrograms/dose nasal spray Y \n", "5879 Fentanyl 200micrograms/dose nasal spray Y \n", "5946 Instanyl 200micrograms/dose nasal spray Y \n", "5947 Instanyl 200micrograms/dose nasal spray Y \n", "5949 Instanyl 100micrograms/dose nasal spray Y \n", "5950 Instanyl 100micrograms/dose nasal spray Y \n", "5952 Instanyl 50micrograms/dose nasal spray Y \n", "5953 Instanyl 50micrograms/dose nasal spray Y \n", "6501 Clonidine 50micrograms/5ml oral liquid Y \n", "6502 Clonidine 50micrograms/5ml oral liquid Y \n", "6568 Topiramate 100mg/5ml oral solution Y \n", "6569 Topiramate 100mg/5ml oral solution Y \n", "6917 Lamictal 25mg tablets Y \n", "6918 Lamictal 25mg tablets Y \n", "6939 Phenobarbital 50mg/5ml oral liquid Y \n", "6940 Phenobarbital 50mg/5ml oral liquid Y \n", "6995 Primidone 250mg/5ml oral suspension Y \n", "6996 Primidone 250mg/5ml oral suspension Y \n", "7350 Trihexyphenidyl 2mg/5ml oral liquid Y \n", "7351 Trihexyphenidyl 2mg/5ml oral liquid Y \n", "7454 Nicotine 1.5mg lozenges sugar free Y \n", "7455 Nicotine 1.5mg lozenges sugar free Y \n", "8891 Insulin isoph biphas hum 30/70 100u/ml inj 3ml pf dispos dev Y \n", "8892 Insulin isoph biphas hum 30/70 100u/ml inj 3ml pf dispos dev Y \n", "10318 Econazole 150mg pessaries Y \n", "10319 Econazole 150mg pessaries Y \n", "10610 Oxybutynin 2.5mg/5ml oral solution Y \n", "10611 Oxybutynin 2.5mg/5ml oral solution Y \n", "11831 Sodium chloride 292.5mg/5ml (1mmol/ml) oral solution Y \n", "11832 Sodium chloride 292.5mg/5ml (1mmol/ml) oral solution Y \n", "11836 Sodium chloride 1.46g/5ml (5mmol/ml) oral solution Y \n", "11837 Sodium chloride 1.46g/5ml (5mmol/ml) oral solution Y \n", "11966 Sodium chloride 0.9% / Glucose 5% infusion 500ml bags Y \n", "11967 Sodium chloride 0.9% / Glucose 5% infusion 500ml bags Y \n", "12163 Generic Calogen emulsion Y \n", "12164 Generic Calogen emulsion Y \n", "12169 Neocate Advance powder sachets Y \n", "12170 Neocate Advance powder sachets Y \n", "12669 Gluten free biscuits Y \n", "12670 Gluten free biscuits Y \n", "12867 Low protein pasta Y \n", "12869 Low protein pasta Y \n", "13272 Generic Peptamen liquid Y \n", "13273 Generic Peptamen liquid Y \n", "13274 Generic Seravit Paediatric powder Y \n", "13275 Generic Seravit Paediatric powder Y \n", "13334 Optifibre powder Y \n", "13335 Optifibre powder Y \n", "13601 Pro-Cal shot starter pack Y \n", "13602 Pro-Cal shot starter pack Y \n", "13804 Mag glycerophos (mag 97.2mg/5ml (4mmol/5ml)) soln Y \n", "13806 Mag glycerophos (mag 97.2mg/5ml (4mmol/5ml)) soln Y \n", "13810 Mag glycerophos (mag 121.25mg/5ml (5mmol/5ml)) soln Y \n", "13812 Mag glycerophos (mag 121.25mg/5ml (5mmol/5ml)) soln Y \n", "13935 Zinc citrate 50mg capsules Y \n", "13936 Zinc citrate 50mg capsules Y \n", "13964 Selenium 200microgram tablets Y \n", "13965 Selenium 200microgram tablets Y \n", "13967 Selenium 100microgram tablets Y \n", "13968 Selenium 100microgram tablets Y \n", "14279 Ascorbic acid 500mg capsules Y \n", "14280 Ascorbic acid 500mg capsules Y \n", "14368 Colecalciferol 400unit / Calcium carbonate 1.5g chewable tab Y \n", "14369 Colecalciferol 400unit / Calcium carbonate 1.5g chewable tab Y \n", "14409 Colecalciferol 15,000units/5ml oral solution Y \n", "14410 Colecalciferol 15,000units/5ml oral solution Y \n", "14754 Vitamin E 1,000unit capsules Y \n", "14755 Vitamin E 1,000unit capsules Y \n", "14765 Vitamin E 400unit capsules Y \n", "14766 Vitamin E 400unit capsules Y \n", "15247 Glutamine 500mg capsules Y \n", "15248 Glutamine 500mg capsules Y \n", "15255 L-Phenylalanine 500mg capsules Y \n", "15256 L-Phenylalanine 500mg capsules Y \n", "15431 Glucosamine sulfate 400mg / Chondroitin sulfate 100mg caps Y \n", "15432 Glucosamine sulfate 400mg / Chondroitin sulfate 100mg caps Y \n", "15452 Dimethyl sulfone 1g / Ascorbic acid 60mg tablets Y \n", "15453 Dimethyl sulfone 1g / Ascorbic acid 60mg tablets Y \n", "16272 Methotrexate 10mg/5ml oral liquid Y \n", "16273 Methotrexate 10mg/5ml oral liquid Y \n", "16416 Glucosamine hydrochloride 750mg tablets Y \n", "16417 Glucosamine hydrochloride 750mg tablets Y \n", "16784 Dexamethasone 0.1% eye drops preservative free Y \n", "16785 Dexamethasone 0.1% eye drops preservative free Y \n", "17039 Pilocarpine hydrochloride 0.5% eye drops Y \n", "17040 Pilocarpine hydrochloride 0.5% eye drops Y \n", "17133 Acetylcysteine 10% eye drops preservative free Y \n", "17134 Acetylcysteine 10% eye drops preservative free Y \n", "17168 Hypromellose 0.5% eye drops Y \n", "17169 Hypromellose 0.5% eye drops Y \n", "17175 Hypromellose 0.3% eye drops preservative free (drug) Y \n", "17176 Hypromellose 0.3% eye drops preservative free (drug) Y \n", "17198 Sodium chloride 5% eye drops preservative free Y \n", "17199 Sodium chloride 5% eye drops preservative free Y \n", "17346 Beclometasone 50micrograms/dose nasal spray Y \n", "17347 Beclometasone 50micrograms/dose nasal spray Y \n", "17360 Budesonide 100micrograms/dose nasal spray Y \n", "17361 Budesonide 100micrograms/dose nasal spray Y \n", "17520 Amylmetacresol 600microgram lozenges Y \n", "17521 Amylmetacresol 600microgram lozenges Y \n", "17621 Chlorhexidine gluconate 0.2% mouthwash Y \n", "17622 Chlorhexidine gluconate 0.2% mouthwash Y \n", "17748 Emulsifying ointment 50% / Liquid paraffin 50% ointment Y \n", "17750 Emulsifying ointment 50% / Liquid paraffin 50% ointment Y \n", "17827 Emulsifying ointment Y \n", "17828 Emulsifying ointment Y \n", "17890 Aqueous cream Y \n", "17891 Aqueous cream Y \n", "17943 Derma Shield skin protector mousse Y \n", "17945 Derma Shield skin protector mousse Y \n", "18226 Clobet 0.05%/Oxytetracycline 3% /Nystatin 100,000units/g crm Y \n", "18227 Clobet 0.05%/Oxytetracycline 3% /Nystatin 100,000units/g crm Y \n", "18302 Haelan 4micrograms/square cm tape 7.5cm Y \n", "18303 Haelan 4micrograms/square cm tape 7.5cm Y \n", "18661 Salicylic acid 5% ointment in a base Y \n", "18662 Salicylic acid 5% ointment in a base Y \n", "18873 Salicylic acid 20% ointment Y \n", "18874 Salicylic acid 20% ointment Y \n", "19134 Amorolfine 5% medicated nail lacquer Y \n", "19135 Amorolfine 5% medicated nail lacquer Y \n", "19541 Hepatitis A vaccine (inactivated, adsorbed) inj 0.5ml pfs Y \n", "19542 Hepatitis A vaccine (inactivated, adsorbed) inj 0.5ml pfs Y \n", "19612 dTAP/IPV inj 0.5ml pfs Y \n", "19613 dTAP/IPV inj 0.5ml pfs Y \n", "19616 DTaP/IPV vacc (ads) inj 0.5ml pfs Y \n", "19617 DTaP/IPV vacc (ads) inj 0.5ml pfs Y \n", "19891 Lidocaine 2% and Chlorhexidine gel Y \n", "19893 Lidocaine 2% and Chlorhexidine gel Y \n", "20585 Absorbent cotton BP 1988 Y \n", "20586 Absorbent cotton BP 1988 Y \n", "21659 IntraSite Gel dressing Y \n", "21660 IntraSite Gel dressing Y \n", "21680 Iodoflex paste dressing Y \n", "21681 Iodoflex paste dressing Y \n", "21687 Cutimed Gel dressing Y \n", "21688 Cutimed Gel dressing Y \n", "22592 Alhydran cream Y \n", "22593 Alhydran cream Y \n", "23116 Silgen Ag spray Y \n", "23117 Silgen Ag spray Y \n", "23790 Absorbent lint BPC Y \n", "23791 Absorbent lint BPC Y \n", "23853 Comfifast stockinette 5cm Y \n", "23854 Comfifast stockinette 5cm Y \n", "23856 Comfifast stockinette 7.5cm Y \n", "23857 Comfifast stockinette 7.5cm Y \n", "23859 Comfifast stockinette 10.75cm Y \n", "23860 Comfifast stockinette 10.75cm Y \n", "23865 Acti-Fast 2-way stretch stockinette 5cm Y \n", "23866 Acti-Fast 2-way stretch stockinette 5cm Y \n", "23868 Acti-Fast 2-way stretch stockinette 7.5cm Y \n", "23869 Acti-Fast 2-way stretch stockinette 7.5cm Y \n", "23871 Acti-Fast 2-way stretch stockinette 10.75cm Y \n", "23872 Acti-Fast 2-way stretch stockinette 10.75cm Y \n", "23874 Tubifast 2-way stretch stockinette 5cm Y \n", "23875 Tubifast 2-way stretch stockinette 5cm Y \n", "23877 Tubifast 2-way stretch stockinette 7.5cm Y \n", "23878 Tubifast 2-way stretch stockinette 7.5cm Y \n", "23880 Tubifast 2-way stretch stockinette 10.75cm Y \n", "23881 Tubifast 2-way stretch stockinette 10.75cm Y \n", "23931 Coverflex stockinette 5cm Y \n", "23932 Coverflex stockinette 5cm Y \n", "23934 Coverflex stockinette 7.5cm Y \n", "23935 Coverflex stockinette 7.5cm Y \n", "23937 Coverflex stockinette 10.75cm Y \n", "23938 Coverflex stockinette 10.75cm Y \n", "23972 Easifast stockinette 5cm Y \n", "23973 Easifast stockinette 5cm Y \n", "23975 Easifast stockinette 7.5cm Y \n", "23976 Easifast stockinette 7.5cm Y \n", "23978 Easifast stockinette 10.75cm Y \n", "23979 Easifast stockinette 10.75cm Y \n", "23989 CliniFast stockinette 5cm Y \n", "23990 CliniFast stockinette 5cm Y \n", "23992 CliniFast stockinette 7.5cm Y \n", "23993 CliniFast stockinette 7.5cm Y \n", "23995 CliniFast stockinette 10.75cm Y \n", "23996 CliniFast stockinette 10.75cm Y \n", "24069 Comfifast MultiStretch 2-way stretch stockinette 5cm Y \n", "24070 Comfifast MultiStretch 2-way stretch stockinette 5cm Y \n", "24072 Comfifast MultiStretch 2-way stretch stockinette 7.5cm Y \n", "24073 Comfifast MultiStretch 2-way stretch stockinette 7.5cm Y \n", "24075 Comfifast MultiStretch 2-way stretch stockinette 10.75cm Y \n", "24076 Comfifast MultiStretch 2-way stretch stockinette 10.75cm Y \n", "24177 Fortuna Fast stockinette 5cm Y \n", "24178 Fortuna Fast stockinette 5cm Y \n", "24180 Fortuna Fast stockinette 7.5cm Y \n", "24181 Fortuna Fast stockinette 7.5cm Y \n", "24183 Fortuna Fast stockinette 10.75cm Y \n", "24184 Fortuna Fast stockinette 10.75cm Y \n", "24248 Flexifast stockinette 7.5cm Y \n", "24249 Flexifast stockinette 7.5cm Y \n", "24251 Flexifast stockinette 10.75cm Y \n", "24252 Flexifast stockinette 10.75cm Y \n", "26107 OptiLube sterile lubricating jelly Y \n", "26109 OptiLube sterile lubricating jelly Y \n", "26349 Jobst FarrowWrap 4000 compression system Y \n", "26350 Jobst FarrowWrap 4000 compression system Y \n", "26473 Elave Intensive cream Y \n", "26474 Elave Intensive cream Y \n", "26486 MyriBase gel Y \n", "26487 MyriBase gel Y \n", "26502 Aquadrate 10% cream Y \n", "26504 Aquadrate 10% cream Y \n", "26505 Hydromol Intensive 10% cream Y \n", "26507 Hydromol Intensive 10% cream Y \n", "26535 Diprobase cream Y \n", "26537 Diprobase cream Y \n", "30542 Adapt No-Sting medical adhesive remover aerosol Y \n", "30543 Adapt No-Sting medical adhesive remover aerosol Y \n", "34130 Day-drop deodorant Y \n", "34131 Day-drop deodorant Y \n", "35956 Adapt paste Y \n", "35957 Adapt paste Y " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "new_codes_mapping_to_2_new_codes = [code for code, count in new_code_counts.items() if count == 2]\n", "\n", "with pd.option_context('display.max_rows', None):\n", " display(bnf_mapping[bnf_mapping[\"new_code\"].isin(new_codes_mapping_to_2_new_codes)].sort_values(['new_code', 'old_code']))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Again, there are some patterns we can pick out:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### An old version of a presentation is combined with the current version of the same" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
old_codeold_namenew_codenew_namechanged
2240102000ACAAAPAPAtrop Sulf_Oral Susp 500mcg/5ml0102000ACAABABAAtropine 500micrograms/5ml oral solutionY
2260102000ACAABBBBAtrop Sulf_Oral Soln 500mcg/5ml (Old)0102000ACAABABAAtropine 500micrograms/5ml oral solutionY
\n", "
" ], "text/plain": [ " old_code old_name new_code \\\n", "224 0102000ACAAAPAP Atrop Sulf_Oral Susp 500mcg/5ml 0102000ACAABABA \n", "226 0102000ACAABBBB Atrop Sulf_Oral Soln 500mcg/5ml (Old) 0102000ACAABABA \n", "\n", " new_name changed \n", "224 Atropine 500micrograms/5ml oral solution Y \n", "226 Atropine 500micrograms/5ml oral solution Y " ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bnf_mapping[bnf_mapping[\"new_code\"] == \"0102000ACAABABA\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### An \"Oral Soln\" presentation is combined with an \"Oral Susp\" presentation" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
old_codeold_namenew_codenew_namechanged
2480102000L0AAAWAWGlycopyrronium Brom_Oral Soln 1mg/5ml0102000L0AAADADGlycopyrronium bromide 1mg/5ml oral liquidY
2490102000L0AAAXAXGlycopyrronium Brom_Oral Susp 1mg/5ml0102000L0AAADADGlycopyrronium bromide 1mg/5ml oral liquidY
\n", "
" ], "text/plain": [ " old_code old_name new_code \\\n", "248 0102000L0AAAWAW Glycopyrronium Brom_Oral Soln 1mg/5ml 0102000L0AAADAD \n", "249 0102000L0AAAXAX Glycopyrronium Brom_Oral Susp 1mg/5ml 0102000L0AAADAD \n", "\n", " new_name changed \n", "248 Glycopyrronium bromide 1mg/5ml oral liquid Y \n", "249 Glycopyrronium bromide 1mg/5ml oral liquid Y " ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bnf_mapping[bnf_mapping[\"new_code\"] == \"0102000L0AAADAD\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Presentations of different flavour are combined" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
old_codeold_namenew_codenew_namechanged
7210106010E0AAAHAHIspag Husk_Gran Eff Sach 3.5g Orange S/F0106010E0AAADADIspaghula husk 3.5g efferv gran sach gluten free sugar freeY
7220106010E0AAANANIspag Husk_Gran Eff Sach 3.5g Lem S/F0106010E0AAADADIspaghula husk 3.5g efferv gran sach gluten free sugar freeY
\n", "
" ], "text/plain": [ " old_code old_name \\\n", "721 0106010E0AAAHAH Ispag Husk_Gran Eff Sach 3.5g Orange S/F \n", "722 0106010E0AAANAN Ispag Husk_Gran Eff Sach 3.5g Lem S/F \n", "\n", " new_code \\\n", "721 0106010E0AAADAD \n", "722 0106010E0AAADAD \n", "\n", " new_name changed \n", "721 Ispaghula husk 3.5g efferv gran sach gluten free sugar free Y \n", "722 Ispaghula husk 3.5g efferv gran sach gluten free sugar free Y " ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bnf_mapping[bnf_mapping[\"new_code\"] == \"0106010E0AAADAD\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Presentations of different dose size are combined" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
old_codeold_namenew_codenew_namechanged
21970206010F0BFADCINitrolingual_P/Spy 400mcg (180 D)0206010F0BFABCJNitrolingual 400micrograms/dose pump sublingual sprayY
21980206010F0BFAECKNitrolingual_P/Spy 400mcg (75 D)0206010F0BFABCJNitrolingual 400micrograms/dose pump sublingual sprayY
\n", "
" ], "text/plain": [ " old_code old_name new_code \\\n", "2197 0206010F0BFADCI Nitrolingual_P/Spy 400mcg (180 D) 0206010F0BFABCJ \n", "2198 0206010F0BFAECK Nitrolingual_P/Spy 400mcg (75 D) 0206010F0BFABCJ \n", "\n", " new_name changed \n", "2197 Nitrolingual 400micrograms/dose pump sublingual spray Y \n", "2198 Nitrolingual 400micrograms/dose pump sublingual spray Y " ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bnf_mapping[bnf_mapping[\"new_code\"] == \"0206010F0BFABCJ\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Branded presentations are combined into a generic presentation" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
old_codeold_namenew_codenew_namechanged
13964090504700BBDGBCSolgar_Selenium Tab 200mcg090504700AABCBCSelenium 200microgram tabletsY
13965090504700BBFDBCHealthAid_Selenium Tab 200mcg090504700AABCBCSelenium 200microgram tabletsY
\n", "
" ], "text/plain": [ " old_code old_name new_code \\\n", "13964 090504700BBDGBC Solgar_Selenium Tab 200mcg 090504700AABCBC \n", "13965 090504700BBFDBC HealthAid_Selenium Tab 200mcg 090504700AABCBC \n", "\n", " new_name changed \n", "13964 Selenium 200microgram tablets Y \n", "13965 Selenium 200microgram tablets Y " ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bnf_mapping[bnf_mapping[\"new_code\"] == \"090504700AABCBC\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Total items and net_cost for each presentation affected by change 1 for November 2019" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
nameitemsnet_cost
bnf_code
090402000BBZGA0Aymes Shake_Pdr Sach 57g (Choc)210035708.40
21220000227Zerolatum Bath Add227711883.99
21220000233Cetraben Crm 50g370325562.71
1202010M0AAACACFluticasone Prop_Nsl Spy 50mcg (150 D)33827273936.93
20090000941CliniFast 7.5cm x 5m (Blue) Stkntte Elasctd Viscose Tublr309723247.00
\n", "
" ], "text/plain": [ " name \\\n", "bnf_code \n", "090402000BBZGA0 Aymes Shake_Pdr Sach 57g (Choc) \n", "21220000227 Zerolatum Bath Add \n", "21220000233 Cetraben Crm 50g \n", "1202010M0AAACAC Fluticasone Prop_Nsl Spy 50mcg (150 D) \n", "20090000941 CliniFast 7.5cm x 5m (Blue) Stkntte Elasctd Viscose Tublr \n", "\n", " items net_cost \n", "bnf_code \n", "090402000BBZGA0 2100 35708.40 \n", "21220000227 2277 11883.99 \n", "21220000233 3703 25562.71 \n", "1202010M0AAACAC 33827 273936.93 \n", "20090000941 3097 23247.00 " ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joined_bnf_codes = \", \".join(\"'{}'\".format(bnf_code) for bnf_code in bnf_mapping[\"old_code\"])\n", "\n", "sql = \"\"\"\n", "SELECT\n", " p.bnf_code,\n", " p.name,\n", " SUM(rx.items) AS items,\n", " SUM(rx.net_cost_pence) / 100 AS net_cost\n", "FROM public_draft.prescribing rx\n", "INNER JOIN public_draft.presentation p\n", " ON rx.bnf_code = p.bnf_code\n", "WHERE rx.month = '2019-11-01'\n", " AND p.bnf_code IN ({})\n", "GROUP BY p.bnf_code, p.name\n", "\"\"\".format(joined_bnf_codes)\n", "\n", "df1 = bq.cached_read(sql, csv_path='../bq-cache/2019_11_items_and_spending1.csv')\n", "df1.set_index('bnf_code', inplace=True)\n", "df1.head()" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "items1, net_cost1 = df1['items'], df1['net_cost']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Percentage of items and net_cost that are affected by change 1" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.3122145971679895" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "items1.sum() / total_items * 100" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.4312732104979142" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "net_cost1.sum() / total_net_cost * 100" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Distribution of presentations affected by change 1, by items" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.01 0.5469690625575322\n", "0.05 0.7838533562946104\n", "0.1 0.8878014685876371\n", "0.2 0.963701577257257\n" ] } ], "source": [ "# Find the proprtion of presentations accounted for by the top 1%, 5%, 10%, 20% of prescribing, by items\n", "for percentile in [0.01, 0.05, 0.1, 0.2]:\n", " print(percentile, items1[items1 > items1.quantile(1 - percentile)].sum() / items1.sum())" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZAAAAD4CAYAAADCb7BPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO3de3SV1Z3/8fc3d27hEiICAQGlVUBAieCttj9pBR1b/K3ltDqdEVtaZlZta6ddTrEzU1ftOEun/dXbz0FptUJ/VryMF6pWpF5aWysSROWmEhAlCCSEe0KSk3O+vz/OTjzG3M7J/eTzWuus53m+z36evTfGfLP3cznm7oiIiCQro6cbICIifZMSiIiIpEQJREREUqIEIiIiKVECERGRlGT1dAO6y8iRI33ChAk93QwRkT5l/fr1+929sLl9/SaBTJgwgZKSkp5uhohIn2Jm77e0T1NYIiKSEiUQERFJiRKIiIikpN9cAxERaUskEqGsrIyampqebkq3y8vLo6ioiOzs7HYfowQiIhKUlZUxZMgQJkyYgJn1dHO6jbtTWVlJWVkZEydObPdxmsISEQlqamooKCjoV8kDwMwoKChIeuSlBCIikqC/JY8GqfRbCURERJpVE4m2ul8JRESkFzn33HMB2LlzJ7/97W97tC0L73ut1f1KICIivcgrr7wC9I4EEmvjCwfbTCBmdp+ZlZvZpoTYz8zsbTN7y8weN7NhCfuuN7NSM3vHzOYlxOeHWKmZLUmITzSztSH+kJnlhHhu2C4N+ye0VYeISF83ePBgAJYsWcLLL7/MzJkzufXWW4lGo1x33XWcddZZTJ8+nXvuuQeAl156ic9+9rMsWLCASZMmsWTJEh544AFmz57N6aefzvbt2wF45JFHmDZtGjNmzOCCCy5oV1vqY60nkPbcxns/8H+BFQmxNcD17l5vZrcA1wM/NLMpwBXAVGAM8Acz+1Q45i7gC0AZsM7MVrn7FuAW4FZ3X2lmdwOLgKVhedDdTzGzK0K5r7RUh7u3PlknIpKEn/xuM1s+PNKp55wyJp8bvji1XWVvvvlmfv7zn/PUU08BsGzZMoYOHcq6deuora3lvPPO46KLLgLgzTffZOvWrYwYMYJJkybxjW98g9dee43bb7+dO++8k9tuu40bb7yR1atXM3bsWA4dOtSuNkTbSCBtjkDc/U/AgSax59y9Pmy+ChSF9QXASnevdff3gFJgdviUuvsOd68DVgILLH7Z/0Lg0XD8cuCyhHMtD+uPAnND+ZbqEBFJW8899xwrVqxg5syZzJkzh8rKSrZt2wbAWWedxejRo8nNzeXkk09uTCynn346O3fuBOC8887j6quv5pe//CXRaPv+3q6PdnwE0pavAw+F9bHEE0qDshAD2NUkPgcoAA4lJKPE8mMbjgkjncOhfGt1fIyZLQYWA4wfPz7ZfolIP9bekUJ3cXfuvPNO5s37+Kz9Sy+9RG5ubuN2RkZG43ZGRgb19fFfr3fffTdr167l6aefZtasWaxfv56CgoJW6+zwCKQ1ZvavQD3wQEfO01XcfZm7F7t7cWFhs6+zFxHplYYMGcLRo0cbt+fNm8fSpUuJRCIAvPvuu1RVVbX7fNu3b2fOnDnceOONFBYWsmvXrjaPqY/FWt2f8gjEzK4GLgXmujdeqt8NjEsoVhRitBCvBIaZWVYYhSSWbzhXmZllAUND+dbqEBFJC9OnTyczM5MZM2Zw9dVXc+2117Jz507OPPNM3J3CwkKeeOKJdp/vuuuuY9u2bbg7c+fOZcaMGW0e08YAJD4sausDTAA2JWzPB7YAhU3KTQXeBHKBicAOIJN4otoRYjmhzNRwzCPAFWH9buBbYf0a4O6wfgXwcGt1tNWHWbNmuYhIa7Zs2dLTTehRTft//i3PO1DiLfxebXMEYmYPAp8DRppZGXAD8buucoE14fH3V939n9x9s5k9HJJLPXCNh7ujzOzbwOqQUO5z982hih8CK83sP4ANwL0hfi/wGzMrJX4R/4qQ8FqsQ0REOk+0oxfR3f3KZsL3NhNrKH8TcFMz8WeAZ5qJ76CZu6jcvQb422TqEBGRztPWcyB6El1EJIG38fR1umqu3116F5aISDrJy8ujsrKy3yURD98HkpeX97F4tI1/B32hlIhIUFRURFlZGRUVFT3dlG7X8I2EiTp8DUREpL/Izs5O6hv50p2ugYiISEp0DURERFLS1pPoSiAiIvIJ7t7mk+hKICIi8gltTV+BEoiIiDSjrQvooAQiIiLN0AhERERSohGIiIikJKYEIiIiqdAIREREUqJrICIikpK2HiIEJRAREWmGRiAiIpISJRAREUmJEoiIiKREd2GJiEhKNAIREZGUaAQiIiIpieo2XhERSUW07fyhBCIiIp+kBwlFRCQlnXIR3czuM7NyM9uUEBthZmvMbFtYDg9xM7M7zKzUzN4yszMTjlkYym8zs4UJ8VlmtjEcc4eZWap1iIhI5+isi+j3A/ObxJYAz7v7ZOD5sA1wMTA5fBYDSyGeDIAbgDnAbOCGhoQQynwz4bj5qdQhIiKdJxrthATi7n8CDjQJLwCWh/XlwGUJ8RUe9yowzMxGA/OANe5+wN0PAmuA+WFfvru/6u4OrGhyrmTqEBGRThJpx1X0VK+BjHL3PWF9LzAqrI8FdiWUKwux1uJlzcRTqeMTzGyxmZWYWUlFRUU7uyYiIpHueA4kjBzarqkH6nD3Ze5e7O7FhYWFXdAyEZH0FKnvuhHIvoZpo7AsD/HdwLiEckUh1lq8qJl4KnWIiEgn6coprFVAw51UC4EnE+JXhTulzgYOh2mo1cBFZjY8XDy/CFgd9h0xs7PD3VdXNTlXMnWIiEgnaU8CyWqrgJk9CHwOGGlmZcTvproZeNjMFgHvA18OxZ8BLgFKgWrgawDufsDMfgqsC+VudPeGC/PfIn6n1wDg9+FDsnWIiEjnibTjLqw2E4i7X9nCrrnNlHXgmhbOcx9wXzPxEmBaM/HKZOsQEZHO0ZVTWCIiksaUQEREJCXtmcJSAhERkU+IRGNkZVirZZRARETkEyLRGNmZracIJRAREfmESNTJztQIREREkqQRiIiIpEQJREREUlIfdbKzNIUlIiJJqtMIREREUhGJxsjOUAIREZEkaQpLRERSoiksERFJiaawREQkJZrCEhGRlOg5EBERSUld1MnSFJaIiCQrEo2RoyksERFJVm19lNyszFbLKIGIiMgn1ERi5GVrCktERJJUE9EIREREUlAbiZGrEYiIiCQjFnPqojHyNAIREZFk1NbHAMjLVgIREZEk1ESiALqILiIiyWkYgXTpRXQz+2cz22xmm8zsQTPLM7OJZrbWzErN7CEzywllc8N2adg/IeE814f4O2Y2LyE+P8RKzWxJQrzZOkREpOO6fARiZmOB7wLF7j4NyASuAG4BbnX3U4CDwKJwyCLgYIjfGsphZlPCcVOB+cB/m1mmmWUCdwEXA1OAK0NZWqlDREQ6qKa+IYF07TWQLGCAmWUBA4E9wIXAo2H/cuCysL4gbBP2zzUzC/GV7l7r7u8BpcDs8Cl19x3uXgesBBaEY1qqQ0REOqgm0jCF1UUjEHffDfwc+IB44jgMrAcOuXt9KFYGjA3rY4Fd4dj6UL4gMd7kmJbiBa3U8TFmttjMSsyspKKiItWuioj0K7WRLh6BmNlw4qOHicAYYBDxKahew92XuXuxuxcXFhb2dHNERPqEmsbbeLvuLqzPA++5e4W7R4DHgPOAYWFKC6AI2B3WdwPjAML+oUBlYrzJMS3FK1upQ0REOqjhInpX3oX1AXC2mQ0M1yXmAluAF4HLQ5mFwJNhfVXYJux/wd09xK8Id2lNBCYDrwHrgMnhjqsc4hfaV4VjWqpDREQ6qMvvwnL3tcQvZL8ObAznWgb8EPi+mZUSv15xbzjkXqAgxL8PLAnn2Qw8TDz5PAtc4+7RcI3j28BqYCvwcChLK3WIiEgH1Uba9xxIVqt72+DuNwA3NAnvIH4HVdOyNcDftnCem4Cbmok/AzzTTLzZOkREpOOq6uL3KA3KbT1F6El0ERH5mOq6+BTWoFy9C0tERJJQVVtPVoaRk6l3YYmISBKq66IMzMkkfn9Uy5RARETkY47V1jO4jesfoAQiIiJNVNfVM1AJREREklVVG2VQTusX0EEJREREmqiuq2dgjkYgIiKSpGO10TafAQElEBERaaK6rr7NZ0BACURERJqoqo1qCktERJJXXVfPYI1AREQkGbGYhwcJNQIREZEkVEfa9x4sUAIREZEE1bXxN/FqBCIiIkmpCm/i1atMREQkKVWNIxBNYYmISBIaEogeJBQRkaR89GVSSiAiIpKExq+z1RSWiIgko/EaiEYgIiKSjKraMIWlEYiIiCTjaI0uoouISAoOH48wKCeT7My204MSiIiINDp8PMLQAdntKtuhBGJmw8zsUTN728y2mtk5ZjbCzNaY2bawHB7KmpndYWalZvaWmZ2ZcJ6Fofw2M1uYEJ9lZhvDMXeYmYV4s3WIiEjHHD4eIb87EghwO/Csu58KzAC2AkuA5919MvB82Aa4GJgcPouBpRBPBsANwBxgNnBDQkJYCnwz4bj5Id5SHSIi0gFHumMEYmZDgQuAewHcvc7dDwELgOWh2HLgsrC+AFjhca8Cw8xsNDAPWOPuB9z9ILAGmB/25bv7q+7uwIom52quDhER6YDumsKaCFQAvzazDWb2KzMbBIxy9z2hzF5gVFgfC+xKOL4sxFqLlzUTp5U6RESkA7orgWQBZwJL3f0MoIomU0lh5OAdqKNNrdVhZovNrMTMSioqKrqyGSIiaaG7EkgZUObua8P2o8QTyr4w/URYlof9u4FxCccXhVhr8aJm4rRSx8e4+zJ3L3b34sLCwpQ6KSLSX9REohyPRBk2sIsTiLvvBXaZ2adDaC6wBVgFNNxJtRB4MqyvAq4Kd2OdDRwO01CrgYvMbHi4eH4RsDrsO2JmZ4e7r65qcq7m6hARkRRVHK0F4IQhee0q3/ajhq37DvCAmeUAO4CvEU9KD5vZIuB94Muh7DPAJUApUB3K4u4HzOynwLpQ7kZ3PxDWvwXcDwwAfh8+ADe3UIeIiKSo/GgNAIX5ue0q36EE4u5vAMXN7JrbTFkHrmnhPPcB9zUTLwGmNROvbK4OERFJXfmR+AhkVDtHIHoSXUREAChvmMJq5whECURERADYd6SGrAxjxMCcdpVXAhERESA+Ahk5OJeMDGtXeSUQEREB4gmkvdNXoAQiIiJB+ZEaThiiBCIiIkmqOFpLYTvvwAIlEBERASLRGJVVdRqBiIhIcvYdiT9EeOJQjUBERCQJO/dXAzChYFC7j1ECERER3qusAmDCyIHtPkYJRERE2Lm/irzsjHa/xgSUQEREhHgCmVAwqN0PEYISiIiIEJ/CSub6ByiBiIj0e/XRGLsOVDNhpBKIiIgk4cNDNUSizsQkLqCDEoiISL/XcAfWSZrCEhGRZLwfEshETWGJiEgy3ttfxcCczKReYwJKICIi/d6OiipOKhiEWftv4QUlEBGRfs3d2bj7MNPG5Cd9rBKIiEg/VnbwOAeq6pgxbljSxyqBiIj0Y+vfPwjATCUQERFJxl+3V5Kfl8VpozWFJSIiSfjrjkrmTCogM4l3YDVQAhER6ad2HzrOBweqOWdSQUrHdziBmFmmmW0ws6fC9kQzW2tmpWb2kJnlhHhu2C4N+ycknOP6EH/HzOYlxOeHWKmZLUmIN1uHiIi03yul+wE45+QeSiDAtcDWhO1bgFvd/RTgILAoxBcBB0P81lAOM5sCXAFMBeYD/x2SUiZwF3AxMAW4MpRtrQ4REWmnP5fuZ+TgXD49akhKx3cogZhZEfA3wK/CtgEXAo+GIsuBy8L6grBN2D83lF8ArHT3Wnd/DygFZodPqbvvcPc6YCWwoI06RESkHWIx58/b9vOZySOT+g6QRB0dgdwG/AsQC9sFwCF3rw/bZcDYsD4W2AUQ9h8O5RvjTY5pKd5aHR9jZovNrMTMSioqKlLto4hI2tmy5wiVVXV8ZvLIlM+RcgIxs0uBcndfn3LtXczdl7l7sbsXFxYW9nRzRER6jZe3xa9/nH9K6gkkqwP1nwd8ycwuAfKAfOB2YJiZZYURQhGwO5TfDYwDyswsCxgKVCbEGyQe01y8spU6RESkHf5cWsGpJw7hhPz2fwd6UymPQNz9encvcvcJxC+Cv+DuXwVeBC4PxRYCT4b1VWGbsP8Fd/cQvyLcpTURmAy8BqwDJoc7rnJCHavCMS3VISIibThaE2Hdewc7NH0FXfMcyA+B75tZKfHrFfeG+L1AQYh/H1gC4O6bgYeBLcCzwDXuHg2ji28Dq4nf5fVwKNtaHSIi0oYX3i6nLhpj3tQTO3Qei/9Bn/6Ki4u9pKSkp5shItLj/vE3JWz44BCvXj+3zTuwzGy9uxc3t09PoouI9CNVtfX88d0K5k87MeXbdxsogYiI9COrN++lJhLjizPGdPhcSiAiIv3I4xt2UzR8ALPGD+/wuZRARET6ifKjNfyldD+XzRzb4ekrUAIREek3fvfmHmIOl53R8ekrUAIREek3ntiwm2lj8znlhNRentiUEoiISD9QWn6UjbsPc9nMZl8dmBIlEBGRfmDla7vIyjAWKIGIiEh71USiPPp6GfOmnkjhkNxOO68SiIhImlu9eS+HqiNcOXt8p55XCUREJM09sPYDxo8YyLkpfnVtS5RARETSWGn5MV577wBXzh7fKc9+JFICERFJY7/5606yM43LZxV1+rmVQERE0tTh4xEeWV/GF2eM6dSL5w2UQERE0tRD6z6gui7K18+b2CXnVwIREUlDkWiM5a+8z5yJI5g2dmiX1KEEIiKShh7fsJvdh46z+IJJXVaHEoiISJqpj8a468VSpo3N58JTT+iyepRARETSzBNvfMj7ldV898LJmHXurbuJlEBERNLI8boov3juHaaOyecLU0Z1aV1KICIiaWTpH7fz4eEabvji1C4dfYASiIhI2ig7WM09f9zOpdNHM3viiC6vTwlERCRN3PT0VszgR5ec1i31KYGIiKSBZzft4feb9vKdCyczZtiAbqlTCUREpI87VF3Hvz2xmalj8rv0uY+mUk4gZjbOzF40sy1mttnMrg3xEWa2xsy2heXwEDczu8PMSs3sLTM7M+FcC0P5bWa2MCE+y8w2hmPusHBFqKU6RET6oxuf2sKh6jr+6/LpZGd237igIzXVAz9w9ynA2cA1ZjYFWAI87+6TgefDNsDFwOTwWQwshXgyAG4A5gCzgRsSEsJS4JsJx80P8ZbqEBHpV558YzePvb6bb33uZKaO6ZpXlrQk5QTi7nvc/fWwfhTYCowFFgDLQ7HlwGVhfQGwwuNeBYaZ2WhgHrDG3Q+4+0FgDTA/7Mt391fd3YEVTc7VXB0iIv3G9opjXP/YRopPGs53507u9vo7ZaxjZhOAM4C1wCh33xN27QUanmQZC+xKOKwsxFqLlzUTp5U6mrZrsZmVmFlJRUVF8h0TEemlquvqueaB18nNyuDOvzuDrG6cumrQ4RrNbDDwP8D33P1I4r4wcvCO1tGa1upw92XuXuzuxYWFhV3ZDBGRbhONOd998A3e3XeUW78yk9FDu+euq6Y6lEDMLJt48njA3R8L4X1h+omwLA/x3cC4hMOLQqy1eFEz8dbqEBFJezc9vZU/bN3Hjy+dwuc+3XUvS2xLR+7CMuBeYKu7/yJh1yqg4U6qhcCTCfGrwt1YZwOHwzTUauAiMxseLp5fBKwO+46Y2dmhrquanKu5OkRE0tryV3Zy31/e4+pzJ3B1F31RVHtldeDY84B/ADaa2Rsh9iPgZuBhM1sEvA98Oex7BrgEKAWqga8BuPsBM/spsC6Uu9HdD4T1bwH3AwOA34cPrdQhIpK2nt20h5/8bjOfP+0E/v3SKT3dHCx+CSH9FRcXe0lJSU83Q0QkJc9s3MN3HtzA9KKh/L9FcxiU25G//9vPzNa7e3Fz+/QkuohIL/f0W/HkMXPcMFZ8fXa3JY+29I5WiIhIs55660OuXfkGZ44fxq+/NpvBvSR5gEYgIiK91sMlu7h25RvMGj+c+3tZ8gCNQEREep1YzLnrxVL+z5p3+czkkdz997N6zbRVot7XIhGRfmz/sVq+//Cb/OndCi6bOYb/unwGOVm9c7JICUREpJd4eVsFP3j4TQ4dj/Afl03jq3PGd/nX0naEEoiISA87UhPhP5/eysp1u5hUOIj7vzabKWPye7pZbVICERHpQS+8vY8fPbaJ8qM1/ONnJ/HPn/8UedmZPd2sdlECERHpAfuP1XLT01t5fMNuPjVqMPf8w3nMGDesp5uVFCUQEZFuFI05v33tA3727Nscj0T57oWncM2Fp5Cb1TdGHYmUQEREuskr2/dz8+/f5q2yw5wzqYCfXjaNU04Y3NPNSpkSiIhIF3tz1yF+/tw7vLxtPyfm53HbV2ayYOaYXn2HVXsogYiIdJE3dx3irhdLeW7LPkYMyuHf/uY0/v7sk/rMRfK2KIGIiHQid+cvpZUs/WMpfymtJD8vi+99fjKLzp/IkLzsnm5ep1ICERHpBFW19Ty+YTcr/rqTd/cd44QhufzoklP5uzkn9bp3WHWW9OyViEg3KS0/ym/X7uKR9bs4WlPPtLH5/Ozy6Xxp5pg+eWdVMpRARESSdKCqjlVv7OaxDbt5q+wwWRnGJaePZuG5J3Hm+OF9/uJ4eymBiIi0w6HqOl58p5xnNu7lxbfLqY85U0bn8++XTuFLM8ZQOCS3p5vY7ZRARESaEY05Wz48wivb9/PSOxW8tvMA0ZhzwpBcvn7+RP73GWM5bXTvf19VV1ICEREBItEY7+w9yvr3D/LK9v28uuMAh49HAPj0qCH802cn8YUpJzJ97FAyMvrHFFVblEBEpN+piUTZUVHF23uP8FbZYd4sO8TmD49QVx8DYNyIAcyfeiLnnlLAOZMKOCE/r4db3DspgYhI2qquq2fn/mq2lR9l275jvLvvKNvKj/F+ZRUxj5cZkJ3J6WOHsvCck5heNIyZ44YxbsTAnm14H6EEIiJ9Vk0kSsXRWj48dJwPDlSz60A1HzR+jrP/WG1j2cwMY0LBQE49cQhfnD6ayaOG8KlRQzi5cBBZmb3zG/96OyUQEelV3J2quigHjtVxoLqOymO17DtSy74jNew7UsPeIzXsPRxfP1gd+dixGQZjhg1g/IiBfP60Exg3YiAnFQxk8glDmDhyUK/9ati+SglERLpEfTTGsdp6jtY0fCLxZW18eeR4hMqqOg40+VRW1TVei0hkBiMH5zIqP5ei4QOYddJwTszPY9TQPEYPzWP8iIGMGTaAbI0muk2fTiBmNh+4HcgEfuXuN/dwk0R6vfpojLpojEi9UxuNUlcfo64+RiTq8fVolNr6GDWRKNV1UY7XRTkeiS+r66IfxSMf7auuq+d4JEZV7UeJorou2mZbBudmMWJQDiMG5TAqP4/TRudTELZHDMqhYHAOwwfG9xUOyVVy6GX6bAIxs0zgLuALQBmwzsxWufuWnm1Z6tw9YT0h3kKZT+5LjDd/rk/W2fYxLdXf9LQfqyfJ87Z27pba2PQEDsTciTnEYo57vHzM43H3eKxhOxa2PXE7tKPxHNBYrrllzD8q37jEicbin/qYE2tYulMfDcvYR2WisY9iDWUb97kTjYZlk2PqmxxXF40RicYaE0I8ScSXtY1JItZ48ThVuVkZDMjJZGB2Jnk5mQzMyWRAdiZDB2QzZmgeQ/KyGJKX/bFlfpPY4Nws8gdkpf2rPtJdn00gwGyg1N13AJjZSmAB0GwC2fzhEab8+Fkg+V+an/xF1Ym/aEWIz91nZlj8Y/bRekYGmRmQlZFBRsPSGraNrAwjI8PINMjOzGBwbhY5AzPIyYp/sjPDemYGuYnbCeu5mU3KZmWQnWkMzMlqTA4DwjIvO5NMPQMhQV9OIGOBXQnbZcCcxAJmthhYHDZrt/704k3d1LbuNBLY39ON6CLp2jf1q2/p7/06qaUdfTmBtMndlwHLAMysxN2Le7hJnS5d+wXp2zf1q29Rv1rWl69I7QbGJWwXhZiIiHSDvpxA1gGTzWyimeUAVwCrerhNIiL9Rp+dwnL3ejP7NrCa+G2897n75lYOWdY9Let26dovSN++qV99i/rVAmt6W6iIiEh79OUpLBER6UFKICIikpJ+kUDMbL6ZvWNmpWa2pKfbkwwzu8/Mys1sU0JshJmtMbNtYTk8xM3M7gj9fMvMzuy5lrfOzMaZ2YtmtsXMNpvZtSHep/tmZnlm9pqZvRn69ZMQn2hma0P7Hwo3fmBmuWG7NOyf0JPtb4uZZZrZBjN7Kmz3+X6Z2U4z22hmb5hZSYj16Z/DBmY2zMweNbO3zWyrmZ3TmX1L+wSS8MqTi4EpwJVmNqVnW5WU+4H5TWJLgOfdfTLwfNiGeB8nh89iYGk3tTEV9cAP3H0KcDZwTfjv0tf7Vgtc6O4zgJnAfDM7G7gFuNXdTwEOAotC+UXAwRC/NZTrza4FtiZsp0u//pe7z0x4LqKv/xw2uB141t1PBWYQ/2/XeX3zxncEpecHOAdYnbB9PXB9T7cryT5MADYlbL8DjA7ro4F3wvo9wJXNlevtH+BJ4u81S5u+AQOB14m/IWE/kBXijT+TxO8iPCesZ4Vy1tNtb6E/ReEXzoXAU4ClSb92AiObxPr8zyEwFHiv6b97Z/Yt7UcgNP/Kk7E91JbOMsrd94T1vcCosN4n+xqmN84A1pIGfQvTPG8A5cAaYDtwyN3rQ5HEtjf2K+w/DBR0b4vb7TbgX4CGd60XkB79cuA5M1sfXn8EafBzCEwEKoBfh2nHX5nZIDqxb/0hgaQ1j/+p0GfvxTazwcD/AN9z9yOJ+/pq39w96u4zif/FPhs4tYeb1GFmdilQ7u7re7otXeB8dz+T+BTONWZ2QeLOvvpzSHzkdyaw1N3PAKr4aLoK6Hjf+kMCScdXnuwzs9EAYVke4n2qr2aWTTx5PODuj4VwWvQNwN0PAS8Sn9oZZmYND+4mtr2xX2H/UKCym5vaHucBXzKzncBK4tNYt9P3+4W77w7LcuBx4kk/HT5P6DQAAAFMSURBVH4Oy4Ayd18bth8lnlA6rW/9IYGk4ytPVgELw/pC4tcPGuJXhbspzgYOJwxVexUzM+BeYKu7/yJhV5/um5kVmtmwsD6A+HWdrcQTyeWhWNN+NfT3cuCF8Fdhr+Lu17t7kbtPIP7/0Avu/lX6eL/MbJCZDWlYBy4CNtHHfw4B3H0vsMvMPh1Cc4l/3UXn9a2nL/R008WkS4B3ic9F/2tPtyfJtj8I7AEixP+iWER8Lvl5YBvwB2BEKGvE7zjbDmwEinu6/a3063ziQ+e3gDfC55K+3jdgOrAh9GsT8OMQnwS8BpQCjwC5IZ4XtkvD/kk93Yd29PFzwFPp0K/Q/jfDZ3PD74e+/nOY0L+ZQEn4eXwCGN6ZfdOrTEREJCX9YQpLRES6gBKIiIikRAlERERSogQiIiIpUQIREZGUKIGIiEhKlEBERCQl/x/N2GEm4mfCPAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ax = items1.sort_values().cumsum().reset_index().plot()\n", "ax.set_ylim(0);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Top 10 presentations affected by change 1, by items" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
nameitemsnet_cost
bnf_code
0906026M0AAAGAGThiamine HCl_Tab 100mg216610546200.82
0906027G0AAABABVit B Co Strong_Tab143969471005.47
21220000235Cetraben Crm 500g94487636215.76
21220000242Epimax Crm 500g72203192340.70
0407010H0AAAAAAParacet_Cap 500mg61869207848.16
21300000702Clinitas Carbomer Eye Gel48480102789.14
1202010M0AAACACFluticasone Prop_Nsl Spy 50mcg (150 D)33827273936.93
238031080063m Health Care_Cavilon Durable Barrier Crm 92g31552251428.39
21220000230Zerodouble Gel24672137567.10
0501011P0AAAFAFPhenoxymethylpenicillin_Soln 250mg/5ml21354223958.71
\n", "
" ], "text/plain": [ " name items \\\n", "bnf_code \n", "0906026M0AAAGAG Thiamine HCl_Tab 100mg 216610 \n", "0906027G0AAABAB Vit B Co Strong_Tab 143969 \n", "21220000235 Cetraben Crm 500g 94487 \n", "21220000242 Epimax Crm 500g 72203 \n", "0407010H0AAAAAA Paracet_Cap 500mg 61869 \n", "21300000702 Clinitas Carbomer Eye Gel 48480 \n", "1202010M0AAACAC Fluticasone Prop_Nsl Spy 50mcg (150 D) 33827 \n", "23803108006 3m Health Care_Cavilon Durable Barrier Crm 92g 31552 \n", "21220000230 Zerodouble Gel 24672 \n", "0501011P0AAAFAF Phenoxymethylpenicillin_Soln 250mg/5ml 21354 \n", "\n", " net_cost \n", "bnf_code \n", "0906026M0AAAGAG 546200.82 \n", "0906027G0AAABAB 471005.47 \n", "21220000235 636215.76 \n", "21220000242 192340.70 \n", "0407010H0AAAAAA 207848.16 \n", "21300000702 102789.14 \n", "1202010M0AAACAC 273936.93 \n", "23803108006 251428.39 \n", "21220000230 137567.10 \n", "0501011P0AAAFAF 223958.71 " ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df1.sort_values(['items'], ascending=False).head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Distribution of presentations affected by change 1, by net_cost" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.01 0.29625967968164973\n", "0.05 0.6613395896681702\n", "0.1 0.8151351449011885\n", "0.2 0.9391461893678298\n" ] } ], "source": [ "# Find the proprtion of presentations accounted for by the top 1%, 5%, 10%, 20% of prescribing, by net_cost\n", "for percentile in [0.01, 0.05, 0.1, 0.2]:\n", " print(percentile, net_cost1[net_cost1 > net_cost1.quantile(1 - percentile)].sum() / net_cost1.sum())" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ax = net_cost1.sort_values().cumsum().reset_index().plot()\n", "ax.set_ylim(0);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Top 10 presentations affected by change 1, by net_cost" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
nameitemsnet_cost
bnf_code
090402000BBLMA0Nutrison Pack_Energy M/Fibre2082666942.32
21220000235Cetraben Crm 500g94487636215.76
0906026M0AAAGAGThiamine HCl_Tab 100mg216610546200.82
0906027G0AAABABVit B Co Strong_Tab143969471005.47
090402000BBGYA0Nutrison Pack_Energy1236343100.29
1202020L0AACCCCSod Chlor_Inh Soln 0.9% 2.5ml Ud Amp8081279162.33
1202010M0AAACACFluticasone Prop_Nsl Spy 50mcg (150 D)33827273936.93
090402000BBGXA0Nutrison Pack_Conc Liq690271235.45
238031080063m Health Care_Cavilon Durable Barrier Crm 92g31552251428.39
1202010Y0BBAAAADymista_Nsl Spy 50mcg/137mcg (120 D)15323247796.40
\n", "
" ], "text/plain": [ " name items \\\n", "bnf_code \n", "090402000BBLMA0 Nutrison Pack_Energy M/Fibre 2082 \n", "21220000235 Cetraben Crm 500g 94487 \n", "0906026M0AAAGAG Thiamine HCl_Tab 100mg 216610 \n", "0906027G0AAABAB Vit B Co Strong_Tab 143969 \n", "090402000BBGYA0 Nutrison Pack_Energy 1236 \n", "1202020L0AACCCC Sod Chlor_Inh Soln 0.9% 2.5ml Ud Amp 8081 \n", "1202010M0AAACAC Fluticasone Prop_Nsl Spy 50mcg (150 D) 33827 \n", "090402000BBGXA0 Nutrison Pack_Conc Liq 690 \n", "23803108006 3m Health Care_Cavilon Durable Barrier Crm 92g 31552 \n", "1202010Y0BBAAAA Dymista_Nsl Spy 50mcg/137mcg (120 D) 15323 \n", "\n", " net_cost \n", "bnf_code \n", "090402000BBLMA0 666942.32 \n", "21220000235 636215.76 \n", "0906026M0AAAGAG 546200.82 \n", "0906027G0AAABAB 471005.47 \n", "090402000BBGYA0 343100.29 \n", "1202020L0AACCCC 279162.33 \n", "1202010M0AAACAC 273936.93 \n", "090402000BBGXA0 271235.45 \n", "23803108006 251428.39 \n", "1202010Y0BBAAAA 247796.40 " ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df1.sort_values(['net_cost'], ascending=False).head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Change 2: special container quantity changes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Affected presentations" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "There are 1822 changed records\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
BNF Codedm+d: BNF DescriptionMDR Quantitydm+d: Quantitydm+d: PACK Information
00106050B0BEAAA0Moviprep oral powder sachets1.04.04 sachets
10106050B0BEABA0Moviprep Orange oral powder sachets1.04.04 sachets
20107020J0AAAJAJLidocaine 1% / Hydrocortisone 0.2% spray1.030.030 mls
30107020J0BHAAAJPerinal spray1.030.030 mls
40107020J0BJAAAJGermoloids HC spray1.030.030 mls
\n", "
" ], "text/plain": [ " BNF Code dm+d: BNF Description MDR Quantity \\\n", "0 0106050B0BEAAA0 Moviprep oral powder sachets 1.0 \n", "1 0106050B0BEABA0 Moviprep Orange oral powder sachets 1.0 \n", "2 0107020J0AAAJAJ Lidocaine 1% / Hydrocortisone 0.2% spray 1.0 \n", "3 0107020J0BHAAAJ Perinal spray 1.0 \n", "4 0107020J0BJAAAJ Germoloids HC spray 1.0 \n", "\n", " dm+d: Quantity dm+d: PACK Information \n", "0 4.0 4 sachets \n", "1 4.0 4 sachets \n", "2 30.0 30 mls \n", "3 30.0 30 mls \n", "4 30.0 30 mls " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "quantity_change = pd.read_excel('../data/Special Container size mismatch between MDR and dm+d latest.xlsx')\n", "print(f\"There are {len(quantity_change)} changed records\")\n", "display(quantity_change.head())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Total items and net_cost for each presentation affected by change 2 for November 2019" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
nameitemsnet_cost
bnf_code
21300000108Hyabak Sod Hyaluronate Eye Dps 10ml P/F15528162125.09
21300000401Liquifilm 1.4% Polyvinyl Alcohol Eye Dps 15ml1165629085.10
21300000711Xailin Night Paraf Eye Oint P/F 5g43421156743.40
23150901504CliniMed_Appeel No Sting Medical Adh Remover A/Spy 50ml6317183511.12
1203010E0AAABABBenzydamine HCl_Spy 0.15% 30ml S/F2140667182.84
\n", "
" ], "text/plain": [ " name \\\n", "bnf_code \n", "21300000108 Hyabak Sod Hyaluronate Eye Dps 10ml P/F \n", "21300000401 Liquifilm 1.4% Polyvinyl Alcohol Eye Dps 15ml \n", "21300000711 Xailin Night Paraf Eye Oint P/F 5g \n", "23150901504 CliniMed_Appeel No Sting Medical Adh Remover A/Spy 50ml \n", "1203010E0AAABAB Benzydamine HCl_Spy 0.15% 30ml S/F \n", "\n", " items net_cost \n", "bnf_code \n", "21300000108 15528 162125.09 \n", "21300000401 11656 29085.10 \n", "21300000711 43421 156743.40 \n", "23150901504 6317 183511.12 \n", "1203010E0AAABAB 21406 67182.84 " ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joined_bnf_codes = \", \".join(\"'{}'\".format(bnf_code) for bnf_code in quantity_change['BNF Code'])\n", "\n", "sql = \"\"\"\n", "SELECT\n", " p.bnf_code,\n", " p.name,\n", " SUM(rx.items) AS items,\n", " SUM(rx.net_cost_pence) / 100 AS net_cost\n", "FROM public_draft.prescribing rx\n", "INNER JOIN public_draft.presentation p\n", " ON rx.bnf_code = p.bnf_code\n", "WHERE rx.month = '2019-11-01'\n", " AND p.bnf_code IN ({})\n", "GROUP BY p.bnf_code, p.name\n", "\"\"\".format(joined_bnf_codes)\n", "\n", "df2 = bq.cached_read(sql, csv_path='../bq-cache/2019_11_items_and_spending2.csv')\n", "df2.set_index('bnf_code', inplace=True)\n", "df2.head()" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "items2, net_cost2 = df2['items'], df2['net_cost']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Percentage of items and net_cost that are affected by change 2" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.4898494160168612" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "items2.sum() / total_items * 100" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3.2417807563555776" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "net_cost2.sum() / total_net_cost * 100" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Distribution of presentations affected by change 2, by items" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.01 0.4380237215973298\n", "0.05 0.7494982963240924\n", "0.1 0.8655276301147049\n", "0.2 0.9481320551518887\n" ] } ], "source": [ "# Find the proprtion of presentations accounted for by the top 1%, 5%, 10%, 20% of prescribing, by items\n", "for percentile in [0.01, 0.05, 0.1, 0.2]:\n", " print(percentile, items2[items2 > items2.quantile(1 - percentile)].sum() / items2.sum())" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ax = items2.sort_values().cumsum().reset_index().plot()\n", "ax.set_ylim(0);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Top 10 presentations affected by change 2, by items" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
nameitemsnet_cost
bnf_code
1108010F0AAAAAAHypromellose_Eye Dps 0.3%118151156821.91
120101050BCAAABOtomize_Ear Spy 5ml112613398207.52
21300000111Hylo-Forte Sod Hyaluronate Eye Dps 0.2% P/F 10ml829551033619.00
1106000ACAAAAAABrinzolamide_Eye Dps 10mg/ml73444254184.56
21220000311Diprobase Crm 500g (App)43775324351.84
21300000711Xailin Night Paraf Eye Oint P/F 5g43421156743.40
23804708007Smith & Nephew_Proshield Plus Skin Prote 115g41716536024.44
21300000104Hylo-Tear Sod Hyaluronate Eye Dps 0.1% P/F 10ml38514417520.00
0301020S0BBAAAASeebri_Breezhaler Inh Cap 55mcg + Dev29304921215.28
23803068001Medicareplus_Medi Derma-S Barrier Crm 90g26603188496.00
\n", "
" ], "text/plain": [ " name items \\\n", "bnf_code \n", "1108010F0AAAAAA Hypromellose_Eye Dps 0.3% 118151 \n", "120101050BCAAAB Otomize_Ear Spy 5ml 112613 \n", "21300000111 Hylo-Forte Sod Hyaluronate Eye Dps 0.2% P/F 10ml 82955 \n", "1106000ACAAAAAA Brinzolamide_Eye Dps 10mg/ml 73444 \n", "21220000311 Diprobase Crm 500g (App) 43775 \n", "21300000711 Xailin Night Paraf Eye Oint P/F 5g 43421 \n", "23804708007 Smith & Nephew_Proshield Plus Skin Prote 115g 41716 \n", "21300000104 Hylo-Tear Sod Hyaluronate Eye Dps 0.1% P/F 10ml 38514 \n", "0301020S0BBAAAA Seebri_Breezhaler Inh Cap 55mcg + Dev 29304 \n", "23803068001 Medicareplus_Medi Derma-S Barrier Crm 90g 26603 \n", "\n", " net_cost \n", "bnf_code \n", "1108010F0AAAAAA 156821.91 \n", "120101050BCAAAB 398207.52 \n", "21300000111 1033619.00 \n", "1106000ACAAAAAA 254184.56 \n", "21220000311 324351.84 \n", "21300000711 156743.40 \n", "23804708007 536024.44 \n", "21300000104 417520.00 \n", "0301020S0BBAAAA 921215.28 \n", "23803068001 188496.00 " ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2.sort_values(['items'], ascending=False).head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Distribution of presentations affected by change 2, by net_cost" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.01 0.3149874674118635\n", "0.05 0.7015026780245146\n", "0.1 0.8425765622116822\n", "0.2 0.9406182197270274\n" ] } ], "source": [ "# Find the proprtion of presentations accounted for by the top 1%, 5%, 10%, 20% of prescribing, by net_cost\n", "for percentile in [0.01, 0.05, 0.1, 0.2]:\n", " print(percentile, net_cost2[net_cost2 > net_cost2.quantile(1 - percentile)].sum() / net_cost2.sum())" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAEDCAYAAAAlRP8qAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAec0lEQVR4nO3deXQc5Z3u8e9Puy1ZNpLlBS9YBoMBr9hmCcEhTBa2QLiBYC43DKtPbsgdZzlkyGSbSc7JTJK5WQiZcElIcskQcFiGOATITQIEEoKxMLbxwmIbLzK2JUvW2lKrl9/9o0u2LGSrZbXUi57POX26q+rtqreL8sOrt6reMndHRESyX166KyAiIqmhQBcRyREKdBGRHKFAFxHJEQp0EZEcoUAXEckRaQ10M/uZmdWZ2cYkyn7PzNYFrzfNrGk46igiki0sndehm9lSoA24393nDOB7/wtY6O43D1nlRESyTFpb6O7+PNDYc56ZnWxmT5vZK2b2gpnN7uOr1wEPDkslRUSyREG6K9CHe4FPuvtbZnYO8B/ARd0LzewkoBp4Jk31ExHJSBkV6GZWBrwHeNjMumcX9yq2DHjE3WPDWTcRkUyXUYFOoguoyd0XHKPMMuD2YaqPiEjWyKjLFt29BXjbzK4BsIT53cuD/vQTgL+lqYoiIhkr3ZctPkginE8zs1ozuwW4HrjFzNYDm4Are3xlGfCQa4hIEZF3SetliyIikjoZ1eUiIiLHL20nRcePH+8zZsxI1+ZFRLLSK6+8csDdq/palrZAnzFjBjU1NenavIhIVjKznUdbpi4XEZEcoUAXEckR/Qa6mU0zs2fNbLOZbTKzFX2UudDMmnuMhvjVoamuiIgcTTJ96FHg8+6+1szGAK+Y2R/cfXOvci+4++Wpr6KIZLtIJEJtbS2dnZ3prkrWKCkpYerUqRQWFib9nX4D3d33AnuDz61mtgWYAvQOdBGRPtXW1jJmzBhmzJhBj3Ga5CjcnYaGBmpra6murk76ewPqQzezGcBCYHUfi88zs/Vm9pSZnXmU7y83sxozq6mvrx/IpkUki3V2dlJZWakwT5KZUVlZOeC/aJIO9GAkxEeBzwRjrvS0FjjJ3ecDPwQe72sd7n6vuy9298VVVX1eRikiOUphPjDHs7+SCnQzKyQR5g+4+2O9l7t7i7u3BZ+fBArNbPyAayMiIkfV0XXsUcOTucrFgPuALe7+3aOUmRSUw8zODtbbMODaiohkiMcff5zNm4f+VOE3v/nNpMve9IuXj7k8mRb6+cAngIt6XJZ4qZl90sw+GZS5GtgYjJB4F7BMIyKKSDbLxEDviMSPubzfQHf3v7i7ufs8d18QvJ5093vc/Z6gzN3ufqa7z3f3c939xaRrKCIyDHbs2MHpp5/ObbfdxplnnsmHPvQhOjo62LZtGxdffDGLFi3iggsu4PXXX+fFF19k1apV3HHHHSxYsIBt27b1uc6tW7fygQ98gPnz53PWWWexbds23J077riDOXPmMHfuXFauXAnA3r17Wbp0KQsWLGDOnDm88MIL3HnnnXR0dLBgwQKuv/76fn9DZz9dLpn2xCIRyXH/8ttNbH6n93UVg3PGieV87SN9Xlx3hLfeeosHH3yQn/zkJ3z84x/n0Ucf5ec//zn33HMPs2bNYvXq1XzqU5/imWee4YorruDyyy/n6quvPur6rr/+eu68806uuuoqOjs7icfjPPbYY6xbt47169dz4MABlixZwtKlS/nVr37Fhz/8Yb70pS8Ri8UIhUJccMEF3H333axbty6p3xmKRI+5XIEuIiNGdXU1CxYknnC5aNEiduzYwYsvvsg111xzqEw4HE5qXa2trezZs4errroKSNwIBPCXv/yF6667jvz8fCZOnMj73vc+1qxZw5IlS7j55puJRCJ89KMfPVSPgejoOnaXiwJdRIZVMi3poVJcfPiZ8/n5+ezfv59x48Yl3UIejKVLl/L888/zu9/9jhtvvJHPfe5z3HDDDQNaR0fXsVvoGpxLREas8vJyqqurefjhh4HEHZrr168HYMyYMbS2th71u2PGjGHq1Kk8/njitptwOHyoG2XlypXEYjHq6+t5/vnnOfvss9m5cycTJ07ktttu49Zbb2Xt2rUAFBYWEolE+q2ru9MRGeRliyIiueyBBx7gvvvuY/78+Zx55pn85je/AWDZsmV85zvfYeHChUc9KfrLX/6Su+66i3nz5vGe97yHffv2cdVVVzFv3jzmz5/PRRddxLe//W0mTZrEc889x/z581m4cCErV65kxYrEOIfLly9n3rx5/Z4U7YrFifdz7WDanim6ePFi1wMuREaGLVu2cPrpp6e7Glmn535rCnWx4Ot/YOe3Ln/F3Rf3VV4tdBGRLNBfdwvopKiISL9uv/12/vrXvx4xb8WKFdx0003DVof+bvsHBbqISL9+9KMfpbsKhJIIdHW5iMiw0GggA9N7f3Um0eWiQBeRIVdSUkJDQ4NCPUndD7jovlkJkmuhq8tFRIbc1KlTqa2tRQ+2SV73I+i66aSoiGSEwsLCAT1KTd5NXS4iIjlCJ0VFRHJEMpctKtBFRLJAqJ+BuUCBLiKSFdrCMQrzj/3gaAW6iEgWCHVFKS0+9nUsCnQRkSzQFo5SWqRAFxHJeu3hKKXF+ccso0AXEckCoa6YulxERHJBWzhKmQJdRCT7tYejjC5Sl4uISNZrD6vLRUQkJ7R3qctFRCQnJK5yUaCLiGS1cDRGJOaUqg9dRCS7hcKJgbnUQhcRyXJt4cTAXAp0EZEs1x6MtKhb/0VEslz7oS4X9aGLiGS19qDLRZctiohkufZU9aGb2TQze9bMNpvZJjNb0UcZM7O7zGyrmW0ws7OOt+IiInKk9uDxc/31oR97aUIU+Ly7rzWzMcArZvYHd9/co8wlwKzgdQ7w4+BdREQG6XALfZB96O6+193XBp9bgS3AlF7FrgTu94SXgHFmNvk46i0iIr0MyWWLZjYDWAis7rVoCrC7x3Qt7w59zGy5mdWYWU19ff1ANi0iMmKFuqLk5xnFBceO7KQD3czKgEeBz7h7y/FUyt3vdffF7r64qqrqeFYhIjLitIdjlBblY5aCh0SbWSGJMH/A3R/ro8geYFqP6anBPBERGaRkHm4ByV3lYsB9wBZ3/+5Riq0CbgiudjkXaHb3vQOpsIiI9C3U1f9Ii5DcVS7nA58AXjOzdcG8fwKmA7j7PcCTwKXAViAE3HQcdRYRkT60hWOMTkWgu/tfgGN23Li7A7cnXTsREUlaezhKWT+XLILuFBURyXjt4Wi/NxWBAl1EJOO1dkYpK1Ggi4hkveaOCONGFfVbToEuIpLBIrE4beEoY0cV9ltWgS4iksFaOiIAjButQBcRyWpNCnQRkdzQHAR6ubpcRESyW3MoaKEr0EVEslt3C10nRUVEslxTqAuAcaN12aKISFbrPilarhuLRESyW3NHhDHFBRTk9x/XCnQRkQzWHIowNolLFkGBLiKS0Zo6IkmdEAUFuohIRmvuiCR1UxEo0EVEMlpTqEstdBGRXNDcEWFsEiMtggJdRCRjxePOwVCEylIFuohIVmvpjBCLOyco0EVEsltDe+IuUbXQRUSy3MEg0NVCFxHJcmqhi4jkCLXQRURyRHcLvSKJkRZBgS4ikrEOtncxqjCfUUX5SZVXoIuIZKjG9i4qkuxuAQW6iEjGagwp0EVEcoJa6CIiOUKBLiKSA9ydhjYFuohI1msLR+mIxJgwpjjp7yjQRUQyUF1rGIAJ5Qp0EZGsVtcSBPqYkqS/02+gm9nPzKzOzDYeZfmFZtZsZuuC11eT3rqIiPSprrUTYEBdLgVJlPkFcDdw/zHKvODulye9VREROab61iFoobv780DjcddKREQGbH9LJ8UFeZSPSqbdnZCqPvTzzGy9mT1lZmcerZCZLTezGjOrqa+vT9GmRURyT11rmAnlxZhZ0t9JRaCvBU5y9/nAD4HHj1bQ3e9198XuvriqqioFmxYRyU11LeEBdbdACgLd3VvcvS34/CRQaGbjB7teEZGRrK61c0AnRCEFgW5mkyz4m8DMzg7W2TDY9YqIjGR1reEBB3q/ve1m9iBwITDezGqBrwGFAO5+D3A18D/NLAp0AMvc3QdWdRER6RbqitLaGWVC+cC6XPoNdHe/rp/ld5O4rFFERFJgX3PiGvTJY4e5D11ERFJrX0si0CcNsIWuQBcRyTD7g0CfqBa6iEh229usFrqISE7Y39zJmJICSouTv0sUFOgiIhlnX0vngFvnoEAXEck4+1rCTBpg/zko0EVEMs6+5g4mqoUuIpLdorE49a3hAV+DDgp0EZGMcqCti7ijFrqISLbb29wBDPySRVCgi4hklO6binRSVEQky+1pOr5xXECBLiKSUXY3higrLqCitGjA31Wgi4hkkF2NIaZVjB7Qo+e6KdBFRDLIrsYQ0ytGHdd3FegiIhkiHnd2NYY4qbL0uL6vQBcRyRB1rWG6onGmVYw+ru8r0EVEMsSuxhAA0xXoIiLZTYEuIpIjdjWGyDOYMk4nRUVEstruxhCTx46iqOD4olmBLiKSIXY2tB93dwso0EVEMoK7s62+nZlVx3fJIijQRUQyQkN7F80dEU6uKjvudSjQRUQywLa6NgBOnqBAFxHJalvrE4F+igJdRCS7batrZ1RhPpOP48EW3RToIiIZYFt9GzOrSsnLG/goi90U6CIiGeCNfa3MGkR3CyjQRUTSrq6lk30tncydOm5Q61Ggi4ik2fraZgDmTx07qPUo0EVE0mxDbRP5ecaZJyrQRUSy2vraZmZNKGNUUf6g1tNvoJvZz8yszsw2HmW5mdldZrbVzDaY2VmDqpGIyAji7myobWL+IPvPIbkW+i+Ai4+x/BJgVvBaDvx40LUSERkhdjd20BSKMG/a4LpbIIlAd/fngcZjFLkSuN8TXgLGmdnkQddMRGQEWLvrIAALpg1PC70/U4DdPaZrg3kiItKPmp2NlBUXMHtS+aDXNawnRc1suZnVmFlNfX39cG5aRCQj1ew4yMLp48gfxB2i3VIR6HuAaT2mpwbz3sXd73X3xe6+uKqqKgWbFhHJXi2dEd7Y38qik05IyfpSEeirgBuCq13OBZrdfW8K1isiktNe3dWEOyw+qSIl6yvor4CZPQhcCIw3s1rga0AhgLvfAzwJXApsBULATSmpmYhIjntlRyN5BgumD/6EKCQR6O5+XT/LHbg9JbURERlBanYeZPakcsqK+43ipOhOURGRNIjE4qzb3cTiGanpPwcFuohIWmyobSbUFePcmZUpW6cCXUQkDV7a3gDA2dWpOSEKCnQRkbR4aXsDp04sY3xZccrWqUAXERlmXdE4NTsOcl4Ku1tAgS4iMuxe29NERyS1/eegQBcRGXYvbU+Md3iOAl1EJLu9uO0AsyeNoaK0KKXrVaCLiAyjUFeUNW8f5L2njE/5uhXoIiLDaPX2RrpicZaemvoBChXoIiLD6M9v1lNckJfS68+7KdBFRIbR82/Vc87MSkoKB/dA6L4o0EVEhkntwRDb69tZOiv1/eegQBcRGTZ/fjPxpLYLTxuaB/wo0EVEhsnTG/cxo3I0J1eVDcn6FegiIsOgoS3Mi9sauGzeZMwG//zQvijQRUSGwdOb9hGLO5fNPXHItqFAFxEZBk+s38vM8aWcPnnMkG1DgS4iMsT2NHXw0tsNfGT+iUPW3QIKdBGRIffYK7W4w9WLpg7pdhToIiJDyN15ZG0t586sYFrF6CHdlgJdRGQIrdlxkJ0NIa5ZNG3It6VAFxEZQg+t2UVpUT6XzJ005NtSoIuIDJH61jBPrN/LxxZNZXRRwZBvT4EuIjJEHli9k65YnBvfM2NYtqdAFxEZAuFojP98aScXzZ7AzCG61b83BbqIyBB4/NU9HGjr4qbzZwzbNhXoIiIpFonFufvZrcydMnZIHjV3NAp0EZEU+6+1e9jd2MFnPjBrSO8M7U2BLiKSQl3ROD989i3mThnLRbMnDOu2FegiIin0ixffZndjB5/70KnD2joHBbqISMrUtXTygz++xUWzJ/D+04a3dQ4KdBGRlPnW028QiTlfufyMtGxfgS4ikgJrdjTy6NpabrmgmurxpWmpQ1KBbmYXm9kbZrbVzO7sY/mNZlZvZuuC162pr6qISGbqjMT4x0c3MGXcKD79/lPSVo9+Bxcws3zgR8AHgVpgjZmtcvfNvYqudPdPD0EdRUQy2t3PbGV7fTv333w2pcVDP2bL0STTQj8b2Oru2929C3gIuHJoqyUikh02vdPMPX/exsfOmsrSU6vSWpdkAn0KsLvHdG0wr7ePmdkGM3vEzPoc+NfMlptZjZnV1NfXH0d1RUQyR0dXjBUPraOitIgvX3Z6uquTspOivwVmuPs84A/A/+2rkLvf6+6L3X1xVVV6/08mIjJY//rUFrbWtfG/Pz6fE0qL0l2dpAJ9D9CzxT01mHeIuze4eziY/CmwKDXVExHJTM++Xsf9f9vJzedXc8GszGigJhPoa4BZZlZtZkXAMmBVzwJmNrnH5BXAltRVUUQksxxoC3PHI+uZPWkMX7j4tHRX55B+T8e6e9TMPg38HsgHfubum8zs60CNu68C/sHMrgCiQCNw4xDWWUQkbWJx57Mr19HSGeU/bz2HksL8dFfpkKSur3H3J4Ene837ao/PXwS+mNqqiYhknu//8U1eeOsA//bf5jJ7Unm6q3ME3SkqIpKkZ17fzw+f2co1i6Zy7ZI+L+ZLKwW6iEgSdhxo5zMPreOMyeV846Nzhn0kxWQo0EVE+tHQFubGn79MQX4e9/yPRRnVb96TAl1E5Bg6IzFuvb+Gvc2d/OSGxUyvHJ3uKh1V+gYdEBHJcNFYnBUPvcq63U38+PpFLDrphHRX6ZjUQhcR6UM0Fuezv17P7zft52uXn8HFcyalu0r9UqCLiPQSizuff3g9v13/DndeMpsbz69Od5WSoi4XEZEeOiMxPvfrdTz52j6+cPFpfPJ9J6e7SklToIuIBJpDEW67v4aXdzTy5ctO59YLZqa7SgOiQBcRATbuaeZTD6xlX3Mnd123kCvmn5juKg2YAl1ERjR359c1u/nKbzZRWVrEg8vPYdFJFemu1nFRoIvIiNUcivDPv93Ef726hwtmjef71y6gsqw43dU6bgp0ERmRnnujjn98dAMNbV187oOncvv7TyE/L/Nu5x8IBbqIjCjNoQj/+tQWHlqzm1MnlvHTG5Ywd+rYdFcrJRToIjIixOLOyjW7+c7vX6e5I8In33cyn/3gLIoLMnNcluOhQBeRnLd6ewPf+N1mNu5p4ezqCv75I2dyxomZNZZ5KijQRSRnvVbbzL//vzf485v1TB5bwg+vW8jl8yZn5NC3qaBAF5Gc81ptM//x3Fae2riPcaML+adLZ/OJc2cwqih3ulf6okAXkZwQjzvPvVnHvc9v56XtjYwpLmDF383ilguqKS8pTHf1hoUCXUSyWktnhMdf3cP9f9vJ1ro2ThxbwpcvO51rl0xjzAgJ8m4KdBHJShtqm3jgpV2sWv8OHZEYc6aU8/1rF3DZvMkU5o/MgWQV6CKSNbbVt/HE+r387rV3eHN/G6MK87lywYn893OmM2/quHRXL+0U6CKS0bbXt/HUxn08sWEvW/a2YAZLTqrgGx+dw5ULThwx/ePJUKCLSEbpjMR4aXsDz71Rz7Nv1LGzIQTAwunj+MrlZ3DZ3MlMGluS5lpmJgW6iKRVOBpjQ20zL7/dyOq3G3n57QY6I3FKCvM4b2Ylt7y3motmT2DqCZn7cOZMoUAXkWFV3xpm4zvNvLrzIKvfbuTV3U10ReMAnDZxDMuWTOfC06o4d2YlJYW5fd14qinQRWRIuDv7W8Js3tvMa7UtvLanmY17mtnX0glAnsGcKWO54dyTOLu6giUzKjihtCjNtc5uCnQRGZRILM7Ohna21rWzrb6NbXVtiff6dtrCUQDMYOb4Us6ZWcHcKWOZE7zKihVBqaS9KSL96ozEqD3Ywe6DIXY3htjVEGJnY4ht9W3saggRjfuhspPHlnByVRkfO2sKJ08oY/akcs44sVzhPQy0h0VGOHenKRRhX0sn+4PXO02dh8J7d2PHoW6SbsUFeUyvGM2pE8ZwyZxJnDKhjJOryphZVabgTiPteZEc1dEV40BbmMb2LhrawzS0ddHY3kV9a5j9rWH2N3ceCvFwcFKymxlMKi9hWsVozj9lPNMrRjO9chTTK0Yz7YTRVI0pztkRC7OZAl0kC3RGYjR3RGgKRYL3LpqC94a2Lhrau2gIwvtAENwdkVif6yopzGNSeQkTyktYMG0ck8aWMLG8hInlxUwqT3yeUF6cUw9+GCkU6CJDxN0JR+OEumK0h6O0d0UT7+EYoa4obcF7e/jw8tbOKM0dEZpDEZo6ug6FeO8WdE9FBXlUlhZRWVZERWkxJ1eVUVFaRGVZcY/5RVSWFlNZVsToony1rnNUUoFuZhcDPwDygZ+6+7/1Wl4M3A8sAhqAa919R2qrKjIw8bjTFYsTicWJxJxoLB5MO5FYnK7o4WWRYFk4EqMzEiccPfK9MxIjHD3yvXt5uGe5YDrUFaW9K0asx8nCY8kzKC0uoKy4gLGjChk3upDq8aWMG1XEuNGFlAfzxo4qPDSvu1xZcYECWoAkAt3M8oEfAR8EaoE1ZrbK3Tf3KHYLcNDdTzGzZcC3gGuHosKp5u49PgfvfSw/cl6Pz8ESP8q/28PrfPd2eq73iHr0tS1PrCPuEHcn7o57YnnP6cTnxPp6vh/tO32V7fM7OPH4keuPuROLJ17RuBMP3mPxXvPdicacWDyeWO5OLNZjWTwx3b2+w+uKH7Ge7vdId0hHg8/xw597BniyYZqMgjyjuCCPksL8w++HPucxbnQRJYWHl48uKqC0OD/xXpRPaXHB4Vf3dFEBo4vzKSsuoLggT6Esg5ZMC/1sYKu7bwcws4eAK4GegX4l8M/B50eAu83MvGdK9bLpnRbO+OrT/YbjEStIVThK2hTmG3lmFOQZeXmJ9/y8PPLzoCAvj/w8O/QqyAvK5gfzLPFeVlxAYX4ehflGYX4eRfl5iemCXtP5eRTkWzBtFBbk9VqemFeUn0dBXuJzSUE+JYV5FBfmU1Jw+L1ghA7HKtklmUCfAuzuMV0LnHO0Mu4eNbNmoBI40LOQmS0HlgeT4S3fuGTj8VQ6x42n134TQPvlaLRf3i3X98lJR1swrCdF3f1e4F4AM6tx98XDuf1soP3SN+2Xvmm/vNtI3ifJ/B25B5jWY3pqMK/PMmZWAIwlcXJURESGSTKBvgaYZWbVZlYELANW9SqzCvj74PPVwDPH6j8XEZHU67fLJegT/zTwexKXLf7M3TeZ2deBGndfBdwH/NLMtgKNJEK/P/cOot65TPulb9ovfdN+ebcRu09MDWkRkdyga7FERHKEAl1EJEekJdDN7GIze8PMtprZnemoQzqY2TQze9bMNpvZJjNbEcyvMLM/mNlbwfsJwXwzs7uC/bTBzM5K7y8YWmaWb2avmtkTwXS1ma0Ofv/K4KQ8ZlYcTG8Nls9IZ72HkpmNM7NHzOx1M9tiZufpeAEz+2zwb2ijmT1oZiU6XtIQ6D2GErgEOAO4zszOGO56pEkU+Ly7nwGcC9we/PY7gT+5+yzgT8E0JPbRrOC1HPjx8Fd5WK0AtvSY/hbwPXc/BThIYogJ6DHUBPC9oFyu+gHwtLvPBuaT2D8j+ngxsynAPwCL3X0OiYs1uoccGdnHi7sP6ws4D/h9j+kvAl8c7npkwgv4DYkxct4AJgfzJgNvBJ//D3Bdj/KHyuXai8T9DX8CLgKeAIzE3X4FvY8bEldcnRd8LgjKWbp/wxDsk7HA271/20g/Xjh8Z3pF8N//CeDDI/14cfe0dLn0NZTAlDTUI62CP/sWAquBie6+N1i0D5gYfB5J++r7wBeA7nFiK4Emd48G0z1/+xFDTQDdQ03kmmqgHvh50BX1UzMrZYQfL+6+B/h3YBewl8R//1fQ8aKToulgZmXAo8Bn3L2l5zJPNCNG1LWkZnY5UOfur6S7LhmmADgL+LG7LwTaOdy9AozY4+UEEgMCVgMnAqXAxWmtVIZIR6AnM5RAzjKzQhJh/oC7PxbM3m9mk4Plk4G6YP5I2VfnA1eY2Q7gIRLdLj8AxgVDScCRv32kDDVRC9S6++pg+hESAT/Sj5cPAG+7e727R4DHSBxDI/14SUugJzOUQE6yxIDX9wFb3P27PRb1HDrh70n0rXfPvyG4euFcoLnHn9o5w92/6O5T3X0GiePhGXe/HniWxFAS8O79kvNDTbj7PmC3mZ0WzPo7EsNWj+jjhURXy7lmNjr4N9W9X0b08QIM/0nRYD9eCrwJbAO+lO4TCcP4u99L4s/jDcC64HUpif68PwFvAX8EKoLyRuKKoG3AayTO6qf9dwzxProQeCL4PBN4GdgKPAwUB/NLgumtwfKZ6a73EO6PBUBNcMw8Dpyg48UB/gV4HdgI/BIo1vHiuvVfRCRX6KSoiEiOUKCLiOQIBbqISI5QoIuI5AgFuohIjlCgi4jkCAW6iEiO+P9Ok49hCw1FjgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ax = net_cost2.sort_values().cumsum().reset_index().plot()\n", "ax.set_ylim(0);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Top 10 presentations affected by change 2, by net_cost" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
nameitemsnet_cost
bnf_code
21300000111Hylo-Forte Sod Hyaluronate Eye Dps 0.2% P/F 10ml829551033619.00
21020001196Coloplast SpeediCath Compact Male OneSize 12/18(30-Pack)Cath46241014858.96
0301020S0BBAAAASeebri_Breezhaler Inh Cap 55mcg + Dev29304921215.28
190700000BBCJA0Resource_ThickenUp Clr Pdr18710854096.22
21020001190Coloplast SpeediCath Compact Fle Size 8-14 (30-Pack) Cath3473787740.68
21020000880Coloplast SpeediCath Male Size 10-14 (30-Pack) Cath4260780975.01
21020001408LoFric Origo+Water Nelaton Male 40cm Size 10-18(30-Pack)Cath3767646156.02
21020001195Coloplast SpeediCath Compact Plus Fle 10-14 (30-Pack) Cath2755610643.90
21020001254LoFric Sense Nelaton Fle 15cm 8-14 (30-Pack) Cath Wellspect2726550377.45
0702010F0AAACACEstriol_Crm 0.01% + Applic19028546255.35
\n", "
" ], "text/plain": [ " name \\\n", "bnf_code \n", "21300000111 Hylo-Forte Sod Hyaluronate Eye Dps 0.2% P/F 10ml \n", "21020001196 Coloplast SpeediCath Compact Male OneSize 12/18(30-Pack)Cath \n", "0301020S0BBAAAA Seebri_Breezhaler Inh Cap 55mcg + Dev \n", "190700000BBCJA0 Resource_ThickenUp Clr Pdr \n", "21020001190 Coloplast SpeediCath Compact Fle Size 8-14 (30-Pack) Cath \n", "21020000880 Coloplast SpeediCath Male Size 10-14 (30-Pack) Cath \n", "21020001408 LoFric Origo+Water Nelaton Male 40cm Size 10-18(30-Pack)Cath \n", "21020001195 Coloplast SpeediCath Compact Plus Fle 10-14 (30-Pack) Cath \n", "21020001254 LoFric Sense Nelaton Fle 15cm 8-14 (30-Pack) Cath Wellspect \n", "0702010F0AAACAC Estriol_Crm 0.01% + Applic \n", "\n", " items net_cost \n", "bnf_code \n", "21300000111 82955 1033619.00 \n", "21020001196 4624 1014858.96 \n", "0301020S0BBAAAA 29304 921215.28 \n", "190700000BBCJA0 18710 854096.22 \n", "21020001190 3473 787740.68 \n", "21020000880 4260 780975.01 \n", "21020001408 3767 646156.02 \n", "21020001195 2755 610643.90 \n", "21020001254 2726 550377.45 \n", "0702010F0AAACAC 19028 546255.35 " ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2.sort_values(['net_cost'], ascending=False).head(10)" ] } ], "metadata": { "jupytext": { "cell_metadata_filter": "all", "notebook_metadata_filter": "all,-language_info", "text_representation": { "extension": ".py", "format_name": "light", "format_version": "1.5", "jupytext_version": "1.3.2" } }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.0" } }, "nbformat": 4, "nbformat_minor": 4 }