Patient Product Alert

Donate to this project

Development Project Status: Completed

Total cost estimate (ex-Tax): 
Due date for completion of this stage: 
Current Percentage Funded: 
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 allow patient alerts to be automatically created, when a product is charged.


The sale of certain products implies that the patient has some condition – for example there are various special diet foods for patients with kidney, liver, etc problems.

One also may want to indicate that a patient has had some procedure performed.

We run a manual system in which certain products are given a category/product group that indicates that it this product is invoiced then the patient should be given a corresponding alert.
We have a report that looks for sales of certain products and checks that the patient has the associated alert set - if not the staff need to manually set this alert.

This project will automate this process. That is, one will be able to specify that if a given product is sold then the associated alert is set for the patient.


Archetype Changes


Patient Alert Type

The existing Patient Alert Type lookup lookup.patientAlertType will be replaced with an entity.patientAlertType, and extended to add the following fields:

  • Duration - if specified, this sets the duration for the alert. If not set, then the alert is  open ended
  • Interactive - check this box if you want confirmation when this type of alert is generated as a result of selling a product to which the alert is attached
  • Extend - this flag determines what happens if a new sale results in the creation of an alert that is already set for the patient. 
    If extend is:
    • not checked, any existing alert will be set to Completed and a new In Progress alert created.
    • checked, then the existing alert is updated to reflect the product sold, and has its end date adjusted to reflect the alert's duration setting.
      One can thus choose between leaving a trail of alerts set via previous sales, and just having one active alert to reflect one or more prior sales.
  • Reason - you can provide a default reason for the alert (such as 'Product Sale')

Hence when a product that has associated patient alert(s) is sold, the process is just like that for reminders. If the Interactive flag is set for the alert, then the alert details are presented and can be modified.
The alert's:

  • End Date is set from the Duration (blank if no duration has been set, or the current date plus the duration),
  • Reason is set to that (if any) on the Patient Alert Type
  • Status is set to In Progress
  • Priority is set from the Patient Alert Type,
  • Start Date is set to the current date


The existing product.medication, product.merchandise and product.service  archetypes will have a Patient Alerts node added to allow multiple patient alerts to be specified.

Patient Alert

The existing act.patientAlert archetype will be extended to add a Product node.

Invoice Item

The existing act.customerAccountInvoiceItem will be extended to link to any alerts created when a product was invoiced. This will allow the alerts to be removed if the product is changed, or the item removed.


  • If an alert sets an existing alert Completed, but is then subsequently deleted (either via manual deletion, changing the product on the invoice item, or removing the invoice item), the existing alert is not set In Progress.
  • If invoicing a product extends an existing alert, the alert will be deleted if the invoice item is deleted or the product is changed 


A Patient Alert Check report will be provided as a standard report to allow sales to be checked to see if the patient has the appropriate alert(s) set.


Migration will be required to:

  • convert lookup.patientAlertType to entity.patientAlertType
  • replace the existing alertType node of act.patientAlert with a participation relationship



This project has been fully funded by members of our community.

Thanks to Tim, Anthony and Sam for your ongoing support.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Re: Patient Product Alert

Tim A - looks good to me. When you set the price, I will get you the money.

Regards, Tim G

Re: Patient Product Alert

I will commit $1000 to this project.

Re: Patient Product Alert


We don't have a huge use for alerts at the moment, but we are happy to donate $500.



Re: Patient Product Alert

Great idea! We'll donate the balance for this project :)

Kind regards,

Anthony (ActiVet)

Syndicate content