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

BSDX41L.m

Go to the documentation of this file.
BSDX41L ; IHS/OIT/HMW/MSC/SAT - WINDOWS SCHEDULING RPCS ;
 ;;3.0;IHS WINDOWS SCHEDULING;;DEC 09, 2010
 ;
PTED ; ********** PATIENT EDUCATION * 9000010.16 **********
 ; <SETUP>
 ;Q:'$D(^AUPNVPED("AA",APCHSPAT))
 K APCHSDEN D DENTED
 I '$D(^AUPNVPED("AA",APCHSPAT)),'$D(APCHSDEN) Q  ;no ada or v pt ed
 ;X APCHSCKP Q:$D(APCHSQIT)  X:'APCHSNPG APCHSBRK
 ; <DISPLAY>
 S APCHSIVD="" F APCHSQ=0:0 S APCHSIVD=$O(^AUPNVPED("AA",APCHSPAT,APCHSIVD)) Q:APCHSIVD=""!(APCHSIVD>APCHSDLM)  D ONEDATE
 S APCHSIVD=0 F  S APCHSIVD=$O(APCHSDEN(APCHSIVD)) Q:APCHSIVD=""!(APCHSIVD>APCHSDLM)!('APCHSNDM)  S Y=-APCHSIVD\1+9999999 X APCHSCVD S APCHSDAT=Y S APCHSDTU=0 D
 .S APCHSDFN=0 F  S APCHSDFN=$O(APCHSDEN(APCHSIVD,"PED",APCHSDFN)) Q:APCHSDFN'=+APCHSDFN!($D(APCHSQIT))!('APCHSNDM)  D PEDCHK S APCHSNDM=APCHSNDM-APCHSDTU
 .S APCHSDFN=0,APCHSCNT=0 F  S APCHSDFN=$O(APCHSDEN(APCHSIVD,"DEN",APCHSDFN)) Q:APCHSDFN'=+APCHSDFN!($D(APCHSQIT))!('APCHSNDM)  D
 ..S APCHX=APCHSDEN(APCHSIVD,"DEN",APCHSDFN)
 ..;X APCHSCKP Q:$D(APCHSQIT)
 ..S BSDXI=BSDXI+1 S ^BSDXTMP($J,BSDXI)=$C(30)
 ..S APCHSVDF=$P(^AUPNVDEN(APCHSDFN,0),U,3)
 ..Q:'$D(^AUPNVSIT(APCHSVDF,0))
 ..D GETSITEV^BSDX41I
 ..S:'APCHSCNT BSDXTMP=APCHSDAT_$$FILL^BSDX41(9-$L(APCHSDAT))_APCHSNSH
 ..S BSDXI=BSDXI+1 S ^BSDXTMP($J,BSDXI)=BSDXTMP_$$FILL^BSDX41(22-$L(BSDXTMP))_"ADA: "_$P(^AUTTADA(APCHX,0),U)_" - "_$E($P(^AUTTADA(APCHX,0),U,2),1,40)_$C(30)
 ..S APCHSCNT=APCHSCNT+1
 ..Q
 ; <CLEANUP>
 ;now display PTED refusals
 S APCHST="EDUCATION",APCHSFN=9999999.09 D DISPREF^BSDX41F
 K APCHST,APCHSFN
PTEDX K APCHSIVD,APCHSDAT,APCHSDFN,APCHSFO,APCHSFAC,APCHSN,APCHSDTU,APCHSLVL,APCHSLVT,APCHSPED,APCHSPTB,APCHSQ,Y
 K APCHSNFL,APCHSNSH,APCHSNAB,APCHSVSC,APCHSVDF,APCHSDEN,APCHSDE1,APCHSDE2,APCHSDE3,APCHX
 Q
ONEDATE S APCHSDFN="" F APCHSQ=0:0 S APCHSDFN=$O(^AUPNVPED("AA",APCHSPAT,APCHSIVD,APCHSDFN)) Q:APCHSDFN=""  S APCHSDEN(APCHSIVD,"PED",APCHSDFN)=""
 Q
