Completed

Project will now be part of an official release.

Nested product templates

Development Project Status: Completed

Total cost estimate (ex-Tax): 
$1510
Due date for completion of this stage: 
07/01/2015
Release: 
1.8
Project funding: 

You can either donate money to this project by entering the amount above and clicking the 'Add to cart' button, or you can pledge an amount by clicking here to email your commitment. If you make a pledge, then when we have 100% funding commitments, you will be notified by email and you can then make your actual donation. Note that development will not commence until all funds are received.

Project description: 

This project will enable Product Templates to include other Product Templates.

Included product templates will be expanded when the parent template expands in charges and estimates. E.g. given the following templates:

Template A

  • include 1 Template B
  • include 2 Template C

Template B

  • include 5 Medication X
  • include 2 Medication Y

Template C

  • include 10 Medication Z

Expanding Template A in a charge will generate the following line items:

  • 5 Medication X
  • 2 Medication Y
  • 20 Medication Z

Duplicate Products

If the same product is included multiple times via different templates, only one line item will be created, with the aggregate quantity.

Nested template recursion

A product template may not contain itself; trying to save one that does will be prevented with a validation error.

If a product template includes itself indirectly (via another template), this will be detected when the template expands, and an error displayed.

Invoice Notes

If a template contains Invoice Notes, these are added to the existing Notes on the Invoice. If a nested template contains Invoice Notes, these will not be added.

Relationship to other projects

Weight-based Product Templates

Included templates will be subject to weight based-restrictions. i.e. an included template will not be expanded if the patient doesn't fall in the required weight range.

Printing invoices and estimates grouped by product template 

The charge/estimate item will be linked to the outermost product template. This is necessary to handle the situation where products are aggregated.

 

JIRA: OVPMS-1559

EFTPOS Integration

Development Project Status: Completed

Total cost estimate (ex-Tax): 
$10500
Due date for completion of this stage: 
19/12/2014
Release: 
2.3
Project funding: 

You can donate money to this project by entering the amount above and clicking the 'Add to cart' button. In the Checkout process you can either choose to pay now (via Bank Transfer, Cheque or Pay Pal) or you can pledge the amount by choosing the 'Pledge a payment for a Development Project' method. If you make a pledge, then when we have 100% funding commitments, you will be notified by email and you can then action your payment. Note that development will not commence until all funds are received.

Project description: 

This project will:

  • define an EFTPOS API to allow EFTPOS terminals to be used with OpenVPMS
  • change OpenVPMS payment and refund workflows to use EFTPOS if it has been configured
  • log transactions made via EFTPOS terminals, for reporting and auditing

The API will support:

  • Payments (with cash out)
  • Refunds
  • Integrated receipt printing

Note that this project will not include any implementation of the EFTPOS API, as:

  • the required 3rd party libraries don't have suitable licenses
  • we don't want to tie OpenVPMS to any one provider

 

 

Payments and Refunds

The EFTPOS API for payments and refunds integrated with the existing payment and refund editors.

Payments

When the Till has Terminals linked to it, the EFT payment type will include a Terminal field allowing the terminal to be selected:

Add patient weight to reminder export

Development Project Status: Completed

Total cost estimate (ex-Tax): 
$355
Due date for completion of this stage: 
17/12/2014
Release: 
1.8
Project funding: 

You can either donate money to this project by entering the amount above and clicking the 'Add to cart' button, or you can pledge an amount by clicking here to email your commitment. If you make a pledge, then when we have 100% funding commitments, you will be notified by email and you can then make your actual donation. Note that development will not commence until all funds are received.

Project description: 

This project will extend the reminder CSV export support to include three new columns, "Patient Weight", "Patient Weight Units" and "Patient Weight Date". These will:

  • contain the last recorded weight, units and weigh date for the patient
  • be blank, if the patient has not been weighed

To limit the impact to practices already using the reminder export support, the columns will be added after the existing columns.

JIRA: OVPMS-1554

Open Cash Drawer

Development Project Status: Completed

