Creating Lab Group / Data Object for CPRS template

344 views
Skip to first unread message

Bubs

unread,
Jun 19, 2018, 11:29:21 AM6/19/18
to Hardhats
Hello All,

I'm a provider, new to CPRS and Vista. I'm trying to add certain labs to my template that are not currently options in the CPRS template editor (similar to how adding BMP or CMP will display all the labs in that group). How (if possible) do I create a new data object for this? I'd like to create a lab group / data object titled "Hemodialysis labs" which will display a list of lab results for: pre-dialysis BUN, post-dialysis BUN, potassium, hemoglobin, iron saturation, ferritin, calcium, phosphorous, albumin, iPTH.  Any help at all would be greatly appreciated, even it is just to tell me this is not possible. Thanks in advance!

Kevin Toppenberg

unread,
Jun 19, 2018, 4:33:13 PM6/19/18
to Hardhats
There are probably 100 solutions for this problem, I will tell you mine:

CPRS templates will support a thing called TEXT OBJECTS.  And example might be |PATIENT NAME|.  Whenever that is encountered in a note, it will be replaced with the relevant data.   Now this is done on the server through a thing called a TIU TEXT OBJECT.  This maps the name (e.g. PATIENT NAME) to a bit of code that returns a string result.  So if you want to have a custom object to come into your note, then you can write a custom object.  

The creating of these object is typically done from this menu option:  TIUFJ CREATE OBJECTS MGR

Here is a dump of the record for the PATIENT NAME object.  Notice the part: "S X=$$NAME^TIULO(DFN)"

Record# 76, in FILE: 8925.1
   .01-NAME : PATIENT NAME
   .02-ABBREVIATION : NAME
   .03-PRINT NAME : PATIENT NAME
   .04-TYPE : OBJECT
   .06-CLASS OWNER : CLINICAL COORDINATOR (`55 in #8930)
   .07-STATUS : ACTIVE (`11 in #8925.6)
   .08-IN USE : NA
   .11-ORPHAN : NA
   .12-HAS BOILTXT : NA
   .15-PRF FLAG : NA
  3.02-OK TO DISTRIBUTE : YES
     9-OBJECT METHOD : S X=$$NAME^TIULO(DFN)
    99-TIMESTAMP : 62934,61603


This code returns the result from NAME^TIULO and puts it into variable X.  That X in then put into your note.   For reference, here is the mumps code for TIULO.  It just calls out to another function, but I think you can get the idea from this.  


TIULO ; SLC/JER - Embedded Objects ;11/29/02
 ;;1.0;TEXT INTEGRATION UTILITIES;**34,70,101,148,204**;Jun 20, 1997
DEM(DFN,VADM) ; Calls DEM^VADPT
 DO DEM^VADPT
 QUIT
NAME🔗(DFN) ; Patient NAME
 IF '$DATA(VADM(1)) DO DEM(DFN,.VADM)
 QUIT $SELECT(VADM(1)]"":VADM(1),1:"NAME UNKNOWN")


At my office, I have extended this process to make what we call TIU TEXT TABLES.  For each table, we define sub parts. that will pull in data from the computer.  It makes a nice snapshot of a given problem.  Below is an example of our hypertension table.    Our tables can pull in labs, entries from prior notes, TIU TEXT OBJECTS, and medications defined to be associated with a specific problem.  

-- [HYPERTENSION] ---------
Date of last electrolytes : 9/1/2017 <-- 2/9/2017
Sodium = 144 on 9/1/2017 <-- 145 on 2/9/2017
Potassium = 4.6 on 9/1/2017 <-- 4.7 on 2/9/2017 <-- 4.8 on 1/30/2017
Creatinine = 0.8 on 11/30/2017 <-- 0.8 on 9/1/2017 <-- 0.7 on 2/9/2017
Urine Protein = NEGATIVE on 11/30/2017 <-- NEGATIVE on 9/29/2016
EKG = 12/3/07, 12/26/12, 11/3/13 extensive ST-T changes Dr. xxxxx said looked ok
BP = 130/86 <- 118/78 <- 131/81 <- 130/69
CVD Risk = 1% in next 10 years
Complications :
Medication-1 = aldactone (spironolactone) 25 mg po twice Daily
Medication-2 = metoprolol tartrate 25 mg po BID for palpitations (Dr Whitaker, Cardiology)
Side effects: lisinopril --> cough. 

Kevin Toppenberg, MD

Matt King

unread,
Jun 20, 2018, 9:11:46 AM6/20/18
to Hardhats
  1. Do you have access to the server side of VistA and can do all these things? If so, you can look at this very old, but probably worthwhile "Howto" I created for objects. If you don't have access, you can ask your administrator to write it.

On Tuesday, June 19, 2018 at 11:29:21 AM UTC-4, Bubs wrote:
ObjectsCreation_101.doc
Reply all
Reply to author
Forward
0 new messages