The "Reports" functionality is used to define and generate statements from various types of data sets stored in the system database. It is possible to generate statements for the following data sets:
The plot of connections between data sets is shown in the diagram below:
How to interpret the diagram above:
For each dataset, there is a predefined range of data that can be displayed in the dataset (e.g. first name, middle name, surname, PESEL number, etc. for the patient dataset, or visit date, type of visit, etc. for the visit dataset). The list of data from a specific set may also include data from sets related to it, superior to it (e.g. a list of data from internal services may also contain data on visits for which these services were provided and patients for whom these visits were arranged). In data nomenclature, the word "date" means a date and time, the word "date" means only a date without a time, and the word "hour" means only a time without a date. Each element in each data set has its own unique identifier in this set - in the mechanism of defining and generating statements it is referred to as "Id" (eg "Patient – Id").
In the mechanism of defining and generating statements, there are also data kits related to data collections. These are:
Data from the above data collections may be presented in lists generated for the related data sets and for their sub-sets, e.g. data from the collection "Clinic / Department" may be presented in the report of visits (as the unit in which the visit was planned), in the repott of procedures (as the cell where the visit was scheduled for which the procedure was performed), in the report of vaccination referrals (as the cell where the visit was scheduled for which the vaccination was ordered), etc. As in the case of data sets, each element in each data collection has its own unique identifier in this collection - in the mechanism of defining and generating statements, it is referred to as "Id" (eg "Clinic – Id").
For each data set, there is a predefined set of filters that can be used when generating data reports from a specific set. In the form of generating data reports from a specific set, there may be filters also from data sets related to it, superior to it (e.g. in the form of generating a list of NHF services, there may be a filter for the scope of visit dates, which will refer to visits on which NHF services have been implemented).
After selecting the "Reports" functionality from the "Administration" menu, a list of all defined reports is displayed, and next to each of them the "Edit", "Delete" and "Perform" buttons. The "Add" button is visible under the list of reports.
To add a new report, click the "Add" button under the list of reports. The form for adding a report will then be displayed. As the appearance of the form depends on the data set, first select the data set for which the report is to be created.
After selecting a data set, the form changes to the proper one for a given data set. The form specifies the name of the report, indicates what data and in what order are to be included in the report, defines what data filters and in what order are to be included in the report generation form, and indicates what roles users must have in order to be able to generate a given report. To indicate what data is to be included in the report, enter the numbers in the boxes next to the data that are to be included in the report. If the order of data in the report is not important, then any numbers can be entered next to the data to be included in the report. If the order of data in the statement is to be alphabetical, then next to the data that are to be included in the report, enter any but the same number for all. If the order of data in the report is to be strictly defined, then next numbers should be entered next to the data that are to be included in the report - the order of the data in the report will correspond to the order of the numbers entered next to them. To facilitate possible future modifications of the report with the established data sequence, it is worth using data numbering every 10 or every 100, for example, we define a list of patients' data, we assign the number 10 to the "Patient - Name", the number 20 to the "Patient – Surname", for “Patient - PESEL" we assign the number 30. If we now want to modify the report and add the patient's second name to it, but in such a way that it is placed between the name and surname in the report, then to the" Patient - Second name" we assign a number between 10 and 20 e.g. 15. If we did not use the numbering every 10, only every 1, then if we wanted to add a second name between the first and last names to the report, we would have to assign the number 2 to the "Patient - Second name", change the assigned number to 3 for the "Patient - Surname" and for "Patient - PESEL" change the assigned number to 4 (and if the statement contains more data, also renumber all the remaining wrong data, which would mean more work). Since for some data sets the range of data that can be included in the statement is large, a search mechanism has been introduced - by entering a fragment of the name in the search field (i.e. the field with the word "Search ..."), the system will narrow the scope of displayed data to those that contain the searched data phrase. This mechanism can be used in the following way, e.g. if you want to have the name, surname and number of the right to practice the profession of staff in the report, then enter "name" in the search field - only a few data will be displayed containing the phrase "name" and next to the name of interest enter a given number, then in the search field enter "surname" - again only a few data will be displayed, this time containing the phrase "surname" in the name and next to the data we are interested in, enter the appropriate number, then in the search field enter "right to practice" and the appropriate enter the appropriate number of the given from the narrowed chart. The method of determining which filters are to be included in the report generation form is the same as described in the case of indicating what data is to be included in the report. Additionally, you can indicate which roles users must have to be able to generate a given report: only roles with the privilege to manage reports or generate reports are displayed, while the administrator role is permanently marked without the possibility of changing.
After completing the form (defining the report), save the data by clicking the "Add" button. To modify a previously defined report, click the "Edit" button next to a given report on the list. A form will then be displayed, which is identical to that for adding a new report, but filled with the previously saved data. After making the appropriate modifications, the data should be saved by clicking the "Update" button.
To delete a report definition, click the "Delete" button next to a given report on the list. You will then be prompted to confirm your intention to delete, which should be done by clicking the "OK" button (if you want to cancel the deletion, click the "Cancel" button at the prompt).
To generate a report, click the "Perform" button next to a given report on the list. The form for generating the report will then be displayed, containing the filters selected when defining the report. If a given filter is a drop-down list with a relatively large number of options, then a hint mechanism works for such a filter - by entering a fragment of the name of the option in the filter field, the system will narrow down the range of options to those that contain the phrase entered in the filter field. In the case of filters relating to procedures and diagnoses, both the case and the method of entering the ICD-9 / ICD-10 codes in the filter field are important: these filters allow you to search not only by a single code but also by groups and ranges of codes - in filter fields, you can enter one or more codes or ranges of ICD-9 / ICD-10 codes separated by commas (e.g. the entry "A01, A01.0- A01.4" means "search for diagnoses with code A01 and codes from A01.0 to A01.4 ", but it should be borne in mind that when determining whether the code belongs to a given range, the lexicographic order is used, i.e. the extension of the alphabetical order to characters other than letters, hence, for example, the code "A10" belongs to the range "A1 -A2"). After entering the criteria for generating a statement and clicking the "Generate" button, a link appears above the form that allows you to download the generated statement in the form of an XLS file.
In the first line of the report, the names of data from the range are displayed and in the order according to the report definition, the following lines contain the appropriate data of the report.