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

SCRPW241.m

Go to the documentation of this file.
  1. SCRPW241 ;BPCIOFO/ACS - ACRP Ad Hoc Report (cont.) ;06/30/99
  1. ;;5.3;Scheduling;**180,254,351,1015**;AUG 13, 1993;Build 21
  1. ;
  1. ;----------------------------------------------------------------
  1. ; This routine was created due to the max number of bytes
  1. ; being reached in SCRPW24
  1. ;
  1. ; This routine is called by SCRPW24, and it contains CPT API calls
  1. ;
  1. ;----------------------------------------------------------------
  1. ;
  1. APAC(SDX) ;Get all procedure codes
  1. ; INPUT - .SDX array reference
  1. ; OUTPUT- SDX array with CPT pointer, CPT code, quantity
  1. ;
  1. K SDX
  1. N SDY,SDI,CPTINFO,CPTCODE
  1. ; array SDY will contain the CPT information
  1. D GETCPT^SDOE(SDOE,"SDY")
  1. ; Spin through CPT array and get CPT code and quantity
  1. S SDI=0 F S SDI=$O(SDY(SDI)) Q:'SDI D
  1. . I $D(SDY(SDI,0)) S SDX=$P(SDY(SDI,0),U)
  1. . E Q
  1. . S CPTINFO=$$CPT^ICPTCOD(+SDX,+SDOE0,1)
  1. . Q:CPTINFO'>0
  1. . S CPTCODE=$P(CPTINFO,U,2)
  1. . S SDX=SDX_U_CPTCODE_U_$P(SDY(SDI,0),U,16)
  1. . I $L($P(SDX,U,2)) D APOTR(.SDX) S SDX(SDI)=SDX
  1. . Q
  1. Q
  1. ;
  1. APOTR(SDX) ;Transform procedure external value
  1. ; INPUT - .SDX CPT pointer
  1. ; OUTPUT- SDX text string containing CPT code, CPT text
  1. ;
  1. N CPTINFO,CPTTEXT,ENCDT
  1. S ENCDT=+$G(SDOE0)
  1. I 'ENCDT D
  1. .I '$G(SDOE) S ENCDT=$$NOW^XLFDT() Q
  1. .D GETGEN^SDOE(SDOE,"SDY")
  1. .S ENCDT=+$G(SDY(0))
  1. .K SDY
  1. S CPTINFO=$$CPT^ICPTCOD(+SDX,ENCDT,1)
  1. Q:CPTINFO'>0
  1. S CPTTEXT=$P(CPTINFO,U,3)
  1. S $P(SDX,U,2)=$P(SDX,U,2)_" "_CPTTEXT
  1. Q
  1. ;
  1. APAP(SDX) ;Get ambulatory procedures (no E&M codes)
  1. ; INPUT - .SDX array reference
  1. ; OUTPUT- SDX array containing CPT pointer, CPT code, CPT text
  1. ;
  1. K SDX
  1. N SDY,SDI,CPTINFO,CPTCODE
  1. D GETCPT^SDOE(SDOE,"SDY")
  1. ; Spin through CPT array and get CPT code
  1. S SDI=0 F S SDI=$O(SDY(SDI)) Q:'SDI D
  1. . I $D(SDY(SDI,0)) S SDX=$P(SDY(SDI,0),U)
  1. . E Q
  1. . I '$D(^IBE(357.69,"B",SDX)) D
  1. .. S CPTINFO=$$CPT^ICPTCOD(+SDX,+SDOE0,1)
  1. .. Q:CPTINFO'>0
  1. .. S CPTCODE=$P(CPTINFO,U,2)
  1. .. S SDX=SDX_U_CPTCODE
  1. .. I $L($P(SDX,U,2)) D APOTR(.SDX) S SDX(SDI)=SDX
  1. .. Q
  1. . Q
  1. Q
  1. ;
  1. APEM(SDX) ;Get evaluation and management codes
  1. ; INPUT - .SDX array reference
  1. ; OUTPUT- SDX array containing CPT pointer, CPT code, CPT text
  1. ;
  1. K SDX
  1. N SDY,SDI,CPTINFO,CPTCODE
  1. D GETCPT^SDOE(SDOE,"SDY")
  1. ; Spin through CPT array and get CPT code
  1. S SDI=0 F S SDI=$O(SDY(SDI)) Q:'SDI D
  1. . I $D(SDY(SDI,0)) S SDX=$P(SDY(SDI,0),U)
  1. . E Q
  1. . I $D(^IBE(357.69,"B",SDX)) D
  1. .. S CPTINFO=$$CPT^ICPTCOD(+SDX,+SDOE0,1)
  1. .. Q:CPTINFO'>0
  1. .. S CPTCODE=$P(CPTINFO,U,2)
  1. .. S SDX=SDX_U_CPTCODE
  1. .. I $L($P(SDX,U,2)) D APOTR(.SDX) S SDX(SDI)=SDX
  1. .. Q
  1. . Q
  1. Q
  1. ;
  1. PDPE(SDX) ;Get patient's ethnicities
  1. K SDX
  1. N DFN,VADM,NUM,CNT,ABB,TXT
  1. S DFN=$P(SDOE0,U,2)
  1. I DFN D DEM^VADPT I VADM(11) S CNT=1,NUM=0 F S NUM=+$O(VADM(11,NUM)) Q:'NUM D
  1. .I VADM(11,NUM) D
  1. ..S TXT=$$PTR2TEXT^DGUTL4(+VADM(11,NUM),2) S:TXT="" TXT="?"
  1. ..S ABB=$$PTR2CODE^DGUTL4(+$G(VADM(11,NUM,1)),3,1) S:ABB="" ABB="?"
  1. ..S SDX(CNT)=+VADM(11,NUM)_"^"_TXT_" ("_ABB_")",CNT=CNT+1
  1. S:$D(SDX)<10 SDX(1)="~~~NONE~~~^~~~UNANSWERED~~~"
  1. Q
  1. ;
  1. PDPR(SDX) ;Get patient's race
  1. K SDX
  1. N DFN,VADM,NUM,CNT,ABB,TXT
  1. S DFN=$P(SDOE0,U,2)
  1. I DFN D DEM^VADPT I VADM(12) S CNT=1,NUM=0 F S NUM=+$O(VADM(12,NUM)) Q:'NUM D
  1. .I VADM(12,NUM) D
  1. ..S TXT=$$PTR2TEXT^DGUTL4(+VADM(12,NUM),1) S:TXT="" TXT="?"
  1. ..S ABB=$$PTR2CODE^DGUTL4(+$G(VADM(12,NUM,1)),3,1) S:ABB="" ABB="?"
  1. ..S SDX(CNT)=+VADM(12,NUM)_"^"_TXT_" ("_ABB_")",CNT=CNT+1
  1. S:$D(SDX)<10 SDX(1)="~~~NONE~~~^~~~UNANSWERED~~~"
  1. Q