New NPR Course Offerings

Iatric Systems is pleased to offer the following NPR Training sessions hosted by Greater Baltimore Medical Center in Baltimore, Maryland.

Class Details:
Type Dates Cost
Beginner / Intermediate September 13 – 15, 2011 $750 per seat
Intermediate / Advanced October 10 – 12, 2011 $750 per seat
Please visit our website for more information.  If you are interested in attending, please contact Karen Roemer at or 978-805-3142.


NPR Report Writing Tips

by Joe Cocuzzo, Iatric Systems Vice President – NPR Services

Avoiding Fragments (Client/Server Only)

The “official” technique for crossing applications in an NPR report is to write another report as a fragment and call it via a utility program The fragment then takes over and prints or puts some data in /R.FRAG.VAL that you use back in some computed fields or an “MV” array back in the main report to print the data from the other application.

Fragments allow you to cross applications without needing to write any loops, but they carry a sizable performance penalty. Running our example report for one month at a LIVE site took 3.7 minutes to export 855 patients. A fragment version took more than twice as long to export the same set of records. (Also, it is more difficult to maintain a main report and one or more fragment reports, especially as the fragment calls tend to be hidden in line checks, ECB attributes or computed fields.)

In MAGIC, because there are only 10 prefixes, crossing applications without fragments is more complicated, requiring the programmer to “stack” or save prefixes open to one application, open them to another, retrieve data, then “unstack” or re-open the prefixes to the original application. A mistake will cause your report to crash or end prematurely. A mistake in a report called by a standard routine (a custom OE order format, a MAR, an eMAR or a PHA profile fragment) may cause applications to misbehave.

In Client/Server (C/S), MEDITECH creates unique prefixes per application, so it is possible (and relatively easy) to open all applications needed at the start of a report and have all data, indexes and programs available in the same report.

This month, we will show how to write a Client/Server Abstracting report that goes from Abstracting to MRI to get patient address information. This is a typical “fundraising” type report, which often needs to include patients who have been purged from ADM. ABS data does not purge and is nicely indexed by discharge date and patient type. (You could write the report in B/AR, but that would spoil our nice example.)

Step one is to select a detail segment and index:

We want inpatients for a discharge date range and the “” will allow us to do an index based selection by @pt.status and

We want to de-duplicate our list, and send just one record per patient, so we suppress the detail region of the report:

In Report Writer classes, I call this a “Nancy Reagan” report as in “Just Say No to Detail.”

To print one record per patient (versus one per account) we add a KEY region for mri.urn, after we sort the records by name.

You could either use a Header Key or a Trailer Key for mri.urn, the report functions identically with either option.

Then we set up selections:

We want the “IN” patients for a range, and only patients 18 years or older. This is typical for a survey or fundraising.

We also do not want to send to expired patients, and we don’t want to just screen out @discharge.disposition NE “E” as you might have a patient with prior visits in your pool of records, so we will use a computed field to check the patient’s final discharge disposition in MRI:

In the picture, we make a computed field for each column header, with the “VAL” equal to the text we would like to see for each column. If we typed the column headers into the picture, the text would not include a delimiter. If we use computed fields, our FD footnote will provide the desired delimiter automatically.

(Side note, in October 2008 one of our tips describes a utility Z macro that could be used for both C/S and MAGIC reports to automatically produce header fields. You can check it out at: That utility uses the field name or whatever you put in a HEADER= attribute as the column header and you just call it in the HR from an ECB or LC or footnote.)

Next we add fields from MRI.PAT and MRI.DRC to our field list, and place them in the HK2 region:

Then we need to create our computed field that excludes expired patients. We check to see if the discharge disposition stored in MRI.PAT has been flagged as Expired in the MIS dictionary. Most hospitals use “E” and just have one code, but it is just a bit safer and more universal to check the flag.

(Side note, MAGIC MRI has a field @exp date that can be used to indicate the patient died outside of the hospital. This field was created way back in release 4.6 or so. Since C/S MRI was based on 4.5, it lacked (and still lacks) this field. This means that C/S sites do not have an easy mechanism to flag patients as expired outside of the hospital.)