PEDCHK S APCHSN=^AUPNVPED(APCHSDFN,0)
 S APCHSVDF=$P(APCHSN,U,3) D GETSITEV^BSDX41I
 ;X APCHSCKP Q:$D(APCHSQIT)
 S:APCHSNPG APCHSDTU=0
 I 'APCHSDTU S BSDXTMP=APCHSDAT S APCHSFO=""
 I APCHSNSH=APCHSFO S APCHSFAC=""
 E  S (APCHSFAC,APCHSFO)=APCHSNSH
 S APCHSDTU=1
 S APCHSPED=$P(APCHSN,U,1),APCHSPEM=$P(^AUTTEDT(APCHSPED,0),U,2),APCHSPED=$P(^AUTTEDT(APCHSPED,0),U,1)
 S APCHSLVL=$P(APCHSN,U,6),APCHSLVT=""
 I APCHSLVL]"" D
 .  S APCHSLVT=$P(^DD(9000010.16,.06,0),U,3)
 .  S APCHSLVT=$P(APCHSLVT,APCHSLVL_":",2)
 .  S APCHSLVT=$P(APCHSLVT,";",1)
 .  S:"^GOOD^FAIR^POOR^"[("^"_APCHSLVT_"^") APCHSLVT=APCHSLVT_" UNDERSTANDING"
 .  ;S APCHSLVT="- "_APCHSLVT
 .  Q
 ;X APCHSCKP Q:$D(APCHSQIT)
 I APCHSNPG D
 .S BSDXTMP=BSDXTMP_APCHSDAT
 .S BSDXTMP=BSDXTMP_$$FILL^BSDX41(9-$L(BSDXTMP))_APCHSFAC
 .S BSDXTMP=BSDXTMP_$$FILL^BSDX41(22-$L(BSDXTMP))_$E(APCHSPEM,1,12)
 .S BSDXTMP=BSDXTMP_$$FILL^BSDX41(34-$L(BSDXTMP))_$E(APCHSPED,1,35)_$S($P(APCHSN,U,7)="":"",$P(APCHSN,U,7)="I":" - (IND)",$P(APCHSN,U,7)="G":" - (GRP)",1:"")
 .S BSDXI=BSDXI+1 S ^BSDXTMP($J,BSDXI)=BSDXTMP_$C(30)
 .S BSDXTMP=""
 I APCHSLVT]"" S BSDXI=BSDXI+1 S ^BSDXTMP($J,BSDXI)=BSDXTMP_$$FILL^BSDX41(34-$L(BSDXTMP))_APCHSLVT_$C(30)
 I $P(APCHSN,U,13)]""!($P(APCHSN,U,14)]"") D
 .;X APCHSCKP Q:$D(APCHSQIT)
 .S BSDXTMP=BSDXTMP_$$FILL^BSDX41(22-$L(BSDXTMP))_"Behavior Code: "_$$VAL^XBDIQ1(9000010.16,APCHSDFN,.13)
 .S BSDXTMP=BSDXTMP_$$FILL^BSDX41(50-$L(BSDXTMP))_"Objectives Met: "_$P(APCHSN,U,14)
 .S BSDXI=BSDXI+1 S ^BSDXTMP($J,BSDXI)=BSDXTMP_$C(30)
 .S BSDXTMP=""
 I $P($G(^AUPNVPED(APCHSDFN,11)),U)]"" S APCHSTXT=$P(^AUPNVPED(APCHSDFN,11),U),APCHSNRQ="",APCHSICL=23 D PRTTXT^BSDX41F
 ;cmi/anch/maw 8/27/2007 mods follow for code set versioning
 ;I $P($G(^AUPNVPED(APCHSDFN,11)),U)="",$P(APCHSN,U,4)]"" S APCHSTXT=$P(^ICD9($P(APCHSN,U,4),0),U,3),APCHSNRQ="",APCHSICL=23 D PRTTXT^BSDX41F
 N APCHSVDT
 S APCHSVDT=$P($P($G(^AUPNVSIT(APCHSVDF,0)),U),".")  ;get visit date
 I $P($G(^AUPNVPED(APCHSDFN,11)),U)="",$P(APCHSN,U,4)]"" S APCHSTXT=$P($$ICDDX^ICDCODE($P(APCHSN,U,4),APCHSVDT),U,4),APCHSNRQ="",APCHSICL=23 D PRTTXT^BSDX41F
 ;cmi/anch/maw 8/27/2007 end of mods
 I $P(APCHSN,U,11)]"" S APCHSTXT=$P(APCHSN,U,11),APCHSNRQ="",APCHSICL=23 D PRTTXT^BSDX41F Q
 Q
 ;
