[613] | 1 | PSUCS4 ;BIR/DJE - PBM CS GENERATE RECORDS ;13 OCT 1999
|
---|
| 2 | ;;4.0;PHARMACY BENEFITS MANAGEMENT;;MARCH, 2005
|
---|
| 3 | ;
|
---|
| 4 | ; **
|
---|
| 5 | ; General Calls from type 2 & 17
|
---|
| 6 | ; **
|
---|
| 7 | ;DBIAs
|
---|
| 8 | ; Reference to file #50 supported by DBIA 221
|
---|
| 9 | ; Reference to file #58.8 supported by DBIA 2519
|
---|
| 10 | ; Reference to file #58.81 supported by DBIA 2520
|
---|
| 11 | ;
|
---|
| 12 | GNAME ;3.2.5.11. Functional Requirement 11
|
---|
| 13 | ;Field # 58.81,4 [DRUG] Points to File # 50
|
---|
| 14 | S PSUDRG(4)=$$VALI^PSUTL(58.81,PSUIENDA,"4")
|
---|
| 15 | ;
|
---|
| 16 | ;Generic Drug Name
|
---|
| 17 | ;Field # 50,.01 [GENERIC NAME]**Field to be extracted
|
---|
| 18 | S PSUGDN(.01)=$$VALI^PSUTL(50,PSUDRG(4),".01")
|
---|
| 19 | I $G(PSUGDN(.01))="" S PSUGDN(.01)="Unknown Generic Name"
|
---|
| 20 | Q
|
---|
| 21 | ;
|
---|
| 22 | LOCTYP ;3.2.5.7. Functional Requirement 7
|
---|
| 23 | ;Transactions with a dispensing type (field # 58.81,1) of '2'
|
---|
| 24 | ; - Dispensed from Pharmacy must be associated with a location type
|
---|
| 25 | ;(field # 58.8,1) of 'M' for Master or 'S' for Satellite.
|
---|
| 26 | ;Transactions with a dispensing type (field # 58.81,1) of '17'
|
---|
| 27 | ;- Logged for Patient must be associated with a location type
|
---|
| 28 | ;(field # 58.8,1) of 'N' for narcotic location.
|
---|
| 29 | ;S PSULTP(1)=$$VALI^PSUTL(58.81,PSUIENDA,"1")
|
---|
| 30 | ;D MOVEI^PSUTL("PSULTP")
|
---|
| 31 | S PSULTP(1)=$$VALI^PSUTL(58.8,PSULOC,1)
|
---|
| 32 | Q:PSUTYP=17
|
---|
| 33 | ;
|
---|
| 34 | ;3.2.5.8. Functional Requirement 8
|
---|
| 35 | ;Transactions with a dispensing type '2'-dispensed from pharmacy
|
---|
| 36 | ;(field # 58.81,1) and a Location type of 'M' for 'S' (field # 58.8,1)
|
---|
| 37 | ;
|
---|
| 38 | ; Continue Processing Flag (CPFLG)
|
---|
| 39 | S CPFLG="Y"
|
---|
| 40 | ; but that have been cancelled (field # 58.81,55) will be excluded.
|
---|
| 41 | ; (ie.If there is a 'cancel verified order date' - PSUCDT)
|
---|
| 42 | S PSUCDT(55)=$$VALI^PSUTL(58.81,PSUIENDA,"55")
|
---|
| 43 | Q:$G(PSUCDT(55))=""
|
---|
| 44 | S CPFLG="N"
|
---|
| 45 | Q
|
---|
| 46 | ;
|
---|
| 47 | ;3.2.5.9. Functional Requirement 9
|
---|
| 48 | ;Dispensing transactions that meet the criteria in functional
|
---|
| 49 | ;requirements 3.2.5.3., 3.2.5.7. and 3.2.5.8. will have the following
|
---|
| 50 | ;additional data elements for the drug extracted.
|
---|
| 51 | ;
|
---|
| 52 | NDC ;NDC
|
---|
| 53 | ;Field # 50,31 [NDC]**Field to be extracted
|
---|
| 54 | ;If no data found, send "No NDC".
|
---|
| 55 | S PSUNDC(31)=$$VALI^PSUTL(50,PSUDRG(4),"31")
|
---|
| 56 | I $G(PSUNDC(31))="" S PSUNDC(31)="No NDC"
|
---|
| 57 | Q
|
---|
| 58 | ;
|
---|
| 59 | ;
|
---|
| 60 | FORMIND ;Formulary/Non-Formulary Indicator
|
---|
| 61 | ;Field # 50,51 [NON-FORMULARY]**Field to be extracted
|
---|
| 62 | S PSUFID(51)=$$VALI^PSUTL(50,PSUDRG(4),"51")
|
---|
| 63 | Q
|
---|
| 64 | ;
|
---|
| 65 | NFIND ;National Formulary Indicator
|
---|
| 66 | ;Product will need to check whether or not Vs 4.0 of
|
---|
| 67 | ;National Drug File is installed. If not, this field will not exist.
|
---|
| 68 | ;Check for National Drug File
|
---|
| 69 | S (NFIND,NFRES)=""
|
---|
| 70 | S VERSION=$$VERSION^XPDUTL("PSN")
|
---|
| 71 | Q:VERSION<4.0
|
---|
| 72 | ;Field # 50.68,17 [NATIONAL FORMULARY INDICATOR]***Field to be extracted
|
---|
| 73 | ;If National Drug File vs 4.0 is not installed
|
---|
| 74 | ;Transmission format: Send null
|
---|
| 75 | ;If National Drug File vs 4.0 is installed
|
---|
| 76 | S PSUDRG4=PSUDRG(4)
|
---|
| 77 | D GETS^PSUTL(50,PSUDRG4,"20;22;3;52","PSUDRG","I")
|
---|
| 78 | D MOVEI^PSUTL("PSUDRG")
|
---|
| 79 | S PSUDRG(4)=PSUDRG4
|
---|
| 80 | ;
|
---|
| 81 | S PSUNFI(17)=$$FORMI^PSNAPIS(PSUDRG(20),PSUDRG(22))
|
---|
| 82 | ;Transmission format: Internal value ('1' for Yes, '0' for No)
|
---|
| 83 | ;National Formulary Restriction Indicator
|
---|
| 84 | ;Product shall check whether or not Vs 4.0 of National Drug File
|
---|
| 85 | ;is installed. If not, this field will not exist.
|
---|
| 86 | ;Field #50.6818,.01[NATIONAL FORMULARY RESTRICTION]Field to be extracted
|
---|
| 87 | ;
|
---|
| 88 | S PSUNFR(.01)=$$FORMR^PSNAPIS(PSUDRG(20),PSUDRG(22))>0
|
---|
| 89 | S PSUNFR(.01)=$S($G(PSUNFR(.01))="":0,1:PSUNFR(.01))
|
---|
| 90 | ;
|
---|
| 91 | ;If National Drug File vs 4.0 is not installed
|
---|
| 92 | ;Transmission format: Send null
|
---|
| 93 | ;If National Drug File vs 4.0 is installed
|
---|
| 94 | ;Transmission format: If no value is found send '0',
|
---|
| 95 | ;if data exists sent '1'
|
---|
| 96 | Q
|
---|
| 97 | ;
|
---|
| 98 | VPNAME ;VA Product Name
|
---|
| 99 | ;Field # 50,21[VA PRODUCT NAME]**Field to be extracted
|
---|
| 100 | S PSUVPN(21)=$$VALI^PSUTL(50,PSUDRG(4),"21")
|
---|
| 101 | S PSUDRG4=PSUDRG(4) ;if no value found, send "Unknown VA Product Name"
|
---|
| 102 | I $G(PSUVPN(21))="" S PSUVPN(21)="Unknown VA Product Name"
|
---|
| 103 | D GETS^PSUTL(50,PSUDRG(4),"3;52","PSUDRG","I"),MOVEI^PSUTL("PSUDRG")
|
---|
| 104 | S PSUDRG(4)=PSUDRG4 ;DEA, NFI
|
---|
| 105 | Q
|
---|
| 106 | ;
|
---|
| 107 | VDC ; VA Drug Class
|
---|
| 108 | ;Field # 50,2 [NATIONAL DRUG CLASS] Pointer to File # 50.605
|
---|
| 109 | ;used DRUG pointer from previous quantity check.
|
---|
| 110 | S PSUNAC(2)=$$VALI^PSUTL(50,PSUDRG(4),"2")
|
---|
| 111 | ;
|
---|
| 112 | ;Field # 50.605,.01 [CODE]**Field to be extracted
|
---|
| 113 | S PSUFID(.01)=PSUNAC(2)
|
---|
| 114 | Q
|
---|
| 115 | ;Field # 58.8001,.01 [DRUG] Pointer to File # 50
|
---|
| 116 | ;
|
---|
| 117 | PDT ;Package details
|
---|
| 118 | ;Field # 58.8001,7 [BREAKDOWN UNIT]**Field to be extracted
|
---|
| 119 | ;Field # 58.8001,8 [PACKAGE SIZE]**Field to be extracted
|
---|
| 120 | S PSUSITE=0
|
---|
| 121 | S PSUSITE=$$VALI^PSUTL(58.8,PSUIENDA,20)
|
---|
| 122 | S:'PSUSITE PSUSITE=$$VALI^PSUTL(58.81,PSUIENDA,2)
|
---|
| 123 | D GETS^PSUTL(58.8001,"PSUSITE,PSUDRG(4)","7;8","PSUPDT","I")
|
---|
| 124 | D MOVEI^PSUTL("PSUPDT")
|
---|
| 125 | S UNIT=$G(PSUPDT(7),"NA")
|
---|
| 126 | Q
|
---|