Report fields
If you are trying to use the Jaspersoft iReports tool to build a report, you will need to know the names of the names of the data source fields.
The first step is to determine the template Type, from this you can get from the table below the name of the archetype. Note that three (those in CAPS) are not archetypes - see Special Reports below.
Template Type | Archetype |
---|---|
Appointment | act.customerAppointment |
Bank Deposit | act.bankDeposit |
Customer Account Balance | CUSTOMER_BALANCE |
Customer Counter Sale | act.customerAccountChargesCounter |
Customer Credit | act.customerAccountChargesCredit |
Customer Estimation | act.customerEstimation |
Customer Form | act.customerDocumentForm |
Customer Invoice | act.customerAccountChargesInvoice |
Customer Letter | act.customerDocumentLetter |
Customer Payment | act.customerAccountPayment |
Customer Refund | act.customerAccountRefund |
Customer Statement | act.customerAccountOpeningBalance |
Grouped Reminders | GROUPED_REMINDERS |
Message | act.userMessage |
Patient Form | act.patientDocumentForm |
Patient Image | act.patientDocumentImage |
Patient Letter | act.patientDocumentLetter |
Patient Medication Label | act.patientMedication |
Patient Visit | act.patientClinicalEvent |
Prescription | act.patientPrescription |
Problem | act.patientClinicalProblem |
Reminder Report | act.patientReminder |
Stock Adjustment | act.stockAdjust |
Stock Transfer | act.stockTransfer |
Supplier Credit | act.supplierAccountChargesCredit |
Supplier Delivery | act.supplierDelivery |
Supplier Form | act.supplierDocumentForm |
Supplier Invoice | act.supplierAccountChargesInvoice |
Supplier Letter | act.supplierDocumentLetter |
Supplier Order | act.supplierOrder |
Supplier Remittance | act.supplierAccountPayment |
Task | act.customerTask |
Till Balance | act.tillBalance |
Work in Progress Charges | WORK_IN_PROGRESS_CHARGES |
You can determine the available fields to use in the report by looking at the corresponding archetypes (see Administration|Archetypes).
For example, the act.customerAppointment has the following nodes:
<node name="id" path="/id" type="java.lang.Long" hidden="true" readOnly="true" />
<node name="name" type="java.lang.String" path="/name" hidden="true" minCardinality="1" derived="true"
derivedValue="'Appointment'" />
<node name="customer" path="/participations" type="java.util.HashSet" minCardinality="1" maxCardinality="1"
filter="participation.customer" />
<node name="patient" path="/participations" type="java.util.HashSet" minCardinality="0" maxCardinality="1"
filter="participation.patient" />
<node name="appointmentType" path="/participations" type="java.util.HashSet" minCardinality="1" maxCardinality="1"
filter="participation.appointmentType" />
<node name="startTime" path="/activityStartTime" type="java.util.Date" minCardinality="1" />
<node name="endTime" path="/activityEndTime" type="java.util.Date" minCardinality="1" />
Each of these nodes may be used in reports as follows:
Node | Jasper Expression Class | Jasper Field |
---|---|---|
id | java.lang.Long | $F{id} |
name | java.lang.String | $F{name} |
customer | java.lang.String | $F{customer.entity.name} |
patient | java.lang.String | $F{patient.entity.name} |
appointmentType | java.lang.String | $F{appointmentType.entity.name} |
startTime | java.util.Date | $F{startTime} |
endTime | java.util.Date | $F{endTime} |
Where a node refers to an archetype (e.g. the customer node is a collection of participation.customer), you can use "." to drill down on the nodes of that archetype.
In the above, "customer.entity.name" means:
- retrieve the object associated with "customer.entity"; and
- return its name node
Special Reports
These are special reports that are generated by running queries that:
- derive values
- return partial objects
- return multiple objects
For CUSTOMER_BALANCE, the fields are:
Field |
Type |
Description |
---|---|---|
customer.objectReference | org.openvpms.component .business.domain.im.common .IMObjectReference | The customer reference |
customer.name | java.lang.String | The customer name |
balance | java.math.BigDecimal | The customer balance |
overdueBalance | java.math.BigDecimal | The customer overdue balance |
creditBalance | java.math.BigDecimal | The customer credit balance |
lastPaymentDate | java.util.Date | The customer's last payment date |
lastPaymentAmount | java.math.BigDecimal | The customer's last payment amount |
lastInvoiceDate | java.util.Date | The customer's last invoice date |
lastInvoiceAmount | java.math.BigDecimal | The customer's last invoice amount |
unbilledAmount | java.math.BigDecimal | The customer's unbilled amount |
For GROUPED_REMINDERS, the fields are:
Field | Type | Description |
---|---|---|
customer | party.customerperson | The reminder customer |
patient | party.patientpet | The reminder patient |
reminderType | entity.reminderType | The reminder type |
product | product.* | The reminder product |
clinician | security.user | The reminder clinician |
startTime | java.util.Date | The reminder start date |
endTime | java.util.Date | The reminder due date |
reminderCount | java.lang.Integer | The reminder count |
act | act.patientReminder | The reminder act |
For WORK_IN_PROGRESS_CHARGES, the report is supplied with Invoices, Credits and Counter charges (act.customerAccountChargesInvoice, act.customerAccountChargesCredit, and act.customerAccountChargesCounter archetypes respectively), that have an In Progress, Complete or On Hold status.
The available fields are therefore the nodes present in each of these archetypes.