You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Malaria — Added full case surveillance for Malaria (Luxembourg): disease enum and configuration, case data / symptom / epidemiological / sample & pathogen-test forms aligned to ECDC/WHO standards, laboratory message reception and doctor's declaration processing [#13796] [#13797] [#13798] [#13799] [#13800] [#13801] [#13802] [#13835] [#13837]
Dengue — Added full case surveillance for Dengue (Luxembourg): disease configuration, case data / symptom / epidemiological / sample forms with serotype handling, immunization (dengue and travel vaccines), laboratory message reception and doctor's declaration processing [#13810] [#13811] [#13812] [#13813] [#13814] [#13815] [#13802] [#13836] [#13838]
Salmonellosis (Luxembourg) — Added case surveillance for Salmonellosis: disease enum, case data / contact / symptom / hospitalization / sample / epidemiological forms, with contact-tracing UI hidden as it is non-contagious [#13914] [#13915] [#13916] [#13917] [#13918] [#13939] [#13940] [#13941]
Shigellosis — Added case surveillance for Shigellosis: disease enum (with a new contagiousness feature), case data / symptom / epidemiological / sample & pathogen-test forms with Shigella serotyping, and laboratory messages [#13926] [#13927] [#13928] [#13929] [#13930] [#13931] [#13965]
Cryptosporidiosis — Enhanced the epidemiological data form with activity types (travel, water, animal contact) and transmission-mode dropdowns [#13613]
Giardiasis — Enhanced the epidemiological data form with travel, recreational-water and animal-contact exposures and a transmission section [#13606]
Laboratory module
Aligned the specimen list with the approved SNOMED-CT master list — reactivating and hiding specimens and ensuring export codes, with the Luxembourg set capped at 30 [#13949]
Made the New Sample specimen list disease-specific — the specimen dropdown now filters by disease, like the pathogen-test type list [#13950]
Introduced test categories and completed the method list — reorganised pathogen test types into seven categories and removed obsolete entries [#13951]
Added capture of quantitative test results — numeric, titre, sequence and graded results beyond positive/negative, shown in case views and exports [#13952]
Removed the unused "Request pathogen tests" section and made the "Add pathogen test" button administrator-configurable [#13953]
Added reference-laboratory and retest indicators to the Sample — surfaced in lists and exports [#13954]
Added a "Laboratory results" tab to the Case view — aggregating tests, samples and drug-susceptibility results into sortable tables [#13955]
Enhanced the antimicrobial susceptibility test (AST) structure — adding test method, raw MIC/zone results and a Wild-Type/Non-Wild-Type interpretation field [#13956]
Added filtering by test result, serogroup and variant in the case directory and surveillance dashboard [#13957]
Made the test-result requirement administrator-configurable — when disabled, tests save with "Pending" status [#13958]
Removed the sample-source dropdown from the sample form — existing human/animal/environment values are preserved in exports [#13959]
Immunization module
Implemented the Immunization module and vaccination updates — a deterministic vaccination-status engine with event-driven recalculation, a side panel and a quick-entry dialog [#13976]
Added a Quick Immunization Entry dialog — essential fields with auto-calculated validity dates that create the vaccination entry automatically [#13977]
Added a read-only vaccination-status side panel on Cases, Contacts and Event Participants, replacing the editable status on the main form [#13979]
Added vaccination-status calculation and determination rules — a deterministic engine mapping means-of-immunization to standardised status within validity windows [#13980]
Added propagation of number of doses and a three-tier information-reliability rating (Trusted / Unreliable / Unknown) [#13981]
Added recalculation triggers so vaccination status re-derives automatically when immunization, vaccination or reference-date data changes [#13982]
Added Luxembourg-specific configuration — default "Unknown" status, oral communication as a trusted source, and a disease-specific validity calculator [#13983]
Updated the vaccination module for PCV/PPV history — vaccine type, date and dose fields for invasive pneumococcal cases [#13343]
Customizable fields
Introduced customizable fields — admins can define custom form fields (text, date, combobox, yes/no, checkbox, radio) from the UI without SQL or code [#13828]
Links stored in a custom case definition now open in a new window instead of navigating away from SORMAS [#13903]
External survey integration (Lux)
Added integration with the external survey tool ngSurvey — view a survey's answers within a case and map survey responses into SORMAS fields (filling only empty fields), making them available for Epipulse/ECDC exports [#13832]
Other
Added NUTS codes to the default infrastructure import files — "Import Default Countries" now populates them automatically for new installations [#13622]
Added an option to visually distinguish different system types — via a custom navigation-panel colour or a page-header identifier label [#13552]
Improvements
Case Management
Removed pregnancy-related fields from male cases — the Pregnancy field now appears only for female cases [#13426]
Renamed "Suspect Case" to "Possible Case" across all case-classification labels [#13827]
Allowed a case to be marked pregnant and postpartum at the same time instead of treating them as mutually exclusive [#13891]
Made the entry-date-into-country field optional (not mandatory) when country of birth is entered for TB cases [#13906]
Creating a notification from a doctor's declaration now adds a Doctor-type entry to the Reports list instead of writing directly to case fields [#13754]
External Messages
Match doctor's declarations that lack a name but carry a national health ID to the existing person, instead of showing the ID as the name [#13578]
Update a person's address from processed external messages — overwriting with the new values, with a popup on manual updates [#13589]
The external-message download button now downloads the original XML instead of an empty PDF [#13433]
Added the National Health ID to the patient information section of the external message display [#13816]
Changed the schedule for external message fetching — increased from daily to hourly and made the interval configurable [#13817]
The notification box now also appears for lab-message cases, not only doctor-declaration cases [#13681]
Samples / Laboratory
Made the "Verified by Supervisor" checkbox in the pathogen test form non-mandatory [#13557]
Contact Management
Enabled the sample contact card by default for Measles, so users can record negative test results for measles contacts [#13907]
Bug Fixes
Case Management
Customizable field value for a case is saved but not immediately displayed — the UI shows stale values until refresh or navigation [#14081]
Number customizable field does not trigger an error on an invalid value — non-numeric text saves silently and the value is discarded [#14085]
Customizable field default value not applied when creating a new case [#14084]
Salmonellosis — Myalgia and Eye irritation symptoms are missing [#14040]
Dengue — symptoms tab had missing and miscategorised symptoms/complications versus the reference list [#14125]
Ebola — unsaved case data is lost when creating a phone notification; the warning appears only after the notification is saved [#14005]
Outcome-change confirmation popup incorrectly showed "Alive" instead of "Deceased," though the change saved correctly [#13454]
Medical history allowed contradictory entries (e.g. both current and former smoker) and did not auto-link related fields [#13456]
AFP — the "Responsible Surveillance Officer" field rejected manual text, accepting only dropdown selections [#14090]
Hospitalization — date fields toggled active/inactive regardless of the "Was admitted" / "Currently hospitalized" values [#14047]
Admins could not discard checkbox-selected prescriptions or treatments in the therapy tab, though individual deletion worked [#13473]
Giardiasis — the exposure-period reminder hardcoded "25 days" even when an incubation period was configured in disease settings [#14094]
Case laboratory results — labels and their values rendered without spacing, making them hard to distinguish [#14010]
Tuberculosis case form hid the contacts tab and showed irrelevant symptom fields (complication box, max body temperature, empty "Other") [#14029]
Shigellosis — the immunization side panel showed when creating/editing cases but should be hidden [#14045]
When merging two cases, an assigned survey token transferred only when that case was the merge target [#13843]
Dengue — "Date of death" and "Cause of death" appeared bold-outlined (as if mandatory) but were not enforced [#13462]
Doctor's declaration — "Treatment started" was stored on the Therapy entity and should move to the Case entity for reliable processing [#13775]
Doctor's declaration — the diagnosis date was not saved to or displayed on the case [#13751]
National-level users with case-responsibility rights were missing from the "Responsible surveillance officer" dropdown, unlike district-level users [#13830]
Malaria & Dengue — the exposure form did not auto-default to "Mosquito-borne," requiring manual selection [#13922]
RSV — "Perinatal Details" case-person labels and fields did not match the requirements document [#14066]
TB — the "Compliance with treatment" caption appeared twice (in both the label and the dropdown) under pre-existing conditions [#14082]
Pertussis — the Luxembourg case-person form was missing "Death place type" and "Death place description" fields [#14109]
Contact Management
"Type of Contact" checkboxes behaved like radio buttons on the new-contact form, allowing only one selection [#13711]
IMI — "Prophylaxis prescribed" was present on the contact detail form but missing from the creation form [#14059]
Contact Directory — clicking the "Types of Contact" column header raised an error instead of sorting [#14042]
Giardiasis — the immunization side panel showed on contacts but should be hidden [#14032]
Immunization
Person view — the immunization box failed to display when opening any person from the directory [#14014]
Vaccination dates failed to display after saving a second immunization record, blocking date adjustment [#14000]
Contact view — newly created immunizations did not show until refresh, and saving without refresh errored [#13998]
Misleading popup after saving a vaccination — it said "updated to vaccinated" even when the status was set to "Not Vaccinated" [#13999]
"Other epidemic disease" immunizations could be saved without the mandatory vaccination-target field, so status did not update and no alert showed [#14007]
Samples / Laboratory
"4-fold increase in antibody titers" checkbox was disabled/uneditable for IgM/IgG serum antibody tests [#13559]
AST for Tuberculosis showed five columns but should show only three (value, method, interpretation) [#14036]
Measles test results — the "Antigen detection" test type was missing [#14026]
Salmonellosis — missing IgM/IgG pathogen tests and an incorrectly included "Saliva" sample type [#14041]
Cryptosporidiosis — not all required sample types were available when creating a new sample [#14075]
Pathogen test form — the result field failed to display for biopsy samples with the Hemagglutination Inhibition (HI) test type [#14105]
Pathogen test form — validation errors did not all show at once, and a laboratory-field error showed as info rather than an error [#14012]
Latent Tuberculosis infection tabulations were misconfigured — should enable all tabs except hospitalization, symptoms, clinical course and contacts [#14038]
Malaria — the "Thin blood smear" test showed duplicate "Result details" / "Test results details" fields [#14016]
PathogenTestForm — the IGRA "Tube NIL" value of 10 disappeared when toggling the "Tube NIL > 10" checkbox to No [#13883]
Giardiasis test results — the "Antigen" test type was missing from the dropdown [#14031]
A positive PCR/RT-PCR test for Tuberculosis showed "Value/Unit" fields instead of the expected CQ/CT cycle-threshold fields [#14030]
Measles samples — throat swab, nasopharyngeal aspirate, throat aspirate and amniotic fluid sample types were missing [#14025]
RSV test result — the "RSV subtyping" test type was missing [#14024]
RSV samples — nasopharyngeal aspirate, nasopharyngeal lavage and oropharyngeal (throat) swab sample types were missing [#14023]
IMI test results — the "Latex Agglutination" test type was missing [#14034]
External Messages
Pertussis doctor's declaration failed to transfer address country, tutor info, hospitalization dates, symptoms and diagnosis date to the case [#13717]
Technical error with no meaningful message when assigning an unassigned Cryptosporidiosis lab message to an existing case [#14069]
Occupation from a Pertussis doctor's notification failed to populate the Case Person occupation field [#13732]
Word documents from email templates showed stale dates because dynamic date fields were not refreshed before sending [#13619]
A Dengue message with treatment-started value "inconnu" failed to transfer as "Unknown" to the created case [#14001]
IPI lab message with PNEU-1=Yes failed to toggle the "Performed by reference laboratory" checkbox on case pathogen tests [#14058]
When an external message had both an email and a phone for a contact, only the email was saved and the phone was ignored [#13625]
Doctor's declaration processing failed to store occupation, legal-guardian status, notification/symptom-onset dates and diagnosis dates [#13774]
External message processing failed when case comments exceeded 255 characters, causing a database value-too-long error [#13879]
Configuration
Customizable fields did not validate that default values matched their data type, allowing invalid defaults to be saved [#14086]
A customizable field could be saved without a UI Group, but such fields then did not display anywhere [#14087]
Typing into the search field on the Customizable Fields configuration page threw a technical error instead of filtering [#14078]
Disease Configuration table columns did not sort when clicking their headers [#13428]
Disabling a disease variant still used in cases made the Case Directory throw an "Invalid enum value" error [#13653]
The Measles case-classification info popup showed raw HTML markup instead of rendered text [#13935]
Data Dictionary — @diseases hide=true showed only the listed diseases instead of all except those listed [#13848]
Double-clicking a row in Customizable Fields opened the delete modal instead of the edit modal [#14079]
Statistics Database Export showed technical field names instead of user-friendly labels for some items [#13670]
Dashboard
Sample dashboard did not display pathogen test results marked "Not Applicable," though the count still tallied them [#14019]
Sample dashboard — filters lacked watermarks, the test-result filter did not update totals, and serogroup/disease-variant filters returned no results [#14057]
Users
Login — the "Login as Clinician" button actually logged in as Case Supervisor; the label needed correcting [#14011]
The Clinician role got an error when accessing the Aggregate module [#14122]
Surveys
Survey menu "Reset Filters" filtered instead of clearing inputs and showing all surveys [#13517]
Other
The security@sormas.org vulnerability-reporting address bounced mail as not found / unable to receive [#13628]
When a NAT user added task comments, the GDPR warning modal appeared behind the task dialog, making it unreadable [#13750]