Total cost estimate (ex-Tax): 
$1180
Due date for completion of this stage: 
21/11/2014
Release: 
1.8
Project funding: 

You can either donate money to this project by entering the amount above and clicking the 'Add to cart' button, or you can pledge an amount by clicking here to email your commitment. If you make a pledge, then when we have 100% funding commitments, you will be notified by email and you can then make your actual donation. Note that development will not commence until all funds are received.

Project description: 

Overview

Many POS terminals support opening the cash drawer by sending a set of control codes to the receipt printer*.

This project will add support to open the cash drawer linked to a till:

  • when finalising a payment or refund
  • when clearing a till
  • administratively, from the Till Balancing workspace

Configuration

To configure a till to open the cash drawer, Till will be extended to include the following fields:

  • Printer - the name of the receipt printer
  • Drawer Command - a comma-separated list of decimal values. A value must be in the range 0-255

Both fields will be optional. When both are present, the open drawer command will be converted to a byte array that will be sent to the corresponding printer.

When editing the Till, the:

  • Printer field will be displayed as a dropdown list of the names of all available printers
  • Drawer Command will be displayed as a text field

Testing the Drawer Command

The editor for the Till will be extended to include a "Test" button next to the Drawer Command field. This will send the command to the selected printer.

Opening the cash drawer

The cash drawer will be opened when:

  • a payment or refund is finalised in Customer|Payments
  • a payment is made at Check-Out
  • a till is cleared in Workflow|Till Balancing
  • the "Open Drawer" button is clicked in Workflow|Till Balancing

 

 

 

* See Receipt printer control codes to open attached cash drawer

 

JIRA: OVPMS-1571

Printing Forms & Letters on Patient Transfer

Development Project Status: Completed

Total cost estimate (ex-Tax): 
$1180
Due date for completion of this stage: 
19/11/2014
Release: 
1.8
Project funding: 

You can either donate money to this project by entering the amount above and clicking the 'Add to cart' button, or you can pledge an amount by clicking here to email your commitment. If you make a pledge, then when we have 100% funding commitments, you will be notified by email and you can then make your actual donation. Note that development will not commence until all funds are received.

Project description: 

This project will add support to print forms and letters when a patient task is transferred from one work list to another using the Transfer button in Workflow - Work Lists.

Presently, selecting Transfer:

  1. displays a list of possible Work Lists to transfer to
  2. selecting a Work List moves the task to that Work List

This project will introduce a new step when the Work List is selected:

  1. optionally print documents

This step will be available if the Work List has Templates linked to it, or its Use All Templates flag is ticked. A dialog will be displayed that lists the available documents to print. Each document will have a checkbox, allowing multiple documents to be selected for printing.

  • If a letter to be printed has parameters, a prompt will be displayed allowing them to be entered. Individual letters may be skipped.
  • Documents will be saved, available from Patients - Medical Records - Documents
  • Clicking OK on the dialog prints all checked documents.
  • Clicking Cancel cancels printing

JIRA: OVPMS-1549

HL7 General Orders

Development Project Status: Completed

Total cost estimate (ex-Tax): 
$11740
Due date for completion of this stage: 
06/11/2014
Release: 
1.9
Project funding: 

You can donate money to this project by entering the amount above and clicking the 'Add to cart' button. In the Checkout process you can either choose to pay now (via Bank Transfer, Cheque or Pay Pal) or you can pledge the amount by choosing the 'Pledge a payment for a Development Project' method. If you make a pledge, then when we have 100% funding commitments, you will be notified by email and you can then action your payment. Note that development will not commence until all funds are received.

Project description: 

1. Overview

This project will add support for HL7 general order messages.

It will enable OpenVPMS to:

  • submit and cancel orders to external providers during invoicing
  • submit orders when creating Investigations
  • cancel orders when deleting Investigations or setting their status to Cancelled
  • receive order cancellation notifications from providers to amend invoices

Orders will be submitted whenever an investigation is created that has an investigation type that specifies:

  • an Investigation Service or Investigation Service Group; and
  • a Universal Service Identifier

2. Messages

