[613] | 1 | PSOQUAP ;HINES/RMS - UNIFIED PROFILE BASED ON PORTLAND IDEA ; 30 Nov 2007 7:57 AM
|
---|
| 2 | ;;7.0;OUTPATIENT PHARMACY;**294**;DEC 1997;Build 13
|
---|
| 3 | ;
|
---|
| 4 | ;Reference to BCMALG^PSJUTL2 supported by DBIA 5057
|
---|
| 5 | ;Reference to CKP^GMTSUP supported by DBIA 4231
|
---|
| 6 | ;Reference to COVER^ORWPS supported by DBIA 4954
|
---|
| 7 | EN ;ENTRY POINT FOR HEALTH SUMMARY
|
---|
| 8 | N RPC,RPCT,ALPHA,PSNUM,DRUGNM,RPCNODE,ORDER,SAVE
|
---|
| 9 | D COVER^ORWPS(.RPC,DFN)
|
---|
| 10 | S RPCT=0 F S RPCT=$O(RPC(RPCT)) Q:'+RPCT D ;
|
---|
| 11 | . S RPCNODE=RPC(RPCT)
|
---|
| 12 | . S PSNUM=$P(RPCNODE,"^")
|
---|
| 13 | . S DRUGNM=$$UP^XLFSTR($P(RPCNODE,"^",2))
|
---|
| 14 | . S ORDER=+$P(RPCNODE,"^",3)
|
---|
| 15 | . K SAVE(DRUGNM) S SAVE(DRUGNM,ORDER,PSNUM)=""
|
---|
| 16 | . Q:"ACTIVE^ACTIVE/SUSP"'[$P(RPCNODE,"^",4)
|
---|
| 17 | . S ALPHA(DRUGNM,ORDER,PSNUM)=""
|
---|
| 18 | D HEADER
|
---|
| 19 | D OUTPUT
|
---|
| 20 | D FOOTER
|
---|
| 21 | Q
|
---|
| 22 | HEADER N ATEST,ADATE,AVALUE,ATEXT
|
---|
| 23 | D NVADT^PSOQCF04(DFN,.ATEST,.ADATE,.AVALUE,.ATEXT)
|
---|
| 24 | D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 25 | W $$REPEAT^XLFSTR("-",IOM),!,"Alphabetical list of all prescriptions, inpatient orders and Non-VA meds"
|
---|
| 26 | D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 27 | W !,"Legend: OPT = VA issued outpatient prescription, INP = VA issued inpatient order"
|
---|
| 28 | D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 29 | W !,"Non-VA Meds Last Documented On: "
|
---|
| 30 | W $S(+ADATE:$$FMTE^XLFDT(ADATE,"D"),1:"** Data not found **")
|
---|
| 31 | D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 32 | W !,$$REPEAT^XLFSTR("-",IOM)
|
---|
| 33 | D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 34 | Q
|
---|
| 35 | OUTPUT N DRUGNM,ORDER,PSNUM
|
---|
| 36 | N PACK,PACKREF,SIGLINE,ORDNUM
|
---|
| 37 | N LASTACT,OTLINE
|
---|
| 38 | S DRUGNM="" F S DRUGNM=$O(ALPHA(DRUGNM)) Q:DRUGNM']"" D K SAVE(DRUGNM) ;
|
---|
| 39 | . S ORDER="" F S ORDER=$O(ALPHA(DRUGNM,ORDER)) Q:ORDER']"" D ;
|
---|
| 40 | .. S PSNUM="" F S PSNUM=$O(ALPHA(DRUGNM,ORDER,PSNUM)) Q:PSNUM']"" D ;
|
---|
| 41 | ... S PACK=$P(PSNUM,";",2),ORDNUM=$P(PSNUM,";")
|
---|
| 42 | ... I PACK="I" D INPDISP
|
---|
| 43 | ... I PACK="O" D OPTDISP
|
---|
| 44 | Q
|
---|
| 45 | FOOTER D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 46 | N BLINE
|
---|
| 47 | S BLINE=$$REPEAT^XLFSTR("-",IOM)
|
---|
| 48 | W !,BLINE,!,"Other medications previously dispensed in the last year:",!
|
---|
| 49 | D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 50 | N DRUGNM,ORDER,PSNUM
|
---|
| 51 | N PACK,PACKREF,SIGLINE
|
---|
| 52 | S DRUGNM="" F S DRUGNM=$O(SAVE(DRUGNM)) Q:DRUGNM']"" D ;
|
---|
| 53 | . S ORDER="" F S ORDER=$O(SAVE(DRUGNM,ORDER)) Q:ORDER']"" D ;
|
---|
| 54 | .. S PSNUM="" F S PSNUM=$O(SAVE(DRUGNM,ORDER,PSNUM)) Q:PSNUM']"" D ;
|
---|
| 55 | ... S PACK=$P(PSNUM,";",2)
|
---|
| 56 | ... I PACK="O" D OPTFOOT
|
---|
| 57 | Q
|
---|
| 58 | OPTFOOT N PSOQLRD,PSOQYEAR
|
---|
| 59 | S PACKREF=+$G(^OR(100,ORDER,4))
|
---|
| 60 | S X1=DT,X2=-365 D C^%DTC S PSOQYEAR=X
|
---|
| 61 | S PSOQLRD=$$LRDFUNC^PSOQ0076(PACKREF)
|
---|
| 62 | D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 63 | Q:PSOQLRD<PSOQYEAR
|
---|
| 64 | Q:$P(PSNUM,";")["N"
|
---|
| 65 | W !,"OPT "_DRUGNM_" ("_$$GET1^DIQ(52,+PACKREF,100,"E")_"/"_$$DAYSSUPP^PSOQ0076(PACKREF)_" Days Supply Last Released: "_$$FMTE^XLFDT(PSOQLRD,"2D")_")" D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 66 | S SIGLINE=0 F S SIGLINE=$O(^PSRX(PACKREF,"SIG1",SIGLINE)) Q:'+SIGLINE D ;
|
---|
| 67 | . W !?5,$G(^PSRX(PACKREF,"SIG1",SIGLINE,0)) D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 68 | W ! D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 69 | Q
|
---|
| 70 | INPDISP D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 71 | W !,"INP "_DRUGNM D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 72 | S LASTACT=$O(^OR(100,+ORDER,8,":"),-1)
|
---|
| 73 | S OTLINE=1 F S OTLINE=$O(^OR(100,+ORDER,8,LASTACT,.1,OTLINE)) Q:'+OTLINE D ;
|
---|
| 74 | . W !?5,$$LSIG^PSOQUTIL($G(^OR(100,+ORDER,8,LASTACT,.1,OTLINE,0))) D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 75 | . W !?5,$$BCMALG^PSJUTL2(DFN,ORDNUM) D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 76 | W ! D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 77 | Q
|
---|
| 78 | OPTDISP N PSOQEXP,PSOQREF
|
---|
| 79 | D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 80 | S PACKREF=+$G(^OR(100,ORDER,4))
|
---|
| 81 | S PSOQLRD=$$LRDFUNC^PSOQ0076(PACKREF)
|
---|
| 82 | S PSOQEXP=$$EXPDATE^PSOQ0076(PACKREF)
|
---|
| 83 | S PSOQREF=$$REFILLS^PSOQ0076(PACKREF)
|
---|
| 84 | I $P(PSNUM,";")["N" G NVADISP
|
---|
| 85 | W !,"OPT "_DRUGNM
|
---|
| 86 | S SIGLINE=0 F S SIGLINE=$O(^PSRX(PACKREF,"SIG1",SIGLINE)) Q:'+SIGLINE D ;
|
---|
| 87 | . W !?5,$G(^PSRX(PACKREF,"SIG1",SIGLINE,0)) D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 88 | W !?15,"Last Released: "_$$FMTE^XLFDT(PSOQLRD,"2D"),?55,"Days Supply: "_$$DAYSSUPP^PSOQ0076(PACKREF) D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 89 | W !?15,"Rx Expiration Date: ",$$FMTE^XLFDT(PSOQEXP,"2D"),?55,"Refills Remaining: ",PSOQREF D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 90 | W ! D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 91 | Q
|
---|
| 92 | NVADISP D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 93 | W !,"Non VA "_DRUGNM D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 94 | S LASTACT=$O(^OR(100,ORDER,8,":"),-1)
|
---|
| 95 | S OTLINE=1 F S OTLINE=$O(^OR(100,ORDER,8,LASTACT,.1,OTLINE)) Q:'+OTLINE D ;
|
---|
| 96 | . W !?5,$G(^OR(100,ORDER,8,LASTACT,.1,OTLINE,0)) D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 97 | W ! D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 98 | Q
|
---|