| 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 |  ;
 | 
|---|