960 likes | 1.27k Views
MUSE 2003 NPR Tips and Tricks. Presented by: Joe Cocuzzo, VP NPR RW Group Joel Berman, President. Custom Lookups / ID or IFE attribute (M) Custom Lookups/ Screen Call in Title (C/S) Using Standard Report Screen (M) Printing Accented Text (M) Calendar Reports (M and C/S)
E N D
MUSE 2003 NPR Tips and Tricks Presented by: Joe Cocuzzo, VP NPR RW Group Joel Berman, President
Custom Lookups / ID or IFE attribute (M) Custom Lookups/ Screen Call in Title (C/S) Using Standard Report Screen (M) Printing Accented Text (M) Calendar Reports (M and C/S) Auto-refresh Report (M) Topics
Custom ID Examples • Custom list of doctors (M) • Employee ID with no SSN shown (M) • RAD reports ordered by you (M) • Rounds report with pop up multi-select box (C/S)
Custom List of Doctors • Write Macro attached to report • Macro builds list of doctors • Macro calls Meditech Z.id.dict.color • Attach Macro via Edit Attributes
IF{'/LOADED @BUILD.DICTIONARY}, %Z.id.dict.color(^/DOCS,A,"Mnemonic":12TL_("Name":32TL)_("Group":10TL), "CD:12L_([A,CD]|1:32TL)_([A,CD]|2)",B,"Your Doctors "); BUILD.DICTIONARY @.user^MIS.USER.mnemonic, DO{@Next(MIS.USER.doctor) 1, Q("Y",@MIS.DOC.DICT.name[MIS.USER.doctor])^/DOCS[MIS.USER.doctor]}, DO{@Next(MIS.USER.doctor.group) MIS.USER.doctor.group^MIS.DOC.DICT.dr.group, DO{@Next(MIS.DOC.DICT.mnemonic,@MIS.DOC.DICT.doctor.group.x) 1, Q("Y",@MIS.DOC.DICT.name,MIS.DOC.DICT.dr.group)^/DOCS[MIS.DOC.DICT.mnemonic]}}, 1^/LOADED
IF{'/LOADED @BUILD.DICTIONARY}, %Z.id.dict.color(^/DOCS,A,"Mnemonic":12TL_("Name":32TL)_("Group":10TL), "CD:12L_([A,CD]|1:32TL)_([A,CD]|2)",B,"Your Doctors "); BUILD.DICTIONARY @.user^MIS.USER.mnemonic, DO{@Next(MIS.USER.doctor) 1, Q("Y",@MIS.DOC.DICT.name[MIS.USER.doctor])^/DOCS[MIS.USER.doctor]}, DO{@Next(MIS.USER.doctor.group) MIS.USER.doctor.group^MIS.DOC.DICT.dr.group, DO{@Next(MIS.DOC.DICT.mnemonic,@MIS.DOC.DICT.doctor.group.x) 1, Q("Y",@MIS.DOC.DICT.name,MIS.DOC.DICT.dr.group)^/DOCS[MIS.DOC.DICT.mnemonic]}}, 1^/LOADED
IF{'/LOADED @BUILD.DICTIONARY}, %Z.id.dict.color(^/DOCS,A,"Mnemonic":12TL_("Name":32TL)_("Group":10TL), "CD:12L_([A,CD]|1:32TL)_([A,CD]|2)",B,"Your Doctors "); BUILD.DICTIONARY @.user^MIS.USER.mnemonic, DO{@Next(MIS.USER.doctor) 1, Q("Y",@MIS.DOC.DICT.name[MIS.USER.doctor])^/DOCS[MIS.USER.doctor]}, DO{@Next(MIS.USER.doctor.group) MIS.USER.doctor.group^MIS.DOC.DICT.dr.group, DO{@Next(MIS.DOC.DICT.mnemonic,@MIS.DOC.DICT.doctor.group.x) 1, Q("Y",@MIS.DOC.DICT.name,MIS.DOC.DICT.dr.group)^/DOCS[MIS.DOC.DICT.mnemonic]}}, 1^/LOADED
Dictionary Structure /NODE[subscript] = “Y”|”NAME” /NODE[subscript] = Q(“Y”,”NAME”) \GGG[SMITJ] = “Y”|”SMITH,JOHN”
Build a dictionary Q(“Y”,”SMITH,JOHN”)^/DOCS[“SMITHJ”] Alternative syntax: {“Y”,”SMITH,JOHN”}^/DOCS[“SMITHJ”]
Call Z.id.dict.color • A= Name of the structure ^/DOCS • B = A (the value the user entered) • C = The column headers • D = Code to show the data • E = Lookup Options (AR, BR) • F = Title for Lookup Window
Argument A The dictionary “Node” IF{'/LOADED @BUILD.DICTIONARY}, %Z.id.dict.color(^/DOCS,A,"Mnemonic":12TL_("Name":32TL)_("Group":10TL), "CD:12L_([A,CD]|1:32TL)_([A,CD]|2)",B,"Your Doctors "); BUILD.DICTIONARY @.user^MIS.USER.mnemonic, DO{@Next(MIS.USER.doctor) 1, Q("Y",@MIS.DOC.DICT.name[MIS.USER.doctor])^/DOCS[MIS.USER.doctor]}, DO{@Next(MIS.USER.doctor.group) MIS.USER.doctor.group^MIS.DOC.DICT.dr.group, DO{@Next(MIS.DOC.DICT.mnemonic,@MIS.DOC.DICT.doctor.group.x) 1, Q("Y",@MIS.DOC.DICT.name,MIS.DOC.DICT.dr.group)^/DOCS[MIS.DOC.DICT.mnemonic]}}, 1^/LOADED
Argument B What user typed IF{'/LOADED @BUILD.DICTIONARY}, %Z.id.dict.color(^/DOCS,A,"Mnemonic":12TL_("Name":32TL)_("Group":10TL), "CD:12L_([A,CD]|1:32TL)_([A,CD]|2)",B,"Your Doctors "); BUILD.DICTIONARY @.user^MIS.USER.mnemonic, DO{@Next(MIS.USER.doctor) 1, Q("Y",@MIS.DOC.DICT.name[MIS.USER.doctor])^/DOCS[MIS.USER.doctor]}, DO{@Next(MIS.USER.doctor.group) MIS.USER.doctor.group^MIS.DOC.DICT.dr.group, DO{@Next(MIS.DOC.DICT.mnemonic,@MIS.DOC.DICT.doctor.group.x) 1, Q("Y",@MIS.DOC.DICT.name,MIS.DOC.DICT.dr.group)^/DOCS[MIS.DOC.DICT.mnemonic]}}, 1^/LOADED
Argument C Makes Column Header IF{'/LOADED @BUILD.DICTIONARY}, %Z.id.dict.color(^/DOCS,A,"Mnemonic":12TL_("Name":32TL)_("Group":10TL), "CD:12L_([A,CD]|1:32TL)_([A,CD]|2)",B,"Your Doctors "); BUILD.DICTIONARY @.user^MIS.USER.mnemonic, DO{@Next(MIS.USER.doctor) 1, Q("Y",@MIS.DOC.DICT.name[MIS.USER.doctor])^/DOCS[MIS.USER.doctor]}, DO{@Next(MIS.USER.doctor.group) MIS.USER.doctor.group^MIS.DOC.DICT.dr.group, DO{@Next(MIS.DOC.DICT.mnemonic,@MIS.DOC.DICT.doctor.group.x) 1, Q("Y",@MIS.DOC.DICT.name,MIS.DOC.DICT.dr.group)^/DOCS[MIS.DOC.DICT.mnemonic]}}, 1^/LOADED
IF{'/LOADED @BUILD.DICTIONARY}, %Z.id.dict.color(^/DOCS,A,"Mnemonic":12TL_("Name":32TL)_("Group":10TL), "CD:12L_([A,CD]|1:32TL)_([A,CD]|2)",B,"Your Doctors "); BUILD.DICTIONARY @.user^MIS.USER.mnemonic, DO{@Next(MIS.USER.doctor) 1, Q("Y",@MIS.DOC.DICT.name[MIS.USER.doctor])^/DOCS[MIS.USER.doctor]}, DO{@Next(MIS.USER.doctor.group) MIS.USER.doctor.group^MIS.DOC.DICT.dr.group, DO{@Next(MIS.DOC.DICT.mnemonic,@MIS.DOC.DICT.doctor.group.x) 1, Q("Y",@MIS.DOC.DICT.name,MIS.DOC.DICT.dr.group)^/DOCS[MIS.DOC.DICT.mnemonic]}}, 1^/LOADED Argument D Display Lines
Data display argument "CD:12L_([A,CD]|1:32TL)_([A,CD]|2)“ A = Node you passed in as A (/DOCS) CD = subscript (here doctor mnemonic) Mnemonic in 12 spaces Name in 32 spaces Group
IF{'/LOADED @BUILD.DICTIONARY}, %Z.id.dict.color(^/DOCS,A,"Mnemonic":12TL_("Name":32TL)_("Group":10TL), "CD:12L_([A,CD]|1:32TL)_([A,CD]|2)",B,"Your Doctors "); BUILD.DICTIONARY @.user^MIS.USER.mnemonic, DO{@Next(MIS.USER.doctor) 1, Q("Y",@MIS.DOC.DICT.name[MIS.USER.doctor])^/DOCS[MIS.USER.doctor]}, DO{@Next(MIS.USER.doctor.group) MIS.USER.doctor.group^MIS.DOC.DICT.dr.group, DO{@Next(MIS.DOC.DICT.mnemonic,@MIS.DOC.DICT.doctor.group.x) 1, Q("Y",@MIS.DOC.DICT.name,MIS.DOC.DICT.dr.group)^/DOCS[MIS.DOC.DICT.mnemonic]}}, 1^/LOADED Argument E “BR” in this case Both (active/inactive) Reject New
IF{'/LOADED @BUILD.DICTIONARY}, %Z.id.dict.color(^/DOCS,A,"Mnemonic":12TL_("Name":32TL)_("Group":10TL), "CD:12L_([A,CD]|1:32TL)_([A,CD]|2)",B,"Your Doctors "); BUILD.DICTIONARY @.user^MIS.USER.mnemonic, DO{@Next(MIS.USER.doctor) 1, Q("Y",@MIS.DOC.DICT.name[MIS.USER.doctor])^/DOCS[MIS.USER.doctor]}, DO{@Next(MIS.USER.doctor.group) MIS.USER.doctor.group^MIS.DOC.DICT.dr.group, DO{@Next(MIS.DOC.DICT.mnemonic,@MIS.DOC.DICT.doctor.group.x) 1, Q("Y",@MIS.DOC.DICT.name,MIS.DOC.DICT.dr.group)^/DOCS[MIS.DOC.DICT.mnemonic]}}, 1^/LOADED Argument F Tile for Lookup Window
C/S Lookup – Imbed Program In Title • Patient Note for Doctor with a multiple select list • Uses Z.id.vlist with buttons, then report screen comes up. • Use @.user to identify doctor