Assumption

This guide assumes the reader has already read the Joty application guide of the Joty framework web site.

Installation

Here it is to be pointed that either the application is set with a client server asset or with a web application asset, the availability of an instance of MySql server is a precondition for Odontior 2.0 to be run. Then the first action is the launch, as MySql 'root', of the script for the creation of the database of the application.

The database script and all other ingredients specific to the application can be found in the Downloads section of the odontior.org web site.

The database instance provided is completely empty except the descriptions strictly bound to the semantics of the application.

Default user's credentials and built-in application roles

The application is distributed with three users defined with the associated default password:

User Password
admin JotyAdmin
user1 JotyUser1
user2 JotyUser2

(NOTE) The shared demonstrative instance, made available along this web site, requires that the credentials received by the visitor are to be used. The credentials take the following form:

User Password
admin_[NNNN] [a received password]
user1_[NNNN] [a received password]
user2_[NNNN] [a received password]

... where [NNNN] stays for an up to four digits number as it is assigned by the dispenser procedure.

and has the following built-in application roles:

Role Abilities
Administrators Write access to Users dialog and Application features
Practitioners Access to the dentistry
Doctors Access to all medical data
Administrative personnel Access to financial data and the dentistry
Schedulers Appointments management

The predefined users, then, have the following roles active:

User Administrators Practitioners Doctors Administrative personnel Schedulers
admin X
user1 X X X X
user2 X

The File menu

Next are the descriptions of each item:

item Description
Patients Opens the Patients dialog
Customers Opens the Customers dialog
Insurance companies Opens the Insurance companies dialog
Practitioners Opens the Practitioners dialog
Organizer Opens the Organizer dialog
Waiting list Opens the Waiting list dialog
Treatments Opens the Treatments dialog
Invoices Opens the Invoices dialog
Estimates Opens the Estimates dialog
Armchairs Opens the Armchairs dialog
Set last invoice number Allows the setting of the number the system have to consider to evaluate the next value for the invoice numbering

The 'Teeth naming' item of the Tools menu

Opens the teeth naming and quadrants naming editing context (only for Administrators)





The Odontior 2.0 data dialogs reference

Index

Patients dialog

On the left it has an area for the patient lookup and on the right a data management region for accessing the record, or record related data, corresponding to the selected row on theSearch Result list. Then the data management is performed by means of three data panels described as follows:

Main data

Accessing roles:

Role Permissions
Administrative personnel all
Practitioners read
Doctors read

All the fields in the upper region are mandatory when editable. Then details data grids, just below, are about :

  • Queued events: pending and unscheduled events; Double click mapped data dialog: Waiting list dialog.
  • Appointments: scheduled events; Double click mapped data dialog: Organizer. A flag allows a 'future only' insight.
  • Clinical cards:

The Related invoices (view) button opens in read-only mode the Customer invoices dialog populated with the data of all the customers related to the patient

Related customers

Accessing roles:

Role Permissions
Administrative personnel all
Practitioners read

The panel allows the specification of many customers as related to the current patient. Each record created is dedicated to a related customer.

The customer must be selected by the use of the Browse button that opens the Person searcher. Then a relationship (descriptive) must be specified or the checkbox Is the patient must be checked for asserting that Customer data and Patient data refer to the same physical person (the system alerts if names do not match but allows the mismatching)

The Customer details button opens, in read-only mode, the details panel of the customer data, like that one that composes the Customer dialog

The Invoices and Estimates buttons give an insight of these inherent details for the customer just as those ones contained in the Customer dialog

Reserved notes

Accessing roles:

Role Permissions
Doctors all

The panel allows the creation and the collection of more records related to the current patient. The fields have all obvious meaning a part from Practitioners: The doctor that has access to this panel can be listed in the drop-down list if he/she has been inserted in the Practitioners dialog. If this is the scenario typically the doctor operates as by self and his account has been equipped with the 'Practitioners' role but this is not needed for the access to this panel.

Customers dialog

On the left it has an area for the customer lookup and on the right a data management region for accessing the record, corresponding to the selected row on theSearch Result list. This region is made by a single data panel:

Data panel

Accessing roles:

Role Permissions
Administrative personnel all
Practitioners read
Doctors read
Schedulers read

All the fields, when editable, are mandatory except the last two phone numbers and the Note field. In the lower part there are two details data grids:

  • Insurances: the insurance coverage as all the possible insurances registered with the customer. Double click mapped data dialog : Insurances dialog.
  • Patients: the patients which the customer is responsible for, about payments. Double click mapped data dialog : Patients dialog.

