PSOERXUT ;ALB/MR - eRx CS utilities ;7/21/2020 9:57am
Source file <PSOERXUT.m>
| Package | Total | Call Graph |
|---|---|---|
| Kernel | 4 | ($$FMTE,$$NOW)^XLFDT $$UP^XLFSTR ($$DEA,$$DEAXDT,$$DETOX,$$SDEA)^XUSER $$NPI^XUSNPI |
| VA FileMan | 4 | ^DIC UPDATE^DIE $$GET1^DIQ ^DIR |
| Outpatient Pharmacy | 2 | $$CHKERX^PSOERXU1 ($$DEAFOUND,$$ERXSIG,$$RENEWALS,$$VADEA,$$VISTASIG,SUFCHK)^PSOERXU8 |
| List Manager | 1 | PAUSE^VALM1 |
| Pharmacy Data Management | 1 | $$DETOX^PSSOPKI |
| Registration | 1 | ADD^VADPT |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| CSFILTER(ERXIEN) | ; Check eRx against CS Filter Prompt Answers
; Global variables: PSOCSERX: CS Filter Selection | PSOCSSCH: Drug Schedule Filter Selection ; Input: (r)ERXIEN - Pointer to ERX HOLDING QUEUE (#52.49) |
|
| VALPTADD(DFN) | ; Returns whether the patient has a valid address or not
; Input: (r)DFN - Pointer to the PATIENT file (#2) |
|
| CSKEYS(USER) | ; Checks whether the user has a valid Security Key for CS Orders
; Input: (r)USER - Pointer to the NEW PERSON file (#200) |
|
| PRDRVAL(RESULT,ACTION,ERXIEN,PROVIEN,DRUGIEN) | ; API used to Verify Provider and Drug Selection/Validation for CS Prescriptions
; Input:(r)ACTION - Ation being peformed ("EP": Edit Provider | "VP": Validate Provider | "ED": Edit Drug | "VD": Validate Drug | "AC": Accept eRx) ; (r)ERXIEN - eRx IEN. Pointer to the ERX HOLDING QUEUE file (#52.49) ; (o)PROVIEN - Provider IEN. Pointer to the NEW PERSON file (#200) ; (o)DRUGIEN - Dispense Drug IEN. Pointer to the DRUG file (#50) |
|
| ERXDRSCH(ERXIEN) | ; Returns the CS Schedule for the eRx Drug (Internal^External Format)
; Input: (r) ERXIEN - Pointer to the ERX HOLDING QUEUE file (52.49) |
|
| VADRSCH(DRUGIEN) | ; Returns the CS Schedule for the VistA Dispense Drug (Internal^External Format)
; Input: (r) DRUGIEN - Pointer to the DRUG file (#50) |
|
| PAUSE | ; Pauses screen until user hits Return
|
|
| ERXIEN(PORXIEN) | ; Given the Pending Order (#52.41) or Prescription (#52) IEN, returns the eRx (#52.49) IEN or "" (null)
; Input: (r) PORXIEN - Pointer to either the PENDING ORDERS file (#52.41) (e.g., "139839P") or PRESCRIPTION file (#52) (e.g., 12930984) |
|
| AUDLOG(ERXIEN,FIELD,EDITBY,NEWVAL) | ; Sets eRx Edit Audit Log
; Input: (r) ERXIEN - Pointer to ERX HOLDING QUEUE File (#52.49). eRx record being edited. ; (r) FIELD - Freetext eRx Field Name (e.g.,"DRUG", "PROVIDER", "PATIENT", Etc...). Field being edited. ; (r) EDITBY - Pointer to NEW PERSON File (#200). User who made the edit. ; (r) NEWVAL - Array containing the new value for the field being edited (Passed in by Reference) |
|
| EQUAL(ERXIEN,FIELD,NEWVAL) | ; Compare if the OLD and NEW values are the same
|
|
| OLDVAL(ERXIEN,FIELD,STRTFROM,OLDVAL) | ; Retrieves the Previous/Old Value for the eRx Field
; Input: (r) ERXIEN - Pointer to ERX HOLDING QUEUE File (#52.49). eRx record being edited. ; (r) FIELD - Freetext eRx Field Name (e.g.,"DRUG", "PROVIDER", "PATIENT", Etc...). Field being edited. ; (o) STRTFROM - Start From Audit Log IEN. Default: Lastest value for the field. |
|
| PROXYDUZ() | ; Returns the Proxy DUZ for Audit Log entries from Auto-Matching
; Output: PROXYDUZ - Pointer to NEW PERSON file (#200) |
|
| DONOTFIL(ERXIEN) | ; Do Not Fill record
; Input: (r) ERXIEN - Pointer to ERX HOLDING QUEUE File (#52.49). eRx record being edited. |
|
| SUFFWARN(RESULT,ERXPRDEA,VADEADSP,HEADER) | ; Append suffix warning to end of RESULT array
; Input: (r) ERXPRDEA - eRx DEA number ; (r) VADEADSP - VA DEA # ; (o) HEADER - Print Message Heading ; Output: RESULT - DEA Number suffix mismatch warning text |
|
| DEFROUTE(OIIEN) | ; Returns the Default Route for Orderable Item
; Input: OIIEN - Orderable Item IEN - Pointer to PHARMACY ORDERABLE ITEM file (#50.7) |
|
| ERXSIG(ERXIEN) | ; Returns the eRx SIG
|
|
| VISTASIG(ERXIEN) | ; Returns the VistA SIG, if present
|
|
| RENEWALS(ERXIEN) | ; Returns whether Renewals are Prohibited or no
|
| Name | Field # of Occurrence |
|---|---|
| ^DIC | PROXYDUZ+3 |
| UPDATE^DIE | AUDLOG+21 |
| $$GET1^DIQ | PRDRVAL+9, PRDRVAL+10, PRDRVAL+13, PRDRVAL+14, PRDRVAL+15, PRDRVAL+16, PRDRVAL+18, PRDRVAL+55, PRDRVAL+106, PRDRVAL+110 , PRDRVAL+125, ERXDRSCH+6, VADRSCH+6, VADRSCH+7, ERXIEN+6, ERXIEN+7, OLDVAL+9, DONOTFIL+4, DEFROUTE+5, DEFROUTE+8 , DEFROUTE+9, DEFROUTE+10, DEFROUTE+13, DEFROUTE+16, DEFROUTE+18 |
| ^DIR | PAUSE+1 |
| $$CHKERX^PSOERXU1 | ERXIEN+9 |
| $$DEAFOUND^PSOERXU8 | PRDRVAL+47, PRDRVAL+97 |
| $$ERXSIG^PSOERXU8 | ERXSIG+1 |
| $$RENEWALS^PSOERXU8 | RENEWALS+1 |
| $$VADEA^PSOERXU8 | PRDRVAL+30, PRDRVAL+48, PRDRVAL+98, PRDRVAL+100 |
| $$VISTASIG^PSOERXU8 | VISTASIG+1 |
| SUFCHK^PSOERXU8 | PRDRVAL+107, PRDRVAL+111, PRDRVAL+115, PRDRVAL+119, PRDRVAL+120 |
| $$DETOX^PSSOPKI | PRDRVAL+123 |
| ADD^VADPT | VALPTADD+5 |
| PAUSE^VALM1 | DONOTFIL+6 |
| $$FMTE^XLFDT | PRDRVAL+40, PRDRVAL+114 |
| $$NOW^XLFDT | AUDLOG+17 |
| $$UP^XLFSTR | PRDRVAL+15, PRDRVAL+30, PRDRVAL+48, PRDRVAL+98, PRDRVAL+100 |
| $$DEA^XUSER | PRDRVAL+50, PRDRVAL+101 |
| $$DEAXDT^XUSER | PRDRVAL+31 |
| $$DETOX^XUSER | PRDRVAL+123 |
| $$SDEA^XUSER | PRDRVAL+48, PRDRVAL+98 |
| $$NPI^XUSNPI | PRDRVAL+24 |
| Name | Line Occurrences |
|---|---|
| Function Call: WRITE |
|
| Routine Call |
|
| Routine Call |
|
| Routine Call |
|
| FileNo | Call Tags |
|---|---|
| ^VA(200 - [#200] | Classic Fileman Calls, GET1^DIQ |
| ^PSDRUG - [#50] | GET1^DIQ |
| 50.6061 | GET1^DIQ |
| ^PSNDF(50.68 - [#50.68] | GET1^DIQ |
| ^PS(50.7 - [#50.7] | GET1^DIQ |
| 50.711 | GET1^DIQ |
| ^PSRX - [#52] | GET1^DIQ |
| ^PS(52.41 - [#52.41] | GET1^DIQ |
| ^PS(52.48 - [#52.48] | GET1^DIQ |
| ^PS(52.49 - [#52.49] | GET1^DIQ |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^PS(50.606 - [#50.606] | DEFROUTE+11, DEFROUTE+12 |
| ^PS(50.7 - [#50.7] | DEFROUTE+3, DEFROUTE+6, DEFROUTE+7 |
| ^PS(52.49 - [#52.49] | CSFILTER+7, CSFILTER+8, AUDLOG+8, OLDVAL+8, OLDVAL+10, OLDVAL+11 |
| ^VA(200 - [#200] | AUDLOG+10 |
| ^XUSEC("PSDRPH" | CSKEYS+4 |
| ^XUSEC("PSO ERX ADV TECH" | CSKEYS+4 |
| ^XUSEC("PSO ERX TECH" | CSKEYS+4 |
| Name | Line Occurrences |
|---|---|
| $$EQUAL | AUDLOG+14 |
| $$ERXDRSCH | PRDRVAL+17 |
| $$VADRSCH | PRDRVAL+43, PRDRVAL+46, PRDRVAL+76 |
| OLDVAL | EQUAL+8 |
| SUFFWARN | PRDRVAL+59, PRDRVAL+60, PRDRVAL+61, PRDRVAL+62 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| ACTION | PRDRVAL~, PRDRVAL+22, PRDRVAL+25, PRDRVAL+60, PRDRVAL+61, PRDRVAL+62, PRDRVAL+65, PRDRVAL+68, PRDRVAL+71, PRDRVAL+75 , PRDRVAL+77, PRDRVAL+109, PRDRVAL+113, PRDRVAL+124 |
| AUDLOG | AUDLOG+6~, OLDVAL+6~, OLDVAL+7*, OLDVAL+8*, OLDVAL+9, OLDVAL+10, OLDVAL+11 |
| AUDLOG( | AUDLOG+17*, AUDLOG+18*, AUDLOG+19*, AUDLOG+20* |
| DEAFOUND | PRDRVAL+44~*, PRDRVAL+47*, PRDRVAL+48, PRDRVAL+49, PRDRVAL+96~*, PRDRVAL+97*, PRDRVAL+98, PRDRVAL+99 |
| DEFROUTE | DEFROUTE+4~*, DEFROUTE+8*, DEFROUTE+13*, DEFROUTE+16, DEFROUTE+18, DEFROUTE+20 |
| DFIEN | DEFROUTE+4~, DEFROUTE+10*, DEFROUTE+11, DEFROUTE+12, DEFROUTE+13 |
| DFN | VALPTADD~, VALPTADD+4 |
| DIC | PROXYDUZ+2~, PROXYDUZ+3* |
| DIC(0 | PROXYDUZ+3* |
| DIR | PAUSE+1! |
| DIR("A" | PAUSE+1* |
| DIR(0 | PAUSE+1* |
| DRGCSCH | CSFILTER+5~, CSFILTER+7*, CSFILTER+11, CSFILTER+12, CSFILTER+13, CSFILTER+14 |
| DRUGIEN | PRDRVAL~, PRDRVAL+8*, PRDRVAL+10*, PRDRVAL+11, PRDRVAL+42, PRDRVAL+43, PRDRVAL+46, PRDRVAL+76, PRDRVAL+123, VADRSCH~ , VADRSCH+5, VADRSCH+6, VADRSCH+7 |
| DSERXFLG | PRDRVAL+7~, PRDRVAL+16*, PRDRVAL+28, PRDRVAL+77, PRDRVAL+83 |
| EDITBY | AUDLOG~, AUDLOG+7*, AUDLOG+10, AUDLOG+19 |
| EQUAL | EQUAL+6~*, EQUAL+9*, EQUAL+10*, EQUAL+11 |
| ERXCSFLG | CSFILTER+5~, CSFILTER+8*, CSFILTER+9, CSFILTER+10, CSFILTER+13, CSFILTER+14 |
| ERXDRSCH | PRDRVAL+7~, PRDRVAL+17*, PRDRVAL+79, PRDRVAL+82, ERXDRSCH+4~, ERXDRSCH+6*, ERXDRSCH+7 |
| ERXIEN | CSFILTER~, CSFILTER+7, CSFILTER+8, PRDRVAL~, PRDRVAL+8*, PRDRVAL+9, PRDRVAL+10, PRDRVAL+11, PRDRVAL+13, PRDRVAL+16 , PRDRVAL+17, PRDRVAL+18, PRDRVAL+30, PRDRVAL+48, PRDRVAL+98, PRDRVAL+100, ERXDRSCH~, ERXDRSCH+5, ERXDRSCH+6, AUDLOG~ , AUDLOG+7*, AUDLOG+8, AUDLOG+14, AUDLOG+17, AUDLOG+18, AUDLOG+19, AUDLOG+20, EQUAL~, EQUAL+8, OLDVAL~ , OLDVAL+8, OLDVAL+9, OLDVAL+10, OLDVAL+11, DONOTFIL~, DONOTFIL+4, ERXSIG~, ERXSIG+1, VISTASIG~, VISTASIG+1 , RENEWALS~, RENEWALS+1 |
| ERXPRDEA | PRDRVAL+7~, PRDRVAL+15*, PRDRVAL+34, PRDRVAL+36, PRDRVAL+37, PRDRVAL+38, PRDRVAL+39, PRDRVAL+47, PRDRVAL+48, PRDRVAL+59 , PRDRVAL+60, PRDRVAL+61, PRDRVAL+62, PRDRVAL+89, PRDRVAL+97, PRDRVAL+98, PRDRVAL+107, PRDRVAL+111, PRDRVAL+115, PRDRVAL+116 , PRDRVAL+118, PRDRVAL+119, PRDRVAL+120, SUFFWARN~, SUFFWARN+8 |
| ERXPRNPI | PRDRVAL+7~, PRDRVAL+14*, PRDRVAL+25, PRDRVAL+26 |
| ERXPROV | PRDRVAL+7~, PRDRVAL+13*, PRDRVAL+14, PRDRVAL+15 |
| ERXSUFF | PRDRVAL+23~*, PRDRVAL+37*, PRDRVAL+58, PRDRVAL+107, PRDRVAL+111, PRDRVAL+115, PRDRVAL+119, PRDRVAL+120 |
| FIELD | AUDLOG~, AUDLOG+9, AUDLOG+14, AUDLOG+18, EQUAL~, EQUAL+8, OLDVAL~, OLDVAL+9 |
| HEADER | SUFFWARN~, SUFFWARN+6 |
| I | VALPTADD+4~, EQUAL+6~, EQUAL+9*, EQUAL+10*, OLDVAL+10*, OLDVAL+11 |
| NEWVAL | AUDLOG~, AUDLOG+11, AUDLOG+14, EQUAL~ |
| NEWVAL( | EQUAL+9, EQUAL+10 |
| OIIEN | DEFROUTE~, DEFROUTE+3, DEFROUTE+5, DEFROUTE+6, DEFROUTE+7, DEFROUTE+8, DEFROUTE+9, DEFROUTE+10, DEFROUTE+16, DEFROUTE+18 |
| OLDVAL | EQUAL+6~, EQUAL+8, OLDVAL~, OLDVAL+6! |
| OLDVAL( | EQUAL+9, EQUAL+10, OLDVAL+11* |
| OLDVAL(0 | OLDVAL+8 |
| OR100IEN | ERXIEN+4~, ERXIEN+6*, ERXIEN+7*, ERXIEN+8, ERXIEN+9 |
| PORXIEN | ERXIEN~, ERXIEN+5, ERXIEN+6, ERXIEN+7 |
| PROVIEN | PRDRVAL~, PRDRVAL+8*, PRDRVAL+9*, PRDRVAL+11, PRDRVAL+24, PRDRVAL+30, PRDRVAL+47, PRDRVAL+48, PRDRVAL+50, PRDRVAL+55 , PRDRVAL+93, PRDRVAL+97, PRDRVAL+98, PRDRVAL+100, PRDRVAL+101, PRDRVAL+106, PRDRVAL+110, PRDRVAL+123, PRDRVAL+125 |
| >> PSOCSERX | CSFILTER+6, CSFILTER+9, CSFILTER+10, CSFILTER+11, CSFILTER+12, CSFILTER+13, CSFILTER+14 |
| >> PSOCSSCH | CSFILTER+6, CSFILTER+11, CSFILTER+12, CSFILTER+13, CSFILTER+14 |
| RESCNT | SUFFWARN+5~*, SUFFWARN+6 |
| RESULT | PRDRVAL~, PRDRVAL+8!*, PRDRVAL+11*, PRDRVAL+59*, PRDRVAL+60*, PRDRVAL+61*, PRDRVAL+62*, PRDRVAL+63*, PRDRVAL+66*, PRDRVAL+69* , PRDRVAL+72*, PRDRVAL+78*, PRDRVAL+84*, PRDRVAL+90*, PRDRVAL+105*, PRDRVAL+107, PRDRVAL+109*, PRDRVAL+111, PRDRVAL+113*, PRDRVAL+115 , PRDRVAL+117*, PRDRVAL+119, PRDRVAL+120, PRDRVAL+124*, SUFFWARN~ |
| RESULT( | PRDRVAL+26*, PRDRVAL+33*, PRDRVAL+35*, PRDRVAL+38*, PRDRVAL+40*, PRDRVAL+55*, PRDRVAL+80*, PRDRVAL+82*, PRDRVAL+86*, PRDRVAL+88* , PRDRVAL+91*, PRDRVAL+106*, PRDRVAL+110*, PRDRVAL+114*, PRDRVAL+118*, PRDRVAL+125*, SUFFWARN+7*, SUFFWARN+8* |
| RESULT("" | PRDRVAL+26, PRDRVAL+33, PRDRVAL+35, PRDRVAL+38, PRDRVAL+40, PRDRVAL+55, PRDRVAL+80, PRDRVAL+82, PRDRVAL+86, PRDRVAL+88 , PRDRVAL+91, PRDRVAL+106, PRDRVAL+110, PRDRVAL+114, PRDRVAL+118, PRDRVAL+125, SUFFWARN+5, SUFFWARN+7, SUFFWARN+8 |
| RESULT(0 | PRDRVAL+59, PRDRVAL+63 |
| RESULT(1 | PRDRVAL+11* |
| RTIEN | DEFROUTE+4~, DEFROUTE+6*, DEFROUTE+7, DEFROUTE+8, DEFROUTE+11*, DEFROUTE+12, DEFROUTE+13 |
| RXWRDATE | PRDRVAL+7~, PRDRVAL+18*, PRDRVAL+39, PRDRVAL+48, PRDRVAL+98, PRDRVAL+123 |
| SAVERES | AUDLOG+6~ |
| STRTFROM | OLDVAL~, OLDVAL+7 |
| USER | CSKEYS~, CSKEYS+4 |
| VACSDRUG | PRDRVAL+7~, PRDRVAL+19*, PRDRVAL+45*, PRDRVAL+60, PRDRVAL+65, PRDRVAL+76*, PRDRVAL+77, PRDRVAL+83, PRDRVAL+89, PRDRVAL+95 |
| VADEADFL | PRDRVAL+7~, PRDRVAL+30*, PRDRVAL+50*, PRDRVAL+51, PRDRVAL+52, PRDRVAL+98*, PRDRVAL+100*, PRDRVAL+101*, PRDRVAL+102, PRDRVAL+103 , PRDRVAL+107, PRDRVAL+111, PRDRVAL+115, PRDRVAL+119, PRDRVAL+120 |
| VADEADSP | PRDRVAL+7~, PRDRVAL+30*, PRDRVAL+38, PRDRVAL+48*, PRDRVAL+51*, PRDRVAL+52*, PRDRVAL+59, PRDRVAL+60, PRDRVAL+61, PRDRVAL+62 , PRDRVAL+98*, PRDRVAL+102*, PRDRVAL+103*, SUFFWARN~, SUFFWARN+8 |
| VADEAEXP | PRDRVAL+7~, PRDRVAL+31*, PRDRVAL+39, PRDRVAL+40 |
| VADEANUM | PRDRVAL+7~, PRDRVAL+30*, PRDRVAL+31, PRDRVAL+32, PRDRVAL+36, PRDRVAL+37, PRDRVAL+39, PRDRVAL+48*, PRDRVAL+51*, PRDRVAL+52* , PRDRVAL+54, PRDRVAL+59, PRDRVAL+60, PRDRVAL+61, PRDRVAL+62, PRDRVAL+98*, PRDRVAL+102*, PRDRVAL+103*, PRDRVAL+104, PRDRVAL+108 , PRDRVAL+112, PRDRVAL+114, PRDRVAL+116, PRDRVAL+118 |
| VADEASTR | PRDRVAL+7~ |
| VADEASUF | PRDRVAL+7~ |
| VADRSCH | PRDRVAL+7~, PRDRVAL+46*, PRDRVAL+48, PRDRVAL+55, PRDRVAL+76*, PRDRVAL+85, PRDRVAL+86, PRDRVAL+88, PRDRVAL+98, PRDRVAL+110 , VADRSCH+4~, VADRSCH+7*, VADRSCH+8, VADRSCH+9 |
| VAPA | VALPTADD+4~ |
| VAPA(11 | VALPTADD+5 |
| VAPA(24 | VALPTADD+5 |
| VAPA(25 | VALPTADD+5 |
| VAPRDIEN | VADRSCH+4~, VADRSCH+6*, VADRSCH+7, VADRSCH+9 |
| VAPRNPI | PRDRVAL+7~, PRDRVAL+24*, PRDRVAL+25, PRDRVAL+26 |
| X | OLDVAL+6~, PROXYDUZ+2~, PROXYDUZ+3* |
| Y | PROXYDUZ+2~, PROXYDUZ+4 |