Various Other Pages

Complete

Adding New Users

Complete
  1. Login as a user with an administration role and select the Administer link in the primary menu
  2. Enter the users administration workspace but selecting users on the left hand side menu
  3. Click the new button at the bottom of the page to create a new user

You will now have a dialogue displayed like the one below:

New User dialogue window

The following is a guide to the fields that need to be entered:

id:

don't change this value, the software will automatically generate a user id

Login Name:

The name that the user will use to login to openvpms (case insensitive)

Password:

Used to access openvpms in combination with the login name

Full name:

The user's real name displayed when they are logged in in the upper right of the screen and also used in some templates

Colour:

Select a colour that will display when User information is used to highlight fields eg. in the appointment scheduler when highlight the clinician is used. Use the colour picker to select a colour or manually enter it's hex value.

User Level:

Used for restricting access to the reports. Users will only see reports that are the same or less than their user level. You can set the user level for each report in the report template.

Roles:

By default the only role that is available is Administration. If you want the user to be able to perform administration tasks you need to add this role. It will apply the following rules:

Other roles can be created with different authorities to change archetypes but this is an implementation task.

Category:

Categories are defined under administer > lookups > user types. Categories might include nurses, vets, reception staff, etc.

Business Continuity Plan Outline

Complete

 




I helped my daughter setup a practice about a year ago and had to learn how to setup and use OpenVPMS.  The system runs on a small Windows XP network which uses one of the desktop machines as the server – they only have three machines because it is a very small practice. As a precaution  I also installed OpenVPMS on two other machines but did not set it to start-up just in case they ever had any problems with the server machine. 

True to form the server started to automatically reboot on a busy working day so I had to switch across to another machine to get them up and running.  The practice is in the country so they were lucky I happened to be there on the day the problem occurred – so  I put together a set of notes on how they would switch to another server themselves if it happened again.  I have called the document a Business Continuity Plan and attempted to write it as a set of instructions for an end user to bring a server online from scratch!

I thought others might find it usefull as a starting document if they currently do not have any sort of plan in place if their primary server were to begin to play up?

I have posted a PDF version as a general example and a Word version which you could edit to suit your individual setup.

Create a New Appointment for a New Customer

Complete

This 'How To' demonstrates how to add a new customer whilst adding a new appointment simultaneously. This is a very common procedure in veterinary practice.