Do not be confused by the fields and @expire.time in MRI.PAT (both platforms), these are dates used for MRI purges.

You might wonder how the report has the value of the mri.urn so that the field @MRI.PAT.discharge.disposition can be found:

Recall that we included a sort in our report of @mri.urn. The translator creates a set of loops through the temp sort index (or the permanent index if you do not alter the sorts) using the local variables from the data definition. This means that in the HK2 region, the value of “ea” is available for each patient.

If you watch the translation messages, you can see what the local variables are going to be for your report:

The macro needs to be “attached” to the report with a footnote, along with the footnotes we need to make the report a tab delimited download.

And if we run the report, we get a nice tab delimited download file. The little squares are the tabs. Tab delimiters have the advantage that they won’t ever be found in data, unlike commas, pipes, or semi-colons. Plus they save one mouse click in the Excel text import Wizard.

This example report has been posted to our C/S report library:

You can find additional NPR Tips on our website at, as well as information about our on-site NPR Report Writer Training and NPR Report Writing Services.

Upcoming NPR Training Opportunities:

We are pleased to offer NPR Report Writer training sessions at host sites.  Details and a course description are available on our website at

Location Level Instructor Date Cost
John Muir Health
Walnut Creek, CA
Intermediate / Advanced Richard Serrano March 23-25, 2011 $750
Greater Baltimore Medical Center
Baltimore, MD
Beginner / Intermediate Jim Fahnestock September 13-15, 2011 $750
Greater Baltimore Medical Center
Baltimore, MD
Intermediate / Advanced Philip Sherry October 10-12, 2011 $750

To subscribe for email notifications for new classes, please follow this link:

For more information or to reserve a seat, please contact Karen Roemer at 978-805-3142 or email

(This article originally appeared in the March 2011 issue of Iatric Systems’  Updates! newsletter.)

MUSE Training: How to be more productive

How do I manage my projects?

  • Project Management 101
  • Qualities of a Successful Project Manager
  • Integration and Adoption using the Physician Care Manager in 6.0

How do I train?

  • Designing Optimal Training for Your 6.0 Upgrade
  • Key Strategies to Enhance the Patient Experience through Effective Use of the EHR

How do I get money?

  • Grant Writing:  Tips for Success

How do I get MEDITECH data?

  • 6.0 Report Writer Training
  • Intermediate NPR Report Writer Training
  • Magic Syntax for NPR Report Writers
  • A Report Writers Bag of Tricks
  • Thinking Outside of the Box with NPR Report Writer
  • NPR Report Writing for the Nursing Module
  • DR Reporting Made Easy with Report Builder 3.0
  • PHA Report Writing
  • SQL Tips and Best Practices for MEDITECH’s DR
  • PHA Clinical Rules and NPR – Magic/Client Server 5.6 and Beyond …
  • Intriguing HL7

Register for Tuesday Training.


2011 International MUSE: Educational Presentations

301 – Protecting Patient Privacy in an Ever Changing Environment
Presenter:  James Lawson
Organization: Iatric Systems, Inc.

302– MEDITECH 6.X Contracting – Legal Insight and Advice
Presenter: William F. O’Toole, Jr.
Organization: O’Toole Law Group

303 – NPR Tips and Tricks – Fun with Printers, Files and Executables
Presenter: Joe Cocuzzo
Organization: Iatric System

304 – Sometimes It Feels Like WRECKonciliation
Presenter: Michelle Schneider
Organization: Iatric System

305 – Why are ONC and Meaningful Use Important to the Revenue Cycle?
Presenter: Kay Jackson
Organization: Iatric System

306 – What’s the Real Story Behind Denial Management?
Presenter: Kay Jackson
Organization: Iatric Systems

307 – Mobile Madness
Presenter: Steve Walker
Organization: Iatric Systems

308 – Survive Post Payment Audits 101
Presenter: Kay Jackson
Organization: Iatric Systems

309 – The Transition from NPR to FOCUS Report Writing Functionality
Presenter: Dana Holmes
Organization: The IN Group, Inc.