MRPTED ; ********** MOST RECENT PATIENT EDUCATION * 9000010.16 **********
 ; <SETUP>
 ;Q:'$D(^AUPNVPED("AA",APCHSPAT))
 K APCHSDEN D DENTEDL
 I '$D(^AUPNVPED("AA",APCHSPAT)),'$D(APCHSDEN) Q  ;no ada or v pt ed
 X APCHSCKP Q:$D(APCHSQIT)  X:'APCHSNPG APCHSBRK
 ; <DISPLAY>
 K APCHSPTB
 ;S APCHSIVD="" F APCHSQ=0:0 S APCHSIVD=$O(^AUPNVPED("AA",APCHSPAT,APCHSIVD)) Q:'APCHSIVD  S Y=-APCHSIVD\1+9999999 X APCHSCVD S APCHSDAT=Y D ONEDAY Q:$D(APCHSQIT)
 ;IHS/CMI/LAB - PATCH 9 modified this to look at date range and max visit limits
 S APCHSIVD="" F APCHSQ=0:0 S APCHSIVD=$O(^AUPNVPED("AA",APCHSPAT,APCHSIVD)) Q:APCHSIVD=""!(APCHSIVD>APCHSDLM)  D ONEDAY
 S APCHSIVD=0 F  S APCHSIVD=$O(APCHSDEN(APCHSIVD)) Q:APCHSIVD=""!(APCHSIVD>APCHSDLM)!('APCHSNDM)  S Y=-APCHSIVD\1+9999999 X APCHSCVD S APCHSDAT=Y S APCHSDTU=0 D
 .S APCHSDFN=0 F  S APCHSDFN=$O(APCHSDEN(APCHSIVD,"PED",APCHSDFN)) Q:APCHSDFN'=+APCHSDFN!($D(APCHSQIT))!('APCHSNDM)  D PEDCHK S APCHSNDM=APCHSNDM-APCHSDTU
 .S APCHSDFN=0,APCHSCNT=0 F  S APCHSDFN=$O(APCHSDEN(APCHSIVD,"DEN",APCHSDFN)) Q:APCHSDFN'=+APCHSDFN!($D(APCHSQIT))!('APCHSNDM)  D
 ..S APCHX=APCHSDEN(APCHSIVD,"DEN",APCHSDFN)
 ..X APCHSCKP Q:$D(APCHSQIT)
 ..S BSDXI=BSDXI+1 S ^BSDXTMP($J,BSDXI)=$C(30)
 ..S APCHSVDF=$P(^AUPNVDEN(APCHSDFN,0),U,3)
 ..D GETSITEV^BSDX41I
 ..S:'APCHSCNT BSDXTMP=APCHSDAT_$$FILL^BSDX41(9-$L(APCHSDAT))_APCHSNSH
 ..S BSDXI=BSDXI+1 S ^BSDXTMP($J,BSDXI)=BSDXTMP_$$FILL^BSDX41(22-$L(BSDXTMP))_"ADA: "_$P(^AUTTADA(APCHX,0),U)_" - "_$E($P(^AUTTADA(APCHX,0),U,2),1,40)_$C(30)
 ..S APCHSCNT=APCHSCNT+1
 ..Q
 ; <CLEANUP>
 ;now display PTED refusals
 S APCHST="EDUCATION",APCHSFN=9999999.09 D DISPREF^BSDX41F
 K APCHST,APCHSFN
