Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

WORK IN PROGRESS






Order Types

These reflect the different Order types from Bahmni Clinical Systems. Currently Bahmni supports syncing of the following Order Types

  • Drug Order
  • Lab Order
  • Radiology Order

Orders are processed for matching order types. If a matching order’s “Order type” is not found in Odoo, that particular order will be skipped. You can find out the order type names in OpenMRS database using the following query

$ mysql -uroot -p<password> openmrs 
> select name from order_type;


Corresponding the Order Type names discovered above, you need to create corresponding Order Types in Odoo. To do that:

Go to "Menu / Sales / Configuration /Order Types", and create the Order Types if not already present.  

Note, the Order Type names must match exactly (casing, spaces etc) correspond to the Order Types defined in OpenMRS.

Shop

“Shops” help to specify stock locations by billing stations/counters, also so that the inventory can be managed well in Odoo, and also to define default payment terms and price list association. This is achieved by mapping stock login location to shops. The quotation gets created for the shop (e.g. OPD Billing) that is mapped to the stock location (OPD Pharmacy) from where the drug is delivered/dispensed from. 

To define shops, go to "Menu / Sales / Configuration / Shop"

For example, to create a OPD Billing Shop, create as shop as below: 

  1. Shop Name = OPD Billing. (Similarly consider creating other shops like “IPD Pharmacy” or “Special Billing” etc).
  2. Specify Warehouse = Main WH (Select the warehouse where your stocks are managed) 
  3. Location = WH/OPD Pharmacy (Select the Internal stock location wherefrom products will be delivered) 
  4. Default Payment Term : Immediate Payment (select from dropdown)
  5. Price = Select or a create price list applicable at this shop. If you specify a pricelist, then the pricelist will be associated and potentially form the basis for sale price, if products are associated with this pricelist.


Order Type - Shop Mapping

Once you have defined “Order Types” and "Shops", you should then go about configuring what types of orders are processed where and what stock location any drugs/consumables will be delivered from. This is done through Order Type & Shop mapping, and this mapping can be further associated with the orderer's location, i.e where a care provider orders from. 

Go to "Menu / Sales / Configuration / Order Type - Shop mapping".  

You should start from default mappings and then go about defining more specific maps corresponding to orderer's location. 

Add entries as below:

  • Order Type = select from dropdown
  • Shop = select from dropdown. 
  • Location Name = select stock location from drop down. This gets defaulted when you choose a shop and if that shop has an associated stock location, but you can mention a different stock location here. 
  • Order Location Name = type in the “order location” name.  Orderer's location corresponds to Login location in Bahmni Clinical.  


Suppose, you have 2 shops (stations or counters), "OPD Billing", "IPD BIlling" associated with stock locations "OPD Pharmacy", "IPD Pharmacy" respectively, you may want to start as follows. 

  • By default, all orders of all types be be processed at 'OPD Billing' where 'OPD Pharmacy' would be the default stock location for delivery.
  • If ordered from 'General Ward' or 'Labour Ward' or 'Operation Theatre' - to be processed at 'IPD Billing', where 'IPD Pharmacy' would be the default stock location for delivery.

You can even split the 'Order Types' to be processed by different shops and to be delivered from different locations. For example: You can setup a mapping such that “Drug Order” by a doctor from “Special OPD” login location,  should be processed at “Special Billing” shop and delivered from local stock room where “Doctor's Samples Stock”. (And while defining "Special Billing" shop, maybe you have associated a "Discounted Price List" - then a different pricing can be applied)



When a care provider orders drugs, lab tests or radiology tests or procedures,  corresponding orders are raised from OpenMRS. While these orders are processed, Bahmni tries to first an Order type matching 'Order Location Name' and 'Order Type', if not then it would identify the first matching mapping for the 'Order Type'. 


Syncable Units