The Invoices and Estimates buttons become enabled when a patient row is selected and open the respective details dialog, that is, respectively, the Customer invoices dialog and the Customer estimates dialog

Treatments dialog

It allows treatment lookup when opened as selector and complete management of treatments when opened by the application.

In both opening mode it presents in the upper region a searcher that is input sensitive (the research runs just the user inputs something in the criteria field).

In the lower region there is the data management section that when the dialog is opened as selector can be used as details region about what selected.

The data management area is composed by the following data panels:

  • Main data

    Essentially the mapping between symbol and description is defined here.

    The Type option is only for helping the look-up that provides even in the criteria fields the same attribute available. 'Any' means that the treatment is classified both for general context and for specific tooth context.

    Accessing roles:

    Role Permissions
    Administrators all
    Doctors read-write
    Practitioners read
    Administrative personnel read
  • Price

    Allows the definition of prices. The Default one propagates its value on intervention definition (see Interventions dialog). The Maximum is not processed by the system but only collected for records

    Accessing roles:

    Role Permissions
    Administrative personnel read-write

Clinical card dialog

It is a real panel with no direct access to data a part from a first overall insight. It can be seen as the selector of the core clinical entity: the tooth.

Accessing roles:

Role Permissions
Practitioners all
Administrative personnel read
Doctors read
Schedulers read

The region headed with the label Selection of the context allows, just as said, the identification of the target entity, that is the tooth or the entire mouth, either for an overall insight of the related data or for the settlement of it as central main datum in respect of which opening the details dialog mapped to the details grids, in order to perform the editing, indeed.

The horizontal bar that separates the upper and the lower arcade represent the entire mouth and behave as analogical selector together with the teeth of the arcades (upper and lower - decidual and/or normal)

The selection of the context, indeed, may be performed by means of the analogical entity or by selecting a row of the grid.

The analogical region accompanies the grid also in representing:

Data related to the selectable entity are Interventions and Images. In the main grid, then, quantities of records of these data are presented, row by row. Executed and un-executed interventions are presented in different columns.

The identification of the selectable entity is made either analogically or by the row heading performed by the two columns on the left of the main grid.

On the bottom and on the right of the selection region are the following grids:

A direct opening of the mapped details dialogs can be got by double clicking the cells of the columns of the main grid.

The View card descriptor button opens the Descriptor dialog

Clinical card Descriptor dialog

It is a multi-record data dialog that navigates along the clinical cards of the patient about only their main editable properties and it leads to the Clinical card dialog by means of the Open details button.

Accessing roles:

Role Permissions
Doctors
Practitioners read
Administrative personnel read
Schedulers read

It is apparent that only Doctors are responsible of the maintenance of the card in term of creation, deletion and editing of the main properties (dates and notes). By comparing the permissions with the ones of the Clinical card dialog results that an operator in order to have full control on the clinical cards data must own both Doctors and Practitioners roles.

Number is an auto-increment integer that enumerates the cards of the patient

Interventions dialog

It is a multi-record data dialog with the navigation grid at the top of its layout and it is composed by the following two data panels:

Main data panel

Accessing roles:

Role Permissions
Practitioners all
Administrative personnel read

Treatment and Diagnosis time fields are mandatory. The first one must be specified by means of the Browse button that leads to the Treatments data dialog opened as selector.

Exeution time, when entered, tells the system that the intervention is to be enumerated in the executed interventions.

Commercial data

Accessing roles:

Role Permissions
Administrative personnel all

The price about this specific instance of intervention is held here. It inherits its default value from the corresponding record in the treatments archive.

Images dialog

An only data panel composes this multi-record data dialog

Accessing roles:

Role Permissions
Doctors all
Practitioners read

Timestamp is the only field normally editable. It is initialized with the 'now' date-time value.

The Image field gets its value through the use of the image component mapped on it.

The Open all as tiles button perform a shortcut to the built-in feature of the image component: All the images listed in the master grid are opened, each in a dedicated viewer window, and disposed as tiles.

Insurance companies dialog

It has, at the top, a searcher for looking up the companies archive.

In the lower region there is the data management area made by an only data panel that access the record corresponding to the currently selected row in the result list of the searcher.

Accessing roles:

Role Permissions
Administrative personnel all

