Difference between revisions of "Pharmacy Issues"

From VistApedia
Jump to: navigation, search
(Files and Relationships)
(Debug of Ordering a Drug from CPRS)
Line 62: Line 62:
  
 
=== Debug of Ordering a Drug from CPRS ===
 
=== Debug of Ordering a Drug from CPRS ===
 
This is a sequence during a trial of adding a drug for a patient
 
 
  ORWU NPHASKEY  ; returns true if person has security key.
 
 
  Params ------------------------------------------------------------------
 
  literal 73
 
  literal PROVIDER
 
 
  Results -----------------------------------------------------------------
 
  1
 
 
 
  ORWDX LOCK  ; attempt to lock pt for ordering
 
 
  Params ------------------------------------------------------------------
 
  literal 70685
 
 
  Results -----------------------------------------------------------------
 
  1
 
 
 
  ORWPS1 NEWDLG ; return order dialog info for New Medication
 
 
  Params ------------------------------------------------------------------
 
  literal 0
 
 
  Results -----------------------------------------------------------------
 
  147;140;4;D^Meds, Outpatient
 
 
 
  ORIMO IMOLOC (ORY,ORLOC,ORDFN)    ;ORY>=0: LOC is an IMO authorized location
 
    -- and OUT parameter for results.
 
    -- ORDFN: PATIENT IEN
 
    -- ORLOC: CLINIC LOCATION
 
 
  Params ------------------------------------------------------------------
 
  literal 6
 
  literal 70685
 
 
  Results -----------------------------------------------------------------
 
  -1
 
 
  Notes: IMOLOC^ORIMO checks if path PSJ*5.0*111 is installed
 
          In this case, this patch is NOT installed, so fails.
 
 
 
 
  OREVNTX1 ODPTEVID  ;Return PtEvtID based on the ORID
 
 
  Params ------------------------------------------------------------------
 
  literal 47
 
 
  Results -----------------------------------------------------------------
 
 
 
  REVNTX1 GTEVT  ;??? function doesn't exist on server.
 
 
  Params ------------------------------------------------------------------
 
  literal
 
 
  Results -----------------------------------------------------------------
 
 
 
  ORWDPS2 QOGRP  (QOIFN)  ;"1->quick order belongs to Inpatient Med Order Group, else 0
 
 
  Params ------------------------------------------------------------------
 
  literal 147
 
 
  Results -----------------------------------------------------------------
 
  0
 
 
 
  ORWDXM1 BLDQRSP  (.LST,ORIT,FLDS,ISIMO)  ;Build responses for an order
 
    ; LST -- an OUT parameter
 
    ;    RETURNED FORMAT: LST=QuickLevel^ResponseID(ORIT,$H)^Dialog^Type^FormID^DGrp
 
    ;                      LST(n)=verify text or rejection text.
 
    ; ORIT = PTR to 101.41 for quick order, 100 for copy
 
    ;    1  2 3 4 5 6 7 8                  11-20
 
    ; FLDS=DFN^LOC^ORNP^INPT^SEX^AGE^EVENT^SC%^^^Key Variables...
 
    ; ISIMO -- I think: IS INPATIENT MEDICATION ON OUTPATIENT
 
 
  Params ------------------------------------------------------------------
 
  literal 147         
 
  literal 70685^6^73^0^M^4^0;C;0;0^0^^^
 
  literal 0
 
 
  Results -----------------------------------------------------------------
 
  0^0^147^D^140^4
 
 
 
  ORWDPS32 AUTH  ;"For inpatient meds, check restrictions
 
 
  Params ------------------------------------------------------------------
 
  literal 73
 
 
  Results -----------------------------------------------------------------
 
  0
 
 
 
 
  ORWDX DLGDEF (LST,DLG)  ;Format mapping for a Dlg.
 
 
  Params ------------------------------------------------------------------
 
  literal PSO OERR
 
 
  Results -----------------------------------------------------------------
 
  ORDERABLE^4^1^@1350^^^^^^384~
 
  INSTR^136^^^^^^^^137~170~153~388~386~
 
  ROUTE^137^^1~3^^^^^^^1
 
  SCHEDULE^170^^^^^^^^^1
 
  URGENCY^7^6^^ROUTINE DONE
 
  COMMENT^15^7
 
  STRENGTH^384^^@1350^^^^^^^1
 
  QTY^149^8^^^Quantity:^^1
 
  PICKUP^148^
 
  REFILLS^150^9^^^Refills:
 
  SC^151^
 
  DAYS^153^^^^FOR^^^^^1
 
  START^6^
 
  SIG^385^2^^^^^1^0
 
  DOSE^386^^@^^^^^^^1
 
  DRUG^138^
 
  SUPPLY^387^
 
  NAME^1350^1.5
 
  CONJ^388^^^^^^^^^1
 
  PI^1358^3
 
  NOW^1359^10^^^First Dose^^1
 
 
 
  ORWDPS1 SCHALL  ;return all schedules
 
 
  Params ------------------------------------------------------------------
 
 
  Results -----------------------------------------------------------------
 
  BID^TWICE A DAY^C
 
  MO-WE-FR^^C
 
  NOW^^O
 
  ONCE^^O
 
  Q12H^EVERY 12 HOURS^C
 
  Q24H^EVERY 24 HOURS^C
 
  Q2H^EVERY 2 HOURS^C
 
  Q3H^EVERY 3 HOURS^C
 
  Q4H^EVERY 4 HOURS^C
 
  Q6H^EVERY 6 HOURS^C
 
  Q8H^EVERY 8 HOURS^C
 
  QAM^EVERY MORNING^C
 
  QD^EVERY DAY^C
 
  QHS^AT BEDTIME^C
 
  QID^FOUR TIMES A DAY^C
 
  QOD^EVERY OTHER DAY^C
 
  STAT^^O
 
  TID^THREE TIMES A DAY^C
 
 
 
  ORWDPS1 ODSLCT  ;return default lists for dialog
 
 
  Params ------------------------------------------------------------------
 
  literal O
 
  literal 70685
 
  literal 6
 
 
  Results -----------------------------------------------------------------
 
  ~Priority
 
  i2^ASAP
 
  i99^DONE
 
  i9^ROUTINE
 
  i1^STAT
 
  d9^ROUTINE
 
  ~DispMsg
 
  d0
 
  ~Refills
 
  d0^0
 
  ~Pickup
 
  dW^at Window
 
 
 
  ORIMO IMOLOC    (See above)  ;ORY>=0: LOC is an IMO authorized location
 
 
  Params ------------------------------------------------------------------
 
  literal 6
 
  literal 70685
 
 
  Results -----------------------------------------------------------------
 
  -1
 
 
 
  ORWDXM3 ISUDQO (ORY,DLGID)  ;True: is unit dose quick order
 
 
  Params ------------------------------------------------------------------
 
  literal 140
 
 
  Results -----------------------------------------------------------------
 
  0
 
 
 
  ORWUL FV4DG (VAL,DGNM) ;return the current full list & item count
 
 
  Params ------------------------------------------------------------------
 
  literal O RX
 
 
  Results -----------------------------------------------------------------
 
  2^1
 
 
  notes: Does lookups in file 101.44
 
 
 
  ORWUL QV4DG  (VAL,DGRP)  ;return the quick order list, given a display group name.
 
 
  Params ------------------------------------------------------------------
 
  literal O RX
 
 
  Results -----------------------------------------------------------------
 
  0^0
 
 
  notes: does lookups in file 100.98 (DISPLAY GROUP file)
 
 
 
  ORWDX DGNM  ;display grp pointer for name
 
 
  Params ------------------------------------------------------------------
 
  literal O RX
 
 
  Results -----------------------------------------------------------------
 
  4
 
 
  notes: does lookups in file 100.98 (DISPLAY GROUP file)
 
 
 
  ORWCH LOADSIZ  ;returns to bounds for a particular control.
 
 
  Params ------------------------------------------------------------------
 
  literal frmODMeds
 
 
  Results -----------------------------------------------------------------
 
  238,134,566,442
 
 
 
 
  ORWUL FVSUB (LST,IEN,FIRST,LAST)  ;returns subset of orders in view.
 
 
  Params ------------------------------------------------------------------
 
  literal 2  Note: 2 --> ORWDSET O RX record
 
  literal 1
 
  literal 1
 
 
  Results -----------------------------------------------------------------
 
  12^(CALCIUM)
 
 
  Notes: returns a..b set members from IEN record in file 101.44 (ORDER QUICK VIEW file)
 
 
 
  ORWCH SAVESIZ  ;save the list of sizing information.
 
 
  Params ------------------------------------------------------------------
 
  literal frmODMeds
 
  literal 238,134,566,442
 
 
  Results -----------------------------------------------------------------
 
  0
 
 
 
 
  ORWDXM2 CLRRCL
 
 
  Params ------------------------------------------------------------------
 
 
  Results -----------------------------------------------------------------
 
  1
 
 
 
 
  ORWDX UNLOCK
 
 
  Params ------------------------------------------------------------------
 
  literal 70685
 
 
  Results -----------------------------------------------------------------
 
  1
 
  
 
