1 | PSUDEM3 ;BIR/DAM - ICD9 codes for Outpatient Encounter Extract ; 20 DEC 2001
|
---|
2 | ;;4.0;PHARMACY BENEFITS MANAGEMENT;;MARCH, 2005
|
---|
3 | ;
|
---|
4 | ;DBIA's
|
---|
5 | ; Reference to file 80 supported by DBIA 10082
|
---|
6 | ; Reference to file 9000010.18 supported by DBIA 3560
|
---|
7 | ;
|
---|
8 | EN ;EN Called from PSUDEM2
|
---|
9 | D ICD
|
---|
10 | D CLEAN
|
---|
11 | Q
|
---|
12 | ;
|
---|
13 | ICD ;Find all ICD9 pointers associated with Patient pointer
|
---|
14 | ;
|
---|
15 | N PSUICD
|
---|
16 | S PSUC1=0
|
---|
17 | F S PSUC1=$O(^AUPNVCPT("C",PSUPT,PSUC1)) Q:PSUC1="" D ;V CPT IEN
|
---|
18 | .I $P($G(^AUPNVCPT(PSUC1,0)),U,3)=$G(PSUVIEN) D ;V CPT IEN=Visit IEN
|
---|
19 | ..S PSUICD=$P($G(^AUPNVCPT(PSUC1,0)),U,5) D ICD1 ;ICD9 Ptr
|
---|
20 | ..S PSUCPT=$P($G(^AUPNVCPT(PSUC1,0)),U,1) D EN^PSUDEM6 ;grab CPT codes
|
---|
21 | I '$D(^AUPNVCPT("C",PSUPT)) S PSUCPT="" D EN^PSUDEM6
|
---|
22 | D FIN
|
---|
23 | Q
|
---|
24 | ;
|
---|
25 | ICD1 ;Find ICD9 codes from pointers and place in an array
|
---|
26 | ;
|
---|
27 | ;
|
---|
28 | N PSUID2
|
---|
29 | I PSUICD S PSUID2=$P($G(^ICD9(PSUICD,0)),U) D
|
---|
30 | .I $D(PSUID2) S ^XTMP("PSU_"_PSUJOB,"PSUTMP1",PSUVIEN,PSUID2)="" ;ICD9 codes set into array
|
---|
31 | ;
|
---|
32 | Q
|
---|
33 | ;
|
---|
34 | FIN ;$O through array, and set codes into the Outpatient Visit
|
---|
35 | ;Encounter global, ^XTMP("PSU_"_PSUJOB,"PSUOPV"
|
---|
36 | ;
|
---|
37 | ;
|
---|
38 | S PSUIDF=0
|
---|
39 | S I=8
|
---|
40 | F S PSUIDF=$O(^XTMP("PSU_"_PSUJOB,"PSUTMP1",PSUVIEN,PSUIDF)) Q:'PSUIDF Q:I=17 D
|
---|
41 | .S $P(^XTMP("PSU_"_PSUJOB,"PSUOPV",PSUVIEN),U,I)=PSUIDF
|
---|
42 | .S I=I+1
|
---|
43 | ;
|
---|
44 | F N=8:1:16 I '$P($G(^XTMP("PSU_"_PSUJOB,"PSUOPV",PSUVIEN)),U,N) D
|
---|
45 | .S $P(^XTMP("PSU_"_PSUJOB,"PSUOPV",PSUVIEN),U,N)=""
|
---|
46 | Q
|
---|
47 | ;
|
---|
48 | CLEAN ;Delete all ^XTMP("PSU_"_PSUJOB,"PSUOPV" entries that do not have associated
|
---|
49 | ;ICD9 or CPT codes.
|
---|
50 | ;
|
---|
51 | S PSUCL=0
|
---|
52 | F S PSUCL=$O(^XTMP("PSU_"_PSUJOB,"PSUOPV",PSUCL)) Q:'PSUCL D
|
---|
53 | .I $P(^XTMP("PSU_"_PSUJOB,"PSUOPV",PSUCL),U,7)="" D
|
---|
54 | ..I $P(^XTMP("PSU_"_PSUJOB,"PSUOPV",PSUCL),U,17)="" K ^XTMP("PSU_"_PSUJOB,"PSUOPV",PSUCL)
|
---|
55 | Q
|
---|