Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
items:master_lists [2018/04/20 01:59] – [Item master lists] rozanna | items:master_lists [2023/03/23 02:19] – [Removing an item from a master list when it is currently in stock] Mark Glover | ||
---|---|---|---|
Line 1: | Line 1: | ||
{{indexmenu_n> | {{indexmenu_n> | ||
+ | |||
+ | | ||
+ | |||
<wrap info> | <wrap info> | ||
- | | ||
Master lists are standard lists of items you would supply to wards, clinics, etc. on a regular basis. Once set up, a master lists can be assigned to customers or [[other_stuff: | Master lists are standard lists of items you would supply to wards, clinics, etc. on a regular basis. Once set up, a master lists can be assigned to customers or [[other_stuff: | ||
- | Choosing the **Item > Show item master lists...** menu item or clicking on the //Show master | + | Choosing the **Item > Show item master lists...** menu item or clicking on the **Master |
{{ : | {{ : | ||
- | === Adding (and importing) a master list === | + | <WRAP center round important 60%> |
- | Click on the //Add Master List// | + | Master lists can only be managed (created, deleted, edited, applied to stores or customers) on the Central Server |
+ | </ | ||
+ | |||
+ | ===== Buttons on the Show master lists window ===== | ||
+ | |||
+ | ==== Add master list ==== | ||
+ | |||
+ | Click on the //Add Master List// | ||
{{ : | {{ : | ||
+ | {{ : | ||
- | //Description// field: | + | == Description |
+ | Enter the name of the master list here - this is the list name that everyone will see e.g. '' | ||
- | //Note// field: | + | == Note == |
+ | Add any note or information here that will help you and others understand what the list is for. | ||
- | //Automatically add new items to this master list// checkbox: | + | == Automatically add new items to this master list == |
+ | If you check this, any new items created, whether manually or during import, will be added to the master list. This is a particularly helpful setting when you are using master lists to [[other_stuff: | ||
- | The //Items// tab shown in the screenshot shows the list of items on the master list. The //In use by// tab shows which customers | + | == This master list is a patient list == |
+ | If checked, this tells mSupply to use the prices on this master list for any of the items on this list on prescriptions | ||
- | You then populate | + | === Buttons on the Master |
- | {{ : | + | == Add item == |
- | On entering | + | You then populate |
- | If the imprest system is used in your organisation, | + | {{ : |
- | If you want this list to determine the price of this item for customers using it, the price is entered in the //Price// field. | + | * On entering the first few characters of the item to be ordered and pressing the Tab key, the (by now!) familiar list will appear from which the desired item is selected by double-clicking. |
+ | * If the imprest system is used in your organisation, | ||
+ | * If you want this list to determine the price of this item for customers using it, the price is entered in the //Price// field. | ||
- | In our example, a number of master lists have been created. | + | == Remove item(s) == |
+ | To remove one or more items from the master list, select (click) the row(s) and then click on the **Remove item(s)** button. | ||
- | {{ : | + | == Save sort order == |
- | **Sorting: **Clicking on any of the column headings allows you to sort the list according to that heading; you also have the ability to click on an item in the list, and drag it to a new position; once the list is sorted to meet your requirements, you can click on the //Save Sort Order// icon, and mSupply(r) will retain the list in the order in which you have set it, and display it in that order next time it is accessed. | + | |
+ | | ||
+ | * You also have the ability to click on an item in the list, and drag it to a new position. | ||
+ | * Once you are happy with the sort order, click this button to save the order. | ||
- | **Copy to clipboard: **The master list is copied to the clipboard when this button is clicked so that you can paste it into other applications on your computer e.g. a word processor or spreadsheet application. | + | == Copy to clipboard |
- | === Import Item List === | + | The master list is copied to the clipboard when this button is clicked so that you can paste it into other applications on your computer e.g. a word processor or spreadsheet application. |
- | You can import a list of items created elsewhere e.g. an accounting application or a spreadsheet. This can save you a lot of time! The file to be imported must be tab delimited text and must contain the item code, item name and imprest quantity (in that order) for each record. | + | == Update prices |
- | For example: | + | |
- | ^ code ^ item ^ imprest quantity | + | Also only visible if the **Use program pricing** preference is turned on (see the [[preferences: |
- | | amo250t | amoxycillin 250mg tab | 800 | | + | |
- | | amo500t | amoxycillin 500mg tab | 300 | | + | == Import item list == |
+ | |||
+ | You can import a list of items created elsewhere e.g. an accounting application or a spreadsheet. This can save you a lot of time when creating a master list! | ||
+ | |||
+ | The file to be imported must be tab delimited text file, which is most easily created in a spreadsheet. | ||
+ | |||
+ | * **Item | ||
+ | If you are //not// importing | ||
+ | </ | ||
+ | |||
+ | * **Item name** For information purposes only and is not actually imported. | ||
+ | * **Imprest quantity** Optional and can be left blank. | ||
+ | * **Price** Optional and can be left blank. | ||
+ | |||
+ | Records in the file are, of course, separated by the end of line character, which will be created by the spreadsheet when you save the file as a **Text (Tab delimited)** format. | ||
+ | |||
+ | For example: | ||
- | Note that: | + | ^ Item code |
- | * The item code must match an existing item code, | + | | amo250t |
- | * The item name is for information purposes only and is not actually imported (you can leave a blank column in its place if you like) | + | | amo500t |
- | * The imprest | + | |
Clicking on the //Import item list// button takes you to a prompt: | Clicking on the //Import item list// button takes you to a prompt: | ||
Line 70: | Line 104: | ||
The //Remove quote characters on import// checkbox, if checked, tells mSupply(r) to strip all ''"'' | The //Remove quote characters on import// checkbox, if checked, tells mSupply(r) to strip all ''"'' | ||
- | <WRAP center round info 60%> | + | <WRAP center round important |
- | The imported | + | * Any new items on in the import will be added to the end of the master list. |
+ | * If you import items that are already on the master list, they will not be added to the end of the list. The existing entries will have their **Imprest Quantity** and **Price** details //updated// with the imported values. | ||
</ | </ | ||
- | + | Clicking the //Import now// button executes the import with the settings you made and takes you back to the master list screen with the imported items now showing in your master list. | |
- | Clicking the //Import now// button executes the import with the settings you made and takes you back to the master list screen with the imported items now showing in your master list. | + | |
The //Cancel// button also takes you back to the master list screen but, obviously, does not execute the import. | The //Cancel// button also takes you back to the master list screen but, obviously, does not execute the import. | ||
+ | == Search field == | ||
+ | If you need to find a specific item in the master list you can type something in the //Search items// field just below the buttons. Only the items in the list with a name or code that contains what you typed will be shown, all others will be hidden. | ||
+ | === Tabs the Master list window | ||
- | **Editing imprest quantities or price:** If you click once on the row you wish to edit, and then click on the imprest quantity or price, it becomes editable. Enter the new value, and you can then use the <tab> key to advance to editing the next imprest quantity or price field. | + | == Items == |
+ | Shows the list of items on the master list. | ||
+ | |||
+ | == In use by == | ||
+ | |||
+ | Shows which customers the master list has been assigned to (see below). | ||
+ | |||
+ | ==== Delete master list ==== | ||
+ | |||
+ | From the //Item Master lists// window, selecting the //Delete Master List// button allows you to delete a list which is no longer required. | ||
+ | * This action has significant consequences for any customers who are users of the list. So to prevent accidental deletion, this action cannot be completed until any customers who are users of it have their assignment with it removed. | ||
+ | * To find out which customers and stores the list is assigned to, open the master list and click on the //In use by// tab. If the list on this tab is empty, you will be able to remove the master list. Refer to the [[items: | ||
+ | </ | ||
+ | + | ||
+ | ==== Duplicate master list ==== | ||
+ | Should you wish to create a Master list which is very similar to an existing one, click on this icon, and a new Master list with the same name (description) but with `// (Copy)//' | ||
- | **The //In use by// tab:** Under this tab you'll find the list of customers who have been assigned to this master group (i.e. are using this master list). | + | ==== Report ==== |
- | === Deleting a master list === | + | To create a custom master list report, click on the **Report** button on the Master |
- | From the // Item Master | + | ==== Print ==== |
+ | To generate a built-in report based on all the master | ||
+ | * **General:** This report shows some of the simple settings for all the master lists (whether it is a program, whether it is a patient | ||
+ | | ||
+ | * **Items without master list:** This shows all the items in your datafile that are not included on any master list. {{ : | ||
- | === Duplicate a Master list === | ||
- | Should you wish to create a Master list which is very similar to an existing one, click on this icon, and a new Master list entitled `// Duplicate of .....// .' is created; this can then be edited and renamed to suit your requirements. | ||
- | ===Assigning a list to a customer=== | + | =====Assigning a list to a customer===== |
To assign a list to a customer, the customer' | To assign a list to a customer, the customer' | ||
Line 100: | Line 154: | ||
== Buttons in the Item Lists section: == | == Buttons in the Item Lists section: == | ||
+ | * **Add Master list:** Click this to select a master list to add to the customer from a list of all master lists which have been created. | ||
- | + | {{ :items:names-item-masterlists.png? | |
- | * **Add Master list: **From the list of master lists which have been created, double click on the name of the desired list. | + | |
- | * **Add Local list: **This serves to cater, for example, for the situation where a patient with a rare disease requiring medicines not normally stocked, collects these medicines from the local Health Centre. In this example, a patient attending London Dispensary requires tetracosactide, | + | * **Delete |
- | + | ||
- | {{ :items:edit_customer_supplier.jpg |}} | + | |
- | + | ||
- | * **Copy from Master | + | |
- | * **Delete list: ** Two distinct functions are performed, depending on whether a Master list or a Local list is selected | + | |
- | - if applied to a Master list of which the present customer is a member, | + | |
- | - If applied to a Local list, it allows deletion of the list, but only after all the items have been removed from the list by making use of the // Delete Lines// feature. | + | |
- | * **Add item:** Once you have selected a list, this allows you to add an item to that list. | + | |
- | + | ||
- | <WRAP center round tip 60%> | + | |
- | You can only add items to a local list. If there are no buttons visible above the item list, it is because you don't have any local lists for this customer (or if you do, you haven' | + | |
- | </ | + | |
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
Line 130: | Line 173: | ||
* Choose whether to send to Excel(r) or your printer. | * Choose whether to send to Excel(r) or your printer. | ||
* Click **Generate** | * Click **Generate** | ||
- | == Buttons in the Items section: == | ||
- | |||
- | <WRAP center round info 60%> | ||
- | These icons appear only when a local list is selected; for obvious reasons, Master lists cannot be edited here. | ||
- | </ | ||
- | |||
- | * **Add Item** Self explanatory! Allows you to add required lines to the local list. | ||
- | * **Delete Item(s)** Lines may be deleted, either singly or, by selecting multiple lines, they may be deleted together. | ||
- | * **Save sort order** Allows you to save the list according to how you have sorted it here. | ||
== Information button == | == Information button == | ||
Line 155: | Line 189: | ||
* **Imprest**: | * **Imprest**: | ||
* **Customer stock history**: If checked, this list will populate a [[issuing_goods: | * **Customer stock history**: If checked, this list will populate a [[issuing_goods: | ||
- | * **Ordering list for web**: Means that the list represents all items that the customer can order using the [[web_interface: | + | * **Ordering list for web**: Means that the list represents all items that the customer can order using the [[web_interface: |
* **Price list**: Means that the prices on this list will be used for these items when they are being distributed to this customer on a customer invoice. The price on this list will override any sell prices that individual stock lines have. Only one list can have this option checked for each customer. | * **Price list**: Means that the prices on this list will be used for these items when they are being distributed to this customer on a customer invoice. The price on this list will override any sell prices that individual stock lines have. Only one list can have this option checked for each customer. | ||
- | ==== Using Master Lists to control | + | ===== Using master lists to control |
- | You can use master lists to control item visibility in each store, by checking the [[preferences: | + | You can use master lists to control item visibility in each store. This will make the items visible in each individual store match exactly the items included in the master list(s) selected for that store. |
- | **Example** <WRAP clear/> | + | <WRAP center round alert 60%> |
- | There are 100 satellite stores, and you want all of them to have the same item visibility:<WRAP clear/> | + | <wrap em> |
+ | * Do not turn it on unless | ||
+ | </WRAP> | ||
- | 1. Create a master list and add some items< | + | < |
- | 2. Go to each store and make sure that the master list is selected< | + | One unintended consequence: |
- | 3. Turn on the [[preferences: | + | |
+ | For example: | ||
+ | |||
+ | **Central store** has the following master lists assigned: | ||
+ | * **All items** (includes all items in the system) | ||
+ | * **HIV items** | ||
+ | |||
+ | **Kathmandu store** has the following master lists assigned: | ||
+ | * **HIV items** | ||
+ | * **TB items** | ||
+ | |||
+ | **Kathmandu store** tries to place order from the **Central | ||
+ | * Items on the **HIV items** | ||
+ | * Items on the **TB items** master list. This <wrap em> | ||
- | <WRAP center round tip 60%> | ||
- | This preference can drastically affect item visibility.< | ||
- | A temporary list is created for each store containing items that cannot be removed from visibility when the master list preference is activated.< | ||
- | Do not turn it on unless you know what you are doing! | ||
- | It affects **ALL** stores in the system. | ||
</ | </ | ||
- | Now whenever an item is added or removed from this master list, the preference will automatically update the visibility | + | === Procedure - item visibility |
- | * Adding an item to a master list will automatically add that item to visibility | + | For example, let's say there are 100 stores, and you want all of them to have the same item visibility: |
- | * Deleting an item from a master list will automatically remove that item from visibility for each store using that master list, given it is not included in another master list in use by each store respectively. | + | |
- | <WRAP center round tip 60%> | + | - Create a master list and add some items |
+ | - Go to each store and make sure that the master list is selected | ||
+ | - Turn on the [[preferences: | ||
+ | A temporary list is created for each store containing items that cannot be removed from visibility when the master list preference is activated, normally because there is stock of the item in the store. | ||
+ | </ | ||
+ | - Now whenever an item is added or removed from this master list, the preference will automatically update the visibility for all of the 100 stores, so that the items visible for each individual store matches the items included in the master list. | ||
+ | - Adding an item to a master list will automatically add that item to visibility for all stores using that master list | ||
+ | - Deleting an item from a master list will automatically remove that item from visibility for each store using that master list, given it is not included in another master list in use by each store respectively. | ||
+ | |||
+ | <WRAP center round important | ||
When deleting items from a master list, mSupply will first check all stores using the master list to make sure it is safe to remove that item. It is unsafe if the item has //stock on hand and isn't included in another master list// for any stores using master list you are editing. | When deleting items from a master list, mSupply will first check all stores using the master list to make sure it is safe to remove that item. It is unsafe if the item has //stock on hand and isn't included in another master list// for any stores using master list you are editing. | ||
</ | </ | ||
- | To create a large master list, you can export all items to be added to mSupply, and then import them to the master list - [[items: | + | <WRAP center round tip 60%> |
+ | If you've been running your mSupply for some time without controlling item visibility by master list and you now want to move to it, you will likely want to start by creating a master list containing **ALL items** and applying visibility to all existing stores according to that **ALL items** master list. Then, over time, different master lists can be created and applied to those existing stores. | ||
+ | |||
+ | To create a **ALL items** | ||
+ | </ | ||
+ | |||
+ | ===== Master list Tips ===== | ||
+ | |||
+ | === Creating a re-ordered master list === | ||
+ | |||
+ | You may need to create a new master list which is similar to an existing one, but with significant changes, including, particularly, | ||
+ | |||
+ | == Small master list: == | ||
+ | |||
+ | If this is a small list, this is relatively easily achievable by: | ||
+ | |||
+ | - Select ' | ||
+ | - Duplicate it to the new master list | ||
+ | - Add any new items to the temporary master list | ||
+ | - Re-organise the list to the desired sort order | ||
+ | |||
+ | == Large master list: == | ||
+ | |||
+ | However, if the list is a long one, then the re-organising can be extremely tedious, especially over a dodgy internet connection to the Central server (editing master lists must happen on the Central Server)! | ||
+ | |||
+ | - Select ' | ||
+ | - **Duplicate** it to a temporary master list | ||
+ | - Add any new items to the temporary master list | ||
+ | - **Copy to clipboard** (using button) | ||
+ | - Open a blank Excel sheet and Paste the clipboard in to cell A1 | ||
+ | - Delete the first four lines in the spreadsheet | ||
+ | - [[https:// | ||
+ | - Do the necessary edits including any re-ordering | ||
+ | - Save as a tab separated values text file | ||
+ | - Back in mSupply, create your new master list from scratch (**Add master list** button). | ||
+ | - **Import master list** (using button) | ||
+ | - Once you've verified that it worked the way you wanted it to, **Delete** the temporary master list | ||
+ | |||
+ | == Re-order existing master list == | ||
+ | |||
+ | This method can even be used to effectively re-order an existing master list, but be careful; stop any syncing if in a synced system, and take a backup of your datafile before embarking on this: | ||
+ | |||
+ | Method 1: | ||
+ | |||
+ | - Stop syncing (if in a synced system) and make a backup. | ||
+ | - Create your new, correctly ordered master list as described above. | ||
+ | - Assign this list to all the same names as the original master list was assigned to. | ||
+ | - Unassign the original master list to all names | ||
+ | - Delete the original master list | ||
+ | - Rename new list | ||
+ | |||
+ | Method 2: | ||
+ | |||
+ | - Stop syncing (if in a synced system) and make a backup. | ||
+ | - Create the tab delimited text file for your new, correctly ordered master list as described above. | ||
+ | - Delete all but one of the items on the original master list. This one item is ideally the item that will be at the ' | ||
+ | - Import the tab delimited text file to the original master list. | ||
+ | |||
+ | This is scarier (deleting items of master lists is a big deal), but avoids the need for steps 3 - 6 of Method 1. | ||
+ | |||
+ | === Removing an item from a master list when it is currently in stock === | ||
+ | There are a number of circumstances under which you will need to remove an item from a master list when it is currently in stock including: | ||
+ | * The item is being phased out and you don't want facilities to be able to order it | ||
+ | * The item should never have been on the master list and users have accidentally recorded stock of the item | ||
+ | |||
+ | In these cases, it is relatively straightforward to [[items: | ||
+ | <WRAP center round box 90%> | ||
+ | mSupply will <wrap em>not allow you to remove an item from a master list</ | ||
+ | * The item currently in stock AND | ||
+ | * The item is not on any //other// master list assigned to that store. | ||
+ | </ | ||
+ | |||
+ | |||
+ | There are two options open to you: | ||
+ | == Wait for all stock to be removed == | ||
+ | Wait for //all// stock to be removed from //all// the affected stores before you remove the item(s) from the master list. This is a particularly painful process if there are many affected stores. | ||
+ | |||
+ | == Use a temporary master list to assist with the process == | ||
+ | - Create a temporary master list with the item(s) to be removed. | ||
+ | - Assign the temporary master list to all the affected stores that still hold stock of the item(s). | ||
+ | - Remove the item from the original master list. This should now be possible as the condition above should be met. | ||
+ | - As each store removes the stock of the item(s), un-assign the temporary master list from the store. | ||
+ | - Once all stores have removed stock of the item(s), the temporary master list can be deleted. | ||
- | // Previous: [[items: | + | \\ |
+ | \\ | ||
+ | | | ||
---- struct data ---- | ---- struct data ---- | ||
+ | pagestatus.status | ||
---- | ---- | ||