The main data are presented as attributes of the company

Every company may have one or more reimbursement plans built as percentage of the price of each treatment registered by the application

These plans are listed, by name, in the Reimbursement plans grid. Double click mapped data dialog : Reimbursement plans dialog.

Reimbursement plans dialog

It is a data dialog that lists the reimbursement plans of an insurance company. It is just to specify the name and a note about the plan currently selected in the navigation list, and that is accessed in details by means of the Details button.

Role Permissions
Administrative personnel all

Reimbursement plan (details) dialog

It lists all the percentages of the price of each treatment registered i the system.

It is a navigator-editor list dialog having Percentage as editable column.

Accessing roles:

Role Permissions
Administrative personnel all

Insurances dialog

It is a multi-record data dialog that makes the access to the insurances of a customer.

Accessing roles:

Role Permissions
Administrative personnel all

The one only data panel collects the most significant quantities that define an insurance coverage

The coverage type is summarize in a domain of three values:

  • Deductible / Maximum: the coverage is complete but is actual when the amount, spent in the benefit period, is between the Deductible amount and the Maximum amount
  • Coinsurance provision: the coverage is based on a percentage of what is spent in the benefit period
  • Reimbursement plan: the coverage is based on a percentage reimbursed specific to each treatment.

The Type drop-down list helps to locate the suited quantities but lets the user, also, to enter all the values, in fact it provides the 'custom' value. The system processes these data only in the compute of an estimate and does not take in account the benefit period that lasts a simple collected datum for records.

The algorithm by which the quantities are elaborated, is documented in the Customer's estimates dialog.

The Company, one of the mandatory fields, must be selected by means of the Browse button.

The Friendly name field is mandatory as it is used by the system as identification key for choosing among different owned chances of insurance coverage. It might be chosen typically by the customer.

Customer's invoices dialog

As multi-record data dialog with the navigator list on the left and the data management panel (one only) on the right, it lists the invoices of the customer

Accessing roles:

Role Permissions
Administrative personnel all

The dialog allows the composition of an invoice picking interventions up from the grid of the Available items; double clicking on this grid the item of the row is pushed into the Items grid, that is ...items of the invoice.

Note: For the invoicing it was chosen to make available also interventions where the execution time is not specified (maybe was not for some reason); it is up to the administrative user to recognize the actual item to be invoiced: the system presents, as available, all those ones related to the patient (mentioned in the heading of the invoice) and not yet invoiced (not yet present in other invoices generated for works for the patient). As an help the Intervention details button is available: when the dialog is in editing mode and before any exchange occurred between the two grid, the button provides details of the intervention selected in the Available items grid.

An invoice can manage only works for only one patient.

The lack of the patient value means that the customer is the patient too.

The Number field is an auto-increment integer that enumerates the invoices of the company within the year. At any rate a user having the 'Administrators' role can set the value of the last invoice number by means of the dedicated item in the file menu.

Let's name 'items sum' the sum of the price of all the items collected by the invoice. Then there are the following fields that deserve a description:

The two extra amount quantities have, next, a description field by which the user can qualify semantically the quantity field.

At last the Render button is available: it generates the invoice as printable document.

Customer's estimates dialog

It is similar to the Customer's invoices dialog.

Role Permissions
Administrative personnel all

The main differences are that:

  • there is no Number field
  • 'Amount' becomes Cost by respecting the point of view of the customer that is waiting for the estimate computation
  • A couple of fields appear: Insurance and Already spent. The former is one of the insurances of the customer, identified by its friendly name (see the Insurances dialog) and the latter is initialized by the field having the same name in the insurance record but can be customized / actualized and with its new value it is stored in the estimate document. The 'Insurances' field is modifiable until an exchange of items occurs between the two grid
  • In the 'Available items' grid the presence of the 'Reibursement (%)' column that indicates, for the selected insurance, the reimbursed percentage of the item price based on the possible existing reimbursement plan
  • Pushing items in the estimate does not avoid that the same items were pushed in other estimates (it makes sense building more estimates for a scenario and it is not the same for an invoice).
  • There is no Render button

The algorithm by which 'Cost' is computed is the following :

Invoices dialog

Allows the research of invoices by 'Number', by 'Date' (with greater than and less than operators) and by customer.

Furthermore it allows the printing of the found document.

Accessing roles:

Role Permissions
Administrative personnel all

Estimates dialog

