---
title: Utility report (MAGIC NUI Workstation only) for displaying all available NPR Icons
description: Steps for creating a MEDITECH NPR report that displays all of the bitmaps (from NPR.BMP) that are connected to icons.
---

[![IPeopleHealthcare_White](https://blog.ipeople.com/hubfs/IPeopleHealthcare_White.png)](https://www.ipeople.com/)

- [Home](https://www.ipeople.com)
- Products 
    - [Professional Services](https://www.ipeople.com/products/meditech-services/)
    - [Downtime Product Suite](https://www.ipeople.com/products/suite)
- [Benefits](https://www.ipeople.com/benefits)
- [About](https://www.ipeople.com/about)
- [Contact](https://www.ipeople.com/contact)
- [IPeople Blog](https://blog.ipeople.com)

May 16, 2022

# Utility report (MAGIC NUI Workstation only) for displaying all available NPR Icons

Users can attach "Icons" from the NPR.ICON dictionary to "Desktop" style menus for the NUI Workstation. 

These are the steps for creating a report that displays all of the bitmaps (from NPR.BMP) that are connected to icons:

1. Create a report with Report DPM NPR.ICON with the following Report Title:  
   "\_%NPR.ICON.zcus.report.M.review("")\_"  
   You will need to replace 'report' with the name of your report.
2. File and translate your report.
3. Create a macro called 'review' with the following code:  
   `IF{/DONE;`  
   `   1^/DONE^/Z.SCHED.LOG^/R.FRAGMENT,`  
   `   @Not(@.gui) @W.err("This report should be run from the NUI Workstation only!");`  
   `   @SETUP,`  
   `   @GET.TEMP.LIST,`  
   `   @DISPLAY,`  
   `   @CLEAN.UP},`  
   `END;`
   
   `DISPLAY`  
   `""^CNT^NUM^DONE,`  
   `DO{+(/TEMP[CNT],filename)^CNT&@Not(DONE) @DISPLAY.ICON}`
   
   `DISPLAY.ICON`  
   `@Mouse.pointer(@Z.mouse.ptr.hour.glass),`  
   `IF{@Add(1,NUM)\15=0 84;NUM\15-1*6}^COL,`  
   `NUM-1/15*3^ROW,`  
   `TITLE_"\"_filename^FILE,`  
   `@Pos(ROW,COL)^#,`  
   `@Button.create(11,10,5,100,50,0,FILE)^/ICON.HANDLE[CNT],`  
   `CNT^/HANDLE.MAP[/ICON.HANDLE[CNT]],`  
   `@Button.tooltip(/ICON.HANDLE[CNT],"Please click here for info on bitmap "_filename),`  
   `IF{NUM=105!@Not(+/TEMP[CNT]) @Mouse.pointer(@Z.mouse.ptr.std.arrow),`  
   `                             @REMOVE.BUTTONS}`
   
   `REMOVE.BUTTONS`  
   `%Z.init.build.folders("T")^TBF,`  
   `@Pos(23,20)^#,`  
   `@Button.create(11,10,5,100,50,0,TBF_"\"_"left arrow.bmp")^PREV,`  
   `@Button.tooltip(PREV,"Previous set of bitmaps"),`  
   `@Pos(23,40)^#,`  
   `@Button.create(11,10,5,100,50,0,TBF_"\"_"exit.bmp")^EXIT,`  
   `@Button.tooltip(EXIT,"Exit"),`  
   `@Pos(23,60)^#,`  
   `@Button.create(11,10,5,100,50,0,TBF_"\"_"right arrow.bmp")^NEXT,`  
   `@Button.tooltip(NEXT,"Next set of bitmaps"),`  
   `IF{@Not(+/TEMP[CNT]) @Button.disable(NEXT)},`  
   `IF{@Not(-/TEMP[CNT-104]) @Button.disable(PREV)},`  
   `DO{#R[0,0,0,X]^X,#Y^y,`  
   `   IF{y=@Z.mouse.click @Button.query("")^MOUSE,`  
   `                       IF{MOUSE=PREV "Previous";`  
   `                          MOUSE=EXIT "Exit";`  
   `                          MOUSE=NEXT "Next";`  
   `                          @OTHER.BUTTONS};`  
   `      (y=@Z.exit)!(y=@Z.esc.key) "Exit";`  
   `      y=@Z.down.shift&+/TEMP[CNT] "Next";`  
   `      y=@Z.page.down&+/TEMP[CNT] "Next";`  
   `      y=@Z.down&+/TEMP[CNT] "Next";`  
   `      y=@Z.right.10.chars&+/TEMP[CNT] "Next";`  
   `      y=@Z.next.section&+/TEMP[CNT] "Next";`  
   `      y=@Z.next.field&+/TEMP[CNT] "Next";`  
   `      y=@Z.up.shift&-/TEMP[CNT-104] "Previous";`  
   `      y=@Z.page.up&-/TEMP[CNT-104] "Previous";`  
   `      y=@Z.up&-/TEMP[CNT-104] "Previous";`  
   `      y=@Z.left.10.chars&-/TEMP[CNT-104] "Previous";`  
   `      y=@Z.previous.section&-/TEMP[CNT-104] "Previous";`  
   `      y=@Z.previous.field&-/TEMP[CNT-104] "Previous"}^CH_.=.},`  
   `""^X,`  
   `DO{+(/ICON.HANDLE[X],HANDLE)^X @Button.expunge(HANDLE),`  
   `                               ""^/ICON.HANDLE[X]},`  
   `@Button.expunge(PREV),`  
   `@Button.expunge(EXIT),`  
   `@Button.expunge(NEXT),`  
   `@Pos(0,0,"")S^#,`  
   `IF{CH="Exit"^DONE;CH="Previous" @Sub(NUM+105,CNT)},`  
   `""^NUM^CH^HANDLE`
   
   `OTHER.BUTTONS`  
   `IF{@Not(/HANDLE.MAP[MOUSE]^CLICK);`  
   `   /TEMP[CLICK]^filename,`  
   `   "Bitmap "_filename_" last updated on "_%Z.date.clin.to.out(@NPR.BMP.last.update)^/WIN.TITLE,`  
   `   "Bitmap "_filename_" is used with the following icons:"^/.WO[-/.WO[""]+1],`  
   `   ""^mnemonic,`  
   `   DO{@Next(mnemonic,type.x) mnemonic^/.WO[-/.WO[""]+1]},`  
   `   %Z.wm.macro(1,0,0)},`  
   `""`
   
   `GET.TEMP.LIST`  
   `ZZ%K(/TEMP),`  
   `"DESKTOP"^use,`  
   `""^filename,`  
   `DO{@Next(filename,type.x) filename^/TEMP[-/TEMP[""]+1]}`
   
   `SETUP`  
   `@Cursor.off("")^#,`  
   `@Window.centered(27,92,1)^#,`  
   `%Z.init.build.folders("B")^TITLE,`  
   `@Dos.ws.header("Bitmaps from folder "_TITLE)`
   
   `CLEAN.UP`  
   `ZZ%K(/TEMP,/ICON.HANDLE,/HANDLE.MAP),`  
   `@Window.close("")^#,`  
   `@Cursor.on("")^#`
4. File and translate your macro.

When you run the report you will get a window with a display of all of the available 'Desktop' style icons.

 Topics: [MEDITECH](https://blog.ipeople.com/topic/meditech), [Magic System](https://blog.ipeople.com/topic/magic-system), [NPR Report](https://blog.ipeople.com/topic/npr-report)

## You Might Also Enjoy

<https://blog.ipeople.com/use-npr-report-to-write-to-the-windows-clipboard-meditech-cs>

#### [Use NPR Report to write to the Windows Clipboard (MEDITECH CS)](https://blog.ipeople.com/use-npr-report-to-write-to-the-windows-clipboard-meditech-cs)

You can use the following steps to write data to your Windows clipboard from an NPR ...

<https://blog.ipeople.com/use-npr-report-to-write-to-the-windows-clipboard-magic>

#### [Use NPR Report to write to the Windows Clipboard (MAGIC)](https://blog.ipeople.com/use-npr-report-to-write-to-the-windows-clipboard-magic)

You can modify your report so that everything that prints is sent to your Windows ...

<https://blog.ipeople.com/pgm.name-returns-the-name-of-the-current-meditech-npr-procedure>

#### [Pgm.name returns the name of the current MEDITECH NPR Procedure](https://blog.ipeople.com/pgm.name-returns-the-name-of-the-current-meditech-npr-procedure)

@Pgm.name is an NPR Programming Macro that can come in handy, especially when using the ...

<https://blog.ipeople.com/meditech-npr-magic-macro-editor-keystrokes>

#### [MEDITECH NPR (Magic) Macro Editor Keystrokes](https://blog.ipeople.com/meditech-npr-magic-macro-editor-keystrokes)

This is a list of the keystrokes available in Meditech's NPR (MAGIC) Macro editor. Some ...

<https://blog.ipeople.com/print-screens/reports/macros/procedure-logic-for-npr-procedures-in-meditech-c/s>

#### [Print Screens/Reports/Macros/Procedure Logic for NPR Procedures in MEDITECH C/S](https://blog.ipeople.com/print-screens/reports/macros/procedure-logic-for-npr-procedures-in-meditech-c/s)

Select the Report DPM NPR.PROC Enter a report name (any name you like) Page 1 will need a ...

[![IPeopleHealthcare_FullColor](https://blog.ipeople.com/hubfs/IPeopleHealthcare_FullColor.png)](https://www.ipeople.com/)

#### CONTACT

- [+1-214-222-1125](tel:+1-214-222-1125)
- [support@ipeople.com](mailto:support@ipeople.com)
- [sales@ipeople.com](mailto:sales@ipeople.com)

#### [JOIN OUR TEAM](https://ipeople.bamboohr.com/jobs/)

#### FOLLOW

- [![Facebook](https://blog.ipeople.com/hubfs/Facebook.svg)](https://www.facebook.com/IPeoplehealthcareTX)
- [![Instagram](https://blog.ipeople.com/hubfs/Instagram.svg)](https://www.instagram.com/interfacepeople/)
- [![Linkedin](https://blog.ipeople.com/hubfs/Linkedin.svg)](https://www.linkedin.com/company/ipeople-healthcare)
- [![Twitter](https://blog.ipeople.com/hubfs/Twitter.svg)](https://twitter.com/InterfacePeople)
- [![email_icon](https://blog.ipeople.com/hubfs/email_icon.svg)](mailto:support@ipeople.com)

 

![](https://blog.ipeople.com/hubfs/IPeople_2022_Aug/Images/Home/arrow-up.png)