=== Email coorespondence ===
 
=== Email coorespondence ===

Revision as of 21:35, 25 April 2005

This page will contain notes to work out pharmacy programming issues.

Initiated by K. Toppenberg 4/2005

Keys Needed for Pharm. Setup

David Whitten searched pharmacy routines and found keys that were needed for some of the pharmacy setup routines. Here are the keys that were found: PSA ORDERS, PSAMGR, PSJ RPWARN, PSB MANAGER, PSB CPRS MED BUTTON, PSB INSTRUCTOR, PROVIDER, PSD TECH, PSDMGR, PSD BUMGR, PSD ERROR, PSD PARAM, PSD TRAN


Files and Relationships

  • VA PRODUCT file (file #50.68, ^PSNDF(50.68,*)) holds ALL possible drugs. Some people refer to this as the National Drug File.
  • DRUG file (file #50, ^PSDRUG(*)) holds all the drugs in the local formulary. This links to above.
  • PHARMACY ORDERABLE ITEM file (file #50.7, ^PS(50.7,*)) holds things that can be ordered from the pharmacy. This links to above.
  • ORDERABLE ITEM file (file #101.43, ^ORD(101.43,*)) hols things that can be ordered, including labs and drugs. This links to above.
  • ORDER QUICK VIEW file (file #101.44, ^ORD(101.44,*)) holds "quick order" entries. This links to above.


What I Have Learned so Far

1. For meds to show up in the dialog box in CPRS, it must have a entry like this:

file: 101.44 (ORDER QUICK VIEW);  
 record: ORWDSET O RX;  
   subfile: SET MEMBER (101.442)
     record: SET MEMBER: _IEN_ pointer to 101.43 (ORDERABLE ITEM)   ... a drug would go here
     record: SET MEMBER: _IEN_ pointer to 101.43 (ORDERABLE ITEM)   ... a drug would go here
     record: SET MEMBER: _IEN_ pointer to 101.43 (ORDERABLE ITEM)   ... a drug would go here
     record: SET MEMBER: _IEN_ pointer to 101.43 (ORDERABLE ITEM)   ... a drug would go here

2. In file 101.43 (ORDERABLE ITEM) an entry for the drug must exist like this:

file 101.43
 record: .01 NAME = LISINOPRIL
           2 ID = "Unique identifier, created from primary key passed in the 
                  Orderable Items update message from each package; it will be 
                  in the form of 'package code;99XXX' where XXX indicates the 
                  package table originating this item (i.e. RAP,LRT,etc.)
                  [e.g. in my system, then entry for DILTIAZEM TAB is 1;99PSP]

3. In file 50 (DRUG, ^PSDRUG), there must be an entry coresponding to the ID from 101.43 above. i.e. The ASP cross-reference for field "PHARMACY ORDERABLE ITEM (#2.1) i.e. ^PSDRUG("ASP",ID,*) should exist. Actually, there must be some transform because I can't find any entry for ^PSDRUG("ASP","1;99PSP",*)

4. To edit file 50.7 (PHARMACY ORDERABLE ITEM), new drugs may not be added unless PSEDITNM>0. Also, in the MED ROUTE field, the input transform does not allow an input of "ORAL".

--to be continued later--


Relevent Menu Options

Here is a pharmacy option/menu setup I gathered:

  cv     Protocol Conversion Utilities ... [ORCM CONVERSION UTILITIES]
  Mgr    Pharmacy Data Management ... [PSS MGR]
  NDF    National Drug File Menu ... [PSNMGR]
  Out    Outpatient Pharmacy Manager ... [PSO MANAGER]
         Drug Accountability Menu ... [PSA DRUG ACCOUNTABILITY MENU]
         Drug Receipt History Review [PSA DRUG HISTORY]
         Drug Transaction History [PSA DRUG DISPLAY]
         Enter/Edit a Drug [PSA DRUG ENTER/EDIT]
         Inquire/Compare DRUG file/ITEM MASTER file [PSA DRUG INQUIRE]

Debug of Ordering a Drug from CPRS

Email coorespondence

Wei Wang wrote:

I have tried to enter a new pharmacy orderable items and drugs through the PDM Drug enter/edit program. After the drug is put in, I can order it from the character-based CPRS but it does not display in the Medication Order dialog box for the GUI CPRS.

The only inpatient medication orderable items that display in the GUI CPRS are items contained in the record "ORWDSET UD RX" in the file ORDER

QUICK VIEW. But new updates to the drugs and orderable items do not effect this record. Any idea how I should enter new drugs and/or pharmacy orderable items so they will appear on the GUI CPRS too?

Thanks,

Wei Wang Oleen Healthcare Information Management


The reason was that we didn't start TaskMan while entering the drugs so job of "updating Quick View" is scheduled but not run. After we started TaskMan and waited for a little while, all drugs now show nicely in the GUI interface.

Wei

Thanks to Todd in Iowa who helped us with resolve the problem! Nancy Anthracite

=-=-=-=-=-=-

Hi Finally I am able to see the drugs and order them from CPRS. Nancy's old mail really helped. A record has to be added into the ORDER QUICK VIEW file. This file probably holds the parameters required by CPRS. The new record is something like: Name : ORWDSET O RX QUICK ORDER : PS MEDS SET MEMBER : "ORDERABLE ITEM" Regards Nick



I have been tinkering with being able to order medications in CPRS.

Based on recent posts, it seems that an entry is required in the ORDER QUICK VIEW file, in the record: ORWDSET O RX. Here is my file now:


Select ORDER QUICK VIEW NAME: orwdset O RX ANOTHER ONE: STANDARD CAPTIONED OUTPUT? Yes// (Yes) Include COMPUTED fields: (N/Y/R/B): NO// b BOTH Computed Fields and Record Number (IEN)

NUMBER: 2 NAME: ORWDSET O RX

 LAST UPDATE: 59653,46064

QUICK ORDER: PS MEDS DISPLAY TEXT: <Some text> SET MEMBER: CALCIUM DISPLAY TEXT: (CALCIUM)


Now, rather when getting an error when trying to order a medicine, I am given chose of ordering one "medicine" -- namely calcium.

So it seems that I need to load my formulary into this file.

When I look at the data structure for the file, though, I see that the drug (in this case "calcium") is stored as a free text name, not a pointer to the DRUG file (file # 50).

So how do I make this link, or am I off target?

Thanks Kevin



Hi The SET MEMBER comes from the PHARMACY ORDERABLE ITEM file for medications. Drugs can be added into this file through the DRUG ENTER/EDIT option. Bye Nick


Nick,

Thanks for you help so far.

I have explored the DRUG ENTER/EDIT option (option: PSA DRUG ENTER/EDIT) and found that I could laboriously load up my forumulary with the drugs one at a time -- clearly impossible for a full forumulary (too many)

Then I found the option to Merge National Drug file Datas into Local File (option: PSNMGR). I did this, and there were no errors. Somewhere along the way I created a "pharmacy" out of which to work in the OUTPATIENT SITE file. Now, when I got to the DRUG ENTER/EDIT option, there are 5173 drugs loaded.

But when I go into Fileman, and look inthe PHARMACY ORDERABLE ITEM file, it is completely empty.

Any ideas about how to get this populated?

Thanks Kevin


The pointer is from the Drug file #50 I believe. I got something to work by putting someting into the orderables file. I know there a pointer from the drug file to the orderables file. Jim Gray