MRPTEDX K APCHSPTB,APCHSEVT
 K APCHSIVD,APCHSDAT,APCHSDFN,APCHSFO,APCHSFAC,APCHSN,APCHSDTU,APCHSLVL,APCHSLVT,APCHSPED
 K APCHSNFL,APCHSNSH,APCHSNAB,APCHSVSC,APCHSVDF
 Q
 ;
ONEDAY  ;
 S APCHSDFN="" F APCHSQ=0:0 S APCHSDFN=$O(^AUPNVPED("AA",APCHSPAT,APCHSIVD,APCHSDFN)) Q:'APCHSDFN  S APCHSEVT=+^AUPNVPED(APCHSDFN,0) I '$D(APCHSPTB(APCHSEVT)) S APCHSPTB(APCHSEVT)="",APCHSDEN(APCHSIVD,"PED",APCHSDFN)=""
 Q
MRPE ;EP - called from component
 ; <SETUP>
 ;Q:'$D(^AUPNVPED("AA",APCHSPAT))
 K APCHSDEN D DENTAL
 I '$D(^AUPNVPED("AA",APCHSPAT)),'$D(APCHSDEN) Q  ;no ada or v pt ed
 X APCHSCKP Q:$D(APCHSQIT)  X:'APCHSNPG APCHSBRK
 ; <DISPLAY>
 K APCHSPTB
 ;S APCHSIVD="" F APCHSQ=0:0 S APCHSIVD=$O(^AUPNVPED("AA",APCHSPAT,APCHSIVD)) Q:'APCHSIVD  S Y=-APCHSIVD\1+9999999 X APCHSCVD S APCHSDAT=Y D ONEDAY Q:$D(APCHSQIT)
 ;IHS/CMI/LAB - PATCH 9 modified this to look at date range and max visit limits
 S APCHSIVD="" F APCHSQ=0:0 S APCHSIVD=$O(^AUPNVPED("AA",APCHSPAT,APCHSIVD)) Q:APCHSIVD=""!(APCHSIVD>APCHSDLM)!('APCHSNDM)  D
 .S Y=-APCHSIVD\1+9999999 X APCHSCVD S APCHSDAT=Y  S APCHSDTU=0 D MRPEOD Q:$D(APCHSQIT)  S APCHSNDM=APCHSNDM-APCHSDTU Q:'APCHSNDM
 D REORDER
 ; <CLEANUP>
 ;now display PTED refusals
 S APCHST="EDUCATION",APCHSFN=9999999.09 D DISPREF^BSDX41F
 K APCHST,APCHSFN
MRPEX K APCHSPTB,APCHSEVT,APCHSDSP,APCHSX
 K APCHSIVD,APCHSDAT,APCHSDFN,APCHSFO,APCHSFAC,APCHSN,APCHSDTU,APCHSLVL,APCHSLVT,APCHSPED
 K APCHSNFL,APCHSNSH,APCHSNAB,APCHSVSC,APCHSVDF
 Q
 ;
MRPEOD ;
 S APCHSDFN="" F APCHSQ=0:0 S APCHSDFN=$O(^AUPNVPED("AA",APCHSPAT,APCHSIVD,APCHSDFN)) Q:'APCHSDFN  S APCHSEVT=+^AUPNVPED(APCHSDFN,0) I '$D(APCHSPTB(APCHSEVT)) S APCHSPTB(APCHSEVT)=APCHSIVD_U_APCHSDFN,APCHSDTU=1
 Q
REORDER ;reorder by name and print
 S APCHSEVT=0 F  S APCHSEVT=$O(APCHSPTB(APCHSEVT)) Q:APCHSEVT'=+APCHSEVT  I $D(^AUTTEDT(APCHSEVT,0)) S APCHSDSP($P(^AUTTEDT(APCHSEVT,0),U))=APCHSPTB(APCHSEVT)
 S APCHSX="" F  S APCHSX=$O(APCHSDSP(APCHSX)) Q:APCHSX=""!($D(APCHSQIT))  D
 .S APCHSDFN=$P(APCHSDSP(APCHSX),U,2)
 .S APCHSIVD=$P(APCHSDSP(APCHSX),U) S Y=-APCHSIVD\1+9999999 X APCHSCVD S APCHSDAT=Y
 .I $P(APCHSDSP(APCHSX),U,3)="D" S APCHSN=^AUPNVDEN(APCHSDFN,0)
 .E  S APCHSN=^AUPNVPED(APCHSDFN,0)
 .S APCHSVDF=$P(APCHSN,U,3) D GETSITEV^BSDX41I
 .I $P(APCHSDSP(APCHSX),U,3)="D" D  Q
 ..;X APCHSCKP Q:$D(APCHSQIT)
 ..S BSDXTMP=$E(APCHSX,1,43)_"  ADA Code: "_$P(^AUTTADA($P(^AUPNVDEN(APCHSDFN,0),U),0),U)
 ..S BSDXTMP=BSDXTMP_$$FILL^BSDX41(56-$L(BSDXTMP))_APCHSDAT
 ..S BSDXTMP=BSDXTMP_$$FILL^BSDX41(66-$L(BSDXTMP))_APCHSNSH
 ..S BSDXI=BSDXI+1 S ^BSDXTMP($J,BSDXI)=BSDXTMP_$C(30)
 ..S BSDXTMP=""
 ..Q
 .S APCHSLVL=$P(APCHSN,U,6),APCHSLVT=""
 .I APCHSLVL]"" D
 ..  S APCHSLVT=$P(^DD(9000010.16,.06,0),U,3)
 ..  S APCHSLVT=$P(APCHSLVT,APCHSLVL_":",2)
 ..  S APCHSLVT=$P(APCHSLVT,";",1)
 ..  S:"^GOOD^FAIR^POOR^"[("^"_APCHSLVT_"^") APCHSLVT=APCHSLVT_" UNDERSTANDING"
 ..  S APCHSLVT="- "_APCHSLVT
 .;X APCHSCKP Q:$D(APCHSQIT)
 .S BSDXTMP=APCHSX_"  "_$S($P(APCHSN,U,7)="":"",$P(APCHSN,U,7)="I":" - (IND)",$P(APCHSN,U,7)="G":" - (GRP)",1:"")_"  "_APCHSLVT
 .S BSDXTMP=BSDXTMP_$$FILL^BSDX41(56-$L(BSDXTMP))_APCHSDAT
 .S BSDXTMP=BSDXTMP_$$FILL^BSDX41(66-$L(BSDXTMP))_APCHSNSH
 .S BSDXI=BSDXI+1 S ^BSDXTMP($J,BSDXI)=BSDXTMP_$C(30)
 .S BSDXTMP=""
 .I $P(APCHSN,U,13)]""!($P(APCHSN,U,14)]"") D
 ..;X APCHSCKP Q:$D(APCHSQIT)
 ..S BSDXTMP=$$FILL^BSDX41(22)_"Behavior Code: "_$$VAL^XBDIQ1(9000010.16,APCHSDFN,.13)
 ..S BSDXTMP=BSDXTMP_$$FILL^BSDX41(50-$L(BSDXTMP))_"Objectives Met: "_$P(APCHSN,U,14)
 ..S BSDXI=BSDXI+1 S ^BSDXTMP($J,BSDXI)=BSDXTMP_$C(30)
 ..S BSDXTMP=""
 .I $P($G(^AUPNVPED(APCHSDFN,11)),U)]"" S APCHSTXT=$P(^AUPNVPED(APCHSDFN,11),U),APCHSNRQ="",APCHSICL=5 D PRTTXT^BSDX41F
 .;cmi/anch/maw 8/27/2007 mods follow for code set versioning
 .;I $P($G(^AUPNVPED(APCHSDFN,11)),U)="",$P(APCHSN,U,4)]"" S APCHSTXT=$P(^ICD9($P(APCHSN,U,4),0),U,3),APCHSNRQ="",APCHSICL=5 D PRTTXT^BSDX41F
 .N APCHSVDT
 .S APCHSVDT=$P($P($G(^AUPNVSIT(APCHSVDF,0)),U),".")  ;get visit date
 .I $P($G(^AUPNVPED(APCHSDFN,11)),U)="",$P(APCHSN,U,4)]"" S APCHSTXT=$P($$ICDDX^ICDCODE($P(APCHSN,U,4),APCHSVDT),U,4),APCHSNRQ="",APCHSICL=5 D PRTTXT^BSDX41F
 .;cmi/anch/maw 8/27/2007 end of mods
 .I $P(APCHSN,U,11)]"" S APCHSTXT=$P(APCHSN,U,11),APCHSNRQ="",APCHSICL=5 D PRTTXT^BSDX41F Q
 ;now print all dental ADA
 Q