The customer search dialogue. The new customer button is at the bottom

  1.  Navigate to the scheduler

    Navigating to the scheduler

    For mouse users:

    1. Select Workflow from the main menu
    2. Select Scheduler from the Submenu (if it isn't already selected- it is when you first login)

    For Keyboard users:

    1. press ALT + W to select Workflow from the top menu
    2. Click on Scheduling from the left-side submenu (if it isn't already selected- it is when you first login)
    3. Press tab and then use the down arrow to choose the Main Appointment Schedule if required
  2. Making the appointment.

    • Ask the customer for which day/date they would like an appointment.

      To select the required day/date either:

      1. Highlight the date shown in the date text box and type the requested date, over the top of the existing date (you do not need to press delete)
      2. Click the down button (down button) next to the text box and select a date using the mouse.
      3. Use the forward and back buttons to skip to the required date
    • Ask the customer what time would they like the appointment.

      If the time slot is available highlight it with the mouse. ('New...' will appear in the slot)Highlighting the appointment slot

    Mouse Users

    Either Double click the appointment slot or Press the New button at the bottom of the Scheduler.

    Keyboard Users

    Press ALT + N to create a new appointment.

     

     

     

     

     

     

     

     

    You are now in the New Appointment Dialog:

    The New Appointment Dialog

  3. Making a new customer

    When the new appointment dialogue comes up the customer field is active. An existing client's surname can be entered here but if they are a new customer they will not be there yet. Either press the tab key to move to the binoculars or use the mouse to press the binoculars. You will now see the customer search dialogue which has a button to create a new client down the bottom. Either press it with the mouse or using the keyboard enter ALT N

    • Choose Customer (Person)
    • Add Customer details
      • Enter Last Name
      • Enter Title
      • Use keyboard arrows to scroll to correct title or press the 1st letter of title (eg. Type D for Doctor)
      • Enter First Name
  4. Adding a new animal.

    This procedure is essentially the same as that adding the new customer above

  5. Completing the New Appointment

    Now that the customer and patient have been entered you can go ahead and complete the remaining entries in the new appointment such as the appointment type and reason enter any notes. Finally Press the OK button or enter ALT O on the keyboard.  

Creating And Using Macros

Complete

Using Macros.

CONTENTS

1. Introduction


Macros are similar to "auto correct" function in Microsoft Word where a small string of text can be expanded into a sentence or even a paragraph of text. The text fields can contain up to 5000 characters.

For example, setting up a macro called "nadx" might expand to "Clinical examination of the chest and abdomen was normal". Once set up, anytime you write nadx in the note field and then press enter, it will expand to the text you have chosen (Clinical examination of the chest and abdomen was normal) in the expression field.

You can examine the list of default macros by clicking on Administration | Lookups select Macros from the Type drop-down box and click Find.

This is a very handy tool to decrease typing time in consultations; it can also be useful to create headings in the notes section of the consult page.

2. Creating Your Macro

Let's set up the example macro from the introduction above.

  1. Click on Administration | Lookups | New, scroll down and click on Macros
  2. You are now presented with a blank form.
     
    Code: this field contains the actual code you wish to use: the code must consist of alphanumeric characters and @ and _ - hence abc, A4b, a_B, a_4, _abc, @aBc, ab@c are all valid. Take care not to name the code an actual word as it will expand into text inappropriately, for example bid can transform into twice daily when you may just mean bid. Perhaps end the code in "x" to avoid this mishap. In the example above, we've called the code nadx. Alternatively you can use @ or _ as a prefix.

    Name: A descriptive name for your macro. You can search for your macro by this name in the search field at the top of the macro window.

    Expression: Enter the text you wish the code to expand to. You have a 5,000 character limit and can format with leading spaces and paragraphs. The text should be enclosed in double quotes. Actually you can use single quotes BUT there's a "gotcha" if you do: if you use the single quote as an apostrophe in the text (few if any keyboards have a separate apostrophe key), the macro will fail. For example, if you want to have text such as today's temperature, the single quote in today's will cause the macro to fail if the whole of the text is not enclosed in double-quotes.

    In the example below, we've used nadx, NAD, "Clinical examination of the chest and abdomen was normal" in the three fields.
    Click Ok when you're done.

3. Using Your Macro


When writing your notes, simply type in nadx and press Enter

Your macro will be expanded to the text you've specified.

As mentioned above, macros can insert up to 5,000 characters of text: here's an example for a cat spey:


Entering text and you can't remember the macro? Press Alt-m - this will display the available macros so you can click the one required.

4. Trouble-shooting

  1. The most common error is when you haven't enclosed the macro in quotes - it simply doesn't expand when you type in the macro code. Solution is obvious - make sure you have double-quotes at the beginning and end of the macro.
     
  2. If you created the macro in 1.4 or earlier and have now upgraded to 1.5.1 or higher, you will get the error shown below if you try to save after editing the macro.

    The upgrade from 1.4 to 1.5 added a new field in the Macro lookup display called Description. The problem arises because the upgrade procedure populates the description field with the code-name of the macro.

    As soon as you try to save the macro you are editing, openVPMS tries to expand the macro in Description, and generally can't because of the macro's length, and then returns the error below.

    Solution again is simple: when editing a macro, make sure the Name and Description fields are NOT the same as the Code field.
    An entry in the Description field is not required for the macro to work.

5. Expression Features

The Expression can contain more that just text - it can incorporate the preceding number, it can invoke another macro, and it can perform a lookup.  You can also use the concat function to concatenate things.

$number: If you define a macro, say @hrs to have the expression concat('every ',$number,' hours') then when you enter 6@hrs, it will be replaced by "every 6 hours".  That is, the number preceding the macro code ('@hrs' in this case) can be accessed using the special variable $number. As well as simple integers (like 6 or 10), you can use decimals (like 2.5) or fractions (like 1/4).

Lookups: If you define a macro, say dispensingUnits, to have the expression openvpms:lookup(openvpms:get(.,'product.entity'), 'dispensingUnits') this will be used to look up the dispensing units for the current product. Other useful examples are:
openvpms:lookup(openvpms:get(.,'product.entity'), 'dispensingVerb') and
openvpms:lookup(openvpms:get(.,'product.entity'), 'sellingUnits')

Obviously, you need a understanding of the archetypes to make extensive use of this facility.

Macros in Macros: We can make use of the above two facilities by defining a macro, say @oid with the expression:

  concat($dispensingVerb, ' ', $number, ' ', $dispensingUnits, '(s) Once Daily')

Here we are invoking two other macros, dispensingVerb and dispensingUnits, and also making use of the $number.  Thus 4@oid will expand to something like "Give 4 tablet(s) Once Daily"

Note that invoked macro (eg 'dispensingVerb') MUST have a name that starts with a letter, otherwise the expansion will not work.

Home Page


Created 25 August 2011 (compiled by Yuri Sos based on forum post by Sam Snelling), amended 24 July 2012

Elements

Complete

There is a pdf attached with the old version of this page. This page needs to be rewritten.

Why not help out fellow current and future OpenVPMS community users by contributing some documentation? To update this information just edit this page and create a new revision of the page.

 

The original images can be found by clicking the insert/edit image button on the toolbar when editing and then browsing the server. The files are located in a folder called "elements_page_images".  

 


Elements

Welcome to Elements

This appendix details the various tools that are found in every page of the web application. Knowing how these different tools work will make learning the new program much easier.

Common Key Strokes

The ALT combinations

Many of buttons and links of the application have an underlined letter. This is the shortcut letter that when combined with the ALT key, will allow you to perform that action as if you had pressed the button or link. Shortcut keys are generally quicker then using a mouse.

The alt key function on a NEW button

On this NEW button pressing ALT, then N, will add a New item:

 

 

The ENTER key

The ENTER or RETURN key has a special behaviour. When pressed it does not move the cursor to the next box (as many people are used to) but rather sends whatever selection or keystrokes the user has entered, to the program. 

What happens next depends on what sort of input you are entering.

Example- Using ENTER to complete a macro

This user is entering an expiry date in a new Estimation. The user wants the estimation to expire in 2 weeks and has entered "2w" as a macro.

To show the calculated date, the user presses ENTER:      Pressing enter on a macro

Note that the cursor has remained in the Expiry Date box, allowing the user to change the date if needed. 

To move to the next box, the user will need to press TAB.The cursor has not moved after pressing enter

The TAB key

The TAB key is used to move to the next box. Generally it will select the contents of that box, allowing quick editing and replacement of text. To move back to the previous box, press SHIFT+TAB.

 

The Mouse

  • The left click - Used to select items from lists or where shortcuts don't exist.
  • The right click - Does not work in browser applications.
  • The wheel - Use to scroll quickly in long lists or the contents of a screen.
 

The Links

Links are shortcuts which can be found in many areas within the program. They allow rapid movement to another area of the program whilst automatically selecting the item of interest.

Links are usually underlined and blue but this is dependent on the settings of the browser you are using.

 



Examples of links from Patients and Schedules
These links are found in the Patient Links tab of the Customers Information workspace. 
If the user clicked on "Sadie" it would take them directly to Sadie's Medical Records workspace in the Patients Module.
These links are from the Appointments Schedule. The allow reception staff to jump directly into either the Customer or the Patient section.
 

The Text Box

Text boxes are just that. Boxes that that allow you to type in them to enter data.
Text boxes can also accept Macros. These are text shortcuts or abbreviations that when ENTER is pressed, expands into more meaningful text.
Spell checking usually appears as a red squiggly line depending on your browser settings.
 

The Search Button

Text boxes also can also be linked to a SEARCH button. This small binocular adorned button  indicates this text box is associated with a list of possible entries (See "The List Dialog" below). 
These elements are very common and a good understanding of their operation, speeds data entry considerably.
Generally the most efficient method is to start typing the beginning of the item being searched for and then press ENTER.
The following logic will be applied;
1. If there is a SINGLE item that matches the letters typed, the box will complete the entry.
2. If there are MULTIPLE items that match the letters typed, the box will open the list and limit the list to those items.
3. If there are NO items that match the letters typed, the box will do nothing.
Clicking on the SEARCHbutton will directly take you to a list.
Some examples follow.


Example 1: Using the List Dialog
In this example the user is searching for a product "CONSULTATION EQUINE STUD". They have typed "CONS" and then pressed ENTER.
Following the logic above, there are multiple items starting with CONS so the following list is shown. There are 2 pages of products.
The user adds "ULTATION E" and then presses ENTER. This results in a list of 2 items.
A selection is made by mouse and the user returns to the original screen with the selection entered in the text box.


Example 2: Autocompletion with unique entry
In this example the user is searching for the product, "PENROSE TUBE". They type "PENR" and then press ENTER.
There is only one item beginning with the letters, "PENR" so the box automatically completes the only possible selection without opening the list dialog.
 

 

 

 

 

Glossary

Complete

Demystifying the jargon that is sometimes used in OpenVPMS in the application itself as well as on the community site.

How to make it easier to see where the cursor is

Complete

There is a pdf attached with the old version of this page. This page needs to be rewritten.

Why not help out fellow current and future OpenVPMS community users by contributing some documentation? To update this information just edit this page and create a new revision of the page.

How to use a Report downloaded from the Community: Shared Resources Area

Complete

New and user contributed reports can be found in the Community area of the OpenVPMS website.

www.openvpms.org/templates

 

These reports are free to use and are very easy to install.

 

Installing downloaded reports

1. Create a new Template

a) Go to Administration -> Templates (you will need to be logged in as a user with administrator privileges).

b) Click New

