APCHS2E ; IHS/CMI/LAB -- SUMMARY PRODUCTION COMPONENTS ;
;;2.0;IHS PCC SUITE;;MAY 14, 2009
;
SKIN ; ******************* SKIN TESTS - ALL * 9000010.12 *******
; <SETUP>
Q:'$D(^AUPNVSK("AA",APCHSPAT))
X APCHSBRK
; <DISPLAY>
S APCHST="" F APCHSQ=0:0 S APCHST=$O(^AUPNVSK("AA",APCHSPAT,APCHST)) Q:APCHST="" S APCHSTX=$P(^AUTTSK(APCHST,0),U,1),APCHSTL=$L(APCHSTX) X APCHSCKP Q:$D(APCHSQIT) D SKDSP
; <CLEANUP>
;now display ST refusals
S APCHST="SKIN TEST",APCHSFN=9999999.28 D DISPREF^APCHS3C
K APCHST,APCHSFN
SKINX K APCHST,APCHSTX,APCHSTL,APCHSIVD,APCHSDFN,APCHSRDG,APCHSVDF,APCHSDAT,X,Y
K APCHSNFL,APCHSNSH,APCHSNAB,APCHSVSC,APCHSITE
Q
SKDSP W ! X APCHSCKP Q:$D(APCHSQIT) W APCHSTX S APCHSIVD="" F APCHSQ=0:0 S APCHSIVD=$O(^AUPNVSK("AA",APCHSPAT,APCHST,APCHSIVD)) Q:APCHSIVD="" D SKDSP1
Q
SKDSP1 S Y=-APCHSIVD\1+9999999 X APCHSCVD S APCHSDAT=Y
S APCHSDFN=0 F APCHSQ=0:0 S APCHSDFN=$O(^AUPNVSK("AA",APCHSPAT,APCHST,APCHSIVD,APCHSDFN)) Q:'APCHSDFN D SKDSP2
Q
SKDSP2 S Y=-APCHSIVD\1+9999999 X APCHSCVD S APCHSDAT=Y
Q:'$D(^AUPNVSK(APCHSDFN,0))
S APCHSVDF=$P(^AUPNVSK(APCHSDFN,0),U,3) D GETSITEV^APCHSUTL S APCHSITE=APCHSNSH
S APCHSRDG=$P(^AUPNVSK(APCHSDFN,0),U,5)
I APCHSRDG]"" S APCHSRDG=$J(APCHSRDG,2)_" mm"
I APCHSRDG="" S APCHSRDG=$P(^AUPNVSK(APCHSDFN,0),U,4) I APCHSRDG]"" S APCHSRDG=" "_$$VAL^XBDIQ1(9000010.12,APCHSDFN,.04)
I APCHSRDG="" S APCHSRDG="unrep"
X APCHSCKP Q:$D(APCHSQIT) W:APCHSNPG APCHSTX W ?15,APCHSDAT,?24,APCHSRDG,?40,APCHSITE,!
Q
;
;
SKIN3 ; ******************* SKIN TESTS - LAST 3 OF EACH * 9000010.12 *******
; <SETUP>
Q:'$D(^AUPNVSK("AA",APCHSPAT))
X APCHSBRK
; <DISPLAY>
S APCHST="" F APCHSQ=0:0 S APCHST=$O(^AUPNVSK("AA",APCHSPAT,APCHST)) Q:APCHST="" S APCHSTX=$P(^AUTTSK(APCHST,0),U,1),APCHSTL=$L(APCHSTX) X APCHSCKP Q:$D(APCHSQIT) D SKDSP3
; <CLEANUP>
;now display ST refusals
S APCHST="SKIN TEST",APCHSFN=9999999.28 D DISPREF^APCHS3C
K APCHST,APCHSFN
SKIN3X K APCHST,APCHSTX,APCHSTL,APCHSIVD,APCHSDFN,APCHSRDG,APCHSVDF,APCHSDAT,APCHSCNT,APCHS,X,Y
K APCHSNFL,APCHSNSH,APCHSNAB,APCHSVSC,APCHSITE
Q
SKDSP3 ;get skin type
S APCHSCNT=0
W ! X APCHSCKP Q:$D(APCHSQIT) W APCHSTX S APCHSIVD="" F APCHSQ=0:0 S APCHSIVD=$O(^AUPNVSK("AA",APCHSPAT,APCHST,APCHSIVD)) S APCHSCNT=APCHSCNT+1 Q:APCHSIVD=""!(APCHSCNT>3) D SKDSP13
Q
SKDSP13 ;get skin test DFN
S Y=-APCHSIVD\1+9999999 X APCHSCVD S APCHSDAT=Y
S APCHSDFN=0 F APCHSQ=0:0 S APCHSDFN=$O(^AUPNVSK("AA",APCHSPAT,APCHST,APCHSIVD,APCHSDFN)) Q:'APCHSDFN!(APCHSCNT>3) D SKDSP23
Q
SKDSP23 ;compile data & display skin test
S Y=-APCHSIVD\1+9999999 X APCHSCVD S APCHSDAT=Y
Q:'$D(^AUPNVSK(APCHSDFN,0))
S APCHSVDF=$P(^AUPNVSK(APCHSDFN,0),U,3) D GETSITEV^APCHSUTL S APCHSITE=APCHSNSH
S APCHSRDG=$P(^AUPNVSK(APCHSDFN,0),U,5)
I APCHSRDG]"" S APCHSRDG=$J(APCHSRDG,2)_" mm"
I APCHSRDG="" S APCHSRDG=$P(^AUPNVSK(APCHSDFN,0),U,4) I APCHSRDG]"" S APCHSRDG=" "_$$VAL^XBDIQ1(9000010.12,APCHSDFN,.04)
I APCHSRDG="" S APCHSRDG="unrep"
X APCHSCKP Q:$D(APCHSQIT) W:APCHSNPG APCHSTX W ?15,APCHSDAT,?24,APCHSRDG,?40,APCHSITE,!
Q
APCHS2E ; IHS/CMI/LAB -- SUMMARY PRODUCTION COMPONENTS ;
+1 ;;2.0;IHS PCC SUITE;;MAY 14, 2009
+2 ;
SKIN ; ******************* SKIN TESTS - ALL * 9000010.12 *******
+1 ; <SETUP>
+2 IF '$DATA(^AUPNVSK("AA",APCHSPAT))
QUIT
+3 XECUTE APCHSBRK
+4 ; <DISPLAY>
+5 SET APCHST=""
FOR APCHSQ=0:0
SET APCHST=$ORDER(^AUPNVSK("AA",APCHSPAT,APCHST))
IF APCHST=""
QUIT
SET APCHSTX=$PIECE(^AUTTSK(APCHST,0),U,1)
SET APCHSTL=$LENGTH(APCHSTX)
XECUTE APCHSCKP
IF $DATA(APCHSQIT)
QUIT
DO SKDSP
+6 ; <CLEANUP>
+7 ;now display ST refusals
+8 SET APCHST="SKIN TEST"
SET APCHSFN=9999999.28
DO DISPREF^APCHS3C
+9 KILL APCHST,APCHSFN
SKINX KILL APCHST,APCHSTX,APCHSTL,APCHSIVD,APCHSDFN,APCHSRDG,APCHSVDF,APCHSDAT,X,Y
+1 KILL APCHSNFL,APCHSNSH,APCHSNAB,APCHSVSC,APCHSITE
+2 QUIT
SKDSP WRITE !
XECUTE APCHSCKP
IF $DATA(APCHSQIT)
QUIT
WRITE APCHSTX
SET APCHSIVD=""
FOR APCHSQ=0:0
SET APCHSIVD=$ORDER(^AUPNVSK("AA",APCHSPAT,APCHST,APCHSIVD))
IF APCHSIVD=""
QUIT
DO SKDSP1
+1 QUIT
SKDSP1 SET Y=-APCHSIVD\1+9999999
XECUTE APCHSCVD
SET APCHSDAT=Y
+1 SET APCHSDFN=0
FOR APCHSQ=0:0
SET APCHSDFN=$ORDER(^AUPNVSK("AA",APCHSPAT,APCHST,APCHSIVD,APCHSDFN))
IF 'APCHSDFN
QUIT
DO SKDSP2
+2 QUIT
SKDSP2 SET Y=-APCHSIVD\1+9999999
XECUTE APCHSCVD
SET APCHSDAT=Y
+1 IF '$DATA(^AUPNVSK(APCHSDFN,0))
QUIT
+2 SET APCHSVDF=$PIECE(^AUPNVSK(APCHSDFN,0),U,3)
DO GETSITEV^APCHSUTL
SET APCHSITE=APCHSNSH
+3 SET APCHSRDG=$PIECE(^AUPNVSK(APCHSDFN,0),U,5)
+4 IF APCHSRDG]""
SET APCHSRDG=$JUSTIFY(APCHSRDG,2)_" mm"
+5 IF APCHSRDG=""
SET APCHSRDG=$PIECE(^AUPNVSK(APCHSDFN,0),U,4)
IF APCHSRDG]""
SET APCHSRDG=" "_$$VAL^XBDIQ1(9000010.12,APCHSDFN,.04)
+6 IF APCHSRDG=""
SET APCHSRDG="unrep"
+7 XECUTE APCHSCKP
IF $DATA(APCHSQIT)
QUIT
IF APCHSNPG
WRITE APCHSTX
WRITE ?15,APCHSDAT,?24,APCHSRDG,?40,APCHSITE,!
+8 QUIT
+9 ;
+10 ;
SKIN3 ; ******************* SKIN TESTS - LAST 3 OF EACH * 9000010.12 *******
+1 ; <SETUP>
+2 IF '$DATA(^AUPNVSK("AA",APCHSPAT))
QUIT
+3 XECUTE APCHSBRK
+4 ; <DISPLAY>
+5 SET APCHST=""
FOR APCHSQ=0:0
SET APCHST=$ORDER(^AUPNVSK("AA",APCHSPAT,APCHST))
IF APCHST=""
QUIT
SET APCHSTX=$PIECE(^AUTTSK(APCHST,0),U,1)
SET APCHSTL=$LENGTH(APCHSTX)
XECUTE APCHSCKP
IF $DATA(APCHSQIT)
QUIT
DO SKDSP3
+6 ; <CLEANUP>
+7 ;now display ST refusals
+8 SET APCHST="SKIN TEST"
SET APCHSFN=9999999.28
DO DISPREF^APCHS3C
+9 KILL APCHST,APCHSFN
SKIN3X KILL APCHST,APCHSTX,APCHSTL,APCHSIVD,APCHSDFN,APCHSRDG,APCHSVDF,APCHSDAT,APCHSCNT,APCHS,X,Y
+1 KILL APCHSNFL,APCHSNSH,APCHSNAB,APCHSVSC,APCHSITE
+2 QUIT
SKDSP3 ;get skin type
+1 SET APCHSCNT=0
+2 WRITE !
XECUTE APCHSCKP
IF $DATA(APCHSQIT)
QUIT
WRITE APCHSTX
SET APCHSIVD=""
FOR APCHSQ=0:0
SET APCHSIVD=$ORDER(^AUPNVSK("AA",APCHSPAT,APCHST,APCHSIVD))
SET APCHSCNT=APCHSCNT+1
IF APCHSIVD=""!(APCHSCNT>3)
QUIT
DO SKDSP13
+3 QUIT
SKDSP13 ;get skin test DFN
+1 SET Y=-APCHSIVD\1+9999999
XECUTE APCHSCVD
SET APCHSDAT=Y
+2 SET APCHSDFN=0
FOR APCHSQ=0:0
SET APCHSDFN=$ORDER(^AUPNVSK("AA",APCHSPAT,APCHST,APCHSIVD,APCHSDFN))
IF 'APCHSDFN!(APCHSCNT>3)
QUIT
DO SKDSP23
+3 QUIT
SKDSP23 ;compile data & display skin test
+1 SET Y=-APCHSIVD\1+9999999
XECUTE APCHSCVD
SET APCHSDAT=Y
+2 IF '$DATA(^AUPNVSK(APCHSDFN,0))
QUIT
+3 SET APCHSVDF=$PIECE(^AUPNVSK(APCHSDFN,0),U,3)
DO GETSITEV^APCHSUTL
SET APCHSITE=APCHSNSH
+4 SET APCHSRDG=$PIECE(^AUPNVSK(APCHSDFN,0),U,5)
+5 IF APCHSRDG]""
SET APCHSRDG=$JUSTIFY(APCHSRDG,2)_" mm"
+6 IF APCHSRDG=""
SET APCHSRDG=$PIECE(^AUPNVSK(APCHSDFN,0),U,4)
IF APCHSRDG]""
SET APCHSRDG=" "_$$VAL^XBDIQ1(9000010.12,APCHSDFN,.04)
+7 IF APCHSRDG=""
SET APCHSRDG="unrep"
+8 XECUTE APCHSCKP
IF $DATA(APCHSQIT)
QUIT
IF APCHSNPG
WRITE APCHSTX
WRITE ?15,APCHSDAT,?24,APCHSRDG,?40,APCHSITE,!
+9 QUIT