DENTEDL ;gather up last of each
 K APCHSDEN S APCHSDTU=0
 S APCHSDE1=$O(^AUTTADA("B",1310,0))
 S APCHSDE2=$O(^AUTTADA("B",1320,0))
 S APCHSDE3=$O(^AUTTADA("B",1330,0))
 S APCHSIVD="" F APCHSQ=0:0 S APCHSIVD=$O(^AUPNVDEN("AA",APCHSPAT,APCHSIVD)) Q:APCHSIVD=""!(APCHSIVD>APCHSDLM)  D
 .S APCHSDFN="" F  S APCHSDFN=$O(^AUPNVDEN("AA",APCHSPAT,APCHSIVD,APCHSDFN)) Q:'APCHSDFN  D
 ..S X=$P($G(^AUPNVDEN(APCHSDFN,0)),U) I X=APCHSDE1!(X=APCHSDE2)!(X=APCHSDE3) I '$D(APCHSDEN("DEN",X)) S APCHSDEN(APCHSIVD,"DEN",APCHSDFN)=$P(^AUPNVDEN(APCHSDFN,0),U),APCHSDEN("DEN",X)=""
 .Q
 Q
DENTED ;gather up all 1310, 1320, 1330
 K APCHSDEN S APCHSDTU=0
 S APCHSDE1=$O(^AUTTADA("B",1310,0))
 S APCHSDE2=$O(^AUTTADA("B",1320,0))
 S APCHSDE3=$O(^AUTTADA("B",1330,0))
 S APCHSIVD="" F APCHSQ=0:0 S APCHSIVD=$O(^AUPNVDEN("AA",APCHSPAT,APCHSIVD)) Q:APCHSIVD=""!(APCHSIVD>APCHSDLM)  D
 .S APCHSDFN="" F  S APCHSDFN=$O(^AUPNVDEN("AA",APCHSPAT,APCHSIVD,APCHSDFN)) Q:'APCHSDFN  D
 ..S X=$P($G(^AUPNVDEN(APCHSDFN,0)),U) I X=APCHSDE1!(X=APCHSDE2)!(X=APCHSDE3) S APCHSDEN(APCHSIVD,"DEN",APCHSDFN)=$P(^AUPNVDEN(APCHSDFN,0),U),APCHSDTU=APCHSDTU+1
 .Q
 Q
DENTAL ;
 K APCHSDEN,APCHSDSP
 K APCHSDEN S APCHSDTU=0
 S APCHSDE1=$O(^AUTTADA("B",1310,0))
 S APCHSDE2=$O(^AUTTADA("B",1320,0))
 S APCHSDE3=$O(^AUTTADA("B",1330,0))
 S APCHSIVD="" F APCHSQ=0:0 S APCHSIVD=$O(^AUPNVDEN("AA",APCHSPAT,APCHSIVD)) Q:APCHSIVD=""!(APCHSIVD>APCHSDLM)  D
 .S APCHSDFN="" F  S APCHSDFN=$O(^AUPNVDEN("AA",APCHSPAT,APCHSIVD,APCHSDFN)) Q:'APCHSDFN  D
 ..S X=$P($G(^AUPNVDEN(APCHSDFN,0)),U) I X=APCHSDE1!(X=APCHSDE2)!(X=APCHSDE3) I '$D(APCHSDEN("DEN",X)) S APCHSDSP($P(^AUTTADA(X,0),U,2))=APCHSIVD_U_APCHSDFN_U_"D",APCHSDEN("DEN",X)=""
 .Q