[613] | 1 | PSUCS2 ;BIR/DJE,DJM - Generate CS records (TYPE2) ;25 AUG 1998
|
---|
| 2 | ;;4.0;PHARMACY BENEFITS MANAGEMENT;;MARCH, 2005
|
---|
| 3 | ;
|
---|
| 4 | ;DBIA's
|
---|
| 5 | ; Reference to File #58.81 supported by DBIA 2520
|
---|
| 6 | ; Reference to File #50 supported by DBIA 221
|
---|
| 7 | ; Reference to File #58.8 supported by DBIA 2519
|
---|
| 8 | ; Reference to File #59 supported by DBIA 2510
|
---|
| 9 | ;
|
---|
| 10 | ; *
|
---|
| 11 | ; TYPE 2 - "Dispensed from pharmacy"
|
---|
| 12 | ; *
|
---|
| 13 | ;
|
---|
| 14 | TYP2 ; Processing the transaction for dispensing type 2
|
---|
| 15 | ;('logged for patient'). If the pharmacy location for transactions
|
---|
| 16 | ;with a dispensing type = 2 is associated with either an Outpatient
|
---|
| 17 | ; Or Inpatient site, it may be possible to break down the sender by
|
---|
| 18 | ;the outpatient clinic or inpatient division.
|
---|
| 19 | ;
|
---|
| 20 | K PSUQUIT
|
---|
| 21 | S PSUDRG(4)=$$VALI^PSUTL(58.81,PSUIENDA,4)
|
---|
| 22 | ;
|
---|
| 23 | ;(type 2 specific call)
|
---|
| 24 | D QTY2
|
---|
| 25 | I 'PSUTQY(5) S PSUQUIT=1 Q ; do not send if QTY=0
|
---|
| 26 | ;
|
---|
| 27 | ; Unit cost
|
---|
| 28 | S PSUPDU(16)=$$VALI^PSUTL(50,PSUDRG(4),16)
|
---|
| 29 | ;
|
---|
| 30 | ; DIVISION
|
---|
| 31 | D DIVISION
|
---|
| 32 | ;
|
---|
| 33 | ;(Type 2 specific call)
|
---|
| 34 | D NAOU
|
---|
| 35 | ;
|
---|
| 36 | ;
|
---|
| 37 | ; Generic name, Location type.
|
---|
| 38 | D GNAME^PSUCS4,LOCTYP^PSUCS4
|
---|
| 39 | ;Requirement 3.2.5.7
|
---|
| 40 | I "SM"'[PSULTP(1) S PSUQUIT=1 Q ;**9
|
---|
| 41 | ;W PSULTP(1)
|
---|
| 42 | ;Requirement 3.2.5.8
|
---|
| 43 | I CPFLG="N" S PSUQUIT=1 Q ;**9
|
---|
| 44 | ;
|
---|
| 45 | ;VA Drug class, Formulary/Non-formulary, National formulary Indicator
|
---|
| 46 | D NDC^PSUCS4,FORMIND^PSUCS4,NFIND^PSUCS4
|
---|
| 47 | ;
|
---|
| 48 | ;
|
---|
| 49 | ; VA Product name, VA drug class, Package details.
|
---|
| 50 | D VPNAME^PSUCS4,VDC^PSUCS4,PDT^PSUCS4
|
---|
| 51 | ;
|
---|
| 52 | Q
|
---|
| 53 | ;
|
---|
| 54 | ;
|
---|
| 55 | ;
|
---|
| 56 | ;
|
---|
| 57 | ;
|
---|
| 58 | DIVISION ;
|
---|
| 59 | ;Field # 58.81,2 [PHARMACY LOCATION] Points to File # 58.8
|
---|
| 60 | S PSUPL(2)=$$VALI^PSUTL(58.81,PSUIENDA,"2")
|
---|
| 61 | S SENDER=""
|
---|
| 62 | N MAPLOCI
|
---|
| 63 | D GETM^PSUTL(59.7,1,"90.02*^.01;.02;.03","MAPLOCI","I")
|
---|
| 64 | D MOVEMI^PSUTL("MAPLOCI")
|
---|
| 65 | ;
|
---|
| 66 | I $G(MAPLOCI(PSUPL(2),.01)) D
|
---|
| 67 | .S X=$G(MAPLOCI(PSUPL(2),.02)) I X S SENDER=$$VALI^PSUTL(40.8,X,1)
|
---|
| 68 | .S X=$G(MAPLOCI(PSUPL(2),.03)) I X S SENDER=$$VALI^PSUTL(59,X,.06)
|
---|
| 69 | I '$G(MAPLOCI(PSUPL(2),.01)) D
|
---|
| 70 | .S SENDER=PSUSNDR,PSURI="H"
|
---|
| 71 | Q
|
---|
| 72 | ;
|
---|
| 73 | NAOU ;3.2.5.6. Functional Requirement 6
|
---|
| 74 | ;The product shall extract the NAOU if the dispensing type =2.
|
---|
| 75 | ;Field # 58.81,17 [NAOU] Points to File # 58.8
|
---|
| 76 | S PSUNAOU(17)=$$VALI^PSUTL(58.81,PSUIENDA,"17")
|
---|
| 77 | S PSUNAOU=PSUNAOU(17)
|
---|
| 78 | ;
|
---|
| 79 | ;If the NAOU does not exist for that transaction,
|
---|
| 80 | ;extract the Pharmacy PSULOCation.
|
---|
| 81 | ;Field # 58.81,2 [PHARMACY PSULOCATION] Points to File # 58.8
|
---|
| 82 | I PSUNAOU="" D
|
---|
| 83 | .S PSUNAOU(2)=$$VALI^PSUTL(58.81,PSUIENDA,"2")
|
---|
| 84 | .S PSUNAOU=PSUNAOU(2)
|
---|
| 85 | ;
|
---|
| 86 | ;Field # 58.8,.01 [PHARMACY PSULOCATION]***Field to be extracted
|
---|
| 87 | S PSUPLC(.01)=$$VALI^PSUTL(58.8,PSUNAOU,".01")
|
---|
| 88 | Q
|
---|
| 89 | ;
|
---|
| 90 | QTY2 ;3.2.5.10. Functional Requirement 10
|
---|
| 91 | ;The product shall extract the total quantity dispensed.
|
---|
| 92 | ;For transactions with a dispensing type=2, check to see if
|
---|
| 93 | ;the quantity was edited (Field # 58.81,48).
|
---|
| 94 | ;If so, use the edited (new quantity).
|
---|
| 95 | ; if there is a date present then use the NEW QUANTITY value.
|
---|
| 96 | ;Field # 58.81,50 [NEW QUANTITY]**Field to be extracted
|
---|
| 97 | S PSUQED(48)=$$VALI^PSUTL(58.81,PSUIENDA,"48")
|
---|
| 98 | S PSUTQY(5)=$$VALI^PSUTL(58.81,PSUIENDA,5)
|
---|
| 99 | S:'PSUDRG(4) PSUDRG(4)=$$VALI^PSUTL(58.81,PSUIENDA,4)
|
---|
| 100 | ;
|
---|
| 101 | I PSUQED(48) S PSUTQY(5)=$$VALI^PSUTL(58.81,PSUIENDA,50)
|
---|
| 102 | S:PSUTQY(5) ^XTMP(PSUCSJB,"TQTY",PSULOC,PSUIENDA,PSUDRG(4))=PSUTQY(5)
|
---|
| 103 | Q
|
---|
| 104 | ;
|
---|