[613] | 1 | SPNPM1 ;SD/AB,WDE-PROGRAM MEASURE #1 ;5/28/98
|
---|
| 2 | ;;2.0;Spinal cord Dysfunction;**6,8**;01/02/1997
|
---|
| 3 | MAIN ;-- This programs main purpose is to retrieve the number of SCD Pts who are SCD-CURRENTLY SERVED by the end of Previous FY and who have any SCI ICD-9 code in a Transmitted PTF record (DENOMINATOR)
|
---|
| 4 | ;-- It also gets the number of SCD-CURRENTLY SERVED Pts (CS by the end of Previous FY) who also have a Primary Care Provider entered into the respective SCD-R records (NUMERATOR)
|
---|
| 5 | ;-- Variable array (SPN) list:
|
---|
| 6 | ;-- DFN = DFN
|
---|
| 7 | ;-- END# = Ending ICD-9 code
|
---|
| 8 | ;-- END_DT = FM-format Ending Date (Last Day of FY)
|
---|
| 9 | ;-- FY = FY (2-digit) used for data calculations
|
---|
| 10 | ;-- I = As FOR Loop parameter for get range of ICD-9 codes
|
---|
| 11 | ;-- ICD_FLG = ICD FLAG (set to 1 if SCI ICD-9 code found)
|
---|
| 12 | ;-- ICD_IEN = IEN in ^ICD9( global
|
---|
| 13 | ;-- ICDPT = SCI ICD-9 Pointer in ^TMP($J,"SPNPMDX","SPNICD") global
|
---|
| 14 | ;-- PC_FLG = Primary Care flag (set to 1 if PC Provider found in SCD-R record)
|
---|
| 15 | ;-- PIECE = Piece containing ICD-9 pointers in ^DGPT(PTF_IEN,70)
|
---|
| 16 | ;-- PROV# = Provider pointer to ^VA(200)
|
---|
| 17 | ;-- PTF_IEN = PTF IEN
|
---|
| 18 | ;-- REG_DT = SCD-R REGISTRATION DATE
|
---|
| 19 | ;-- REG_STAT = SCD-R REGISTRATION STATUS
|
---|
| 20 | ;-- ST# = Starting ICD-9 code
|
---|
| 21 | ;-- TOT_CSREG = Total # SCD CS Pts Registered by end of FY
|
---|
| 22 | ;-- TOT_NO_ICD = Total # SCD CS Pts Registered by end of FY w/o matching SCI ICD-9 codes in any Transmitted PTF record
|
---|
| 23 | ;-- TOT_NO_PTF = Total # SCD CS Pts Registered by end of FY w/o any PTF record
|
---|
| 24 | ;-- TOT_PC = Total # SCD CS Pts Registered by end of FY with PC Provider entered into SCD-R
|
---|
| 25 | ;-- TOT_PTF = Total # SCD CS Pts Registered by end of FY with matching SCI ICD-9 codes in any Transmitted PTF record
|
---|
| 26 | ;-- TOT_PTS = Grand Total of ALL SCD Pts in SCD-R
|
---|
| 27 | K:$D(^TMP($J)) ^($J)
|
---|
| 28 | D GETYR
|
---|
| 29 | D GETSCD
|
---|
| 30 | ;-- Get SCI ICD-9 codes
|
---|
| 31 | D ^SPNPMDX
|
---|
| 32 | ;-- Get DENOMINATOR of PM #1
|
---|
| 33 | D ^SPNPM1D
|
---|
| 34 | ;-- Get NUMERATOR of PM #1
|
---|
| 35 | D ^SPNPM1N
|
---|
| 36 | ;-- Put PM #1 totals into SPNTXT array
|
---|
| 37 | D SETTXT
|
---|
| 38 | EXIT K SPN
|
---|
| 39 | K:$D(^TMP($J)) ^($J)
|
---|
| 40 | Q
|
---|
| 41 | GETYR ;-- Get FY for previous FY, and set Ending Date (END_DT) to FM FY_0930
|
---|
| 42 | I +$E($G(DT),4,7)<931 S SPN("FY")=$E($G(DT),1,3)-1
|
---|
| 43 | E S SPN("FY")=$E($G(DT),1,3)
|
---|
| 44 | S SPN("END_DT")=+SPN("FY")_"0930"
|
---|
| 45 | Q
|
---|
| 46 | GETSCD ;-- Loop thru SCD Registry file (^SPNL(154)) and get all SCD Pts who are Registered and Curr Served (CS) by end of Previous FY
|
---|
| 47 | S (SPN("DFN"),SPN("TOT_CSREG"),SPN("TOT_PTS"))=0
|
---|
| 48 | F S SPN("DFN")=$O(^SPNL(154,SPN("DFN"))) Q:'+SPN("DFN") D
|
---|
| 49 | .;-- Quit if no zero node
|
---|
| 50 | .Q:'$D(^SPNL(154,SPN("DFN"),0))
|
---|
| 51 | .;-- Increment Total # SCD Pts (TOT_PTS)
|
---|
| 52 | .S SPN("TOT_PTS")=SPN("TOT_PTS")+1
|
---|
| 53 | .S SPN("REG_DT")=$P($G(^SPNL(154,SPN("DFN"),0)),U,2),SPN("REG_STAT")=$P($G(^(0)),U,3)
|
---|
| 54 | .;-- Quit if REG_DT null
|
---|
| 55 | .Q:'+SPN("REG_DT")
|
---|
| 56 | .;-- Quit if REG_DT '< END_DT and/or REG_STAT '=1 (SCD-Curr Served)
|
---|
| 57 | .I SPN("REG_DT")>SPN("END_DT")!(SPN("REG_STAT")'=1) Q
|
---|
| 58 | .;-- Okay, then save to ^TMP global
|
---|
| 59 | .S ^TMP($J,"SPNPM1","DFN",SPN("DFN"))="" S SPN("TOT_CSREG")=SPN("TOT_CSREG")+1
|
---|
| 60 | .Q
|
---|
| 61 | Q
|
---|
| 62 | SETTXT ;-- Set up SPNTXT message text array
|
---|
| 63 | I $G(SPNPARM("SITE"))="" S SPNPARM("SITE")=$G(^DD("SITE"))
|
---|
| 64 | S $P(SPNTXT(1),U,7)=""
|
---|
| 65 | S $P(SPNTXT(1),U,1)=SPNPARM("SITE")
|
---|
| 66 | ;
|
---|
| 67 | ; Total # of CS SCD-R Pts Registered by End of FY with matching
|
---|
| 68 | ; SCI ICD-9 codes in any Transmitted PTF Record = SPN("TOT_PTF")
|
---|
| 69 | ; *** This is PM #1 DENOMINATOR ***
|
---|
| 70 | S $P(SPNTXT(1),U,2)=SPN("TOT_PTF")
|
---|
| 71 | ;
|
---|
| 72 | ; Total # of All SCD-R Pts /w PC Provider Entered into
|
---|
| 73 | ; SCD-R = SPN("TOT_PC")
|
---|
| 74 | ; *** This is PM #1 NUMERATOR ***
|
---|
| 75 | S $P(SPNTXT(1),U,3)=SPN("TOT_PC")
|
---|
| 76 | ;
|
---|
| 77 | ; Total # of SCD-R Pts Registered by End of FY w/o^ matching SCI
|
---|
| 78 | ; ICD-9 codes in any Transmitted PTF Record = SPN("TOT_NO_ICD")
|
---|
| 79 | S $P(SPNTXT(1),U,4)=SPN("TOT_NO_ICD")
|
---|
| 80 | ;
|
---|
| 81 | ; Total CS SCD-R Pts Registered by End of FY w/o any
|
---|
| 82 | ; PTF record = SPN("TOT_NO_PTF")
|
---|
| 83 | S $P(SPNTXT(1),U,5)=SPN("TOT_NO_PTF")
|
---|
| 84 | ;
|
---|
| 85 | ; Total # of CS SCD-R Pts Registered by End of FY = SPN("TOT_CSREG")
|
---|
| 86 | S $P(SPNTXT(1),U,6)=SPN("TOT_CSREG")
|
---|
| 87 | ;
|
---|
| 88 | ; Total # of All SCD-R Pts = SPN("TOT_PTS")
|
---|
| 89 | S $P(SPNTXT(1),U,7)=SPN("TOT_PTS")
|
---|
| 90 | ;
|
---|
| 91 | S SPNDESC="Program Measure 1 "_$G(^DD("SITE"))
|
---|
| 92 | D ^SPNMAIL
|
---|
| 93 | Q
|
---|