[613] | 1 | RORTSK12 ;HCIOFO/SG - REPORT STATS UTILITIES ; 7/15/05 12:00pm
|
---|
| 2 | ;;1.5;CLINICAL CASE REGISTRIES;;Feb 17, 2006
|
---|
| 3 | ;
|
---|
| 4 | Q
|
---|
| 5 | ;
|
---|
| 6 | ;***** CLEARS THE STATISTICS
|
---|
| 7 | ;
|
---|
| 8 | ; REGIEN Registry IEN
|
---|
| 9 | ;
|
---|
| 10 | ; [RPTCODE] Report Code. By default ($G(RPTCODE)'>0),
|
---|
| 11 | ; all statistic data is deleted.
|
---|
| 12 | ;
|
---|
| 13 | CLEAR(REGIEN,RPTCODE) ;
|
---|
| 14 | N DA,DIK,IENS,NODE,RPIEN
|
---|
| 15 | S DA(1)=+REGIEN,IENS=","_DA(1)_","
|
---|
| 16 | S DIK=$$ROOT^DILFD(798.12,IENS)
|
---|
| 17 | S NODE=$$CREF^DILF(DIK)
|
---|
| 18 | ;
|
---|
| 19 | ;--- Clear the report stats
|
---|
| 20 | I $G(RPTCODE)>0 D Q
|
---|
| 21 | . S RPIEN=$$RPIEN^RORUTL08(RPTCODE) Q:RPIEN'>0
|
---|
| 22 | . L +@NODE@(RPTCODE):5
|
---|
| 23 | . S DA=$$FIND1^DIC(798.12,IENS,"QX",RPIEN,"B",,"RORMSG")
|
---|
| 24 | . D:DA>0 ^DIK
|
---|
| 25 | . L -@NODE@(RPTCODE)
|
---|
| 26 | ;
|
---|
| 27 | ;--- Clear all stats
|
---|
| 28 | L +@NODE:5
|
---|
| 29 | S DA=0 F S DA=$O(@NODE@(DA)) Q:DA'>0 D ^DIK
|
---|
| 30 | L -@NODE
|
---|
| 31 | Q
|
---|
| 32 | ;
|
---|
| 33 | ;***** INCREMENT THE NUMBER OF REPORT RUNS
|
---|
| 34 | ;
|
---|
| 35 | ; REGIEN Registry IEN
|
---|
| 36 | ;
|
---|
| 37 | ; RPTCODE Report Code
|
---|
| 38 | ;
|
---|
| 39 | ; [VAL] Increment value. By default ($G(VAL)'>0),
|
---|
| 40 | ; the counter is incremented by 1.
|
---|
| 41 | ;
|
---|
| 42 | INC(REGIEN,RPTCODE,VAL) ;
|
---|
| 43 | N IEN,IENS,NODE,RORBUF,RORFDA,RORMSG,RPIEN,TMP
|
---|
| 44 | S:$G(VAL)'>0 VAL=1
|
---|
| 45 | ;
|
---|
| 46 | ;--- Get IEN of the report parameters
|
---|
| 47 | S RPIEN=$$RPIEN^RORUTL08(RPTCODE) Q:RPIEN'>0
|
---|
| 48 | ;
|
---|
| 49 | ;--- Lock the report stats
|
---|
| 50 | S IENS=","_(+REGIEN)_","
|
---|
| 51 | S NODE=$$ROOT^DILFD(798.12,IENS,1)
|
---|
| 52 | L +@NODE@(RPTCODE):5
|
---|
| 53 | D
|
---|
| 54 | . ;--- Find and load the report stats
|
---|
| 55 | . S TMP="@;.02"
|
---|
| 56 | . D FIND^DIC(798.12,IENS,TMP,"QX",RPIEN,2,"B",,,"RORBUF","RORMSG")
|
---|
| 57 | . D:$G(DIERR) DBS^RORERR("RORMSG",-9,,,798.12,IENS)
|
---|
| 58 | . Q:$G(RORBUF("DILIST",0))>1
|
---|
| 59 | . S IEN=+$G(RORBUF("DILIST",2,1))
|
---|
| 60 | . ;--- Increment the counter
|
---|
| 61 | . S IENS=$S(IEN>0:IEN,1:"?+1")_","_(+REGIEN)_","
|
---|
| 62 | . S RORFDA(798.12,IENS,.01)=RPIEN
|
---|
| 63 | . S RORFDA(798.12,IENS,.02)=$G(RORBUF("DILIST","ID",1,.02))+VAL
|
---|
| 64 | . D UPDATE^DIE(,"RORFDA",,"RORMSG")
|
---|
| 65 | . D:$G(DIERR) DBS^RORERR("RORMSG",-9,,,798.12,IENS)
|
---|
| 66 | ;
|
---|
| 67 | ;--- Unlock the report stats
|
---|
| 68 | L -@NODE@(RPTCODE)
|
---|
| 69 | Q
|
---|
| 70 | ;
|
---|
| 71 | ;***** RETURNS THE REPORT RUN STATISTICS
|
---|
| 72 | ;
|
---|
| 73 | ; REGIEN Registry IEN
|
---|
| 74 | ;
|
---|
| 75 | ; .STATS Reference to a local array where the statistics
|
---|
| 76 | ; (collected since the last successful data
|
---|
| 77 | ; transmission) will be returned to.
|
---|
| 78 | ;
|
---|
| 79 | ; STATS( Report Statistics Summary
|
---|
| 80 | ; ^01: Total number of report runs
|
---|
| 81 | ; RptCode) Report run statistics
|
---|
| 82 | ; ^01: Number of report runs
|
---|
| 83 | ;
|
---|
| 84 | ; Return Values:
|
---|
| 85 | ; <0 Error code
|
---|
| 86 | ; 0 Ok
|
---|
| 87 | ;
|
---|
| 88 | STATS(REGIEN,STATS) ;
|
---|
| 89 | N IR,RORBUF,RORMSG,RPTCODE,TMP
|
---|
| 90 | K STATS S STATS="0"
|
---|
| 91 | ;--- Load the statistics
|
---|
| 92 | S TMP=","_(+REGIEN)_","
|
---|
| 93 | D LIST^DIC(798.12,TMP,".01I;.02","Q",,,,"B",,,"RORBUF","RORMSG")
|
---|
| 94 | Q:$G(DIERR) $$DBS^RORERR("RORMSG",-9,,,798.12,TMP)
|
---|
| 95 | ;--- Process the statistics
|
---|
| 96 | S IR=0
|
---|
| 97 | F S IR=$O(RORBUF("DILIST","ID",IR)) Q:IR'>0 D
|
---|
| 98 | . ;--- Get the IEN of the report parameters
|
---|
| 99 | . S TMP=+$G(RORBUF("DILIST","ID",IR,.01)) Q:TMP'>0
|
---|
| 100 | . ;--- Get the report code
|
---|
| 101 | . S RPTCODE=$$RPCODE^RORUTL08(TMP) Q:RPTCODE'>0
|
---|
| 102 | . ;--- Get the report statistics
|
---|
| 103 | . S TMP=+$G(RORBUF("DILIST","ID",IR,.02))
|
---|
| 104 | . S $P(STATS(RPTCODE),U)=TMP
|
---|
| 105 | . S $P(STATS,U)=$P(STATS,U)+TMP
|
---|
| 106 | ;---
|
---|
| 107 | Q 0
|
---|