The following messages will be supported:

Message Type Message Event Name Direction Description
ORM O01 General Order Message Outbound Used to place and cancel orders with an external provider
      Inbound Used by the provider to cancel orders
ORR O02 General Order Message Reponse Outbound Used to acknowledge an ORM^O01 cancellation sent by a provider
      Inbound Used to acknowledge an ORM^O01 message sent from OpenVPMS

Note that outbound messages are those generated via OpenVPMS, and inbound messages are those generated by an external provider.

2.1 Orders

New orders are submitted for:

  • products with approriately configured investigation types, when an invoice is saved
  • investigations

Order cancellations are submitted for prior orders when:

  • an invoice item is deleted
  • an invoice is deleted
  • an investigation is cancelled
  • an investigation is deleted

2.2. Provider Order Cancellation

A provider can cancel an order issued from OpenVPMS, by sending an ORM^O01 message with:

  • ORC-1 Order Control set to CA
  • ORC-2 Placer Order Number set to that of the original order

 

In order to tie these messages into invoicing, a new Investigation Order archetype will be created, similar to the Pharmacy Order archetype. As with Pharmacy Orders, these may be:

  • invoiced
  • created, viewed, and deleted via Workflow - Customer Orders.

To support order cancellation, these may have a Cancellation status.

3. Investigation Services

Two new HL7 services will be supported:

  • Investigation Service
  • Investigation Service Group

Both will be configured via the Administration - HL7 - Services tab.

3.1 Investigation Service

An Investigation Service has a:

  • name
  • description
  • connector used to submit orders
  • connector used to receive order cancellations
  • location, indicating the Practice Location that the service applies to
  • list of patient admission events the service will receive

3.2 Investigation Service Group

An Investigation Service Group is used to group Investigation Services by Practice Location. When submitting orders, the current Practice Location is used to select the Investigation Service to use.

4. Configuration

4.1 Mapping

The following fields require mapping from OpenVPMS to their provider-specific values.

Field Name Description
PID-8 Administrative Sex

Requires a mapping between party.patientpet sex and desexed nodes and the provider values for these. E.g.:

  • sex = MALE, desexed = false => "M"
  • sex = MALE, desexed = true => "C"
  • sex = FEMALE, desexed = false => "F"
  • sex = FEMALE, desexed = true => "S"
PID-35 Species code Requires a mapping between lookup.species and a provider specific species lookup.
OBR-4 Universal Service Identifier Requires a mapping between OpenVPMS investigation type, and the provider service identifier.

 

The PID-8 and PID-35 fields will be supported via a new archetype entity.HL7MappingConfiguration:

  • for PID-8, all of the possible combinations for administrative sex will be enumerated as fields, to allow a value for each e.g:
    • male => "M"
    • maleDesexed => "C"
    • female => "F"
    • femaleDesexed => "S"
    • unknownSex => "U"
  • for PID-35, the archetype name of the provider species will be used e.g. lookup.speciesIDEXX
  • this configuration will be an optional field of Connectors.
  • it will include the Include Milliseconds and Include Time Zone fields, currently held on the entity.HL7ReceiverMLLP and entity.HL7SenderMLLP archetypes

Pre-defined provider configurations may be supported by creating an entity.HL7MappingConfiguration<Provider> archetype (e.g. entity.HL7MappingConfigurationIDEXX), that provides the appropriate mappings for each field as default values.

5. User Interface

The new entity.HL7MappingConfiguration archetype will be viewed and edited via a new tab in Administration - HL7, named Mappings. This will also support editing provider specific mappings.

6. Exclusions

This project will not support:

  • receipt of results (e.g. ORU messages). These can be handled as documents and loaded via the Document Loader
  • OMG, OML, OMD, OMS, OMN, OMI, or OMP messages (these are the preferred order messages in HL7 2.5)

 

Access application context in reports

Development Project Status: Completed

Total cost estimate (ex-Tax): 
$1180
Due date for completion of this stage: 
05/11/2014
Release: 
1.8
Project funding: 

