Skip to content

Instantly share code, notes, and snippets.

@eightseventhreethree
Created October 19, 2016 23:26
Show Gist options
  • Save eightseventhreethree/2d6953af25df5310a7f2310ceaa0ef7d to your computer and use it in GitHub Desktop.
Save eightseventhreethree/2d6953af25df5310a7f2310ceaa0ef7d to your computer and use it in GitHub Desktop.
#Tkinter calls for GUI
from Tkinter import *
import ttk
import Tkinter
import tkMessageBox
#Elementree and Subprocess calls
from xml.etree.ElementTree import ElementTree
from xml.etree.ElementTree import Element
from xml.etree.ElementTree import SubElement
import xml.etree.ElementTree as etree
import subprocess
#option to runreport
def run_report():
# ElementTree calls
xmlMUWWebServiceCallLine = " webserviceUrl=" + webserviceUrlInput.get() + " firmURL=" + firmUrl.get() + " providerName=" + providerName.get() + " providerId=" + providerId.get() + " meaningfulUseStage=" + str(meaningfulUseStage) + " periodYear=" + str(periodYear)
# , firmUrl, providerName, providerId, meaningfulUseStage, reportYear, meaningfulUsePeriod)
root = Element('xmlEMACares')
tree = ElementTree(root)
xmlMUWWebServiceCall = SubElement(root, 'xmlMUWWebServiceCall')
argOutput = SubElement(xmlMUWWebServiceCall, str(xmlMUWWebServiceCallLine))
# xmlMUWWebServiceCallClose = SubElement('xmlMUWWebServiceCall')
# xmlEMACaresClose = Element("xmlEMACares")
# xmlMUWebServiceCalls = Element('xmlMUWWebServiceCalls')
print etree.tostring(root)
print etree.tostring(xmlMUWWebServiceCall)
print etree.tostring(argOutput)
#print etree.tostring(xmlMUWWebServiceCallClose)
#print etree.tostring(xmlEMACaresClose)
#print etree.tostring(xmlMUWebServiceCalls)
#ElementTree.write(tree, 'emaCaresAutomation.xml', method="xml", encoding='utf-8', xml_declaration=True,)
#################################################################################GUI###############################################################################################################################################################################
##################################################################################################################################################################################################################################################################
#Root window
root = Tk()
#set windows minimum size
root.minsize(350,300)
root.geometry("250x400")
#set window name
root.wm_title("EMACares - Meaningful Use")
#Label for webserviceUrlInput
webserviceUrlInputLabel = Label(root, text="What is the full practice URL: ")
webserviceUrlInputLabel.pack()
#Entry for webserviceUrlInput
webserviceUrlInput = StringVar()
webserviceUrlInputTk = Entry(root, textvariable=webserviceUrlInput, width=40)
webserviceUrlInputTk.delete(0, END)
webserviceUrlInputTk.pack()
#Label for providerName
firmUrlLabel = Label(root, text="What is the URL prefix? ")
firmUrlLabel.pack()
#Entry for firmUrl
firmUrl = StringVar()
firmUrlTk = Entry(root, textvariable=firmUrl)
firmUrlTk.delete(0, END)
firmUrlTk.pack()
#Label for providerName
providerNameLabel = Label(root, text="What is the providers name? ")
providerNameLabel.pack()
#Entry for providerName
providerName = StringVar()
providerNameTk = Entry(root, textvariable=providerName)
providerNameTk.delete(0, END)
providerNameTk.pack()
#Label for providerId
providerIdLabel = Label(root, text="What is the providers ID? ")
providerIdLabel.pack()
#Entry for providerId
providerId = StringVar()
providerIdTk = Entry(root, textvariable=providerId)
providerIdTk.delete(0, END)
providerIdTk.pack()
#Label for meaningfulUseStage list
providerIdLabel = Label(root, text="Please select a Meaningful Use Stage: ")
providerIdLabel.pack()
#meaningfulUseStage list selection
meaningfulUseStageList = Listbox(root, selectmode=MULTIPLE, height=4, width=30)
meaningfulUseStageList.pack()
for item1 in ["STAGE_1", "MODIFIED_SCHEDULED_STAGE_1", "STAGE_2", "MODIFIED_SCHEDULED_STAGE_2"]:
meaningfulUseStageList.insert(0, item1)
#print meaningfulUseStageList.selection_get()
meaningfulUseStageCurse = meaningfulUseStageList.curselection(item1, list.curseselection())
meaningfulUseStageList = meaningfulUseStageList.get(meaningfulUseStageCurse)
#Label for periodYear
periodYearLabel = Label(root, text="Please the reporting year: ")
periodYearLabel.pack()
#periodYear list selection
periodYearList = Listbox(root, selectmode=SINGLE,height=5, width=30)
periodYearList.pack()
for item2 in ["2012", "2013", "2014", "2015", "2016"]:
periodYearList.insert(END, item2)
periodYear = periodYearList.curselection()
#button to run report with settings above
button1 = ttk.Button(root, text = 'Run Report', command=run_report)
button1.pack()
###################################################################################################################################################################################################################################################################
mainloop()
root.mainloop()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment