You are here: Foswiki>Gnumed Web>MiniProjectsRu (17 Mar 2013, IvanLykov)EditAttach

Мини-проекты и не совсем мини

Прежде чем приступить к мини-проекту, напишите в список рассылки gnumed-devel, чтобы проверить изменения, влияющие на него.

Доступные проекты:

  • патчи для удаления из bootstrapper, справочные данные, которые нужны не для всех практик
    • перечисление см. здесь
    • нам нужно вынести за скобки пункты и список в вики как 'доступное'

  • ссылка на KOrganizer
    • написать высокоуровневый API Python, надстраивающий доступ DCOP к KOrganizer (уже доступен python-dcop)
    • требуется: detect_KOrganizer()
      • определяет, доступен ли KOrganizer
      • полезен в кросс-платформенных клиентах
      • может запустить KOrganizer (но, не обязателен)
    • требуется: raise_KOrganizer()
      • вызывает KOrganizer в верхней части рабочего стола иерархии окон
      • должен запустить KOrganizer, если доступен и еще не запущен
    • требуется: set_appointment(date, time, duration, type, text, force, data)
      • дата: дата записи на приём
      • время: время запуска
      • продолжительность: сколько времени ожидается принимать (как альтернатива: время окончания)
      • тип: тип записи на приём, должен иметься в KOrganizer
      • текст: текст для отображения в KOrganizer
      • * действие*: "втиснуть" принудительно или нет в назначение, независимо от наложения на другие назначения/вне часов/и т.д.
      • время: часть данных, связанных с записью на приём, например, строка, KOrganizer не должен заботится, что это такое, а просто вернуть его, когда запись на приём извлекается программно
      • возвращает: statuscode об успехе или, что было не так (перекрываются, вне рабочих часов и т.д.)
    • требуется: remove_appointment(start, type)
      • только в случае успеха, если запущен и точно соответствует типу
      • может запрашивать подтверждение в KOrganizer (таким образом, быть вне контроля самого GNUmed)
    • требуется: get_appointments(start, end, type)
      • начало / конец: диапазон между записями на приём, возвращаемый и поддерживаемый для начала
      • тип: если установлен, ограничивает возвращаемые записи на приём для этого типа (тип должен быть конфигурируем в KOrganizer)
      • возвращает список записи на приём с полными метаданными:
        • начало, окончание, тип, текст, данные, перекрываются=да/нет
    • обязательно: find_next_slot(earliest, latest, duration)
      • ранний / последний: диапазон для поиска промежутка записи на приём длиной
      • длительность: включает параметр от 0 для поиска промежутка любой длины
      • возвращает: временную метку, в которой запись на приём может стартовать
      • поскольку KOrganizer на самом деле не обрабатывает ресурсы (пока?), в этой функции не требуется аргумент по типу
    • будущее: попробовать добавить обработку ресурсов
      • размещение, промежутки времени, оборудование, люди, ...
      • однако, существенно позволит расширить рамки KOrganizer
      • для этого, возможно, лучше использовать средство управления рабочей группы? Kollab ?

  • основа лабораторного импорта/отображения
    • ряд кодов уже готово

  • в GNUMed используются и распространены константы символов (шрифты), уже разработана небольшая программа для отыскания этих символов в шрифте для Windows http://lists.gnu.org/archive/html/gnumed-devel/2010-06/msg00002.html

  • merge gmGuidelines, gmManual et al. into a wxpython/gmHTMLBrowser.py adapted to the GnuMed framework
    • then make the previous browsers use the unified browser
    • posted by Karsten via list, Nov 10, 2004

  • тестирование единиц измерения
    • Write more unit tests for the middleware (see client/business/ and client/testing/).

  • виджет слияния
    • Our business objects (middleware) can detect concurrency errors the database reports. Think of two doctors editing the same piece of data at once... Whoever tries to save his changes later will experience a concurrency violation. Our middleware detects and reports that. It also offers all three states of data (original, own intended changes, conflicting changes of other user). What we lack is a widget to allow the user experiencing the problem to merge changes into a final version. The easiest and most simple solution would be to display all three versions and let the user choose one or supply a fourth version to eventually be saved back into the database.

  • поиск по EMR
    • Our clinical data is saved in a clinical context. It is part of an encounter between a patient and a healthcare professional. It is also part of an episode of healthcare. Now, we need functionality to do searches across all the free text that has ever been entered into the medical record of a given patient. There are appropriate views aggregating the narrative for searching. What we lack is a widget to display any matches in context: For each match found retrieve the encounter and episode of care and render this information to the screen. This is a bit like a context diff or grep, eg a few "surrounding" lines are displayed along with the actual match.

  • очистка
    • it is acknowledged that the size and positioning of screens (windows) which the client will open in front of the main GNUmed screen is not standardized. A suggestion as to what the screens may look like, and how they may be positioned, are on [[http://lists.gnu.org/archive/html/gnumed-devel/2009-07/msg00000.html][this post] in the -devel archive.

  • semi-automate generation of a per-patient, per-problem cumulative profile
    • start with a per-problem view in which rows of a specifiable type would be filterable
    • in this way, facilitate a view on just the Assessments, or just on the Plans, going back over many encounters
    • enable the selection, from among these rows, of all rows of interest, and post-process these, auto-concatenating the content
    • output opens as an optionally-editable note to serve as a "digest" of the problem.

Предыдущие мини-проекты:
Topic revision: 17 Mar 2013, IvanLykov
 
Download.png
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback
Powered by Olark