c) Set the Archetype to Report

d) Set the appropriate user level for whom you want to be able to use/view the reports (I use 9).

e) Report Category (these are variable but "patient report" is an example)

f) Upload the attached jrxml file from where you saved it when you downloaded it.

 

2. To run the report

a) Go to Report ->reports workspace.

b) Select report

c) Click Run

Report Download Instructions

Hi,

We've typed this instruction document (that is attached) on how to download reports from the website and save them into OpenVPMS. I thought other users may find this helpful.

Sandra.

How to Download & Setup a Report on OpenVPMS

Downloading the report and saving it to our system

  • Right click on the Report attachment and select ‘save target as’
  • Save in your preferred location with the file name extension of a full stop immediately after the name and the letters jrxml, eg: Cash Sales Report.jrxml
  • SAVE AS TYPE = ALL FILES and click on SAVE.

Adding a template & loading the Report into OpenVPMS

  • Go to ADMINISTRATION
  • TEMPLATES
  • NEW
  • Name the report
  • Select the template type
  • Set the User level
  • Set the Report Type
  • Set the Paper Size
  • Select the Orientation
  • OK

  • Click on EDIT
  • Click on SELECT and BROWSE to locate the file you saved earlier
  • Select the file to load in OpenVPMS
  • Click on SEND and then OK.

Downloading Reports from the website and importing into OpenVPMS.doc

Introduction to the web application

Complete

How it works

OpenVPMS is a web application. It is run on a webserver which can be either a local machine or a remote server somewhere on the internet (like the demonstration application). So, even if it is installed on a local server it is accessed through a web browser. Any device that has a web browser can access the application by entering the address required to access the application. It depends on the setup but in most cases you would enter:

http://serverIP:8080/openvpms

Logging in

Entering the address (as mentioned above) into your web browser takes you to the login screen:

The login dialogue

