***************************************************************** # client ***************************************************************** ------------------------------------------------ # rel-1-1-patches ------------------------------------------------ 1.1.14 FIX: missing pre-save date verification in document properties editor [thanks J.Busser] FIX: exception on procedure start > end [thanks J.Busser] FIX: corner case of faulty drug database selection [thanks J.Busser] 1.1.13 FIX: apparent-age calculation bug on Feb 29th if DOB is non-leap year [thanks M.Angermann] FIX: cFuzzyTimestampInput.is_valid_timestamp() error seen in encounter EA [thanks J.Busser] FIX: Easter Egg Exception FIX: [Save under] in SOAP editor would fail [thanks J.Busser] 1.1.12 FIX: exception with certain invalid placeholders [thanks S.Reus] FIX: add missing encoding detection [thanks Andrew] FIX: broken health issue creation from its PRW [thanks S.Reus] IMPROVED: robustify os.startfile() use [thanks S.Hilbert] IMPROVED: robustify auto-setting of encounter.last_affirmed IMPROVED: robustify validity checks of cFuzzyTimestampInput [thanks S.Reus] IMPROVED: overly eager page number collision check [thanks S.Hilbert] 1.1.11 FIX: proper quoting of "start" args on Windows [thanks S.Hilbert] FIX: exception on expando resizing when it holds 0 lines FIX: exception on adding a second/third brand [thanks Vaibhav] IMPROVED: remove unneeded documentation tarball [thanks A.Tille] IMPROVED: better index.html in tarballed documentation [thanks A.Tille] IMPROVED: ignore wx.Begin/EndBusyCursor refcounting IMPROVED: PRWs now know about <ENTER> on Windows [thanks S.Hilbert] IMPROVED: grey out arriba menu item if not detected [thanks S.Hilbert] IMPROVED: pre-final editing of LaTeX forms [thanks M.Angermann] 1.1.10 IMPROVED: arriba now at version 2.4.1 IMPROVED: support non-blocking external apps on Windows [thanks S.Hilbert] IMPROVED: offline docs [thanks S.Hilbert] IMPROVED: russian translation [thanks YvLy] FIX: bug in calculating apparent age when patient is born later today 1.1.9 FIX: completely rip out wx.lib.pubsub use 1.1.8 FIX: exception on accessing diagnostic certainty phrasewheel [thanks J.Busser] FIX: cannot pack with pyInstaller due to pubsub v1 API [thanks S.Hilbert] IMPROVED: try robustifying wx.lib.pubsub listener facing pyInstaller damage [thanks MM] IMPROVED: make opening URLs work better with Python 2.6 [thanks MM] IMPROVED: detection of connection loss IMPROVED: tarball generation regarding the GNUmed manual 1.1.7 IMPROVED: warn on saving branded drugs w/o components [thanks vbanait] FIX: do not check .is_vaccine against None [thanks J.Busser] FIX: failure to access drug database on reconfiguration of invalid preselect [thanks J.Busser] FIX: inability to edit a drug component intake [thanks S.Hilbert] 1.1.6 FIX: missing check for substance intake end date in the future [thanks S.Hilbert] FIX: faulty search query for persons w/o a title [thanks J.Busser] FIX: failure to verify substance intake duration [thanks vbanait] IMPROVED: description w/ gender formatting [thanks J.Busser/Liz] IMPROVED: EMR tree browser: remove redundant gender from root item tooltip IMPROVED: demographics: protect against deletion of active name [thanks J.Busser] IMPROVED: gracefully fail attempts to duplicate drug component intake [thanks S.Hilbert] 1.1.5 FIX: properly review partless documents [thanks J.Busser] FIX: exception in episode name selection PRW [thanks S.Reus] FIX: improper validity check in encounter EA [thanks S.Reus] IMPROVED: placeholder $<primary_praxis_provider_external_id::type//issuer::length>$ IMPROVED: robustify browsing URLs against external problems [thanks Sergio] 1.1.4 FIX: document comment phrasewheel exception [thanks S.Reus] FIX: exception in fuzzy timestamp PRW when not actively selecting from dropdown [thanks S.Reus] FIX: exception in date input prw when not actively selecting from dropdown [thanks S.Reus] FIX: exception on using "n" -> "now" in date input PRW FIX: failure to properly propagate changes to the current encounter [thanks J.Busser] IMPROVED: placeholder $<current_provider_external_id::type//issuer::length>$ IMPROVED: staff list editor: disable non-functional [Delete] button [thanks J.Busser] IMPROVED: episode/issue EA: "Synopsis" field label/tooltip [thanks J.Busser] 1.1.3 FIX: phrasewheel exception on test types without .code [thanks J.Busser] 1.1.2 FIX: faulty access to _TCTRL_unit in patient creation widgets [thanks J.Busser] IMPROVED: confirm removing patients from the waiting list [thanks J.Busser] IMPROVED: remove misleading "There are no encounters for this episode." [thanks J.Busser] 1.1.1 FIX: more robust clock value formatting FIX: when configured encounter type not available pick first rather than pk=0 one FIX: failure to properly search for "kir;" [thanks J.Busser] FIX: faulty use of wxSizer.Detach() [thanks Stepanyuk] IMPROVED: log gmI18N.get_encoding() result IMPROVED: encounter type phrasewheel formatting IMPROVED: slightly better wx.EndBusyCursor() placement in exception handler IMPROVED: formatting of staff match provider items [thanks J.Busser] IMPROVED: by default show inactive substances in grid IMPROVED: add improved icon XPM 1.1.0 NEW: use os.startfile() for printing where available NEW: PDF printing via Acrobat Reader/gsprint.exe/os.startfile/IEx/MacPreview NEW: use dem.remove_person(integer) DB function from gm-remove_person.sh NEW: add man pages for more server-side shell scripts NEW: multi-phrase phrasewheel support NEW: right-clicking problem in SOAP note plugin shows episode/issue edit area NEW: cleanup tmp dir on shutdown if not running with --debug NEW: do not import mx.DateTime in gmPG2.py anymore NEW: LaTeX template for printing German "GKV-Rezept based" forms [thanks C.Becker] NEW: hook "after_code_link_modified" NEW: family history handling NEW: PDF-form based forms handling via pdftk NEW: coding of episodes, issues, RFE/AOE, procedures, family history NEW: minimal management of communication channel types NEW: support for data packs installable from within the client NEW: warn on/inform about access to medical chart of staff member NEW: add Ginkgo CADx to list of minimally supported DICOM viewers NEW: placeholder $<encounter_list::format template::length>$ to access list of encounters NEW: visual progress note creation directly from image capture device NEW: 4 new visual progress note templates [thanks J.Busser] NEW: implement explicitely creating episodes from EMR tree or menu NEW: implement organizations management NEW: placeholder $<patient_address::type//formatting template::length>$ NEW: placeholder $<adr_region::type::length>$ NEW: placeholder $<adr_country::type::length>$ NEW: placeholder $<patient_comm::type::length>$ NEW: placeholder $<external_id::type//issuer::length>$ NEW: placeholder $<primary_praxis_provider>$ NEW: report generator placeholder $<ID_active_patient>$ NEW: bleeding score: HEMORR²HAGES NEW: vaccination indication "influenza (H3N2)" IMPROVED: substance intake EA: one line with tooltip for components info field IMPROVED: substance intake EA: field naming and title IMPROVED: config file comments IMPROVED: context menu titles IMPROVED: allergy manager: close button, confirm button naming IMPROVED: larger lower border in gnuplot templates so year gets displayed properly IMPROVED: detection of external executables IMPROVED: default medication list template layout IMPROVED: make inbox listen to/reload on doc/doc-review/identity changes IMPROVED: typos in patient search field [thanks J.Busser] IMPROVED: check for both "lowriter" and "oowriter" when using OOo/LO [thanks Marc] IMPROVED: set database options at bootstrap, only check at connection setup IMPROVED: fix tab order in SOAP plugin [thanks S.Leibner] IMPROVED: EMR tree: disable Journal/Synopsis selection for nodes where it does not apply IMPROVED: clarified license to "GPL v2 or later" IMPROVED: demographics tooltips: in-database emergency contact, in-praxis primary provider IMPROVED: substance intake grid: show advice column IMPROVED: document archive: configure UUID generation IMPROVED: document archive: new review modes (only if not by responsible/only if none) IMPROVED: comm channel type PRW: filter out match candidate dupes [thanks J.Busser] IMPROVED: document tree: more informative node formatting IMPROVED: prescription: auto-sign if the current provider is the intended reviewer for the patient IMPROVED: vaccination list formatting on episodes/encounters IMPROVED: faster generation of PDFs from LaTeX templates IMPROVED: waiting list: multi-line comment and item-based list tooltip IMPROVED: document metadata editing: no more always-on-top, safer parts moving [thanks J.Busser] IMRROVED: waiting list: keep selection on item when moving it within the list [thanks J.Busser] IMPROVED: inbox: goto-patient as default action if pk_patient is not NULL [thanks J.Busser] IMPROVED: DOB related identity handling IMPROVED: new patient EA: include in-praxis primary provider [thanks J.Busser] IMPROVED: during connect check whether database was properly bootstrapped IMPROVED: new patient EA: include address type selection IMPROVED: behaviour of [kidney] button in substance intake grid IMPROVED: new patient EA: saner address search / address fields interaction ------------------------------------------------ # rel-0-9-patches ------------------------------------------------ 0.9.12 FIX: exception with INN based FreeDiams interaction check 0.9.11 IMPROVED: add SQL reports to find duplicate streets/urbs/regions 0.9.10 FIX: include latest GPL v2.0 license text from FSF [thanks Ankur] FIX: gracefully handle invalid DOB (future, DOB > DOD) [thanks Wim] IMPROVED: substance intake table: "amount per unit" = "Strength", not "Dose" [thanks J.Busser] 0.9.9 FIX: be ever more careful on list ctrl item tooltip generation [thanks Marc] FIX: add two more snippets pulled from the web re tree sorting insanity 0.9.8 FIX: exception on trying to create Gelbe Liste/MMI version file [thanks ALI from Lebanon] FIX: exceptions on various TWAIN error states [thanks ALI from Lebanon] FIX: failure to save leftmost notelet editor on [Save all] button [thanks J.Busser] FIX: exception on not selecting an encounter for [Save under] action [thanks J.Busser] FIX: improper scaling of "width < height" images (visual progress notes) FIX: exception on wx.TreeCtrl.GetPyItemData() w/o *explicit* wx.TR_SINGLE style FIX: improper sizing of SOAP expandos on Windows (#646240) [thanks S.Hilbert] FIX: exception on getting list item tooltip if no data available [thanks J.Busser] FIX: exception on selecting bytea columns in report generator [thanks J.Busser] IMPROVED: also try %d/%m/%Y when parsing dates [thanks J.Busser] 0.9.7 FIX: exception on creating allergy entry from non-brand substance intake [thanks J.Busser] FIX: exception on creating measurement type without LOINC [thanks J.Busser] FIX: exception with displaying list item tooltips [thanks Marc] FIX: faulty pt_BR translation ("issue name" -> "issue_name") [thanks Rogerio] FIX: fix DOB to be dated back one day sometimes [thanks S.Reus] IMPROVED: better protect against translation errors 0.9.6 FIX: need to clear "Recent notes" sizer label between patients [thanks J.Busser] FIX: exception on <DrugATC/> being returned from FreeDIAMS but empty [thanks ll] FIX: exception (off-by-one) when splitting "incompletely" defined placeholders [thanks Marc] FIX: exception when DOB=NULL when re-confirming old encounter [thanks J.Busser] IMPROVED: enable detaching episodes from issues [thanks J.Busser] 0.9.5 FIX: exception on trying to use Wine version of GL/MMI under Windows [thanks S.Hilbert] FIX: adjust default Windows path to FreeDiams executable [thanks S.Hilbert] FIX: exception on trying to put patient on same drug twice [thanks J.Busser] FIX: Windows can't check hook script for -rw------- with os.stat() [thanks LuisCapriles] FIX: exception on DOB input because .strptime() returns TZ naive dates [thanks J.Busser] FIX: exceptions on entering large integers into DOB field IMPROVED: logging of hook script permissions [thanks L.Capriles] 0.9.4 FIX: gm-remove_person.sh did not properly delete persons [thanks J.Busser] FIX: enable running arriba w/o an active patient FIX: cEpisode.get_narrative() ignored <soap_cats> argument FIX: wrapper around Python's deficient strftime() [thanks J.Jaarsveld] FIX: exception on displaying date deceased if not null [thanks J.Busser] FIX: exception on activating non-existant patient from inbox message [thanks Oliver] IMPROVED: make creating/updating tags a restricted procedure [thanks Rogerio] IMPROVED: slightly relax external app exit code check on Windows [thanks vbanait] IMPROVED: placeholder "soap_for_encounters" now sorts by SOAP cat rank, then by date [thanks vbanait] IMRPOVED: better remove SOAP-less encounters from consultation report output [thanks vbanait] IMPROVED: do not try to sign results if none selected 0.9.3 FIX: wxPython-MacOSX needs yet another way to detach sizer items [thanks J.Busser] IMPROVED: naming of formatted item view in tree (Details -> Synopsis) [thanks J.Busser] IMRPOVED: synopsis formatting of episodes in EMR tree [thanks J.Busser] IMPROVED: wording of problem list headers in SOAP plugin [thanks S.Leibner] IMRPOVED: synopsis formatting of health issues in EMR tree [thanks J.Busser] IMPROVED: problem list formatting in SOAP plugin [thanks J.Busser] 0.9.2 IMPROVED: German translation [thanks S.Hilbert] IMPROVED: units PRW now also pulls from ATC DDD and consumable substances amount [thanks S.Hilbert] 0.9.1 FIX: wxPython-MSW (wx-assertions-on) cannot detach sizer items as documented [thanks S.Hilbert] FIX: adjusted Python interpreter path in check-prerequisites.py [thanks lintian] FIX: exception on calling FreeDiams on Windows if not configured [thanks S.Hilbert] 0.9.0 NEW: use much enhanced, file-based FreeDiams API NEW: support primary provider on patients along with configurable fallback NEW: support array of contextual FKs per inbox message NEW: support dicomscope as DICOM viewer NEW: support summary field on health issues and episodes NEW: translate database strings from within client and contribute translations NEW: simplistic coding systems browser NEW: cloning of workplaces NEW: hook "post_person_creation" NEW: placeholder: "emr_journal::soap//%(narrative)s//255//tex::9999" NEW: LaTeX template: chronological EMR journal NEW: placeholder: "free_text::tex//<purpose>::9999" NEW: LaTeX template: generic free-text medical statement (English and German) NEW: full manual management of substances/drug components/branded drugs NEW: implement our own date picker NEW: implement searchable tags with image/name/comment on patients NEW: Greek translation NEW: log failed gm-dbo database access in database during restricted procedures NEW: change gm-dbo password from client NEW: implement leaving a message for oneself/other providers NEW: Gulich Score on GABHS in sore throat NEW: implement generic method for downloading data packs NEW: placeholder: "soap_for_encounters::soap//<date format>::9999" NEW: make client font configurable IMPROVED: link test results directly to requests for them IMPROVED: much better EMR tree root node tooltip IMPROVED: improved adding of vaccinations IMPROVED: now listing episodes/health issues at time of creation in EMR journal IMPROVED: Boesner score now has internationally usable name: "Marburg CHD score" IMPROVED: much better integration of visual progress notes IMPROVED: procedures now support a duration and an "ongoing" state IMPROVED: adjust to modified API of MMI/Gelbe Liste IMPROVED: master data management interface IMPROVED: fix "Current Substance Intake" edit area usability glitches (schedule, substance, preparation) IMPROVED: much saner "deletion of substance intake entry" workflow IMPROVED: logically cleaner substance intake handling IMPROVED: find gm-print_doc in git tree, too IMPROVED: relax URL sanity checks since Web 2.0 confuses all but the most sophisticated browsers IMPROVED: default server profile names in gnumed.conf example IMPROVED: alpha-sort list of master data lists as per mailing list IMPROVED: external patient sources now generically import external IDs/comm channels/addresses IMPROVED: fix detection of existing patient when loading from external source IMPROVED: workplace plugin configuration using item picker IMPROVED: in phrasewheel support dynamic part of tooltip based on selected item data IMPROVED: location PRW in procedure EA: re-use hospitals from hospital stays IMPROVED: support arriba 2.2.2 and its new file-based API IMPROVED: substance intake grid: display unapproved by default IMPROVED: default temporary directory now /tmp/gnumed/gm-<unique ID>/ per GNUmed instance IMPROVED: menu structure creation such that accelerator keys work more reliably IMPROVED: EMR tree can now display selective chronological journal on issues and episodes IMPROVED: existing translations IMPROVED: make showing audit trail a restricted procedure IMPROVED: enable exporting of in-database form template IMPROVED: show RFE/AOE in "recent notes" display in SOAP plugin IMPROVED: much saner workflow when creating allergy entry from substance intake IMPROVED: configurably auto-open editors for all open, recently worked-on problems when activating a patient IMPROVED: SOAP plugin: [Save under] saves notelet under selectable rather than current encounter IMPROVED: enable moving documents between encounters, mainly useful for visual progress notes IMPROVED: do not at all use wx.DatePickerCtrl as it breaks on some locales (en_IN) [thanks vbanait] IMPROVED: management of configuration items ------------------------------------------------ # rel-0-8-patches ------------------------------------------------ 0.8.8 FIX: failure to show patient image if created in a month with a name containing non-ASCII characters FIX: fix sorting of EMR tree dummy health issue node [thanks S.Hilbert] FIX: no more getStrAllTopics() in newer wx.lib.pubsubs 0.8.7 FIX: incompatible transport formatting of bytea between pre-9.0 libpq and 9.0+ PG server [thanks D.Varrazzo] FIX: exception on adding a diagnostic org (path lab) FIX: pointed everything in this branch to publicdb.gnumed.de FIX: exception on pressing [As planned] in substance intake EA [thanks dj-marauder@web.de] 0.8.6 FIX: strftime() cannot take unicode argument when refreshing waiting list [thanks JB] FIX: constrain hospital stay PRW to current patient in procedure EA FIX: faulty medically sound formatting of apparent age when between 1 and 2 years of age [thanks Wildfang] FIX: insufficient check of start/end field value when editing encounter details [thanks S.Reus] 0.8.5 FIX: PostgreSQL 9.0 does not need "regex_flavor" anymore FIX: exception after adding patient to waiting list [thanks JB] FIX: properly refresh encounter list after editing one [thanks JB] FIX: rectify confusing message when deleting meds [thanks JB] FIX: properly set PYTHONPATH [thanks Debian Squeeze] 0.8.4 FIX: exception on trying to create hospital stay w/o episode [thanks devm] FIX: exception on calculate_apparent_age(start=March 31st, end=February): invalid day for month [thanks S.Reus] 0.8.3 FIX: missing gmHooks import when _on_soap_modified is invoked FIX: exception due to faulty SQL in branded drug phrasewheel match provider FIX: faulty German translation of (meningococcus) "A" to (meningococcus) "D" FIX: subtle bug with validating date_deceased preventing demographics editing 0.8.2 FIX: assertion on Windows when creating timestamps piecemeal in new-patient FIX: exception on wrapping long entry in auto-expanding SOAP note field 0.8.1 FIX: exception when "DejaVu Sans" not found on Windows 0.8.0 NEW: Add button to lookup drug on www.dosing.de to current substances plugin. NEW: hook: "after_soap_modified" NEW: placeholder: "current_meds_table::latex" NEW: placeholder: "current_meds_notes::latex" NEW: placeholder: "lab_table::latex" NEW: placeholder: "latest_vaccs_table::latex" NEW: score: Rome diagnostic criteria on obstipation NEW: score: Cincinatti Stroke Scale (F.A.S.T.) NEW: score: bacterial UTI algorithm NEW: score: coronary artery disease in primary care NEW: score: ABCDEF & Glasgow-7-points for identifying atypical moles NEW: report: patients taking drug X NEW: graphing of ranges of measurements (user-defined gnuplot scripts) NEW: support emergency contact NEW: support comment directly on identity NEW: Add button to report ADR from within current substances plugin. NEW: list view of database audit trail NEW: management of vaccinations and vaccines NEW: templates for writing a plugin [thanks S.Hilbert] NEW: on Windows try to switch to "DejaVu Sans" font for improved unicode display NEW: demonstrable path to get up and running on Macintosh [thanks J.Busser] NEW: useful error dialog when database connection lost NEW: email log file on demand from menu NEW: support Canadian MSVA format as external patient source IMPROVED: GNUmed can now import the ARRIBA result as a document IMPROVED: rename client/locale/ to client/po/ and adjust to that IMPROVED: when enabling --debug during unhandled exception try harder to log the exception in question IMPROVED: more robust acquiring of data from image sources IMPROVED: more medically-sound interval formatting IMPROVED: another, more expected, way of calculating patient age IMPROVED: edit non-name identity parts *directly* in demographics plugin (no popup needed) IMPROVED: show date-generated in patient picture tooltip IMPROVED: much better icon [thanks J.Jaarsveld] IMPROVED: show comment/emergency contact in patient search control tooltip IMPROVED: re-add encounters to auditing IMPROVED: show loinc info for test in test results EA IMPROVED: much smarter result units phrasewheel IMPROVED: DOB validity check when creating new person IMPROVED: better layout of configuration listing IMPROVED: medication formatting IMPROVED: current medication patient handout [thanks C.Hilbert] IMPROVED: pre-filter form template selection list based on purpose of showing IMPROVED: default config file for running from tarball IMPROVED: better support FreeDiams (0.4.2 now in Debian) IMPROVED: EMR tree root note context menu IMPROVED: generic lists can now have 3 extra buttons IMPROVED: use substance rather than brand as allergene when creating allergy from substance intake entry ------------------------------------------------ # rel-0-7-patches ------------------------------------------------ 0.7.11 FIX: pointed everything to publicdb.gnumed.de FIX: refuse to connect to salaam.homeunix* 0.7.10 FIX: exception on trying to create hospital stay w/o episode [thanks devm] 0.7.9 FIX: when creating allergy from substance intake entry second try would overwrite first try if same drug brand FIX: assertion on Windows when creating timestamps piecemeal in new-patient FIX: exception on wrapping long entry in auto-expanding SOAP note field 0.7.8 FIX: exception on substance listing because ref.v_substance_in_brand does not have external_code_type_brand FIX: exception when printing shutdown message and debugging enabled by previous exception but no log window FIX: exception when shutting down backend listener because connection can already be closed 0.7.7 FIX: DOB could become today in certain corner cases when creating new person [thanks S.Reus] FIX: check_drug_interactions() failed with FreeDIAMS [thanks J.Busser] FIX: be more careful around changing CWD when creating document from LaTeX [thanks S.Hilbert] FIX: exception when save-all'ing multiple notelets [thanks S.Reus, J.Busser] FIX: exception when saving medication where is_long_term is true [thanks J.Busser] 0.7.6 FIX: faulty variable access when detecting OOo UNO bridge [thanks S.Hilbert] FIX: fail on "allergy_state" placeholder when date-last-checked not available [thanks Marc] FIX: fail to properly log non-ascii PostgreSQL messages on ASCII configured Pythons [thanks E.Kuznetsov] FIX: faulty access to PG connection filedescriptor when polling for notifications [thanks J.Busser] FIX: exception when aborting person creation while adding new staff [thanks Manuel] FIX: def_country undefined when def_region not set 0.7.5 FIX: cannot reach some parts of the expanding SOAP control when typing "too much" [thanks J.Jaarsveld] (lp #583019) FIX: Windows cannot differentiate os.system() exit status [thanks Panos] 0.7.4 FIX: exception when not selecting an episode but pressing [OK] after printing a letter FIX: exception when template for medication list is not suitable [thanks wilfried.muenster] FIX: exception when retrieving DDD for ATC in meds grid tooltip on less capable PG versions FIX: exception on some data mining query types 0.7.3 IMPROVED: more robust acquiring of data from image sources FIX: fail gracefully if cannot read MMI/Gelbe Liste data version file [thanks doogie] FIX: faulty field access ['country'] when setting default country [thanks papis] FIX: missing "s" after "%" in Italian translation [thanks papis] FIX: missing "," in German translation FIX: exception on mogrifying xsanerc file if no EOL seen [thanks S.Reus] FIX: non-fatal exception on setting active patient from gmCurrentPatient instance [thanks rafmav] 0.7.2 FIX: don't use --override-schema-check in tarballed gm-from-vcs.sh [thanks to J.Jaarsveld] FIX: actually fail DB connect if we detect secondary problems with database [thanks to J.Jaarsveld] FIX: don't fail in create_new_person when called from unsuccessful search [thanks to S.Reus] FIX: don't fail when writing letter from template for which there's no engine [thanks Marc] FIX: don't fail displaying if laterality of issue happens to be u'' [thanks S.Reus] improved: better detection of unconfigured visual progress notes editor [thanks Marc] IMPROVED: better Python UNO OOo bridge detection [thanks Petr Mladek] 0.7.1 FIX: exception when signalling invalid -conf-file=... value [thanks to S.Reus] FIX: some missing .decode()s on .strftime() [thanks to uy2qw from Ukraine] FIX: gnumed.py moved, thus .local_base_dir different, hence .system_app_data_dir incorrect [thanks to S.Reus] improved: removed spurious printk() when switching encounters 0.7.0 - new: manage diagnostic orgs - new: manage date of death per patient - new: manage discontinuation of substance intake - new: turn substance intake entry into allergy - new: hooks - after_substance_intake_modified - hook after_test_result_modified - new: visual progress notes - new: initial support for FreeDiams drug database frontend including install helper - new: commandline option --ui=<web/wxp> with rudimentary CherryPy frontend - new: show list of all configuration settings - new: configurable web search for test type from test result edit area - new: systemwide/user-level optional shutdown scripts invoked from /usr/bin/gnumed - new: Centor/McIsaac-Score as keyword expansions - new: man pages for backup scripts - new: partial Catalan translation - improved: login dialag: - hint about local DB on failure - do not show password ;-) - improved: show allergies in substance intake edit area - improved: warn on creating database users with empty passwords - improved: default region/country for new-person creation - improved: show lab name/contact details in measurement tooltip - improved: always use new person creation rather than old - improved: placeholders: - name::*::* - improved: various typos - improved: do not fail if unable to show part when adding documents - improved: cleaner/faster display of documents in tree, and sorted, eventually ! - improved: ARRIBA is now v2.0.4 - improved: using Git for SCM now - improved: gnumed.py now directly under client/ - improved: startup size will never go beyond screen size/below 100x100 pixel - improved: Dutch translation - improved: use per-engine wildcards on form template selection ------------------------------------------------ # rel-0-6-patches ------------------------------------------------ 0.6.4 FIX: properly deal with persons w/o a DOB in even more places 0.6.3 FIX: faulty tooltip on EMR tree items w/ no data to display FIX: exception on reusing person ID type w/o issuer FIX: fail gracefully if cannot read MMI/Gelbe Liste data version file [thanks doogie] FIX: properly deal with persons w/o a DOB in more places [thanks "user"] 0.6.2 FIX: properly attribute James Busser, MD FIX: do not fail on attempt to <delete> when no allergy entry selected FIX: do not fail on tooltipping empty results/meds grids FIX: fail less haphazardly on invalid dates in wx -> py conversion 0.6.1 FIX: WRONG most-recent result displayed in measurement type tooltip FIX: missing .GetValue() on abnormality indicator PRW on updating a test result FIX: exception on problem with any placeholder rather than continuing with a notice FIX: work around one more bogus PyDeadObjectError exception FIX: re-add pt_BR translation to release tarball FIX: missing dependencies/faulty paths in gm-install_client_locally.sh FIX: exception on adding health issue from GUI FIX: several typos 0.6.0 - can promote an episode to being a health issue - can add home phone/external ID to newly created patient directly - can track diagnostic certainty classification (ABCD) on episodes and issues - can track procedures performed on a patient - can do end user friendly free-text search across all EMRs - can move all progress notes of a pre-selected list of encounters to another episode - can manage provinces - can manage substance intake - can print medication list - can print LaTeX as well as OOo letters - referral letter template contributed by Rogerio Luz and James Busser - can interface with German "MMI/Gelbe Liste" external drug database - show info on drug/substance by PZN / name - show interactions - import drugs/substances - can display UI in Polish and others (partially) - can include potential problems in problem list of soap plugin - can remove DOB from person - improved (more) placeholders - gender to re placement mapper - medication list - allergies list - problem list - improved inbox - improved tarballs: include schema/API docs, better names - improved import path detection ------------------------------------------------ # rel-0-5-patches ------------------------------------------------ 0.5.1 -> 0.5.2 FIX: obsolete LogException in gmMimeLib.py FIX: failure on adding patient to waiting list with no patient active FIX: wx.K_* must be wx.WXK_* NEW: better default size of encounter details editor 0.5.0 -> 0.5.1 FIX: be more careful when deleting measurement types - they could be in use FIX: faulty access to "pk" column after creating measurement type from phrasewheel FIX: missing "import os" in measurement widgets code FIX: improved starting of new encounter from SOAP widget NEW: install ARRIBA jar into /usr/local/bin NEW: man page for gm-install_arriba 0.5.0 - can track hospital stays - can group health issues by arbitrary grouping tag - can display/edit *all* encounters of a patient in a list - can move individual soap rows between encounters - can delete progress notes - can delete workplaces from GUI - can show measurements encyclopedia from grid - can manage measurement types - can list meta measurement types - can start external MI/stroke risk assessment calculator - can install ARRIBA MI/stroke risk assessment calculator - can download and import LOINC data - can import ATC data - can disconnect from database welcome message dialog - can handle persons without DOB - can display deceased person's age properly - can remove persons from the database - new/simpler placeholder style for OOo documents - protection against %s-count mismatch in _() - improved display of measurement types in grid - improved sending of bug reports (log = attachment) - improved new-patient dialog - improved sorting of documents in formatted episode summary - improved "About Database"/startup banner - improved episode formatting - has some revision info in EMR Journal view - has built-in fallback workplace for problem situations ------------------------------------------------ # rel-0-4-patches ------------------------------------------------ 0.4.6 -> 0.4.7 FIX: faulty get_selected_cells() in measurement grid FIX: failed to properly check problem field in measurements edit area FIX: missing ) on setting document type translation 0.4.5 -> 0.4.6 FIX: missing space in update-available message FIX: search_for_document by type ID: fk_type must be pk_type 0.4.4 -> 0.4.5 FIX: _log.panic hiccuping on .conf files with malformed lists, should be _log.critical FIX: on Python 2.6 __new__ doesn't like extra parameters anymore 0.4.3 -> 0.4.4 FIX: re-enable path sanity check that fell off when fixing Windows FIX: properly backpatch "properly find last-but-one encounter for an episode or issue" NEW: make recent notes in SOAP plugin copy-able for pasting 0.4.2 -> 0.4.3 NEW: enable removing RFE/AOE by emptying the encounter edit area field FIX: properly format encounter times in tooltip in tree browser FIX: properly find last-but-one encounter for an episode or issue 0.4.1 -> 0.4.2 FIX: add comment/example on adjusting PYTHONPATH if needed 0.4.0 -> 0.4.1 FIX: properly handle unmappable time zones FIX: look for system wide app data in "C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\gnumed" 0.4.0 - can show log file from client - can merge patients - can edit existing progress notes - can access text expansion macros by start-of-keyword - has new hook "after_new_doc_created" - has minimum HIPAA compliance - has waiting list - has random access to plugins - has screenshots on Linux include window decoration - has local "installer" for tarball ------------------------------------------------ # rel-0-3-patches ------------------------------------------------ 0.3.12 -> 0.3.13 FIX: properly handle unmappable time zones 0.3.11 -> 0.3.12 FIX: failure to properly render test tooltips in unicode 0.3.10 -> 0.3.11 FIX: failure to properly format() test results for display 0.3.9 -> 0.3.10 FIX: failure to delete comm channel 0.3.8 -> 0.3.9 NEW: better honour post-patient-activation-plugin FIX: setting database language more than once FIX: faulty logic in XML-RPC port detection 0.3.7 -> 0.3.8 FIX: missing gmI18N import in gmEMRStructItems FIX: missing import of wx._core.PyDeadObjectError in gmDispatcher 0.3.6 -> 0.3.7 FIX: if a writable --conf-file was used the ignore language mismatch wasn't found FIX: do not use dummy name record anymore, fixes name deletion FIX: missing cfg = ... when exporting doc to disk FIX: tame overzealous validation code so adding external ID types on the fly becomes possible again FIX: do not announce new version twice in upgrade-availability message FIX: fix misguided wording in upgrade-availability message NEW: improve bug reporting for launchpad NEW: confirmation dialog before deleting document from tree context menu NEW: allow editing part comment in document part details dialog 0.3.5 -> 0.3.6 FIX: exception on non-ascii time zone name on Windows 0.3.5 -> 0.3.6 FIX: exception on missing .helpdesk when no backend profiles found FIX: exception on empty DOB in new patient wizard 0.3.4 -> 0.3.5 FIX: reversed logic when detecting new versions FIX: further SQL fixes to language setting issue 0.3.3 -> 0.3.4 NEW: fixup SQL script for language setting issue 0.3.2 -> 0.3.3 FIX: crash on Windows on bootstrapping on asking password with prompt containing "%s" FIX: crash on trying to import document part due to readonly connection FIX: crash on failure to set database language FIX: crash on DOB "too early" for platform :-( FIX: crash on very early failure when instantiating a cStaff object FIX: crash on catching PyDeadObjectError which must be wx._core.PyDeadObjectError FIX: crash on auto-setting encounter type for document-import-only encounters FIX: failure to remember ignored database language mismatch FIX: failure to one-step bootstrap databases when the authentication group was missing NEW: improved EMR stats display: make clear that of total known problems only relevant ones are listed NEW: improved EMR stats display: say "encounters" where "visits" was misleading 0.3.1 -> 0.3.2 FIX: crash on loading external patients if several config files define PRACSOFT source FIX: crash on not finding any "previously used accounts" in config files FIX: crash on accessing review status in document FIX: crash when phrasewheel *thinks* there is a dropdown and receives <enter> FIX: crash on __call__ing PyDeadObjects from dispatcher NEW: fix encoding of gmAbout.py so contributors have proper umlauts NEW: do not at all handle DEL/BS in ResizingSTC to avoid weird cursor behaviour reported by user NEW: annotate emailed bug reports to somewhat help Launchpad 0.3.0 -> 0.3.1 FIX: crash on creating patient letter due to local variable "desktop" typo FIX: faulty handling of candidate paths in /usr/bin/gnumed FIX: crash when explicitely setting up dummy file source (file=None in add_file_source) FIX: error on finding profiles list in several sources - need to flatten option value FIX: properly set source order and return policy on retrieving backend profile data FIX: crash on double-clicking empty cell in test results grid FIX: crash on double-clicking test result with non-NULL val_normal/target_min/max in results grid FIX: crash on select-all-unsigned due to cell data beings lists now FIX: crash on Windows' inability to properly do nothing when there's nothing to be done FIX: crash on narrative update signal caught in EMR tree before tree populated NEW: detect "no config file at all" and fail on that NEW: actually act on not finding gnumed.py in /usr/bin/gnumed ------------------------------------------------ # rel-0-2-8-patches ------------------------------------------------ 0.2.8.11 -> 0.2.8.12 FIX: exception on empty DOB in new patient wizard 0.2.8.10 -> 0.2.8.11 FIX: crash on Windows on bootstrapping on asking password with prompt containing "%s" FIX: crash on trying to import document part due to readonly connection FIX: crash due to "desk" -> "desktop" typo in gmForms.py 0.2.8.9 -> 0.2.8.10 FIX: crash on HELP pressed in login window in non-english locale FIX: crash on MacOSX due to <title> not having a default in OnSetTitle() in Manual HtmlWindow FIX: crash on MacOSX due to missing .vals on Snellen Config Dialog NEW: improved detection of writable user prefs file NEW: improved wording on not finding a user prefs file NEW: improved German 0.2.8.8 -> 0.2.8.9 FIX: crash on non-existing state or country when adding new patient 0.2.8.7 -> 0.2.8.8 FIX: crash on invalid input on tabbing out of year_noted in health issue edit area FIX: crash on invalid input on tabbing out of age_noted in health issue edit area FIX: crash on MacOSX on cancelling selecting patients from a list (busy cursor refcounting) NEW: properly stat() hook script on Windows 0.2.8.6 -> 0.2.8.7 FIX: crash on editing occupation NEW: better detect missing TWAIN *and* XSane NEW: Schriftkram -> Schriftverkehr 0.2.8.5 -> 0.2.8.6 FIX: brown paper bag: uninitialized variable self.user_prefs_cfg_file 0.2.8.4 -> 0.2.8.5 FIX: crash on adding new workplace FIX: crash on --conf-file not writable for user prefs (live-cd) FIX: crash on changing type on address due to missing s in %(type)s 0.2.8.3 -> 0.2.8.4 FIX: crash (sometimes) on opening progress notes editor FIX: crash on dragging documents onto part list box NEW: Encoding deprecated in desktop files NEW: work around python logging module bug on Windows NEW: crash less often on faulty address data 0.2.8.2 -> 0.2.8.3 FIX: crash on not being able to open korganizer2gnumed.csv file FIX: crash on saving progress note from single editor for new episode FIX: MacOSX: crash on Move*InTabOrder() across sizers in allergy manager FIX: crash on trying to edit workplace w/o plugins configured already FIX: crash on faulty profile name in preferences NEW: on startup create ~/.gnumed/ if necessary 0.2.8.1 -> 0.2.8.2 FIX: crash on writing OOo letter (.desk -> .desktop) FIX: crash on faulty references to 'first'/'last' instead of 'firstnames'/'lastnames' FIX: crash on non-existant IFAP transfer directory FIX: crash on configuring IFAP startup command ('workpace' typo) FIX: crash on use of wxDebug window after application shutdown 0.2.8.0 -> 0.2.8.1 FIX: crash on setting Windows SetFocus() on dialogs in gm_show_*() FIX: crash on passing identity to cDTO_Person.import_extra_data() FIX: failure on PG server version checking on MacOSX (bootstrapper) FIX: crash on MacOSX after clicking OK in Snellen config dialog FIX: crash on missing slave personality NEW: do not crash on not being able to write to the config file NEW: touch user config file so it exists when needed ------------------------------------------------ # rel-0-2-7-patches ------------------------------------------------ 0.2.7.1 -> 0.2.7.2 FIX: failure on setting db logon message to '' FIX: work around PG 8.1 lower('Ã') = '' ! NEW: give OOo a bit more time to startup 0.2.7.0 -> 0.2.7.1 FIX: failure to save new episode w/o rfe/aoe because episode name is empty FIX: faulty path for user-local startup script FIX: crash on right-clicking empty provider inbox FIX: crash on right-clicking notebook tabs FIX: crash on shutdown FIX: failure to detect succeeding connection to enslaved client FIX: faulty variable access resulting in match_type not being displayed on patient searches FIX: remove only older-than-a-week empty encounters such that encounters open on other machines are not deleted from under them FIX: missing cast to ::text in dem.date_trunc_utc() calls ***************************************************************** # database ***************************************************************** ------------------------------------------------ # gnumed_v16 ------------------------------------------------ 16.11 IMPROVED: add Russian DB string translations [thanks anon] 16.6 FIX: remove faulty i18n-fixup ("generic" tx target doesn't work as expected) [thanks J.Busser] IMPROVED: robustify log directory setting in bootstrapper scripts [thanks S.Hilbert] 16.5 FIX: inability to store document descriptions > 1/3 of a PG buffer page [thanks J.Busser] 16.4 IMPROVED: make i18n._() check language "generic" before returning untranslated string 16.3 FIX: failure to create gm-staff group role when bootstrapping in a virgin PostgreSQL [thanks Debian] IMPROVED: robustify GNUmed related PostgreSQL roles management 16.2 FIX: properly export GM_LOG_BASE in scripts [thanks Debian] 16.1 FIX: add back clin.v_narrative4search [thanks J.Busser] FIX: remove stray ";" from org contact numbers report SQL [thanks J.Busser] IMPROVED: do not log now-invalid RCS metadata anymore during bootstrapping IMPROVED: docs for Debian's pg_upgrade helper script 16.0 IMPROVED: backup script and config file comments [thanks J.Busser] IMPROVED: restore script: properly set data file permissions [thanks S.Reus] IMPROVED: restore script: use "-o pipefail" to detect complex pipe failures IMPROVED: database fingerprinter can now dump schema structure, too IMPROVED: restore script: make sure <postgres> can access work dir sub dir NEW: clin.remove_old_empty_encounters() NEW: dem.remove_person(integer) NEW: several medication related data packs [thanks J.Busser] NEW: add database schema fingerprint logs to server files ------------------------------------------------ # gnumed_v15 ------------------------------------------------ 15.12 FIX: clin.trf_sanity_check_enc_vs_issue_on_epi() [thanks S.Reus] 15.11 FIX: trf_do_not_substance_if_taken_by_patient() on ref.consumable_substance 15.10 FIX: cannot restore --single-transaction because CREATE DATABASE does not transact [thanks S.Reus] IMPROVED: better commenting of informative messages in -roles.sql 15.5 FIX: faulty quoting in database backup scripts using "su -c" [thanks Marc] 15.4 IMPROVED: add list of consumable substances [thanks vbanait] 15.2 FIX: unjudicious use of "set -e" creates more problems than it solves 15.1 IMPROVED: upgrader now checks whether template database exists [thanks A.Tille] IMPROVED: upgrader now fails when backup before upgrade fails [thanks A.Tille] 15.0 NEW: script to fingerprint GNUmed databases NEW: script to dump schema and roles for database debugging IMPROVED: bootstrapper now detects commented out authentication directive [thanks Vid] FIX: quoting in script to set gm-dbo password [thanks vbanait@gmail.com] ------------------------------------------------ # gnumed_v14 ------------------------------------------------ 14.4 -> 14.5 FIX: no more regex_flavor in PostgreSQL 9.0 (gm-adjust_db_settings) IMPROVED: gm-restore_database 14.3 -> 14.4 FIX: bootstrapping: properly drop constraints on gm.notifying_tables during v9 -> v10 14.2 -> 14.3 FIX: check for vaccination dupes looking at all patients rather than the relevant one only 14.0 -> 14.1 NEW: auto-include fixups for missing array functionality on PG 8.3, needed for conversion to v14 14.0 NEW: gm-set_gm-dbo_passowrd FIX: during upgrade nullify empty clin.health_issue.laterality FIX: properly use pg_dump: no more -d DATABASE [thanks S.Hilbert] IMPROVED: bootstrapper now better detects utf8 ctype IMPROVED: boostrap-latest: check for any previous version since all of them would be dropped [thanks S.Hilbert] IMPROVED: try to make su compatible with both MacOSX and Linux ------------------------------------------------ # gnumed_v13 ------------------------------------------------ 13.7 -> 13.11 FIX: PG 9.0 uses different constraint name on gm.notifying_tables 13.6 -> 13.7 NEW: improved detection of unicode support in server encoding NEW: work around os.getcwd() permission problem on Mac FIX: even more robust gmPsql.py unicode logging [thanks E.Kuznetsov] 13.5 -> 13.6 FIX: SQL: v9 -> v10 drop on view missed "view" keyword [thanks E.Kuznetsov] FIX: SQL: v9 -> v10 translation INSERT missed ";" [thanks E.Kuznetsov] FIX: more robust gmPsql.py unicode logging [thanks E.Kuznetsov] 13.0 -> 13.5 NEW: translate some Dutch demographics FIX: Windows bootstrapping batch file FIX: teleport gmPsql.py logging into the wonderful world of unicode [thanks Dmitry] ------------------------------------------------ # gnumed_v12 ------------------------------------------------ NEW: bootstrapper: soft-sanity check pg_hba.conf for authentication directive and give advice if not found ------------------------------------------------ # gnumed_v11 ------------------------------------------------ 11.0 -> 11.1 FIX: SQL: add missing view clin.v_narrative4search ------------------------------------------------ # gnumed_v10 ------------------------------------------------ 10.7 -> 10.8 FIX: SQL: review invalidation trigger on result change 10.6 -> 10.7 No changes. 10.5 -> 10.6 No changes. 10.4 -> 10.5 FIX: SQL: dem.identity.dob trigger indiscriminately applied UTC to all incoming DOBs 10.3 -> 10.4 FIX: SQL: delete_document: .date is now .clin_when NEW: bootstrapper: add commented out password option for postgres for Windows guidance NEW: maintenance: DB backup script checks for DB existance NEW: maintenance: do not run DB backup script if DB name set empty 10.2 -> 10.3 FIX: maintenance: make DB backup script actually do something 10.1 -> 10.2 FIX: SQL: clin.v_pat_allergy_state_journal missed data due to unintended use of coalesce() FIX: SQL: fix sync of clin.allergy_state with clin.allergy on saving the first allergy for a patient 10.0 -> 10.1 NEW: bootstrapper: do not ask for gm-dbo pwd if the user exists NEW: bootstrapper: ensure gm-dbo has createdb createrole ------------------------------------------------ # gnumed_v9 ------------------------------------------------ 9.1 -> 9.2 FIX: SQL: fix delete_document(): explicitely delete document parts NEW: bootstrapper: do not assume '' as password if none supplied and not interactive NEW: bootstrapper: accept UTF8, too, not just UTF-8 9.0 -> 9.1 FIX: SQL: failure to properly handle i18n in the backend: fixup SQL script FIX: SQL: very old databases had $1 instead of "reviewed_test_results_fk_reviewed_row_fkey" ------------------------------------------------ # gnumed_v8 ------------------------------------------------ FIX: failure to drop old check constraints with 8.1 names in clin.soap_cat_ranks FIX: failure to delete document if seq_idx is NULL FIX: exception on lang being null in i18n.upd_tx FIX: exception in trigger function on deleting allergy ------------------------------------------------ # gnumed_v7 ------------------------------------------------ FIX: remove begin/commit from SQL scripts to allow bootstrapping v2-v3 to work FIX: failure to import data set upgrade scripts on Windows NEW: actually expect target version v7 NEW: be permissive about missing "data import scripts" option