1
2
3
4
5 __author__ = "Karsten Hilbert"
6 __license__ = 'GPL v2 or later (details at http://www.gnu.org)'
7
8 import logging
9
10
11 from Gnumed.pycommon import gmI18N
12 from Gnumed.wxpython import gmPlugin
13 from Gnumed.wxpython import gmEMRBrowser
14 from Gnumed.wxpython import gmAccessPermissionWidgets
15
16 _log = logging.getLogger('gm.ui')
20 """Plugin to encapsulate patient EMR list based Journal window."""
21
22 tab_name = _('EMR Journal')
23 required_minimum_role = 'full clinical access'
24
25
28
29
30 @gmAccessPermissionWidgets.verify_minimum_required_role (
31 required_minimum_role,
32 activity = _('loading plugin <%s>') % tab_name,
33 return_value_on_failure = False,
34 fail_silently = False
35 )
38
39
43
44
46 return ('emr', _('EMR &Journal (list)'))
47
48
50
51 if not self._verify_patient_avail():
52 return None
53 return 1
54
55
56
57
58 if __name__ == "__main__":
59
60 import sys
61
62 import wx
63
64 from Gnumed.exporters import gmPatientExporter
65 from Gnumed.business import gmPersonSearch
66
67 _log.info("starting emr journal plugin...")
68
69
70 patient = gmPersonSearch.ask_for_patient()
71 if patient is None:
72 print("None patient. Exiting gracefully...")
73 sys.exit(0)
74 gmPatSearchWidgets.set_active_patient(patient=patient)
75
76
77 application = wx.wxPyWidgetTester(size=(800,600))
78 emr_journal = gmEMRBrowser.cEMRListJournalPluginPnl(application.frame, -1)
79 emr_journal.refresh_journal()
80
81 application.frame.Show(True)
82 application.MainLoop()
83
84
85 if patient is not None:
86 try:
87 patient.cleanup()
88 except Exception:
89 print("error cleaning up patient")
90
91 _log.info("closing emr journal plugin...")
92
93
94