You just need to enter your username and password an then enter and you will be logged into the application. If your returned to the login screen you got your username or password wrong (nb. the User is not case sensitive but the password is).

Navigating Around

When you arrive in the application you will be presented with this screen which is the Customer information workspace:

Notice the Links along the white links at the top of the page (Customers Patients ...)- these are the main menu items. For each of these main menu items there is a separate submenu displayed on the left hand side of the page. Each of these submenus links to a separate workspace. 

Navigating with the Keyboard

To navigate with the keyboard you can hold down the ALT key on the keyboard and then press the key which is underlined on the web application. For example, ALT t would take you to the patient menu. 

Once you have selected the Main Menu item it is necessary to use the mouse to select the workspace from the submenu.

Navigating with the Mouse

Click the link on the main menu along the top and then select the submenu item (the workspace) on the left hand side of the page.

Important: Do not use the forward and back buttons on your browser to navigate around the application. They will take you away from your web application session

Logging out

Simply use the logout link on the upper right hand side of the web application page

How to logout- just press the link

Searching a patient by microchip number

Complete

 In OpenVPMS microchips are stored as an identities.

 

Searching for an identiity

To find a patient with a certain microchip number you need to search for a patient with that identity. To do this go to the patient information screen and press select to find a new patient. The following dialogue will be presented:

 

Make sure that the Search identities and all patients boxes (so you don't just search in the current client) are ticked. Then enter the microchip number in the search box and press find. 

It's important to note that this will only search identities, not the patient names as well. 

To search for a partial number

Use a % as appropriate. For example:

  • %982 will search for a microchip ending in 982
  • 982% will search for a microchip starting with 982
  • %982% will search for a number containing 982 

The Application Tree

Complete

There is a pdf attached with the old version of this page. This page needs to be rewritten.

Why not help out fellow current and future OpenVPMS community users by contributing some documentation? To update this information just edit this page and create a new revision of the page.

Backing Up and Restoring Your OpenVPMS data

Complete

openVPMS: Backing Up and Restoring Your openVPMS Data

 

Home Page

 


CONTENTS

1. Introduction

Why do I need to backup my computer? I've never had a problem before.  ("Famous last words"!)
It's often been said of hard drive failure: " it's not a matter of if, it's a matter of when."

If you haven't lost data yet, count yourself lucky! It WILL happen. It happens if you lose data due to power surges or loss of power whilst writing data (and yes, you're probably thinking your UPS on the server protects you from that eventuality), equipment failure, a computer virus attack, or some other catastrophic event like a fire. Whilst hardware is cheap and easy to replace, consider how much it would cost to restore lost data (do you even have hard copy of your clinical records any more?).

Backing up your data and keeping that information somewhere "safe-and separate" means you will always have a copy of your data, just in case something tragic happens to your server.

2. Backing Up Your Data

Go to

https://openvpms.org/documentation/csh/2.3/topics/how/backup

for the current recommendations on backing up and restoring OpenVPMS.

3. Creating a system image

More extensive than a database back up, creating a system image enables the user to take a complete image of their hard drive and restore it in the event of a hard- or soft-ware failure.

Creating a System Image (Windows 7-10)


Updated 25 Nov 2021 (compiled by Yuri Sos)

Discounts

Complete

The following information has been gleaned from working with release 1.5.

 

The OpenVPMS discount system is quite extensive.

a) you can define different discount types. For each type (eg Staff Discount, Valued Customer, ...) you define  the type: Percentage or fixed amount (ie $10 off), and you can put one or more discount types in a Discount Type Group in which you can specify a start & end date for each Discount Type. 

The DiscountType settings are as follows:

  • Type = Fixed or Percentage
  • Percentage = for percentage, the percentage; for fixed, the $ amount of the discount. Can be negative in order to impose a charge rather than a discount.
  • Include Fixed=yes/no - if the product price has a fixed component  (as well as a per unit component), ie a flag fall charge, then if yes, the discount is also applied to the fixed component
  • Active=yes/no - enable/disable the discount

b) for each customer and each patient you can define what discount types and/or discount type groups they have, and their start/end dates.

For each product you can define what discount types apply to the product and their start/end dates.  However, since you can specify discounts for each product type, it is normal to set the discounts at the type level rather than for each individual product.

c) when the charge is calculated, the only discounts that apply are those that are common to both product and customer/patient.

Hence if the customer has a staff discount, but the product they are buying has no staff discount, then they don't get the discount.

If the same discount has been set for both the customer and the patient, then the discount is only applied once.

However, if there are different discounts set (eg Valued Client for the customer, and Blood Donor for the patient) then both apply (provided that the product has both set).

 

If there are multiple applicable discounts (ie staff + valued customer) then both are applied.  However, you cannot reduce the charge below the max discount set for the product - ie if staff is 20% and valued is 30%, but the maximum product discount is 35% then you don't get 20+30=50% but only 35%.

 

NOTE: all the above simply calculates the applicable discount.  The person creating the invoice/charge can override the calculated discount.

 

d) quantity breaks - these are not currently supported by the system. There is a proposed design for them, but it's not a currently funded project.

Dispensing And Injection Fees

Complete

OpenVPMS: Dispensing And Injection Fees.


Introduction


