source: FOIAVistA/trunk/r/PHARMACY_BENEFITS_MANAGEMENT-PSU/PSULR1.m@ 1688

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

initial load of FOIAVistA 6/30/08 version

File size: 2.0 KB
Line 
1PSULR1 ;BIR/PDW - PBM LAB EXTRACT ;12 AUG 1999
2 ;;4.0;PHARMACY BENEFITS MANAGEMENT;;MARCH, 2005
3 ; Extract & setup crosswalk for drug codes and "CH" nodes
4 ; Reference to File # 60 supported by DBIA 2523
5 ; Reference to ^LAM supported by DBIA 2522
6EN ;EP Tasking Entry Point for generating LAB mail messages, Summaries, & Prints
7 ;
8CODES ; Table for Building Class * Work Load codes * Lab Tests crosswalk
9 D SETCODES^PSULR0
10 ; Builds ^XTMP(PSULRSUB,"CODES",VA DRUG CLASS,LAB NODE LOCATION)=LAB TEST
11 ; Builds PSUFLAG("BLOOD":"SERUM":"PLASMA") array
12 S:'$D(PSUJOB) PSUJOB=$J
13 S:'$D(PSULRJOB) PSULRJOB=PSUJOB
14 S:'$D(PSULRSUB) PSULRSUB="PSULR_"_PSULRJOB
15 ; Initialize Flag type array
16 F X="BLOOD","SERUM","PLASMA" S PSUFLAG(X)=""
17 ;
18 ; Loop Drug Class Codes & WorkCodes 3.2.8.7
19 S X="AN500" F Y=83405,81062 S PSULRX(X,Y)="" D GET
20 S X="CV200" F Y=82565 S PSULRX(X,Y)="" D GET
21 S X="CV350" F Y=83017,83013,84480,82466,84455,84465 S PSULRX(X,Y)="" D GET
22 S X="CV800" F Y=82565,84140 S PSULRX(X,Y)="" D GET
23 S X="GA301" F Y=82565 S PSULRX(X,Y)="" D GET
24 S X="HS502" F Y=84330,85053,84455,84465,85052 S PSULRX(X,Y)="" D GET
25 ;
26 Q
27 ; Follow wrk code into tests 3.2.8.9
28GET ;EP Get the appropriate Work Load entry
29 ;
30 S PSUY=Y_".0000 " D WALK
31 F S PSUY=$O(^LAM("C",PSUY)) Q:(+PSUY\1'=+Y) D WALK
32 Q
33WALK ;EP Do the crosswalk to get the tests associated with workload
34 S Z=$O(^LAM("C",PSUY,0))
35 ; 3.2.8.9
36 I '$D(^LAM(Z,7,"B")) Q
37 ; 3.2.8.10
38 ;
39 S PSUWKDA=Z
40 ; Loop Multiple & Work on over to file 60 & check site/specimen
41 S Z="" F S Z=$O(^LAM(PSUWKDA,7,"B",Z)) Q:Z="" D
42 . S PSULRDA=+Z
43 . K PSUSPECM
44 . D GETM^PSUTL(60,PSULRDA,"100*^.01;6","PSUSPECM")
45 . S DA=0,PSUFLAG=0 F S DA=$O(PSUSPECM(DA)) Q:DA'>0 S W=PSUSPECM(DA,.01) I $D(PSUFLAG(W)) S PSUFLAG=1 Q
46 . Q:'PSUFLAG
47 . ; store DrugCode, WrkCode, Lab IEN = Location
48 . S PSULOC=$$VAL^PSUTL(60,PSULRDA,5),PSULOC=$P(PSULOC,";",2)
49 . ;S ^XTMP(PSULRSUB,"CODES",X,+Y,PSULRDA)=PSULOC ; Trace Construction
50 . S ^XTMP(PSULRSUB,"CODES",X,PSULOC)=$$VAL^PSUTL(60,PSULRDA,.01)_U_PSUSPECM(DA,6)
Note: See TracBrowser for help on using the repository browser.