source: WorldVistAEHR/trunk/r/PHARMACY_BENEFITS_MANAGEMENT-PSU/PSUCS4.m@ 1361

Last change on this file since 1361 was 613, checked in by George Lilly, 15 years ago

initial load of WorldVistAEHR

File size: 4.4 KB
Line 
1PSUCS4 ;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 ;
12GNAME ;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 ;
22LOCTYP ;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 ;
52NDC ;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 ;
60FORMIND ;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 ;
65NFIND ;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 ;
98VPNAME ;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 ;
107VDC ; 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 ;
117PDT ;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
Note: See TracBrowser for help on using the repository browser.