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

SCRPW401.m

Go to the documentation of this file.
  1. SCRPW401 ;BPCIOFO/ACS - Diagnosis/Procedure Frequency Report ;06/23/99
  1. ;;5.3;Scheduling;**180**;Aug 13, 1993
  1. ;
  1. ;------------------------------------------------------------
  1. ;
  1. ; Purpose : Rank and print the CPT modifiers
  1. ; Called by: SCRPW40
  1. ;
  1. ;
  1. ;INPUT : MODARRAY(MOD ptr,TYPE)=COUNT
  1. ; the full array referenced from SCRPW40 is -
  1. ; ^TMP("SCRPW",$J,SDIV,"PROC",1,SDPROC,SDMOD,TYPE))
  1. ; SDIV : division
  1. ; SDPROC: pointer to CPT code
  1. ; SDMOD : pointer to CPT modifier code
  1. ; TYPE : encounter "ENC" or quantity "QTY"
  1. ;
  1. ;OUTPUT : none
  1. ;
  1. ;OTHER : RANKMOD is the array to hold the ranked modifiers
  1. ; for the current CPT code
  1. ; LINEFLAG is used as a flag to indicate that a line
  1. ; will be skipped before printing the next cpt code
  1. ; (cpt codes are double spaced on the report, but not
  1. ; immediately after printing the report headers, when
  1. ; LINEFLAG=0)
  1. ;------------------------------------------------------------
  1. ;
  1. START(MODARRAY) ;build array to hold ranked modifiers (by quantity)
  1. ;
  1. N SDMOD,RANKMOD,SDMODQTY
  1. ;
  1. ; spin through modifier array and get modifier quantity
  1. S SDMOD=0
  1. F S SDMOD=$O(@MODARRAY@(SDMOD)) Q:'SDMOD D
  1. . S SDMODQTY=$G(@MODARRAY@(SDMOD,"QTY"))
  1. . Q:'SDMODQTY
  1. . ;
  1. . ; put modifier quantity and code into new array
  1. . S RANKMOD(SDMODQTY,SDMOD)=""
  1. . Q
  1. ;
  1. ; loop through ranked modifiers in descending order
  1. S SDMODQTY=""
  1. F S SDMODQTY=$O(RANKMOD(SDMODQTY),-1) Q:SDMODQTY="" D
  1. . S SDMOD=""
  1. . F S SDMOD=$O(RANKMOD(SDMODQTY,SDMOD),-1) Q:SDMOD="" D
  1. .. ; check page length. go to new page if necessary.
  1. .. I $Y>(IOSL-4) D HDR^SCRPW40 D PRHD^SCRPW40 Q:SDOUT
  1. .. ;
  1. .. ; get modifier and desc
  1. .. N MODINFO,MODCODE,MODTEXT,SDMENC,SDMQTY
  1. .. S MODINFO=$$MOD^ICPTMOD(SDMOD,"I")
  1. .. Q:+MODINFO<0
  1. .. S MODCODE=$P(MODINFO,"^",2)
  1. .. S MODTEXT=$E($P(MODINFO,"^",3),1,28)
  1. .. S SDMENC="-"_$G(@MODARRAY@(SDMOD,"ENC"))
  1. .. S SDMQTY="-"_$G(@MODARRAY@(SDMOD,"QTY"))
  1. .. W !,?(C+2),"-",MODCODE,?(C+8),MODTEXT
  1. .. W ?(C+38),$J(SDMENC,9,0),?(C+50),$J(SDMQTY,9,0)
  1. .. Q
  1. . S LINEFLAG=1
  1. . Q
  1. Q