************************* LSM Changelog ********************************
LSM Changelog per year: 2014 / 2015 / 2016 / 2017 2018 / 2019 / 2020 / 2021 2022 / 2023 / 2024 / 2025 / 2026

************** 2014 **************
LSM v2.3.
– 5/November/2014
– Job status has four different values instead of 3:
Pending (not started), In-Progress (started), Completed (completed but not validated), Finished (validated).
– Hide jobs in Job List only after validation.
– Tick icon for Finished jobs and Square icon for Completed jobs – Validated jobs are not editables.
– Show only one column status in Job List: Job status is shown in job row; Assay status is shown in assay row; Sample status is shown in sample row.
– Show custom sample fields in job window. – Show unit of sample parameters on reports.
– Added checkbox to ‘ignore first line’ on import CSV of samples.
– Changed label of buttons in ‘Manage’ options: “Save & Start” and “Complete” in order to unify with individual assay edition options.
– Fixed error in ‘Manage’ options when using character ‘>’ or ‘<‘.
– Fixed scrolling and window size in job window in order to popup window never be bigger of main window.
– Fixed encoding problems in reports (PDF/Print). – Fixes some tags missing in reports (##customer_address## and ##customer_name##).
– Replaced PDF generating library: html2pdf by mpdf, which improves the quality of PDF resulting.
– When a report contained more than one assay, report will use each assay template, instead of the general template.
– Upgrade CKEDITOR v4.5 – Allow uploading/replacing images with repeated names in templates

LSM v2.4.
– 11/December/2014
– Parameters of type valuelist. Now it is possible to define the list of values that becomes a dropdownlist in assay definition and assay results.
– Parameters definition improvement. List of values/units/phrases are entered as tags (users only have to type and press enter to add a new value/unit/phrase).
– Job list export button has been changed to export only samples (SampleID, Name, Customer, Assay).
– When customer logins add a job, the field customer is pre-filled and not editable.
– When a job is started, the edit option is not visible to customer logins.
– Until job validated, the report option is not visible to customer logins.
– In templates definition, the tag list remain active to be able to copy-paste.
– Hide upload control in completed status. – Fix order for custom parameters of samples in window of job details.
– Allow upload multiple files for multiple samples in the ‘Document’ tab of ‘Manage-Results’ option, and view uploaded files in the ‘Document’ tab of ‘Manage-Validate’ option.

************** 2015 **************

LSM v2.5.
– 28/February/2015
– LabCollector samples linking to LSM. ‘Add job’ and ‘Edit job’ screens allow add ‘Memorized records’ from LabCollector.
– Rename the samples. ‘Add job’ and ‘Edit job’ screens include a fast way to rename samples importing a CSV.
– New job status QUOTED that generates an automatic proposal invoice with a watermark ‘Quote’. Users can later ‘Order job’ in ‘Job list’ screen.
– Discounts in customers and invoices. If discount is set in ‘Customer’ page, the discount will applied to all future invoices of that customer. But discount can also be set in any individual invoice.
– Job/Sample/Assay icons have been changed. One color for each status in LSM and lsmremote.
– Bug fixed: invoices template was not well shown on ‘Admin->Costs’ screen.
– Bug fixed: the total of invoices on ‘Invoices’ tab of screen ‘Customer’ didn’t include the taxes.
– Upgrade DHTMLX Suite v4.1.3.
– Upgrade DHTMLX Scheduler v4.3.
– Upgrade DTHMLX Vault v2.4.
– Ability to download already uploaded files in the ‘Document’ tab of ‘Manage-Results’ option.
– Ability to download already uploaded files in the ‘Document’ tab of ‘Manage-Validate’ option. Now it is also possible to upload files or delete them from here.

LSM v2.6.
– 20/May/2015
– Contextual menu in Job List shows always all options. When option is not possible, it is shown on menu as greyed out.
– Sample ID is now visible on Job List.
– New editable field ‘Batch’ in Job List.
– New option group by ‘job-batch’ in Job List, besides group by ‘job-assay’ and by ‘job-sample’. This option improves bulk actions allowing open ‘manage windows’ with all samples of a batch.
– New option in contextual menu in Job List to mark/unmark some sample as ‘Alert’. Samples with alert status are be colored in yellow.
– New item “Find” in toolbar of Job List page.
– New button “PDF” in ‘Calendar’ to generate printables PDF of month, week or day view. Using this button in day view generates work list.
– New button “Shipping list” in ‘New job’ window. This button generates a PDF with the list of samples and checkboxes of assays, and it is automatically opened when user click the button ‘Save’ of new job.
– Bug fixed: Jobs with ‘Expected date’ empty didn’t appear in ‘Calendar’
– Bug fixed: Datepicker position is fixed to prevent datepicker popup is truncated, in ‘New job’ window.
– Bug fixed: A new icon accompanies rows with ‘rush’ priority in Job List.
– CSS breadcrumb in single job-sample-assay popup has been improved.

LSM v2.7.
– 17/Jul/2015
– New option group by ‘assay-status’ in Job List toolbar, to facilitate filter samples and input results of samples in bulk.
– New checkbox column in ‘Manage’ windows to allow uncheck some sample in bulk actions, i.e. validate all samples except one.
– Popup to confirm password when trigger validation. This is a FDA regulation mandatory need. This feature can be activated in settings.
– New lock mechanism to prevent concurrent editing samples. If one sample is locked, it is opened in read-only mode.
– Improve audit trail. More actions saved and IP registered.
– Improve bulk actions. All samples are shown even without parameters.
– Possibility of use sign plus (+) in values of parameters of type ValueList.
– Bug fixed in validate jobs when logged user is superadministrator.
– Bug fixed in add/edit job with customer login.
– Bug fixed in ‘Manage’ options: some repeated columns appear.
– The order of parameters in ‘Assay’ definition, is always the same of creation order.
– Modernize buttons making slightly bigger and rounded
– New tags for results templates ##samples## and ##matrix##
– Order of input or results parameters is always the same (creation order)
– Enlarge the size of the ‘Change password’ to make it look full in all browsers
– Bug fixed: Customers were not allowed to open reports from job list.

LSM v2.8.
– 16/Dec/2015
– Bug fixed: Fix error that occurs when opening job-sample-assay.
– PDF reports & invoice supports UTF characters.
– Codebars include name of job, sample or assay.
– Bug fixed: Date parameters of assays display calendar.
– Bug fixed: Value list parameters of job or sample display dropdown list of values.
– Bug fixed: Depending on PHP configuration of ‘error reporting’ section, the ‘Validate’ button might cause error.
– Bug fixed: Bulk actions (save results, validate) don’t work in some browser
– Bug fixed: If user is admin, then username is not displayed in board view (home page), nor in sample status (follow up -> sample shipment)
– Bug fixed: Field “phrase” is cut in grids.
– Bug fixed: On JobList special characters are not showing right.
– Upgrade DHTMLX Suite v4.6.

************** 2016 **************

03/05/2016
– BUG: Params in reports using tag ##matrix##
– BUG: Problems with borders in reports
– NEW: tag “job_param” in reports
– NEW: tag “results” in reports

LSM v2.9.
– 15/Jun/2016
– IMPROVED: Upgrade DHTMLX Suite v5.0
– IMPROVED: Interfaz with new forms and grids, new look-and-feel and faster.
– NEW: Parameter datatype ‘Datetime’
– NEW: Parameter datatype ‘Image’
– NEW: Range in result parameters of assays: new fields Min & Max
– NEW: Field Code in Assays
– NEW: Field Category in Assays
– NEW: Ability to select all assays belong a category at once, in ‘New job’ window
– IMPROVED: Small window with autocomplete function to select assays or categories, in ‘New job’ window
– IMPROVED: Ability to assign assays or categories to multiple samples, in ‘New job’ window
– IMPROVED: Unit not mandatory in parameters
– IMPROVED: Blank default unit and/or blank default phrase are allowed for result parameters, in Assay definition
– BUG: General comments not saved

23/06/2016
– NEW: Pending samples list
– NEW: Pending batch list
– IMPROVED: Shortcut to Add new job in Menu
– IMPROVED: Icons in job list
– IMPROVED: Show reagent & equipment info in batch results page
– IMPROVED: Style of editable cells
– IMPROVED: Batch field of job list is a dropdown list with autocomplete
– IMPROVED: Adjust size of forms
– IMPROVED: Add assay/add category answer to ENTER key to validate assay/category
– BUG: Export calendar & shipping list to PDF

28/06/2016
-BUG: Edit job
-BUG: Dropdown list in job form

LSM V3.0.
– 4/Jul/2016
– IMPROVED: Adjust size of tabs, and display horizontal scroll if needed
– IMPROVED: Login form answers to ENTER key to sign in
– IMPROVED: Filtering in ‘Pending samples list’ and ‘Batch list’
– BUG: No info in batch column in ‘Job list’
– group by sample
– NEW: Mark sample as QA/QC
– IMPROVED: Range values of result parameters in report

11/07/2016
-BUG: Prevent creating repeated categories of assays

LSM V3.01.
– 19/jul 2016
– IMPROVED: Dropdown lists not preselected in New Job Form
– BUG: Button Save/Cancel in Menu Job->Add job
– IMPROVED: Entry batch operations. Remove assay name from columns and place it in header title.

LSM V3.02.
– 22/jul 2016
– BUG: LSMRemote
– report buttons (IE)
– IMPROVED: LSMRemote
– when select category automatically select assays and vice versa
– BUG: assays repeated when selecting assay and category together in new job form
– IMPROVED: Labels in batch operations
– BUG: Incorrect tab size entering results
– BUG: Sample number, Sample name & Assay name not shown in popup windows
– BUG: Select language control
– IMPROVED: Customer list ordered in new job form, and autocomplete
– IMPROVED: Unit not mandatory and allows special characters in popup to enter results
– IMPROVED: Replaced alerts by messages that don’t need user to click, in administration screens

LSM V3.03.
– 31/aug 2016
– NEW: PWN API integration (I). PWN setup page and activation.
– NEW: PWN API integration (II). Automatic creation of jobs from PWNHealth
– NEW: PWN API integration (III). New button in Job List menu to send results to PWNHealth
– NEW: New button ‘Replicate’ in New job toolbar
– NEW: Flag ‘OnForm’ in job/sample parameters
– NEW: selector to specify which range will be used in ‘Starting job’
– IMPROVED: Assay autocomplete also searchs by Assay code
– IMPROVED: 2 ranges min-max in assay results
– IMPROVED: Delete option marks job as delete (not real delete)
– IMPROVED: Automatic sample naming in New job
– IMPROVED: Shipping print button on ‘View job’ in addition to ‘Edit job’
– IMPROVED: Possibility to merge the results of all assays of the same job on reports
– IMPROVED: User ‘Groups’ button. Edit and delete groups, and autocomplete users dropdown
– BUG: Job level fields some times don’t display well
– BUG: Horizontal scroll in ‘Add job’ – assays grid mode
– BUG: UTF8 error in send report by mail
– BUG: Only numbers in customer code

LSM V3.03.1
– 22/sept 2016
– BUG: batch list
– BUG: install script

LSM V3.03.2
– 28/sept 2016
– BUG: contextual menu of job list

LSM V3.04.
– 19/oct 2016
– NEW: Export/import CSV of batch results
– NEW: Allow creation and edition of empty jobs, without samples and/or without assays
– NEW: Result files are accesibles since job menu: Report -> Files
– NEW: Result files are visibles in lsmremote
– NEW: Result files are attached to mail sent to customer.
– IMPROVED: On batch results, a sample is completed if all results are not empty. Checkboxes to complete samples have been removed
– IMPROVED: Upgrade styles to make forms more readable

LSM V3.05.
– 21/dec 2016
– NEW: Up to 6 ranges with custom labels. Ranges values are defined in Assay managemente and selected when starting each job/assay
– NEW: Automatic assignment of phrases for result parameters of assays, depending if value is in range, lower or higher
– NEW: Assay categories management. Each assay can belong to more than one category
– NEW: Be able to order parameters of new job form parameters management
– NEW: New button ‘assign batch’ in samples list & job list
– NEW: Integrate LabCollector users through an import system that also allow merge accounts.
– IMPROVED: LSMremote. New customization properties: hide job number, sample number, job date, disable quotes and customize report buttons
– IMPROVED: PWNHealth integration. Allow send partial results, no return error when abnormal results and track messages in audit log
– IMPROVED: Field type boolean – IMPROVED: Field type datetime
– IMPROVED: Rename group of users <-> team
– IMPROVED: Groups of users management
– IMPROVED: Batch view shows all batches
– IMPROVED: Allow default value and unit to be blank in admin->assay->input parameters
– IMPROVED: Dropdown list not truncated
– IMPROVED: Assign range to samples in Job List->Manage->Starting parameters
– IMPROVED: Allow multiple installations of LSM in the same LabCollector instance
– IMPROVED: Record last login of users
– IMPROVED: Parameter level can not be changed
– IMPROVED: Missing * in required fields (assays and jobs)
– IMPROVED: Helper text in job number
– IMPROVED: Helper text in select assay popup
– BUG: LSMremote problem to send new orders
– BUG: Admin Assays >> Filter does not work
– BUG: Admin Assays >> Order does not work
– BUG: Admin Parameters >> Order does not work
– BUG: Problem with sign in with administrator in Firefox
– BUG: Hide deleted jobs in Customer
– BUG: Some toolbar buttons push down samples grid out of area, in new job window
– BUG: pending samples list is not refreshed after actions
– BUG: Quotes selector to new jobs

************** 2017 **************

LSM V3.05.1
– 10/jan 2017
– BUG: Edit categories of assays or teams of users don’t load the items contained and when click save previous items are removed of the category/team
– BUG: Conflict with variable ‘url’ in assays management and users management
– IMPROVED: Assays management
– categories dropdown show all categories besides allowing autocomplete, and a helper text was added

LSM V3.06.
– 12/jan 2017
– IMPROVED: PWNHealth integration. Fields mapping system has been extended, now it allows defining additional params to send to PWN together with results

LSM V3.06.1
– 23/jan 2017
– BUG: Admin costs
– BUG: Incorrect number of tests eventually on the test list

LSM V3.07
– 24/mar 2017
– BUG: Escaping data in jobs automatically created from PWNHealth
– BUG: Edit job – unable to get property ‘appendChild’
– BUG: Edit user imported from LabCollector
– NEW: Chinese lang – BUG: New job form multilingual – BUG: Missing reagents and equipments
– IMPROVED: Better performance in job list, significantly faster
– IMPROVED: Visual indicator in job list while loading data
– NEW: PWN integration now includes rules to automatic assignment of range based on fields received from PWN
– IMPROVED: PWN integration, prevent duplicates
– IMPROVED: Allowing assign different ranges by different test of the same sample

LSM V3.07.1
– 02/may 2017
– BUG: Job List
– Jobs with invalid provider didn’t appear
– IMPROVED: Add/Edit job
– Disable free text in Provider combobox to prevent jobs with invalid provider

12/may/2017
– IMPROVED: Adjust tab sizes to content on single pages

24/may/2017
– IMPROVED: Choose delimiter on import/export CSV

25/may/2017
– IMPROVED: Include result name on data sent to PWN 31/may/2017
– IMPROVED: Send a fixed number as result code to PWN
– BUG: Still receive duplicates from PWN

LSM v3.1
– 26/sept 2017
– BUG – ##samples## fields are duplicated on report
– BUG – report was blank if one test didn’t have template assigned
– BUG – login problem since LSMremote for imported users and/or if password crypt has been changed to SHA256
– BUG – if no ranges defined, form will hide this field. If only one range is defined, then will be selected automatically
– IMPROVED – LSMremote – order quote and accept quote
– IMPROVED – LSMremote – multiple samples
– IMPROVED – LSMremote – import from CSV
– IMPROVED – Edit a quoted job
– IMPROVED – Send quote by email
– IMPROVED – Grey out equipment that are in alert mode
– NEW – Billing options to support price on categories
– NEW – Payment mode: Purchase Order. PO number is mandatory to order job or validate quote
– NEW – New methods in LSM API to get/post data
– NEW – Staff users only see their assigned jobs on dashboard and job list
– NEW – Button ‘Multiple assignments’ to assign staff user/group to multiple samples/assays on Job List -> Manage asignments
– NEW – Sample shipment status ‘Returned’
– BUG – Samples comments were always empty on job details window and only were visible on job edit

LSM v3.1.1
– 19/10/2017
– CHANGED: custom lab logo doesn’t use direct link to make it compatible with htaccess protection

LSM v3.1.2
– 24/10/2017
– BUG: LSMremote login for superadmin if password crypt is SHA256

LSM v3.1.3
– 17/11/2017
– NEW: New global config option to change uploaded files path
– NEW: Option to select a PDF result file and send it to PWN API together with results
– BUG: Validate Job Number and display a warning message if it contains invalid characters, on add/edit job
– BUG: Allow point(.) on login, user firstname and lastname of LSM users

LSM v3.1.4
– 21/11/2017
– IMPROVED: instances under labcollector.online have set files path to a dedicated folder, out of LSM folder and not accessible online

LSM v3.1.5
– 27/11/2017
– BUG: Upgrade for v3.1 failed and so that manage costs gives an error, need to create some fields again
– BUG: Missing LSM header in license page and install page

LSM v3.1.6
– 14/12/2017
– IMPROVED – Dynamic loading of dashboard elements to speed up loading of the homepage
– IMPROVED – Minimize content size of Job List to get a faster download
– NEW – Search by keyword (JobNumber) on Job List
– IMPROVED – More options to select status of items on Job List

************** 2018 **************

LSM v3.1.7
– 11/01/2018
– IMPROVED – Lock system more efficient
– IMPROVED – Created indexes on databases to improve response times
– BUG – Multiple installation on the same instance caused error creating last table

– 22/01/2018
– BUG – Export grid in lsm and lsmremote add a tab character in header column “Type”

– 08-09/02/2018
– BUG – Job list – the list grouped by assay is empty (if multiple installations on the same instance)
– BUG – Create new job – button ‘Cancel’ does nothing and button ‘Save’ doesn’t go to job list page
– BUG – Error in order on Graph ‘Jobs Created by Day’ of home page
– NEW – QC chart
– IMPROVED – Manage input parameters: rows already completed are locked for staff users (LT195)
– IMPROVED – Manage results: rows already validated are locked for staff users (LT195)
– IMPROVED – New alerts in equipments

– 02/03/2018
– IMPROVED – Webservice for LSMremote doesn’t verify certificate

– 06-07/03/2018
– IMPROVED – Speed up LSMremote results page
– IMPROVED – Add completed date to LSMremote results page
– BUG: Typo in Parameters creation ‘is already exists’ (MT 1747)

– 21/28/03/2018
– ADDED: Warning message before submit order (are you sure?) in LSM and LSMremote (MT1008)
– ADDED: Helper text for Purchase Order in LSM, configurable in config.ini (MT1007)
– ADDED: Batch view – see breadcrumb with status (MT925)
– ADDED: Export to CSV in ‘View Job’ window (MT1006)
– ADDED: See User on job level (MT1005)
– ADDED: Add purchase order number in the table Invoice list under admin > invoices when payment mode is purchase order (MT1018)
– ADDED: Add a dynamic field pointer ##purchase_order## in invoice template (MT1018)
– BUG: Dynamic field pointers ##requester_name## and ##requester_address## don’t work, old tags ##customer_name## and ##customer_address## had to be used (MT941)
– CHANGED: Hide old password field in window for Admin change other user password (MT978)
– NEW: Change password in LSMremote (MT978, MT999)
– BUG: Typo while starting a new job (MT980)
– ADDED: Add information on user/requester on the right top corner of LSMremote as in LSM or LC (MT1015)
– CHANGED: See the quote in LSMremote on ‘Pending’ or ‘In progress’ job until the job is finished (MT1010)
– ADDED: Add an option in LSMremote to choose the default option between ASC or DESC ordering for the ID column (MT1013)

— v3.18 04/04/2018 – 04-06/04/2018
– ADDED: Add a dynamic field pointer ##user_name## in invoice and results templates (MT1040)
– ADDED: New type field in parameter: longtext (MT1012)
– IMPROVED: Batch number is auto-suggested based in a time stamp with an incrementing number yyyymmdd-1, yyyymmdd-2 (MT1768)
– ADDED: Add a dynamic field pointer ##operator_name## in results templates (MT914)
– ADDED: Add a dynamic field pointer ##validator_name## in results templates (MT915)
– ADDED: Add a dynamic field pointer ##protocol_name## and ##protocol_description## in results templates (MT982)
– BUG: Issue of refresh for job/test color status (MT1017)

– 10-12/04/2018
– IMPROVED: Breadcrumb in job/batch view is now dynamic (MT1790)
– ADDED: Parameters of validated samples cannot be edited, if admin wants to edit, has to insert a reason, that will be traced in audit log (MT1029)
– ADDED: Deviation records, saved in custom module (MT1031)

– 16-20/04/2018
– BUG: Save partial results didn’t allow blank values
– ADDED: Add forgot your password on LSMremote. 2 options: show a text with contact person or send an email to reset password (MT998)
– ADDED: New status ‘Canceled’ to cancel samples not processed and allow invoicing a job (MT1009)
– ADDED: Option to mark a sample/test as free to not include these samples in final invoice (MT1009)
– ADDED: Confirm password to save results (like validate) if regulation mode is enabled (MT1032)
– ADDED: Option for two reviewers (MT1032)
– CHANGED: Person entering data and reviewers must be different users (MT1032)
– BUG: Barcodes are not printed in Dymo printer
– BUG: Total amount of invoice was calculated using current prices of tests, instead of prices already saved when invoice was created – ADDED: Custom report for each batch (MT1836)

– 26/04/2018
– CHANGED: Shipping list includes received date (MT1855)
– ADDED: Button template options in admin->preferences->templates to select batch report template and shipping report template (MT1855)
– ADDED: Create individual tags in reports with all the parameters (MT1856)

– 02-04/05/2018
– CHANGED: Changes in Follow-up dropdown text (MT1928)
– ADDED: Add Dynamic fields pointer button to each template (MT1931)
– BUG: Priority filter = Rush doesn’t work in Job List (MT1940)
– ADDED: Confirmation dialog before cancel a sample (MT1933)
– ADDED: Option to recover a canceled test (MT1933)
– CHANGED: Remove Shipping List opening after Job creation (MT1947)
– CHANGED: Change the name of Shipping List to Chain of Custody (COC) (MT1945)
– CHANGED: tag ##user_name## was replaced by ##submitter_name## (MT1944)
– ADDED: Export function in Cancellation list as in the Job List (MT1943)
– BUG: Status filter issues (MT1953)
– CHANGED: Disallow delete Jobs/Test/Samples if job has started (MT1932)
– CHANGED: Make the Follow up dropdown options conditional (ex: disable Mark as QA if already marked) (MT1936)
– BUG: Upload protocol doesn’t work using default path
– ADDED: Deviation symbol needed for each deviated sample plus a link to the deviated record (MT1941)

– 07-10/05/2018
– BUG: Encoding inssue in select deviation module dropdown list
– CHANGED: Deviation record is opened in view mode instead of edit mode, if job is finished – ADDED: Toolbar with a link to CoC in sample shipment window
– ADDED: General tags to CoC report template (MT1955)
– CHANGED: Improved format of CoC report (MT1855)
– CHANGED: Samples can be linked to a LabCollector record, creating a job and inserting samples from memorized records
– CHANGED: Move option to add deviation record to contextual menu – follow up and allow link deviation record to all levels (MT1942)
– CHANGED: Approved samples do not allow add a deviation record
– BUG: Upload image to template didn’t detect automatically protocol https, always used http

– 14-16/05/2018
– CHANGED: Add JS library morris, needed for QC chart, inside lsm folder
– BUG: If sample custom fields contains character &,<,> new job form doesn’t allow to add samples
– BUG: Error 500 in lsmremote – get results, if customer has not any job
– IMPROVED: lsmremote – import samples – CSV supports sample type names besides values on column type
– BUG: Typo in invoice list (MT1987)
– BUG: After edit quoted job in LSM: quote button dissapears in lsmremote and a SQL error is shown when order job in LSM (MT1897)
– BUG: LSM assumed that super-administrator login was always ‘admin’ (MT1032)
– BUG: Enter results and complete job with staff user asks for password confirmation but does nothing (MT1032)
– BUG: Batch numbers auto suggestion increments more positions than it should (MT1768)

– 24/05/2018
– ADDED: CoC report in LSMremote (MT1855)
– BUG: Order sample custom fields doesn’t work
– CHANGED: Mail to reset password from lsmremote uses LC Alerts Settings (M998)
– CHANGED: Users of type customer also can edit quotes in LSM (M994)

— v3.19 24/05/2018 – 24/05/2018
– BUG: Duplicate pages in report if test has multiple protocols
– BUG: Admin->Invoice and Report Templates in IE11

– 25/05/2018
– CHANGED: Option to select job report mode (default or integrated) in templates management
– ADDED: Filter test list by Category or Test code besides Name (M1808)

– 04-05/06/2018
– BUG: StaffPlus user who is Admin in LSM cannot add equipment via LSM (M2035)
– BUG: Adding Reagent and Adding Equipment open old form (M975)
– BUG: Deviation record option should not be available if the deviation module is not choosen (M1992)
– BUG: If a parameter of valuelist contains special characters this can block saving results (M1794)
– BUG: Table deviation was missing if dbprefix is different to default, for new installation and upgrades to 3.19 (M2040)

– 10-11/07/2018
– CHANGED: Manage > Validate cannot be used if no results (M2297)
– BUG: LSMremote upload CSV (M2205) Ignore first line has been removed. Header is mandatory. A helper text has been added in import popup Capture errors in import and show a warning when loading is completed Reduced loading time for a high number of samples Show an spinning well when importing If gets an error when job is sent the full response of LSM is printed in screen
– CHANGED: Manage > Results > Export allow choose separator, and leaves out junk columns (M2296)
– CHANGED: Result upload CSV improvement (M2296) allow choose the separator: comma, semmicolon or tab. import process match rows by sample name, if sample name is not found, the row is ignored when import finishes, one message with number of rows effectively imported is displayed, and modified rows are highlighted automatic assignment of phrases works on import too tooltip added in toolbar for import/export it is not necessary that the file contains all the columns of the grid, and can contain extra columns that will be ignored
– CHANGED: speed up Batch list loading
– CHANGED: batch column is no longer editable in Job List
– CHANGED: button “Assing batch” works selecting job rows too besides sample rows

— v3.191 13/07/2018 – 21/08/2018
– BUG: Create a job from lsmremote with a high amount of samples – BUG: Last release had a bug on add job first custom field (M2447)

– 07/09/2018
– BUG: Encoding problem on reagents name causes error on edit test
– ADDED: Add test comments to PWNHealth report sending – 10-12/09/2018
– BUG: Comments pasted from word were truncated
– ADDED: lsmremote automatic login for validated LC users
– ADDED: lsmremote can receive the job number, sample name and test IDs as URL parameters
– ADDED: lsmremote can hide toolbar using parameter toolbar – ADDED: lsmremote can append a sample to a existent job
– CHANGED: possibility to link multiple equipment without protocol (M2583)

– 17-20/09/2018
– CHANGED: protocol tab, reagents tab and input parameters tabs visible at any test status (M2616)
– BUG: button pdf in Templates management page returns an error ‘invalid page format’
– BUG: select list of equipments shows html entities – CHANGED: update mpdf to 6.0 (M2051)
– CHANGED: support to CJK fonts in pdf reports
– CHANGED: parameter image type (M957)
– ADDED: barcode to CoC report
– ADDED: add test name on grid headers for bulk actions (submenu manage)
– ADDED: tabs Reagents and Protocols to manage-input parameters

– 24-28/09/2018
– ADDED: barcode/sample name filter on home dashboard
– CHANGED: use LC login form
– NEW: new samples list
– NEW: checkboxes in samples list to select rows
– NEW: checkboxes in job list to select rows
– NEW: event single-click (for support touch screens)
– CHANGED: tab Protocol label replaced by Protocols & Equipments
– ADDED: footer with page number and header with job number to reports
– BUG: date field in LSM remote always ask for time as datetime field
– CHANGED: replace tabs by accordions in single job-sample-assay windows
– NEW: tag ##results_extended## in templates management
– NEW: button ‘options’ in job list to open contextual menu
– NEW: general LabCollector layout
– NEW: open main popups in fancybox instead of DHTMLXWindows

– 1/10/2018
– BUG: LSMremote single mode allow send samples with empty name
– BUG: LSMremote job required fields haven’t asterisk

– 3/10/2018
– CHANGED: update CKEditor

v4.7.1
– 5/10/2018
– CHANGED: if regulation enabled, option for choose 1-step review or 2-step review
– CHANGED: if 2-step review is chosen, add an indicator in job list to completed tests awaiting for second review

11/10/2018
– CHANGED: dashboard validated column shows only validated samples in the last 30 days
– NEW: option to register from LSMremote and validate/discard request from LSM (M2694 & M2327)
– NEW: added multiple indexes for speed up queries

— v3.2 11/10/2018 23/10/2018
– CHANGED: increase discount field to allow negative numbers, and numbers up to 3 ciphers
– ADDED: add company/institute name to the Registration Form (M2702)
– BUG: LSMremote login box covers the message for indicating that there’s a wrong username and password combination (M2708)
– BUG: LSMremote quote PDF is not open because points to old mpdf lib folder path (only in new installations)
– BUG: tests and samples must show the option ‘delete’ if status is quoted or assigned, but only job has this option

25/10/2018
– BUG: toolbar (job list/edit job) is partially hidden in small screens
– BUG: edit job does not save removed tests (M2448) – CHANGED: option to hide purchase order in lsmremote job creation (M2710)

— v3.201 25/10/2018 29/10/2018
– BUG: create job from lsmremote fails if autogenerate_job_number = true
– BUG: edit job bug because of missing file in 3.201 pack

— v3.202 29/10/2018 05/11/2018
– ADDED: lsmremote can set tests as Readonly using parameter testReadonly
– BUG: priority filter in job list had a html tag
– ADDED: lang portuguese (M2551)

07/11/2018
– ADDED: lang spanish (M2550)

12-14/11/2018
– BUG: job list in last release takes a long time to load and hangs out the browser (M2761)
– BUG: import CSV didn’t block wrong sample types (M2762)
– BUG: edit job had list of samples empty if sample type is wrong (M2762)
– BUG: when saving a test with Sample as Result Type, always forces to enter the sample (even the clicked button is ‘Save’ and not ‘Complete’) (M2764)
– BUG: sample box in results’ test popup remains empty even if user has fill in before (M2764)
– BUG: samples created as Result Type are not linked to parent sample in database (M2764)
– BUG: when a job has derived samples (created as Result of other test) the job popup shows sample custom fields wrong (M2764)
– BUG: horizontal scroll missing in job popup (M2763)

— v3.203 14/11/2018 15-16/11/2018
– BUG: link to LSMremote for WF fails if JobNumber parameter has spaces
– BUG: LSMremote: Incorrect login with space gives no error message and a blank page (M2751)
– BUG: On reports view, for the “Job created by day” graph, it’s not the jobs in axis but the samples (M2141 & M2221)
– BUG: order job in LSM – display problem (M2766)
– BUG: copy paste of sample in test gets wrong ID (M2512)
– BUG: equipment out of service can be chosen (M2348)

19/11/2018
– BUG: samples with tests without results cannot have their status changed (M2774)
– BUG: edit job adding a memorized sample causes error (M2775)

— v3.204 19/11/2018 21-22/11/2018
– CHANGED: when adding result as admin and not the assigned operator, update operator value (M2721)
– BUG: typo – “Fix price” should be “Fixed price” (M2791)
– BUG: Deviation module selection – cannot choose certain custom modules (M2792)

28-30/11/2018
– BUG: template editor doesn’t open in Edge (M2818)
– BUG: valuelist parameter needs to have the option of no default value in test definition – input parameters (M2829)
– ADDED: parameter of type checkbox (M2796)

03-07/12/2018
– ADDED: allow sorting of parameters in test definition (M2794)
– BUG: deletion of fields in Tests does not work well (M2831)
– BUG: Order of input parameters is reversed during Job execution (M2832)
– BUG: Adding a parameter that that doesn’t exist to a test may add an undefined row (M2836)
– ADDED: Add a barcode verification on compliance mode (M2840)
– ADDED: New tab for Processing parameters (M2841)
– BUG: lag between editing a job and opening it with other user -lock system- (M2857)

10-11/12/2018
– BUG: issue completing big number of samples at once in Manage > Results (M2865)
– IMPROVEMENT: improve performance in Tests page adding more indexes (M2872)
– IMPROVEMENT: enable special characters in parameter label (M889)

14/12/2018
– ADDED: changes in API for add-on “Sample receiving” (M2892)

19-21/12/2018
– IMPROVEMENT: update results through API must assign an automatic phrase (M2914)
– ADDED: show test IDs and parameter IDs (M2917)
– IMPROVEMENT: Hide unit and/or phrase for parameters that don’t have unit and/or phrase (M2918)
– CHANGED: Update quote when adding tests, even if the quote has already been accepted (M2898)
– IMPROVEMENT: increase size of fields ‘string’ and ‘textarea’ (M2923)
– ADDED: parameter to upload any file (M2718)

************** 2019 **************

07-11/01/2019
– BUG: API upload files to default path instead of customized path
– IMPROVEMENT: changes in API for add-on “Sample receiving” (M2960)
– IMPROVEMENT: Add more than one document to the results (M2737)
– BUG: uploading multiple file must be displayed accordingly (M2968)
– IMPROVEMENT: Add new parameter and autorefresh/ajax of parameters in Edit test form (M2941)
– BUG: Issue with datetime parameter – the time doesn’t show even when you explicitly set a time (M2943)
– IMPROVEMENT: Extend the barcode verification to any custom parameter (M2953)
– IMPROVEMENT: Barcode verification works too with key enter, no need to press the button
– ADDED: Option to lock (validate) test and parameters (M2970)
– BUG: File name in uploads truncated (M2958)
– IMPROVEMENT: Increase job number size and sample name size to 100 characters (M2961)

14-17/01/2019
– BUG: fancybox width too narrow, avoid horizontal scroll (M2962)
– IMPROVEMENT: new options to download files in a zip (M2981)
– BUG: Order of Protol & Equipment parameters is reversed during Job execution (M2945)
– ADDED: Quick edit mode in batch view for processing parameters (M2964)
– ADDED: Report for processing parameters (M2967)
– ADDED: Allow parameters to be marked as optional inside a test (M2946)
– ADDED: Allow user select mandatory parameters (M902)

21-25/01/2019
– IMPROVEMENT: better display of ranges (M2988)
– BUG: automatic assignment of phrases was not working with negative ranges (M2988)
– BUG: Deleting and adding back the same parameter is not possible in the one action (M2993)
– IMPROVEMENT: Limit number of results in job list (toolbar > limit)
– IMPROVEMENT: Advanced search in job list (toolbar > filter)
– IMPROVEMENT: search/filter job with a list of sample names/job names (M2963)
– CHANGED: enlarge dashboard items, and allow grow on hover
– IMPROVEMENT: Show Team in user management page
– CHANGED: User last name is no longer mandatory

28-31/01/2019
– ADDED: new configuration property ‘hide_submit_link’ in lsmremote
– IMPROVEMENT: allow choose requester in Import users window
– BUG: Audit log has an incorrect timestamp (M3032)
– BUG: Tests management: Processing parameters are being assigned unintentionally to new tests (M2991)
– BUG: Tests management: delete parameters after reorder the list deletes the wrong parameter (M2992)
– BUG: ENTER key does not work when searching by barcode in header search box (M3039)
– CHANGED: Names of report files in Zip and individual files need to include the Template and Job name (M3034)
– CHANGED: Name of CSV report must include Job name (M3034)
– BUG: CSV report didn’t contain data if test was assigned to a Team
– BUG: Typo: Email sent successfully (M3043)
– BUG: Increase fancybox width and fix scroll issues

— v3.206 31/01/2019 06-08/02/2019
– BUG: Cannot add a new reagent – directs user to Equipment module form instead (M3071)
– ADDED: New parameter type AVG (M877)
– CHANGED: replace function stats_standard_deviation(PECL) by in house function in control chart

11-12/02/2019
– BUG: LSM Pagination doesn’t need to click outside now (M3055)
– IMPROVEMENTS: PDF/A1-b compliant document (M3082)
– BUG: Export button on Job List page doesn’t work (M3054)
– IMPROVEMENT: Add more detail to export from Job List page (M3084)
– BUG: prevent blank ranges in tests (M3088)
– BUG: destock of reagent doesn’t take into account the lot chosen by user (M3089)
– BUG: Colours on jobs not representative of the status of the samples inside (M3080)

13-14/02/2019
– IMPROVED: Helper text on parameters (M2994)
– BUG: lag after creating a new parameter through tests management (M3092)
– CHANGED: set CKEditor autoParagraph to false, and fillEmptyBlocks to false;

— v3.2061 15/02/2019 18-20/02/2019
– NEW: tags for reports #reagents# and #equipments# (M3104)
– BUG: dropdownlist options too narrow
– BUG: list of requester in job list filter panel only shows 20 items, and does not filter when begin typing (3105)
– BUG: button Clear in job list filter panel doesn’t reset operator and requester list if there is any blank name in the list
– BUG: Parameter list – loses sorting after you save a parameter (M3102)
– BUG: Space in login name allows the customer to log in but they cannot submit a job from LSMremote (M3103)
– BUG: After send results of a job to PWN, search form is broken in job list
– CHANGED: search by jobNumber ignores PWN prefix
– NEW: Allow select a cell or block of cells in job list and copy using Ctrl+
– BUG: Sort order in job list

— v3.2062 20/02/2019 21-22/02/2019
– BUG: Validate results with password confimation doesn’t work if password contains a &
– BUG: Checking the box for delete all result parameters inside a test does nothing (M3141)
– CHANGED: Allow Reagent default quantity blank in tests management (M3140)
– CHANGED: Test to derive sample out of validation process (M3132)
– CHANGED: By default derived samples take the same name and type of parent sample (M3132)
– CHANGED: Sample type field is visible in all test status (M3132)
– CHANGED: don’t confirm password if test has only Sample as output (M3132)

25-28/02/2019
– CHANGED: After creating a derived sample, user is offered to jump to the new sample (M3132)
– NEW: General setup to choose allow or not jobs without lots (M3139)
– CHANGED: Sorting requester list by code supports numeric codes and alphanumeric codes(M2875)
– BUG: Results not saved when Save button is pressed on a test(M3146)
– BUG: Remove headers of empty tables from report (tag ##results_extended##) (M3149)
– CHANGED: Include processing parameters in api response (M3152)
– CHANGED: Allow apostrophes in parameter label (M2909)
– CHANGED: Allow special characters in sample type (M3142)
– CHANGED: Allow special characters in protocol (M3150) – BUG: Issue filtering by batch if group by batch is selected (M3148)
– CHANGED: Refresh batch list in Job list filter panel, after create a new batch
– NEW: reports to comply ISO17025 with unique tracking (3133)

04/03/2019
– CHANGED: tag ##validator_name## includes now both validator names, when two-step review is enabled, and dates (M3159)

06-07/03/2019
– BUG: Typo in Delete Parameter message (M3166)
– CHANGED: Replace PDF default font from serif to arial
– CHANGED: Visual improvements in tags #reagents#, ##equipments##, ##process_extended## and ##results_extended##
– CHANGED: Add completion date to ##results_extended## tag
– BUG: datetime fields doesn’t register the changed time if user doesn’t click date again (M2943)
– BUG: deletion of protocols/equipments inside a test doesn’t work well (M2831)
– CHANGED: All labels of report are now in lang files
– BUG: export job list doesn’t match the number of jobs displayed in the screen

08/03/2019
– CHANGED: change all status dates (started, completed, validated) to datetime
– BUG: two-step validation in batch
– CHANGED: block entry in validation step
– NEW: button reject in validations, with reason to reject

11-15/03/2019
– NEW: history of test status, with validations and rejectios
– BUG: Validated/Approved tests can still be edited (M3169)
– IMPROVED: dashboard, validation board, if double validation show 2 validators and dates
– BUG: Fields AVG mixing parameters of processing and results panel, are not automatically refreshed, in batch window
– IMPROVED: add a background image (calculator) to AVG fields in grids, so as not confuse it with disabled fields
– BUG: seller field is blank in Reagents list if sellers are stored in address book
– BUG: person in charge is blank in Equipments list (M2715)
– CHANGED: exclude archived reagents and archived equipments from LSM
– CHANGED: exclude reagents with quantity = 0 from report (tag ##reagents##)
– CHANGED: Prevent deletion of files after the test is complete
– BUG: API returns broken xml if some value contains ‘<‘
– CHANGED: option to hide user name in lsmremote when append samples
– BUG: when adding reagent Chinese characters don’t show until you add the reagent (M2942)
– BUG: incorrect deletion message appears when editing a parameter (M2834)
– CHANGED: Need to allow for longer text in the range (M3161)
– CHANGED: Change message that appears when completing test without entering mandatory results (M3183)

18/03/2019
– BUG: icon for delete files from parameter File doesn’t work – BUG: date values are not visible in results grid
– CHANGED: processing template per test (M3194)

20-22/03/2019
– CHANGED: improved template management (M3195)
– CHANGED: Simplify each popup in job list to remove job info that is repeated (M3196)
– NEW: Add the sample submitter name and date in popups
– CHANGED: Add Test code to Test List view (M3208)

25-29/03/2019
– CHANGED: Allow special characters in Test name (M3182)
– BUG: save new team doesn’t refresh list of teams
– CHANGED: Items on home page clickables
– CHANGED: Add buttons left,right,center,justify to ckeditor
– BUG: Tag ##process_extended## is missing in Dynamic field pointers list (M3219)
– BUG: Special characters in parameter name are not recognised when the parameter is used as a tag in a report template (M3220)
– BUG: DHTMLXWindows stay on top of blurred (autologin layer)
– BUG: LSMremote grid doesn’t work if test or sample types have a single quote
– BUG: LSMremote report doesn’t work since report signatures have been added
– CHANGED: LSMremote grid – enable single-click to edit
– CHANGED: Audit trail improvements(M3171)
– CHANGED: Search by Comment in audit log
– CHANGED: Add User ID in User list
– BUG: Validated jobs tests can still be edited (M3169)
– CHANGED: Completed jobs can not be edited (only validate or reject) if compliance is enabled
– BUG: Hide buttons Validate and Reject if the job is already validated
– CHANGED: Add info about dynamic tags in Templates 01-04/04/2019
– NEW: Add a new button to restart validated jobs/tests
– CHANGED: Add buttons underline, strike, subscript and superscript to ckeditor
– BUG: Multiple Assignments – checked samples not recognised (M3136)
– IMPROVEMENT: Don’t reload templates page after save, add or delete
– IMPROVEMENT: Show Sample comment, and sample custom fields on sample view (M2736)

— v3.2063 04/04/2019 08-09/04/2019
– BUG: Download the PDF calendar does not work (M3246)
– NEW: Params with formula/calculation (M877)
– BUG: Sending results via mail to a requester doesn’t work (M1046)
– BUG: Long job parameter names without spaces are cut off (M3252)
– BUG: Rephrase the message after discard results

15-17/04/2019
– CHANGED: Add a header to Calendar PDF
– CHANGED: Allow use AVG parameters and other Calculated fields in formulas
– BUG: When a new numeric parameter is added, the page needs to be refreshed before add it to a formula/calculation
– BUG: Boolean parameters (checkboxes) always saves the value true (checked) saving through single job/sample/test popup
– BUG: Datetime – time of when page was opened instead of current time (M3261)

22-26/04/2019
– BUG: value ordering in test details view is not working (M2154)
– BUG: Quick edit mode at job level copies values into boxes that shouldn’t be filled (M3296)
– BUG: Samples Name that contain special characters cannot be created (M3277)
– BUG: No blank line in the select list for the processing Template (M3291)
– BUG: Memorized form has not enough space in Add job form
– NEW: Hold assigned samples
– NEW: Send samples to LabCollector
– NEW: More filters in job list, test, test status and sample shipment
– BUG: Typo in confirmation popup to save change (M3316)
– CHANGED: When “email” is not a prefered report, inactive the report sending by email (M3324)
– CHANGED: Report dispatch preferred allows more than one option selected now (M3324)
– BUG: Records are created twice in Add job – Memorized records (M3319)
– BUG: Special characters are not accepted in the password when creating a new user (M3334)
– CHANGED: Allow special characters in User name (M3334)
– BUG: Typo in import users (M984) – BUG: Add login check in reports page, to prevent errors with broken session 29-30/04/2019 – BUG: some fields of the filter do not work (M3318)
– BUG: Add a new team does not work if login has quotes (M3345)
– NEW: Add a sample type field in Test form (Admin>Preferences>Tests) (M1809)
– NEW: in new job, restrict the tests to the sample type (M1813) 02/05/2019
– BUG: Change “Mail” to “Email” (M3353)
– BUG: issue in the selectivity of the sample type (M3357)

06-10/05/2019
– NEW: attach sample type to more info: storage conditions, handling instructions (M3176)
– ADDED: Display Sample count at the test level (M3235)
– ADDED: Add Quick Edit mode to Input Parameters (M3295)
– CHANGED: Improve spacing of ##details## tag for invoice template (M3337)
– NEW: sample/job prefixes per requester (M3234)
– BUG: Control chart causes PHP Warning: Division by zero
– IMPROVED: Convert result of calculation into scientific notation (M3217)
– NEW: Enable project codes, elegibles per requester (M1022)

13-17/05/2019
– NEW: Start WF button to link to WF addon (M2666)
– BUG: Job can be added without specifying a requester (M3393)
– ADDED: Add Model and Brand to Equipment tag (M3347)
– BUG: table lsm_lock has wrong values for JobSampleID
– CHANGED: the order of test in report needs to follow order of request (M3243)
– BUG: Adding the unit %AD in a test causes an error (M3405)

20-24/05/2019
– BUG: autocomplete parameter does not work well if label has comma
– BUG: error saving Costs (M3418)
– ADDED: Column test code in Preferences>Costs (M3417)
– ADDED: Add next maintenance/calibration to Equipment tag in template (M3289)
– ADDED: new tag ##requester_email## in templates (M3434)
– ADDED: Include changes to Costs page in Log (M3428)
– BUG: The search field in the list of tests does not work with special characters’ & (M3431)
– CHANGED: Move the Apply filter button (M3271)
– BUG: Project code is not restricted in LSMremote
– BUG: link projects to a requester and unlink, leaves a wrong value in database, and causes list of projects is empty for that requester in job form
– BUG: Date showing a datetime (M3444)
– BUG: Copy&Paste sample doesn’t create processing parameters
– BUG: some fields in input parameters does not work (M3439)
– BUG: report id changes even for validated sample/test if the report is opened in third level of the tree
– BUG: generating report fails with MySQL STRICT MODE (try to insert empty in integer fields)
– CHANGED: Files uploaded to Document section should not be deleted but archived (M3354)
– ADDED: Duplicate button in tests management (M3326)
– ADDED: Archive button in tests management (M3326)

05/06/2019
– NEW: Allow batch result sending (M3134)
– BUG: lsmremote shows project code field even if it is not enabled in LSM
– CHANGED: adjust tab height to content in home page

12-14/06/2019
– CHANGED: use the field ON FORM in parameter form to enable/disable parameters in client form (M3475)
– BUG: Checkbox is not shown correctly in Reports (M3520)
– NEW: Free text option in addition to Phrase (M3484)
– NEW: Visual aid on approve tests page (M3471)

17-18/06/2019
– NEW: On validation mode, improve test management with duplicate/archive/validate/draft options (M3326)
– NEW: Need to have the option to hide certain tests from the LSM remote view (M3160)
– NEW: audit trail / version of parameter values (M3256)
– BUG: misalignment in fields in sample view
– NEW: Workload Panel rebuild (M3558)

20-21/06/2019
– CHANGED: Under Workload View tab, converted DHTMLX charts into ChartJS (M3558)
– NEW: Added some new charts with ChartJS (M3558) – NEW: Can now select period for charts, display charts in fancy, download charts (M3558)
– CHANGED: lsmremote grid only show one empty row for default – BUG: Buttons lock/unlock missing in Test page

— v3.2064
21/06/2019 27/06/2019
– BUG: error when open the new parameter popup from Test page (M3578)
– BUG: Edit a job with some test that has been archived, gives a JS error (M3577)
– BUG: Issue with filter and pagination in Parameter list if filter contains special characters
– NEW: Added a new control charts tab, with chart creation popin and sortable chart view (M3576)

— v3.2065
27/06/2019 01/07/2019
– NEW: tag ##results_merged## (M3591)

03-05/07/2019
– BUG: ##samples## tag repeats information, if report mode is Integrated (M3583)
– CHANGED: Indicate that Requester is a mandatory field (M2566)
– ADDED: Add a placeholder for samples with no test so they can be seen in the default view (M3339) – BUG: Cannot remove samples from a job (M3589)
– BUG: not allow to add prefix without project code (M3609) – BUG: Tabs R&S and EQ missing in Manage Starting Parameters popup (M3634) 08-10/07/2019
– NEW: Added trending charts, and full page views for trending and control (M2549)
– BUG: Fixed chart bug on y-axis step size (M3588)
– BUG: Job list filter does not work if Project code is not enabled
– BUG: Height of grid in Add Job not well formatted after CSV import (M3612)
– BUG: Import via CSV when editing empty job causes error with sample IDs (M3613)
– CHANGED: Autocomplete disabled in new job form and edit job form (M3618) – CHANGED: Autocomplete disabled in all forms
– CHANGED: In edit job form it is not allowed to uncheck tests already started(M3589)
– CHANGED: Improve the design of the Menu buttons (M3624)
– CHANGED: limit users to total LC user license credit (M3555)

12/07/2019
– CHANGED: Increase text limit in Description of Test (M3541)
16-18/07/2019
– NEW: Track what tests a parameter is saved in (M3488)
– CHANGED: Sample-Tests in a job that has the Quote status should not be added to a batch (M3622)
– BUG: Removing tests from sample after switching sample type (M3660) – BUG: Cannot edit requester’s billing state (M3667)
– NEW: able to delete/archive/hide jobs (M2719)
– BUG: A zero in a result parameter does not show on report in dynamic tags (M3674)

22-26/07/2019
– CHANGED: show better unity to same job lines (M3683)
– CHANGED: Cancelled samples still appear on the report of results (M3643)
– CHANGED: Add units to range in report (M3700)
– BUG: Bug with alert for warning against switching to another sample type (M3680)
– NEW: Create a tag for Protocols (M3645)
– CHANGED: Fix equipment tag in template (M3647)
– NEW: Add new Job report mode (M3647)

— v3.21
26/07/2019 1-5/8/2019
– BUG: assign batch to quoted jobs is still possible (M3622)
– BUG: icon for started samples in job list grouped by job-sample is a play icon instead of flask
– BUG: batch cannot be added to test level (M3622)
– BUG: some special characters in the Location field of Equipment Module, blocks the opening of tests on LSM (M3773)
– BUG: button Clear all in document panel does not work (M3354)
– BUG: next maintenance date is not good (M3289)
– BUG: message for deleting tests in job list asks confirmation to delete the job (M3786)

8/8/2019
– BUG: Remove option Cancel for validated samples (M3795)
– CHANGED: Disable option Delete for staff users (M3796)
– BUG: job with deleted test, appears as complete (red icon) and it cannot deleted (M3797)

22/08/2019
– ADDED: show ID of parameters on the test setup panel (M3830)
– ADDED: Add a new type of field for STD (M3824)

— v3.211
22/08/2019 10-13/09/2019
– BUG: test name with apostrophe causes issue in PDF bookmark
– CHANGED: do some HTML formating to ##results## (M3881)
– BUG: dynamic calendar events trigger unwanted actions (M3875)
– ADDED: Options for automatica naming
– ADDED: Page NEW SAMPLES, show internal sample ID (M3898)
– ADDED: Page Batch View, show internal sample ID (M3899)
– ADDED: Batch list/view give sample type info (M3902)
– CHANGED: Expected date: no past possible, and convert to datetime (M3918)

17-20/09/2019
– ADDED: New Samples page >>> Allow receive at once several samples (M3906)
– ADDED: Job List >>> New button sample shipment to change sample status, and removed the ability to edit that column in the grid (M3906)
– NEW: New Samples page >> assign batch must also allow operator change (M3900)
– BUG: Non active billing option must not accept quote (M3929)
– BUG: Bug on batch popup view>> protocols/equipment list is wrong (M3901)
– ADDED: Receive date must be shown on screen (M3903)
– ADDED: Add job needs option to mark samples as received (M3919)
– ADDED: job list group by to be Job>Samples (M3905)
– CHANGED: add DRAFT in footer in jobs not completed/validated (M3921)
– CHANGED: Report header. Keep only barcode (M3920)
– ADDED: Print quote PDF from job list view (M3569)

23/09/2019
– BUG: AVG field having SD cannot be edited to remove SD option (M3951)
– CHANGED: Better display of job fields on JOB level to occupy width (M3876)

26-30/09/2019
– ADDED: Allow users to change the automatic numbering system (M3223)
– ADDED: in semi-automatic naming, allow empty sample name without random (M3922)
– BUG: API adds a linebreak to files (M3975)
– ADDED: be able to edit Quote fully (M3897)
– CHANGED: LSMRemote: sample received date must be shipment received status date (M3333)
– CHANGED: remove the options print report and print quote, keep only PDF

1-4/10/2019
– CHANGED: visual improvements in job form validation
– BUG: API returns deleted jobs – ADDED: more columns to invoice export
– CHANGED: calc, avg and sd parameters – don’t convert to scientific notation if result is 0 (M3985)
– ADDED: make sure received status is asked and indicated when starting a test (M3981)
– CHANGED: update dhtmlxScheduler 5.3.1
– ADDED: add ANY custom parameter on quote/invoice (M3877)
– BUG: z-index in templates page – dynamic field pointer
– IMPROVEMENT: checkbox operation in pending/new samples list (M3980)
– IMPROVEMENT: update MPDF version 8.0 – BUG: Some chinese characters not displaying correctly in PDF (M3286)
– ADDED: additional verification of mandatory parameters (M3978)
– ADDED: option for PDFA in admin>preferences>regulation 7/10/2019
– IMPROVED: data layer compatible with PHP7, and securized

11/10/2019
– BUG: fields misplaced in job and sample forms – BUG: job number empty, if semi-automatic option is set for names, and prefix is set for customer 14/10/2019 – BUG: list of attached files to test is empty – BUG: Sort columns in Admin pages don’t work

— v3.212
14/10/2019 15/10/2019
– ADDED: estimated start date (by default received date) and estimated end date (calculated automatically with test default hours and taking into account working hours and weekends)(M3923)
– ADDED: Show time left in Pending samples list (M3923)
– ADDED: Filter by overdue in Job list (M3202)
– ADDED: Timeline in Calendar, with section by operator
– ADDED: drag-n-drop in Calendar, to change estimated dates 16/10/2019 – BUG: image and sample fields doesn’t work because JS reference to dhtmlxVault has been removed (M4020)

21-23/10/2019 – BUG: confirm login doesn’t work (M4021)
– CHANGED: add quotes to constant definitions in security.php to avoid undefined notices
– BUG: new problems in job status/icon color
– CHANGED: Excel recognises exported CSV as SYLK files
– ADDED: log does not show partial saves in results (M4019)
– CHANGED: increase the size of the popup Templates options (M3841)

28-30/10/2019
– BUG: job list export doesn’t consider all filters
– BUG: order in pending samples list and new samples list
– ADDED: Grid view in Calendar – BUG: a parameter used in a test (Processing parameter tab) can be deleted in Parameters management page
– ADDED: long text with CKEDITOR (M3959)
– BUG: error on quotes if PDF/A is enabled
– CHANGED: remove quoted jobs from home page dashboard
– NEW: on new jobs we should have a way to approve request before assigning (M3936)

04-08/11/2019
– CHANGED: Remove maximun size = 250 for protocols description (M4079)
– BUG: Edit requested job makes it automatically become ASSIGNED (M4077)
– CHANGED: long text seems to truncate by size
– CHANGED: add new status requested to status dropdown in job list filter
– ADDED: requesters drop down must show company (M4069) – ADDED: LSMremote: hide_priority in config.ini (M4076)
– BUG: Batch popup view shows equipment category instead of the equipment name (M3901)
– ADDED: filter parameters by ID (M3832)
– BUG: Add Job form, mandatory doesn’t work with the file type fields (M3999)
– BUG: LSMremote open report for first time
– BUG: server error in Report > Full ZIP
– BUG: images of parameters of type image are broken in LSMremote reports
– BUG: There is an issue when a sample type is deleted (M4080)

11-15/11/2019
– BUG: ability to import users archived in LC to LSM (M3250)
– CHANGED: allow 3 actions: Accept / Need more info (Hold) / Reject on the Accept/Reject Job pop up (M3936)
– CHANGED: show job history in the same popup (M3936) – CHANGED: save all actions related with accept/reject jobs in audit trail (M3936)
– CHANGED: add status to filter: Requested, OnHold, Rejected, Deleted, Archived (M3936)
– ADDED: Requester should receive email notification of acceptance/rejection Job (M4067)
– ADDED: new setup options for job requests (M4096)

— v3.213 15/11/2019 18-19/11/2019
– BUG: Sample/test assigned to groups don’t show the right assignment in home dashboard (it shows another user instead)
– BUG: Users of type Customer are able to open started test/samples on job list
– BUG: Users with source=LabCollector and type=Customer, see the menu admin/preferences (without content) – BUG: Time left in completed tests must be calculated as estimated end date – completed date

22/11/2019
– BUG: Admins see job list empty 25/11/2019
– BUG: Other issues with admins (CustomerID=0 must be considered as CustomerID null)

19/12/2019
– BUG: Send results to PWN doesn’t show the list of attached files to select

************** 2020 **************

14/01/2020
– BUG: Fixed control chart values duplication 20-22/01/2020
– BUG: JS error in invoices with free samples
– IMPROVEMENT: job list faster – BUG: Fixed control chart x-axis null values

28-29/01/2020
– BUG: tag ##job_date## doesn’t work in invoice template (M4224)
– NEW: add a new tag in the report system JOB_ID (M4223)
– BUG: import sample file creates an empty row (M4222)
– ADDED: API for create job + project code (M4210)
– IMPROVEMENT: Extend API to update any parameter on samples (M4211)
– ADDED: new language ‘no’ 12-13/02/2020 – IMPROVEMENT: Charts display configuration (M4243)
– IMPROVEMENT: Charts data download as CSV (M4187)
– BUG: Fixed missing data trending charts X-axis (M4186)
– BUG: Fixed X-axis points time order (M4188)

19-20/02/2020
– IMPROVEMENT: Manage Costs – pricing mode as Fix plus Hourly (M870)
– NEW: Combine samples on quotes/invoices (M3878)
– BUG: API POST: Bug in create job – multiple samples
– BUG: API POST: Bug in create job – sample custom parameter
– BUG: Sample parameters with no value are not visible in LSM
– BUG: API PUT: Sample parameters with no value are not updated
– NEW: split a batch (M4235) – ADDED: Test code to invoices
– IMPROVEMENT: API PUT: supports sampleid or samplename to identify sample
– IMPROVEMENT: API PUT: it also can receive ‘batch’
– IMPROVEMENT: API GET: added parameters to retrieve list of samples with some status in some period (M4212)
– IMPROVEMENT: API POST: attribute project and requester in create job, supports id or text
– NEW: add parameter TIME (M4158)
– BUG: Tag ##requester_address## takes into account email and phone (M4118)
– ADDED: Tag ##requester_company## to report and invoice templates (M4118)

24-28/02/2020
– BUG: Add/Edit test is blocked by operator select when no staff (M4276)
– NEW: Define and add custom extra billing lines to invoices – BUG: Calculate estimated end date if default hours is 0
– BUG: The tag protocols gives only the protocol for the first test of the job (M4162)
– IMPROVEMENT: reduce reports fonts, make lines a thin as possible (M4086)
– ADDED: invoice combined for multiple jobs (M3924)
– ADDED: New restart for compliancy package (M4280)

03-06/03/2020
– IMPROVEMENT: if there are no ranges active, do not show it on reports (M4134)
– NEW: Create a new option for Case Record (M4282)
– ADDED: Filter samples in jobs lists and sample lists based on LC memorized records (M4286)

09/03/2020
– IMPROVEMENT: Filter in new/pending samples lists
– ADDED: Loading spinner to new/pending samples list

12/03/2020
– ADDED: Project code to API GET response

16-20/03/2020
– ADDED: new field under ADMIN > Invoice list > Invoice (M4300)
– BUG: repeated values in data trending chart (M4190)
– BUG: project list is not filtered by requester in Edit job
– ADDED: Billing Option based on priority (M966)
– BUG: issues with project in LSMremote
– ADDED: adapt LSMremote to new features (parameter time, case record…)
– BUG: language in LSMremote form

23-25/03/2020
– BUG: add tests to category if test name has a comma
– BUG: send email to all requester or to all users
– ADDED: tooltip to priority if it involves extra costs
– ADDED: tooltip of parameters is visible in LSMremote form
– ADDED: Users of type customer are able to create new Case Record (LSM and LSMremote)
– BUG: Purchase order is not inherited from LSMremote new job

— v3.214
26/03/2020 30-31/03/2020
– BUG: add new job asks for required field even if they are filled (if Case Record is not enabled)
– BUG: save reagents&supplies panel, and protocols&equipment panel in Manage>Starting parameters

1-3/04/2020
– BUG: reset or change password in LSMremote doesn’t allow special chars
– IMPROVEMENT: Modification of the range logic (M4321)
– IMPROVEMENT: Review in the test form the processing and result parameter forms (M4322)

6-8/04/2020
– IMPROVEMENT: On report, show out of range value as bold and bigger (M4323)
– NEW: Add new fields to Ranges(M4336) – ADDED: add ##protocols## in invoice templates (M4344)
– CHANGED: if the hourly price is not used, do not show the corresponding columns in the invoice (M4346)
– BUG: Request notifications send 2 identical emails to the requester(M4355)
– CHANGED: Replace the completed date by a range of date when we have “Sample_name completed on XXX” (M4345)
– BUG: Compliance = OFF >> restart action is not displayed on the log (M4356)

— v3.215
10/04/2020 13-17/04/2020
– BUG: delete range doesn’t work (M4366)
– CHANGED: not add default ranges in new tests
– BUG: range blank in add parameter popup – BUG: prevent select the same range (or sample type or category) more than one time in the same test
– NEW: add parameter popup: button ‘submit and add another’
– BUG: edit job form is broken if one custom parameter value contains quotes
– BUG: JS error in processing parameters if a test has not selected range
– BUG: sample name is truncated in Edit job, if name contains a comma
– CHANGED: update CKEditor from

4.7.1 to 4.14.0 (it solves issue with cell borders) (M4374)
– CHANGED: delete button View in Templates page
– CHANGED: improve button PDF in Templates page, to make same rendering as real
– ADDED: ability to remove one range from tests, without need to clear all
– BUG: API – didn’t return sample results if parameter status was not sent
– BUG: duplicate parameters in test after remove and add again
– BUG: thousands of tests block the new job form
– BUG: menu shows entries underlined in Edge
– BUG: check/uncheck mandatory checkbox in tests> processing parameters and results doesn’t work
– BUG: adjust size of the fancybox to create a new parameter inside fancybox to add parameter to test
– ADDED: calculated fields: multiple select (when adding dependent fields)
– BUG: calculated fields: refresh new fields to use it in formula
– BUG: commans in parameter’s labels or helper text break header in results grid
– NEW: modify the new popup to add parameter to a test, to also view/edit parameter(M4380)
– BUG: DRAFT tests should not appear for the Customer in LSM(M4320)

20-22/04/2020
– CHANGED: increase width of parameter name column in results page
– CHANGED: increase size of categories popup in tests page
– BUG: Delete and merge functions in Manage Project Codes in LC are not taken into account in LSM (M4352)
– BUG: Repeated samples in API response if they have shipment status repeated
– BUG: External view in LC shows deleted jobs
– BUG: Link from External view in LC goes to job list but it doesn’t open the job
– CHANGED: LSM_remote: modify the signature of the email for password reset (M4391)
– BUG: If Report Mode = Integrated, samples with several test may have not right started/completed date in report
– CHANGED: Prevent click Save button multiple times and duplicate jobs unintentionally (M4378)
– CHANGED: multiline in job grid to avoid truncate content
– CHANGED: width 100% in job grid
– NEW: support multiple email addresses for requester (M4400)
– NEW: report tags for case record, gender and dob and received date (M4379)

— v3.216 22/04/2020 24/04/2020
– BUG: encoding issue in report sent by email
– NEW: tag ##received_date## (M4379)
– BUG: editing job, spinning well never ending
– CHANGED: add/edit a calculated fields, remove first element from dropdown and make it a tooltip
– CHANGED: Add test to row in always out of screen, place it up a little up so we see the rows of samples

27-30/04/2020
– BUG: values of custom sample parameters sometimes inverted in tag #samples#
– BUG: validation popup: red values when no ranges set
– BUG: duplicate row in add/edit job does not allow to save succesfully
– CHANGED: modify ckeditor paragraph settings (BR instead of P) – ADDED: filters in Batch list to get all status (M4414)
– ADDED: filter by ‘Final report not generated’ in job list (M4414)
– ADDED: master checkbox in header to check all rows at once, in batch results (M4414)
– BUG: export CSV in batch results contains a first column not useful
– ADDED: add button export CSV in batch completed and validated (M4414)
– ADDED: enable option Report>CSV in right menu for batches too (M4414)
– BUG: filter by sample type in lsmremote – BUG: if a job has 2 tests with the same name, it is not well displayed in job list
– CHANGED: ignore empty started dates in report ‘started on’
– ADDED: API response includes sample type, batch and test status (M4416)
– ADDED: API supports now multiple ids on update sample (M4416)
– ADDED: API able to start batches (M4416)
– CHANGED: list of tests horizontal in CoC
– CHANGED: nowrap range value in result

04-08/05/2020
– CHANGED: control charts std lines now computed on 50 first QC
– CHANGED: control & trendings charts jobs no deleted
– CHANGED: customer choice on data trending charts (M4189)
– ADDED: Make a new user level: validator with restrictions (M4421)
– CHANGED: improve ##details## tag (M4415)
– CHANGED: improve report copy log to allow search
– ADDED: more options to job list filter “final report” not generated/pdf/email/pdf&email
– CHANGED: log must also show real name of user
– NEW: Generate barcode labels series

12-15/05/2020
– ADDED: job tags on COC report (M4451)
– BUG: assign test to samples without sample type (when multiple rows selected)
– BUG: issue saving job parameters of type ‘time’
– ADDED: sample type label and parameters labels to API response
– NEW: New feature for Batch printing labels (M1796)

— v3.217 15/05/2020 18/05/2020
– BUG: report – bold in range
– BUG: link to print labels on job may send repeated samples
– CHANGED: increase size of range values
– BUG: upgrade doesn’t create table lsm_reportcopy

— v3.2171 18/05/2020 25-29/05/2020
– NEW: new layout
– ADDED: Add a pagination on dashboard for last new jobs (M4490)
– BUG: it is possible to assign batch to requested jobs
– BUG: fixes in workload charts for requesters
– BUG: fixes in control charts and data trending charts (division by zero)
– BUG: increase size of selectedrange in database

02-05/06/2020
– NEW: report mode: separated by sample – BUG: import CSV in new job page (lsm & remote)
– CHANGED: improvements in CSV export
– BUG: can’t remove not started sample
– NEW: update sample status from API
– NEW: filter by result value in API

09-12/06/2020
– BUG: automatic phrases assignment throough API
– ADDED: create job through API accepts case record id
– ADDED: filter API response by assaystatus
– BUG: parameter images on report are distorted

15-18/06/2020
– BUG: issue with preselected ranges in manage>starting parameters
– BUG: some samples don’t open in job list > group by job-sample-test
– ADDED: phrase to API response
– BUG: in popup to see parameter inside a test, the info about mandatory was not correct
– ADDED: All information of the Range should appear on the Log (M4409)
– ADDED: show sample type in batch list (M3572)
– CHANGED: Remove the limit in case record list
– BUG: check all in job list doesn’t work with filtered results
– CHANGED: reduce time of check all in job list
– ADDED: API accepts sample type id or text

22-26/06/2020
– BUG: Export/import results in batch
– ADDED: tags for all case record fields in templates
– BUG: footer of new reports miss the ‘Report copy certified on’ and/or the timestamp
– CHANGED: replace lot radio by dropdown select, without any value preselected
– CHANGED: new job: if only one requester, then preselect
– CHANGED: remove equipment list if user type is Customer
– CHANGED: put N/A for protocols empty in reports and small fixes in report borders
– NEW: tag for completed date – BUG: import CSV in new job page (II)
– BUG: header and footer in LSMremote report is different to LSM report
– BUG: apostrophe in custom fields value gives an error

30/06-01/07/2020
– BUG: Customer code is blank in API/getRequesterList
– CHANGED: trim sample name in API get
– BUG: API was not able to create jobs with many samples
– BUG: Delete Sample and Job doens’t appear on the log (M4419)
– CHANGED: put N/A if column equipment is empty, and the same in brand&model, in report
– ADDED: info about dates and users that started/completed/validated each sample-test to API response

06-10/07/2020
– BUG: if result file path is not default, the size of files is displayed as 0b
– BUG: admin teams were not visible in Preferences>Tests>Default operator list
– CHANGED: don’t restrict charts to a user
– CHANGED: API: replace double quote by single quote
– ADDED: prevent click Save button twice
– ADDED: button CoC to LSMremote, next to each job (M3490)
– BUG: apostrophe in sample custom fields value gives an error
– ADDED: code to costs/invoices extra lines – ADDED: invoice’s extra lines to merged invoices
– NEW: button repeat job in LSMremote (M4526)

13-17/07/2020
– ADDED: show case record in sample/test popups
– ADDED: show case record in batch popups
– ADDED: on batch/samples list, allow specific date to be selected on receiving (M4539)
– CHANGED: Do not allow job generation with unmatched case record (M4537 I)
– CHANGED: improve job list paging and counters (M4537 II & M4532)
– ADDED: API supports barcodes as jobid or sampleid in GET and PUT
– CHANGED: remove folder doc-store/temporaty (use main LC temp folder instead)
– NEW: Link to Scheduler (M3962)
– NEW: button replicate results (M4515)

20-24/07/2020
– ADDED: API: new search parameter ‘batch’
– ADDED: API: samplesearch (for add-on Receiving)
– BUG: filter by username in auditlog
– ADDED: import/export in processing parameters grid
– ADDED: split button Save into Save+Stay and Save+Complete in Job Results and Batch Results popup
– ADDED: case record to CoC – NEW: option to add columns (sample parameters) to results grid to view/modify/import together with results
– BUG: fix issue with disabled columns in results grids
– NEW: API: getBatchList
– NEW: option to release partial results in LSMremote (M4012)
– CHANGED: indicate in LSMremote if there are samples pending to be received
– NEW: button to copy activation key in license page – ADDED: button today to calendars in forms
– CHANGED: select case record includes dob – NEW: link case record to requesters and each requester only see its records

28-29/07/2020
– ADDED: API: filter by status in getBatchList
– CHANGED: optimization saving job & sample custom fields
– CHANGED: optimization saving processing & results parameter in batch
– ADDED: API: append samples to existent job
– ADDED: option to add all columns (sample parameters) to results at once
– NEW: link in each job to view job data and sample data in LSMRemote
– NEW: filter by samples fields in LSMremote

17-21/08/2020
– BUG: issue with filter and message ‘Record not found’ (M4573)
– ADDED: LSMremote: property to set default lang (M4495)
– ADDED: LSMremote: strong rules for passwords (M4572)
– ADDED: LSMremote: Display the case record data in the job list table (M4568)
– ADDED: LSMremote: allow the requester to see/modify the patient/case record (M4571)
– BUG: LSMremote: wrong number of samples validated/total (when samples have result files)
– ADDED: API: filter by test status dates in GET job/samples/tests
– ADDED: API: option to update status of sample/test using assayid
– NEW: LSMremote: External access with token and security parameter

24-28/08/2020
– CHANGED: move report barcode from report header to report footer
– ADDED: add 2 new report tags (M4481)
– CHANGED: reinforce sample delete logic in job update
– ADDED: API:Restrict API access to requesters (M4567)
– CHANGED: Replace templates/dynamic field pointer’s popup by a slider
– ADDED: add the tag sample_id (M4580) – ADDED: add the tag today_date (M4230)
– BUG: hide the button to send results to PWN in batch if that option is not enabled
– ADDED: add the word ‘Urgent’ next to tests in CoC, if the job has priority ‘Rush’
– ADDED: option to use sample name as barcode (in labels and CoC)
– BUG: canceled samples should not appear on job list if filter overdue is set
– CHANGED: LSMRemote: show status canceled for jobs with all samples canceled
– ADDED: LSMRemote: new property to set grid tests mode to checkboxes
– CHANGED: LSMRemote: preselect test, if there is only one and grid_tests_mode = checkboxes
– ADDED: LSMRemote: search by project code

31-04/09/2020
– BUG: CSV upload in batch results shows new values in screen but they are not saved
– ADDED: parameter in labels barcodes page to change prefix or not use prefix
– BUG: LSMremote: modify custom file download to adapt to new security
– BUG: fix issues with html entities in export, and assign tests to sample
– NEW: add a sample column label setup (M4303)
– BUG: LSMremote: property ‘jobs_order’ stopped working
– ADDED: LSMRemote: Limit the number of jobs in LSMremote and give option to select more
– ADDED: add the word ‘Token: ‘ to CoC
– ADDED: Add sample receipt date to ##samples## (M3264)
– CHANGED: reorder the column in samples tag (M4598)
– ADDED: Report – allow ##samples## tag to be used in Invoice template (M3437)

07-09/09/2020
– BUG: don’t append samples to deleted job, with API
– BUG: when click on the history icon, the screen jumps up
– BUG: issue with lang and new case record popup
– BUG: special characters in Equipment category name breaks the test view/edit
– BUG: LSMremote must show last jobs when number of jobs is limited
– ADDED: API: save in log and parameters history when update results

17-18/09/2020
– CHANGED: LSMRemote: SAVE rename to Submit Order
– BUG: feature ‘add columns’ to batch results, didn’t work fine if sample parameters contains commas
– BUG: don’t show DOB if it is equals to 0000-00-00
– BUG: tab ‘Projects’ of Requester is not refreshed properly, when click next record button (M4630)
– CHANGED: follow options of automatic name in new case record form
– CHANGED: include fields inside category in new case record form
– ADDED: API: fields caserecordob and caserecordgender to API response
– ADDED: create an option to select a default sample type (M4638)
– ADDED: LSM+LSMRemote: case record must be filtered by keyword/autocomplete (M4617)
– ADDED: Processing tab list on Completed and validation stages (M4616)

— v4.0
18/09/2020 21-25/09/2020
– ADDED: loader on batch views (M4655)
– ADDED: in job list export, add the case record data (M4631)
– CHANGED: LSMRemote: fancy to display Job details (M4611)
– ADDED: API: method to accept/reject/hold requested jobs (M4620)
– CHANGED: split batches per status (M4618) – BUG: The tag ##test_description## doesn’t work (M4666)
– CHANGED: remove unmatched tags in reports – ADDED: edit tags of valuelist, unit and phrase in parameters management
– BUG: remove red messages in console on call ajax

28-02/10/2020
– BUG: Layout issue in add parameter form (M4650)
– NEW: Option to hide/show the Tax/VAT number, and choose a custom label
– CHANGED: LSMRemote: force calendar pick in date/datetime fields
– ADDED: View the list of jobs linked to case records in LC>LSM tab (module set as case record)
– BUG: Deleted samples should not appear when managing batch ‘blank’
– BUG: make wrong value in date not break PDF
– CHANGED: API: extend search by parameters to find sample parameters and processing parameters, besides results
– BUG: batch box in batch results view is too short
– ADDED: API: add fields missing to requester list

05-09/10/2020
– ADDED: new option to Requester>Preferred report: API Export
– ADDED: API: add field company to requesters list
– ADDED: API: add missing fields to sample type list
– CHANGED: pick lang from profile or lang dropdown
– BUG: special characters in case record list break the new job form
– BUG: remove “Restart” button from batches view, keep it only for jobs

13-17/10/2020
– BUG: more issues with special characters in case record name
– CHANGED: remove carriage return of result values, when sending results to PWNHealth
– ADDED: option in setup to select the default option to limit the total number of jobs in the job list
– BUG: quotes in customer name break the job form (new/edit)
– BUG: API: quotes in customer name break the API response for method ‘getRequesterList’
– CHANGED: remove the word ‘final’ when sending the report to requesters by email
– BUG: mandatory parameters accept blank space on completing test
– BUG: send results to PWN stopped working
– BUG: sometimes, send results by email says loading, even after send

19-23/10/2020
– CHANGED: LSMRemote: security parameter validation is case insensitive now
– ADDED: option to add attached modules
– ADDED: option to archive sample types
– BUG: calculated values in batch were not saved (in last version) – BUG: LSMremote: dates were not editables on the popup to edit case record
– BUG: API: filter by parameter on job level didn’t work
– NEW: Parameter multiselect

30/10/2020
– BUG: LSMremote: associated record goes out of screen (#67)
– BUG: LSMRemote: sample type filter on single mode (#66)
– CHANGED: LSMremote: text must stay on checkbox line (#70)
– BUG: LSMRemote: email validator in register page doesn’t validate long domains (#77)
– CHANGED: LSMRemote: increase bottom space on forms (#69)
– ADDED: LSMremote: filter list of tests to easy find (#65)
– BUG: default barcode print is not taking the setup (#73)
– ADDED: all popups on batch should allow to reassign batch (#71)
– BUG: evaluation null in report in parameter without phrases (#75)
– BUG: validate user request does not work
– ADDED: multiple choice test filter in job list (#78)

02-05/11/2020
– CHANGED: LSMRemote: Calendar is not allowing dates before 1920 (#80)
– IMPROVED: LSMremote: improvements in date pickers, to make them easier, button today and default time (#81)
– BUG: time field issue, button ‘now’ inserts hours, minutes and seconds in one digit format (#84)
– ADDED: multiple choice test filter in batch list and new/pending samples list (M4728)
– ADDED: Option to add requester to results grid -dropdown “Add column”- (#86)
– CHANGED: Requester code not mandatory (#88)
– ADDED: option to add an additional field to case record name and dropdowns (#83)
– CHANGED: replace label for draft in report footer
– BUG: encoding issue in LabCollector attached module (#89)
– NEW: new option to share case record to all requesters (#90)
– ADDED: show requester ID in requester list
– NEW: LSMRemote: make the create CASE RECORD to be accessible directly self-registration + captcha (#79)
– CHANGED: assign batch in job list take into account current filters (#72)
– ADDED: link to edit case record in job form (#87)
– ADDED: LSMRemote: support multiselect fields (#68)

— v4.01 05/11/2020 06/11/2020
– BUG: automatic name option in case record module generates repeated names 09-12/11/2020
– BUG: LSMremote: datepicker in case record popup: impossible to change year in FF (#96)
– ADDED: Show full case record name line in Job list in LSMRemote (#103)
– ADDED: Give token on job view in LSM side (#97)
– CHANGED: API: case record name as UTF-8 to not break Receiving
– ADDED: shorter automatic name for samples (YYMMDD-1….n) (#99)
– ADDED: select case record email field in setup
– CHANGED: improve text of email sent to requester with report, and add it to lang files
– CHANGED: adjustment on job form toolbar to make it more responsive
– BUG: select option on dropdowns with many options eventually select the wrong value (M4629)
– NEW: new options to send emails to case record (M4661)
– ADDED: improve page breadcrumbs (M4656)

— v4.011
12/11/2020
– ADDED: Mark as accepted all selected jobs while are received (#104)
– CHANGED: Fields of type ‘calculated’ don’t work as tag in LSM reports (#93)
– CHANGED: Remove the limit of 200 in select category dropdown – CHANGED: API: Optimize query for retrieve samples and status in method GET
– ADDED: new indexes for speed up API queries

— v4.012
13/11/2020
– ADDED: LSMREMOTE: option for category tree (#101)
– BUG: fix height and width for combo of parameter Valuelist
– CHANGED: optimize query for retrieve job list in LSMremote
– CHANGED: API: Optimize query for retrieve samples and status in method GET (II)

16-17/11/2020
– BUG: add sample type to a test doesn’t work properly and sometimes is not added
– BUG: LSMRemote: dates of sample doesn’t have the button Today
– CHANGED: add translations to Portugese of emails to patients
– CHANGED: API: Optimize query for retrieve samples and status in method GET (III)
– ADDED: new indexes for speed up API queries (II)
– CHANGED: remove external users from Teams panel (#105)
– ADDED: new index for speed up batch popups

— v4.013
17/11/2020
– BUG: LSMRemote: the test filter doesn’t work on grid mode and category tree
– CHANGED: use lang labels in job list header
– CHANGED: grid headers bolder 18-20/11/2020
– CHANGED: LSMRemote: improvements for mobile
– CHANGED: LSMRemote: fixes in category tree
– ADDED: API: add test code
– CHANGED: LSMRemote: add 1000 and 2000 to limit jobs options, and remove the option limit=none
– ADDED: LSMRemote: retrieve token by email
– CHANGED: job and sample search is not strict now
– ADDED: security parameter for accesss with token in LSMRemote can be a case record field
– ADDED: API: filter by jobstatus
– CHANGED: if security parameter for access with token in LSMremote is a date, use the LC custom format
– BUG: API: inserted received date, even if the sample was already received
– CHANGED: in case of multiple received dates, show the min in tag ##received_date##
– ADDED: send token by email to case record, in job list page, menu options
– ADDED: LSMRemote: link to edit case record in view job popup
– ADDED: LSMRemote: link to send token by email to case record
– CHANGED: LSMRemote: grid mode: forbid manual input in dates, only datepicker

— v4.014
20/11/2020 23-27/11/2020
– CHANGED: apply LC date format to reports
– ADDED: new method in LSMRemote API to return LSM configuration properties
– CHANGED: apply LC date format to LSMRemote and most of LSM
– BUG: LSMRemote: register page says invalid password
– BUG: LSMRemote: register fails if company has apostrophe
– BUG: restarted jobs on compliance mode, lost the reference to parent job, if they were edited
– ADDED: LSMRemote: button to print labels (M1963)
– CHANGED: LSMRemote: icons for option buttons in job list
– CHANGED: LSMremote: open CoC in a fancybox in job list
– BUG: batches with ampersand were not displayed in job list
– BUG: initialize var in costs page
– ADDED: add a billing code to a test (#116)
– ADDED: attached modules can be mandatory or not in job form
– ADDED: parameter checkbox ‘On Lab Form’ for choose parameter visible or not on job creation (#110)
– ADDED: parameter checkbox ‘Backend’ for hidden fields, only visible through API (#118 & #109)
– CHANGED: LSMRemote: trim and remove backspace character on saving case record
– CHANGED: create/modify case record support chinese chars
– CHANGED: add field caserecordid to method getJobList in LSMRemote API – NEW: Make a option to checkbox to be blocking for status: started / complete / validation (#117) —

v4.015
27/11/2020 30/11-04/12/2020
– BUG: LSMRemote: IE11 doesn’t support JS function ‘replaceAll’
– BUG: LSMRemote: pre-registration fails after the date format improvements
– CHANGED: LSMRemote: add case record info in labels
– CHANGED: update lang Norwegian – ADDED: make the checkbox blocking for status work in batches
– BUG: quick edit mode didn’t update values on save – BUG: LSMRemote: refresh case record name after edit
– CHANGED: make the checkbox blocking for status work in single sample – ADDED: message in batch view, if there are samples blocked
– CHANGED: allow import Super Admin account in users list to show the real name from LC – NEW: category mode
– CHANGED: increase width of tests and category columns in new job grid
– ADDED: option to select default option to assign tests in new job grid
– ADDED: field ‘small name’ in Tests, to use in new job grid
– ADDED: LSMRemote: add calendar & mask in security parameter, if it is a date parameter (case record field)
– BUG: home dashboard shows only 3 items if page is very witdh – CHANGED: increase number of items in home dashboard to 6
– BUG: reorder in parameter list stopped working – BUG: open deleted job showed all fields blank
– BUG: fixes for the new option to select default option to assign tests in new job grid
– BUG: format 2 decimals in line total in invoice PDF
– ADDED: LSMRemote: add calendar & mask in security parameter, if it is a date parameter (sample custom field)
– CHANGED: requesters don’t see unlinked patients, if case record sharing option OFF
– BUG: LSMRemote: small fix in data placeholder
– BUG: LSMRemote: sample filter was missing, if sample name is automatic
– CHANGED: LSMRemote: server pagination to improve performance
– CHANGED: LSMRemote: remove limit in results page
– ADDED: LSMRemote: add date filter in results page

— v4.017
04/12/2020 09-11/12/2020
– BUG: LSMRemote: search by case record returns no results for requesters
– CHANGED: Show field Company in requesters list – CHANGED: Requester name is no longer mandatory
– CHANGED: Modify requesters dropdown to show Company, Address, City, State
– ADDED: Add setup to choose default option for samples received
– CHANGED: user list now has a filter by source
– ADDED: LSMRemote: new property ‘open_coc_automaticaly’ in config.ini
– ADDED: API: update job custom parameters – CHANGED: job form – all aditional params must be in a collapsable accordeon section
– CHANGED: Backend parameters must be added to forms but hidden, to not lose data
– BUG: LSMRemote: search by case record didn’t search in extra fields
– BUG: Bad condition on min/max for trending charts
– ADDED: add dropdown to add columns to batches completed
– ADDED: add column job ID to batches grids
– BUG: save job doesn’t work if there is a custom parameter of type file
– ADDED: PDF label printing
– BUG: LSMRemote: new fixes for case record filter
– CHANGED: Modify requesters dropdown again to show Name at first

14-18/12/2020
– CHANGED: API: caserecordname includes composed names
– CHANGED: API: use LC function is_ssl() instead of check var $_SERVER[‘https’]
– CHANGED: catch errors in date conversion with invalid dates, to avoid error 500
– BUG: LSMRemote: Click order icons in job list headers did nothing
– ADDED: case record fields to SELECTs when label printing
– ADDED: case record fields to dymo printing
– CHANGED: batches popup didn’t show composed names for case record
– BUG: Dymo printing: click clean button did nothing
– CHANGED: change button label to start job/batch, Save & Start, instead of Save
– ADDED: repeat buttons to save/cancel job at bottom of new job form
– BUG: PDF label printing: fix including lines bug when saving label template
– BUG: PDF label printing: fix text color bug
– BUG: adding a new requester asks for a name, but it is not mandatory
– CHANGED: button options in job list moved to left
– ADDED: case record fields to EPL printing
– BUG: the button Cancel new attached record didn’t work
– BUG: fixes in sample backend parameters
– BUG: filter by status in LSMRemote
– BUG: fixes in joblist: accept selected jobs doesn’t work in last version
– CHANGED: PDF label printing: uncheck 2D and check no barcode for second column if label type doesn’t have W2
– BUG: fixes in job popup, in the new section ‘Job additional data’
– BUG: some batches didn’t appear on batch list search filter
– BUG: lsmremote joblist is blank if case record is not enabled
– NEW: new field RegistrationID in Requesters

— v4.019 18/12/2020 18-20/12/2020
– BUG: LSMRemote: label doesn’t include the extra name field if it is a calculated field
– BUG: Missing commas in API query
– BUG: search requester name in dropdown didnt work, after latest changes in requester dropdown
– CHANGED: hide/show fields dependent of categories in case record form
– NEW: new email templates system (M4390)
– NEW: associate users to more than one requester (M4202)
– BUG: fixes saving users – BUG: fixes importing users and editing users

— v4.02
20/12/2020 21-23/12/2020
– CHANGED: extra name column in requester details case record tab
– CHANGED: API now validates job or sample parameter values for custom fields L or M – CHANGED: results export in batch list now only export the checked results if there is at least one checked
– BUG: PDF printing: fix encoding issue
– NEW: new parameters custom filters system (M4766)

— v4.022
23/12/2020 25/12/2020
– BUG: the option to send report to PWN in job list was always inactive

28/12/2020
– BUG: job list filter didn’t show more than 200 requesters in requester dropdown, even filtering

************** 2021 **************

05-08/01/2021
– NEW: case record associated module now has a possibility to display all custom fields in batch list
– CHANGED: country select is now a select with database ID
– CHANGED: for US and Canada the state is now a select and not free text
– BUG: job list export encoding problem for case record name
– NEW: new level filter in parameter listing – NEW: now it’s possible to make page breaks in template reports

11/01/2021
– BUG: import CSV in new job form required an asterisk in mandatory column headers
– NEW: LSMRemote: token expiration
– CHANGED: API: parameter samplesearch takes into account sample barcode option (M4768)
– NEW: new field Account Manager for Requesters
– BUG: popups windows were not movables in job list page
– BUG: the button “Replicate results” did replicate too sample parameter values
– BUG: button “add all columns” in batch view had stopped working

13-15/01/2021
– NEW: LSMRemote: filter by parameter values
– ADDED: API: add field priority level to GET response
– BUG: 2 issues in batches due to special characters and var $value redeclaration
– BUG: sample columns of type date are blank in validated batches > add column
– BUG: section for processing parameters appear in validated batches even when there are not processing parameters
– ADDED: API: add field parentid to GET response
– BUG: parameters of type file in job level cannot be edited/deleted
– ADDED: support multiple files in parameters of type file in job level

18-20/01/2021
– ADDED: job samples now have a unique sample name verification when barcode option is sample name and sample name it’s not automatic generated (#123)
– CHANGED: exclude sample name verification when restarting jobs
– CHANGED: add title to restart job popup
– CHANGED: LSMRemote: submit order: case record (and others select pickers) support search by multiple words
– BUG: LSMRemote: case record duplication if user clicks twice the button (#119)
– BUG: malfunction of grid master checkbox, when multiple grids in the same page
– CHANGED: send batch results by email – include column ReportPreferred and uncheck rows if Email is not preferred
– CHANGED: restarted jobs must keep the received date of parent job
– ADDED: report tags ##amendment_title## and ##amendment_comment##
– CHANGED: restarted jobs keep the same token that original job, and no new email is sent to patient
– ADDED: API: filter invoice list by jobid or jobnumber
– ADDED: button Correct to add a corrective comment to finished jobs
– ADDED: increase reportID if correction date is newer that report date
– ADDED: report tags ##corrective_comment##, ##corrective_date##, ##corrective_title##
– ADDED: added columns Received Date & End Job Date to batches
– ADDED: LSMRemote: add captcha on all recovery (#108)

— v4.025
20/01/2021 22/01/2021
– BUG: change filtering mode for requester combo
– ADDED: LSMRemote: add laboratory/requester to preregister page (unless case record sharing option is enabled in LSM)
– ADDED: LSMRemote: allow force laboratory/requester in preregister page by URL – BUG: setup-case record: the dropdown to select name is empty after change module
– BUG: new job page: initial text typed in requester combo is removed
– BUG: new job page: JS var not defined

25-26/01/2021
– ADDED: lsm version to lic_ws
– BUG: LSMRemote: after adding a case record, the name is not displayed if it is a calculated field
– BUG: Result validation popup accepts without password(M4908)
– BUG: Filter job list by test doesn’t return results, if ‘group by’ is job-sample-test
– BUG: Filter by parameters in job list only works if ‘group by’ is job-test-sample, it is missing for others ‘group by’ options
– BUG: Lot not showed in validated sample popup, if it has expired
– BUG: report tag ##results_extended## shows empty test name if there are several samples with the same name
– CHANGED: update lang Norwegian
– NEW: Requester field ‘OnPortal’ to choose if requester is visible in LSMRemote lists
– BUG: format all invoice line totals with 2 decimals
– CHANGED: search by case record support search by multiple words

— v4.026 27/01/2021 27-29/01/2021
– BUG: Button to reset search form in job list, doesn’t clear the case record combo
– ADDED: dynamic tag to reports to display the parameter comment
– ADDED: parameters of type String can be selected as Search Filter
– BUG: issue on preload new case record after create
– BUG: case record custom fields with commas interfered in batch view, and columns were misplaced
– BUG: when report signature is blank on footer, because the signature is invalid, the amendment footer of restarted jobs was also empty
– CHANGED: rearrange requester fields to have Country before State
– BUG: API: clean invalid values (&nbsp; and <input type) for date/time parameters in GET output
– ADDED: add font Montserrat to templates

01-02/02/2021
– NEW: API: commands to get token or send token by email
– CHANGED: Typo “Accept all jobs”
– CHANGED: LSMRemote: hide link to edit case record if job is finished
– BUG: default emails (lang) encoding
– BUG: LSMRemote: view job with LC user shows wrong requester, if requester has OnPortal OFF
– BUG: API: all job parameters have empty value since last week
– ADDED: LSMRemote: support parameters of type File and Image (M4930)
– CHANGED: LSMremote: change the title of confirmation popup to pick a custom message from lang
– ADDED: LSMremote: confirmation to reprint CoC if job is finished
– CHANGED: optimize results query on reports
– ADDED: field Code to parameters

— v4.027
03/02/2021 03-05/02/2021
– BUG: the new dynamic tag to display the parameter comment failed if label contained chinese characters
– CHANGED: some small code modifications to avoid generate warnings in apache log
– BUG: add new job didn’t validate required fields of type File
– CHANGE: allow overwrite received date and ask for a corrective comment if the job is already finished
– ADDED: option to send manually notification of results by email to case record in job list menu
– CHANGE: case record tag fields in email templates – BUG: encoding fix for email templates tag fields
– BUG: issues with special characters in case record (LSM & Remote) (M4966)
– BUG: order alphabetically values for field of type “select” in case record form, and hide inactive values
– BUG: download files of job parameters fails if file name contains a hashtag

08-11/02/2021
– CHANGED: LSMRemote: change label “User mail” by “Email”
– BUG: default value was not preselected for case record fields of type “select”
– BUG: User request tab was empty if content had special characters
– BUG: CoC included columns of hidden sample parameters
– ADDED: case record form supports masks
– BUG: job end date is a datetime, but sometimes didn’t include time
-NEW: option to rename priority levels
– BUG: LSMRemote: fix css issue in calendars
– CHANGED: LSMRemote: improve captcha system to work with multiple pages opened
– BUG: prevent the button that Validate user requests to be clicked multiple times
– BUG: don’t send token of deleted jobs – BUG: job correction makes null – BUG: API: label of input parameters was blank
– BUG: the job form wasn’t picking the customized labels for priority – BUG: ignore deleted jobs in retrieve report with token
– BUG: email accept/reject job is not sent if comments is blank – ADDED: popup with quick pdf printing when a job is open
– NEW: integration with 1Health – CHANGED: group API integrations (PWNHealth, 1Health) in new page setup>integrations

— v4.028
11/02/2021 12/02/2021
– BUG: report pdf was not generated if time fields had wrong values
– BUG: API update shipment status with custom date – worked fine but returned a 400
– BUG: API job acceptance must not change status of jobs already accepted
– BUG: API case record mandatory on job creation if it is enabled
– BUG: API now create jobs with status requested, unless automatic acceptance is enabled
– CHANGED: images for integration settings – BUG: LSMRemote sometimes displays “order sent failed” after create a job, but the job is created

15-19/02/2021
– BUG: stop edition of grid before validate cells, because last cell changed was not be validated properly
– BUG: LSM had lost the identification of equipments out of service, so they were enabled
– BUG: received date was not using custom date format in single sample popups
– CHANGED: click button ‘today’ in grid date pickers, selects now current date and close the popup
– CHANGED: word-break in requester’s email column – ADDED: report tags for attached modules fields
– BUG: setup>job list options: choosing ‘No limit’ saved wrong option
– BUG: small fixes for 1Health job creation and results submission
– BUG: save case record didn’t work in localhost, due to cookies mixed in request
– BUG: LSMRemote: tests not compatible with sample type could be selected by selecting a category
– CHANGED: tests is mandatory in new job form – BUG: batches with samples not started but completed or validates remained in status assigned forever – NEW: page Customizations — v4.029 19/02/2021
– BUG: strip slashes in protocol description (M5057)
– BUG: order by requester id doesn’t work
– NEW: Email report to requester protected by password (M4990)
– ADDED: job number to all batches grids
– ADDED: API: parameter limit to limit the number of results

— v4.030 19/02/2021
– BUG: parameters of type time were converted to datetime in report dynamic tags (M5204)
– ADDED: API: method to order a quoted job (M5205)
– ADDED: option to not apply the discount to priority (M5011)
– CHANGED: rename requester tab ‘Billing’ by ‘General Contact’ and ‘Shipping’ by ‘Billing’ (M5206)

— v4.031
22/02/2021
– ADDED: add dynamic fields ##requester_name## and ##requester_company## to the email templates (M5060)
– ADDED: LSMREmote: preselect test if there is only one (single view)
– ADDED: method to search case record by multiple fields
– BUG: field ‘Fax’ in requester details removed the sign ‘+’ on save
– ADDED: add fields ‘code’ and ‘small name’ to method ‘getAssaysForm’ in LSMRemote API
– BUG: case record’s field extra name is missing in job list export
– CHANGED: requester’s account managers can be any LC contact, not only those authorized in LSM
– ADDED: API: add option to get job users and account managers, and to hide other tags
– NEW: Multiple requesters per job (M5090)

— v4.032
26/02/2021 01-05/03/2021
– NEW: option to send report by fax to requester
– NEW: option to send token and notify of results to case record by SMS
– CHANGED: LSMREmote: change report output from “I” (Inline) to “D” (Download) to fix problems in mobile
– BUG: hide project tab in requesters if project option is not enabled in setup
– BUG: new users linked to one requester didn’t appear in users tab in requesters
– ADDED: tag ##requester2_name## to reports, to be replaced by secondary requesters name
– ADDED: filter in dropdown of secondary requester in new job page
– NEW: LSMRemote: CSV import of jobs
– NEW: LSMRemote: Coc: add integrated labels
– ADDED: LSMRemote: Add option to make pre-registration mandatory
– NEW: LSMRemote: Select jobs and generate single PDF (M5093)
– ADDED: add date when the requester downloaded the report to method “getJobsData” in LSMRemote webservice
– NEW: possibility to configure accreditation functionality (M4979)
– ADDED: send report by email also sends to secondary requesters
– NEW: LSMRemote: Mark row if report has already been downloaded (M5092)
– BUG: select fields of case record allowed free text (M5123)
– CHANGED: LSMRemote: Apply the option for sample name ‘prefilled with random long number’ when it is set in LSM setup
– ADDED: API: prevent results to be updated if sample/test is already validated
– CHANGED: LSMRemote: trim spaces after and before token and security parameter value to prevent ‘no data found’
– ADDED: add requester name in the title/breadcrumb of the popup of single sample/test
– NEW: API: search/create requesters and case records on job creation
– BUG: LSMRemote: case record mandatory fields were not enforced since a few days
– CHANGED: LSMRemote: change again report output from “D” (Download) to “I” (Inline) for desktop and keep ‘D’ for mobile devices
– ADDED: add rush icon in home page items
– BUG: fixes in secondary requester filter in new job form
– CHANGED: Email report to requester protected by password is now optional, even with compliance ON
– ADDED: API: add missing fields on requester creation
– NEW: API: search/create attached modules records on job creation

08-12/03/2021
– ADDED: new argument $reportseen for the function getJobsData in LSMRemote API to filter jobs by ReportSeen
– NEW: LSMRemote: hide/show reported jobs – BUG: fixes in search by sample in job list
– CHANGED: allow modify general comments after validation
– ADDED: add name of dependent fields of calculated fields to method “getCaseForm” in LSMRemote webservice
– CHANGED: requester name or company must be not empty (M4829)
– ADDED: add column sample name to batch report
– NEW: LSMRemote: add requester filter in job list
– BUG: LSMREmote: job view showed wrong sample name if sample name option = autogenerated long number
– CHANGED: add optional label to attached modules (by default module name)
– ADDED: show license limits and features in license page
– ADDED: add column barcode to batch report
– BUG: fixes and adjustments in send batch results with new modalities (fax, 1health)
– ADDED: API GET: new parameter jobnumber
– ADDED: API GET: new parameter searchmode (startswith, endswith, contains, strict-default-) to use with jobnumber or samplename
– ADDED: new method “getQuoteAmount” in LSMRemote webservice
– NEW: add color to each result value in a select list or numeric out of range (M5120)

15-18/03/2021
– BUG: now supporting special characters in charts
– NEW: new job status Pre-Order
– NEW: option to choose samples barcode 1D/2D – BUG: users with ‘&’ in some field couldn’t log in to LSMremote
– ADDED: accept edit jobs from LSMremote
– ADDED: use parameter report colors in validation screens too
– ADDED: more fields for search on requester list
– CHANGED: the popup to send results to 1Health or PWN exclude jobs not created from their API
– NEW: LSMRemote: job pre-register – NEW: contact to case record by email/SMS
– BUG: completed date on report tag ##results_merged## was the same for all tests in the same sample
– NEW: new report tag ##results_extended_wdate##
– BUG: search by sample name with a hastag # inside didn’t work
– NEW: Allow automatic report email or fax to requesters after validation (M5106)
– BUG: remove all secondary requesters for a job didn’t work

— v4.034
18/03/2021 19/03/2021
– BUG: country in report appeared as ID instead of text
– ADDED: send report by fax also sends to secondary requesters

23-26/03/2021
– CHANGED: improve SQL query and speed up the job list export CSV
– NEW: LSMRemote: add JS signature plugin
– BUG: LSMRemote: bug in set automatic name for sample name
– ADDED: new database index in job created date
– ADDED: Find samples and jobs per ID in job list and samples lists
– NEW: new job field Signature – CHANGED: Replace the forbiddance to delete tests already started by tests already completed
– BUG: Remove the limit of 200 in select category dropdown
– BUG: Pass correct argument to getJobNumber function
– BUG: send token or notification of results only were sent if automatic submission were ON in setup
– ADDED: new method “sendEmail” in LSMRemote webservice
– CHANGED: replace message after send email/sms by “Email/SMS generated”
– NEW: LSMRemote: add returning patient feature on job pre-registration
– BUG: auditlog showed duplicated entries when super-admin was imported as user
– ADDED: save in audit log all messages sent to case record (token, notification of results, custom messages)
– CHANGED: improved accreditation configuration (M5161)
– CHANGED: Requester email field required when checkbox ‘Email’ checked in Preferred Report
– BUG: fixes in email/sms to case record
– ADDED: new email template for email to case record
– ADDED: API: option to not send token on job creation, although the automatic token is ON
– ADDED: LSMRemote: add Signature field in getJobDetails return
– CHANGED: API: GET response was encoded with UTF-8, now it is converted to ISO-8859-1

29/03/2021
– BUG: set parameter color failed if the value included parentheses
– NEW: Set number of decimal places in Numeric parameter (M2957)

— v4.035
29/03/2021
– BUG: open job showed wrong status of sample if sample was completed without being started first
– CHANGED: a combo filterable in equipment and chemical/reagent lots choice – BUG: correction in decimals format – don’t format value if field decimals is empty
– NEW: LSMRemote: send email to requester when job was pre-ordered
– CHANGED: improve SQL query and speed up the job list export CSV (II)
– CHANGED: don’t hide the checkbox to accept jobs in popup to change shipment status if automatic_aceptance, because it is needed too for preregistered jobs
– ADDED: API: accept LC user ids on update actions
– BUG: parameter filters in job list only searched in results parameters and didn’t search in processing parameters or input parameters
– BUG: attached module field in new job form is empty, if the attached module doesn’t have set optional fields in setup
– BUG: on edit job, autoclose popup if samples are locked, instead of wait indefinitely for unlock
– NEW: Lock templates (M5149)

— v4.036
31/03/2021 –
NEW: LSMRemote: pre-registration forms to allow a list of req (M5181)

05-09/04/2021
– BUG: job list export is blank if case record name contains special apostrophe (M5195)
– BUG: Add job, date field in sample breaks if save is made with picker open (M5191)
– BUG: LSMRemote: Edit secondary requesters was restricted to main requester – BUG: API: clean invalid parameter values with strip_tags in GET output
– NEW: Integration evolutions *support case record *activation linked to license *prepare new integration ORDRS
– ADDED: export case records from requester (M5163)
– CHANGED: parameters filters in job list return now only the affected sample instead of all samples of the job
– BUG: View or edit test after filtering by category or sample type shows blank form (M5178)
– CHANGED: improve navigation buttons
– ADDED: view full size image in job parameters of type image
– BUG: case record columns were empty in results grid if case record module has a field of type ‘Line separator’
– BUG: LSMRemote: job date could be wrong if a timezone is set in LC, and that could cause wrong automatic job number based on dates
– BUG: API: start batch didn’t work well if a LC user was passed as ‘startedBy’
– BUG: job edit: status was not updated after remove samples/tests if the new status was completed or finished
– CHANGED: LSMRemote job list: improve filter by case record, search by multiple words and ignore double space in name
– NEW: Add a category field in Requester contact form and filter (M1806)
— v4.037
09/04/2021 12-16/04/2021
– ADDED: LSMRemote: CSV import => import with existing patients only
– ADDED: job list export with result (M5208) – CHANGED: disable ‘report submissions to requestesrs protected by password’ if PHP version < 7.2
– BUG: enforce block validation parameters: *missing field is treated as not checked *double-check if the blocking parameter is checked at validation
– BUG: correction in script to upgrade to 4.037
– BUG: refresh customer category list after add/edit/delete customer categories
– CHANGED: optimize search by sample name in job list and other little optimizations
– ADDED: new index in assay name to speed up job list
– BUG: Integrations: bug updating jobs after create a new case record
– NEW: LSMRemote: scheduling integration
– CHANGED: replace the method getParameterType by getParameter in LSMRemote API to make it more generic
– BUG: report table loses style for tag ##results_extended_wdate## due to 2 closing tags </tr> insted of 1
– BUG: the new filter by requester category was not taken into account in Export CSV
– CHANGED: Apply a tag revision for report tag ##matrix## (M5221)
– CHANGED: Increase field batch in database from 30 to 250 characteres
– CHANGED: Prevent click twice the validation button
– ADDED: add requester category to requester list
– BUG: LSMRemote: date filter didn’t work properly, end date was not taken into account
– BUG: API: when accept LC user ids on update actions, API mixed userid with contactid
– BUG: LSMRemote: the property ‘allow_quote’ didn’t work if automatic acceptance of jobs has set in LSM setup
– ADDED: LSMRemote: select requester category in preregister using querystring parameter cat=X
– CHANGED: Exclude Pre-Orders from job list default view and home – ADDED: LSMRemote: add extra sample parameter to PDF label
– BUG: LSMRemote: job preregister – incorrect condition when forming the template on sending email to requester
– CHANGED: LSMRemote: Use the custom privacy policy text in Register page
– CHANGED: Batch report: add batch barcode, number of samples and column Case Record if this option is enabled
– ADDED: Link to batch report in batch list
– CHANGED: API: getRequesterList shows customer category and allow filter by category
– CHANGED: report tag ##matrix##, exclude lines with all results empty and add a new column with test code (M5221 II)
– CHANGED: try to make faster batches view, modifying the order by – BUG: unique range was not well pre-selected sometimes when the job has a mix of tests, some with ranges and others without (M5423)

19-23/04/2021
– ADDED: LSMRemote: pass info on log in about if the user is superadmin or not
– ADDED: LSMRemote: option to edit configuration properties by superadmin
– BUG: LSMRemote: parameter images broken (M5177)
– BUG: extra tabs and empty lines in open job > export samples list to CSV
– CHANGED: API: getAssayList include field description
– CHANGED: API: use more fields for search requester on creation (code, name, company, registrationID)
– BUG: send results to PWN by batch failed in last version, after last integrations evolutions
– BUG: API: missing space in getRequesterList before field ‘fax’
– BUG: if automatic sample name is set to sequential short number there was a risk of duplicated names on samples created at the same time (M5246)
– BUG: link to add-on Scheduler was present even if Scheduler is not installed
– CHANGED: Replace requester name by requester name + company in job list and samples list
– BUG: Canceled samples list > Export doesn’t export the right list
– CHANGED: Make a new Equipment tag ##equipments_protocols## and change protocol tag ##protocols## (M5235)
– BUG: correction in block validation of samples with job parameters of type checkobx (single sample popup) (M5263)
– BUG: API: creation of requesters doesn’t save some fields (country, state, registrationid and category)
– CHANGED: API: modify the fields for search requester on creation (company + registrationID)
– BUG: missing samples in Canceled samples list
– CHANGED: external API (integrations) now create jobs with status requested, unless automatic acceptance is enabled
– ADDED: add a way to map tests in external API integrations, instead of relying only on test code/name
– CHANGED: PWN results submission: escape html characters to not break XML
– BUG: The name of the equipments selected in tests was not displayed if module Equipments had selected the option ZEROFILL for the ID
– ADDED: Add a bulk action to delete/cancel jobs (M5237)
– CHANGED: API: modify the requester search by company removing spaces and other characters ( : – * . & ( ) _ $ )

26-30/04/2021
– BUG: external API (integrations) results submission: use the mapped test_type/kit_type if it exists
– CHANGED: templates page: display template id next to template name (M5149)
– BUG: not convert to lowercase the lab_cli when send results to 1Health
– BUG: character & in protocol description and name, the text behind is deleted (M4920)
– BUG: The sample description text is incomplete in print (M4142)
– ADDED: speed up the report generation creating index in token
– BUG: LSMRemote: fix in job preregister requester list
– CHANGED: API: modify the requester search by company, if company is empty, search only by registrationID
– BUG: fix issue displaying requester company in job list
– BUG: phrases based on ranges were not assigned for calculated fields in single sample popup
– BUG: autocomplete combo for reagent lot and equipment name was partially hidden in screen (M5244)
– CHANGED: Remove QUOTE word from invoices (M4106)
– BUG: job creation fail in last version if sample name option is automatic (based on dates)
– CHANGED: improvements in ORDRS integration
– CHANGED: small improvement in UI for numeric and calculated fields in results popup
– CHANGED: API: when search requester, pick always the lowest ID
– BUG: Account Manager was not saved on Requester creation
– BUG: SQL error opening a sample popup if Case Record is enabled but fields Gender and DOB are none
– NEW: add new Kit feature
– NEW: LSMRemote: add kit activation
– BUG: time left/estimated dates were not calculated when the API is used to send the received date (M5305)
– NEW: external API (integrations) now can send notification of RECEIVED status. Enabled for 1Health

03-07/05/2021
– BUG: jobs created from LSMRemote with status Pre-Order created wrongly an empty sample (only with LSM last version)
– CHANGED: audit log – search in all fields at once
– CHANGED: increase width of column Requester in job list
– IMPROVEMENT: getSamplesForm => send sample name value when sample name option is sequential short number (M5265)
– CHANGED: improvements in ORDRS integration
– ADDED: parameter priority to the method getJobsData in LSMRemote API
– ADDED: LSMRemote: add case record fields to search list
– ADDED: report tag ##matrix_catalog##
– BUG: Charts: Fixed apply to all options (M5103)
– BUG: requester company was missing for secondary requester on view job
– NEW: A way to extract all PDF of a batch of jobs (M4483)

10-14/05/2021
– IMPROVEMENT: Control charts/Data trending charts are now separated with filters (M5105)
– CHANGED: improve performance in Audit Logs List
– BUG: Fixed some encoding problems with charts
– BUG: Fixed charts filters after having saved chart configuration
– CHANGED: Apply charts filters to full page button
– CHANGED: batch actions (assignment, modification) are recorded in audit trail (M5295)
– BUG: avoid horizontal scroll in batch list
– NEW: email template for Send Customer Bulk Report
– CHANGED: modify the report submission in bulk to send only one email/fax with one PDF for all jobs, instead an email/fax for each job (M5302)
– NEW: Preview a batch of reports all at once in batch complete and finished (M5202)
– BUG: Sample shipment status was saved with empty date, instead of current date (if no date is passed)
– BUG: display issue in integrations>PWNHealth>Range rules
– BUG: delete last sample on job edit didn’t work
– BUG: audit log date was empty on job edit from LSMRemote
– BUG: top menu didn’t work fine in page Integrations
– CHANGED: 1Health: if the field value is a list in 1Health (as field “race”), pick the first value
– CHANGED: Integrations: on adding a new field, show only list of fields of selected level
– ADDED: improvements in integrations *new option to map a field to a literal text, *or set a default value if API field value is empty, *or set current date/time/datetime
– BUG: issue with special chars in project code filter in job list
– BUG: css syntax not supported in report pdf generator made that values out of range lose the bold
– BUG: remove red JS error in console when click the master checkbox to select all rows in job list and other lists

18/05/2021
– BUG: search sample name starting with S didn’t return results
– CHANGED: improve auditlog for bulk report submission

— v4.038
18/05/2021 18-21/05/2021
– CHANGED: use inline images in emails to send report to requester
– ADDED: case record fields of file type (M5118) – ADDED: LSMRemote: manage patient fields of upload type (M5118)
– BUG: API: getJobList returned values starting with symbol < as empty
– BUG: Special character like “&” don’t works when giving names to requester (M5314)
– BUG: clean carriage return from select/multiselect values (M5311)
– ADDED: Control&Trending charts: added filters legends & possibility to view all
– CHANGED: support boundary quotes added by Excel on import samples CSV with multiple tests (M5233)
– CHANGED: retrieve token from LSMRemote send the token for all case records with the same email
– CHANGED: API: support multiple values separated by comma on searching by sample barcode (parameter samplesearch)
– CHANGED: modify the results_extended_wdate tag (M5219)
– BUG: archived project codes should not appear on the job form (M5236)
– ADDED: add button to open case record from job view

24-28/05/2021
– BUG: batch not found and other issues with batches containing apostrophe or other special characters
– BUG: compatibility with mysql8: row is a reserved word – BUG: Missing invoice template generate a SQL error (M4068)
– BUG: API: bug creating requester with empty value for field “country”
– BUG: location of reagents not displayed if the main storage is used (M5232)
– BUG: extra space in a parameter name causes an issue in the test definition (M5108)
– ADDED: sendJob => add job number to return
– ADDED: make a requester archived option (M4691)
– ADDED: on requester archive inactive users of type customer linked to that requester (M4691)
– CHANGED: exclude archived requesters from license limit
– CHANGED: put colors in license limits progress bars
– BUG: order by name in contacts>requesters didn’t work
– ADDED: add a warning in header if license limit exceeded
– BUG: issue adding project code to requester
– CHANGED: 1Health integration: exclude hcp fields from mapping because there are fields with the same key in patient and hcp
– ADDED: API: option to add sample report in base64 to GET response
– BUG: issue with custom format in new case record form
– BUG: time left on batch list didn’t stop on test complete
– BUG: wrong total records in audit log, it showed the same number as page size
– BUG: case record form and attached modules forms included inactive fields
– CHANGED: better arrange layout in setup>case record
– CHANGED: now case form and attach form are in one module form (module_form.php)
– NEW: edit attached module
– ADDED: attached module fields of file type
– BUG: Fixed some PHP warnings on charts
– BUG: incorrect time field display in new module form
– IMPROVEMENT: LSMRemote: manage job attached modules
– CHANGED: API: support multiple values on method to link sample to module

31/05-04/06/2021
– IMPROVEMENT: LSMRemote: new job => pre-fill some fields if a patient had one (M5273)
– BUG: reagent lot is not destocked on batch – BUG: test with equipments could be started in batch without select an equipment
– BUG: parameters Image or File set as mandatory were not enforced on batch – ADDED: option for unarchive a job (M5344)
– BUG: color for parameters of type Valuelist didn’t work in reports using dynamic value tags
– BUG: ‘Additional data’ in job form is blank if one job parameter contains the character ‘<‘
– ADDED: add search by date range to audit log
– BUG: The list of parameters in the popup to sort parameters (button ‘Order’) is empty if one parameter contains the character ‘<‘
– BUG: LSMRemote: reports did’t follow the PDFA option set in LSM
– BUG: API: reports did’t follow the PDFA option set in LSM
– BUG: bad adjustment of row height in joblist>job>open
– CHANGED: disable manage>results if job is not started
– ADDED: integrations: add the option to create range rules to all integrations
– ADDED: patient and attached modules created/modified using lsmremote/LSM needs to be recorded in LC audit trail (M5345)
– ADDED: patient and attached modules created/modified using lsmremote/LSM generate record version -if compliance is enabled in LC for that module (M5345)
– ADDED: SMS editable templates for token and result notification
– BUG: issue with special characters in case record gender
– BUG: customer_list => sql request is badly formed
– IMPROVEMENT: LSMRemote: allow patient to edit his information (M5355)
– CHANGED: Control charts: can now create all equipment charts by selecting a category
– CHANGED: load requester list asynchronous to prevent slow down the job form load (also in LSMremote)
– NEW: filter in job list by corrected or amended jobs

07-12/06/2021
– BUG: LSMRemote: combo for secondary requesters was visible, even with this option disabled in LSM
– BUG: Hide button Notify in job list if case record is not enabled
– CHANGED: Mark QA/QC sample from top menu (test and job) (M4914)
– BUG: js syntax error related to a test name composed by several words
– BUG: email for results notification had lost the header and footer
– ADDED: Add a new tag ##test_code## in the results template (M5173)
– ADDED: Add a new tag ##requester_users## (M5099)
– CHANGED: Add a dash in the report tag ##matrix## when the result is blank or null (M5261)
– CHANGED: don’t put NaN for numeric or calculated parameters with decimals
– CHANGED: integrations: 1health: allow map a kit type with more than one test
– CHANGED: load case record list asynchronous to prevent slow down the job form load (also in LSMremote)
– CHANGED: LSMRemote: submit order – do search case record asynchronous too, instead of load full list
– BUG: integrations: issue with results code mix – ADDED: Add an option to unarchive requesters, tests and sample types (M5327)
– NEW: Create a new tag ##matrix_with_sum## (M5368)
– NEW: open job => view attach
– CHANGED: param LONGTEXT with default value as html template (M5369)
– BUG: fixes in load requester list

14-18/06/2021
– CHANGED: enlarge field for parameter default value in database (varchar(1000) to TEXT)
– NEW: open job => view requester – CHANGED: improve style of buttons add/edit/view
– BUG: report signature fails and report is blank if user name contains apostrophe
– BUG: on edit job the button for edit attached records was not active
– CHANGED: improvements in tags ##matrix## and ##matrix_with_sum##
– CHANGED: don’t preview default value of parameters of type LongText in tests settings
– ADDED: be able to sort the default parameters on the sample level (M5370)
– BUG: sample comment => convert “/r/n” to new line properly
– BUG: the red alert for equipments out of service or in maintenance was not displayed
– BUG: don’t show time left on batch list if estimated end date is not valid
– NEW: Test category more easy to setup (M5375)
– CHANGED: ##matrix_with_sum## – show sum even the column has only one value
– ADDED: add button to import CSV of tests on edit Category (M5375)
– NEW: add tag to report to show a QR code with a link to open the report directly in LSMRemote (M5379)
– BUG: integrations: fix result submissions to 1Health when the tests are mapped to more than one kit_type

21-25/06/2021
– CHANGED: integrations: don’t include the prefix in sample name – BUG: disabled attached modules caused JS error in new job form
– BUG: undefined color in parameter valuelist caused JS error in completed test popup
– BUG: on test definition, when multiple ranges for one parameter, view/edit range values might vary
– ADDED: view case record in sample popups
– ADDED: LSMRemote: allow to modify a job with pending status
– BUG: upload module file: manage the directory separator according to the operating system
– BUG: multiple batch assignment fail if one of the jobs has no tests
– ADDED: colors for parameters of type ‘calculated’
– ADDED: apply report color to phrase too

28/06-02/07/2021
– NEW: allow create templates for order jobs (Job + Sample parameter) (M5315)
– BUG: slowness and instability with calculated fields in single sample pop ups due to too much refresh
– BUG: setup case record: date fields were not populated when selecting a module
– ADDED: setup case record: prevent enable without select a module
– CHANGED: Integrations: PWN: use the field reference as sample name insted of requisiton number
– CHANGED: allow resize textareas in job list filter
– ADDED: job list: radar to identify items not found from keyword list
– BUG: list of tests truncated in job/sample view
– CHANGED: optimize the load of calculated fields for single sample and batches
– BUG: fix issue with jobs don’t get final status after validate one sample if other sample had been canceled previously
– BUG: unit missing in matrix reports tag
– ADDED: add ranges for matrix reports tag, under value in smaller font
– NEW: external API (integrations) now can send notification of REJECTED status. Enabled for 1Health and ORDRS
– CHANGED: alphabetic order of tests in report
– ADDED: calculated parameters support math formulas with one argument

05-09/07/2021
– BUG: edit case: correctly manage mandatory field of the file type (#40)
– BUG: edit case: encoding issue in select options (#40)
– BUG: LSMRemote: edit case => correctly manage mandatory field of the file type
– BUG: Manage file: add slashes to file path
– NEW: option Manage only entered results, and validate only entered results
– BUG: if the blocking parameter is not active in the model, the job should not be blocked
– BUG: if the mandatory parameter is not active in the model, the form should not warn/prevent submission
– BUG: LSMRemote: patient registration => correctly manage mandatory field of the file type
– NEW: LSMRemote: enable sample fields of file and image type
– NEW: LSMRemote: treat sample fields of file and image type
– BUG: direct link to invoice from requester didn’t allow add extra lines
– BUG: open deviation record didn’t open
– BUG: edit job didn’t enforce the restrictions of tests per sample type
– ADDED: apply parameter colors on the results entering form too
– BUG: remove extra lines and tabs added in LSMremote>export CSV headers & LSM>new job>export CSV
– ADDED: add button to refresh all calculated fields at once
– BUG: dynamic tags for parameters with apostrophe didn’t work
– BUG: fixes in equipments dropdown and reagent lots dropdown
– BUG: review and fix the conditions of lots active

12-16/07/2021
– CHANGED: improve direct link (qr-code) to work even if security parameter is set
– ADDED: API: on update result return a 400 error Bad Request if the XML received is not valid
– BUG: filter by requester in job list didn’t work for users linked to more than one requester
– BUG: download report with token didn’t work in Safari
– ADDED: print all barcodes from job list > button shipment status (M5410)
– ADDED: label printing => add received date field (M5410)
– BUG: malfunction in button to delete categories
– BUG: bad condition in filter requester list by model in add new job
– CHANGED: bulk action to delete is also available for status Pending if automatic acceptance is ON
– BUG: flag demo_licence_lsm must be reseted on license check
– CHANGED: grid sample type combofilterable (M4606)

22/07/2021
– BUG: PDF printing => refresh label type list after adding
– IMPROVEMENT: PDF printing => preselect label type if there is only one

26-30/07/2021
– ADDED: integrations: receive new field ‘context’ in ORDRs
– ADDED: integrations: send reference range to ORDRs – BUG: Sample saved in first module chosen in setup > projects & modules (M5430)
– BUG: equipment category is mandatory in batch mode (M5424)
– CHANGED: update lang norwegian
– CHANGED: add words missing in lang
– BUG: memorized sample name is not selected automatically (M5426)
– BUG: remove requester from user doesn’t work if the requester name ends with space
– ADDED: add report tag ##requester_code## – ADDED: add report tag ##priority_level##
– ADDED: Protocol & equipment bulk update in batch (M5425)
– ADDED: Button to add horizontal line (hr) in report templates
– BUG: job form was blank if user name contains the character ‘&’
– BUG: tag ##results_extended## had duplicated column header ‘Test’ when no ranges
– ADDED: add test code to popups (job, samples, batches)
– BUG: trim spaces in values of parameter of type valuelist to avoid error with colors
– NEW: Make automatic samples in module at job order (M5421)
– ADDED: Sending fax for batch list of jobs prints status for each job in the grid + audit trail prints API response
– ADDED: option to send token on job accepted instead of job creation

— v4.039
30/07/2021 02-06/08/2021
– CHANGED: Lazy load of home charts (workload, control charts and data trending)
– CHANGED: optimize query for check if license limits have been reached
– CHANGED: create more indexes for speed up LSMremote job list loading
– BUG: users management: button Clear all selected requesters didn’t work
– BUG: batch list for staff users must show only batches assigned to themself or their teams, as job list and other lists
– ADDED: add report tags ##requester_phone## and ##requester_fax##
– BUG: data load for chart “Samples test status by operator” takes too many time
– ADDED: job list export: option to include additional data and option for choose only selected jobs
– BUG: LSMRemote: fix position of tooltip for checkbox parameters
– ADDED: LSMRemote: confirmation on overwrite case record data
– BUG: LSMRemote: sample fields of type date/datetime were empty in view job
– BUG: LSMRemote: page preregister had lost the customizations title
– BUG: the list of projects on submit order was not correctly filtered for requester users

09-12/08/2021
– ADDED: external API (integrations) now can send default PDF report. Enabled for ORDRs
– NEW: external API (integrations): add LabSoft integration
– BUG: LSMRemote: the popup to select tests has an empty list if any test small name contains &

24-25/08/2021
– IMPROVEMENT: viewPDF => decode html special chars (ckeditor)
– IMPROVEMENT: Kit => avoid tests with archived status

01-03/09/2021
– CHANGED: LSMRemote: token no expire for direct access with QR code (M5472)
– BUG: content of popup setup>projects&modules is truncated in some instances
– CHANGED: nowrap test code in report tag ##results_extended_wdate##
– ADDED: add more options to job list limit (10000 rows & 20000 rows)
– ADDED: add dynamic tags for case record to CoC
– BUG: API: batches with ampersand returned not valid XML response
– BUG: external API (integrations): fixes in send PDF to ORDRS
– BUG: issue with special chars in project code in job form
– BUG: update one template, displays all the templates in the log (#43)

06-10/09/2021
– BUG: LSMRemote: page for change password didn’t work
– ADDED: add visual mark in job list for restarted jobs (5488)
– CHANGED: replace icon for rejected tests in job list (5488)
– BUG: tags ##requester_phone## and ##requester_fax## didn’t work in CoC report (5489)
– ADDED: API: parameters comment was missing in API response
– ADDED: external API (integrations): fix indexes in MSH after convert HL7 to JSON for LabSoft
– ADDED: external API (integrations): add additional options for requester mapping to LabSoft
– CHANGED: expand parameter field helper text in database, from varchar(250) to text
– NEW: API: new method getAmendedInfo
– BUG: character ampersand was not supported in job number (M5491)
– BUG: protocol of canceled sample still appeared in report
– CHANGED: split dynamic report tag for parameter comment into two tags, one for phrase and other for comment (M5485)
– IMPROVEMENT: add parameter order_by in method “getCaseList” in LSMRemote webservice
– IMPROVEMENT: LSMRemote: add config option ‘case_record_order_by’
– CHANGED: parameter comment is now editable in validation stage (M5486)
– NEW: API: new parameter ‘caserecord.keyfields’ on POST job to set a subset of fields used to match case record
– CHANGED: API: ignore spaces and some special chars -*.&()_$ on case record match
– ADDED: API: add attribute ‘parentid’ also on sample tag
– CHANGED: add config.allowedContent = true to CKEditor config

13-17/09/2021
– BUG: LSMRemote: exclusion list didn’t worked in Import CSV
– ADDED: LSMRemote: add the missing required headers in error message after failed CSV import
– CHANGED: bulk action to delete is also available for status Pending even automatic acceptance is OFF
– CHANGED: don’t apply requester and project code prefixes to samples, only on jobs
– ADDED: external API (integrations): send results to LabSoft
– CHANGED: LSMRemote: exclude priority level of data preloaded from previous job on case record select
– BUG: setup priority level didn’t save empty lables (#46)
– ADDED: job list export CSV includes now attached modules if enabled
– ADDED: button to generate barcode labels in job list toolbar
– ADDED: add button quick edit mode for reagents to ease bulk update in batch
– NEW: have the possibility to add a RESULT uncertainty (M5455) 20-24/09/2021
– IMPROVEMENT: PDF label printing: check ID
– BUG: API: put back rigid search on barcode search (parameter samplesearch)
– NEW: LSMRemote: bulk label printing
– BUG: LSMRemote: append samples to existent job using querystring parameters didn’t post the new sample
– BUG: search by case record on lsmremote job list didn’t work for case record with dob null
– BUG: LSMRemote: trim spaces on sample name before save
– ADDED: external API (integrations): add direct report link to labsoft results message
– BUG: popup confirm password didn’t work for SSO users
– BUG: fixes for result uncertainty (M5532)
– ADDED: external API (integrations): add missing option to send results to LabSoft in batch
– CHANGED: external API (integrations): link LabSoft activation to license
– BUG: uncertainty was empty in report if the parameter had not set decimals
– CHANGED: dynamic width of navigation buttons to fit different langs (M5531)
– CHANGED: use right symbol for +/- in report
– BUG: out of range color was not applied correctly on reports for results with uncertainty (M5530)
– CHANGED: button width and FR lang in button ‘Save license’ (M5531)
– BUG: the new option in job list export ‘add job additional data’ failed if there is more than 60 parameters
– CHANGED: restarted jobs keep the same job source (pwn, 1health, ordrs, labsoft…) as parent job
– ADDED: add field Code to sample types
– ADDED: send token to case record when job Pre-Order is converted to order
– CHANGED: external API (integrations): make labsoft results template more generic and add additional properties to labsoft settings
– ADDED: job list export: option to include case record additional data and show spinner in export button (M5534)
– BUG: exclude case record disabled fields from CSV export
– BUG: case record fields of type upload were empty on CSV export
– CHANGED: cancel/recover samples: ask for a reason, allow set if exclude/include in invoice, and record in auditlog
– NEW: make decimals choice more dynamic (M5476)

27-01/10/2021
– BUG: external API (integrations): processing parameters were missing
– BUG: external API (integrations): fixes in LabSoft requester matching
– IMPROVEMENT: LSMRemote: new job => make the sample name fully random
– BUG: LSMRemote: the prefilled sample name option didn’t prefill
– BUG: external API (integrations): remove double slash in HL7 default template for LabSoft
– ADDED: external API (integrations): send token on LabSoft job creation if it is enabled
– BUG: JS error on complete or validate samples with parameters of type LongText
– BUG: external API (integrations): fix on fields mapped to segments that can be multiple in LabSoft
– BUG: make number of decimals mandatory if parameter field ‘Fixed decimals’ is set to Yes
– BUG: fix evaluating rules for set number of decimals
– BUG: LSMRemote: import CSV after show requester validation message created the jobs twice
– CHANGED: LSMRemote: reinforce the barcode unique validation in form and import
– BUG: LSMRemote: filter by parameter multiple select with accents failed
– CHANGED: add double quote as text delimiter on job list export CSV
– BUG: export CSV of job list after filter by batch with apostrophe failed

04-08/10/2021
– BUG: display bug on manage job results if the job have samples with different tests
– CHANGED: small UI change in new job form to fit different languages in field ‘Order’
– CHANGED: show real calculation result of the uncertainty on the display
– ADDED: add a new check for sample and job naming: match job number in the sample name (M5556)
– ADDED: case record: show calculated field from the patient form and create two more extra fields in setup (M5518)
– ADDED: add a button to “Save and Add Another” Job (M5561)
– BUG: search case record method didn’t take into account the sharing option
– BUG: exclude disabled fields from case record setup lists
– NEW: LSMRemote: create jobs in bulk (M5564)
– BUG: jobs created by API or import CSV were created with some missing custom fields
– BUG: select color was grey instead of blank if no color defined for parameter values
– ADDED: LSMRemote: search box in case multiselect
– ADDED: LSMRemote: new option “CSS” in config.ini (M5566)
– ADDED: Job parameter multiple choice to have a default value (M5252)

— v4.04
08/10/2021 11-14/10/2021
– NEW: API: new method “sendResults” to send results to external API (integrations)
– NEW: disposal/return sample list (M5554)
– BUG: LSMRemote: report.php => fix PDF loading issue in chrome and edge browsers (cleane the output buffer)
– ADDED: API GET: extend the parameter searchmode (startswith, endswith, contains, strict-default-) to use with parameter batch too
– ADDED: Make the blocking parameter more protected with a confirmation popup (M5573)
– CHANGED: small UI change in new job form to align horizontally radio buttons
– NEW: auto-print CoC & labels after job creation (M5575)
– NEW: have a new option to calculate the stability windows of the sample (M5487)
– CHANGED: external API (integrations): add test description to default HL7 template
– CHANGED: refresh page after save setup

18-22/10/2021
– CHANGED: don’t apply default phrase is value is empty (M5579)
– BUG: after start a test, don’t apply same range for other tests of the same job, if the range is not available for those tests
– CHANGED: external API (integrations): use only key fields (name+gender+dob) on search case record
– CHANGED: external API (integrations): ignore repetition separator ~ in HL7
– CHANGED: external API (integrations): ORDRS – send values in quotes to support not numeric values
– ADDED: add option in setup for internal jobs creation when jobs need acceptance
– CHANGED: when requests need acceptance, but job is created as Job (accepted) do the actions linked to job_acepted (send token, create record)
– ADDED: add column Operator to batch list and add Operator to filter
– ADDED: give option to assign operator together with batch in job list (M5463)
– ADDED: API: on POST results check if sample has no range selected and try to assign it automatically
– ADDED: Add a column on the Job list to show the name of the case record (M5562)
– BUG: API: upload files to parameters of type file didn’t work properly
– CHANGED: search by case supports search by id, in method “getJobsData” in LSMremote webservices
– CHANGED: LSMRemote: do not hide case record name when editing
– ADDED: LSMRemote: add case record information to email
– BUG: LSMRemote: fill job fields after select case record sometimes pick wrong data
– CHANGED: add job number to record log on report generation
– BUG: fix issues in assign automatic phrase on batches
– BUG: button replicate row should not set a random long number for sample name, if this option is not enabled in setup
– BUG: job backend parameters were not hidden on edit job form
– ADDED: add linked requester to method “getCaseForm” in LSMremote webservices
– IMPROVEMENT: LSMRemote: clean all controls and pre-select a requester in any case on case record change
– ADDED: LSMRemote: add link to email to edit case record information
– CHANGED: extend backend parameters to level Test
– BUG: when sending a report by fax of a single job, the success or fail message was empty
– BUG: typo on fax failed to send
– CHANGED: when sending a report by fax of a single job, save also response of fax platform in auditlog
– NEW: add option for backend parameter: Read-Only (M5358)
– CHANGED: disable weekends in expected date calendar
– BUG: on test definition, the range values for processing parameters does not display in view

25-29/10/2021 – BUG: automatic phrases were not saved on batch
– CHANGED: highlight today on calendars
– CHANGED: small UI change to fit the font in grids editing
– IMPROVEMENT: PDF label printing: block printing if there are spaces
– BUG: editing job using checkboxes mode to add/remove tests doesn’t work properly
– CHANGED: ignore symbols <,<=,>,>= in phrase automatic assignment
– CHANGED: adapt LSMremote webservice to last LC security fix
– CHANGED: adapt API and integrations to last LC security fix
– IMPROVEMENT: job_custom_form: add the ‘valued’ attribute to a combo element if there is a default value
– IMPROVEMENT: LSMRemote: do not clean a control if there is a default value
– BUG: fixes on assign operator together with batch in job list (M5463)(II)
– ADDED: add filter by sample type to job list and samples list (M3201)
– BUG: fix JS error on batches after click on empty numeric parameters
– ADDED: new filters for accreditation & control/data trending in job list and samples list (M5464)
– BUG: fix in auditlog number of records, button print and button export
– BUG: when adding a parameter from tests page, it had incompatible checkboxes checked (onLabForm, onClientForm)
– CHANGED: make input uncertainty values in test definition more user friendly
– CHANGED: fix display issues in multiselect parameters and remove the option ‘select all’
– BUG: job list export result didn’t include result when filter by more than one test

02-05/11/2021 – CHANGED: user type Validator has access now to batch list
– ADDED: give option to reassign operator together with batch in batches popup
– ADDED: add button refresh in batch list – BUG: fix calc of stability window in new job form
– CHANGED: the stability window must be calculated using the received date, and not current date (M5487)
– ADDED: follow LC to add options to date fields to limit (M4911)
– ADDED: external API (integrations): LabSoft
– update case record data on each order received
– ADDED: show uncertainty calculated value in batches popup
– ADDED: option to choose significative points to results (M5455)

08-12/11/2021
– CHANGED: allow save and edit requesters without value in field Report Preferred (M5503)
– ADDED: add button ‘Export’ to navigation controls for all lists (M5594)
– NEW: new options for staff level (M5604)
– BUG: export job list after filter by many tests with many results doesn’t work
– ADDED: add a popup to set the received date on batch start (M5610)
– ADDED: add report tags for billing information tab (M5547)
– CHANGED: to have a possibility to delete the extra lines on quotes (M5465)
– NEW: import test prices/cost to update or add pricing (M3904)
– CHANGED: remove from result template tags the column “Evaluation” if it is blank (M5468)
– CHANGED: remove from result template tags the column “Parameter” if tests only have one parameter (M5468)
– IMPROVEMENT: add head and footer templates to LSMRemote emails
– CHANGED: fix display issue on batches with big images in long text parameters

15-19/11/2021
– CHANGED: import results CSV on batch updates processing parameters too
– BUG: LSMRemote: forms had default lang in LC instead of lang chosen in remote
– ADDED: add job parameters to the list of columns that can be added to batches, and reorganize this list
– BUG: LSMRemote: forgot your password had stopped working
– NEW: retain the selection of list of columns added to batches grids
– BUG: batch results values were cleared when validating
– ADDED: add button to edit case record on requesters > case record tab
– ADDED: add case record extra fields to requesters > case record taba & download – BUG: export to CSV had lost line headers
– CHANGED: make automatic install without click any button
– BUG: external API (integrations): LabSoft – fix in requester mapping
– NEW: LSMRemote: use result alert colors (M5567)
– NEW: API: update requester
– ADDED: add filter to case record list on requesters > case record tab
– ADDED: API: Warning for duplicates (M5446)
– ADDED: report tag ##amendment_date##

22-26/11/2021
– BUG: API: ignore archived requesters on requester search – BUG: external API (integrations): ignore archive requesters on requesters search
– ADDED: add tooltip for icons in last column of job list – BUG: edit an user and remove a requester from the list sometimes doesn’t work properly
– CHANGED: improve the link to download protocol to avoid open the small popup window
– BUG: LSRMemote: button for download report with partial results didn’t appear
– ADDED: LSMremote: add button to download invoice if it is available for finished jobs
– CHANGED: LSMremote: retrieve token accepts email or mobile phone if SMS are enabled
– ADDED: show lots storage in lots dropdowns if simple storage is active (M5634)
– IMPROVEMENT: LSMremote: add a new config option no_qr_code to not show and not send patient QR code
– IMPROVEMENT: LSMRemote: use result alert colors with multiple test parameters
– CHANGED: To have a possibility to modify discount on quote lines (M5467)
– ADDED: new sample shipment status ‘Sent to partner’
– CHANGED: don’t include samples of not finished jobs in disposal list (completed or finished if regulation is OFF)
– ADDED: add sample shipment tracking
– CHANGED: API: modify update shipment status to accept tracking and user
– ADDED: filter by shipment tracking in job list and samples list
– CHANGED: restrict staff from LC to a requester (M5553)

29/11-03/12/2021
– IMPROVEMENT: improve integration with Scheduler (M5642)
– IMPROVEMENT improve integration with Scheduler (M5642) => check the correct Scheduler license
– NEW: detection limit and quantification limit optional preset on a test (M4085)
– ADDED: API: add missing fields ‘notes’ and ‘reportPreferred’ to methods create/update requester
– ADDED: Display the stability window info as a time of shipping (M5636)
– CHANGED: Add the possibility to select multiple requesters in the filter option of job list (M5654)
– CHANGED: job secondary requesters: put on top selected options
– CHANGED: lazy load of charts menus
– BUG: option to remove alert was disabled after add an alert, so alert couldn’t be removed
– ADDED: Workload filter by requester (M5626)
– BUG: send automatic report after validate last single sample didn’t work in some browsers (FF, Safari)
– CHANGED: make the match on sample name case insensitive on batch import – CHANGED: API: create job via API generates a 13 digits random number instead of 10 for empty sample names
– NEW: Have a list of reasons for rejection – as in LC (M3472)
– CHANGED: API: remove user validation on update shipment status, and proceed without user if it is not valid
– BUG: button export on parameters and users page didn’t take into account all filters 06-10/12/2021
– NEW: LSMRemote: new job => accept multiple samples (M5657)
– BUG: fix icon for samples out of stability window in job list
– BUG: increase popup height for change shipment status for finished jobs on job list to avoid scroll
– BUG: small fixes in import CSV on preferences>costs>tests
– NEW: Add a test family/speciality option to make report section (M4724)
– NEW: LSMRemote: add specialty to assay information and assay search
– BUG: equipment isn’t saved after batch saving
– CHANGED: LSMRemote: enforce the full entry for date and datetime masks
– CHANGED: API: add tag sampletypes to response of method getAssayList
– BUG: external API (integrations): remove apache notices in log on notify
– BUG: headers missing in completed and validated batches if one parameter contained a comma
– NEW: LSMRemote: add reason for rejection to job data
– NEW: LSMRemote: display reason for rejection by clicking on status (M5667)
– CHANGED: fix display of LoD values in reports
– BUG: external API (integrations): update case record saved text instead of value on select fields
– CHANGED: Improve the position of the filters and change the column display (M5671)
– ADDED: new method “auditlog” in LSMRemote webservice
– NEW: LSMRemote: logging login
– ADDED: extend reasons list for reject a completed test (M3472)

— v4.05
10/12/2021 13-17/12/2021
– CHANGED: values out of quantification limit are replaced in report by <limit or >limit
– CHANGED: ensure protocol use function is_ssl
– CHANGED: allow edit range and save on started samples
– ADDED: option to deactivate acreditation status based on LoD and LoQ reach (M4085)
– BUG: button delete reasons didn’t work
– BUG: reason for reject test didn’t appear in batch
– NEW: LSMRemote: check user registration on duplicate email (M5153)
– BUG: assignment data was empty if default operator was an Administrator team, and caused issues on start sample
– CHANGED: LSMRemote: Grid: clean the test list when changing the sample type
– BUG: LSMRemote: Multiple samples: fix date conversion issue
– BUG: confirm login fail in last version
– BUG: lang labels missing for the new feature ‘Reasons’
– BUG: report tag ##billing_address## included country id instead of name
– BUG: fix a curl issue due to LC security improvements
– BUG: LSMRemote: multiple case record causes duplicated sample name on last version
– CHANGED: lazy load of filters on job list (load combo options only when click Filter)
– BUG: test parameters filter didn’t appear after select a test in job list
– BUG: remove tooltip for icons in last column of job list, sicce it freezes FF
– CHANGED: replace nusoap lib by native soap server non WSDL in LSMremote webservice
– ADDED: LSMRemote: new method “getLabelData” in LSMRemote webservice
– BUG: prevent save&start batch button keep spinning indefinitely
– CHANGED: Add more indexes to database to optimize queries
– BUG: LSMremote: new print label had lost the the sample barcode option and always used default
– NEW: button to optimize case record module
– BUG: restart with compliance OFF not working
– CHANGED: optimize search by case record LSMremote webservices

20-23/12/2021
– CHANGED: improve accept multiple jobs in job list, processing all together instead one by one to avoid hanging
– CHANGED: API: improve performance, processing multiple samples or jobs all together in PUT (accept job, update shipment status, assign batch)
– ADDED: add querystring parameter ‘sample’ to joblist to be able to link from other add-ons
– NEW: LSMremote: delete job files in edit mode
– NEW: Delete job files in edit mode
– BUG: API: fix bug in function validUser when the same contact is linked to more than one user
– CHANGED: add .htaccess to LSMremote webservice folder to unset upgrade and avoid conflict with HTTP/2 that causes ‘Error Fetching Headers’
– BUG: LSMremote: fix an encoding issue in th getLabelData method
– BUG: LSMremote: base64 encoding of some parameters of the sendEmail method
– BUG: LSMRemote: clean hidden input after deleting file before submiting job
– NEW: button to optimize attached modules
– ADDED: LSMremote: add LC time zone to the return of the webservice getDateFormat method
– BUG: LSMremote: sample name is not generated with the automatic sample naming option and job status pre-registered
– BUG: load batch results grid takes too much time, if there are many job parameters, since they were added as optional columns
– CHANGED: lazy load of filters on batch list (load combo options only when click Filter)

************** 2022 **************

03-06/01/2022
– CHANGED: optimize some queries used in reports replacing an ORDER BY to use the indexes efficiently
– IMPROVEMENT: generate a long random number as job file name
– CHANGED: API GET: optimization to reduce the response time
– CHANGED: optimize multiple queries in order to use indexes more efficiently
– IMPROVEMENT: LSMremote: insert requester when updating a case record
– NEW: LSMremote: patient portal (M5568)
– NEW: LSMremote: add a condition to the job list query for the patient portal (M5568)
– CHANGED: exclude deleted jobs from ‘check sample unique name’
– ADDED: LSMremote: add original file name to the return of upload()
– ADDED: LSMremote: add mask to time fields to disallow not matching characters
– CHANGED: optimize query for getJobsData in LSMRemote webservice
– ADDED: LSMRemote: new method “getLastCaseJobData” in LSMRemote webservice
– CHANGED: optimize validate batch in order to be quicker

— v4.053
05/01/2022
– ADDED: To add in search filter report date (M5692)
– IMPROVEMENT: PDF printing: add spinner

10-14/01/2022
– CHANGED: spinner was not visible on refresh batch list
– CHANGED: add field DossierID to job table
– NEW: API: new parameter ‘requester.keyfields’ on POST job to set a subset of fields used to match requester
– NEW: new job list option: preload jobs yes/no
– CHANGED: API GET: querystring parameters jobid and sampleid support multiple ids
– CHANGED: update lang French
– BUG: don’t give option to exclude from invoice samples on cancel if billing if not enabled
– CHANGED: apply the new option preload jobs to clear button in job list
– CHANGED: optimize the loading of additional data in open/edit job
– CHANGED: Refactoring of code for API PUT
– BUG: link to open a job in joblist from patient tab didn’t open automatically if new option to preload jobs is set to false

— v4.0541
12/01/2022
– ADDED: parameters of type Date and Datetime can be selected as Search Filter
– ADDED: add end job date to search filter
– CHANGED: convert filters for job date, end job date and report date into date range filters in search filter
– IMPROVEMENT: do not send case record file content if it exceeds the limit
– CHANGED: add time to filters for Datetime parameters
– BUG: lang data was lost in API PUT, caused send token email with wrong subject
– CHANGED: extend class Events to provide full usage from Receiving add-on
– IMPROVEMENT: dossier form: do not send file content at all, only on request
– ADDED: LSMRemote: new method “getFile” in LSMRemote webservice
– IMPROVEMENT: LSMRemote: display/download case record file at request

17-20/01/2022
– IMPROVEMENT: LSMRemote: display/download job file at request
– CHANGED: remove extra licence check in index
– NEW: Scheduled task for case record notifications (M5715)
– ADDED: option to define a not accredited seal for reports of jobs not accredited (M5714)
– BUG: API GET: put back the optimization with job custom parameters, that was lost
– ADDED: API GET: filter by requesterid
– BUG: API PUT: link sample to module had stopped working
– BUG: reports with tests accredited or not accredited showed the accredited seal for all tests
– ADDED: API GET: add range label to assay and min/max to each parameter
– CHANGED: modify class Events to remove echo, since it is breaking display in Receiving add-on
– CHANGED: add double quote as text delimiter on job samples export CSV
– ADDED: add column Priority Level to the list of optional columns on batches results grid
– CHANGED: optimize query for load batch list quicker
– IMPROVEMENT: LSMRemote: add a new argument ‘in_bulk’ to the sendJob method
– NEW: Scheduled task for automatic report submission

24-28/01/2022
– NEW: select attached modules visible/hidden in models settings
– ADDED: LSMRemote: new method “search_attach” in LSMRemote webservice
– NEW: allow footer/header of LSM reports to be customised (M3611)
– BUG: attach form: fix bug of selected option of selectlist field
– CHANGED: increase range label size from 50 to 100 characters
– BUG: equipment isn’t saved for all assays after batch saving
– CHANGED: consider empty values as 0 in dependent fields of calculated fields
– CHANGED: login page supports new LC color customizations settings
– ADDED: Add filter for received date (M5726)
– ADDED: upload multiple images with job image fields
– ADDED: Job list export to include a column TAT (M5727)

— v4.057 28/01/2022
– ADDED: charts setup & lines labels management & charts design (M5706)
– BUG: job list export including case record data failed if case record module had fields of type ‘searchin’
– CHANGED: improved charts header design
– NEW: Job List to have a save query option (M5725)

31/01-04/02/2022
– NEW: make job and sample parameters translatable (M5730)
– BUG: add/edit user didn’t save in auditlog the list of linked requester IDs
– CHANGED: use popover triggered on click and mouseover in modules fields with helper text
– CHANGED: switch memorize search icons in job list
– IMPROVEMENT: attached module: use ckeditor with long text attached module fields
– IMPROVEMENT: LSMRemote: add ckeditor library

— v4.058
01/02/2022
– BUG: fix in dates on memorized queries
– BUG: job list export with tests selected didn’t include results if only selected jobs were exported
– NEW: option to change the order of tests in report
– CHANGED: split report tag ##results_merged## into 2 tags: ##results_merged## and ##results_merged_wdate##
– NEW: preferences page to edit and delete memorized searches
– IMPROVEMENT: increase file upload limit
– ADDED: report tag ##matrix_sp## with sample type instead of code

— v4.0581
03/02/2022
– BUG: fix incorrect color for test in job list > group by > Job-Sample-Test
– ADDED: Disable tokens and notifications for specific requesters (M5737)
– ADDED: API: include rejected jobs using jobstatus=all or jobstatus=rejected (M5743)
– ADDED: add Specialty to report tag ##details## (M5748)
– NEW: report tag ##matrix_param## with all tests in the same row (M5748)
– ADDED: add “parent_id” and “parent_value” properties to parameters (M5729)
– NEW: LSMRemote: manage conditional job parameters (M5729)
– ADDED: add Processing parameters to report CSV (M5740)
– BUG: fix issue editing list of values of parameters of type Valuelist and Multiple Choice
– NEW: charts views management (M5721)

— v4.0584
04/02/2022 07-08/02/2022
– ADDED: add column reference range to report tag ##details##
– BUG: adjust sizes of workload view
– ADDED: custom range date inputs for charts
– NEW: customize job list columns
– ADDED: report tag ##details_w/o_footer##
– ADDED: custom range date inputs for charts (process all at a time) (M5716)
– ADDED: placeholders in charts setup autocomplete
– BUG: custom report order was not saved

— v4.0585
08/02/2022 09-11/02/2022
– NEW: use language variables in reports based on the requester’s country (M5747)
– BUG: fix bug checking blocking parameter at validation
– CHANGED: make grid toolbar sticky in job list, batch list and samples lists
– BUG: JS error editing input parameter in preferences>tests
– NEW: can now edit charts views
– BUG: modify shipment date in job list didn’t work if the checkboxes for job and sample were checked
– BUG: send job report to requester for single job had stopped working
– BUG: conditional params (M5729): avoid selecting a field itself as its parent
– IMPROVEMENT: template header/footer: improve UI/UX
– BUG: conditional params: parent info wasn’t sent with some fields
– BUG: LSMRemote: conditional params => forced conversion of collections into arrays
– ADDED: Add a reason on validate a job (M5750)
– NEW: Add signatures images linked to validators (M5541)

14/02/2022
– BUG: automatic assignment of phrases in batch didn’t work properly
– ADDED: tag ##validator_name## includes the reason for validate
– CHANGED: limit max size of user signature image

— v4.0586
14/02/2022 14-18/02/2022
– ADDED: API: search by caserecord, caserecordname, caserecorddob & caserecordgender
– CHANGED: control & data trending charts refactoring to optimize loading, no more remote calls, less javascript
– BUG: tags results_extended & results_extended_wdate lost gray background on headers when the column evaluation was automatically hidden
– BUG: home tabs: don’t preload workload content on click other charts tabs, only on workload view
– BUG: added missing requester name in trending charts
– BUG: clean invalid chars on saving job and sample parameters of type Date, Datetime or Time
– BUG: LSMRemote: sample passed by querystring was not saved
– BUG: parameters of type File and Image were not saved on batches
– NEW: multi-language support for report/invoice templates (M5747)
– BUG: fix column index of icons in job list, since column list is customizable
– CHANGED: restrict staff users to access manage>assignments
– ADDED: add missing breadcrumb to some preferences pages
– ADDED: add option view pending scheduled notifications to setup menu
– CHANGED: make transaction methods of dbUtil static
– BUG: correct the parameter names of the insertCustomerData method
– CHANGED: improve CSV import to support text with double quotes in new job page and LSMremote
– CHANGED: if 2-step review is enabled, the report tag ##validator_signimage must include both signatures
– ADDED: add option to deny staff users to modify job information (M5705)
– ADDED: translatable params: apply translation in report tags
– ADED: new templates option to choose table style (light-default or dark-bordered)
– NEW: add multiple report languages to requesters (M5747 extended)

21-25/02/2022
– CHANGED: modify report tag ##validator_signimage to be a table with validator names, dates, reason and signature images
– BUG: enforce a valid date for test parameters of type Date or Datetime
– ADDED: attached module data trending (M5753)
– CHANGED: charts title min-height to put chart with 1-line/2-lines title at the same height
– BUG: some limit options (2500, 10000 & 20000) in job list were not taken into account
– BUG: filter by test in job list grouped by Job-Sample-Test didn’t work
– BUG: filter by custom parameter in job list could return less rows than it should if option limit was used
– ADDED: API: add requester field ‘excludeCaseRecordNotifications’ to requester list and to create and update requester methods (GET/POST/PUT)
– ADDED: Add an option to report tags to exclude empty parameters (M5767)
– BUG: LSMRemote: fix issue with datetime picker (time selector) in grid
– BUG: fix wrong discount in invoices export, and remove column discount since the discount is per line instead of per invoice
– BUG: use the generic template header/footer by default – ADDED: Add filters on requester list (M5765)
– ADDED: in charts setup, can now choose the date of data trending x-axis (M5770) 28/02-04/03/2022
– CHANGED: jobs without samples are created as Pre-Order
– BUG: if OnLabForm was off, the field was hidden also for clients, even if OnClientForm was on
– NEW: multi-language support for header/footer templates (M5747 extended)
– BUG: check validator’s signature image before displaying it
– CHANGE: changed loading method for custom module records on data trending charts with attached module creation
– CHANGED: API GET: add parameter code to getAssayList
– ADDED: API GET: add reportlink to sample
– CHANGED: LSMRemote: filter image extension on parameters of type ‘Image’ (M5786)
– CHANGED: add link to download image in job parameters of type Image
– CHANGED: open job PDF files inline, instead of force download
– CHANGED: grey out the option to edit a completed job for staff users, since they are not allowed
– ADDED: API GET: add reagents info in getJobList and getAssayList
– IMPROVEMENT: translatable params: allow empty string
– BUG: header/footer templates: fix on english lang selection
– CHANGED: exclude samples QA/QC from report
– IMPROVEMENT: header/footer templates: keep editing template active after saving
– BUG: view/edit requester with many case records took too long
– CHANGED: translatable params: use template lang instead of session lang
– BUG: LSMRemote: JS error with dates with validation of less than or greater than one date

07-11/03/2022
– BUG: API POST: correction to automatic assignment of range on update results
– BUG: API GET: remove double html encoding in case record name
– BUG: display bug in case record with html entities in view job
– ADDED: header+footer on charts full page view
– CHANGED: removed seconds from all charts x-axis dates
– CHANGED: charts: default period is now last month
– CHANGED: show view id and chart id
– ADDED: charts CSV export by view
– IMPROVEMENT: record kit actions in logs (M5772)
– IMPROVEMENT: charts CSV export does not request attched_module_id, it’s retrieved by the given view
– NEW: API GET: getDataTrending – BUG: on edit user and link to multiple requester the dropdown arrow didn’t show options
– NEW: option to start WF from batch (M5381)
– ADDED: API POST: add attribute priority to job creation

— v4.064
11/03/2022
– CHANGED: the retention period is calculated now from end test date, instead of received date
– ADDED: LSMremote: logout is recorded in audit log (M4231)
– CHANGED: remove error settings in API notify
– BUG: LSMRemote: fix to prevent some empty pages when integrated in WordPress

14-18/03/2022
– BUG: combos with checkboxes lost filter on mouse out, in job list and new job form
– ADDED: add option to send token at validation (M5814)
– BUG: LSM tab in LC modules didn’t display related info if Zerofill was enabled for that module
– BUG: fix encoding issue in subjects of emails to case records with lang FR
– IMPROVEMENT: conditional params: set null to parent id of children when deleting

21-25/03/2022
– IMPROVEMENT: add more languages to multi-language support for templates
– IMPROVEMENT: add more languages to multi-language support for header/footer templates
– BUG: JS error on input parameters of type Date/Datetime
– ADDED: spinner on audit log page
– IMPROVEMENT: multi-language template support: display contry names in dropdown list
– UI: improve UI of upload controls in several pages (user, requester, protocol, category, cost)
– IMPROVEMENT: delete only selected language version when deleting a template
– IMPROVEMENT: delete only selected language version when deleting a header/footer template
– BUG: default phrase was not assigned automatically to parameters of type ValueList in page Manage>Results
– CHANGED: avoid print unit if value is empty, on report tags where value+unit is printed in the same cell
– CHANGED: Apply LC date format to charts CSV (M5820)
– BUG: LSMRemote: multiple samples: loss of model id
– ADDED: LSMRemote: use models on job pre-registration
– CHANGED: API GET: exclude QC samples by default, and add a search parameter “includeqc”

— v4.065
25/03/2022 28/03-01/04/2022
– BUG: after close a popup samples remain read-only for other users during 2 minutes (M5824)
– BUG: in last version, units are missing in report table tags for values starting with symbol ‘<‘
– ADDED: new report tag ##results_extended_ids##
– ADDED: add method getTrendingData to LSMremote webservices
– ADDED: API GET: Can now search by name in assay+sampletype APIs & new API to return models
– CHANGED: in reports detect&repair if LongText parameters have double html encoding
– CHANGED: API GET: Can now give comma-separated ids to assay list API
– ADDED: LSMRemote: accept sampleTypeID by querystring
– CHANGED: import CSV in new job page accepts tests as code + name

04-06/04/2022
– CHANGED: API GET: add model name to job tag, and return only parameters included in the job model
– CHANGED: improve scheduled tasks to support concurrency and avoid send notifications twice

— v4.066
06/04/2022 07-08/04/2022
– CHANGED: prevent super-admin user to be linked to requester on import users/edit user
– ADDED: charts CSV export can now take requester_id
– ADDED: charts CSV export now shows view id & name

11-13/04/2022
– CHANGED: order sample type alphabetically in new job page
– BUG: actions performed in batch were not recorded in audit log (M5846)
– BUG: results modified in batch were not recorded in parameters history (M5846)
– BUG: fix in report tag ##equipments_protocols##
– BUG: on edit sample type, if no checkboxes mode, the validation about test compatibility was missing
– ADDED: add method getHeaderFooter to LSMremote webservices
– NEW: LSMRemote: add option to access trending views (M5777)
– BUG: fix in report tag ##results_extended_ids##
– CHANGED: remove preview of parameter Image in report tags
– CHANGED: dynamic tag for parameters Image use original size (fitted to page width)
– CHANGED: API: prevent updating results in completed tests
– CHANGED: remove options in shipment status windows depending of the status (M5849)

18-22/04/2022
– CHANGED: put back preview of parameter Image in report tags
– CHANGED: prevent job from closing when opening an uploaded file (M5853)
– BUG: API GET: fix in method getAssayList tag reagent
– BUG: fix in get trending data for LSMremote webservice
– CHANGED: update lang norwegian
– BUG: LSMremote: CoC is blank
– BUG: LSMremote: filter by processing parameters didn’t work
– BUG: save batch after import results CSV might not work
– BUG: export CSV of data trending charts didn’t take into account the requester
– CHANGED: LSMRemote: improve data trending charts using same config on horizontal lines that LSM
– BUG: save batch after duplicate results CSV might not work
– CHANGED: autoclose popup after export multiple reports on job list
– CHANGED: add sample type to job list export
– BUG: LSMremote: quote is blank
– BUG: numeric parameters – comma (,) was not replaced by dot (.) if parameter hasn’t fixed decimals

25-29/04/2022
– ADDED: Have the possibility to add a general comment for the job + tag for the report template (M5709)
– CHANGED: Staffs/Admins linked to a requester need to have exactly the same logic than a normal staff/admin but with job list restrict to their requester
– BUG: API GET: querystring parameter ‘includeqc’ was ignored
– BUG: send token on job validation didn’t work for batches
– NEW: range automatic selection based on a parameter value (M3825)
– BUG: UI fix: text overlapped in setup>job requests with lang FR
– BUG: typo in admin menu – BUG: API: fix in prevent updating results in completed tests

02-06/05/2022
– CHANGED: make sample type filter multiple choice on job list
– ADDED: Data trending charts: option to choose date for charts points filtering
– CHANGED: show calculator icon next to calculated parameters in test definition
– ADDED: add shortcut to results in job list contextual menu
– CHANGED: remove from result template tags the column “Parameter” if tests only have one parameter (M5468)
– CHANGED: LSMRemote: make page for manage properties more responsive
– CHANGED: change wording on unlink case record from requester
– CHANGED: add double quote as text delimiter to headers row on job list export CSV
– ADDED: choose field separator in job list export

— v4.067
26/04/2022 10-11/05/2022
– ADDED: add font Proxima Nova to templates
– BUG: LSMRemote: results PDF files integrated in report only included first page
– BUG: LSMremote: exclude archived files from the list to download files
– CHANGED: split one report query to improve performance
– ADDED: add index to optimize one report query
– CHANGED: improve range automatic selection allowing choose test

— v4.068
11/05/2022 12-13/05/2022
– ADDED: add the Company/Institute Name in the user list table (as Requester) (M5763)
– BUG: fix option to deny staff to see case record (M5604)
– BUG: API GET: optimize query for exclude QC samples
– BUG: ensure validator is different from operator in job>manage>validation and batch validation (M3247)
– NEW: Make ability to translate protocols, tests and sample types to appear on the report (M5889)
– ADDED: add option to deny staff to add job

16-20/05/2022
– BUG: disable buttons Save and Save&Complete until results grid is loaded
– BUG: keep selected template lang after saving lang report template
– ADDED: add some translations for for CoC and Invoice, langs PT and CN (M5805)
– ADDED: Data trending charts: generate charts for tests completed option & setup label
– BUG: LSMremote: create sample with ampersand failed
– BUG: view job didn’t display samples list if sample name contained ampersand
– BUG: edit parameter: unit, phrase or values fields were sometimes not clickable
– ADDED: Can now edit data trending charts to modify requester
– UI: move the filter box on the home page to prevent it from overlapping the tabs
– ADDED: allow use sample parameters in calculated fields

23-27/05/2022
– ADDED: make license limits enforced (M5893)
– CHANGED: LSMremote: extend the feature to give color to a line based on results to work with multiple tests and parameters
– NEW: API: new parameter ‘{attach}.keyfields’ on POST job to set a subset of fields used to match attached record
– CHANGED: LSMremote: if multiple alert colors for a row, stack color bars on the left, instead of show only one
– CHANGED: external API (integrations): modify default hl7 template

— v4.069
27/05/2022 17/06/2022
– BUG: empty categories didn’t appear on the popup to assign category to a test
– NEW: add option to select template orientation: portrait or landscape (M5921)
– BUG: fix CSS conflict on templates lang selector
– ADDED: Make a ON/OFF swith on default template/footer (M5910)

21-22/06/2022
– BUG: button export on preferences pages exports now all results regardless pagination
– NEW: option to set single criteria per test/parameter/range instead of reference range min-max
– BUG: problem of encoding in emails that send bulk report to requesters, using default email template and latin languages (M5920)

— v4.0696
22/06/2022 23/06/2022
– BUG: issue refreshing changes after update template
– BUG: issue displaying range in results page, the word null appeared when it was empty
– NEW: Add a search filter for the phrase (M5704)
– BUG: fix var not initialized in multiple PDF

27-29/06/2022
– BUG: upload samples via csv, accepts values that don’t match the parameter value list (M5930)
– BUG: upload samples via csv, bad display if multiple tests imported without space (M5930)
– NEW: Add a new setup for Pharma QC labs to activate a lots selection in sample level (M5925)
– BUG: report tags results_extended didn’t occupy width 100% if columns parameter and evaluation are automatically hidden
– BUG: conflict with the option to hide column parameter and don’t keep empty params in reports tags result_extended
– BUG: on edit test, some ranges might show empty min/max after remove other ranges

— v4.0697
29/06/2022
– ADDED: Make ##matrix_with_sum_extended## (M5927)
– BUG: encoding issues in lot product name if new option to link samples to lots is enabled
– ADDED: add option to allow or deny samples duplicates (M5931)
– BUG: archived requesters still received email sent to all requesters
– BUG: archive sample parameters caused an error on edit old jobs
– CHANGED: show requester name + company in external view (LabCollector tabs)
– UI: misplaced calc icon in test>parameters (M5953)
– ADDED: add report tag ##sample_lot## (M5925)

04-05-06/07/2022
– ADDED: add the expected date in the job list field under job list option and as a filter (M5949)
– UI: fix 2 typos – UI: fix 2 encoding issues – BUG: fix bad format of JSON response in class Events used by Receiving add-on
– UI: improve label width/position to fit different languages in new job form
– ADDED: add custom filters to pages New samples list and Pending samples list
– CHANGED: user cannot validate their own results is now optional, even with compliance ON

— v4.0698
06/07/2022 06-08/07/2022
– BUG: report tags related with protocols didn’t work on invoices/quotes (M5958)
– BUG: LSMRemote: page submit order took too time to load (if many requesters)
– NEW: Add a 2nd validation mode for QC labs (M5952)
– CHANGED: API PUT: if samplename matches with multiple samples, and duplicates are allowed, don’t return error and update all samples at once
– CHANGED: API PUT: samplename support multiple values separated by comma
– CHANGED: API PUT: update job support field jobsamplename as identifier
– ADDED: add new function in class Events used by Receiving add-on
– NEW: Add target value to ranges (M5956)
– ADDED: add ranges logic to ##matrix_with_sum_extended## (M5955)

11-14/07/2022
– NEW: LSMRemote: external access passing username encrypted (M5966)
– ADDED: when 2 steps validation is activated, allow staff to complete the first one (M5819)
– NEW: Phrases to be dependent on textual value (SELECT) (M4752)

— v4.07
14/07/2022 26-27/07/2022
– CHANGED: display a message to warn QC review has to be done with a different user (M5978)
– BUG: “Save & Add” button returns to the default template when using a custom model (M5979)
– BUG: Project code doesn’t appear in sample module when sample record is created with LSM (M5989)
– BUG: fix on edit job with lot enabled – BUG: LSMremote: JS error on submit page for kit activation
– BUG: API: fix issue with double quote in sample type list – BUG: issue with the new phrase in value list (M5990)

— v4.071
27/07/2022
– UI: fix typo in lot label in parameters order list
– ADDED: LSMRemote: accept lotID by querystring
– UI: Text change – pluralise Input, Processing and Result Parameters in headers (M3492)
– UI: translate ACCEPTED word in norwegian (M5603)
– UI: add icon to Sorting/Ordering of parameters (M3480)
– CHANGED: model setup needs to contain the new sample parameter LOT if this mode is activated (M5981)

— v4.0711
28/07/2022
– UI: fix trash icon for scheduler info on sample view 02-04/08/2022
– ADDED: add more info to log when a test is added or updated (M5771)
– CHANGED: set today date by default in audit log page to load faster
– ADDED: record in log when an invoice/quote is updated (M5771)
– BUG: the new feature of assign phrase based on select value was not applied (M4752 II) –
ADDED: have an option to block the modification of the automatic selection of the phrase (M6004)
– CHANGED: issue in assignement of test when the job contains multiple tests (M5816) 08-12/08/2022
– NEW: automatically save the CoA/report into the document module as an attached file (M5948)
– CHANGED: home tab Samples Disposal only show samples for disposal from last 30 days
– NEW: add LSM tab in Documents module
– NEW: New tab in requester record to be able to link documents from the document module (M6011)
– ADDED: set/unset accreditation on the batch level (M6012)
– CHANGED: Allow creating formulas across differents tests (M5363)
– BUG: conflict with the option to hide column parameter in tags results_extended and reports with multiple tests
– CHANGED: home board panels should be reverted order (M3453)
– ADDED: add an icon in home board panels to revert order (M3453)
– NEW: with regulation ON, create a comment popup (M5975)

— v4.073
12/08/2022 01-02/09/2022
– CHANGED: align text search to right on home page(M6044)
– BUG: issue saving requesters with projects containing special characters (M6057)
– BUG: Bug with automatic sample naming when we add samples after creating job (M6056)
– BUG: report tag ##validator_name## didn’t include the comment of the 1st validator (M6042)
– BUG: external API (integrations): HL7 to sftp didn’t work in some servers 05-06/09/2022 – ADDED: select all in category test list (M6026)
– ADDED: in the follow up CANCEL, add in brackets (will be mark as FREE) after Exclude from invoice (M6045)
– BUG: external API (integrations): fix the HL7 webhook for receive orders printed in settings page
– CHANGED: on automatic records creation when job is created, also do when samples are added to the job (pre-order, job modification…) (M6056)
– CHANGED: on merged reports, tags ##validator_name## and ##validator_signimage## must display the last datetime of the last validation (1st or 2nd) (M6042)
– BUG: conflict with report order and merged reports

— v4.0731
06/09/2022 07-09/09/2022
– CHANGED: go back to list after delete a record (requester, user, protocol, parameter, test…)
– CHANGED: prevent delete requester if it has associated case records
– CHANGED: replace function __autoload for compatibility with php8
– BUG: bad display of special characters on memorized items
– CHANGED: empty the memorized items list when samples have been used in LSM (M2139)
– ADDED: add a new option in sample naming (M6078)
– BUG: validate user request on home page failed
– CHANGED: only allow one email associated with one account for provider (M6031)
– ADDED: LSMRemote: send an email to xx when a client requests an account to connect to the portal (M6067)

12/09/2022
– CHANGED: LSMRemote: support multiple accounts in alert_register_email
– BUG: bad display of barcodes on reports stored automatically in documents module
– BUG: bad title on reports stored automatically in documents module
– BUG: missing creation date on documents created by LSM in documents module

— v4.0732 12/09/2022 14-16/09/2022
– BUG: external API (integrations): HL7 results didn’t include patient data if case record module contains a field of type searchin or line_sep
– BUG: API: get job list had empty attached module data if module contains a field of type searchin or line_sep
– BUG: LSMRemote: job parameters default values were not populated in jobs created by LSMremote if parameter OnClientForm is off
– BUG: report was saved in documents module, even with that option OFF, and that caused also that sample wasn’t refreshed after validate – NEW: Need a chart option on results accross samples (M6076)
– CHANGED: external API (integrations): improvements on HL7 results template *use label instead of id on fields of type select on case record tag *new tags, sample.typeid, sample.datereceived and job.acceptedon

— v4.0733 22/09/2022
22-23/09/2022
– BUG: JS error on select list in batch view
– CHANGED: API: make headers’ name case insensitive
– BUG: edit an user returned ‘User already exist’

26-29/09/2022
– CHANGED: Fixes and improvements in job charts (M6076 – II)
– BUG: bug in batch results grid when phrases linked to values contain character <
– BUG: the popup to insert the reason for correct a job was misplaced
– BUG: Finished jobs are affected by blocking params (M6127)
– BUG: bug in multiple assignement option on TEST level, the operator was assigned to all tests (M6125)
– UI: unnecessary scroll bars remain after open and close DHTMLXWindows
– CHANGED: improvements in job charts – split by test (M6076 – III)
– NEW: Make a new type of param: image selector (M6036)

— v4.074 29/09/2022

30/09/2022
- ADDED: parameters of type Checkbox can be selected as Search Filter

04-06/10/2022
- ADDED: API: add new searchmodes (notcontains, notstartswith & notendswith)
- ADDED: API: Add the possibility to search by projetc code (M5442)
- CHANGED: update CKEditor from 4.14.0 to 4.20.0 
- ADDED: conditional fields in LSM job form
- BUG: button Save parameter didn't work after edit values of parameter of type Valuelist
- BUG: fix issue with columns in result grid in last version
- ADDED: Add Checksum to LSM Log (M4232)
- ADDED: option to include base64 report copy in HL7 integration: tag {sample.reportpdf}
- CHANGED: forbid select equipment unavailable (blue dot) (M2348)
- ADDED: add option to not notificate the acceptance/rejection on setup>job requests

--- v4.075 06/10/2022

- NEW: create a new option for Introduction template (M6109)

10-15/10/2022
- ADDED: external API (integrations): Add the possibility to add custom property without the need to submit (M6149)
- CHANGED: improvements in job charts legend
- BUG: automatic sample name based on date didn't work properly when choose sample already received with a past date on job creation
- ADDED: HL7: Add an icon to see all dynamic field pointers like in Report template (M6148)
- IMPROVEMENT: Phone validation added to phone fields 
- CHANGED: Case Record > Notifications allow custom field "phone" as Field "Mobile phone"
- BUG: equipment with maintenance could be selected in batch view (M3346)
- CHANGED: job chart: display null avg instead of 0 if there are no values, and add header to legend 
- CHANGED: exclude canceled samples and deleted jobs in order to consider a batch active
- CHANGED: external API (integrations): when a field is mapped to a valuelist parameter, convert value to match case insensitive 
- CHANGED: external API (integrations): don't assign a range if it is not linked to test
- CHANGED: redo install script to avoid long update after install
- CHANGED: replace setup popups by a new setup page with left menu and save button on top and bottom
- ADDED: external API (integrations): HL7 order message require a token to autenticate 

18-21/10/2022
- CHANGED: the tag ##matrix_with_sum_extended## should not repeat ranges information on each lines (M6110)
- CHANGED: hide column 'Code' on report tags of type matrix if it is empty (M6110)
- ADDED: HL7: add icons to see tags and be able to copy to template 
- UI: replace old switch by bootstrap switch in setup pages
- UI: license page more responsive
- ADDED: LSMRemote: add JS callback after create a job, to easy integration in other add-ons (Stability...)
- BUG: confict on view & remove requesters from a user when there are multiple requesters with the same name
- CHANGED: replace the popup to link requesters to users with a tab in Users page
- UI: remove extra semicolon in column Teams in Users page
- BUG: Unable to access the starting parameters if the language is French (M6164)
- BUG: Equipments not saved if we select them in Starting Parameters (M6165)
- NEW: Add a new type of result LINK in test form (M6059)
- NEW: LSMRemote: option to view the new type of result LINK

28/10/2022
- NEW: Create a new additional information like the job but on TEST level (M6159)
- CHANGED: set css property border-collapse to all tables in report by default
- BUG: colors for out of range values work now the same way of reports, ignoring symbols < and >

31/10-02/11/2022
- CHANGED: update lang ES
- BUG: display issue blocks user to change equipment after job started (M6192)
- BUG: bad encoding on lots with simple storage containing º or other symbols 
- UI: LSMRemote: navbar dropdown went out of screen
- CHANGED: add missing translations in job list page

--- v4.0752 03/11/2022

04/11/2022
- ADDED: add option to hide zero values in report tags, besides empty values
- BUG: don't reload job list on limit change if preload job list is not enabled in setup>job list options
- ADDED: new job list options for set job date mandatory in filters and/or set a default date range
07-11/11/2022
- CHANGED: add button to print lables to kit status 'Draft', besides 'Active'
- ADDED: API GET: new method getDefaultFields
- CHANGED: LSMRemote: hide Billing column if quote_pdf_button = false
- ADDED: API GET: getRequesterList accepts filter by city, zip and state
- CHANGED: API GET: apply operator OR filtering by location (city, zip and state) in method getRequesterList
- CHANGED: API GET: optimize the query for account managers in method getRequesterList
- BUG: fix issues selecting functions in calculated fields, drag'n'drop and popup visibility  
- CHANGED: API POST: update case record data on each order received
- BUG: duplicated sample name validation highlighted wrong column in new job form if sample fields order is not default
- BUG: samples export in new job form included inactive sample fields in model
- BUG: job additional data was not visible in Open job
- BUG: report tag ##matrix_with_sum_extended## didn't show values if haven't range
- BUG: force refresh of CKEditor
- ADDED: reports tags ##job_chart_table## and ##job_chart_table_stats##

14-17/11/2022
- CHANGED: add legend to job charts
- CHANGED: add phrase to matrix report tags
- BUG: parameters of type Image or File didn't work on new section 'Test additional data'
- CHANGED: improve position of parameter image & imagepicker popups
- ADDED: added getParameterList and getDefaultFields in events class
- BUG: dynamic tags for parameters on new section 'Test additional data' were empty
- BUG: logic for show/hide conditional fields was interferying with OnLabForm
- ADDED: add more options to default date range in job list options
- UI: LSMRemote: reduce login form width
- BUG: list of parent parameters empty or incomplete after filter parameter list
- BUG: parameter flag OnJobChart was lost on edit parameter
- BUG: fix SQL error on install: text columns cannot have default value
- BUG: report cover page (intro template) only contained info of first test
- ADDED: Option to show only phrases (M6205)
- BUG: shortcut to results should not appear on menu on third level of job list
- BUG: processing report empty
- BUG: don't use cover page (intro template) on processing report

--- v4.0754 18/11/2022

21-25/11/2022
- UI: display range among square brackets and nowrap in sample results page
- CHANGED: don't forbid any special characters in results, processing and input parameters values
- UI: fix display issue in setup>job requests>Automatic report submission
- ADDED: setup deadlines: choose workdays and workhours to calculate estimated end date and time left (M6212)
- UI: on results page set phrase dropdown width to 100% to avoid take up too much space if phrases are long
- UI: enlarge popups windows (fancybox)
- CHANGED: in reports apply same color of value to unit (M6217)
- CHANGED: allow select sample type for one or multiple samples in the popup to assign tests
- BUG: import results from CSV didn't clean carriage return if no separator at rown end
- CHANGED: trim values on job charts, control charts & data trending charts
- ADDED: add pagination to samples grid in job view/edit/add
- ADDED: add checkbox column to samples grid to select rows
- CHANGED: modify job chart image generation to return image in base64
- CHANGED: update MDFP version 8.1 to support PHP8 
- BUG: fix function to check if there are ranges in reports

28/11-01/12/2022
- CHANGED: Reduce the batch list in drop down to only active batches (M6024)
- BUG: list for import users was empty if user name contains &
- ADDED: add option to choose series in job chart 
- CHANGED: checkbox as filter in job list needs 3 options (M6204)
- BUG: JS error on job list if there was a test parameter checkbox searchable
- BUG: replace JSON code for checkboxes on view details of job parameter checkbox
- BUG: wrong values on Test additional data on reports
- ADDED: API: handle job field 'source' in GET/POST/PUT
- NEW: add 2 fields to job table 'sourcereport' & 'sourcereportdts' to track results exported to external sources

--- v4.0756 01/12/2022

- BUG: button save on job and sample naming settings didn't save all options
- CHANGED: once a job with duplicated barcodes has been saved, don't alert again on edit
- CHANGED: rename parameter datatype Image Picker to Image Selector
- BUG: LSMRemote: improvements and fixes in grid mode
- BUG: processing tab empty was not hided always on batch screens
- NEW: external API (integrations): new integration 1Health-NextGen
- ADDED: new semi-automatic sample naming as job prefix+counter
- ADDED: add more options to default date range in job list options

--- v4.0757 05/12/2022

- ADDED: when a WF is linked to a sample in LSM, blocked the completion of the LSM if workflow is not finished (M6221)
- ADDED: define a workflow template in the test config (M6220)
- CHANGED: test list drop down be ordered by alphabetically

--- v4.0758 09/12/2022

- BUG: Phrases associated with a range don't appear if the parameter is a processing parameter and value imported by API (M6256)
- ADDED: have an option in the batch and test or result view to hide all the comments field (M6143)
- ADDED: Add a new tag ##operator_signimage## (M6225)
- CHANGED: colors for test additionnal data don't work (M6226)
- BUG: Calculated parameters don't work in processing if they are repeated in results (M6213)
- UI: rearrange layout for setting parameters range values
- UI: fix display for long values on parameter valuelist

--- v4.0759 16/12/2022
- BUG: conflict with report order and merged reports, tests eventually repeated in tag ##samples##
- CHANGED: All exports need to handle UTF8 (M6264)
- CHANGED: LSMRemote: Modify logic to get full job report using the token of any of the samples of the job (5527)
- ADDED: Job list export to have all available date+Times (M6265)

19-21/12/2022
- CHANGED: don't repeat parameter name if it is equals to test name in report result tags (M6227)
- ADDED: new tag ##results_extended_protocols## (M3263)
- BUG: Pop-up message blocking when importing samples via csv during an job if we change sample type (M6295)
- ADDED: PDF report + processing combo (M6206)

--- v4.076 21/12/2022

22-23/12/2022
- BUG: fix the way that last mpdf version resolve local paths
- BUG: if job date has set a default value in job list filter, links from LC modules eventually open empty list
- ADDED: API GET: add querystring parameter 'parameteronreport' to retrieve only parameters OnReport
- BUG: label missing on upload protocol 
- CHANGED: add notification after save setup options

************** 2023 **************

02-04/01/2023
- BUG: LSMRemote: fix in conditional fields (M6112 - II)
- CHANGED: Quick edit mode: allow the possibility to choose any line to apply a lot from the selected line to the last (M6307)
- ADDED: restock quantity to reagent lot when lot changes (M6312)
- CHANGED: uploading image from ckeditor gets now long random number as file name and is quicker
- CHANGED: when job date is mandatory in job list filters, ensure a date range is entered 
- ADDED: Add the possibility to define a default sample type by models (M6310)
- ADDED: models to include a list of tests (M6271)
- BUG: fix in job custom fields order (M6112 - III)

--- v4.0761 05/01/2023

09-13/01/2023
- BUG: job parameter value containing sign + didn't save properly (M6324)
- ADDED: API GET: add querystring parameter 'amended' to filter amended jobs
- ADDED: Options on job charts to display min/max/avg/std+-1/2/3 lines (M6317)
- BUG: fix JS error on Test additional data if there is a date parameter
- ADDED: LSMRemote: give user the option to turn on/off preload for parameters (M6319)
- ADDED: API GET: include test additional data 
- BUG: LSMRemote: datatables language have been lost
- UI: scroll issue in add job in lang FR/ES/PT 
- BUG: LSMRemote: allow duplicated barcodes not be followed (M6346)
- BUG: Keep the Model "template" after the job is created (M6347)
- ADDED: new tag ##results_merged_protocols## (M3263 - II)
- CHANGED: Job charts now take all container width & added optional lines in PDF report (M6317)
- BUG: PDF report + processing combo didn't work if report mode = merged by template (M6206 - II)
- BUG: hide box "Job Additional Data" in models without visible job parameters
- CHANGED: Job charts now display only a reasonable number of x-axis labels, pdf report optional lines, bug on chart lines
- BUG: Job chart first load took the last assay of the select so the selected assay was wrong, now takes the first
- CHANGED: Job charts margin right in variable for multiple use & fixed a query with a missing prefix on table name
- CHANGED: update lang FR
- CHANGED: Impossible to "Save & complete" results of several samples even if "checked" in a batch (M6320)

16-18/01/2023
- UI: adjust layout of popup to add tests to samples in job form, to fit in any language
- BUG: LSMRemote: incompatible tests not greyed out when sample type selected (M6368)
- CHANGED: Range values are not frozen (M6142)
- CHANGED: update lang NO
- ADDED: add a spinner on import samples form to indicate load is in progress
- CHANGED: LSMremote: hide disabled tests (not compatible with sample type) also in grid mode
- CHANGED: php8: prevent warnings due to uninitialized vars

--- v4.0762 19/01/2023

20/01/2023
- NEW: external API (integrations): update integration 1Health-NextGen
- ADDED: add a spinner on bottom save button on new/edit job form

23-26/01/2023
- BUG: browser froze after import a long number of samples on new job form
- CHANGED: adjust the space between columns in invoice for dynamic fields pointer ##details## (M6367)
- NEW: save job charts options by assay in db
- ADDED: Add code for categories (M6356)
- ADDED: LSMRemote: new option in config.ini to deactivate the "Change to password" (M6364)
- ADDED: Pending/New samples list missing export/print (M6379)
- CHANGED: Job charts now resize when std2&3 ar not in the chart area
- ADDED: Freeze the column and row headers in the Reagents & Supplies table (M6360)
- CHANGED: LSM: Batch view grids are hard to scroll (M6363)
- ADDED: Add a replicate model button (M6131)
- BUG: with regulation ON, create a comment popup (M5975 - II)
- BUG: not able to add seller information in LSM (M5830)
- BUG: contextual menu jumped due to results shortcut
- CHANGED: LSMRemote: new requester form: remove the mandatory option on STATE (M6386)
- BUG: The test description text is not truncated (M4143)
- CHANGED: LSMremote: Discarded requests should not blocked (M6096)
- BUG: open archived items after do a search may fail and return to full list
- BUG: Automatic sample naming Month(YM) + autoincrement does not work (M6398)

30/01/2023
- ADDED: Model to preselect tests (M6343)
- ADDED: Model to have a number of automatic samples (M6344)
- ADDED: Add 2 new tags ##report_date## and ##report_datetime## (M6396)

--- v4.0765 30/01/2023
31/01-03/02/2023
- ADDED: add case record extra fields to eligible fields list on range rules
- BUG: categories checkboxes were missing new job form if model has set test restriction
- CHANGED: Keep model name visible in jobs (M6130)
- CHANGED: Move select models to inside ADD JOB in a reload SELECT (M6352)
- BUG: fix/complete URL in HL7 help box to add missing /v2/
- BUG: fix typo in HL7 help
- BUG: in last version, checkboxes appeared unchecked in setup>job list options and setup>deadlines
- CHANGED: test checkboxes in new job form are ordered by report order
- BUG: put back the extra license check removed in 4.0762
- CHANGED: LSMRemote: remove the option 'select all' for secondary requesters
- CHANGED: remove from result template tags the column "Evaluation" if it is blank, also in results_merged (M5468 - II)
- CHANGED: remove from result template tags the column "Parameter" if tests only have one parameter, also in results_merged (M5468 - II)

--- v4.0766 03/02/2023

06-08/02/2023
- ADDED: job list search by case record state or other select field (M6408)
- BUG: error on new job form if one parameter value contains &
- UI: adjust grid width to 100% on new job form
- UI: fix the width of fields of type select in job view
- ADDED: Add columns in Reagent view in the batch (M6315)

--- v4.0768 08/02/2023

- CHANGED: Batch grid to allow default columns on/off (M6361)
- BUG: fix display in batch results grid when values contains 
- BUG: malfunctioning of the button for add data mapping or test mapping in integrations
- BUG: prevent path traversal attack
- BUG: LSMremote: prevent path traversal attack
- CHANGED: apply range rules also on job/sample modification (M6324 - II)

--- v4.0768 09/02/2023

- BUG: after clear filters in job list, the case record list needed type to show items
- BUG: import results CSV stopped working since first columns are frozen
- BUG: blocking validation message was missing since first columns are frozen
- CHANGED: when models are enabled, put the add order form in read only until the model is selected (M6421)
- ADDED: allow a default model (M6425)
- ADDED: Make models assigned to all requesters or not (M6424)
- ADDED: add a select all checkboxes on requesters models tab 

--- v4.0769 10/02/2023

13-16/02/2023
- BUG: function to validate audit log checksum failed if comments contain quotes 
- CHANGED: don't print qr code in report if portal URL is empty in setup>case record
- BUG: destock/restock quantity to reagent lot when quantity changes (M6312 - II)
- CHANGED: apply in import file section a restriction for CSV and txt files
- ADDED: add a new tag ##process_matrix## (M6422)
- UI: add borders to reagents grid 
- CHANGED: improve performance of home dashboard replacing client pagination by server pagination
- BUG: new installations had not a default list of columns for job list
- BUG: fix the script to check if version need upgrade
- BUG: issues with automatic height of batch grids since first columns are frozen
- CHANGED: improve performance of home dashboard optimicing SQL queries

--- v4.077 16/02/2023
- BUG: template tag ##case_name## was redundant with ##case_record##, must return only name
- CHANGED: improve TAB behaviour on batch results to allow move to next result in one click
- ADDED: add modifier #D & #DT to report dates tags to choose if show date or datetime (M6396)
- BUG: new job form was empty if attached module label contains &
- BUG: despite disable case record the field extra 1 still was present on new job form
- ADDED: API GET: allow search by code (or multiple codes) om method getAssayList
- BUG: Test List page loading time too long
- ADDED: allow use tag ##purchase_order## in results report
- BUG: search by case record with chinese characters didn't work
- BUG: external API (integrations): trim extra spaces on HL7 order message to prevent failure on conversion to JSON
- BUG: view sample type details didn't show data
- BUG: button to remove tags was no visible after update jQuery to last version

07-10/03/2023
- BUG: typo status hold FR
- CHANGED: LSMRemote: if hide_priority is true, hide the column prority in job list
- NEW: LSMRemote: add new property hide_job_id
- BUG: LSMRemote: selection of multiple jobs only worked if case record was enabled
- CHANGED: LSMRemote: submit job as preorder by default if samples_max_number = 0
- BUG: remove case record name and date of birth from pre-order notification email if case record is not enabled
- BUG: LSMRemote: long list of result files was truncated
- BUG: Icon for calculated field doesn't work in batch (M6437)
- BUG: LSMRemote: fix job list widht issue
- NEW: LSMRemote: add new property samples_default_number
- CHANGED: LSMRemote: update tcpdf version from 6.2.25 to 6.4.2
- BUG: license date was empty in license page

13-17/03/2023
- BUG: JS error on edit input parameter on tests management page
- BUG: Calculated parameters don't work if values are imported by API (M6255)
- BUG: API: Fixed getAssayList query when code is empty 
- NEW: LSMRemote: accept projectID by querystring
- CHANGED: LSMRemote: not reset all when job data is preloaded after select case record
- BUG: LSMRemote: fix issues with lotid & models
- BUG: values for job or sample parameters of type String or LongText containing character '=' were truncated
- BUG: file uploader missing on job manage results, if more than one test with result type File (M6499)

20-24/03/2023
- NEW: if Case record and Automatic record creation are enabled, create a link from sample to patient record (M6530)
- NEW: case record age calculated at job order (M6473)
- NEW: Manage ranges to be able to edit all specs in 1 page (M6399)
- NEW: Also allow a range to be DUPLICATED with all values (M6399)
- ADDED: Option to display columns with range values (min, max, target) on results grid (M6400)
- ADDED: Display range details when starting parameters (M6400)
- ADDED: API: get jobs acceptance of rejection info (M6505)
- NEW: add a read only user level to LSM (M6393)

— v4.0782 24/03/2023

27-31/03/2023
– BUG: LSMRemote: error if file title contain ampersand
– CHANGED: job form: select requester automatically if there is only one
– CHANGED: add Specialty to report tags ##results_extended## and ##results_merged## (M6479)
– BUG: fix on pages under menu manage, when job list is filtered by date
– BUG: the message ‘The job cannot be started because it has empty required fields’ only appeared on single sample popup
– BUG: fix of multiple print “dymo”
– UI: typo in setup>set requests
– CHANGED: open all links to print barcodes in a fancy
– BUG: fix screen truncated in Barcode Labels > Dymo printing

04-05/04/2023
– BUG: fixes in memorized searches list
– BUG: job chart: display a warning instead of broken image when no parameters selected
– CHANGED: follow property ‘Empty params on report tables’ on matrix tags (M6476)
– BUG: tag ##process_matrix## was missing in Dynamic fields pointer help
– ADDED: API GET: add secondary_requesters info to job response
– ADDED: allow the selection of categories of tests in models (M6432)
– NEW: new dynamic tag to combine TEST+Parameter (M6486)

10/04/2023
– BUG: LSMremote: small fixes on import CSV (M6529)
– BUG: archived a file bug (M6534)
– BUG: fix report option ‘Hide empty & zero’ (M6476 – II)
– ADDED: Create new filter on report ID (M6533)
– ADDED: API GET: Include the test result files in the LSM API GET response (M6345)

— v4.0783 10/04/2023

11-14/04/2023
– BUG: batch results import failed if is set a custom label for sample
– CHANGED: external API (integrations): send results by sftp can use now SSH2 to be compatible with amazon’s SFTP
– CHANGED: LSMRemote: import CSV: make headers case insensitive on parse CSV
– CHANGED: job chart: show error message instead of broken image
– CHANGED: LSMRemote: property ‘allow_quote=true’ now gives option of ask for a quote or submit order
– CHANGED: open results page automatically after start a batch or job
– BUG: increase size of parameter default value

— v4.0784 14/04/2023

– BUG: set default value containing apostrophe for valuelist in preferences>parameters
– NEW: add option for automatic validation with compliance off (M6554)

— v4.0785 14/04/2023

17-21/04/2023
– CHANGED: download CSV report on same browser instead of open a popup
– BUG: JS Error on batch grids if saved columns included case record fields but case record was turned off
– BUG: workflow template list was empty if name contained latin chars
– BUG: fix issue with custom date format and date validation on module custom fields
– CHANGED: API POST: Give the possibility to put a value in the processing and result parameters using the API (M6568)
– BUG: JS error on select model if requester list contains only one item
– CHANGED: update CKEditor 4.21
– CHANGED: improve performance of import samples CSV on new job form

24-25/04/2023
– ADDED: in setup, attached modules, add options to hide the record selection from client form or lab form (M6542)
– ADDED: able to custom report labels (M6575)
– NEW: dashboard panel dedicated to batches (M6592)
– ADDED: add a filter on purchase order number (M6581)
– CHANGED: download invoice export files on same browser instead of open a popup

— v4.0786 25/04/2023

– ADDED: LSMRemote: option to remove column Option from the portal (M6578)
– ADDED: Add an option in configuration > job name to have a new option in automatic mode (M6580)
– CHANGED: Report mode “Separated by sample” now merge tests of same sample (M6594)
– CHANGED: Keep original size of the image for select image parameter (M6475)
– CHANGED: update dhtmlxScheduler v.6.0.3
– ADDED: external API (integrations): Add a new mapping for sample type in HL7 integration (M6573)

— v4.0787 26/04/2023

27-28/04/2023
– FIXED: Fixed a PHP8 error on LSM assay API
– BUG: batches dashboard Approved must show only batches validated in last 30 days
– CHANGED: external API (integrations): multiple select list in HL7 sample types mapping
– BUG: readonly user was able to save a job comment

02-04/05/2023
– CHANGED: report tag for phrase of job parameters empty if value is empty
– CHANGED: Make tags functional in phrases for parameters (M6602)
– UI: improve display for long values or phrases on parameter
– CHANGED: replace small input by longer textarea on edit parameter values/unit/phrases
– ADDED: custom script trigger from job (M6572)
– ADDED: Make configurable webhook on job validation (M5449)

— v4.0788 04/05/2023

05/05/2023
– CHANGED: Prevent some potential PHP8 errors
– FIXED: Fixed bug on control/data trending/data trending modules charts: zoom action was not reloading the period & custom range was not working (Ticket #629052)
– BUG: external API (integrations): HL7 results sent with new mode sftp SSH2 didn’t track in auditlog
– CHANGED: 1Health-NextGen modification: map test allow name or labCode

09-10/05/2023
– BUG: protocol file upload didn’t work
– ADDED: Add a template option similar to intro template but for a final page (M6601)
– ADDED: To add an option to send CoC in email after the job is accepted (M5674)
– CHANGED: need to replicate all tests and results when restarting/amend with compliance on (M6497)
– CHANGED: Review the footer of the original report in case of amendment (M6532)

— v4.0789 10/05/2023

– UI: add filter and max heignt to tests dropdown in integrations>hl7>sample types mapping

15-19/05/2023
– BUG: report tags for parameter phrases or comments didn’t work if parameter label contains apostrophe
– ADDED: add LSM tab in Equipments module
– BUG: in report tags apply same order for processing parameters than result parameters
– CHANGED: avoid delays on job list contextual menu render by removing ajax calls
– BUG: fix on job list contextual menu, when job list is filtered by date
– CHANGED: external API (integrations): replace hl7parser.dll by php function
– CHANGED: external API (integrations): disable option sftp(ssh2) if extension ssh2.sftp is not loaded

22-26/05/2023
– BUG: LSMRemote: CoC page format and orientation was ignored if integrated labels was off
– BUG: barcode print (legacy) is not loading templates
– ADDED: charts: click on the data point to open the exact job/sample (M6550)
– BUG: external API (integrations): fix EOL issue in new function parseHL7
– CHANGED: remove bold in footer phrases
– ADDED: a new dynamic fields pointer for amendment report (M6615)
– BUG: button delete on job list toolbar was available for staff even with option ‘Deny delete’ enabled
– BUG: case record age field present and mandatory in new job form, even if option calculate age is not enabled in setup>case record
– CHANGED: external API (integrations): improve left sidebar
– ADDED: added job/sample name in charts csv, fixed min/max (M6548)
– ADDED: added job/sample name in all charts csv (menu), fixed min/max, fixed encoding
– BUG: CoC didn’t use template orientation
– CHANGED: API PUT: disallow put name empty on update sample
– CHANGED: external API (integrations): split HL7 settings in separated parts for orders and results message

29/05/2023
– NEW: external API (integrations): Supoort Order Control Codes (NW/OX) in HL7 (M6631)
– NEW: new option in parameters to exclude it from API/HL7 export (M6627)

— v4.079 29/05/2023

30/05-02/06/2023
– CHANGED: 1Health-NextGen modification: support multiple test/panel
– BUG: external API (integrations): remove spaces from HL7 custom properties to avoid error
– NEW: need to have a new level of permission admin without validation rights (M6180)
– BUG: fix JS error on open assigned sample when sample type was empty
– ADDED: Batch list > Start multi-test batch in one start action (M6643)
– ADDED: API: add abnormal flags for numeric results in API and HL7 output (M6618)
– ADDED: external API (integrations): Add the possibility to map repeated segment field in HL7 integration (M6644)

05-08/06/2023
– BUG: SQL error made blocking parameters check didn’t work when validate single sample
– BUG: external API (integrations): case record age is empty for jobs created by HL7 integration
– ADDED: API: add abnormal flags for non-numeric results in API and HL7 output
– ADDED: external API (integrations): Add the possibility to define position of job name and without prefix in HL7 integration (M6640)
– ADDED: external API (integrations): Add the possibility to define position of sample name in HL7 integration (M6641)
– BUG: LSMRemote: reason for rejection was not visible
– ADDED: external API (integrations): Add a new type of integration for HL7/ASTM instrument (M6642)
– CHANGED: external API (integrations): support multiple samples in HL7
– ADDED: external API (integrations): add sample name template tag {autoincrement} in HL7

— v4.0793 08/06/2023

– BUG: Reagent lot is displayed as its ID rather than name, when quantity lot is 0 or lot is expired
– BUG: Quantity of reagent lot in LSM is not added back when the lot is unselected, when quantity lot is 0 or lot is expired
– CHANGED: result parser configuration page
– ADDED: Add codes to all param SELECT values (M6647)
– CHANGED: API: update parameter value of type Valuelist or Multiple choice support code or value (M6647 – II)
– BUG: unable to add sample type to test if one sample type name contain character &
– BUG: external API (integrations): symbol ≥ was replaced by ? in HL7 results file
– BUG: external API (integrations): fix on send HL7 result message automatically
– BUG: error on start batch if samples didn’t have sample type
– BUG: external API (integrations): html entities in HL7 results file
– BUG: external API (integrations): support multiple samples in HL7 (II – fix duplicated custom fields)

— v4.0794 16/06/2023

19-21/06/2023
– NEW: external API (integrations): Send accept, hold or reject notifications by HL7 (M6649)
– BUG: third level was missing in job list on group by assay or by batch if case record is enabled and field dob is empty
– ADDED: external API (integrations): add tag {parameter.phrase} to HL7 template
– BUG: API: number of decimals for calculated fields were not applied in parameters updated by API
– CHANGED: API PUT: support values with html tags
– BUG: units of parameters of tests additional data were missing in report
– CHANGED: don’t print ‘Select’ on report when unit or phrase has no selection
– CHANGED: improve display of batches grids with fields with long content

— v4.0795 22/06/2023

– ADDED: API GET: querystring parameters ‘parameterid’ & ‘parametervalue’ support multiple values in order to filter by multiple parameters
– ADDED: new tag matrix only with parameters (M6477)

26-28/06/2023
– BUG: disallow free text in all combos in setup pages
– BUG: can’t uncheck mandatory checkbox of additional data in preferences>tests
– BUG: external API (integrations): Labsoft orders not created after having replaced hl7parser.dll by php function
– BUG: external API (integrations): fix error after save integration of type result integration
– CHANGED: external API (integrations): disable button submit if no code saved
– CHANGED: Empty mandatory “additional data” field doesn’t block the job’s completion (M6247)
– ADDED: Combined charts (M6419)
– UI: disable not compatible validation option for compliance in preferences>regulation
– BUG: logic for show/hide column parameter in report tag ##results_extended## didn’t work fine for reports of multiple jobs and tests

— v4.0796 28/06/2023

- BUG: bad display of batches grids since first columns are frozen
- UI: replace memorized search icons

03-07/07/2023
- ADDED: Combined charts creation improved, merge existing charts (M6419)
- ADDED: Combined charts creation: can be removed one by one (M6419)
- UI: Reduce the eye impact of the job and sample IDs in job list (M6663)
- BUG: was able to start job/batch without a lot even with option lot mandatory enabled
- CHANGED: improve results grid performance reducing number of hidden columns
- CHANGED: external API (integrations): support multiple samples in HL7 result message (ORU)
- UI: replace wording 'requester category' by 'requester group' (M6495)
- ADDED: add a new filter to job list on test category (M6495)
- ADDED: add option to group job list by category

10-14/07/2023
- CHANGED: Accept 2 results by sample on ASTM parser
- BUG: Fix in ASTM result parser
- ADDED: Parser, added error message when the xml from LSM is malformed
- BUG: API GET: format text for range label to prevent break the XML response 
- CHANGED: improve result parser, reduce api calls to improve performance
- UI: replace flaks icon by vial icon for samples in all lists
- UI: replace table icon by double vial icon for batches in job list grouped by batch
- ADDED: API POST: update values for parameters of test additional data
- ADDED: API POST: return error 400 if xml is well formed but attribute uniqueid is empty
- CHANGED: update settings result parser, add additional data mapping and process data mapping
- CHANGED: improve result parser, display error details and accept additional data and process data
- BUG: fix error on edit test when WF folder exists but WF is not installed
- BUG: fix JS error on edit parameter if decimalConditions is null
- CHANGED: remove the column "Evaluation" if it is blank from report tag ##process_extended##
- BUG: fix error saving parameters of type valuelist with apostrophes and linked to colors and phrases
- NEW: Option to add job or sample custom parameters to summary line in job list

--- v4.0797 14/07/2023
17-18/07/2023
- BUG: API POST: if additional data contains several parameters, only first was updated
- BUG: checkbox On Summary Line was disabled for new parameters
- BUG: sample name not found when using subdivision filter
- CHANGED: iCollector - RESULT PARSER settings update: add update option, add code position on data mapping
- BUG: iCollector - RESULT PARSER, Show delete option after creation of processing data mapping 
- CHANGED: Parser result add concatenation, regex options and get values for process
- CHANGED: improve last page logic to work with all report modes (M6601 - II)
- CHANGED: Parser result, improve regex and concatenation logic
- CHANGED: Parser result improvement, Allow search variable on header message
- CHANGED: Parser result improvement, Verification of regular expression
- ADDED: external API (integrations): map reason codes and add tag for reason code in HL7 integrations

--- v4.0798 19/07/2023

19-21/07/2023
- BUG: Parser result HL7 wrong output format
- CHANGED: update "HL7 result parser" structure to allow getting mapping of processing data
- BUG: Missing parameters in xml results
- BUG: Error getting sample from LSM api
- BUG: added alternate name for OBR when not provided per the message
- CHANGED: add help for iCollector - RESULT PARSER
- CHANGED: improve results grid performance reducing number of hidden columns (2nd part)
- CHANGED: external API (integrations): add new options for flag {resultstatus}
- CHANGED: LSMRemote: remove cost info if it is 0
- BUG: LSMRemote: number of automatic samples on models is not taking into account
- CHANGED: Parser result: add sublevels HL7, ASTM
- BUG: result parser Error getting process id
- CHANGED: LSMRemote: move the icon to create a new sample out of the sample tab
- CHANGED: modify the cURL call on popup to get case record and popup to get requester

24-26/07/2023
- CHANGED: result parser, improve HL7 logic
- BUG: result parser handle duplicated headers in HL7
- ADDED: external API (integrations): add new tag {sample.reportid}
- ADDED: allow filter by empty value on parameters with search filter enabled
- ADDED: allow use tag ##accreditation_seal## on template header/footer
- BUG: external API (integrations): tag {parameter.code} was missing on Dynamic fields pointer
- UI: fix history icon misplaced for results of type longtext
- CHANGED: external API (integrations): strip html tags on parameters LongText on HL7 output
- UI: rewrite help for report template dynamic tags and email dynamic tags
- ADDED: external API (integrations): option to choose output encoding ASCII
- ADDED: new API to update LSM addon license

--- v4.0799 26/07/2023

27/07-02/08//2023
- CHANGED: result parser, show only relative logs in response
- CHANGED: result parser, handle multiple jobs when LSM response using sample_name has more than one job
- BUG: missing id when multiple jobs on LSM response
- BUG: external API (integrations): tag {timestamp} didn't work in all segments in HL7 output message
- BUG: external API (integrations): html decode values in HL7 output message
- BUG: save&complete on single sample popup with automatic validation enabled caused value was saved as comment
- BUG: API GET: fix filter by parameter value in job level, after support to multiple values was added
- CHANGED: LSMRemote: hide buttons to print CoC and labels on bulk when hide_options = true (M6578 -  II)
- ADDED: Add reason list for correction (M6708)
- ADDED: external API (integrations): new tags for corrective action (M6708)
- UI: in the dynamic pointer list, indicate tags available for INTRO page (M6720)

--- v4.08 02/08/2023

- CHANGED: remove the cURL call on popup to get case record and popup to get requester
- NEW: When Case record is used, report the last previous result (anteriority) of a redondant test (M4411)

--- v4.081 03/08/2023
- ADDED: LSMRemote: add a tooltip option in config for the + (add samples) (M6717)
- ADDED: Create a new filter to filter by sample type description (M6723)
- BUG: default value doesn't work in additionnal data (M6709)
- CHANGED: after validate mandatory additional data open link in new fancy and refresh after close (M6247-II)

07-08/08/2023
- CHANGED: force MPDF to follow redirect for images embedded(e.g. http -> https)
- CHANGED: security fix on uploads
- ADDED: Make multiple sentences possible for additionnal data (M6699)

--- v4.0811 08/08/2023
- BUG: fix error trying to open Job>Report>Full ZIP on windows explorer
- BUG: external API (integrations): fix hl7encoder to support multiple samples in results message again
- ADDED: LSMRemote: add property patient_portal_title
- CHANGED: improve the blocking by mandatory option on test additional parameter (6247-III)
- BUG: result parser fix error with separators when first separator is not present
- BUG: result parser fix error getting code value
- BUG: fix truncated text hl7

--- v4.0812 22-23/08/2023

- CHANGED: improve parameter configuration with the separation of availability to API and Integration

--- v4.0813 23-25/08/2023

- ADDED: add amended and amendedcode to hl7encoder
- ADDED: add a reason to restart job
- ADDED: add amended and amendedcode to hl7encoder Compliance
- BUG: error generating automatic report pdf file
- BUG: error generating automatic report, space invalid characteres
- BUG: error generation hl7, path error
- BUG: job list search nor working
- BUG: fix error getting template in cron job

31/08/2023
- BUG: missing barcode in pdf report generated from hl7 integration
- BUG: Missing barcode image on the PDF
- BUG: Fix the encoded Base64 PDF for automatic report
- ADDED: Send ACK message for accepted and/or rejected and/or on hold job
- ADDED: Reasons for amended action
- ADDED: New tags for amended action
--- v4.0814 01/09/2023

- NEW: add option to select report template size: A4 or Letter (M6695)
- BUG: revert and refix missing barcode in pdf report generated from hl7 integration

--- v4.0815 05/09/2023

6-07/09/2023
- BUG: external API (integrations): adapt Labsoft result message to changes in abnormal flag
- UI: external API (integrations): rewrite help for {resultstatus}
- CHANGED: don't exclude field used as case record name on job list export csv
- CHANGED: make amended tags and note on footer work in sample report the same as job report (M6760)
- BUG: dynamic tags for case record fields had issues with accents and apostrophes
- BUG: empty results grid if case record fields have accents
- BUG: replace report tag ##accreditation_seal## by empty if compliance is OFF

11-12/09/2023
- ADDED: top search box supports report barcode
- BUG: fix query to check empty mandatory sample fields before start a job
- ADDED: embedded external document to current report template (M6727)
- BUG: external API (integrations): Results files for all jobs are sent in HL7 integration (M6763)
- BUG: manage errors in charts tags to avoid failure getting report from LSMremote and others
- ADDED: add setasign pdfparser to support merge files created with PDF compression features > 1.4
- ADDED: API GET: add searchmode=inlist to search jobnumber, samplename, batch or projectcode by multiple values
- BUG: fix php8 error unsupported operand types in data trending charts
- BUG: fix JS error after select uncertainty if column precision was not present
- ADDED: make the only one uncertainty value as default (M6768)
- NEW: create a case record result chart on test level (M6710)

--- v4.082 15/09/2023

18-19/09/2023
- ADDED: Add an option in integrations to report back all (M6767)
- ADDED: add button 'unlock' to setup>scheduled tasks
- CHANGED: update phplot v8
- BUG: pie chart failed if options min/max/avg/std... were selected

--- v4.0821 19/09/2023

20-21/09/2023
- NEW: CSV result parser iCollector
- CHANGED: Result parser iCollector parse Processing Data individually
- BUG: DataTrending charts: made min max show again, improved min max calculation
- BUG: Equipment Category ID was displayed on Equipment column on manage>starting parameters if no equipment selected 
- NEW: bring SFTP as a grab order mode in integrations (M6298)

--- v4.0823 21/09/2023

21-22/09/2023
- UI: replace dhtmlx tabs by bootstrap tabs on home page
- CHANGED: Charts setup: moved success alert
- BUG: API GET: searching by sample might have returned jobs with samples QA excluded, even if includeqc was not set
- BUG: fix sql error generating report from test level

25-29/09/2023
- BUG: full charts page didn't include chart options
- NEW: Make data trending chart dynamic shareable (M6778)
- BUG: BOM characters for handle UTF-8 were missing on button Export of all lists under Admin menu
- BUG: job parameter of type Multiple choice didn't show the values selected on Edit Job if values contained commas
- NEW: protocols: link to documents module (M953)

--- v4.0824 29/09/2023

- BUG: job list export CSV contained html entities
- BUG: function to validate audit log checksum failed if action contain quotes
- UI: turn off word wrapping on preferences > template headers
- BUG: fix wrong colspan on ##results## tag header, if report mode was different from default
- NEW: PDF export from tests and all lists under preferences
- CHANGED: improvements in template versions display and navigation
- BUG: remove right white space from case record trending chart
- CHANGED: increase font size in job chart and case record trending chart
- CHANGED: increase image quality of job chart and case record trending chart using treuecolors & antialising

09-10/10/2023
- CHANGED: avoid duplicated points on control charts when same equipment is linked twice to same test 
- UI: make button to perform batch actions to multiple tests more visible
- BUG: checkbox Backend was disabled for parameters of level Test on parameter creation
- ADDED: improve calculated fields to support concatenation | and power ^ (M6816 I)
- ADDED: improve calculated fields to support literal text (M6816 II)
- ADDED: improve calculated fields to support parameters of datatype string, select, multiselect or date (M6816 III)
- BUG: fix JSON error on parameters of type valuelist with breaklines on values

--- v4.0825 10/10/2023

13/10/2023
- CHANGED: ensure job number is properly escaped on job creation/modification
- CHANGED: on calculated parameters hide the list of dependent fields on save to keep configuration page cleaner
- ADDED: Option to create sample record when sample is received (M6839)
- CHANGED: Arrange the job name config in LSM (M6722)

16-19/10/2023
- BUG: when starting the workflow from the LSM the name in undefined instead of the sample name (M6852)
- BUG: multiple choice is not showing the options selected in single sample-test popup (M6851)
- BUG: option manage>validations was greyed out after group by batch-test-sample on job list
- ADDED: add a new sample automatic name year + autoincrement (M6844)
- ADDED: add a new dynamic option for incremented sample name, set automatic name at receiving step (M6840)

--- v4.0826 19/10/2023

20/10/2023
- BUG: fix restart job with compliance off and no reason id
- CHANGED: result parser: prevent repeated messages when the job has a status other than "in progress"

23-26/10/2023
- ADDED: add querystring parameter 'batch' to joblist to be able to link from other add-ons
- NEW: icon to collapse/expand tests in batch results page
- BUG: the new option to link protocols to documents module was not visible (M953 - II)
- BUG: missing breakline on report multilang
- ADDED: add patient information on batch report (M6895)
- CHANGED: add brackets when test code appear on test dropdown 

30/10-02/11/2023
- BUG: integration with code containing spaces doesn't load properly
- UI: prevent valuelist dropdown too wide even if text is long
- BUG: fix error saving parameters of type valuelist with colors
- UI: highlight active tab on home page
- CHANGED: job chart: use same color on repeated parameters among tests (M6912 - I)
- BUG: job chart: fix parameter label cut on legend (M6912 - II)
- CHANGED: job chart: report pick STD options saved (M6912 - III)
- CHANGED: job chart: add option 'All' to test dropdown (M6912 - IV)
- BUG: bug saving parameter valuelist after delete a duplicated value 
- BUG: fix jQuery load duplication in data trending charts + JS error with daterangepicker on FF
- CHANGED: job chart: when multiple tests, consider repeated parameters among tests as same parameter

06-07/11/2023
- BUG: On a batched sample, the Schedules logic is broken (M6925)
- BUG: filter by test status = assigned in job list included samples of requested jobs (M6322 - I)
- CHANGED: filter by test status = started in job list include now restarted samples (M6322 - II)
- ADDED: workload charts can be enabled/disabled on new setup popin (M5359 - I)
- BUG: fields mapping not displayed iCollector parser
- ADDED: workload charts past years in period selectbox (M5359 - II)
- BUG: replaced an hardcoded lsm table name prefix with prefix constant 
- ADDED: Help CSV iCollector parser
- UI: highlight active tab on integrations content
- LSMRemote: allow import CSV in lsmremote even without case record activated (M6512)
- ADDED: workload view: new chart to show tests/samples per instrument (M5359 - III)
- BUG: workload charts fancy size & period not taken in account in fancy
- IMPROVEMENT: workload chart samples by type has now an automatic Y axis step size (M4169)
- ADDED: kits to support multiple samples per kit number (M6200)

--- v4.0827 07/11/2023

08-10/11/2023
- UI: better align batch list headers
- ADDED: Add Sample ID column on job edit page (M6944)
- ADDED: Show Sample Name column on job edit page even with sample name automatic
- NEW: Add EDI XML integration (M6288)
13-17/11/2023
- CHANGED: remove LabSoft from integrations
- UI: fix display issues in integrations page
- ADDED: add ORM example to integrations HL7 help
- ADDED: Workload view: pick a numeric value on sample/job level and plot as a sum of all jobs per day (M6540)
- ADDED: Add scan files feature to add/edit job (M6928)
- ADDED: settings page DS2 integration M6903

--- v4.0828 17/11/2023

- CHANGED: integration EDI: accept sample type code besides name on sample type mapping
- ADDED: integration EDI: add all requester fields to Data Mapping

20/11/2023
- CHANGED: increase the customer password to 12 characters (M6906)
- CHANGED: remove 1Health v1 from integrations, keep 1Health v2
- ADDED: Give the possibility to admin to edit sample automatic name after creation (M6951)

--- v4.0829 20/11/2023

20-22/11/2023
- CHANGED: don't show units in report dynamic tags if value is empty
- CHANGED: Increase the limit in the select list of "assign a test" when you create a job (M6897)
- BUG: a staff member can affect batch for others (M6896)
- BUG: Additionnal data not available if we we group by Job => Sample => Test (M6474)
- BUG: phrase linked to value didn't work for test additional data (M6699 - II)
- CHANGED: rebuild general menu to have a CRM section (M6945)
- ADDED: Workload view new chart: totals per TEAM (M6086)
- CHANGED: LSMRemote: accept multiple sample names by querystring on grid 
- BUG: if unit contain html tags, the unit dropdown select in test definition was empty 
- ADDED: Requester invoice tab totals and filters (M6948)
- CHANGED: improve the coment on reagent lot after restock
- ADDED: LSMRemote: accept sampleTypeID & lotID by querystring also in grid mode
- BUG: report had empty results if if samples didn't have sample type
- CHANGED: A new integration type for KITS to DS2 API (M6903)

--- v4.083 23/11/2023

- UI: relocate tab 'Additional data' to end on tests management page

24/11/2023
- UI: add default fields sample and default fields job to DS2 mapping

--- v4.0831 24/11/2023
27-29/11/2023
- BUG: CSV export on starting parameters didn't work
- BUG: fix JS error on print label after job creation in FR
- CHANGED: only include token in CoC if case record is enabled
- CHANGED: add response mapping to DS2 settings
- CHANGED: update DS2 Backend, add DS2 order id when order is created
- CHANGED: hide parameter columns in CoC if they are empty
- BUG: ACK not sent in HL7 integration
- CHANGED: if user is in a team then only should view jobs assigned to itself or to its teams (M6982)
- ADDED: add button 'Source' to CKEditor on long text parameters
- CHANGED: update lang PT
04-08/12/2023
- BUG: Line breaks are removed in description protocols (M6728)
- CHANGED: add tests to LSM tab in LC modules
- BUG: DS2 Update response webhook add details after processing webhook
- IMPROVEMENT: Added Result Parser XML (M6967)
- BUG: JS error on save additional data if there are fields of type longtext
- BUG: unable to select equipment category in tests management (depending on TM setup)
- BUG: SQL error on batch report if case record is disabled
- ADDED: Integration to send results to HTTPS (M6819)
- BUG: processing and result values are not updated result Parser XML
- BUG: Error sending DS2 order on create job
- BUG: DS2 handling exceptions
- BUG: DS2 handle tokens for DEV and PROD mode 
- BUG: Processing parameters are not displayed when starting batches (Ticket 502174)
- BUG: Error processing custom data parameters DS2
- BUG: Error sending token for create order DS2
- BUG: Error saving billing parameters DS2
- BUG: Error getting values of default job and default sample parameter from labcollector when creating order DS2
- IMPROVED: handle empty billing parameters when creating order DS2
- BUG: Error handling response from DS2 when creating order DS2 is succesfully completed
- IMPROVED: Add logs when creating order DS2 to LSM Audit Logs

11-15/12/2023
- CHANGED: update lang NO
- CHANGED: for the tag protocols, move the test column in front of the protocol column (M07014)
- ADDED: Workload view new charts: average TAT per test (M6086)
- ADDED: integration EDI: if the job number and sample name fields are empty, the configuration for these parameters should be the one defined in Setup
- ADDED: integration EDI & HL7: return job id after create job
- ADDED: integration EDI & HL7: suport value codes on parameters of type valuelist mapped on order messages
- UI: in job list don't repeat requester in internal lines
- CHANGED: Add new DS2 mapping fields 

18/12/2023
- BUG: Error handling empty lines iCollector result parser CSV

--- v4.0832 18/12/2023

18/12/2023
- IMPROVE: Add Addon (Plant manager) record creation when sample create (M7034)
- ADDED: Send notification/email to staff M5308

--- v4.0833 18/12/2023

21-22/12/2023
- IMPROVE: send SKU kit in DS2 depending on the requester
- BUG: Display fields errors in Settings DS2
- IMPROVE: A staff member can affect batch for others of his teams or for one of his teams (M6896)
- IMPROVE: A user without group must see all possible jobs, even those assigned to a team (M7045)
- IMPROVE: Auto-map job sample fields and params to LabCollector sample module record when created (M6199)

************** 2024 **************

05/01/2024
- IMPROVE: send reminder notification for make a new assay (M7052)
- IMPROVE: add template for reminder email (M7052)

--- v4.0834 05/01/2024
08-12/01/2024
- BUG: bug in PWNHealth mapping, it always saves as IN even if OUT is selected
- BUG: job chart: parameters are not line up in order (M7053)
- ADDED: a new dynamic fields pointer ##matrix with stats## (M7054)
- ADDED: API GET: add querystring parameter 'parameterdatatype' to retrieve only parameters of a given type
- BUG: change incorrect case of property names DS2
- BUG: timestamp format is incorrect in DS2
- CHANGED: hide case record related configuration in range details (M7059)
- IMPROVE: add log when sending reminder notification (M7052)
- BUG: send reminder to requester (M7052)
- BUG: update translation, wrong text in template reminder notification and operator notification
- BUG: job chart image should stay the same after report is validated (M7063)
- UI: improve the order of options in setup>projects & modules
- IMPROVE: allow use custom fields in reminder notification template (M7052)
- CHANGED: adjust permissions and visibility of admins in a team (M6982 - II)
- CHANGED: LSMRemote: add tests preselection on models

15/01/2024
- CHANGED: HL7: exclude canceled samples from results message
- BUG: Some calculated fields are not automatically filled in when some parameters are parsed by API (M7048)

15-18/01/2024
- CHANGED: integration EDI & HL7: exclude canceled samples from results message
- BUG: Some calculated fields are not automatically filled in when some parameters are parsed by API (M7048)
- CHANGED: Support of Speech-to-text on Test Result long text fields (Parameter + comment) (M6993)
- ADDED: new report tags ##test_periodicity## and ##test_nextdate##
- BUG: integration EDI & HL7: results messages were sent always to port 22 instead of port set in config
- BUG: integration EDI & HL7: increase size of port field
- BUG: integration EDI & HL7: add content missing on send results to https & set 443 as default port
- CHANGED: FR lang improvements
- BUG: fix validation of admins in a team (M6982 - III)
- BUG: import CSV in job form didn't take into account categories on default mode
- ADDED: add filter by test category to samples list
- BUG: fix tax amount display in invoice when a fixed cost per priority is charged
- CHANGED: filter by parameters of type Multiple Choice was ignoring values with multiple values

--- v4.0835 18/01/2024

19/01/2024
- BUG: fix rejection of admins in a team (M6982 - IV)
- IMPROVE: iCollector - RESULT PARSER Add sample and job parameters
- BUG: iCollector - RESULT PARSER CVS fix bug with special characters
- CHANGED: API POST/PUT: support LC custom date format on parameters of type date and datetime

22-23/01/2024
- BUG: API PUT: escape values on update job or sample custom parameters
- ADDED: LSMRemote: Having an option to filter tests per team (M7084)
- ADDED: Context menu -> New options in sample -> Derive sample + Open Record sample (M7066)
- BUG: fix display issue with special characters in Purchase Order
- CHANGED: improve the blocking by mandatory option on test additional parameter (6247-IV)
- BUG: records created automatically had empty owner/main operator

--- v4.0836 23/01/2024

- BUG: fix issue editing teams
- IMPROVE: Add API Entrypoint to addSampleType
- BUG: hide link to setup to Admin since the acess is restricted to Admin+ only
- ADDED: integration EDI & HL7: allow different templates for ACK message on accept/reject/hold

--- v4.0837 25/01/2024

26/01/2024
- CHANGED: don't restrict visibility of jobs for super administrator even if it belongs to a team
- ADDED: allow user to validate their own result (M7046)

--- v4.0838 26/01/2024

29/01/2024
- UI: place groups first and bolder on operator dropdown list
- IMPROVE: Add advanced https configuration EDI/XML 
- IMPROVE: Add advanced https configuration to HL7 integration

--- v4.0839 29/01/2024

30/01/2024
- CHANGED: integration EDI & HL7: ACK messages follow same rule of results messages for report jobs with same source or all jobs
- UI: change title of Pending Samples List to Ongoing Samples List
- NEW: Create a new processing/stage status (M6924)

--- v4.084 30/01/2024

31/01/2024
- CHANGED: iCollector - RESULT PARSER modify to be compatible with win2parser
- BUG: parameters Backend-ReadOnly of level job or sample were still editable
- CHANGED: LSMremote: hide parameters Backend-ReadOnly on submit order
- ADDED: dynamic fields pointer to pull range/criteria details (M7114)
01-02/02/2024
- IMPROVE: Add advanced https configuration to HL7 integration (M7119)
- IMPROVE: Add token select to iCollector result parser (M7119)
- IMPROVE: Add token select to EDI/XML integration (M7119)

--- v4.0841 02/01/2024

02/02/2024
- BUG: UI wrong display iCollector CSV parser
- IMPROVE: UX improvements in iCollector result parser CSV
- ADDED: integration HL7: if the job number is empty, use automatic configuration from setup

05-06/02/2024
- ADDED: integration EDI & HL7: Add a new option to associate an integration to a model (M7096)
- ADDED: Map sample type and tests on sample creation (M6815)
- BUG: UI bug displaying Expected Token field HL7 integration
- IMPROVE: Extend CSV parser to support parse by col titles
- BUG: updating wrong assay in iCollector result parser CSV
- CHANGED: LSM charts: on data trending chart creation popin: requester select now also shows company name

--- v4.0843 06/02/2024

- BUG: fix header misplaced in reagents grid on starting parameters, if reagent helper text contains a comma
- ADDED: show selected model description on the LSMRemote side (M7147)
- ADDED: selection of categories on models make all tests related to the category visible (M6432 - II)
- ADDED: add a specific reminder to model (M7121)
- BUG: integration EDI & HL7: fix path inclusion in integrations notification 

--- v4.0844 07/02/2024

08-09/02/2024
- UI: make JobNumber clickable on sample test popup
- BUG: iCollector result parser Error when handling searches for multiple values using "|" (Ticket 505589)
- BUG: unable to add job if option to allow edit sample automatic name after creation is enabled (M6951 - II)
- CHANGED: model settings page can handle now the list of requesters for models with requesters restriction
- BUG: some job parameters placed after a Backend-ReadOnly parameters were wrongly disabled
- CHANGED: disallow change invoice status if it is already paid, add confirmation message before change to paid
- ADDED: Add filters to models (M7148)
- BUG: fix reason list empty in last version
- CHANGED: integration HL7: clean spaces at begining and end of each segment on parsing HL7 order file

12/02/2024
- BUG: issue in job list if the label of a parameter on summary line contains a comma
- UI: issue with file parameter label overlapping in add/edit job form
- ADDED: integration EDI: integrate a response EDI XML to the job creation (M7024)

--- v4.0845 12/02/2024

13-15/02/2024
- UI: structure display of Attached Modules and Addons Setup
- BUG: fix link in LSM tab in LC modules
- UI: rephrase 'Report Order' by 'Report Sorting'
- ADDED: Automatic Plant or Seed record creation from LSM Sample creation/accepting/receiving when Project code is set to the Job (M7034); need PlantManager v3.11 or later
- ADDED: allow the user to create multiple sample lines when an order is created (M6661)
- ADDED: Add requester during a add job process like a case record (M7008)
- CHANGED: save CategoryID in database and use it on group job list by category

--- v4.0846 16/02/2024

20/02/2024
- ADDED: API GET: add category to tag assay
- BUG: Hidden mandatory parameters blocking add job from LSM side (M7180)
- CHANGED: Make the category of test visible when we create a job (M5264)
- BUG: CSV export in job list is empty
- BUG: amendment/amended tags & footer missing for reports open on third level of job list tree
- IMPROVEMENT: TAT charts improved (time shows in hour:min), fixed value
- ADDED: integration EDI: Add the possibility to loop at test level in order (M7093-I)
- CHANGED: integration EDI: add header content type text/xml when order response is a custom XML (M7024 - II)
- BUG: integration EDI: fix typo in default results template
- BUG: LSMRemote: sample parameters of multiple choice once selected are displayed as None
- BUG: LSMRemote: label contain '| 0' if extra name field is empty in case record setup
- IMPROVEMENTS: Make templates for longtext params (M7171)

--- v4.0847 22/02/2024

22-23/02/2024
- IMPROVEMENTS: TAT charts points are now clickable, tooltip improved
- BUG: test overlay in parameter Data Type
- BUG: LSMRemote: helper text not showing (M7192)
- CHANGED: LSMRemote: make helper icon (?) clickable on the portal (M7194)
- BUG: LSMRemote: long values of parameters multiple choice were truncated
- CHANGED: don't include Parameters with On Report unticked on CoC (M7199)
- ADDED: integration EDI: Add the possibility to loop at sample level in order (M7093-II)

26-27/02/2024
- CHANGED: LSMRemote: Restrict team from look or select other team (M7200)
- IMPROVEMENT: Security fix
- CHANGED: improve SQL query for automatic sample name
- BUG: integration EDI: fix on sample parameters when order has multiple samples
- NEW: allow user to reject their own result (M6016)

--- v4.0848 27/02/2024

28/02-01/03/2024
- BUG: Error selecting template longtext in job
- BUG: Error filtering templates for parameter
- IMPROVEMENT: Add option to delete template LongText
- BUG: LSMremote: info of property 'extra_label_data' didn't appear on label (M7218)
- CHANGED: use CKEditor in parameter LongText at job level
- BUG: LSMRemote: fix issue when value of property 'extra_label_data' contains apostrophe
- CHANGED: use CKEditor in parameter LongText at sample level
- BUG: CSV import on starting parameters didn't work (M7061)

04/03/2024
- UI: reword message on delete stage
- BUG: can't uncheck mandatory checkbox of additional data in preferences>tests
- BUG: integration EDI: wrong number of samples created when sample is mapped and only one sample is received in order file
- BUG: field Stage was visible in tests with no Stages enabled
- BUG: breadcrumb displayed word 'null' for tests without category
- CHANGED: improve job access logic by teams/no team (M7185)

--- v4.0849 04/03/2024

05-06/03/2024
- BUG: LSMremote: Requester see all models (M7241)
- CHANGED: improve automap fields between LSM samples and LC samples and make it work with parameters with uppercase or spaces 
- BUG: textlong template - ckeditor with same id
- BUG: fix SQL error on latest upgrade
- CHANGED: write response of webhook in audit log

--- v4.085 06/03/2024

- UI: report tag ##results## make sure all lines have same length
- ADDED: integration EDI: Add the possibility to loop at sample, test and parameter level in result (M7093 - III)
- ADDED: Tests to activate a reminder to client add new option to define next to periodicity "Dynamic option" as radiobutton. if the option is checked, a select list appears with the list a parameter (job level) and it will be this parameter which will be used to applicate the periodicity (M7052)
- BUG: staff user unable to validate their own result as first step validation (M7245)
- CHANGED: LSMRemote: use the lang translations for tests and sample types 
- UI: hide small popups after close edit calculated parameter

11-12/03/2024
- BUG: integration EDI: remove extra breaklines on result file when using loops on templates
- ADDED: Discounts per requester and per test (M7193)
- ADDED: Price list by default + per client (M4251)

--- v4.0861 12/03/2024

13-14/03/2024
- UI: rename Costs to Pricing
- UI: move tab Pricing next to Billing on CRM>Requesters
- BUG: requester details empty if click edit too quick
- BUG: if the option to hide zero values in report tags was checked, some other values (starting by <) were hided too
- BUG: invoices filter by date didn't include the invoice of last day
- BUG: results not saved in XML csv parser
- NEW: a special report for canceled job (M7210)

--- v4.0862 14/03/2024

- UI: integration EDI & HL7: move IN tab to first and OUT tab to last
- UI: merge requester tabs General Contact & Billing
- UI: open invoice in new tab from requester > tab Invoices 
- BUG: parameters on summary line with & broke job list
- BUG: error editing jobs and adding categories to existent samples
- CHANGED: show requester company in invoice list together with requester name
- CHANGED: job list batch view to not have blank batch (M7266)
- ADDED: Allow mass accept/reject from the bacth view (M7265)

18-22/03/2024
- BUG: integration EDI: remove the limit of 20 parameters
- IMPROVEMENT: improve UI setting result parser
- CHANGED: API POST: improve response times on updating parameters involved in formulas
- ADDED: send invoice/quote directly by email (M1011)
- CHANGED: improve default template for send invoice email
- BUG: click validate button on sample popup after turn on/off accreditation does nothing
- ADDED: add tags ##cancellation_date## and ##cancellation_reason## to cancellation report
- BUG: fix fatal error when xml has spaces in result parser XML
- ADDED: create a new tag to put on the report accepted job date (M7294)
- ADDED: Add a status to requesters (M6949)

--- v4.0863 22/03/2024
25-26/03/2024
- CHANGED: Requester field Notes is now a CKEditor in new CRM tab (M6946)
- ADDED: API POST: accept attribute 'model' on job create, and use default model if attribute is not present
- BUG: fix error validating user request in last version
- ADDED: Add stats to Requesters > CRM tab (M6946)
- ADDED: Option that allow make a requester as secondary only (M5633)

--- v4.0864 26/03/2024

27/03/2024
- UI: remove blank space on workload on small screens
- ADDED: Split sample per test on record creation (M6815)
- NEW: add online pay link and add it to invoice email (M7149)
- NEW: when case record active, be able to send invoice to case record(M7149)

--- v4.0866 27/03/2024

01-05/04/2024
- BUG: prevent empty value in new requester Status
- BUG: fix job list by category view (M7316)
- BUG: iCollector - RESULT PARSER CSV, Error when searching for values with exact coordinates given.
- BUG: integration HL7:  OUT tab fix bug getting headers
- BUG: make secret key optional
- ADDED: LSMRemote: add test description icon to tests under category tree view (M7243)
- BUG: security: remove unused download file
- ADDED: make new sample naming rules (7298)
- BUG: fix label print fields issue 
- IMPROVEMENT: improve quick print label popup 
- CHANGED: LSMRemote: improve pricing display in information icon (M7345)
- UI: adjust borders in confirm password popup
- IMPROVEMENT: iCollector Parser: add an error message when no sample name is found in the file.
- BUG: integration EDI: sample name undefined if option automatic name at receiving step is set
- BUG: integration EDI: fix output tags with multiple words (contactlastname, contactemail...)

08-10/04/2024
- BUG: fix JS error on requester if Notes is null
- CHANGED: LSMremote: show on test info icon specific prices and discounts for logged requester
- NEW: Allow batch group of jobs and allow import CSV of job and sample levels (M7264)
- BUG: Requester group list is empty in job list filter if user is linked to 1 or more requesters
- BUG: report tag ##job_number## was empty (since v4.0863)
- CHANGED: a way to edit independent tests without locking (M7320)
- BUG: SQL error on send job report by email 
- ADDED: ability to send cancellation report to requester via email and fax (M7299)

--- v4.0867 10/04/2024

- BUG: fix FR lang label in requesters page
- CHANGED: once a job is accept or reject, allow to re-accept job (M7263)

15-19/04/2024
- ADDED: integration EDI: make tags {sample.reportpdf} and {sample.reportid} work (M7365)
- ADDED: integration EDI: make work special formatting #D for dates (M7349)
- ADDED: integration EDI: Add the possibility to use any result parameter as for sample or job {parameter.name_of_the_parameter} (M7347)
- ADDED: integration EDI: add the possibility to have multiple loops in results template (M7346)
- ADDED: icon to set alphabetical order of the parameter valuelist (M2004)
- BUG: Reminder client notification OFF still attempted to send emails
- UI: state clearly that scheduled task to report submission is read only
- ADDED: Create a pagination in the LSM tab in each modules (M7384)
- ADDED: integration EDI & HL7: option to choose output encoding ISO-8859-1
- BUG: fix encoding issue in sample name if sample name option include case record name and case record name is not automatic
- BUG: show test categories in open job could be empty if same job mix several samples with categories

22-25/04/2024
- CHANGED: integrations: use alphabetical order for each order mapping and selectpicker (M7163)
- ADDED: have a way to filter samples with NO BATCH (M7044)
- BUG: don't use database timestamp for sample submitted date but server timestamp
- CHANGED: Automatic receive status when add samples after job creation, if this option is set (M7391)
- ADDED: Add way to delete an integration (M7177)
- BUG: when admin+ can edit sample automatic name after creation, make sure name name is not editable on adding new samples to existing job
- BUG: API GET: some attributes misplaced in tag <assay>
- BUG: fix SQL error creating job if sample name include case record but case record is off
- CHANGED: LSMRemote: availability to calculated case record's age when case record just added (M7396)
- CHANGED: improve audit log on report mode change
- ADDED: add new report mode: separated by sample and template (M7339)

29/04-03/05/2024
- BUG: Potentials XSS remediation's
- BUG: error on create new model for specific requesters
- CHANGED: don't remove value for parameters of type date with value 000-00-00 (M7407)
- UI: make options for test periodicity clearer
- BUG: click button to send email to all requesters or to all users sent email before validate form
- ADDED: Implementation UNIDIRECTIONAL option for HL7 and XML (M7393)

--- v4.0868 03/05/2024

06-07/05/2024
- CHANGED: job list filter: check combo multiple item on select
- CHANGED: API: validate mandatory parameter version is present and valid
- ADDED: job list export: add column QA/QC
- BUG: Security fix
- ADDED: integration EDI: Add the possibility to use parameter id in tags {parameter.id_of_the_parameter}
- ADDED: integration EDI: avoid conflict with default tags {parameter.result} and label tags {parameter.name_of_the_parameter}
- BUG: CoC was not attached in email after the job is accepted even with this option ticked in setup (M5674 - II) 
- ADDED: Allow parameter to filter Tests TAT charts (M7318)

--- v4.0869 09/05/2024

13-15/05/2024
- ADDED: Add preview for export job list (M7253)
- BUG: processing parameters saved in batch doesn't record a value history (M7156)
- CHANGED: Unify report file name on single customer report email and customer bulk report email (M6216)
- ADDED: API GET: add expected date to response
- BUG: add lang labels missing in PT
- ADDED: invoice per category + requester custom prices per category (M6382)

--- v4.087 16/05/2024

20-23/05/2024
- CHANGED: when categories are used, show categories and not test in CoC (M7003)
- BUG: error calculating stability window if collection datetime has a wrong value
- BUG: Stage filter is empty in job list and samples list
- BUG: Stage column is missing in samples list if stability window enabled
- UI: use LabCollector preloader when available
- BUG: invoice PDF failed when Tax/Vat Rate was empty
- BUG: fix on hl7encoder to make tag {--parameter--} remove whole line
- BUG: fix CSV parser when sample name status is different than in progress

27-30/05/2024
- IMPROVEMENT: Add swagger documentation feature
- BUG: fix interface bug, wrong fields displayed when select type iCollector-result integration
- BUG: Error parsing HL7 message iCollector-result parser 
- ADDED: API POST: assign automatic phrase on parameters valuelist
- BUG: fix the redirect to home page if user is no logged in (report and other pages)
- CHANGED: Result Document is optional if test Result Type is Results + File

03-04/06/2024
- UI: break word in audit log comment
- CHANGED: LSMRemote: when release_partial_results = true, release result files too 
- CHANGED: tags in header/footer not applied in invoices should be blank (M7432)
- ADDED: add info on type of billing cycle per requester (M7429)
- ADDED: Add a custom price per requester with End of date (contract validity) (M7428)
- ADDED: add index to LotID in reagents table

--- v4.088 04/06/2024

05/06/2024
- BUG: fix preloader in batch list
- UI: improve filter disposition in requesters page
- CHANGED: include category lines in invoice tag ##details## (M7431)
- ADDED: Display job and sample parameters on billing report (M7427)
- BUG: fix fatal from PHP8
- BUG: prevent display word null in tab Result Parameters in Admin>Preferences>Tests
- CHANGED: adjust the action of merge invoices to work with categories too
- CHANGED: use parameter custom order in parameters added to invoices

--- v4.0881 07/06/2024

- ADDED: API POST: support categories on job creation (M7435)
- ADDED: integration EDI: support categories on data mapping (M7435)

10-12/06/2024
- UI: replace 'Amount of samples' by 'Quantity' in invoices
- ADDED: Specific EDI received ACK logging
- BUG: iCollector result parser - Issue reading CSV with breaklines
- BUG: Fix on a too high PathAttack Security
- CHANGED: LSMRemote: replace GET by POST on print label to prevent error Request-URI Too Long
- ADDED: integration EDI: make work special formatting #T for dates
- BUG: integration EDI: don't map tests/category with empty value
- CHANGED: hide column Code in invoice PDF if it is blank
- ADDED: option to add received date in invoice details
- CHANGED: integration EDI: support map categories out of sample tag

--- v4.0882 12/06/2024

- CHANGED: improve performance of Pricing page, reducing AJAX calls
- UI: fix dependent drop-down lists on integrations mapping
- BUG: fix category icon color in job list group by category
- NEW: Allow customizing of report matrix tags (M3239)
- BUG: integration EDI: fix bug in looping for generate output file

--- v4.0883 14/06/2024

17-18/06/2024
- BUG: fixing swagger documentation HTML wrong display
- BUG: swagger body sending wrong body format
- CHANGED: fix slowness in results grid with many hidden/backend columns
- BUG: missing button to add extra line on edit invoice
- BUG: report/invoice PDF failed due to LC version dependency
- BUG: API POST: return error 400 if xml is well formed but attribute uniqueid is empty
- CHANGED: apply LC date format to received date on invoices and remove time
- BUG: Error updating tag maker style
- BUG: tagMaker keep same report default fontsize
- ADDED: add billing code to categories
- CHANGED: replace test/category code by billing code in invoices

--- v4.0884 18/06/2024

18-21/06/2024
- UI: move protocol file column in Protocol & Equipment
- CHANGED: support special characters in title of protocol file linked to Documents module
- BUG: save requester from dedicated popup on edit job caused loss of status
- CHANGED: allow change headers for parameters tagmaker
- ADDED: allow select/unselect multiple protocols
- BUG: fix conflict with automatic receive status/date and stability window warning on edit job form (M7391 II)
- CHANGED: don't add blank page to report if test has no results template
- BUG: fix category grid mode

24-25/06/2024
- CHANGED: allow change headers for parameters tagmaker
- BUG: When creating a new tag, it uses the previous configuration tagmaker
- IMPROVEMENT: change order of parameters tagmaker
- IMPROVEMENT: added new style options
- BUG: Deprecated invoice request
- IMPROVEMENT: Add clone tag feature tagmaker
- IMPROVEMENT: Forbit duplicated names tagmaker
- IMPROVEMENT: add search bar tagmaker
- BUG: Error adding tag tagmaker
- IMPROVEMENT: open tag from principal page tagmaker

--- v4.0885 24/06/2024
11-12/07/2024
- BUG: clean test filter placeholder after click clear button on job list filter
- CHANGED: allow select empty results template or processing template on Admin>Preferences>Tests (DEV-116)
- BUG: processing parameters hidden in job/batch validation
- CHANGED: integration EDI: prevent sign < or > in values break XML response
- ADDED: Add a code for units (M7467)

--- v4.0886 12/07/2024

15/07/2024
- BUG: EDI ACK report to logs table supports now multiple ack in one time
- BUG: users of type 'Admin' are missing on operator list autocomplete
- BUG: fix JS error on job list for user type validator and case record not enabled
- ADDED: add option to deny staff to accept/reject job
- ADDED: add a new option to calculated parameter to apply a number of decimal (M7237)

--- v4.0887 15/07/2024

16-19/07/24
- BUG: fatal error on setup with old version of plants manager (DEV-153)
- ADDED: add new report mode: separated by sample then template (M7339 - II)
- ADDED: add support of email sending of EDI NonAck (DEV-165)
- UI: prevent top search bar to hide job list contextual menu
- ADDED: API PUT: support upload to parameter of type Image
- ADDED: API PUT: support upload to parameter of type Image or File also in processing parameters
- BUG: fix to get report of only one sample if click report on sample row
- BUG: fix CoC number of columns when case record off
- BUG: unselect protocol in job/batch and save didn't save changes (DEV-163)
- IMPROVEMENT: Add option to display unit, TagMaker (DEV-145)
- IMPROVEMENT: Add default field phrase and range, TagMaker (DEV-145)
- IMPROVEMENT: Add default field equipment and protocol, TagMaker (DEV-145)
- BUG: Archived tests are visibles in the test selector, TagMaker (DEV-161)

22-26/07/2024
- ADDED: Support Attached modules and addons deletion (DEV-162)
- ADDED: Export equipment usage table and other tables in the LSM tab in each modules (DEV-171)
- BUG: automatic report email used bulk report template even for single job
- BUG: improve the logic to decimals given by parameter on calculated fields
- IMPROVEMENT: Add option for add comment as row, tagMaker (DEV-146)
- IMPROVEMENT: Block empty tag name, tagMaker (DEV-179)
- BUG: Error when no equipment on test, tagMaker (DEV-146)
- BUG: Allow modify style for row parameters, tagMaker (DEV-212)
- BUG: Categories are not displayed on job list when jobs are restarted (DEV-204)
- BUG: split samples per test does not save on setup page (M7469)
- UI: hide costs table on customer edit if billing is off
- BUG: equipment without protocol didn't appear in batch results popup header
- BUG: Wrong display row styles, tagMaker
- BUG: fix wrong alert blocking save results test if test has equipments and it is in a batch
- BUG: list of columns of job and sample parameters in batch/job grid become empty
- ADDED: Add project code option by model (DEV-192)
- ADDED: add an option in settings to enter directly on the job list (DEV-168)

29/07/2024
- BUG: Add dynamic database prefix, tagMaker
- BUG: Error updating information from tag, tagMaker
- ADDED: recover the barcode image of the patient using a new report tag (DEV-144)
- ADDED: Make model option for internal vs external (DEV-202)
- BUG: list of columns of job and sample parameters in batch/job grid become empty (II)

--- v4.0888 29/07/2024

30/07-01/08/2024
- BUG: canceled test was completed and validated on job manage options if same sample had other tests not cancelled
- BUG: Security fix (DEV-97)
- BUG: security fix (DEV-173)
- BUG: Prevent losing case record when modifying requester information clicking buttons too quick (DEV-234)
- IMPROVEMENT: Improve select component, tagMaker
- BUG: Wrong extra column on display, tagMaker (DEV-238)
- BUG: LongText parameters in new job form in Safari were too high
- CHANGED: Pre-order must be seen by all admins, admin+ with or without team (DEV-213)
- CHANGED: LSMRemote: show extra label in barcode 1D too
- BUG: Report button does not export merged files (DEV-246)
- ADDED: add a strict mode search in samples and job filter (DEV-245)
- ADDED: Add template options for LongText parameter at job and sample level (DEV-154)
- CHANGED: hide archived parameters on parameters sorting and hide archived project codes in requester details (DEV-160)
- CHANGED: remove disallowed default value in SQL table to prevent error in backup
--- v4.0889 01/08/2024

- CHANGED: improve regexp clean remaining tags on reports
- CHANGED: improve borders of speciality rows in report result tags
- ADDED: new report tag ##details_protocols##
- BUG: prevent die in calculation due to empty value

05-09/08/2024
- ADDED: API GET: add response headers X-LC-QUERY-RESULT & X-LC-QUERY-TOTAL to know number of results
- ADDED: filter by date range in requester jobs tab
- CHANGED: performance improvements on requesters page
- ADDED: Add a new view in Job List (DEV-210)
- BUG: button validate grouping several tests in batch list could validate not completed tests
- ADDED: Make webhook greyed out in certain states (DEV-211)
- CHANGED: multiple select don't lose filter on item selection on job list filter
- ADDED: Improvement of the Sample retention tool with rules (DEV-254)
- CHANGED: New setup of Default hours field in test configuration (DEV-260)

12-14/08/2024
- ADDED: LSMRemote: add a new column "Operator" at the portal (DEV-170)
- CHANGED: LSMRemote: do not display date n time at Released column before test has been validated (M7466)
- ADDED: Estimate test end date from when test started (DEV-261)
- ADDED: Make webhook called by batch (DEV-172)
- ADDED: API GET: add case record age to response if this option is enabled
- CHANGED: prevent error if collection datetime is not valid in samples list
- ADDED: Display the calculated due date in job creation form (DEV-256)

--- v4.089 14/08/2024
26-28/08/2024
- CHANGED: EDI: replace report call
- CHANGED: EDI: dont call report on build order response
- BUG: fix issue range rules
- BUG: fix Addons auto mapping

05-06/09/2024
- CHANGED: LSMRemote: do not open automatically CoC if quote is ordered
- CHANGED: disable compliance ON if Compliance Pack is not included in LabCollector license (DEV-328)
- BUG: LSMRemote: PDF label was blank if case record name had accents
- BUG: tests preselected on tests were not checked on grid mode
- CHANGED: Emphasize the rush job, add colors and icons to priority column (DEV-284)
- ADDED: add the started date in the extra columns in results grids (DEV-325)

09-10/09/2024
- ADDED: allow yes_no field in case record & attached modules creation from LSM/LSMremote (DEV-352)
- CHANGED: in report with single tag, use the LAST sample value (DEV-351)
- CHANGED: allow input multiple email addresses separated by semicolon in requester billing email
- BUG: datatrending empty if requester contain apostrophe
- BUG: exclude canceled samples from case record trending chart and job chart

--- v4.0891 10/09/2024

11/09/2024
- ADDED: upper or lower range strict in ranges (DEV-272)
- ADDED: add the starteddate in processing grids (DEV-325 II)
- BUG: estimated dates not updated on batch started (DEV-261 II)

--- v4.0892 11/09/2024

12-13/09/2024
- CHANGED: Update term 'Range' to 'Criteria' (DEV-310)
- ADDED: add report tag ##sample_type_code##
- ADDED: add report tag ##project_code##
- BUG: using models with test preselection, latest test was not preselected
- BUG: optional default field project code was not saved properly on models
- BUG: order by job column in job list did not work
- BUG: value of field yes_no is not saved in case record form (DEV-352 II)
- ADDED: add supports of decimal of month as value of Assay periodicity system (DEV-345)
--- v4.0893 13/09/2024

- BUG: export CSV didn't work on completed job
- ADDED: EDI: Add tags for protocols in results template (DEV-339)
- CHANGED: improve regexp for email validation in CRM>Requesters
- NEW: Webhook at result level (DEV-363)

--- v4.0894 16/09/2024

- BUG: Fixed errors occurring when handling the new select field. This fix ensures correct handling of all selectable fields.
- BUG: Issue with copying values when we do an amendment of job with multiple samples (DEV-344)
- IMPROVEMENT: Add dev mode to HL7/ASTM integrations (DEV-374)

--- v4.0895 17/09/2024

18-20/09/2024
- CHANGED: improve selection event in new/edit job form (DEV-343)
- CHANGED: integrations: modify date format on messages sent to 1Health
- BUG: amended job didn't have additional data filled (DEV-344 II)
- BUG: webhook field scope was not saved
- ADDED: EDI: Add tag for parameter value code
- BUG: processing parameters panel visible
- ADDED: add parameter uniqueid to parameter webhook call
- CHANGED: in reports don't filter job chart and case record trending chart by template
- CHANGED: improve performance of add/edit job reducing the number of SQL queries

23-26/09/2024
- BUG: fix issue with report tag protocol_name not initialized
- CHANGED: support greek letters in job chart and case record trending chart
- CHANGED: disallow edit job expected date after job is accepted (DEV-256 II)
- ADDED: add job expected date to job list export (DEV-256 III)
- BUG: import samples inside a job with category didn't work properly (DEV-323)
- CHANGED: better manage parameters appended to webhook URL
- BUG: sorting of the processing parameter and result parameters was not right in sample popup
- UI: avoid open parameter popup automatically after drag'n'drop in preferences>tests
- CHANGED: calculate job expected date also on model with assays preselected selection (DEV-256 IV)
- BUG: LSMRemote: reset password with latin chars didn't work
- CHANGED: improvements to strict criteria (DEV-272 II)
- IMPROVE: Integrate Training Manager addon to allow Protocol usage blocking and following (DEV-203)
- BUG: fix missing borders in report tables styles Dark (bordered)
- CHANGED: prevent division by zero in calculated fields
- CHANGED: show parameter code in preferences>parameters
- ADDED: LSMRemote: support sample Name in property extra_label_data
- BUG: uncheck protocol without equipment was not saved on starting sample
- CHANGED: improve performance in results grid optimizing job parameters query

30/09/2024
- CHANGED: Better handle quotes (numbering, template) (DEV-346)

--- v4.0896 30/09/2024

01-04/10/2024
- BUG: datatables error in LSM tab on LC modules
- BUG: fix issues in results grid header
- BUG: JS error on row replicate in add/edit job form
- CHANGED: report tag ##protocol_name## should display only selected protocols
- IMPROVEMENT: label barcode templates improvement (series label print now in Tools > Barcode label series) (DEV-408)
- UI: don't display &nbsp; as empty value of sample parameter of type Time 
- BUG: prevent possible error loading job aditional data after select model in new job form
- BUG: labels of job parameters of type File were always visible even if the parameter visibility depends of a parent parameter
- ADDED: add new option to case record trending chart

--- v4.0897 04/10/2024

07/10/2024
- BUG: attached module popup was empty if module has no custom fields
- CHANGED: reset Optional Field 1 & 2 when module changes on attached module setup
- ADDED: add encoding selection and auto-detection in samples import CSV
- ADDED: add check all protocols in single sample popup
- CHANGED: check the box for select all protocols if all protocols are selected
- BUG: prevent start job/batch if no protocol selected 
- ADDED: choose if protocol is selected by default or not in preferences>tests (DEV-445)

--- v4.0898 07/10/2024

08-09/10/2024
- ADDED: support license limits on users or days
- CHANGED: exclude archived jobs from case record trending chart
- CHANGED: difference the license exceed message (DEV-142)

--- v4.0899 09/10/2024

09-11/10/2024
- BUG: Error showing protocols and displaying tag when in row option selected (parameters) Tagmaker
- ADDED: block access if license limits on users or days exceeded (DEV-414)
- ADDED: Add tests list in Protocols page to associate between them (DEV-375)
- BUG: issue saving yes_no field in case record form (DEV-352 III)
- ADDED: Need to link headers to invoice/quote and CoC (DEV-376)

--- v4.09 11/10/2024

15-17/10/2024
- BUG: fix fatal when session expired
- ADDED: add tag ##report_date## to CoC (DEV-478)
- ADDED: add report tag ##job_accepter_signimage## (DEV-478)
- CHANGED: model in pre-order job should be modifiable (DEV-308)
- CHANGED: when multiple test, the blocking message for empty required fields should have multiple links (DEV-309)
- CHANGED: don't read equipment alerts if test doesn't use equipments to improve performance
- BUG: tests missing in default model with preselected tests and number automatic of samples
- ADDED: show linked jobs to attached modules in LSM tab in LC modules

21-25/10/2024
- ADDED: Webhook trigger scope all results (DEV-475)
- UI: add note about requisites to enable Compliance
- ADDED: add templates for longtext params also in test additional data and input parameters
- ADDED: add report tag ##job_due_date##
- ADDED: add report tags ##validator1_signimage## and ##validator2_signimage##
- ADDED: LSMRemote: record last login in user details
- BUG: wrong column type caused value of parameters with webhook was cleared on results grid
- ADDED: Feature to crop signature image on user details

--- v4.091 25/10/2024

- NEW: connect tests to result module (DEV-353)

28-30/10/2024
- CHANGED: hide column Ficed Price in invoice PDF if it is blank and Hourly Price is not blank
- CHANGED: rearrange columns and rows in CoC details
- BUG: html entities in case record extra fields
- ADDED: Create a new tag ##details_w/o_test## in CoC (DEV-500)
- UI: calculated due date caused scroll in new job form
- ADDED: export criteria details (DEV-502)
- ADDED: ability to import range details (DEV-491)
- CHANGED: add more options to results module (DEV-353 II)

--- v4.0911 30/10/2024

- BUG: fix duplication saving of Range Assay parameters (DEV-491)

06-08/11/2024
- BUG: unable to upload images to parameters LongText
- CHANGED: archiving a protocol, it is unlinked from tests
- CHANGED: TM Protocol usage blocking also on single sample (DEV-203 - II)
- ADDED: add tag ##report_date## to Invoice/Quote
- CHANGED: API GET: prevent warnings due to uninitialized vars
- UI: fix content overflow after expand category in job popup
- BUG: issue with header in initial parameter (DEV-391)
- BUG: job comment popup broken
- ADDED: Possibility to add a batch comment when a lot is assigned (DEV-542)

--- v4.0912 08/11/2024

- ADDED: new parameter field OnSampleDetails (DEV-521)
- BUG: save existent attached module on setup didn't work
- ADDED: report tag ##test_{test ID}_nextdate##
- ADDED: add new values in Final Report filter (DEV-166)
- ADDED: Add a new function to prove the sending by post mail (DEV-167)

--- v4.0913 12/11/2024

13-14/11/2024
- BUG: convert project code to utf-8 on edit job and others
- CHANGED: Improve the display for LongText parameter at job level (DEV-545)
- BUG: popup to reject misplaced
- CHANGED: hide parameter columns in Invoice/Quote if values are empty
- CHANGED: hide received date in Invoice/Quote if values are empty
- BUG: SQL error in batch report if case record is off
- BUG: API POST: update multiple values in parameter multiselect didn't work
- BUG: fatal error on save quote with categories
- ADDED: improvements to module results sync
- ADDED: labgraph integration

--- v4.0914 15/11/2024

18-20/11/2024
- BUG: first validator name displated as 1 in signature report tag
- CHANGED: hide column Equipment in batch report if it is empty
- CHANGED: hide column Discount in Invoice/Quote if it is 0
- CHANGED: LSMRemote: support download result files with ñ in file path in windows
- CHANGED: improve extension detection on upload file
- ADDED: allow customize sample type label
- ADDED: group by category in batch list

--- v4.0915 20/11/2024

21-22/11/2024
- CHANGED: improvements in export criteria details (DEV-502 II)
- CHANGED: reduce number of ajax calls to improve performance
- CHANGED: integration EDI: if sample tag is out of the sample loop in results template, pick first sample
- BUG: Delete development files older than 30 days result parser
- BUG: integration EDI: fix replacement of tags {parameter.id_of_the_parameter}
- BUG: security fix XSS

25-29/11/2024
- CHANGED: avoid blank page in export criteria details (DEV-502 III)
- CHANGED: don't preload by default all job and sample parameters in results grid to improve performance
- ADDED: add buttons to toolbar to collapse and expand columns in results grid
- CHANGED: Exclude input parameters from matrix report tags (DEV-584)
- ADDED: Add an option to assign a quote to a user (DEV-546)
- CHANGED: exclude 'No category' from batch list group by Batch-Category
- ADDED: Add email, address and the preferred report option for the requester on Accept/Reject popup (DEV-558)
- IMPROVEMENT: Allow search on H section (order request) result parser
- CHANGED: don't load hidden backend parameters on results grids to improve performance
- IMPROVEMENT: Add Auditlogs on result parser
- CHANGED: remove redundent protocol & equipment grid in batch results
- IMPROVEMENT: add response from LSM to auditlogs result parser
- UI: colspan in test names in results grid
- CHANGED: compress size of results XML to improve performance

02/12/2024
- BUG: project list autocomplete didn't get more than 200 results
- BUG: job accept/reject in job list does nothing
- BUG: Save the message when it is retrieved from a file (Result Parser)
- CHANGED: update dhtmlxScheduler v.7.1.3
- BUG: Error generating tag when empty content is received (Tag maker)

10-13/12/2024
- BUG: Fix ASTM Biolis message parsing
- CHANGED: don't verify SSL in MPDF 
- BUG: LSMRemote: remove extra lines in export csv in samples grid with categories
- BUG: assign batch after select category row didn't work if job list is grouped by Job-Category-Sample
- BUG: LSMRemote: BOM characters for handle UTF-8 missing in samples grid export CSV
- BUG: LSMRemote: remove redundant column tests from import CSV headers template
- CHANGED: API POST: follow parameter decimals settings

17/12/2024
- CHANGED: Add support of Sample Barcode to Integration Parser
- ADDED: new setup to bring external content (DEV-354)
- BUG: LSMremote: expected date was not saved on submit order (DEV-606)
- ADDED: report tag for external content (DEV-354 II)

--- v4.0917 17/12/2024

- ADDED: add ##sample_type## to template url of external content 
- CHANGED: allow type on job default fields of type date (expected date, received date)
- CHANGED: fixes and improvements to results module (DEV-353 III)
- ADDED: select if calculate next test date on job validated or completed
- ADDED: to map test date and next test date on save to results module

--- v4.0918 20/12/2024
************** 2025 **************
07-10/01/2025
- BUG: external content was empty if dynamic values contain spaces
- BUG: an apostrophe in sample type blocked its deletion (DEV-666)
- BUG: issue with special characters when data are transfered from LSM to LC (DEV-656)
- BUG: automatic sample naming Y+autoincrement failed to created the XX-1 when the option set automatic name at receiving step is ON (DEV-667)
- CHANGED: preselect first item of external content dropdown
- BUG: LSMRemote: preselected tests in models are not preselected in grid mode if no tests columns
- BUG: Calendar view broken 
- BUG: fatal error saving invoices with categories and single tests mixed
- ADDED: LSMRemote: have a new option LAST YEAR in the date filter (DEV-675)
- BUG: bad display of greek letters in equipments dropdown
- BUG: new lots without expiration date missing in lots dropdown
13/01/2025
- ADDED: add Checksum disabling on ASTM integration Order response (DEV-294)

--- v4.0919 13/01/2025
13-15/01/2025
- ADDED: API GET: add a GET endpoint for protocols
- BUG: security fix (DEV-691)
- ADDED: API GET: Add costs/prices to API (DEV-382)
- ADDED: Add a new option "Preselected and restricted tests" in models (DEV-693)
- ADDED: Map the requester data into Project and Module/Addon automatic creation (DEV-597)

--- v4.0920 15/01/2025

- ADDED: Add an option to select tests for Results Scope Webhook (DEV-526)
- ADDED: Add model description swagger

--- v4.0921 15/01/2025
16-17/01/2025
- CHANGED: allow drag events in Calendar
- ADDED: add new options to deadlines setup to allow estimate dates also on job created or job accepted
- CHANGED: show quoted and requested jobs in Calendar (if have estimated dates)
- NEW: Manage new quote/invoice option: Conditions of payment (DEV-669)
- ADDED: API GET: add attribute free to API response (tag <assay>)

--- v4.0922 17/01/2025

20/01/2024
- BUG: fix invoice list (SQL error)

--- v4.0923 20/01/2025

21-22/01/2025
- ADDED: add the job status on quote/invoice list (DEV-724)
- BUG: invoice number was empty after manual status change change from quote to pending
- ADDED: option to choose when convert quote to invoice pending (DEV-723)

--- v4.0924 22/01/2025

- CHANGED: store job external content as base64 (DEV-354 III)
- ADDED: force to review external content before validate

--- v4.0925 23/01/2025

24/01/2025
- ADDED: Updated iCollector result parser to simplify "p" tag logic. The identifier is no longer mandatory; for example, p.2 is now valid instead of requiring p1.2
- BUG: Error deleting integration (DEV-703)
- UI: set default border color to textboxes in CRM>Invoices
27-30/01/2025
- BUG: button to schedule equipment didn't respond on Starting parameters
- CHANGED: disable job chart for jobs quoted, requested, on hold
- CHANGED: replace payment slider by multiple slider
- CHANGED: payment conditions is editable in invoice too
- ADDED: filter invoices list and job list by payment (DEV-669 - II)
- CHANGED: Added invoice option to result filter in getjobs endpoint (Swagger documentation)
- BUG: pricing > import CSV did nothing
- BUG: error creating invoices (DEV-723 - II)
- ADDED: prevent start job until prepayment is done
- CHANGED: optimize setup>projects page and load projects data by chunks
- ADDED: add quote/ invoice tags ##currency##, ##payment_conditions##, ##payment_status## (DEV-770)
- ADDED: display all status in invoice list (DEV-785)
- BUG: prevent error when dhtmlx library is not available (DEV-787)
- ADDED: improvements to partial payments (DEV-669 - III)

--- v4.0926 30/01/2025

31/01/2025
- ADDED: LSM: Add a new option "Test is approved" for save results in LC Module option (DEV-772)

03-04/02/2025
- BUG: samples list was empty in CoC if no sample parameters on report & on form
- CHANGED: allow select multiple values on parent parameter selection
- CHANGED: refresh automatically list of parent parameters and values after add/edit parameter
- BUG: parent parameter selection was not available in add Parameter
- CHANGED: Add an option to select assay/test instead of parameter in the ResultParser CSV (DEV-808)
- ADDED: to map sample name to custom field on save to results module

--- v4.0927 04/02/2025
05-06/02/2025
- BUG: fix parameters tag replacement in external content URL
- BUG: fix wrong detection of status displayed in setup>integrations 
- ADDED: get external content for each sample in the job
- ADDED: Add a new scope for webhook => "Integration" (DEV-710)

--- v4.0928 06/02/2025

07/02/2025
- BUG: Parameter position not displayed in mapping settings in the iCollector-ResultParser CSV
- ADDED: Trigger webhook iCollector-ResultParser (DEV-710)
- ADDED: support multiselect as parent parameter
10-11/02/2025
- ADDED: allow test to link an existing record via the LC icon (DEV-600)
- ADDED: add field external to test and allow filter

--- v4.0929 11/02/2025

12-13/02/2025
- ADDED: Added log messages for webhook iCollector-ResultParser (DEV-710)
- BUG: Error getting jobs id (DEV-710)
- BUG: job list field not visible with one group by (DEV-721)
- ADDED: display field external also in test list
- CHANGED: search by Name + Small Name on test list search by Name
- UI: CSS fixes on add parameter
- BUG: LSMremote: fix error caused by encoding issues in case record fields
- NEW: Add graphical options to display results on report (DEV-818)
- CHANGED: allow use code for parameter on iCollector-ResultParser CSV
- UI: Vertical tabs in home page dashboard removed
- ADDED: validation of external content in one shot (DEV-846)

17/02/2025
- ADDED: Tagmaker added line counter (DEV-851)
- ADDED: check job/sample mandatory parameters on batch start/complete
- CHANGED: When no header active, reduce PDF blank header (DEV-852)
- ADDED: TAGMAKER propose sample parameters (DEV-850)
- CHANGED: Support duplicated sample names on iCollector-ResultParser CSV
- CHANGED: update lang NO
- CHANGED: TAGMAKER propose job parameters (DEV-860)
- BUG: unable to edit test if WF template had accents
- BUG: missed {index} on Dynamic fields helper of Integration
- CHANGED: accept 0 in formulas of calculated parameters
- BUG: Tagmaker displaying wrong data for sample parameters (DEV-850)
- CHANGED: follow automatic sample name options on samples created as test result (DEV-869)
- CHANGED: added sample type as default field tagmaker (DEV-870)
- CHANGED: improve caption option now is possible add a default field tagmaker (DEV-870)
- CHANGED: Allow to hide test column tagmaker (DEV-870)
- CHANGED: Display table without test, just to display sample and/or job parameters tagmaker (DEV-870)
- ADDED: option to store external content as HTML or IMG

--- v4.093 20/02/2025

- CHANGED: adjust colspan of LongText parameters in report if there are columns hidden
- BUG: case record popup was empty if module has no custom fields
- NEW: In report templates make a list of available custom tags (DEV-853)

24/02/2025
- BUG: JS error in console after save parameter trying to refresh parent list
- BUG: message about mandatory parameters on batch didn't work properly
- BUG: fix in job list group by batch-test and test-status 
- BUG: fixes in results grid column selector
- CHANGED: fix display on results grid of values of multiple value list with character < or >
- CHANGED: improve ASTM integration Order message templating to support One-line order instead one by assay (DEV-294)

--- v4.0931 26/02/2025

27/02/2025
- BUG: remove UTF-8 BOM and double quotes iCollector-ResultParser CSV
- BUG: ensure no orphans rows on sum invoice total
- BUG: Error saving job and sample parameters iCollector-ResultParser CSV
- ADDED: Allow models to restrict sample type list
- CHANGED: make template tag autocomplete case insensitive
- CHANGED: add extra validation for parameters of type Date before save job/batch

--- v4.0932 27/02/2025

- CHANGED: fix display on results grid of values of multiple value list with character ,
- BUG: webhook with scope Results restricted to test still appears for jobs/batches without selected test
- CHANGED: update chartjs v4.4.4
- BUG: batch assignment issue when job list is grouped by category (DEV-720)
- UI: reduce top blank space in home dashboard
- ADDED: save in local storage the job list group by option and the last search (DEV-615)
- ADDED: save in local storage the page size of preferences

03-07/03/2025
- ADDED: add report tag ##started_date##
- BUG: fix prototype pollution vulnerability (DEV-691)
- CHANGED: API POST: don't convert text to number on parameters numeric with decimals
- BUG: Prototype pollution vulnerability (DEV-691)
- BUG: Error displaying preview export csv
- BUG: fix display of extra lines in invoices with discount
- CHANGED: invoices should not be mergeable if requesters are different (DEV-951)
- CHANGED: Change the default value of the requester filter (DEV-945)
- CHANGED: Allow multiple selection on operator filter (DEV-942)

10/03/2025
- BUG: exclude archived requesters on link user to requester
- BUG: the box for filter tests in protocol didn't filter on type
- BUG: improvements to extenal content validation
- BUG: Wrong timezone on audtitrail iCollector result parser
- BUG: Error when sending file as message iCollector result parser
- BUG: Message is being saved twice in the audit trail log
- BUG: fix on samples created as test result (DEV-869 - II)
- BUG: Tagmaker remove empty colmuns unit, phrase, criteria (DEV-971)
- BUG: Tagmaker print range when no parameter value (DEV-974)
- CHANGED: support not latin characters in literal text of calculated fields
- CHANGED: extend hl7encoder app to support all dotnet versions from 5 to 9
- BUG: fix on automatic sample name when the option set automatic name at receiving step is ON (DEV-667 II)
- CHANGED: prevent alert on models with tests preselected without sample type
- ADDED: On invoice page, allow to sort by requester (and more) (DEV-938)
- BUG: handle multiple same sample names on iCollector resultParser CSV
- ADDED: email template to manage subject (DEV-927)

--- v4.0933 13/03/2025

14/03/2025
- CHANGED: update chartjs v4.4.8
- ADDED: save entry in audit log when HL7 or EDI integration is saved
- CHANGED: added loader when getting preview export list jobs
- BUG: filters didn't show some options memorized on localstorage (DEV-615 II)

17-20/03/2025
- BUG: improve extra validation for parameters of type Date before save job/batch
- UI: make visible the icon to close dynamic fields pointer
- BUG: sample name was not kept on amendment if sample name is automatic based on dates
- CHANGED: now report submission protected by password accepts a third option 'Optional'
- BUG: error when no information on body tagmaker
- CHANGED: make datetime modifier #DT work for tags ##job_date## and ##job_end_date## in reports
- UI: put label 'No template' for empty option in templates dropdown
- BUG: Wrong validation empty tag tagmaker
- BUG: fix display of extra lines in invoices without code (DEV-1005)
- BUG: fix lines in report tag ##results_meter##
- BUG: save custom email template for first time didn't work
- BUG: contextual menu > open record sample failed
- CHANGED: open plants manager links on samples linked with plant manager entities 

24/03/2025
- BUG: job list load and export very slow if there are job and sample parameters in summary line
- BUG: JS error after modify value of parameter valuelist if the value is repeated
- ADDED: add report option to hide image parameters on results tables

--- v4.0934 24/03/2025

- CHANGED: remove latency in users list loading avatars at once instead of one by one (DEV-1004)
- BUG: fix error after save HL7 or EDI integration
- BUG: CoC sent by email on accept job was always landscape event if portrait was set in template
- ADDED: add tags ##job_number## and ##job_status## to Job Acceptance / Rejection email template
- BUG: fix in tags for sample parameters in EDI results file
- CHANGED: to map sample parameters to custom field on save to results module
- UI: wrong view in integrations if max number of integrations has been reached
- ADDED: add option to choose if job list memorize last filters or not
- CHANGED: integration EDI & HL7: ensure canceled samples are excluded from results message

--- v4.0935 26/03/2025

31/03-01/04/2025
- UI: improve the expand category link in job details
- CHANGED: show date of external content validation as soon as it is validated
- CHANGED: delete external content when job is rejected
- CHANGED: keep button to reject visible when a job cannot be approved due to a missing validation
- BUG: sample name was not kept on amendment when the option set automatic name at receiving step is ON
- BUG: sample type with apostrophe was not well mapped on automatic record creation
- BUG: fix saving project and modules mapping fields
- ADDED: option to hide units fields in results grids

--- v4.0936 01/04/2025

- ADDED: Add option for VAT/Tax per requester (DEV-1061)
- CHANGED: Modification in job status filter (DEV-943)
- CHANGED: allow sample follow up/cancellation in the group by JOB-CAT-SAMPLES view (DEV-964)

--- v4.0937 03/04/2025

- BUG: fix report issue with tags with accents since tags placeholder were added
- BUG: encoding issue when creating parameters with lang FR
- BUG: delete image from job custom parameter didn't work
- CHANGED: when parameter image has more than one image, show all in the report
- BUG: fatal error on click export to IIF
- BUG: calculation issue with exponential function (DEV-1083)
- CHANGED: add some translations missing in Accept/Reject popup
- UI: toolbar misplaced in lang FR
- BUG: Tagmaker remove empty columns unit, phrase, criteria (DEV-971)
- CHANGED: add new option parameters per row (DEV-971)
- CHANGED: not allow new requester add after license limit exceeded 110%
- CHANGED: add new graph system TagMaker (DEV-1018)
- BUG: fix issue getting webhooks list
- BUG: LSMRemote: import CSV failed if category tree is enabled
- CHANGED: improve performance of categories page
- CHANGED: add new option parameters per row to preview tagmaker(DEV-971)
- CHANGED: make easier the edition of sample types and categories linked to test
- CHANGED: parameters per row only takes into account parameters results
- BUG: Error when printing tag with no data in Tagmaker
- BUG: Incorrect display when parameter header is blank in Tagmaker
- CHANGED: extend length of Reason Code
- BUG: send report to EDI integration was enabled for all jobs
- BUG: fix filter by operator in job list (DEV-942 II)
- BUG: archived protocols linked to old jobs didn't appear in batch view

14-16/04/2025
- CHANGED: allow decimals in reagents default quantity
- UI: alignment problem with calc icon in preference>tests>results
- ADDED: Add multiple tag for address in report templates as in integration (DEV-1090)
- ADDED: New integration profile step every n columns (DEV-1094)

--- v4.0938 16/04/2025

17-18/04/2025
- ADDED: multiple samples AND tests in rows (DEV-1003)
- ADDED: Add IF function in calculated field (DEV-1077)
- BUG: Error when empty value tag
- ADDED: Improve help iCollector result parser

21-23/04/2025
- BUG: JS error after change parameter datatype from Multiple Choice to Valuelist
- CHANGED: improvements in IF function in calculated field (DEV-1077 II)
- BUG: add translation missed in parameter list
- BUG: unable to add or modify items of requester status list
- BUG: LSMRemote: print label was empty if big number of samples in the job
- ADDED: add second condition to IF function in calculated field
- CHANGED: fit to screen images on parameters of type Image
- CHANGED: modify help iCollector result parser
- UI: separate category names on view job popup

--- v4.0939 23/04/2025
24-25/04/2025
- BUG: security fix (DEV-173)
- BUG: fixes in IF function in calculated field (DEV-1077 III)
- BUG: fix report mode 'separate by sample then template'
- BUG: incorrect test code validation iCollector - RESULT PARSER CSV 
- CHANGED: forbid free text in dropdown list of test-parameters settings
- BUG: fix requester status autoincrement
- BUG: formulas with IF may break results grid
- BUG: Incorrect preview tagMaker 
- BUG: Remove canceled values tagMaker

--- v4.094 25/04/2025

28/04-02/05/2025
- CHANGED: integration EDI: if assay tag is out of the loop in results template, pick first assay
- ADDED: allow option to send accept/reject notification to secondary requesters (DEV-940)
- ADDED: option to preview report in HTML
- CHANGED: improvement of dependent calculation in LSM (DEV-1078)
- UI: put online pay link and online extra fee in same row in Costs page
- BUG: translations missing in invoice page
- CHANGED: update lang FR
- CHANGED: API PUT: apply criteria rules on job/sample modification 

05-06/05/2025
- CHANGED: don't validate external content until job is completed
- CHANGED: apply logic #D for date tags to ##signimage## tags (DEV-1114)
- BUG: issue refreshing in range/out of range colors if color is not set
- ADDED: Create a double patient condition for range rules (DEV-1140)

--- v4.0941 06/05/2025

- ADDED: add link to open job tracking on job popup
- ADDED: default Project code on Model (DEV-977)
- ADDED: allow preselect/unselect test in protocol details and keep this option on protocol duplication
- ADDED: add to Export the name of people who start/complete/validate the samples when Include test timestamps is on

--- v4.0942 06/05/2025

07/05/2025
- ADDED: Button to duplicate Parameter
- CHANGED: keep job creator id and don't overwrite on modification
- UI: limit the Default Project code list on Model (DEV-977)
- BUG: colors missing for processing parameters in manage>validations
- UI: calendar popup goes out of page if it is last column in grid
- BUG: fix Manage>Validations hung up if there are external content

--- v4.0943 07/05/2025

08-09/05/2025
- ADDED: Add 3 colors system for ranges (DEV-1017) and phrases
- ADDED: Option for no highlight values out of criteria in reports
- CHANGED: Meter style basic/advanced
- BUG: fix JS error in template page due to conflict with LC layout
- BUG: add advanced graph result tagmaker

--- v4.0944 09/05/2025
12/05/2025
- ADDED: iCollector parser CSV add new option results on columns (DEV-1134)
- BUG: Error handle Regex option iCollector parser CSV
- BUG: iCollector parser CSV duplicate values
- CHANGED: improve advanced meter to make color limits dynamic

--- v4.0945 12/05/2025
13-15/05/2025
- CHANGED: Add configuration to allow empty values iCollector result parser 
- CHANGED: improve advanced meter to adjust to PDF/A
- BUG: prevent warning when no option display unique value caption Tagmaker
- BUG: Incorrect display criteria and graphical result Tagmaker
- BUG: fix size and position of meter dynamic tag
- BUG: improve performance iCollector parser CSV
- ADDED: if multiple criteria, phrases mapping for each (DEV-1066)
- ADDED: multiple Qlowphrase and Qhighprase per criteria too

--- v4.0946 15/05/2025

16/05/2025
- BUG: Fix warning result parser iCollector
- BUG: LSMRemote: adapt colors alert to new 3 colors system
- BUG: fix fatal error updating protocol file
- BUG: non initialized var might affect report saved in Docs module
- UI: improve the layout of template options in FR
- CHANGED: LSMRemote: remove warnings in apache log
- CHANGED: not to apply decimals to calculated parameters with Decimals = No

--- v4.0947 16/05/2025

- 20/05/2025
- BUG: searchable job parameters with values with breaklines caused error in job list
- CHANGED: external content can be linked to multiple tests

--- v4.0948 20/05/2025

21-23/05/2025
- BUG: swagger error displaying modules icons
- BUG: fixed decimals of calculated field didn't work if it was 0
- BUG: fix JS error on batch pages if test name contain apostrophe
- CHANGED: add Xero export invoice csv

27-28/05/2025
- CHANGED: add additional mapping iCollector parser CSV
- CHANGED: add field separator to preview CSV export

02-05/06/2025
- BUG: send report to HL7 fails
- BUG: API POST: optimize dependent fields update and prevent out of memory
- CHANGED: add test additional data to tagMaker
- CHANGED: Allow put additional data test as row tagmaker
- IMPROVEMENT: Allow to have non-validated job results in control chart (DEV-1138)
- BUG: wrong display of sample type option selected in setup > projects
- BUG: infinity loading tagmaker after add additional data parameter 
- CHANGED: enlarge field unit of parameter
- BUG: phrase with text null after new phrase per criteria feature
- CHANGED: improve upload multiple images to job parameter of type Image
- BUG: fix assign batch when job list grouped by job-category-sample

09-13/06/2025
- UI: improve view processing parameter popup
- BUG: fix visibility of button Export invoices
- BUG: unable to write text after tag autocomplete on report tag
- CHANGED: Add width, height and font size unit Tagmaker
- BUG: Error loading tag on tagmaker
- CHANGED: when job is amended, the accepted date should not change (DEV-1199)
- CHANGED: Added process parameters in Tagmaker
- BUG: integrations: fix double scape of apostrophe in case record fields
- CHANGED: On Add job to have case record find on extra fields (DEV-1215)
- CHANGED: support field type Phone in attached modules
- CHANGED: added new option group by parameter name tagmaker 

16-17/06/2025
- CHANGED: improvement of dependent calculation in LSM (DEV-1078)
- BUG: JS error on edit job with lang FR and parameters of type Image
- BUG: JS error on save parameter valuelist after copy/paste values with carriage return
- BUG: fix mapping of sample type with accents on automatic record creation
- BUG: fix display of job creator on jobs created through LSMRemote
- CHANGED: Add new option Include QA/QC samples Tagmaker

--- v4.0949 17/06/2025

18/06/2025
- ADDED: new report tag for sample count (DEV-1230)
- ADDED: API GET: add test small name to response
- ADDED: added small name validation iCollector Result parser
- ADDED: add ##requester_address## and more tags to emails templates for send reports or invoice (DEV-1240)
- ADDED: include QC/QA to iCollector Result parser
- ADDED: add SPLIT function iCollector Result parser
- BUG: error when column sample name doesn't exist iCollector Result parser
- ADDED: Creation of QC Report on Demand (DEV-1236)
- BUG: fix error on adding parameter with @ to test
- ADDED: Phrase value with IF conditions (DEV-1239)

23-26/06/2025
- ADDED: new tag for test previous date (DEV-1231)
- BUG: next test date was empty after validate batch or full job
- BUG: fix SQL error on job list group by category if deviation module is enabled
- BUG: Correction popup truncated
- ADDED: new option one job per file iCollector result parser CSV

--- v4.0950 26/06/2025

27-30/06/2025
- BUG: Fixed error when printing tags caused by invalid parameter key names (e.g., `115-P`) being interpreted as named arguments in PHP 8+.
- UI: replace Find icon in job list toolbar
- ADDED: Organize and pass specialties to tagmaker (DEV-1245)
- ADDED: add a caption to the tagmaker call (DEV-1244)
- BUG: fix save blocking options of checkbox parameters 
- BUG: fix notifications to operator on job creation
- BUG: Prevent error when SpecialtyName is null by adding proper null handling
- BUG: automatic assignment of phrase stopped working for calculated fields
- BUG: Duplicate custom tags in tagmaker caused by a missing reset of an internal variable before tag generation.
- ADDED: Make export preview sortable (DEV-1254)
- CHANGED: prevent import category + test with same name on new job import
- CHANGED: don't use single quote on replacement of numeric values on formulas of calculated fields to avoid unprecission
- BUG: fix error on calculated fields if decimals options is conditional
- BUG: results were not exported on job list if option Only selected jobs was selected
- BUG: incorrect display group by result header name (Tagmaker)
- BUG: handle print when select "group by result header name" option when no result parameters selected (Tagmaker)
- BUG: error handle null values (Tagmaker)
- BUG: Validate intersection between provided assay IDs and those in tag configuration; return empty if none match (Tagmaker)
- CHANGED: strip htmml tags from LongText parameters on job list export CSV
- CHANGED: fix conflict with report tag ##case_dob## if record dob is not set in case record settings
- CHANGED: improvements in case record field to scan and select
- CHANGED: improvements in attached module field to scan and select
- ADDED: new tag for test previous date (DEV-1231 II)
- CHANGED: improvement in order of dependent calculation fields when results and processing parameters are involved

07-10/07/2025
- BUG: JSON reading error caused by special characters in Tagmaker.
- UI: wrap job number of merged invoices 
- CHANGED: prevent merge invoice with only one invoice selected
- BUG: Merged invoices missing in Requester's Invoices tab (DEV-1286)
- BUG: fix automatic sample name Job number + autoincrement (3 digits)
- UI: reduce font size of tab titles in admin pages 
- CHANGED: don't remove decimals of invoice amount on Requester's Invoices tab
- CHANGED: forbid delete a category if it is in use
- BUG: fix avatar width for custom images
- UI: LC6.30 compatibility 
- CHANGED: don't hide invoice detail lines of deleted categories
- BUG: fix invoice total in case of invoice with mix of categories and tests and total categories is same as total tests
- BUG: fix PHPSESSION path on login
- UI: adjust border in assay layer popup
- ADDED: new function with TEST result type = Sample (DEV-1278)

--- v4.0951 11/07/2025

- CHANGED: add subnumbering to subsamples with not automatic name
- CHANGED: subsamples are automatically set as received on creation
- BUG: fix misplaced tests info in last line of CoC
- BUG: encoding issue in test popup
- IMPROVED: some optimization on Jobs-Samples-Tests-Parameters export

15-16/07/2025
- BUG: security fix - potential XSS
- UI: fix lang for correct button
- BUG: LSMRemote: status is Canceled only if all tests are cancelled
- CHANGED: hide token in job popup if case record is OFF
- BUG: job parameter with option 'block complete' enabled did not block
- BUG: order output by sample id asc (tagmaker)
- BUG: Remove multible head table (tagmaker)
- ADDED: Option to activate urgent alert on result save (DEV-1060)
- ADDED: connect LSMRemote to the SSO of LabCollector (DEV-240)

--- v4.0952 16/07/2025

17-18/07/2025
- UI: center specialties popup on screen
- ADDED: add dynamic tags for case record date created and attached module date created
- ADDED: Add a new tag report to indicate the criteria description (DEV-1303)
- BUG: jobs could be validated without external content review
- BUG: fix issue with case record extra fields on edit or amend job
- UI: enlarge correction popup
- UI: better handle of reason popup on restart job 
- CHANGED: generate invoice on job validation if it does not exist (because invoice event changed) (DEV-1301)
- BUG: Tag editing page remains in a loading state when no parameters are available for the selected test
- BUG: Save button remains in loading state indefinitely
- CHANGED: Default "Non-Conformity Alert" email updated
- BUG: LSMRemote: import CSV caused error when hide_priority = true
- BUG: fix issue in export CSV of completed batch
- BUG: LSMRemote: report header missing in not-first pages

21-22/07/2025
- CHANGED: large optimization of Jobs export
- ADDED: add functions GREATEST and LEAST to calculated fields
- UI: improve modal preview export csv
- BUG: map requester on automatic record creation failed if dbprefix is not standard
- CHANGED: LSMRemote: allow edit orders also on grid mode

--- v4.1 22/07/2025

23-24/07/2025
- BUG: security fix (DEV-1269)
- ADDED: LSMRemote: Integrated camera scanning for barcodes using zxing-js
- ADDED: select AND/OR in calculated parameters with double condition
- BUG: grid of processing parameters of type file/image didn't open popup to upload
- BUG: fix on automatic calculations when result value is a string
- ADDED: Add a button to lock edition on results template (DEV-1330)
- UI: DS2 improve test selection input
- CHANGED: Improve Merge invoice and add undo action (DEV-1268)
- CHANGED: Invoice to follow amended/linked jobs (DEV-540)

--- v4.101 24/07/2025

25/07/2025
- UI: change iCollector result parser UI
- ADDED: Auto resize textarea on DHTMLX forms (DEV-1273)
28-30/07/2025
- CHANGED: convert requester field Tax Rate into select list of valid tax rates
- BUG: fix JS error on test edit adding a second parameter to processing parameters tab
- UI: LC6.30 compatibility - borders
- BUG: fix small issue when criteria has ampersand in view/add/edit parameters on test
- BUG: can't update calculated (IF) parameter if there is condition with text (DEV-1337)
- CHANGED: disable QA/QC PDF option is the sample is not marked as QA/QC (DEV-1236 II)
- BUG: fix JS error adding criteria rule with only one condition
- BUG: Add support of very large job-Sample-Assays parameters count to Jobs Export
- CHANGED: Add support of selecting all Tests by selecting a Category on Jobs Export (DEV-1334)
- CHANGED: improve logic of merged invoices (DEV-1268 II)

--- v4.102 30/07/2025

- CHANGED: move invoice watermark to all pages

04-06/08/2025
- BUG: fix JS error on open job contextual menu on job list after validate
- BUG: fix interference in attached module option list when there are 2 or more in new job form
- ADDED: option to disable bulk report on batches

--- v4.103 06/08/2025

- CHANGED: don't pass unit if it is not set in iCollector result parser CSV
- BUG: LSMRemote: fix small issues in helper text of case record fields
- ADDED: sample parameters Valuelist support default value
- ADDED: Add the possibility to use SAMPLE & JOB parameters in Calculated parameter (DEV-1084)
- ADDED: LSMRemote: Add model to import CSV of multiple jobs (DEV-1355)

11-13/08/2025
- CHANGED: job protocols can be changed even if job has already started (DEV-1300)
- BUG: prevent error on report if bad data in attached module field
- BUG: column Method was empty in custom tags created with tagMaker if protocol is linked with equipment
- ADDED: Allow the selection of multiple criteria when the job is started (DEV-1257)
- ADDED: option to choose ownership in records created from LSM (DEV-1350)
- ADDED: Add LOQ/LOD values when exist on report (DEV-1258)
- BUG: fix issue with missing numbers in automatic sample name based on dates after restart or rename (DEV-1198)
- ADDED: add validation for attached modules value in job form
20/08/2025
- BUG: Error starting job parameters
- ADDED: Display QA/QC Parameters on QA/QC Report (Tagmaker)

--- v4.104 20/08/2025

21/08/2025
- BUG: The job level parameters do not appear on the invoices
- BUG: The invoice has incorrect header and footer
- ADDED: Phrase-only option now applied in Tagmaker (DEV-1367)
- BUG: fix DB upgrade
- ADDED: LSM + LSMRemote : Option to extended Case record unicity (DEV-1373)

-- v4.105 22/08/2025

25/08/2025
- ADDED: Added option to hide/show LOQ/LOD
- ADDED: Added options LoD/LoQ TagMaker (DEV-1370)  

01/09/2025
- BUG: Missing field on configuration table
- BUG: incorrect assay order on tagmaker 
- BUG: fix blocking red message about prepayment on batch

-- v4.106 01/09/2025

02-05/09/2025
- BUG: ensure units are not displayed if value is empty in report dynamic tags
- UI: missing translations in batch assign popup
- BUG: fix some warnings on API and internal XML Job getting
- BUG: API: method getAssayList returned sample type description, storage info and handling conditions empty
- BUG: API: method getJobList returned invoice date issued empty
- UI: fix result grid headers cut
- CHANGED: issue adding values to parameter valuelist if valuelist was empty
- BUG: issue adding criteria to test
- CHANGED: added case record and attached module to Tagmaker
- CHANGED: rename option "allow empty" to "Overwrite with"
- ADDED: Save button without move one on starting params
- ADDED: Accept/reject - allow to access starting params to save them
- ADDED: Acept/reject - be able to open a non conformity record from there
- BUG: LSMRemote: view job show default model instead of job model
- ADDED: LSMRemote: import secondary requesters in import CSV
- BUG: uncheck protocol without equipment was not saved on saving results/completing sample
- CHANGED: don't refresh form after delete job image
- ADDED: add shipment data to mapping fields to results module (DEV-1399)

08/09/2025
- CHANGED: report dynamic tags for attached module support now short code or label case insensitive
- ADDED: Add the possibility to define a default secondary requester (DEV-1366)
- BUG: fix visibility of deviation button on accept/reject popup
- ADDED: Make option to have header/footer per team (DEV-1346)

-- v4.107 08/09/2025

09-12/09/2025
- BUG: prevent server alerts tagmaker
- CHANGED: reduce memory use in report to avoid memory exhausted fatal error in very big jobs
- UI: fix issue with z-index and ckeditor full screen
- CHANGED: simplify the Jobs list export to CSV to avoid too heavy Browser memory usage
- BUG: edit header template duplicated template
- UI: fixes in popup to set received date on start sample/batch
- NEW: contextual menu in processing parameters grid to spread value to other tests or samples
- BUG: fix security issues
- BUG: LSMRemote: category id of new jobs were not saved
- BUG: job number was empty in joblist export CSV 
- BUG: fix security issue on events manager
- ADDED: API GET: filter by enddatefrom and enddateto
- BUG: integration EDI: fixes in output message (protocols and results) for jobs with only one sample

15-19/09/2025
- CHANGED: BOM characters for handle UTF-8 missing in new job list export
- BUG: autocomplete case record list sort by name was lost
- BUG: clear button didn't clear sample type selection in job list filter
- CHANGED: apply recent memory improvement of report to invoices
- ADDED: add tag ##samples_line## to invoice/quote templates
- ADDED: contextual menu in new job samples grid to spread value to other samples
- ADDED: Add Project Code to export and Summary line on Invoices (DEV-1298)
- BUG: remove double encoding in attached modules header in job list export
- CHANGED: convert html entities in new job list export CSV
- CHANGED: LSMRemote: Avoid error on pagination when session has expired and redirect to login page
- CHANGED: prevent NaN in invoice line if fix price or hourly price is is empty replacing by 0
- CHANGED: LSMRemote: fix problem with case record select in tablet/mobile
- CHANGED: support invoice prefix empty
- BUG: bring back lost tags ##test_name## and ##test_code## to results report
- CHANGED: LSMRemote: add filter to secondary requesters
- BUG: fix query error when certain use cases of assigning batch
- CHANGED: accept test code and small name and category code in samples import

22-24/09/2025
- ADDED: invoice labels customizations
- CHANGED: add test/category on select and remove buttons (DEV-1472)
- ADDED: report tag ##received_by##
- ADDED: add tat, end_date and test_duration to mapping fields to results module (DEV-1399 II)
- CHANGED: check code before name on import CSV in pricing page 
- ADDED: Refresh Protocols list for pending/started jobs (DEV-1423)
- ADDED: Add new fields to models for QC samples (DEV-1281)
- CHANGED: exclude archived tests from criteria details
- CHANGED: improve iCollector result parser CSV new method, allow multiple parameter positions for same assay

-- v4.108 24/09/2025

25-26/09/2025
- BUG: API POST: automatic phrase for processing parameters didn't work
- CHANGED: don't download protocol file if linked to doc without associated file 
- ADDED: extend periodicity given by parameter to sample parameters
- CHANGED: authentication mode must be visible in user details if SSO is enabled
- BUG: LSMRemote: fix append samples to existent job

29/09-01/10/2025
- UI: move CRM tab to first position in requesters
- LSMRemote: fix never ending loading in some models with automatic samples
- CHANGED: license limit logic with spiking sample
- CHANGED: improve indicator of qc samples created automatically with model (DEV-1281 II)
- ADDED: LSMRemote: accept pass job parameters values by querystring on job creation
- CHANGED: LSMRemote: add missing querystring parameter projectID when grid_multiple_samples = true
- BUG: upload images in templates for LongText parameters
- CHANGED: make links clickable in ckeditor read-only
- ADDED: default value for parameter long text templates
- CHANGED: LSMRemote: show read-only parameters in LSMremote new form if they have a default value (DEV-1474)
- CHANGED: LSMremote: if parameter longtext is readonly then show as div

-- v4.109 01/10/2025

- ADDED: integration EDI & HL7: Add {job.expecteddate} as default tag
- UI: suggested expected date overlapped

02/10/2025
- BUG: Incorrect display of parameters in iCollector result parser
- CHANGED: LSMRemote: add quotation marks to property 'title' to support exclamation mark and other special characters
- ADDED: LSMRemote: add new property patient_recover_qr_code
- UI: move CRM tab to first position in requesters (also in edit mode)
- BUG: ensure send report use centralized functions and supports oauth
- ADDED: Added new integration External Lab
- CHANGED: wait all ajax request finish before save results to ensure calculated fields have latest values
- ADDED: API GET: add protocols info
- ADDED: increase field size for cost priority

-- v4.11 03/10/2025

06/10/2025
- BUG: Error retrieving integration configuration fields: iCollector result parser
- BUG: Error getting jobid DS2 integration
- CHANGED: fix tag ##samples_line## for merged invoices
- ADDED: add tag ##tax_rate## to invoices
- BUG: fix update labels customizations
- ADDED: Prepared new fields for stability tests integration
- BUG: Fixed charts configuration retrieval
- ADDED: Can now create trending chart by job
- CHANGED: LSMremote: support new fields for stability test integration

-- v4.111 06/10/2025

07/10/2025
- CHANGED: add test code to range rules display
- CHANGED: fixes in header/footer per team (DEV-1346 - II)
- ADDED: new option in trending charts to show linear fit
- ADDED: Add a config to setup a specific sample type and test to a sample in Model (DEV-1489)

-- v4.112 07/10/2025

- ADDED: LSMremote: link to download report from stability test manager
- BUG: when a sample has some tests canceled all sample row was crossed out in validation page

08/10/2025
- BUG: Sample type in Model becomes blank
- ADDED: Added support for automatic sample configuration model
- BUG: Incorrect assay selection when using combobox in model
- NEW: new job chart for stability test manager
- BUG: Items not shown when filtering by selection (Tagmaker)
- CHANGED: improve mapping of parameters creating automatic records on LC modules

13-17/10/2025
- CHANGED: FR invoice status labels
- BUG: ASC/DESC button create an error on invoice list (DEV-1506)
- CHANGED: invoice list sorted by job number desc by default
- BUG: after assign batch and select one job, previous job appears checked too
- ADDED: Add print labels option in batches
- CHANGED: fixes in header/footer per team (DEV-1346 - III)
- CHANGED: improve mapping of parameters creating automatic records on LC modules (II)
- ADDED: 2FA login support on LSMRemote (DEV-1372)
- BUG: prevent fatal error opening module form
- ADDED: Add result parameter tags in the body of the non-conformity alert email (DEV-1514)
- BUG: LSMRemote: fix LongText parameters in submit order

17/10/25
- BUG: Parameters not loading when assays selected
- CHANGED: Automatically insert the issued date when the invoice status turns from pending to issued and block the status back (DEV-1505)
- ADDED: format number in invoices - option to choose decimals (DEV-1484)
- ADDED: format number in invoices - option to choose decimals separator and thousands separator (DEV-1486)

-- v4.113 17/10/2025

- ADDED: add icon to re-sync user in import LabCollector users popup and indicate visually if login is unmatched
- ADDED: EDI integration now support the Unidirectional IN (Order message ORM) mode
- BUG: bring back dynamic tags for job parameters in CoC and Invoice
- CHANGED: add new invoice format number also to Hourly Price and Fixed Price
- BUG: LSMremote: top menu does not work after submit an order in single mode
- UI: LSMremote: fix text overlap after job submision in mobile phone

20-23/10/2025
- ADDED: Added new option iCollector result parser, allow select Assay and parameter on mapping
- BUG: No parameters are displayed because the group by parameter was incorrect
- UI: improve range rules readability with some nowrap
- CHANGED: add job_number to mapping of parameters creating automatic records on LC modules
- ADDED: Add support of Patient DOB and Gender on HL7 Order sending
- CHANGED: exclude archived tests from parameter details
- ADDED: Added multicriteria tagMaker (DEV-1257)
- ADDED: Added input parameters tagmaker
- CHANGED: adapt report tags ##test_criteria_label## and ##test_criteria_description## to multicriteria
- CHANGED: fixes in requester Notes editor + add button to save
- CHANGED: allow use long text parameter templates on test settings
- ADDED: added tagmaker tags to CoC reports 
- BUG: fix saving target and range phrases for processing parameters in test settings
- ADDED: add the general calculation option on BATCH view (DEV-1356)
- BUG: automatic qc samples from models were added again on edit
- CHANGED: CSV import to add not replace on add job + keep model QC samples at bottom (DEV-1545)
- BUG: display bug in memorized searches in job list filter
- ADDED: new option for sample name prefix in model definition (DEV-1546)
- BUG: fix headers/content columns mismatch on job list export if exist attached modules not enabled
- ADDED: add secondary requesters to job list export CSV (DEV-1467)
- CHANGED: convert model and category field into multiselect in job list filter (DEV-1553)
- CHANGED: FR status label (Assigned - À démarrer)
- ADDED: add project code to summary line (DEV-1299)

27-29/10/2025
- CHANGED:  add test code to criteria values tab
- BUG: fix conflict with date validator for test parameters of type Date or Datetime
- BUG: Duplicated samples when a category and test are used (DEV-1476)
- ADDED: full charts view now filters on job name, can be loaded in popin mode
- ADDED: add a popup confirmation IF some samples already in a batch (DEV-1551)
- CHANGED: LSMremote: import CSV, issue with duplicate blocking (DEV-1463)
- BUG: conflict on case record select fields with numeric values
- UI: replace alert by message without user action after job deletion in job list
- CHANGED: LSMremote: don't show icon to download report if result template is empty (DEV-1462)
- CHANGED: exclude from automatic report submission if result template is empty (DEV-1462)
- ADDED: add project code to job list export CSV (DEV-1299)
- CHANGED: LSMRemote: conditional parameters in grid mode
- ADDED: List the deviation records (DEV-1510)

-- v4.114 29/10/2025

30-31/10/2025
- BUG: restart job and add new tests created tests without results
- CHANGED: modify report labels ##test_criteria_label## and ##test_criteria_description##
- ADDED: add report tag ##deviation_records## (DEV-1510)
- CHANGED: reduce slowness on edit job improving the handling of tests duration data
- UI: improve red alerts

03-05/11/2025
- BUG: fix error on add requester
- BUG: fix error saving parameter long text template
- BUG: files of tests with result type as File were not attached to requester report email
- CHANGED: XSS fix in charts (DEV-1570)
- UI: fixes in print kit label
- CHANGED: refresh calculated fields dependent on phrases automatically
- CHANGED: Make the preview of the expected date clickable to put the value in the field (DEV-1531)
- ADDED: add icon to joblist toolbar with tooltip about Ctrl+click info (DEV-1552)
- CHANGED: improve Non-conformity alert screen (DEV-1509)

-- v4.115 05/11/2025

05-06/11/2025
- BUG: ensure calendar object is detached on invoice fields not editable
- ADDED: new report tag ##test_criteria##
- ADDED: integration EDI: add new tags for output template (DEV-1557)
- BUG: LSMRemote: bring back compatibility with PHP7.4
- BUG: fix error on setup if lang didn't exist in plants manager
- BUG: fix import CSV on preferences>categories
- NEW: Option to have more Priority Levels (DEV-1492)

-- v4.116 06/11/2025

- CHANGED: remove automatic sample comment for automatic QC samples
- CHANGED: force sort sample list by Sample Number on job view/edit
- BUG: fix button to view attached record
- BUG: report tags for processing parameters were empty if no criteria
- BUG: correction on calculated fields based on phrase with empty phrase

10-12/11/2025
- CHANGED: LSMremote: use model in Import CSV > get CSV headers
- BUG: duplicate barcode verification was not performed if the job name was automatic
- BUG: fix eventual duplicated criteria
- UI: improve navigator buttons
- BUG: fix JS error on button reject when job has unchecked blocking fields
- ADDED: Add an option to define default email addresses in the NC template (DEV-1530)
- NEW: Add a CSV to chart parameter type (DEV-1573)
- ADDED: Share report token to other additional contacts (DEV-1577)

-- v4.117 12/11/2025

13-14/11/2025
- BUG: integration EDI: tags not replaced in output message
- CHANGED: ensure unique name for scheduled tasks
- CHANGED: add case record name to results report PDF file name
- BUG: fix on report templates: text between 2 tags get fused as a big tag in ckeditor
- CHANGED: support conditional with operator concat in calculated fields formula

17/11/2025
- CHANGED: support date modifier on case record and attached module dynamic tags
- BUG: QAQC Samples were hidden (tagmaker)
- BUG: billing information not updated on edit requester if requester was created through integration
- ADDED: new report option for no replace value out of limit
- ADDED: new report option for no overwrite tag values 

-- v4.118 17/11/2025

18/11/2025
- ADDED: HL7 Order querying integration now supports Query and Response ControlID
- BUG: fix on add user signature image (empty var after save)
- CHANGED: avoid calculation trigger on fields with empty parameters (DEV-1580)
- CHANGED: API: support calculated fields with phrase in API (DEV-1581)

-- v4.1181 18/11/2025

- BUG: LSMremote: fix on select all checkbox after delete row
- ADDED: increase test prices per requester based on a rate (DEV-812)
- BUG: prevent recurrent warnings in apache log
- ADDED: keep a history with requester cost changes (DEV-812)

-- v4.1182 19/11/2025

- BUG: category name with & broke category list on test settings
- BUG: samples list filter not working properly if requester name empty
- UI: view truncated on parameter calculated conditional
- BUG: notification to operator didn't work if case record off
- CHANGED: add help and tags to notification operator
- ADDED: integration EDI: add new tags for output template (DEV-1557)
- BUG: issue refreshing calculated fields when results depend on processing and results at same time
24-27/11/2025
- BUG: fix headers issue in report tags results_merged in Preview
- CHANGED: add test code to workload charts setup
- BUG: Incorrect display when using "-" as value (TagMaker)
- BUG: integration EDI: fix issue in parameter loop when only one parameter
- BUG: LSMRemote: notification to operator was not sent 
- CHANGED: set Non Confirmity Alert unchecked by default
- UI: use lang selected in import users popup headers
- CHANGED: Improve iCollector - RESULT PARSER to allow use parameter position to compare with parameter
- CHANGED: fix on calculated fields with sample parameters of type text
- CHANGED: use the group in requester logic to create a group of secondary requester that main requester can select (DEV-1517)
- BUG: fix secondary requester repeated on export CSV
- CHANGED: button 'Home' in top bar must open dashboard even if job list is set as home page in setup
- CHANGED: on quote, show the category first then individual test (DEV-1559)
- BUG: integration EDI: fix issue in parameter loop when multiple parameter
- UI: LC6.30 compatibility - top menu
- BUG: fix JS error on results page if parameter numeric with OnSampleDetails unchecked

-- v4.1183 27/11/2025

01/12/2025
- BUG: fix error on click invoice after edit and save
- BUG: Fixed unsaved control chart configuration
- UI: hide optional tabs by default in dashboard
- UI: show requester company in last new jobs
- CHANGED: unify margins in report PDF (download vs email)
- CHANGED: ensure empty values are not saved as 0 on save results to module
- BUG: fix search by sample parameter in pending samples list & ongoing samples list
- CHANGED: include phrases of multiple criteria in result history

-- v4.1184 01/12/2025

02-05/12/2025
- CHANGED: prevent error if case record has custom fields with name empty
- CHANGED: API: use general calculation to refresh calculated fields in right order
- ADDED: LSMremote: Add an option to have the expected_date mandatory (DEV-1586)
- BUG: fix on list of values on edit parameter valuelist
- UI: change grid hover color
- CHANGED: modify CSP in login page to avoid error on SSO redirection
- BUG: LSMremote: fixes in send patient qr code
- CHANGED: improve CSV export to add double quotes to each cell text (M6377)
- CHANGED: LSMremote: improve CSV export to add double quotes to each cell text (M6377)
- ADDED: support multilang on category name and prepare system to have more fields as multilang (DEV-758)

-- v4.1185 05/12/2025

09-11/12/2025
- CHANGED: allow staff edit completed jobs if option to allow staff validate is ON
- CHANGED: ensure job list is refreshed after restart job
- UI: fix camera icon misplaced on edit job
- UI: avoid scroll on view job with long text fields
- CHANGED: API: add requester taxRate to getRequesterList, createRequester and updateRequester
- ADDED: API GET: and Xero format to getInvoiceList
- ADDED: XML EDI to have all billing data in output (DEV-1616)
- ADDED: support multilang also on test/category/protocol/sampletype/parameter description (DEV-758 II)
- BUG: archived jobs contextual menu had enabled the shortcut to results
- BUG: support View Online on reports created by LSM in Documents module

-- v4.1186 11/12/2025

- UI: add spinner on main calc trigger
- ADDED: add job comment templates
- BUG: fix fatal error generating PDF of canceled invoices
- BUG: fix php8 error in export2quickbooks
- CHANGED: exclude requester group empty of the new logic for secondary requesters (DEV-1517 II)
- ADDED: add link to job comments in all job pages
- CHANGED: don't exclude 'en' from multilang system on test/category/protocol/sampletype/parameter 
- BUG: small fix on filter by report date
- CHANGED: don't refresh job list after save results if status didn't change 

16-17/12/2025
- BUG: add/edit requester didn't save models
- BUG: fix issue saving protocols
- UI: round icons and breadcrumb
- UI: fix border radius
- BUG: accepted date was not saved in job history

-- v4.1187 17/12/2025

- BUG: fix starting parameters if criteria contains &
- CHANGED: keep break lines in protocol description in report tag ##protocols##
- BUG: fix on create parameter popup from test
- ADDED: report tags matrix param with footer
- CHANGED: add multiple tests to range at once
- BUG: API: merged invoice didn't appear in API GET default method getJobList
- BUG: support calculated fields with phrase in batches

22/12/2025
- BUG: Incorrect Job Export preview

************** 2026 **************

08-09/01/2026
- BUG: default secondary requester select list on setup was limited to 200
- BUG: new records in attached module had empty owner instead of attached module default owner
- BUG: fix JS error on manage starting parameters if protocol list is empty
- BUG: Incorrect TagMaker printing when both Range and Phrase are empty, and the display empty is set to Active.
- CHANGED: on setting a model as default, unset previous default
- BUG: Incorrect display loading test on model change
- BUG: prevent criteria with same name is linked to test

12-16/01/2026
- BUG: fix encoding saving or editing records of attached modules
- CHANGED: models optimization - replace sample type list
- CHANGED: export job samples CSV has sample type label instead of id now
- BUG: Resolved a bug where submitting the "Save & Complete" action triggered a non-conformity notification with empty or incomplete results.
- CHANGED: if option to attach CoC to acceptance notification is enabled, attach CoC on reject and hold status too
- ADDED: add case record to mapping fields to results module 
- BUG: import section was repeated in new job form with models
- CHANGED: models optimization - replace tests and categories list
- CHANGED: remove all test criteria data on unlink criteria from test
- CHANGED: increase size of description translations
- ADDED: extend tooltip about CTRL+click info to samples list and new job page
- BUG: fix error on switching lang on template headers
- CHANGED: models optimization - add/delete tests on add/delete category

-- v4.1188 16/01/2026

19-21/01/2026
- UI: fit calendar size if LabCollector sidebar is enabled
- UI: keep weight of icons of LabCollector searchbar (menu position Top)
- CHANGED: ensure LSM tab on LC modules works even if Zerofill is enabled
- ADDED: add dynamic tags for parameters to Job acceptance /rejection email template
- BUG: security fix about path traversal
- CHANGED: don't lose previous screen on follow link to unlock job for completion or validation
- ADDED: option to hide phrase fields in results grids
- BUG: fix issue selecting criteria with label starting or ending with spaces

-- v4.1189 21/01/2026
22-23/01/2026
- ADDED: generate report for category
- ADDED: page numbers on merged files in reports (DEV-1694)
- BUG: fix on batch validation for staff allowed to validate first step

26-30/01/2026
- ADDED: Improve CSV result parser to allow new use case
- BUG: non initialized var might affect report sent by email to requester
- BUG: fix issue opening attached record if zerofill is enabled
- BUG: report saved into Docs module didn't include merged files
- BUG: Sanitize CSV field values by removing line breaks 
- BUG: fix on automatic name in new attached record form
- CHANGED: add test code to templates options popup in preferences>report templates
- BUG: LSMremote: calendar for attached module fields didn't appear if it was same module or same field name that case record
- UI: add test code to automatic samples popup in model settings
- BUG: API GET: escape field category
- BUG: job list export CSV was empty after filter by category
- BUG: special characters in the data are preventing the CSV file from being generated correctly
- BUG: fix error on accept batch if attach CoC is enabled
- BUG: API: fix on calculated fields with phrase & fix when multiple tests have same parameter

02-06/02/2026
- UI: fix display for add multiple rows to job
- BUG: fix display on criteria values tab with tests with same name
- UI: improve multiple select list inside grids
- ADDED: Added option to display either the range only or the name with range (DEV-1725)
- ADDED: Added sample received date on TagMaker(DEV-1722)
- BUG: inconsistent display caused by partial onReport usage by normalizing special keys across columns
- CHANGED: ensure inactive fields are not eligible in attached module setup (DEV-1719)
- BUG: fixes in manage starting parameters for job in status requested
- CHANGED: improve general calculation on batch view and avoid cascade ajax
- ADDED: Added job and sample comments on TagMaker(DEV-1722)
- CHANGED: Indicator now renders correctly even when qmin/qmax range is not explicitly defined
- ADDED: Added preview output button on Tagmaker
- BUG: fix on button 'close all' in batch results
- CHANGED: add empty line before each sample on report tag ##results##
- ADDED: Allow considering the requester in the range rules (DEV-1701)

09-13/02/2026
- BUG: word undefined displayed on add document to requester
- ADDED: button to create new document from requester
- BUG: calculated fields of attached module displayed as editable
- CHANGED: don't load hidden backend parameters on processing grids to improve performance
- BUG: icon to collapse test [+] was missing in results or processing grids if first parameter is backend
- CHANGED: add colors to batches also before validation
- ADDED: add operator LIKE/NOT LIKE to calculated fields conditional
- CHANGED: LSMRemote: add automatic qc samples defined in model after job creation
- CHANGED: don't re-apply criteria rules on job/sample modification for tests already started 
- BUG: empty list on link documents to customer
- CHANGED: apply decimals chosen in costs settings to all invoice data, not only to invoice PDF (DEV-1692)
- BUG: Fixed a security issue related to external HTTP requests (DEV-1755)
- CHANGED: small SQL optimization in CoC and invoice
- CHANGED: reduce memory used in CoC, invoice and reports when exclude empty parameters is ON
16-20/02/2026
- IMPROVEMENT: Export from Results doesn't have test information (DEV-1499) 
- BUG: fix refreshing dependent fields of calculated field on single sample
- ADDED: API PUT: Allow updating the job number/name via API (and update Swagger)
- CHANGED: API POST: don't eval automatic phrases of calculated fields if value didn't change
- BUG: fix on refresh calculated fields using phrases with multicriteria (DEV-1710)
- BUG: fix job creation if sample name option is prefix + case record + autoincrement
- ADDED: Sample naming option for month + autoincrement + requester prefix (DEV-1757)
- CHANGED: improve hidden columns management in processing parameters grids
- BUG: some sample comments could break the CoC PDF
- CHANGED: optimize job list Export CSV & Preview CSV
- IMPROVEMENT: Migrated Swagger API page from Vue2 + Vuetify2 to Vue3 + Vuetify3
- ADDED: filter attached module records on requester (DEV-1718)
- CHANGED: LSMRemote: move case record age field under case record field (DEV-1721)
- CHANGED: allow select calculated fields as extra fields in attached modules (DEV-1719)

-- v4.119 20/02/2026

- CHANGED: LSMremote: if model is required and not selected, don't show tests/categories until it is selected
- CHANGED: add automatically single quotes to text on conditions of calculated parameters
- BUG: Resolved an issue where the nonConformity error alert was triggered due to a missing parameter in the range validation method
- BUG: results grid was empty if there were parameters with decimals conditional
- BUG: reagents grid was misplaced if there was a job parameter of type image
- IMPROVEMENT: Added option to select the character used to represent an empty value
- ADDED: link box/plate to batch

-- v4.12 25/02/2026

- BUG: prevent fatal error if no data in job chart for stability test manager 
- BUG: API PUT: fix 400 Bad Request on updating job parameters
- CHANGED: Updated swagger endpoint getJobs (T-775498)
- CHANGED: sanitize file name on send email
- BUG: fix on save range rules with apostrophe
- BUG: fix JS error on export CSV in add/edit job if samples grid is empty
- BUG: small fix on option to hide phrase fields in results grids
- ADDED: API GET: option to get requester info in getJobs

02-03/03/2026
- CHANGED: keep original orientation, height and width in merged files
- ADDED: add options to allow admin validate own results or validate first step
- BUG: some documents linked to requester were not displayed due to special characters on original file name

-- v4.121 03/03/2026

03-06/03/2026
- BUG: fix view of test details after search
- CHANGED: allow admin+ delete all memorized searches
- ADDED: if batch is linked to box then show box info and storage columns in results popup
- BUG: LSMRemote: fix error test doesn't exist on import CSV with model enabled 
- BUG: select year in expected date calendar didn't work properly
- BUG: height of job popup was wrong after print barcode
- BUG: Remove empty rows tagmaker

09-13/03/2026
- UI: reword features > HL7 on license page to cover all new integration variants
- BUG: Error when loading tag configuration in TagMaker after a parameter was deleted
- CHANGED: LSMRemote: use sample type label in export CSV instead of ID
- BUG: job list group by Job-Sample-Test was empty
- CHANGED: send report by email: don't send report if it is empty and don't attach files if they already merged in report
- CHANGED: in case of test with FILE option, send the attached file like a PDF report (DEV-1811)
- BUG: Wrong parsing export preview 
- BUG: fix incorrect sample type comparison in Automatic Samples selector
- CHANGED: show a loader on version updating
- CHANGED: API GET: improve performance reducing latency on queries

-- v4.122 12/03/2026

16-18/03/2026
- CHANGED: add loader to send requesters email and display the list of emails account
- BUG: fix save single criteria in criteria details
- BUG: attached files were still missing in automatic email submission (DEV-1811 II)

23-24/03/2023
- BUG: fix fresh install
- NEW: LSMRemote rating system (DEV-1844)
-- v4.123 23/03/2026

24-26/03/2026
- BUG: fix on refresh dependent calculated fields of calculated fields using phrases 
- BUG: fix issue mapping test in EDI/XML integration
- BUG: fix small display bug editing calculated fields with double condition and phrases
- BUG: Incorrect display TagMaker
- CHANGED: LSMremote: csp header missing in popups
- NEW: add option in model for cascade job (DEV-1843)
- BUG: fix database too many connections
- CHANGED: delete review
- ADDED: Add the number of samples in the job and batch views (DEV-1691)
- UI: improve job list columns width
- BUG: fix save regulation

-- v4.1231 26/03/2026

27/03/2026
- ADDED: follow logic force waiting in case record module and attached modules (DEV-1873)
- BUG: fix on select test or category typing (text was removed without select)
- CHANGED: don't display colors in Results/Validations if value is empty
- BUG: refresh colors in Manage>Results on value change even if there is no phrase

30/03/2026
- CHANGED: improve regexp for email validation in CRM>Users
- CHANGED: API GET & invoices: improve performance reducing latency on queries
- CHANGED: follow test report order in report mode = separated by template

-- v4.1232 30/03/2026

- BUG: report last page misplaced
- CHANGED: format value with spaces in report for parameters with datatype Multiple Choice
- ADDED: create report tags requester2_xxx for the secondary requester limited to one (DEV-1816)
- BUG: fix JS error on edit processing parameters in batch
- BUG: fix sql error on sample creation in EDI/XML integration
- CHANGED: update quote/invoice after creating tests in cascade

06-10/04/2026
- CHANGED: support repeated parameters in different tests in general calculation on batch view
- BUG: Fixed incorrect validation preventing row deletion when any parameter was present. The issue was related to extra rows not being considered in the validation.
- BUG: Sample naming option for month + autoincrement + requester prefix (DEV-1757 - II)
- BUG: fixes on documents box (test files not displayed)
- CHANGED: LSMRemote: fix potential XSS attach (DEV-1898)
- BUG: ensure that the message about cascading job is not triggered in other jobs
- CHANGED: follow test report order in report mode = separated by template is now optional

13-17/04/2026
- BUG: fix tag ##samples_line## for merged invoices with categories
- BUG: fix search job list by multiple tests
- CHANGED: added External Lab XML (DEV-1838)
- CHANGED: support parameters of type Image Selector on conditions of calculated fields
- CHANGED: ensure samples are sorted by id on view/edit job
- BUG: fix automatic samples not created due to wrong settings saved in setup > projects&modules
- BUG: fix label not saved in parameter Image Selector
- CHANGED: make timeline the default view of Calendar
- ADDED: calculated IF can select an image of image selector
- BUG: fix display of phrases with < > in admin > preferences > tests
- BUG: API: fix refresh of calculated fields dependent on calculated fields and phrases

20-23/04/2026
- BUG: data of secondary requester mixed with main requester in automatic email sent to secondary requester
- ADDED: API GET: include optional result file content in response
- BUG: save batch results wrote 'completed' in audit log instead of 'updated'
- ADDED: Add a customization for report name file (DEV-1819)
- BUG: fix workload chart with black background and blank page on full screen
- BUG: parameters of type File caused JS error and empty zones in add new page
- ADDED: Take into account the general configuration option “Template sorting follows tests custom sorting” in Tagmaker
- ADDED: Add a new report option to hide duplicated rows based on a parameter (DEV-1825)
- CHANGED: add option to notify requester if accept job when receive sample
- CHANGED: when custom report file name is set, use it for report title
- CHANGED: save in audit log the job status, model and source on job creation

27-29/04/2026
- ADDED: External Lab PDF send order
- NEW: new HR functionnalities - absences (DEV-1910)
- NEW: new HR functionnalities - detect conflict of test estimated dates with absences (DEV-1910)
- ADDED: Take into account the configuration "hide duplicates based on" in Tagmaker (DEV-1825)
- BUG: fix on config automatic samples on models with tests with apostrophe
- BUG: fix JS error on add job if 2 step Job QC mode review is enabled
- ADDED: Data trending table view
- ADDED: Data trending table view (DEV-1929)
- ADDED: Data trending: all statistics labels configurable
- ADDED: Data trending: setup show value min/max lines, show range min/max lines

-- v4.1240 29/04/2026

- CHANGED: prevent message 'event deleted' on calendar when click on empty slot
- BUG: Added non conformity alert on calculated fields in the batch view
- BUG: Fixed an issue where the deviation list was not shown in the interface
- BUG: parameters comment on validation step were not saved
- ADDED: Data trending charts can now have filters on job/sample parameters (DEV-1940)

-- v4.1241 29/04/2026

- ADDED: Added global period choice for control charts & attached modules charts
- BUG: Displaying empty rows when parameters per row option selected (Tagmaker)
- CHANGED: Display always the phrase when "Only frase" option selected on general configuration (Tagmaker)
- BUG: LSMRemote: fix test list empty on job view/edit if more than 50 tests

30/04/2026
- BUG: Fixed error handling for the empty option in "tagmaker"
- ADDED: Added API end point to add criteria

04/05/2026
- CHANGED: increase input size for requester city and state
- ADDED: add filter on lot (DEV-1948)
- ADDED: Control charts: added range min/max and more setup on value/range min/max

-- v4.1242 03/05/2026

04/05/2026
- ADDED: Control charts: Gage R&R option (ConfigShowGageRR) in add/edit chart

-- v4.1243 04/05/2026

04-05/05/2026
- ADDED: show approved absences in Job > Calendar as blocked slots
- ADDED: Control charts: render R Chart and Xbar Chart by Operator below related control chart
- CHANGED: add sample parameters to report option "hide duplicates based on" (DEV-1825)
- CHANGED: add sample parameters to report option "hide duplicates based on" on tagmaker
- ADDED: Control charts: Gage R&R improved and more complete
- ADDED: contextual menu in result parameters grid to spread value to other tests or samples (DEV-1958)
- BUG: Sample name prefix was not cleaned on model page
- CHANGED: fixes and improvements in multiple assignment
- CHANGED: alert equipment out of service and prevent select them in manage job/batch view
- CHANGED: Control charts: Gage R&R regrouping on prefix (models), added/improved interpretations, fully verified calculated values and charts (DEV-1945)
- ADDED: Introduce a validation check for training skills certification validity during job approval by validator users (DEV-1961)
- ADDED: Add automatic description on deviation record creation (DEV-1962)
- ADDED: improve QC mode Pass/Fail templates with dynamic tag (DEV-1964)
- CHANGED: exclude lots of archived records in lot dropdown
- ADDED: Operator charge KPI in workload view
- BUG: CRM requester notes can be saved directly 
- BUG: LabCollector <> LSM links fixed for archived
- ADDED: dynamic tag for QC model Pass/Fail templates assume validator is current user and date is current date (DEV-1964 - II)
- ADDED: include formula of calculated parameter on audit log
- CHANGED: update user name on sync user
- ADDED: TagMaker v2

-- v4.1244 05/05/2026

06/05/2026
- ADDED: add tag ##validation_date## to dynamic tag for QC model Pass/Fail templates (DEV-1964 III)
- ADDED: add option to QC mode to automatically suggest pass / fail (DEV-1965)

-- v4.1245 06/05/2026

07/05/2026
- CHANGED: Workload view — operator charge chart now estimates load per overlapping work day using your working hours (from Deadlines) and a percentage of one work day per test (default 20% when not set). Maximum test duration remains used for scheduling elsewhere; it no longer drives this chart on its own.
- ADDED: On each test (assay), optional setting “Workload capacity charge (% per work day)” so you can tune how much of an operator’s weekly capacity that test represents.
- CHANGED: Ongoing samples list — clearer warning when an assigned operator has an absence overlapping the planned test window (tooltip, highlighting); multiple assignment no longer offers operators who are absent for the selected tests.
- BUG: LabCollector embedded LSM panel shows “Archived” when the job is archived, instead of only the last workflow status (for example “In progress”).

-- v4.1246 07/05/2026

08/05/2026
- BUG: external view in LC was empty for attached modules if it was attached multiple times
- BUG: can create multiple attached modules by clicking multiple times on save
- ADDED: improve job tracking history adding job status transitions
- CHANGED: improve report log showing 'Email sent'
- CHANGED: toggle absence conflict warning in home page
- CHANGED: Workload view — operator charge chart explainer moved to an info icon tooltip (cleaner layout).
- CHANGED: Tests (assay) — “Workload capacity charge (% / workday)” help moved to an info icon tooltip; spinner step is now 1%.
- BUG: Workload view / Tests list — module remains compatible if database upgrade did not add `assay.CapacityChargePct` yet (defaults to 20% without SQL error).
- BUG: Automatic upgrade now runs through the latest schema version (prevents staying stuck on older version display).
- BUG: Start/Manage job popups — dropdowns (equipment/lots/reasons) no longer get clipped in accordion/Fancybox (bootstrap-select container set to body).
- BUG: Scheduler “Schedule” popup — improved sizing and removed nested scrollbars; robust parsing avoids JS error when requester is missing in header.

-- v4.1247 08/05/2026

11-15/05/2026
- ADDED: Add the number of samples in the batch popup (DEV-1691 - II)
- ADDED: allow filtering and auto-completion in the sample lot field
- CHANGED: New Job — when a sample is tied to a chemical lot (QC), the lot picker now lists quarantine (on-hold) lots first, each marked with (Q), then a divider line, then active lots so you can choose a lot for retesting as well.
- IMPROVEMENT: Add TM alert message on Protocols & Equipement section into Starting parameters
- CHANGED: Workload — operator charge KPI uses assay DefaultDays/DefaultHours and CapacityChargePct; assigned assays with jobsampleassays EstimatedStartDate/EstimatedEndDate use that calendar interval as workload footprint; otherwise footprint starts at job CreatedDTS or StartedOn with span capped at 365 calendar days; started assays extend through EstimatedEndDate when later than the default span.
- CHANGED: Workload — each ISO chart week receives the overlap slice of every assay footprint with that week (long-running scheduled tests contribute in every week they appear, aligned with the calendar when estimates exist).
- ADDED: Backend action `getOperatorChargeContributingAssays` (same workload rules as the operator charge chart) for auditing which tests drive the percentage.
- ADDED: Operator charge chart — click a bar to open Job Calendar with `lsm_week` (and optional operator label); navigation fixed when the chart is embedded in the workload page (no more wrong `extra_modules/index.php` URL).
- ADDED: Job Calendar (`jobSchedule.php`) — optional query `lsm_week` (YYYY-MM-DD) to open on that week when coming from the chart.
- CHANGED: Operator charge and “samples/tests status by operator” charts exclude canceled assays (`CanceledBy` / empty `CanceledOn` treated as active cancel timestamp).
- BUG: Job Calendar timeline — workload/absence badges refresh when changing date (prev/next/today) without blanking the schedule grid.
- CHANGED: Job Calendar timeline — operator column shows two workload badges (started % and assigned % of weekly capacity), matching the stacked operator charge chart; overload warning uses started + assigned combined vs 125%, same rule as the chart stack total.
- BUG: Job Calendar timeline — capacity tags always render for every operator row (default 0%/0% when that operator has no overlapping workload in the selected week); matches workload logic above so long scheduled assays no longer hide percentages vs bars.
- CHANGED: Job Calendar timeline — workload pills cap display at “999+” when percentages exceed 999%; exact started/assigned values appear in the click-open hint (stacked assays or CapacityChargePct can produce very large KPIs).
- CHANGED: Job Calendar timeline — workload, absence, and overload icons use **click-to-open** hints (fixed popover, delegation on capture phase) instead of native browser tooltips, which were unreliable on dense scheduler layouts; Escape or click outside closes; Enter/Space activates focused pills.
- BUG: Job Calendar timeline — hint popover no longer closes when workload metrics AJAX finishes or when moving the mouse (dismiss uses primary-button **mousedown** outside the hint, not document click; metrics refresh no longer forces close).
- BUG: Incorrect display of the conformity alert when importing CSV values.
- CHANGED: API GET: allow filter by status=all in getInvoiceList and support either labels or codes for other status values
- BUG: adjustments in import results CSV
- CHANGED: Improve style modal non conformity alert 
- BUG: ensure new requester form (from new job form button) is empty
- IMPROVEMENT: add new options on tagmaker v2
- BUG: Wrong display removing empty values on phrases tagmaker v2
- IMPROVEMENT: added more predefined models tagmaker v2
- BUG: fix encoding into external view
- NEW: CollectTrack (lsmcollector) web service 

-- v4.1248 15/05/2026

19-20/05/2026
- CHANGED: fix on report filename when custom config include sample type and job has more than one sample type
- ADDED: added tagmaker v2 compatibility with LGR
- CHANGED: Display a single NC pop-up when "Save" or "Save & Complete" is clicked
- BUG: save/complete samples grouped by category in job list or batch list could affect other tests 
- BUG: Error saving external lab configuration
- CHANGED: API PUT: uploadFile support job and sample parameter of type File or Image
- BUG: code to handle breaklines in sample comments interfered with some special characters as Å
- CHANGED: make job parameters of type ValueList autocomplete/filterable on job form
- ADDED: add column 'Detail' to follow up > sample shipment popup
- BUG: fixed securtiy issues
- CHANGED: show SingleCriteria in batch grids

-- v4.1249 20/05/2026

21/05/2026
- IMPROVEMENT: Improve Swagger added dynamic "case record" and "parameters"
- ADDED: add tag ##po-number## to externalLab sheet
- NEW: Changelog tab on the License page to see what's new in your LSM version
- ADDED: Sample list — filter each column from the grid header; counts show how many rows match
- ADDED: Shipment status shown with color labels in lists, history, disposal, and sample details
- CHANGED: Shipment status menus use the same color labels as the lists
- BUG: Shipment status dropdowns show readable labels instead of broken text
- CHANGED: Sample list shipment popup works like the job list popup
- ADDED: Job list — filter each column from the grid header; counts show how many rows match
- BUG: Shipment status filter in the job list header shows readable status names
- BUG: Add job — save spinner stops if save fails; saving a job is more reliable
- BUG: Add job — selected tests are kept when saving; pick a job model before loading tests
- CHANGED: Version number in the footer updates correctly after an upgrade
- CHANGED: A loading screen is shown while LSM updates, then the page refreshes
- BUG: Job list Status and Priority filters in the header show simple text (row colors unchanged)
- BUG: Job list Started filter and restarted jobs are easier to spot (icon and tooltip)
- CHANGED: Restarted assays show a restart icon with a short explanation on hover

-- v4.1250 21/05/2026

22/05/2026
- BUG: Job list — tooltip on restarted assays shows "Restarted after rejection"
- BUG: Fixed creating a job when samples are marked as received
- IMPROVEMENT: External lab integration improvements
- BUG: Job list Priority column shows colors and icons again (Normal, Rush, Slow, and custom)
- ADDED: License page — help icon next to Limits explains what each limit means

-- v4.1251 22/05/2026

25/05/2026
- ADDED: add color picker to stages setup
- CHANGED: accreditation can be on/off per sample (DEV-1864)
- ADDED: Calculated parameters — conditional formulas can include up to five ELSIF branches before the final ELSE
- CHANGED: prevent double-scape
- CHANGED: CollectTrack (lsmcollector) evolutions

-- v4.1252 25/05/2026

26/05/2026
- BUG: unable to click validation button after select a reason on batch window
- ADDED: Added Rules tab for External Lab integration
- BUG: empty tests on model with automatic samples
- BUG: changelog viewer failed if LC was not updated due to lang labels missing
- BUG: import results CSV didn't work for QC samples
- BUG: Job list — Status header filter is strict (e.g. "In Progress" no longer also matches assay "wait" codes) and preserves other column filters
- CHANGED: Job list — removed the unused header text filter above the row actions (cog) column

-- v4.1253 26/05/2026

27/05/2026
- UX: improve about Integration HL7 Order response to an Order enquirying with Async mode
- CHANGED: change visibility of pre-order for users in teams (DEV-1939)

-- v4.1254 27/05/2026

28-29/05/2026
- BUG: job comment popup failed after open from job list if job list is set as home page
- UX: add info on criteria rules
- CHANGED: make grid of setup>scheduled notifications is readonly
- CHANGED: add column Test to Protocol & Equipment grid
- BUG: error handling protocols and equipments in Tagmaker v2 
- CHANGED: improve details tag for externalLab
- BUG: save license with & caused wrong message of invalid license
- ADDED: added parameter accreditation tagmaker v2
- CHANGED: always show message after save job comment
- CHANGED: update dependencies 
- CHANGED: refactor license sample limits to reset with license date (DEV-2014)
- ADDED: add chart to license page with previous consumptions (DEV-2014)
- ADDED: add license limit forecast based in sample volume of 3 last months (DEV-2014)
- UI: revamp warning/alert badge about license limits


01/06/2026
- ADDED: Result parser integration, choose sample lookup by name or sample number
- CHANGED: API GET: parametervalue support multiple values separated by comma
- ADDED: calculated field conditionals can use Criteria min/max

-- v4.1255 01/06/2026

02-03/06/2026
- NEW: calculated parameter — AI formula builder. New "Builder / AI prompt" toggle in the parameter editor lets users describe the calculation in plain language and pick the parameters to use; an AI agent converts the prompt into the existing formula syntax.
- ADDED: Allow 0 values on result parser
- ADDED: Allow using case records extra fields on HL7 order messages
- BUG: Single criteria was not displayed tagmaker v2
- BUG: prevent error MySQL has gone in cron tasks
- ADDED: add new composite indexes for improve performance of reports

-- v4.1256 03/06/2026

04-05/06/2026
- BUG: fix colspan in report tag ​##results_extended_wdate##​
- BUG: batch might not save calculated parameters if result was 0
- CHANGED: improve performance tagMaker
- CHANGED: API GET: ignore not numeric values on filter by sampleid instead of return empty list
- CHANGED: API GET: include merged files in report
- CHANGED: force refresh of NonConformity JS file to avoid interferences with previous versions
- CHANGED: when categories are used in the job creation, edit job should show them (DEV-2020)
- BUG: fix fatal error on alerts when multiple LSM in same instance
- BUG: fix on edit calculated parameter formula with numeric values

08-09/06/2026
- CHANGED: allow use LongText parameters in calculated fields
- CHANGED: ResultParser: when search parameter by code returns multiple parameters, select the parameter used in current batch instead of first one
- NEW: new alert system for cron tasks
- BUG: security fix en tagmaker dependency (DEV-2030)
- BUG: fix malfunction in delete categories in new job/edit job

-- v4.1257 09/06/2026

10/06/2026
- CHANGED: don't refresh full job list after any operation on jobs/samples (accept, start, complete...)
- CHANGED: Manage all results performance optimization
- ADDED: composite indexes to optimize Manage all results
- CHANGED: Manage all results SAVE performance 
- BUG: order of rows in Protocol & Equipment section was not stable

-- v4.1258 10/06/2026

10-12/06/2026
- CHANGED: "Save & Start" / "Save" on big pending jobs performance 
- BUG: spining wheel on button "Save & Start" didn't appear until samples are marked as received
- CHANGED: speed up starting parameters popup and results popup improving equipment alerts reading
- NEW: Validation by report preview (DEV-1702)
- CHANGED: implement prefetch system in tagMaker
- BUG: fixes in new job list light refresh system
- CHANGED: Upgrade mPDF to 8.3.1 and FPDI to 2.6.8. in LSM and LSMRemote
- NEW: revamp assign test/category modal

15-17/06/2026
- BUG: in the new validation by report preview, when reasons list is empty, the readon popup still flashes briefly
- BUG: security fix (DEV-2044)
- NEW: Added info message in charts setup
- BUG: Fixed gage RR PDF report after pdf upgrade
- CHANGED: job list XML endpoints release the PHP session lock before running job list queries to avoid blocking concurrent requests
- ADDED: see batch samples tracking from batch popup
- ADDED: add validation message on batches, same as single sample
- BUG: API POST: create job with multiple attached module only saved last one
- CHANGED: translate missing labels in setup pages
- BUG: fixes in refresh job list after accept/reject job (DEV-2023)
- ADDED: add Accepted/Rejected and Comments tags for CoC template (DEV-2053)
- CHANGED: HL7 bi-directional integration can now supports Tests and tests Parameters restrictions on Order messaging to instrument

-- v4.1259 17/06/2026

18/06/2026
- ADDED: add other operators column in batches and use it for operator filter (DEV-2054)
- ADDED: extend the filter by operator in job list to search also by other operators (DEV-2054 - II)

-- v4.126 18/06/2026

19/06/2026
- CHANGED: small optimization in result parser getting sample names
- CHANGED: apply the same prefetch history system of save results to save processing parameters and to API
- BUG: parameter values with apostrophe truncated in sample popup
- NEW: report option to split report per sample (DEV-1923)

22/06/2026
- BUG: fix double scape on template tags
- BUG: add missing shipment status date to swagger method PUT /updateSample
- CHANGED: add loader on accept/reject job and don't close window until notification is sent
- CHANGED: make validation view = report view by default, and allow change it in setup
- CHANGED: add more indexes for job list

-- v4.1261 22/06/2026

23/06/2026
- ADDED: add number of lines matched and unmatched to response of result parser CSV
- NEW: report localization settings: date format and number separator by lang
- BUG: values with apostrophe break result of calculated fields
- CHANGED: allow reject samples without validate external content

-- v4.1262 23/06/2026

25/06/2026
- NEW:  the LSM Co-Scientist, an AI assistant to ask questions about your jobs, samples, assays  and results in plain language.

-- v4.127 25/06/2026

26/06/2026
- BUG: report>fax was disabled in job level
- BUG: fix issue with filename in send report by fax from job list menu, that may cause report not being sent
- BUG: fix samples duplicated on batch report if test has multiple Protocol & Equipment
- ADDED: Add the estimated end date for test and LoQ on API (DEV-1812)
- ADDED: add tag samplename to report filename customization
- BUG: report localization date format didn't work if LC has no custom date format

29/06/2026
- CHANGED: optimize use of session in parallel requests
- ADDED: Add a button to export tests and categories prices (DEV-1922) 
- BUG: Calculated fields using conditional with apostrophe do not work (DEV-1709)
- CHANGED: ensure value of calculated field is numeric before set fixed number of decimals to avoid convert text to 0
- ADDED: New option to send invoice once issued by email (DEV-1955)

-- v4.128 29/06/2026

- BUG: fix filename on invoice sent by email (manual or automatic)

30/06-01/07/2026
- ADDED: Reagent consumption from RESERVED lots now validates the job project code against the chemical lot reservation projects when the core preference "lot_resa_proj_link" is enabled. Requires LabCollector core >= 6.3107. Mismatched lots are greyed out in the test-start picker and blocked at server save in both test start and batch grid paths; Older LC keep legacy behavior (DEV-2081)
- ADDED: Add an ON/OFF button to deactivate auto email report by job (DEV-1549)
- ADDED: batch report support tags created with TagMaker
- ADDED: Have the possibility to put back a started sample in assigned (DEV-1555)
- CHANGED: detail all job and samples modifications of job update in audit log comment (DEV-1938)
- ADDED: JobID column on audit log table with historical backfill and improved job search in audit log list (DEV-1938)
- ADDED: Possibility to choose between text color or background color for a result parameter (DEV-2033)
- ADDED: Filter parameters list by 'Used in tests'

-- v4.129 01/07/2026

02/07/2026
- ADDED: add German lang to LSM & LSMRemote
- ADDED: Add a new option in two-step validation (DEV-2083)
- CHANGED: modify the load of templates for long text parameters in ckeditor

-- v4.13 02/07/2026

03/07/2026
- CHANGED: LSMRemote: automatic create of config.ini on first access
- NEW: Requester list to give CRM statistics (DEV-1697)
- CHANGED: support the use of LC date format on CSV import (DEV-1840)
- BUG: TagMaker v2 fixes and improvements (DEV-2084)
- CHANGED: exclude hidden parameters from validation of required fields in new job form

06-08/07/2026
- BUG: default project code in models was lost if model was restricted to one requester
- ADDED: use number separator by lang in tagMaker (DEV-1841)
- ADDED: batch report tags ##batch_comment## and ##batch_barcode##
- ADDED: TagMaker v2 add batch comment to caption
- CHANGED: optimize use of session in parallel requests (bigger and more efficient change)
- CHANGED: improvement in remember job list filters
- BUG: fix fatal error on validate job (grid mode)
- CHANGED: optimize data parsing in job list
- BUG: unable to resize the custom columns in job list
- NEW: add new chart Approved jobs to workload
- ADDED: add parameter field Description
- ADDED: calculated field can use Criteria min/max in any part of the formula (not only in conditionals)

-- v4.131 08/07/2026

09/07/2026
- CHANGED: show column Job in audit log
- CHANGED: change the filter Accreditation in job list to get jobs Accredited, Not accredited and Accreditation switched off
- BUG: fix bug saving user id in column report format in table report log

-- v4.132 09/07/2026

10/07/2026
- ADDED: allow select custom date range in workload charts
- ADDED: add a global period selection in workload view and refresh all charts
- CHANGED: limit concurrent workload chart requests to 4 to avoid DB connection exhaustion on busy servers
- CHANGED: truncate sample type label in workload chart Samples by type
- NEW: Improve feature Save results into LabCollector module adding the option to create fields automatically on setup

12-13/07/2026
- CHANGED: Workload view — align the top toolbar (requester filter on the left, period/setup/export on the right, vertically centered)
- NEW: Workload view — group charts into titled, renamable sections (Overview, Jobs, Samples, Operators & Teams, Equipment, Custom parameters & TAT)
- NEW: Workload view — drag & drop to reorder charts (across sections) and reorder sections; layout, section order and renamed titles are saved per user
- NEW: Workload view — "Export PDF" button generating a full-page PDF (lab logo, selected period, all visible charts by section, "Powered by LabCollector" footer)
- BUG: Workload setup — "Show approved jobs" and "Show operator charge rate" checkboxes had no effect on the dashboard (missing live show/hide toggle)
- BUG: Workload view — PDF export showed black chart backgrounds on instances with PDF/A enabled (chart canvases are now flattened onto white before export)
- CHANGED: Workload view — sections whose charts are all hidden now show a "No charts to display" message instead of a blank area
- CHANGED: Workload setup — refresh the dashboard automatically when the Setup popup is closed after a change; improved spacing of the "Add TAT chart" form
- FIX: PDF/A reports rendered transparent images (electronic signatures, lab logo, user-inserted PNGs, chart snapshots) on a black background — transparent images are now flattened onto white before the alpha channel is stripped for PDF/A/PDF-X compliance (local mPDF ImageProcessor patch; must be re-applied after any mPDF upgrade)
- CHANGED: support default field sample type on Save results into LabCollector module
- ADDED: add option 'split results per test' to Save results into LabCollector module

-- v4.133 13/07/2026


14-17/07/2026
- BUG: LSMremote: wrong characters in lot might cause error in lsmremote
- CHANGED: Rewrite LSMRemote config editor
- BUG: the new option in two-step validation should not affect restart
- ADDED: translation option for units (DEV-1623)
- ADDED: Add the accreditation toggle on grouping on tests and categories (DEV-2109)
- ADDED: Add ckeditor for protocol description to allow good format on report (DEV-1670)
- CHANGED: detect error sending report to requester and write error message in auditlog
- ADDED: new option Report>Email in job list to send reports in bulk (DEV-2122)
- ADDED: Recover invoice in PDF from the API (DEV-2120)
- ADDED: addendum to bulk report email
- BUG: fix double escape in requester name and others
- BUG: default value of long text parameter might not be displayed if there were multiple long text parameters in same page
- UI: fix unit textarea size in parameter config
- CHANGED: comment for job acceptance support now rich format with CKEditor
- CHANGED: fix tag ##date## on email template Send Customer Bulk Report and apply custom date format on dates

20/07/2026
- NEW: Co-Scientist conversation history — your chats are now saved; reopen, continue, rename or delete past conversations from the new "Past chats" list
- NEW: Co-Scientist memory — a new chat picks up your earlier related conversations, so it stays consistent with what you discussed before

-- v4.134 20/07/2026

21/07/2026
- ADDED: Add a new option to create invoice document (DEV-2121)
- BUG: job number was empty in job list > case record > notify popup

-- v4.135 21/07/2026

22/07/2026
- ADDED: Add a new job report option for report copies to 3rd party clients (DEV-2119)
- CHANGED: improve lot picker filtering; more strict than previous commit (DEV-2081)

-- v4.136 22/07/2026

23-24/07/2026
- CHANGED: filter the job sample lot (QC lot) picker by the selected Project Code — only lots linked to that project code are selectable (DEV-2081)
- BUG: validate samples grouped by category in job list or batch list could affect other tests
- BUG: fix default project code for models
- BUG: fix edit the criteria of a job-sample-test to ensure all parameters are updated
- BUG: fix display of case record extra fields with special characters
- BUG: fix refresh value of AVG fields
- CHANGED: improve search by username in audit log
- BUG: API POST/PUT: requester creation/modification was not recorded in auditlog
- CHANGED: API POST/PUT: check requester code is not duplicated on requester creation/modification
- CHANGED: API POST: requester creation generate random code if it is empty
- BUG: ensure admin_sessions feature is available in DB before try to insert

27-29/07/2026
- CHANGED: report signature tags include more than one user if different job samples were signed by different users
- BUG: LSMRemote: fix error in labels integrated in CoC
- BUG: TagMaker v2: fix save parameter Job Comment on extra rows
- ADDED: TagMaker v2: add previous value and previous date as result extra fields
- ADDED: Data trending charts can use processing parameters (not only result parameters)

-- v4.137 29/07/2026

30/07/2026
- CHANGED: TagMaker v2: ensure job comment and other parameters with rich comment are rendered properly 
- BUG: fix the visibility of autocomplete dropdown lists during charts view creation in the Home tabs
- BUG: LSMRemote: don't require mfa code if enable_multifactor = false
- ADDED: Data trending chart optional filter by case record when enabled
- NEW: Add EDD logic to integration (DEV-1988)
- NEW: Option to download integration report file in job menu
- BUG: restore the corrupted PT language file

-- v4.138 30/07/2026

31/07/2026
- ADDED: add tooltip to validation button (report view)
- UI: improve Calendar grid view
- BUG: LSMremote: fix filter tests in category by sample type in grid mode
- ADDED: add button export to disposal list
- CHANGED: ensure batch report show all the tests for each sample

04/08/2026
- CHANGED: API GET: don't exclude samples without valid sample type
- CHANGED: assign sample to batch is included in tracking popup
- ADDED: CoC to be a full CoC (DEV-2151)

-- v4.139 04/08/2026

05/08/2026
- BUG: fix fatal error when applying custom number format with a null value
- CHANGED: adapt report footer barcode width to report ID length
- ADDED: add a trigger logic for cascading sample+test inside a test (DEV-1458)

-- v4.14 05/08/2026

06-07/08/2026
- UI: better use of space in fancyboxes and resize event
- BUG: fields associated with models are visible even if the current model is not the same (DEV-1984)
- UI: Improve UI/UX for Number format in CRM => Pricing (DEV-1574)
- ADDED: Add an import button to import a list of values in one time for select parameter (DEV-1403)
- CHANGED: In report templates improve autocomplete of tags and help slider (DEV-853 II)
- BUG: Unable to unmark QA/QC (DEV-1374) 
- ADDED: allow restricting the FILE parameter to specific file types (DEV-2108)
- ADDED: when the job list view is Batch-Test-Sample, be able to generate barcode labels from the open batch (DEV-1507)
- ADDED: Option to have "Columns" in Input Parameters (DEV-1424)
- ADDED: add LSM to LC alerts for new jobs (DEV-431)

-- v4.141 07/08/2026

10/08/2026
- CHANGED: apply report localization settings to case record fields and attached modules fields
- ADDED: Flag out of range sample in the disposal list (DEV-2158)

-- v4.142 10/08/2026

11/08/2026
- ADDED: TagMaker v2: new option to merge previous date/value in same column
- CHANGED: improve resolution of job charts, and make size adaptable in reports
- CHANGED: use Inter font for job charts (screen and PDF reports)
- BUG: quote not invoiced when ordering a job with automatic acceptance on
- NEW: Integration QuickBooks

-- v4.143 11/08/2026

12-14/08/2026
- BUG: Assign Batch no longer clears the results-page batch filter, so Save / Save & Complete stay scoped to the opened batch
- BUG: fix empty string literals '' being stripped when displaying calculated parameter formulas
- NEW: Sample disposal to review (DEV-2164)

-- v4.144 14/08/2026

20/08/2026
- CHANGED: pricing preferences are easier to manage, with separate editing for tests, categories, extra lines and priority prices
- BUG: improve pricing save reliability for large price lists
- CHANGED: test and category prices now load faster and can be searched and browsed by page
- CHANGED: requester-specific prices can now be saved separately from requester details
- BUG: requester pricing now refreshes in place after saving
- CHANGED: pricing updates now provide clearer validation feedback and improved security
- CHANGED: search, sorting and pagination are available for global and requester pricing
- BUG: requester pricing list now displays correctly when paginated
- BUG: TagMaker v2: Criteria "Name and criteria" option now shows the criteria name (e.g. "Range 1: <= 20")
- BUG: TagMaker v2: display result as "< LoD" when value is below the detection limit (parity with report engine)
- BUG: TagMaker v2: LoD column now populated (DMin/DMax were not fetched)

21/08/2026
- BUG: Co-Scientist now loads reliably on older LabCollector versions — the chat opens without console errors even when an optional support file is not present

24/08/2026
- BUG: security fix
- BUG: result view now shows every selected acceptance criterion and its phrase.
- BUG: TagMaker v2 reports (PDF) now display all selected criteria and sentences per parameter, not only the first one.
- BUG: TagMaker v2: single-criteria parameters now also list their secondary criteria and sentences.

25/08/2026
- CHANGED: TagMaker v2 reports now display criteria and sentences always in black (color removed).
- BUG: fixed encoding issue in TagMaker v2 report headers.
- BUG: fixed column width issue affecting TagMaker v2 PDF display and generation.

26/08/2026
- NEW: batch list now offers a per-test report icon that generates the batch report for a single test (batch + assay), while the icon next to the batch number keeps generating the full batch report.

01-04/09/2026
- BUG: add missing parameter to swagger method PUT /updateSample
- ADDED: add icon to edit parameter from test settings page
- CHANGED: include comment in phrase column in tagMaker v2
- CHANGED: ensure sample prefix set in model is used even with automatic sample name options
- BUG: filter test list by name didn't filter
- CHANGED: Duplicate for protocols, assays, parameters and criteria now runs fully on the server to avoid overwriting the original if Save is clicked during the operation
- BUG: editing a protocol now correctly shows linked tests as checked in the Tests tab
- CHANGED: improve height of validation report view to support templates with position absolute
- CHANGED: improve footer position in report preview to support templates with position absolute
- BUG: edit protocol and leave all tests not selected didn't save changes
- BUG: Training Management warning on a blocked protocol was missing in Protocols & Equipment (Starting parameters)

07/09/2026
- CHANGED: Add an option to choose 'Only operator' or 'Only other operators' in batch list filter by operator (DEV-2222)
- CHANGED: allow edit conditions for cascading sample+test inside a test (DEV-1458 II)
- BUG: restarting a job (compliance/duplicate) no longer drops sample type when the type is archived or otherwise missing from the new-job combo
- ADDED: Templates Options - configure system report footer font family and size
- ADDED: Job and Samples Naming - option to prepend requester prefix to job number (default on)

-- v4.145 07/09/2026

09-11/09/2026
- BUG: read-only sample parameters didn't get the default value in new job form
- BUG: batch list action buttons (Validate/Results/…) misaligned columns on dense multi-test batches; buttons now span the group without breaking the grid
- BUG: ensure sample parameters get default value after import CSV with empty value
- BUG: canceling a test that finishes the job now also sets job end date
- UX: add TM protocol warning on Starting parameter too
- BUG: Manage Validate grid - re-checking a row no longer makes initially disabled cells editable again
- CHANGED: invoice print total column no longer wraps amount and currency onto two lines
- UX: improve and complete TM protocol and equipment category blocking information (DEV-2228)
- ADDED: Results grid Columns popup - show/hide storage fields (Position, Volume, Units) when batch is linked to storage
- ADDED: log should show the validation warning if NC (DEV-2172)

14/09/2026
- NEW: Billing: Factur-X (EN 16931) e-invoicing. Issued and paid invoices can be downloaded as a PDF/A-3 file with the Cross Industry Invoice XML embedded, for submission to Peppol platforms. Disabled by default; enable it and fill in the seller identity under Costs > Electronic invoicing (DEV-422)
- NEW: Customers: Peppol electronic address and scheme fields, required as the buyer identifier on Factur-X invoices.
- NEW: Factur-X export is blocked with the list of missing fields when mandatory seller, buyer or invoice data is incomplete, so an invalid file is never produced.
- NEW: Costs: option to print every issued and paid invoice as a Peppol-compatible Factur-X PDF, so no separate download is needed. Invoices with incomplete e-invoicing data keep printing as a plain PDF and the reason is recorded in the audit log.
- NEW: Costs: option to send invoices by email as Factur-X. Issued and paid invoices emailed to the customer, whether sent manually or automatically when the invoice is issued, are delivered as the Peppol-compatible hybrid PDF. The copy archived to the Documents module follows the same setting so it matches what the customer received. Invoices with incomplete e-invoicing data are still sent, as a plain PDF, and the reason is recorded in the audit log.
- NEW: Costs: VAT exemption reason editor (tab "VAT exemption reasons"). Reasons carry a VAT category, an optional standard code and a description, one of which can be the default. Invoices with no VAT can now be exported, stating the reason as required by EN 16931.
- NEW: Invoices: VAT exemption reason selector, shown when the tax rate is 0.
- BUG: invoice PDF used a whole-number tax rate, so a 5.5% rate was billed and printed as 5%. Decimal rates are now applied and displayed correctly, and whole rates still print without decimals.

-- v4.146 14/09/2026

15-16/09/2026
- CHANGED: CoC report: hide time in date column if it is empty in tag ##coc_ebr##
- CHANGED: make job created date a real datetime
- ADDED: CoC report: tag ##coc_ebr## includes LabCollector registry log for samples linked to storage-capable modules (DEV-2151 II)
- ADDED: show regulation/compliance info in license page
- BUG: fix colspan of storage columns (Position, Volume, Units) when batch is linked to storage
- BUG: Removed a UTF-8 BOM from job details API responses that broke JSON parsing in LSMRemote, so editable orders no longer lost the Update order button
- BUG: calc with phrase dependents no longer mis-evaluates empty phrases for hidden (Backend=1) parameters as equal to the compared text (e.g. 'Positive')
- UX: Training Management access flags line up on the left of the protocol and equipment category columns, instead of following the end of each name. The badge is also compact enough to sit inside a table row.
- CHANGED: add edit button to each criteria rule, and add confirmation on delete rule
- ADDED: criteria rules can be reordered by drag-and-drop; order is saved and used when selecting the matching criterion
- CHANGED: sample retention period rules - edit button, confirmation on delete, and drag-and-drop reorder
- ADDED: Stability window can use conditional rules (same pattern as sample retention period), with setup Rules button and evaluation on job/sample pages (DEV-1521)

-- v4.147 16/09/2026

- BUG: fix install of previous version 4.146

17/09/2026
- BUG: API refresh-calc: when value is unchanged, pass the stored phrase into the calc chain (not a leftover phrase from another parameter)