Pledges can be made by email by clicking here.
Development will not commence until fully funded.

Project description: 

This project will make the current application context available to reports.

For Jasper Reports, these will be available as fields.

For OpenOffice reports, these will be available as user fields.

Fields will be prefixed with "OpenVPMS." to avoid clashes with existing fields.

These can be used:

  • to customise forms and letters - e.g. include the current practice location name and address in report headings
  • as alternatives to report parameters. e.g. rather than entering the current customer identifier as a parameter, this can be determined automatically

Supported Fields

 

Field Description
OpenVPMS.patient The current patient
OpenVPMS.customer The current customer
OpenVPMS.practice The current practice
OpenVPMS.location The current practice location
OpenVPMS.stockLocation The current stock location
OpenVPMS.supplier The current supplier
OpenVPMS.product The current product
OpenVPMS.deposit The current deposit account
OpenVPMS.till The current till
OpenVPMS.clinician The current clinician
OpenVPMS.user The current user
OpenVPMS.invoice

The current invoice. Only valid:

  • if in checkin, consult, checkout workflows
  • if an invoice is selected in the charges workspace
OpenVPMS.visit

The visit for the current patient. Only valid:

  • if a patient visit is selected
  • if in the checkin, consult, or checkout workflow
OpenVPMS.appointment

The current appointment. Only valid:

  • when checking, consulting or checking out using an appointment
  • if an appointment is selected
OpenVPMS.task The current task. Only valid:
  • when consulting or checking out using a task
  • if a task is selected

To simplify accessing nodes of the relevant objects, the archetype dot notation will be supported e.g. given the patient OpenVPMS.patient you can access its name using OpenVPMS.patient.name, identifier using OpenVPMS.patient.id etc.

Sample use - Jasper Reports

  • $F{OpenVPMS.location.name} - access the current practice location name

Sample use - Open Office

  • OpenVPMS.customer.id - access the current customer identifier

 

JIRA: OVPMS-1544

 

Screen auto lock

Development Project Status: Completed

Total cost estimate (ex-Tax): 
$1180
Due date for completion of this stage: 
28/09/2014
Release: 
1.8
Project funding: 

Pledges can be made by email by clicking here.
Development will not commence until fully funded.

Project description: 

This project will provide support to automatically lock a user's OpenVPMS session after a period of inactivity.

When a session is determined to be inactive, an "Enter Your Password" dialog will be displayed with:

  • the message "Please enter your password to return to your OpenVPMS session".
  • a password input field
  • an OK button
  • a Logout button

If the password is entered correctly, the existing session is resumed.

If Logout is pressed, the session is terminated, and the Login screen displayed.

Multiple Window support

If a user has multiple windows open in the one session, the "Enter Your Password" dialog will be displayed on each one. If a password is entered, the dialog will be closed in each window.

Statement and Reminder Generation

Statement and reminder generation keep the session active, so while these are running, the "Enter Your Password" dialog will not be displayed.

Configuration

  • The "Auto Lock Screen" time period will configurable on the Practice, and default to 5 minutes.
  • A value <= 0 will disable the auto-locking
  • Changing the configuration will not require an application restart to take effect

Auto-log out

The session may still automatically be terminated if it is inactive too long whilst the "Enter Your Password" dialog is displayed.

The Auto Lock Screen and existing Auto Logout configuration options are both based on when the session was first inactive. So if Auto Lock Screen is set to 5, and Auto logout is set to 10, the session will be terminated after 10 minutes of inactivity.

 

JIRA: OVPMS-1531

Printing invoices and estimates grouped by product template

Development Project Status: Completed

Total cost estimate (ex-Tax): 
$2830
Due date for completion of this stage: 
03/09/2014
Release: 
1.8
Project funding: 

You can either donate money to this project by entering the amount above and clicking the 'Add to cart' button, or you can pledge an amount by clicking here to email your commitment. If you make a pledge, then when we have 100% funding commitments, you will be notified by email and you can then make your actual donation. Note that development will not commence until all funds are received.

Project description: 