310 – Optimizing Pharmacy Workflow in a CPOE Environment
Presenter: Steve Botwinski
Organization: The In Group, Inc.

311 – e]MAR/BMV Optimization with Rules and Custom Reports
Presenter: Bruce Matthias
Organization: The In Group, Inc.

312 – Integrating REMS into your MEDITECH System
Presenters: Yvonne Birek and Bryce Ouellet
Organization: The In Group, Inc.

313 – Pediatric Dosing Optimization and Medication Safety
Presenter: Yvonne Birek
Organization: The In Group, Inc.

314 – Physician Adoption – Getting Them to the Table and Having Them Stay For Dessert
Presenters: Teri Young R Hise and Charlotte Robey
Organization: Beacon Partners and Fauquier Hospital

315 – The New Build for AOM/RXM to Support ePrescribing
Presenter: Jose Castro
Organization: The IN Group, Inc.

316 – Leveraging Pharmacy for use with CPOE in MEDITECH 6.0
Presenter: Bryce Ouellet
Organization: The IN Group, Inc.

317 – IT Organizational Models
Presenter: Roberta MacDonald
Organization: Beacon Partners

318 – What Are Meaningful Metrics?
Presenter: Roberta MacDonald
Organization: Beacon Partners

319 – Medication Reconciliation: Before CPOE
Presenters: William Salemi and Shann Ludwig
Organization: Santa Rosa Consulting, Inc.

320 – BMV Metrics: Monitoring for Success
Presenters: Becky Dawson and Susan Haviland
Organization: Santa Rosa Consulting, Inc.

321 – Don’t Be Denied
Presenter: Deborah Meredith
Organization: Santa Rosa Consulting, Inc.

322 – Prepare for MEDITECH 6.0 Financials
Presenter: Deborah Meredith
Organization: Santa Rosa Consulting, Inc.

323 – Update on Clinical Surveillance – Creating a Clinical Review Display Board
Presenter: Bruce Matthias
Organization: The In Group, Inc.

324 – Understanding Project Healthcare IT Risk Management
Presenter: Mary Moewe
Organization: Iatric Systems, Inc.

325 – Personal Health Records and Healthcare Consumerism
Presenter: Mark Johnson
Organization: Iatric Systems, Inc.

326 – NPR Report Writer Debugging Tactics
Presenter: Rita Huneycutt
Organization: CSC

327 – Clinical Documentation Optimization
Presenters: Tania Cutone, Tammie Profitko, and Bryanne Winbourne
Organization: Chilton Hospital and Cornerstone Advisor

328 – HIPAA 5010 – Don’t Be Left Behind – The Deadline is Approaching
Presenter: Barbara DaRosa
Organization: CSC

329 – Care Plans in the EMR
Presenter: Katey Ortlieb
Organization: Beacon Partners

330 – Guide to User Provisioning in 6.0
Presenter: Lucy Nelson
Organization: Beacon Partners

331 – Tracking I.T. Hardware through MM Equipment Management
Presenter: Charles Spurgeon
Organization: Beacon Partners

332 – ARRA & Physician Documentation in the Clinic Setting
Presenter: Donna Perry
Organization: Beacon Partners

333 – Best Practices in Documentation: Are You Getting the Most Out of Your Charting?
Presenter: Shannon Lyons
Organization: Beacon Partners

334 – Inspiring Reporting Options in the World of 6.0
Presenter: Glen D’Abate
Organization: Acmeware, Inc.

335 – Meeting “Meaningful Use” in the Community Hospital: A MEDITECH Client Server 5.64
and 6.0 Experience
Presenters: Mary Jo Nimmo, Edward Ricks, and James D’itri
Organization: Lenoir Memorial Hospital, Beaufort Memorial Hospital, and CSC

336 – Affiliate Physician Strategies: Using Information Technology to Earn Loyalty
Presenter: Robert J Schwartz, M.D
Organization: Dearborn Advisors, LLC

337 – ICD]10 and MEDITECH: All Aboard?
Presenter: Bob Witkop
Organization: CTG Healthcare Solutions