OpenVPMS calls Dispensing and Injection Fees Product Price Templates. You use these Product Price Templates to define a set of fixed fees that you can share amongst multiple products. Once created, you can link them to any product (you can link more than one if you wish). When invoicing, the fixed fees available on the linked template are automatically added if there's only one, or, if you have more than one, you can select from a drop down box.

In the case of dispensing fees you would generally have these defined only in the template and not in the product but for other services you may want to have standard and product specific ones available. The big advantage of using the Product Price Template is you only need to modify the template to change a dispensing fee for all linked products.
This same procedure can be used for Injection Fees.
 

Creating Your Dispensing Fee (Product Price Template)

  1. Create a new Product Price Template:
    Click on Products (1) | New (2) | Product Price Template (3).

  2. Type in Dispensing Fee (1) in the Name field, then click Add (2) and type in your dispensing fee into the Price field (3).
    Click OK (4).


    The end screen should look like this:

Applying Your Dispensing Fee

  1. Click on Products | Select. In this example, I'm going to add a dispensing fee to Clavulox tablets.
    I type cl into the Name field and click Find. I then click on Clavulox 50mg tablets to bring up that item.

    Click on Edit (1) | Linked (2).

     

  2. Click on Add (3) | Binoculars (4).

     
  3. A new window opens.
    Double-click on Dispensing Fee (5). Window closes. Click OK (6).

     
  4. Now when you invoice the item, the fixed linked price is added to the invoiced price, thus:


     