When customer invoices and estimates are printed, line items are grouped by patient.

Any product templates that may been used to construct the invoice or estimate has been lost, so it cannot be displayed in terms of the procedures the patient has received.

This project will:

  1. extend invoices and estimates to include the product template used, per line-item
  2. copy the product templates used when invoicing an estimate
  3. allow line items associated with a template to be displayed as an aggregate total in reports, or enumerated
  4. allow individual line items to be excluded from printing
  5. change the invoice, counter, credit and estimate reports to:
    1. group line items by both patient and product template
    2. aggregate line items associated with product templates that indicate they should be aggregated
    3. suppress printing of line items that indicate they should be suppressed

E.g. given:

  • Surgery Procedure 1 template - includes Product 1 and Product 2
  • Surgery Procedure 2 template - includes Product 3 and Product 4

This is currently displayed in invoice and estimate reports as:

Patient Service Provided Quantity Amount
       
Fido Product 1 1 10
  Product 2 2 0
  Product 3 1 7
  Product 4 2 4
Fluffy Product 5 1 5
  Product 6 1 13

This could be changed to:

Patient Service Provided Quantity Amount
       
Fido Surgery Procedure 1    
  Product 1 1 10
  Surgery Procedure 2   11
Fluffy      
  Product 5 1 5
  Product 6 1 13

In the above:

  • Product 2 has been suppressed from printing
  • Surgery Procedure 2 is the template linked to Product 3 and Product 4. It is being displayed as an aggregate
  • If a line item isn't associated with a template, the group heading will be blank, as shown for Fluffy

Archetype Changes

In order to support the above, the:

  • Product Template archetype needs to include a:
    • Print Aggregate flag - if true, line items linked to a Product Template will be omitted, and the template name will be displayed with the total of all items linked to that template
    • per-include Print flag - see below
  • Customer Invoice/Credit/Counter/Estimate Item archetypes need to include a Print flag. This controls the display of zero-total charge/estimate item in reports.

Charge Editor Changes

Customer Invoice, Credit and Counter and Estimate Items will display a Print checkbox to control when the item is displayed in reports.

This checkbox will only be displayed when the item total is 0.

For items:

  • linked to a template, the default value will be that of the Print flag from the product include
  • not linked to a template, the default value will be true (i.e. the box will be checked)

Where an item total is non-zero:

  • the Print checkbox will be hidden
  • the corresponding value for the Print node will be true.

Report Changes

Reports will be modified to:

  • group line items by patient and product template
  • aggregate line items associated with product templates that have their Print Aggregate flag set to true.

The product template name will be displayed with the aggregate total, and the individual line items suppressed.

  • suppress printing of line items that are have a non-zero total, and their Print flag is false

The following report templates will be updated:

  • Invoice
  • Estimate
  • Counter Sale
  • Credit

Each of these has A4, A5 and Letter versions that need to be changed.

JIRA: OVPMS-1605

Weight-based product templates

Development Project Status: Completed

Total cost estimate (ex-Tax): 
$2830
Due date for completion of this stage: 
03/09/2014
Release: 
1.8
Project funding: 

You can either donate money to this project by entering the amount above and clicking the 'Add to cart' button, or you can pledge an amount by clicking here to email your commitment. If you make a pledge, then when we have 100% funding commitments, you will be notified by email and you can then make your actual donation. Note that development will not commence until all funds are received.

Project description: 

Overview

Product Templates bundle products together, to simplify invoicing.

When a Product Template is used in an estimate or invoice, it is expanded so that each included product appears as a separate line item, with the quantity defined by the template.
 

This project will extend product templates to support:

  • weight based product inclusion
  • low and high quantities
  • zero pricing

Weight-based Product Inclusion

Three new attributes will be added to included products, to allow products to be selectively included based on the patient's current weight:

  • Minimum Weight - include the product if the patient's weight is >= the specified value, otherwise exclude it
  • Maximum Weight - include the product if the patient's weight is < the specified value, otherwise exclude it
  • Weight Units - the weight units. Defaults to kg

This can be used to:

Syndicate content