338 – TAR or: How I Learned to Stop Worrying and Love the Automated Transfusion Record
Presenter: Don Newton
Organization: CTG Healthcare Solutions

339 – MEDITECH CS 5.6 or 6.0 – What’s the Difference?
Presenter: Debbie Martin
Organization: Dearborn Advisors, LLC

340 – A Day in the Life – A 6.0 Real]time Demonstration
Presenters: Jeff Battles and Debbie Martin
Organization: St. Bernards Medical Center and Dearborn Advisors

341 – MEDITECH Systems Update 2011
Presenter: Corrine Cutler
Organization: Dell Services

342 – MEDITECH Magic to MEDITECH 6.0 Migration – The Magnitude of New Features,
Conversions, and Rebuilding that You Need to Find Out About Before you Start
Name: Ed Ricks and Nathia Karasch
Organization: Beaufort Memorial Hospital and Summit Healthcare

343 – Who am I today? Understanding the Many Facets of User Provisioning in MEDITECH 6.0
for Large and Small Market Hospitals
Presenter: Rene McKinnon
Organization: Vitalize Consulting Solutions

344 – MEDITECH 6.0: Lessons Learned
Presenter: Jan Moore
Organization: Dell Services

345 – Migrating from MAGIC to 6.0? Understand the Integration and Functionality between
the OM/EMR and LAB Applications
Presenter: Nichole Malone
Organization: HealthNET Systems Consulting

346 – Physician Care Manager (CPOE, MEDREC, eRX, PWM, and PDOC) – Navigating
Development and Optimization Opportunities
Presenter: Chad Turner
Organization: HealthNET Systems Consulting

347 – HIE – A Transforming Strategy, A Platform of Systems
Presenter: Mary Kasal
Organization: Cornerstone Advisors Group

348 – Scanning and Archiving and 6.0
Presenter: Denis Brideau
Organization: Dell Services

349 – Preparing for ICD]10
Presenter: Jeanette Frank
Organization: Dell Services

350 – Accountable Care Organizations: What are They and How Do We Prepare?
Presenter: Charlotte Hovet, MD
Organization: Dell Services

Read the complete descriptions.

Iatric Systems offers new Beginner/Intermediate NPR class

A new NPR class has been scheduled:

Site: Greater Baltimore Medical Center
Location: Baltimore, MD
Dates: 9/13/2011-9/15/2011
Class: Beg/Int
Status: Fee for Seat
Instructor: Jim Fahnestock

Visit the Iatric Systems website, for more information.


NPR Class

Iatric Systems is offering an NPR class in Baltimore, Maryland  October 10-12.

From To Client/Location Class System Status Instructor
10/10/2011 10/12/2011 Greater Baltimore Medical Center
Baltimore, MD
Karen Roemer
C/S Fee for Seat Philip Sherry
(978) 805-4145

For more information, visit or contact Phil Sherry or Karen Roemer.

MEDITECH 6.0 Reports

Did your organization migrate to Windows Vista? Will your organization implement production reports using the Report Designer?  MEDITECH Report Writers can only hope that MEDITECH Development is working on a new and improved version of the Report Designer.  Here’s a little review … 6.0 has been in the works for 5+ years

Read more.

Iatric Systems Offers NPR Training in March 2011

Iatric Systems is pleased to offer an Intermediate/Advanced NPR training session hosted by John Muir Health in Walnut Creek, California. Walnut Creek is approximately 30 minutes from the Oakland International airport, and also accessible from the San Francisco airport.

Class Details:

Instructor Dates Cost
Richard Serrano March 23 – 25, 2011 $750 per seat

Topics to Include:

  • Using fragments to return values and select records
  • Handy MEDITECH Standard Programs to use in Reports
  • Writing Macros
  • MV Arrays
  • Control Structures – IF Statements and DO Loops
  • Magic + and – operators
  • Next, Previous and Looping Operators
  • Looping MEDITECH data structures
  • ECB and ECE Loops
  • Converting MEDITECH Standard Reports when INIT REPORT FROM STD fails

