Package Gnumed :: Package wxpython :: Package gui :: Module gmEMRBrowserPlugin
[frames] | no frames]

Source Code for Module Gnumed.wxpython.gui.gmEMRBrowserPlugin

  1  # -*- coding: utf-8 -*- 
  2  #====================================================================== 
  3  # GNUmed patient EMR browser plugin 
  4  # ---------------------------------------------- 
  5  # 
  6  # this plugin holds patient EMR tree 
  7  # 
  8  # @copyright: author 
  9  #====================================================================== 
 10  __version__ = "$Revision: 1.19 $" 
 11  __author__ = "Carlos Moro" 
 12  __license__ = 'GPL v2 or later (details at http://www.gnu.org)' 
 13   
 14  import logging 
 15   
 16   
 17  from Gnumed.pycommon import gmI18N 
 18  from Gnumed.wxpython import gmPlugin 
 19  from Gnumed.wxpython import gmEMRBrowser 
 20  from Gnumed.wxpython import gmAccessPermissionWidgets 
 21   
 22  _log = logging.getLogger('gm.ui') 
 23  _log.info(__version__) 
24 25 #====================================================================== 26 -class gmEMRBrowserPlugin(gmPlugin.cNotebookPlugin):
27 """Plugin to encapsulate patient EMR browser window.""" 28 29 tab_name = _('EMR Tree') 30 required_minimum_role = 'full clinical access' 31 32 @gmAccessPermissionWidgets.verify_minimum_required_role ( 33 required_minimum_role, 34 activity = _('loading plugin <%s>') % tab_name, 35 return_value_on_failure = False, 36 fail_silently = False 37 )
38 - def register(self):
40 #-------------------------------------------------
41 - def name(self):
43 #-------------------------------------------------
44 - def GetWidget(self, parent):
45 self._widget = gmEMRBrowser.cSplittedEMRTreeBrowserPnl(parent, -1) 46 return self._widget
47 #-------------------------------------------------
48 - def MenuInfo(self):
49 return ('emr', _('EMR &Tree'))
50 #-------------------------------------------------
51 - def can_receive_focus(self):
52 # need patient 53 if not self._verify_patient_avail(): 54 return None 55 return 1
56 #====================================================================== 57 # main 58 #---------------------------------------------------------------------- 59 if __name__ == "__main__": 60 61 import sys 62 63 import wx 64 65 from Gnumed.exporters import gmPatientExporter 66 from Gnumed.business import gmPersonSearch 67 68 _log.info("starting emr browser plugin...") 69 70 try: 71 # obtain patient 72 patient = gmPersonSearch.ask_for_patient() 73 if patient is None: 74 print("None patient. Exiting gracefully...") 75 sys.exit(0) 76 gmPatSearchWidgets.set_active_patient(patient=patient) 77 78 # display standalone browser 79 application = wx.wxPyWidgetTester(size=(800,600)) 80 emr_browser = gmEMRBrowser.cEMRBrowserPanel(application.frame, -1) 81 emr_browser.refresh_tree() 82 83 application.frame.Show(True) 84 application.MainLoop() 85 86 # clean up 87 if patient is not None: 88 try: 89 patient.cleanup() 90 except: 91 print("error cleaning up patient") 92 except Exception: 93 _log.exception("unhandled exception caught !") 94 # but re-raise them 95 raise 96 97 _log.info("closing emr browser plugin...") 98 99 #====================================================================== 100