Multiple Dispensing Fees

  1. You can have more than one Product Price Template per product: to demonstrate this I set up two extra Product Price Templates: an Admin Fee of $6.66 and a Special Fee of $5.55 (the point of this exercise was to see which one was the default and in which order they would be displayed): then I added the new templates to the product (as instructed above): this image show that the three fixed prices are ordered alphabetically in the "Linked" section of your product:


     

  2. At invoicing, the Fixed Prices are ordered in alphabetical order (but only the appropriate price is shown, not the template's name), and thus the "A"dmin Fee is the default. You can of course select any of the other fixed price fees from the drop-down box:

    It may be advantageous then to ensure that if a product has more than one linked Product Price Template, the most commonly used one is the first one in alphabetical order.


Created 28 July 2012

Reminders: Part 1 - Setup

Complete

Reminders: Part 1 - Setup


CONTENTS

Introduction

The ability to send clients reminders is one of the most important functions of any practice management system. The openVPMS reminder system is extremely powerful and customisable to your practice's needs. This tutorial will walk you through setting up reminders for vaccinations for your patients. Once you have this function enabled, you'll no doubt expand your use of reminders to other parts of your practice, such as senior patients, dental care and so on.

1. Setting Up Reminder Groups

Let's do this first, it becomes relevant and important later on in this tutorial.
Click on Administration | Lookups. Select Reminder Group, then click New.

The following screen opens.
Type in Vaccination and click Ok (I've reduced the windows in size to fit the screen, sometimes the Ok button is down below off the screen and you may need to resize the window to find it).

2. Setting Up Reminder Types


Firstly you will need to setup the appropriate Reminder Types.
Click on Administration | Types. Select Reminder Types, then click New.

The following screen opens:

Let's look at the various parts of the screen above:

Name and Description: you need to give this reminder type a name, eg Annual Vaccination, Annual Heartworm, Dental Check, etc.
Group: if you check this box, then if a given customer has say 3 patients with the same reminder, then one reminder letter will printed showing all three patients.  If it is not ticked, then for this customer, three separate letters will be printed.
Reminder Interval and Interval Units: Default reminder interval, expressed as Interval Units, for example 1 and year for annual vaccination.

Cancel Interval and Cancel Units: When the reminder should be automatically cancelled. A reminder is cancelled if its due date plus the cancel interval is less than or equal to the date when you run the reminder generation. For example: if a reminder was due on 15/7/2010 and had a cancel interval of 2 years, it would be cancelled on any reminder run on or after 15/7/2012. This feature has no bearing on the number of reminders sent prior to a reminder being cancelled: that will be discussed later.

Sensitivity Interval and Sensitivity Units: This is used to highlight reminders in the patient summary Reminders popup (when you click on the bell icon in the left-side summary screen) and changes the colour on the reminder indicators from Not Due(green), Due (yellow) or Overdue (red).

The sensitivity interval is used to determine a lower and upper bound to compare reminder due dates with.

ie lower bound = {current date} - {sensitivity interval}
upper bound = {current date} + {sensitivity interval}

The lower and upper bound determines how the reminders are highlighted as follows:

  • Red (overdue) : If a reminder's due date is less than the lower bound;
  • Yellow (remind): If a reminder's due date is less than the upper bound;
  • Green (normal): If a reminder's due date is greater than the upper bound.

For example, using 15/07/2012 as today's date:

  • If the reminder due date was 14/06/2012 (or lower) and the sensitivity interval was one month, it would be highlighted red given today's date.
  • If the reminder due date was anywhere between 15/06/2012 and 15/08/2012 and the sensitivity interval was one month, it would be highlighted yellow given today's date.
  • If the reminder due date was 16/08/2012 (or higher) and the sensitivity interval was one month, it would be highlighted green given today's date.

Interactive check box: An unchecked Interactive box sets the reminder in accordance with the above parameters when you invoice the item attached to the reminder (don't worry, we haven't got to that part yet).

Checking the Interactive box will allow you to modify the due date at the point of invoicing: for example, you have a temporary vaccination reminder of 4 weeks for the next vaccination, and you wish to vaccinate next at 12 weeks of age. This reminder will be set for an eight week old puppy, and if the reminder was unaltered, a six week old puppy would receive its next reminder at 10 weeks of age; if the interactive box is checked, you will be presented with the reminder screen at invoicing, at which point you can type in 6w in the Due Date field, thus setting the next reminder for the puppy at 12 weeks of age.

Here's an example of a reminder that's been set up: an yearly vaccination reminder that highlights yellow within 15 days of the due date and cancels after 2 years. As the interactive box is unchecked, the reminder is automatically set for 12 months' time:

Let's turn our attention to the three tabs, Template, Species, Groups. We'll look at them in reverse order.

Group: groups Reminder Types together so they can reset each other; for example you may set a puppy vaaccination and an annual canine vaccination as two different Reminder Types, but they will belong to the same Reminder Group (eg Vaccination), so that generating a subsequent invoice for a canine annual vaccination Canine Annual reminder will automatically "complete" a previous Canine Puppy or Annual Reminder. When we say "complete", it means that existing reminder disappears from view (as it's completed) and is replaced by a new annual reminder that is "In Progress". Here we've selected the Reminder Group we created above and moved it from Available to Selected.

You can define as many groups as you wish and can assign many Reminder Types to the same Group or a single Reminder Type to many Groups.

Species: You can limit reminder to specific species; to use this function, click on the species and then the right arrow button to move it from Available to Selected.

Templates: this is where it gets "interesting".
This is where you tell OpenVPMS what document to generate for each reminder you want to send:

  • if you only want to list the reminders (like a phone list) no template information is required; or
  • you can print a letter for the first reminder and list subsequent reminders. You can customise this to your practice needs.

Let's suppose that the first reminder you want to send out is a letter (or postcard). Click on Add.

This window opens:

Document Template: this will be the OpenOffice .ODT file that will be use as the merge document. OpenVPMS can only print one reminder at a time (as of v1.6), so letters or postcards are the only option (no 3-across label sheet formats are yet available).
Reminder Count: This field limits this particular reminder template to only printing the reminder appropriate to the number of reminders already sent: so for the first reminder, this should be set to 0 (zero).
Overdue Interval and Units: you can set this template to print current or overdue reminders. As this is the first reminder, set interval to 0 (zero).
List: Check this box if you just want a list of reminders (eg for phone or SMS): no document template is required in this case; unchecking this box prints reminders according to the document template file.

This is an example of the template with the default odt file supplied with v1.5.1:

Once you're done, click Ok to complete your first reminder.
If you want to use your own template document, simply go to Administration | Templates, double-click on Reminder Vaccination First, then
and Browse to your new document and Send it to OpenVPMS.

3. Attaching Reminder To Product/Service


Once you have your reminder setup, the next step is to attach the reminder to a product or service. Click Products and Search for the product or Service you wish to attach a reminder to. In this instance, I've searched for vax, then double-clicked on the item I need. Click on the Reminder tab, then click on Add. Use the binoculars to select the Reminder Type you've just set up, then, because this is an annual vaccination, fill in 1 as Period and years as Period Units, as below:

In a similar fashion, you can set up a temporary vaccination type and add the reminder to a product, checking Interactive to be able to alter the due date at time of billing:

4. Reminder Creation In Action


Let's see how this works in OpenVPMS. You've consulted and vaccinated in the normal way, and have srrived at the billing stage:

You enter the item and press either Ok or Completed:

The reminder icon (the bell) has now appeared in the patient's summary screen and the reminder type, due date and product can be viewed by clicking on the icon:

Similarly if you've set up a product/service with an interactive reminder type (so that you can vary the due date), when you press after billing that item, the reminder screen pops up with a suggested due date (in this case 4 weeks hence):

You may wish to make it, say for 6 weeks' time, simply backspace out the due date, type in 6w.........

.... and press Enter: the due date is now 6 weeks from today:

 



This resource is an openVPMS-enduser created tutorial. Constructive criticism and corrections welcome.

Created 10 July 2012 {compiled by Yuri Sos from many forum posts by Tony De Keizer, Tim Anderson and others}

Setting Up Email To SMS using Generic SMS Gateway: One User's Experience

Complete

openVPMS: Setting Up openVPMS to send SMS Using Your ISP's EmailToSMS facility.

Home Page


CONTENTS

1. Introduction


The ability to send SMSs from within openVPMS is one of the stand-out enhancements to openVPMS v1.5. Whilst two commercial SMS gateways are provided with openVPMS (smsglobal and ClickaTell), you may well be able to use your own clinic ISP to utilise this feature without signing up to these gateways.

I'm going to show you the steps I've taken using the SMS-sending feature that's part of my clinic's ISP. As with all things openVPMS, it's actually quite simple to set up, especially when someone has shown you the way.

My ISP for both clinic and home is Exetel, but your ISP probably offers the same facility. Quoting their website "Exetel provides the ability for any user to send SMS messages using their DSL (Exetel DSL as well as non-Exetel DSL) service instead of a mobile telephone. To send an SMS message all you need to do is to go to your Exetel Members Facilities and select the "SMS" button found on the left sidebar menu. If you do not have an Exetel DSL service you can apply for a prepaid or post-paid SMS only account."

We've used their SMS via ADSL for some years and I was eager to see if I could integrate openVPMS and Exetel's EmailToSMS service. I'm pleased to report that it works like a charm (subject to a "gotcha" I'll explain later in this tutorial).

Whilst most of you probably don't use Exetel, I hope this tutorial will give you some insight that may be of use with your own ISP.

There's thus obviously two components: the openVPMS section and the ISP (in this case, Exetel) section.

2. Configuring the ISP


Log into your ISP account - usually this is the members' section.

EmailToSMS works by sending an email to 04nnnnnnnn[at]sms.exemail.com[dot]au from your registered address with your password as the subject.

The Sender that the recipient sees can be a mobile number (to which they can reply) or a text string of up to 15 characters (alpha characters, no space); thus you can have your SMSs go out with "Myclinic" as the sender: recipients then don't wonder what this unrecognisable number that's texting them belongs to and you don't have to include the now ubiquitous "no reply to this number" advice at the bottom of every SMS. Of course, if you do use text as the sender, the recipient can't reply to that at all.

Insert the following:

  1. Email address: this can be your clinic address, or a separate email address you've invented/created for this function: it'll never be seen or used by anyone: it has no purpose other than it is part of the authentication process.
  2. Password: pick a password of your choice: whilst this will be placed in the "Subject" of the email, it will not appear anywhere as it is also part of the authentication process;
  3. Sender: this is the sender that the recipient of the email will see: your choice - a 10-digit mobile number (04nnnnnnnn) or an alphanumeric string of up to 15 characters: no spaces permitted;
  4. Maximum SMS(s) per email: I selected one SMS per email (I don't see how more than one SMS per email would work in our situation).

Click on the radio button to agree.

Check that you've set everything up correctly and click on Add Registered Email Address/Email Domain To SMS button.

You're done!

If you're like me, you can't wait to try it out: open your email client and try it out (use your own mobile number - (duh!)).......

Click Send. Your test SMS will appear on your phone.

("Capture it" screenshot from my Blackberry Bold 9000)

As you can see, it's much easier to identify the sender if it's text, not numeric.
Ok, that's done - time to move on to configuring openVPMS.

3. Configuring openVPMS


First we need to ensure that your mail server details are correctly set up in openVPMS: it's different in v1.5 than it was in v1.4.

  1. Click on Administration | Organisation | Practice Location.
  2. You need to fill in the data for your outgoing mail host. Probably the best place to get this is to open your email client and look under Tools | Account and Server Settings. You'll need "Outbound Mail Server" for openVPMS's Mail Host, email username and password in the appropriate places as well as the outgoing (SMTP) port.

    Click Ok to save the configuration.
     
  3. Click Administration | Organisation and select SMS Configuration: Generic Email Gateway.
  4. Click New.
  5. Fill in the details as shown below: the To Expression concat($phone,'@sms.exemail.com.au') will return the phone number in the format required. Click Apply when you're done.

    In the lower window, put your own mobile number (you might need to click Apply again). If there's no error message under Status, the test message is ready to be sent (the subject in the lower window will be blank).

  6. If you've done everything right, click Send SMS. Within a few seconds, your test SMS should appear on your phone, complete with your clinic name as Sender.

    ("Capture it" screenshot from my Blackberry Bold 9000)
     

  7. You now need to set up each client's phone details and ensure that the number is set as mobile and the Allow SMS option is checked: see images below:

    Once you click Ok (NOT Apply), a Send SMS button will appear under the panel at left:

  8. You can enable more than one mobile number per client to receive an SMS: when you click on the Send SMS button, you will be presented with a drop-down list of numbers from which you can select.

You should now be ready to send SMSs directly from your openVPMS; while version 1.5.1 collects phone numbers only from the actual number field, version 1.6 will extract the mobile phone number from both area code and number fields, strip off spaces, hyphens and extra text so that a phone number such as (0411) 987-654 (ask for Jane)..............

.......... will appear in your SMS window as 0411987654: see image below:

Hope this is of some help to you.

Home Page



Uploaded 10 June 2012, amended for v1.6 18 June 2012 (Yuri Sos)

The customer module

Complete

There is a pdf attached with the old version of this page. This page needs to be rewritten.

Why not help out fellow current and future OpenVPMS community users by contributing some documentation? To update this information just edit this page and create a new revision of the page.

User Guide

Complete

Introduction

Before exploring this in-depth guide to using OpenVPMS and getting the most out of its functions, please take a moment to read about the product's key concepts:

Key concepts

  • Customers/Clients
  • Patients
  • Supplier
  • Workflow/Schedule
  • Products/Inventory
  • Reporting
  • Administration

How it works

Use the OpenVPMS interface to:

  • Manage your electronic animal health records (EHR)
  • Manage your customers estimates and payments records.
  • Manage your appointment schedule
  • Manage your suppliers and referrals
  • Manage your inventory
  • Get reports

So, those are the basics. Now we'll begin the detailed guide to getting the most out of OpenVPMS. Let's get started!

Module: Customers/Clients

The purpose of this module is to handle all the interactions you might have with the customer.  They range from information about the customer to developing estimates to invoicing to notes about the customer.

Workspace: Information

This workspace display the details about the customer. Manage all aspects of the highly detailed Customer profiles.

Workspace: Documents

This workspace generates documents and stores files that are related to this customer record. Attachments of any file, completed forms or letters.

Workspace: Estimates

This workspace generates estimates for the customer. An "estimate" can be easily converted to a "charge" by pushing the buttom on the bottom of the screen. Estimations are saved and can be used for direct invoicing.

Workspace: Charges

This workspace invoices the customer.   A "charge" can be finalized. Manage invoices, credits or counter sales (non-patient associated billing).

Workspace: Payments

This workspace applies payments on customer invoices.  They are applied in the order of oldest invoice to newest invoice. Manage payments, receipting and refunds.

Workspace: Account

This workspace display the account status of the customer. Summarise all Charges and Payments. View statement history. Alter accounts (if you have the correct permissions).

Workspace: Notes

This workspace display and stores notes about the customer.

Module: Patients

The purpose of this module is to handle all the interactions you might have with the patient (animal).  They range from information about the patient to the electronic health record history of the patient.

Workspace: Information

This workspace display the details about the patient. Manage all aspects of the Patient profile (eg.Account types, contacts, billing types, etc).

Workspace: Medical Records

This workspace stores the medical records history of the patient. Allows management of case records, problem based histories, reminders, alerts, investigations (eg. lab results) and attachments (images, documents or files).

Module: Supplier

The purpose of this module is to handle all the interactions you might have with suppliers (product) and referrals. 

Workspace: Information

Manage the supplier profile. Apart from contact and billing details, suppliers can also be associated with specific products they might supply.

Workspace: Documents

Attach any type of file, completed forms or letters.

Workspace: Orders

Currently allows generation of invoice style orders using the product database. These orders can then issued using pre-existing templates.

Workspace: Deliveries

This is used to acknowledge the receivership of orders.

Workspace: Charges

Manage invoices or credits.

Workspace: Payments

Manage payments, receipting and refunds.

Workspace: Account

Summarise all Charges and Payments. View statement history. Alter accounts if you have the correct permissions.

Module: Workflow/Schedule

The purpose of this module is to handle appointment scheduling.

Workspace: Scheduling

Date-based lists for appointments.

Workspace: Work Lists

Contains lists of tasks relating to a particular Patient. eg. Consultations in a Waiting Room List)

Workspace: Messaging

Allows messages relating to a patient to be left for other users.

Workspace: Investigations

Lab results, digital imaging imaging studies and other scheduled tests are managed here.

Module: Products/Inventory

The purpose of this module is to handle all the interactions you might have with suppliers (product) and referrals. 

Workspace: Information

Considerable detail beyond just pricing information can be stored in the Product profiles which are managed here.

Workspace: Stock Inventory

Information about stock.

Module: Reporting

The purpose of this module is to deliver reports on your veterinary business. 

Workspace: Till Balancing

Tools for clearing and balancing the Till(s). Previous balances can be examined in detail.

Workspace: Deposits

Till balances can be deposited to any number of accounts which are managed here. Deposit slips for banking can be generated.

Workspace: Debitors

Till balances can be deposited to any number of accounts which are managed here. Deposit slips for banking can be generated.

Workspace: Work in Progress

Till balances can be deposited to any number of accounts which are managed here. Deposit slips for banking can be generated.

Workspace: Patient Reminders

Reminder runs with capacity for various posting methods is managed from a similar rich interface as statements.

Workspace: Reports

Running reports and report results are accessed here.

Module: Administration

The purpose of this module is to administer the OpenVPMS application.

Workspace: Organization

Organizations are entities such as Deposit Accounts, Schedules, Practice Locations, etc. Organization objects are what allows the program to be uniquely configured for each different practice.

Workspace: Types

Types are special lists which relate to the organization objects. Examples include; Appointment types (Schedules), Product types, Reminder types and Task types (Worklists).

Workspace: Templates

All documents created the various Document workspaces (ie. Customer, Patients) are based on templates which can be customized here.

Workspace: Lookups

The contents of the various List Boxes are managed here, allowing addition of new items and entries.

Workspace: Users

Managing users accounts within the system.

Workspace: Roles

Managing the group role of users within the system.

Workspace: Authorities

Managing permissions of users/groups within the system.

Workspace: Archetypes

Managing the relationship of data types within the system

 

Modules & Workspaces

The Open VPMS application is divided into Modules and Workspaces. After logging into the application, the Modules are listed across the top of the screen. From left to right, they are:

Modules

Customers
All accounts are based in Customers as well as some documents.
Patients
Animals associated with Customers.
Supplier
Supplier profiles can be kept as well as correct ordering and supplier account management.
Suppliers don't have to be just product suppliers. They can be veterinarians or veterinary practices as might be the case in a referral practice.
Workflow
The day to day operations of the clinic +e.g.+Scheduling, In-patients, staff communications tools.
Financial
Fully documented Till management and banking.
Products
Product profiles and inventory management.
Reporting
Reminder & Statement system and report generation.
Administration
The Implementers domain - unprecedented customization options including list management, practice structure configuration, etc.

Workspaces

Each module has a set of sub-sections called Workspaces. These are listed on the application tree which maps out the structure of the application in broad terms but a detailed reference manual encompassing all areas is beyond the scope of this handbook. We hope that the missing elements will be contributed by the user and implementor community.