This is mainly used for synchronizing “Dosing Units” relevant to medications/drugs. The setup should be according to the "dosing units" concept metadata set in OpenMRS. 

  • Go to “https://<bahmni-server>/openmrs/dictionary/index.htm” and search for “Dosing Units”
  • Click the result entry, which would show the "Dosing Units" concepts and all its associated "Set Members"
  • In Odoo, go to "Menu / Sales / Configuration / Syncable Units", and create corresponding entries. Which may look like
    • Tablet
    • Tablet(s)
    • Capsule
    • Capsule(s)
    • Mg
    • IU
    • Drop
    • Tablespoon
    • Teaspoon
    • Puff
    • ml
    • Unit(s)





Default Invoicing Option: During invoicing, Odoo default flow shows different invoicing options and the entire flow from quotation => invoicing is quite lengthy. To skip the invoicing options and use a default (TODO: mention which option), you can provide a user level settings.  See here for the configuration option. 



Sale Price for Products

Odoo provides different ways to calculate sale price of a product. 

At the product itself, you can define different options. To configure this, 

  • Go to “menu / sales / settings”, and check pricing options




  1. The first option is basically defining a Single Sale Price for the product. 
  2. The 2,3 options enable more advanced “pricelist” concepts (you can see under “menu / sales / configuration / pricelists ”. Option 2, allow you a simplistic volume price list means (useful in a local price contexts). Option 3 - enable you to define pricing based on advanced formulas. 

To know more about pricing strategies please refer to Odoo documentation here

  1. In addition, Bahmni allows an extension with which you can define markups over cost price. This feature is applicable for products which have tracking enabled (lots/serial number). While receiving products, sale prices are calculated based on the markup percentage defined for product cost price. See here for more details. You also need to enable the following configuration for this to take effect during quotation. 
    1. Go to “menu / sales / settings” and enable configuration “Determine sale price based on cost price markup”


With the above configuration enabled, in a quotation, if you select a lot/serial for a product, the markup based sale price will be applied. 



This is the order of calculation of sale price

  1. Basic Product Single Sale Price
  2. Price list based Sale Price (if such a pricelist is applied on a quotation)
  3. Cost Markup based Sale price (if “cost price” markup is enabled in configuration)


Validate delivery when sale is confirmed

By default, Odoo will create “delivery orders” whenever a sale order is confirmed. You may choose to enable automatic validation of delivery order by configuration. 


To do this, go to “Menu / Sale / Configuration / Settings” and enable the configuration element



If the “Validate delivery when order confirmed” is not enabled, then the default process of “Delivery Order” creation is followed, meaning then you will need to go to “Menu / Inventory / Delivery Orders” and manually validate the delivery order for the “Sale order”. 



Allowing Negative Stock

In the process above, delivery orders will not be automatically validated if there is not enough stock for the stock location mentioned in the “sale order”.  If you want to force negative stock in the process, you need to enable the confirmation “Allow negative stock” as shown in the screenshot above.

Medication Dispensing Setup


This feature is useful when the care provider himself/herself dispenses medicine during consultation and wants the inventory and payments to be automated as well. This is particularly useful in small or single doctor clinics, where the care provider dispenses medicines, receives payment after the consultation. 



To do this: 

  • Set up “Order Type - Shop map” as described above. 


   Lets say, there is a mapping like: 

  • Order Type: Drug Order
  • Stock Location: Room-1
  • Order location Name: Room-1


Now, through the Clinical module, the doctor advises some medications and then marks them as “dispensed” (D button for the dispensed meds), then depending on configuration, you can automatically do the following

  1. Confirm sale order for the dispensed drugs/medications
  2. Validate delivery of product to customers, and thus reflecting onto inventory 
  3. Generate Invoice for the dispensed sale order
  4. Receive payment for the generated invoice



To enable the above, you need to enable the following configuration is “Menu / sales / Configruation / Setings”:



  1. “Allow to automatically convert quotation to sale order if drug is dispensed from local shop”: will enable “Confirmation of Sale” and “Validation of Delivery of Product” (1 & 2) above. 
  2. “Automatically register payment for dispensed order invoice”: will enable auto generation of invoice for the dispensed products and subsequently register payment (in cash) for the invoices.


On this Page

Feature Details


Usage Details


Related Links


  • No labels