| 1 | GMTSPSO7 ; SLC/JER/KER - OP Rx Summary Component (V7) ; 08/27/2002 | 
|---|
| 2 | ;;2.7;Health Summary;**15,28,37,56,78**;Oct 20, 1995 | 
|---|
| 3 | ; | 
|---|
| 4 | ; External References | 
|---|
| 5 | ;   DBIA    330  ^PSOHCSUM, ACS^PSOHCSUM | 
|---|
| 6 | ;   DBIA    522  ^PS(55, | 
|---|
| 7 | ;   DBIA  10035  ^DPT(  file #2 | 
|---|
| 8 | ;   DBIA   3136  ^PS(59.7, | 
|---|
| 9 | ;   DBIA  10011  ^DIWP | 
|---|
| 10 | ; | 
|---|
| 11 | MAIN ; OP Rx HS Component | 
|---|
| 12 | N ECD,GMR,IX,PSOBEGIN,PSOACT,GMX,GMTOP | 
|---|
| 13 | S PSOBEGIN=$S(GMTS2'=9999999:(9999999-GMTS2),1:"") | 
|---|
| 14 | I PSOBEGIN="" S PSOACT=1 K PSOBEGIN | 
|---|
| 15 | K ^TMP("PSOO",$J) | 
|---|
| 16 | I '$D(^PS(55,DFN,"P")),'$D(^("ARC")) Q | 
|---|
| 17 | I '$O(^PS(55,DFN,"P",0)),$D(^PS(55,DFN,"ARC")) D CKP^GMTSUP Q:$D(GMTSQIT)  W "Patient Has Archived OP Prescriptions",! | 
|---|
| 18 | I $L($T(ACS^PSOHCSUM))>0 D ACS^PSOHCSUM I '$D(^TMP("PSOO",$J)) Q | 
|---|
| 19 | I $L($T(ACS^PSOHCSUM))'>0 D ^PSOHCSUM I '$D(^TMP("PSOO",$J)) Q | 
|---|
| 20 | S GMTSLO=GMTSLO+3 | 
|---|
| 21 | S (GMTOP,GMX,IX)=0 | 
|---|
| 22 | F  S IX=$O(^TMP("PSOO",$J,IX)) Q:IX'>0  S GMR=$G(^(IX,0)) D WRT | 
|---|
| 23 | S GMTSLO=GMTSLO-3 | 
|---|
| 24 | K ^TMP("PSOO",$J),^UTILITY($J,"W") | 
|---|
| 25 | Q | 
|---|
| 26 | WRT ; Writes OP Pharmacy Segment Record | 
|---|
| 27 | N ID,LFD,X,MI,NL,CF,GMD,GMV,GMI,DIWL,DIWR,DIWF,GMSIG,GUI S GUI=$$HF^GMTSU | 
|---|
| 28 | S ID=$P(GMR,U),LFD=$P(GMR,U,2),ECD=$P(GMR,U,11),CF=$P(GMR,U,10) | 
|---|
| 29 | ;   Don't display when issue date is after To Date | 
|---|
| 30 | Q:+$G(GMRANGE)&(ID>(9999999-GMTS1)) | 
|---|
| 31 | F GMV="ID","LFD","ECD" S X=@GMV D REGDT4^GMTSU S @GMV=X K X | 
|---|
| 32 | S NL=0,DIWL=1,DIWR=73,DIWF="" K ^UTILITY($J,"W") | 
|---|
| 33 | F  S NL=$O(^TMP("PSOO",$J,IX,NL)) Q:NL'>0  D | 
|---|
| 34 | . S X=$G(^TMP("PSOO",$J,IX,NL,0)) D ^DIWP | 
|---|
| 35 | S GMD=$P($P(GMR,U,4),";",2) | 
|---|
| 36 | D CKP^GMTSUP Q:$D(GMTSQIT) | 
|---|
| 37 | D:GMTSNPG!(GMX'>0) HEAD W:'GMTOP ! S GMTOP=0 W $P($P(GMR,U,3),";",2) | 
|---|
| 38 | W !,?18,$P(GMR,U,6),?31,$S($G(GMR)["SUSPENDED":"ACTIVE/SUSP",1:$P($P(GMR,U,5),";",2)),?45,$P(GMR,U,7),?54,ID,?65,LFD,?76,"("_$P(GMR,U,8)_")",! | 
|---|
| 39 | S GMX=1,GMI=0,GMSIG=1 | 
|---|
| 40 | F  S GMI=$O(^UTILITY($J,"W",DIWL,GMI)) Q:GMI'>0!$D(GMTSQIT)  D | 
|---|
| 41 | . D CKP^GMTSUP Q:$D(GMTSQIT)  D:GMTSNPG HEAD | 
|---|
| 42 | . S MI=$G(^UTILITY($J,"W",DIWL,GMI,0)) | 
|---|
| 43 | . W:GMSIG=1 ?2,"SIG: " S:GMSIG=1 GMSIG=0 W ?7,MI,! S GMTOP=0 | 
|---|
| 44 | D CKP^GMTSUP Q:$D(GMTSQIT)  D:GMTSNPG HEAD W ?4,"Provider: ",$E(GMD,1,22) W:CF ?37,"Cost/Fill: $",$J(CF,6,2) | 
|---|
| 45 | I "EC"[$P($P(GMR,U,5),";"),ECD]"" W ?57,"Exp/Can Dt: "_ECD | 
|---|
| 46 | W ! S GMTOP=0 | 
|---|
| 47 | Q | 
|---|
| 48 | HEAD ; Prints Header | 
|---|
| 49 | ;   Only write the next line when there is data | 
|---|
| 50 | S GMTOP=1 | 
|---|
| 51 | I GMX'>0,$D(^DPT(DFN,.1)),^(.1)]"",+($P($G(^PS(59.7,1,40.1)),"^")) D CKP^GMTSUP Q:$D(GMTSQIT)  W "Outpatient prescriptions are cancelled 72 hours after admission",! | 
|---|
| 52 | D CKP^GMTSUP Q:$D(GMTSQIT)  W !,"Drug....................................",?65,"Last",! | 
|---|
| 53 | D CKP^GMTSUP Q:$D(GMTSQIT) | 
|---|
| 54 | W ?18,"Rx #",?31,"Stat",?45,"Qty",?54,"Issued",?65,"Filled",?76,"Rem" | 
|---|
| 55 | W:$Y'>(IOSL-GMTSLO)!(+($G(GUI))>0) ! | 
|---|
| 56 | Q | 
|---|