Allows the research of estimates by 'Date' (with greater than and less than operators) and by customer.

Accessing roles:

Role Permissions
Administrative personnel all

Organizer dialog

It is the application organizer.

Accessing roles:

Role Permissions
Schedulers all
Practitioners read
Administrative personnel read

By means of a calendar instance it allows navigation along the time and allows to set up the appointments either by double clicking a row of the grid on the right, so that the Appointment dialog opens, or by dragging and dropping a grid row from the Interventions grid of the Clininical card Dialog or from the Waiting list dialog

.

In the first case a simple appointment is created, in the second case the appointment is transferred as is, a part from the acquisition of the coordinates.

Let's say 'time slot' the interval time five minutes long in which the whole working day is divided.

The grid on the left has two tasks to accomplish:

The grid on the right has significant columns:

The Go to button with the date field just attached down, let the user jump to a key typed date.

The Back button becomes useful when a collision is detected during the insertion of an intervention into an appointment; in that occasion the system drives the user to the context where the intervention is already mentioned. Then the button can drive the user back to the insertion context.

Appointment dialog

Accessing roles:

Role Permissions
Schedulers all
Practitioners read
Administrative personnel read

This is a single record data dialog that allows to set up the definition of an appointment.

It is opened either from the Organizer or the Waiting list. In the first case the fields at the top are populated by the coordinates of the first time slot, mandatorily engaged by the appointment definition; in the second case they are empty.

The selection of the patient is mandatory and must be accomplished by the next Browse button.

The Duration field is mandatory too (expressed in minutes) because it is used by the system for the management of the time coverage.

The Details button makes the opening of Patient details dialog.

This is the place where an appointment is defined as built by a single intervention or more interventions (in which case it is said 'macro').

The Macro check box asserts that truth.

The dialog has special behavior in respect of data access when the switching occurs between the two inherent states:

  • regardless the versus of the switch the system alerts the user that, in order to continue, data modified during the editing session will be saved (making useless the 'cancel' command)
  • by switching the 'macro' attribute on, if the intervention was specified then the interventions grid, contextually appearing, is initialized with the intervention
  • by switching the 'macro' attribute off, if the interventions exist then the following options occur:
    • if the interventions grid contains one only item then this one is used to populate the definition of the intervention in the simple asset
    • if the interventions grid contains more items the user is alerted that all of them will be deleted

In the macro state the changes to the interventions grid performed by the Add and Delete buttons are immediately effective and the editing session of the dialog continues independently. The same is for modifications to the grid derived by dragging and dropping a row from the interventions grid of the Clinical card dialog

Waiting list dialog

Accessing roles:

Role Permissions
Schedulers all
Practitioners read
Administrative personnel read

This data dialog is made only by a grid the row of which can be dragged up and down to change the queuing order of them, order marked by the first column.

Adding rows is possible only by dragging and dropping interventions from the interventions grid of the Clinical card dialog or appointments from the Organizer

In the first case a simple 'undefined' appointment is created, in the second case the appointment is transferred as is, a part from the leakage of the coordinates.

A row can be edited double clicking it: the Appointment dialog opens. Then the appointment can be also deleted.

The composition of the grid is similar to that one of the grid on the right in the Organizer.

Teeth naming dialog

Accessing roles:

Role Permissions
Administrators all

It allows to set the symbols that the application uses to make references to all the teeth. It is made by an analogical region that helps to select each row of the grid making the values editable.

Even a direct selection of the row is possible; in this case the analogical region gives the user a visual feedback of which tooth is being defined.

The Quadrants button opens the Quadrants naming dialog

Quadrants naming dialog

Analogous to the Teeth naming dialog but for quadrants.

Accessing roles:

Role Permissions
Administrators all

Practitioners dialog

Provides the simple data collection of the practitioners mentioned in the application.

Accessing roles:

Role Permissions
Administrators all
Administrative personnel read
Practitioners read
Doctors read
Schedulers read

Armchairs dialog

Provides the core definition of the armchairs managed by the system.

Accessing roles:

Role Permissions
Administrators all

Person searcher dialog

A dialog made by a searcher and dedicated for the lookup of the customers and the patients

Accessing roles: inherited from the calling context.

Patient details dialog

It is made by the main data panel of Patients dialog made read-only.

Customer details dialog

It is made by the main data panel of Customer dialog made read-only.

Insurance company details dialog

It is made by the main data panel of Insurance companies made read-only.