[613] | 1 | SPNPM4 ;SD/AB,WDE-PROGRAM MEASURE #4 ;5/28/98
|
---|
| 2 | ;;2.0;Spinal Cord Dysfunction;**6,8**;01/02/1997
|
---|
| 3 | MAIN ;-- This program will collect all SCD-R Pts who are SCD-CURRENTLY SERVED and registered on or before previous FY into the ^TMP($J,"SPNPM4","REGCS_FY",DFN) global
|
---|
| 4 | ;-- Other temp globals used or created are:
|
---|
| 5 | ;-- ^TMP($J,"SPNPMDX","SPNICD",DFN)
|
---|
| 6 | ;-- ^TMP($J,"SPNPM2","ALL_SCD",DFN)
|
---|
| 7 | ;-- ^TMP($J,"SPNPM2","TOT_ICD",DFN)
|
---|
| 8 | ;-- ^TMP($J,"SPNPM4","TOT_DENOM",DFN)
|
---|
| 9 | ;
|
---|
| 10 | ;-- SPN Variable Array list:
|
---|
| 11 | ;-- BEG_DT = Beginning Date (FOR loop)
|
---|
| 12 | ;-- DFN = DFN
|
---|
| 13 | ;-- END# = Ending number (ICD9)
|
---|
| 14 | ;-- END_DT = Ending Date (FOR loop)
|
---|
| 15 | ;-- EVAL_FLGO = Annual Rehab Evaluation Offered Flag
|
---|
| 16 | ;-- EVAL_FLGR = Annual Rehab Evaluation Received Flag
|
---|
| 17 | ;-- FY = Previous FY
|
---|
| 18 | ;-- I = Variable used in FOR Loop for ICD9 codes
|
---|
| 19 | ;-- ICDPT = Pointer from PTF file to ICD9 Dx file (#80)
|
---|
| 20 | ;-- ICD_FLG = ICD9 flag (set to 1 if SCI Dx found)
|
---|
| 21 | ;-- ICD_IEN = IEN in ICD9 Dx file (#80)
|
---|
| 22 | ;-- OFFRD_DT = Date Annual Rehab Eval Offered
|
---|
| 23 | ;-- ONSET_DT = SCD Date of Onset
|
---|
| 24 | ;-- PIECE = Piece in 70 node of PTF file (#45)
|
---|
| 25 | ;-- PTF_IEN = IEN in PTF file (#45)
|
---|
| 26 | ;-- RECVD_DT = Date Annual Rehab Eval Received
|
---|
| 27 | ;-- REG_DT = Registration Date
|
---|
| 28 | ;-- REG_STAT = Registration Status
|
---|
| 29 | ;-- REHAB_NODE = Annual Rehab Evaluation Node in ^SPNL(154,DFN,"REHAB")
|
---|
| 30 | ;-- ST# = Starting number for ICD9 code FOR Loop
|
---|
| 31 | ;-- TOT_CNT = Total # of All SCD Pts
|
---|
| 32 | ;-- TOT_CSREG = Total of SCD Pts who are CS and registered on or before End of Previous FY
|
---|
| 33 | ;-- TOT_DEN = Denominator Total for PM #4
|
---|
| 34 | ;-- TOT_NUM = Numerator Total for PM #4 (Offered and Received)
|
---|
| 35 | ;-- TOT_NUMO = Numerator Total for PM #4 (Offered)
|
---|
| 36 | ;-- TOT_NUMR = Numerator Total for PM #4 (Received)
|
---|
| 37 | ;
|
---|
| 38 | ;-- 1st get previous FY info
|
---|
| 39 | D GETYR^SPNPM2
|
---|
| 40 | D CHKALL
|
---|
| 41 | D CHKREG
|
---|
| 42 | D CHKICD
|
---|
| 43 | D GETDEN
|
---|
| 44 | ;-- Get PM #2 Numerator
|
---|
| 45 | D ^SPNPM4N
|
---|
| 46 | ;-- Put PM #2 totals into SPNTXT array
|
---|
| 47 | D SETTXT
|
---|
| 48 | EXIT K SPN
|
---|
| 49 | K:$D(^TMP($J,"SPNPMDX")) ^("SPNPMDX")
|
---|
| 50 | K:$D(^TMP($J,"SPNPM2")) ^("SPNPM2")
|
---|
| 51 | K:$D(^TMP($J,"SPNPM4")) ^("SPNPM4")
|
---|
| 52 | Q
|
---|
| 53 | CHKALL ;-- Check for existence of $D(^TMP($J,"SPNPM2","ALL_SCD")), create if necessary
|
---|
| 54 | I $D(^TMP($J,"SPNPM2","ALL_SCD")) Q
|
---|
| 55 | ;-- Otherwise create this temp global
|
---|
| 56 | D GETALL^SPNPM2
|
---|
| 57 | Q
|
---|
| 58 | CHKREG ;-- Check to see if Pt in ^TMP($J,"SPNPM2","ALL_SCD",DFN) is registered on or before End of Given FY AND is SCD-CURRENTLY SERVED
|
---|
| 59 | ;-- Quit if '$D(^TMP($J,"SPNPM2","ALL_SCD"))
|
---|
| 60 | Q:'$D(^TMP($J,"SPNPM2","ALL_SCD"))
|
---|
| 61 | S (SPN("DFN"),SPN("TOT_CSREG"))=0
|
---|
| 62 | F S SPN("DFN")=$O(^TMP($J,"SPNPM2","ALL_SCD",SPN("DFN"))) Q:'+SPN("DFN") D
|
---|
| 63 | .;-- Get Registration Date (REG_DT) and Regisration Status (REG_STAT) of DFN
|
---|
| 64 | .S SPN("REG_DT")=$P($G(^SPNL(154,SPN("DFN"),0)),U,2),SPN("REG_STAT")=$P($G(^(0)),U,3)
|
---|
| 65 | .;-- Quit if REG_DT is null
|
---|
| 66 | .Q:'+SPN("REG_DT")
|
---|
| 67 | .;-- Quit if REG_DT '< END_DT and REG_STAT '= 1 (1=SCD-CURRENTLY SERVED)
|
---|
| 68 | .I SPN("REG_DT")>SPN("END_DT")!(SPN("REG_STAT")'=1) Q
|
---|
| 69 | .;-- Okay then save to ^TMP($J,"SPNPM4","REGCS_FY",DFN) global
|
---|
| 70 | .S ^TMP($J,"SPNPM4","REGCS_FY",SPN("DFN"))=SPN("REG_DT")_"^"_SPN("REG_STAT") S SPN("TOT_CSREG")=SPN("TOT_CSREG")+1
|
---|
| 71 | .Q
|
---|
| 72 | Q
|
---|
| 73 | CHKICD ;-- Check for the existence of ^TMP($J,"SPNPM2","TOT_ICD"), if not exist then create
|
---|
| 74 | Q:$D(^TMP($J,"SPNPM2","TOT_ICD"))
|
---|
| 75 | ;-- Okay then create this temp global
|
---|
| 76 | D ^SPNPMDX,GETICD^SPNPM2B
|
---|
| 77 | Q
|
---|
| 78 | GETDEN ;-- Get Denominator
|
---|
| 79 | ;-- Check if Pt (DFN) is in both ^TMP($J,"SPNPM4","REGCS_FY") ^TMP($J,"SPNPM2","TOT_ICD") globals
|
---|
| 80 | ;-- Quit if '$D(^TMP($J,"SPNPM2","ALL_SCD"))
|
---|
| 81 | Q:'$D(^TMP($J,"SPNPM2","ALL_SCD"))
|
---|
| 82 | ;-- Loop thru ^TMP($J,"SPNPM2","ALL_SCD",DFN) Pts, initialize Denominator counter (TOT_DEN)
|
---|
| 83 | S (SPN("DFN"),SPN("TOT_DEN"))=0
|
---|
| 84 | F S SPN("DFN")=$O(^TMP($J,"SPNPM2","ALL_SCD",SPN("DFN"))) Q:'+SPN("DFN") D
|
---|
| 85 | .I +$D(^TMP($J,"SPNPM4","REGCS_FY",SPN("DFN"))),+$D(^TMP($J,"SPNPM2","TOT_ICD",SPN("DFN"))) D
|
---|
| 86 | ..;-- Count and collect the Denominator
|
---|
| 87 | ..S SPN("TOT_DEN")=SPN("TOT_DEN")+1,^TMP($J,"SPNPM4","TOT_DENOM",SPN("DFN"))=""
|
---|
| 88 | ..Q
|
---|
| 89 | .Q
|
---|
| 90 | Q
|
---|
| 91 | SETTXT ;-- Put PM #4 totals into SPNTXT array
|
---|
| 92 | I $G(SPNPARM("SITE"))="" S SPNPARM("SITE")=$G(^DD("SITE"))
|
---|
| 93 | S $P(SPNTXT(1),U,7)=0
|
---|
| 94 | ;
|
---|
| 95 | S $P(SPNTXT(1),U,1)=SPNPARM("SITE")
|
---|
| 96 | ;
|
---|
| 97 | ; Program Measure #4 Denominator = SPN("TOT_DEN")
|
---|
| 98 | S $P(SPNTXT(1),U,2)=SPN("TOT_DEN")
|
---|
| 99 | ;
|
---|
| 100 | ; Program Measure #4 Numerator (Offered and Received) = SPN("TOT_NUM")
|
---|
| 101 | S $P(SPNTXT(1),U,3)=SPN("TOT_NUM")
|
---|
| 102 | ;
|
---|
| 103 | ; Program Measure #4 Numerator (Offered) = SPN("TOT_NUMO")
|
---|
| 104 | S $P(SPNTXT(1),U,4)=SPN("TOT_NUMO")
|
---|
| 105 | ;
|
---|
| 106 | ; Program Measure #4 Numerator (Received) = SPN("TOT_NUMR")
|
---|
| 107 | S $P(SPNTXT(1),U,5)=SPN("TOT_NUMR")
|
---|
| 108 | ;
|
---|
| 109 | ; Total SCD-R Pts Currently Served by End of FY = SPN("TOT_CSREG")
|
---|
| 110 | S $P(SPNTXT(1),U,6)=SPN("TOT_CSREG")
|
---|
| 111 | ;
|
---|
| 112 | ; Total # ALL SCD-R Pts = SPN("TOT_CNT")
|
---|
| 113 | S $P(SPNTXT(1),U,7)=SPN("TOT_CNT")
|
---|
| 114 | ;
|
---|
| 115 | S SPNDESC="Program Measure 4 "_^DD("SITE")
|
---|
| 116 | D ^SPNMAIL
|
---|
| 117 | Q
|
---|