Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: PSUDEM3

PSUDEM3.m

Go to the documentation of this file.
  1. PSUDEM3 ;BIR/DAM - ICD9 codes for Outpatient Encounter Extract ; 20 DEC 2001
  1. ;;4.0;PHARMACY BENEFITS MANAGEMENT;;MARCH, 2005
  1. ;
  1. ;DBIA's
  1. ; Reference to file 80 supported by DBIA 10082
  1. ; Reference to file 9000010.18 supported by DBIA 3560
  1. ;
  1. EN ;EN Called from PSUDEM2
  1. D ICD
  1. D CLEAN
  1. Q
  1. ;
  1. ICD ;Find all ICD9 pointers associated with Patient pointer
  1. ;
  1. N PSUICD
  1. S PSUC1=0
  1. F S PSUC1=$O(^AUPNVCPT("C",PSUPT,PSUC1)) Q:PSUC1="" D ;V CPT IEN
  1. .I $P($G(^AUPNVCPT(PSUC1,0)),U,3)=$G(PSUVIEN) D ;V CPT IEN=Visit IEN
  1. ..S PSUICD=$P($G(^AUPNVCPT(PSUC1,0)),U,5) D ICD1 ;ICD9 Ptr
  1. ..S PSUCPT=$P($G(^AUPNVCPT(PSUC1,0)),U,1) D EN^PSUDEM6 ;grab CPT codes
  1. I '$D(^AUPNVCPT("C",PSUPT)) S PSUCPT="" D EN^PSUDEM6
  1. D FIN
  1. Q
  1. ;
  1. ICD1 ;Find ICD9 codes from pointers and place in an array
  1. ;
  1. ;
  1. N PSUID2
  1. I PSUICD S PSUID2=$P($G(^ICD9(PSUICD,0)),U) D
  1. .I $D(PSUID2) S ^XTMP("PSU_"_PSUJOB,"PSUTMP1",PSUVIEN,PSUID2)="" ;ICD9 codes set into array
  1. ;
  1. Q
  1. ;
  1. FIN ;$O through array, and set codes into the Outpatient Visit
  1. ;Encounter global, ^XTMP("PSU_"_PSUJOB,"PSUOPV"
  1. ;
  1. ;
  1. S PSUIDF=0
  1. S I=8
  1. F S PSUIDF=$O(^XTMP("PSU_"_PSUJOB,"PSUTMP1",PSUVIEN,PSUIDF)) Q:'PSUIDF Q:I=17 D
  1. .S $P(^XTMP("PSU_"_PSUJOB,"PSUOPV",PSUVIEN),U,I)=PSUIDF
  1. .S I=I+1
  1. ;
  1. F N=8:1:16 I '$P($G(^XTMP("PSU_"_PSUJOB,"PSUOPV",PSUVIEN)),U,N) D
  1. .S $P(^XTMP("PSU_"_PSUJOB,"PSUOPV",PSUVIEN),U,N)=""
  1. Q
  1. ;
  1. CLEAN ;Delete all ^XTMP("PSU_"_PSUJOB,"PSUOPV" entries that do not have associated
  1. ;ICD9 or CPT codes.
  1. ;
  1. S PSUCL=0
  1. F S PSUCL=$O(^XTMP("PSU_"_PSUJOB,"PSUOPV",PSUCL)) Q:'PSUCL D
  1. .I $P(^XTMP("PSU_"_PSUJOB,"PSUOPV",PSUCL),U,7)="" D
  1. ..I $P(^XTMP("PSU_"_PSUJOB,"PSUOPV",PSUCL),U,17)="" K ^XTMP("PSU_"_PSUJOB,"PSUOPV",PSUCL)
  1. Q