If you are interested in attending, please contact or call Karen at 978-805-3142.

Learn more.

Meditech-L: Need Help with NPR Report Calculate date to select by = DOW 1-7,0-N) will subtract N days from any date and give you the date.

Combine these in a start macro to put your date range into /FROM and /THRU and then use those in your selections.

If “a whole week from two weeks ago” means back up to the current week’s Sunday and then go back two weeks from that to get to the start date:^DOW,,0-(DOW-1))^SUN,,0-14)^/START,,7)^/END

Posted to the Meditech-L by Joe Cocuzzo, Vice President of NPR Services at Iatric Systems, Inc.

January 2011 NPR Report Writing Tips

by Joe Cocuzzo, Iatric Systems Vice President of NPR Services

Type-Ahead lookup (MAGIC Only)

It is possible to create a lookup field on an NPR report that exploits a “type-ahead” Z program available in MEDITECH MAGIC. The program works in both the 3.x and 4.x versions of the MEDITECH Remote Workstation. You get <OK> and <CANCEL> buttons if you are in the 4.x version.

“Type-ahead” behavior is useful if you want to zero in on the appropriate values rather than enter a partial value and then press the F9 key and hunt down or up the list.

As an example, we will create a report that does a “type-ahead” lookup on user names.

First, create a simple report in the main segment (mis.users) of the MIS.USER dictionary and add two select fields:

January Tip 1

Next, write a macro as a program and call the MEDITECH program in that macro.

For this report we call the macro “id” so the program is
There are a lot (A – R) of arguments that are documented at the top of the program, but here is what we pass:

A = ^/GUN or the “name of” the name index.
B = A (the value that the user entered in the report screen)
C = “Name”:30TL_” Mnemonic” this is the header we want per screenful of lookup entries
D = MN:30TL_”_D(34)_” “_D(34)_CD:41TL” or the line of code that will display each entry MN = the name subscript CD = the mnemonic
E = “AR” the lookup options (A for Active Only R for Reject New Entries)
F = “Users by Name”:50TL our title for the lookup window . Note that the length of the string determines the width of the lookup window. If you make it too narrow your data will wrap.
G = Number of lines “down” to start data listing
H = Q(30,0,0,””) Length of select prompt and start row and column
I = If true, show exact matches only
J = If true the structure is an index (we send 1 here as \GUN[lookup name, mnemonic] is the name index in MIS.USER)
K = If true the structure is a dictionary (we send nil here as \GUN is not a dictionary)

Our macro code (first line is broken here so the entire line is displayed):

January Tip 2

When we call the program, it returns the mnemonic of the selected entry, and we store that in /SELECT so that the report knows which user to print.
We return both the mnemonic and name, so both display in the free text prompt.

If we enter a partial name and hit the F9 key:

January Tip 3

We get a lookup which has type ahead behavior and we can add to the string to narrow down to the value we want to pick:

January Tip 4

A copy of this example report, has been posted to our MAGIC NPR report library.


The program has documentation of arguments as comments at the top of the program, as is typical of most NPR procedures. To view them, use the F4 key in a macro and then enter \ and the name of the procedure. A lookup is available of procedures. You can use the same technique to copy the source code of programmer NPR R/W macros, except that (in MAGIC only) you need to type the name of the macro exactly. In Client Server you can use the F5 key then enter the DPM, enter M<space>procedure name and get a lookup of macro names.

You can find additional NPR Tips on our website at, as well as information about our on-site NPR Report Writer Training and NPR Report Writing Services.

Upcoming NPR Training Opportunities:

We are pleased to offer NPR Report Writer training sessions at host sites.  Details and a course description are available on our website at

Location Level Instructor Date Cost
John Muir Health
Walnut Creek, CA
Intermediate / Advanced Richard Serrano March 23-25, 2011 $750

To subscribe for email notifications for new classes, please follow this link:

For more information or to reserve a seat, please contact Karen Roemer at 978-805-3142 or email

(This article originally appeared in the January 2011 issue of Iatric Systems’  Updates! newsletter.)