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

BHSRAD.m

Go to the documentation of this file.
  1. BHSRAD ;IHS/CIA/MGH - Health Summary for V RAD file ;02-Aug-2013 16:17;DU
  1. ;;1.0;HEALTH SUMMARY COMPONENTS;**1,2,4,8**;March 17, 2006;Build 22
  1. ;===================================================================
  1. ;Taken from BHS3C
  1. ; IHS/TUCSON/LAB - PART 3C OF APCHS -- SUMMARY PRODUCTION COMPONENTS ; [ 01/20/04 8:04 PM ]
  1. ;;2.0;IHS RPMS/PCC Health Summary;**11,12**;JUN 24, 1997
  1. ;IHS/CMI/LAB - patch 12 added new rad component
  1. ;IHS/MSC/MGH Updated to IHS patch 15
  1. ;IHS/MSC/MGH Patch 2 update to patch 16
  1. ;IHS/MSC/MGH Patch 4 moved exams to its own routine
  1. ;IHS/MSC/MGH patch 8 Updated refusals for SNOMED
  1. MRR ; ******************** MOST RECENT RADIOLOGY * 9000010.22 *******
  1. N BHSPAT,BHSICD,BHSICL,BHSQ,X
  1. S BHSPAT=DFN
  1. I '$D(^AUPNVRAD("AA",BHSPAT)) S BHST="RADIOLOGY EXAM",BHSFN=71 D DISPREF^BHSRAD Q
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. ; <SETUP>
  1. ; <PROCESS>
  1. D RBLD,RPRT
  1. ; <CLEANUP>
  1. ;now display RAD refusals (patch 2)
  1. S BHST="RADIOLOGY EXAM",BHSFN=71 D DISPREF^BHSRAD
  1. K BHST,BHSFN
  1. MRRX K BHSRT,BHSRR,BHSRTX,BHSRRT,BHSMXL,BHSRL,BHSRW,BHSNMX,BHSDFN,BHSIVD,BHSRTD,BHSN,BHSDCD,BHSEDT,Y
  1. Q
  1. ; <BUILD>
  1. RBLD K BHSRRT S BHSMXL=0
  1. S BHSRRT="" F BHSQ=0:0 S BHSRRT=$O(^AUPNVRAD("AA",BHSPAT,BHSRRT)) Q:BHSRRT="" D RDATE
  1. Q
  1. RDATE S BHSIVD=$O(^AUPNVRAD("AA",BHSPAT,BHSRRT,0)) S BHSDFN=$O(^(BHSIVD,0)) D:BHSIVD&(BHSIVD'>GMTSDLM) RSET
  1. Q
  1. RSET S BHSN=^AUPNVRAD(BHSDFN,0),BHSRR=$G(^AUPNVRAD(BHSDFN,11))
  1. S BHSEDT=$P($G(^AUPNVRAD(BHSDFN,12)),U) ;NEW LINE!
  1. S X=$P(BHSN,U,5),X=$$EXTSET^XBFUNC(9000010.22,.05,X) S BHSDCD=X
  1. ;S BHSRRT(BHSRRT)=(-BHSIVD\1+9999999)_U_BHSRR S BHSRTX=$P(^RAMIS(71,BHSRRT,0),U,1) S:$L(BHSRTX)>BHSMXL BHSMXL=$L(BHSRTX) ;ORIG LINE
  1. S BHSRRT(BHSRRT)=(-BHSIVD\1+9999999)_U_BHSRR_U_BHSEDT_U_BHSDCD_U_$$VAL^XBDIQ1(9000010.22,BHSDFN,.06)
  1. S BHSRTX=$P(^RAMIS(71,BHSRRT,0),U,1) S:$L(BHSRTX)>BHSMXL BHSMXL=$L(BHSRTX)
  1. Q
  1. ; <PRINT>
  1. RPRT S BHSRW=BHSMXL+1,BHSRL=10,BHSNMX=(IOM-1-BHSRW)\BHSRL
  1. S BHSRT="" F BHSQ=0:0 S BHSRT=$O(BHSRRT(BHSRT)) Q:BHSRT="" D RPRT2
  1. Q
  1. RPRT2 ;
  1. S X=$P(BHSRRT(BHSRT),U,1),BHSRR=$P(BHSRRT(BHSRT),U,2) D REGDT4^GMTSU S BHSRTD=X
  1. S BHSEDT=$P($G(BHSRRT(BHSRT)),U,3) I BHSEDT]"" S X=$P(BHSEDT,".") D REGDT4^GMTSU S BHSEDT=X
  1. ;S BHSRTX=$P(^RAMIS(71,BHSRT,0),U,1) D CKP^GMTSUP Q:$D(GMTSQIT) W BHSRTX,?BHSRW,"(",BHSRTD,") ",BHSRR,!
  1. S BHSRTX=$P(^RAMIS(71,BHSRT,0),U,1) D CKP^GMTSUP Q:$D(GMTSQIT) W !,BHSRTX,?BHSRW,"(",$S(BHSEDT]"":BHSEDT,1:BHSRTD),") "
  1. ;IHS/MSC/MGH Patch change
  1. I $P(BHSRRT(BHSRT),U,4)]"" W "RESULT: " S BHSDCD=$P(BHSRRT(BHSRT),U,4) W $S(BHSDCD]"":BHSDCD,1:"<none recorded>"),!
  1. I $P(BHSRRT(BHSRT),U,5)]"" W ?3,"Diagnostic Code: ",$P(BHSRRT(BHSRT),U,5),!
  1. W ?3,"IMPRESSION: " S BHSICL=16,BHSNRQ=BHSRR,BHSTXT="",BHSICD="" D PRTTXT^BHSUTL
  1. K BHSTXT,BHSNRQ
  1. Q
  1. DISPREF ;EP added in patch 2
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. N %,SNO
  1. S BHSRC=0
  1. S BHSX="" F S BHSX=$O(^AUPNPREF("AA",BHSPAT,BHSFN,BHSX)) Q:BHSX=""!($D(GMTSQIT)) D
  1. .S BHSD=0 F S BHSD=$O(^AUPNPREF("AA",BHSPAT,BHSFN,BHSX,BHSD)) Q:BHSD=""!(BHSD>GMTSDLM)!($D(GMTSQIT)) D
  1. ..S BHSI=0 F S BHSI=$O(^AUPNPREF("AA",BHSPAT,BHSFN,BHSX,BHSD,BHSI)) Q:BHSI=""!($D(GMTSQIT)) D
  1. ...I $D(BHSS) X BHSS Q:'%
  1. ...S BHSRC=BHSRC+1
  1. ...I BHSRC=1 I BHST]"" W !,BHST," Refusals "
  1. ...D CKP^GMTSUP Q:$D(GMTSQIT)
  1. ...S SNO=$$GET1^DIQ(9000022,BHSI,1.02)
  1. ...S SNO=$P($$DESC^BSTSAPI(SNO_"^^1"),U,2)
  1. ...I SNO="" S SNO=$$VAL^XBDIQ1(9000022,BHSI,.07)
  1. ...W !,$$VAL^XBDIQ1(9000022,BHSI,.04)," -- ",SNO,?60,"(",$$DATE^APCHSMU(9999999-BHSD),")"
  1. ...;W !,$$VAL^XBDIQ1(9000022,BHSI,.04)," -- ",$$VAL^XBDIQ1(9000022,BHSI,.07),?60,"(",$$DATE^APCHSMU(9999999-BHSD),")"
  1. ..Q
  1. .Q
  1. W !
  1. K BHST,BHSX,BHSD,BHSS,BHSFN,BHSI,BHSRC
  1. Q
  1. RAD ; ******************* RAD TESTS - ALL * 9000010.12 *******
  1. ; <SETUP>
  1. S BHSPAT=DFN
  1. I '$D(^AUPNVRAD("AA",BHSPAT)) S BHST="RADIOLOGY EXAM",BHSFN=71 D DISPREF^BHSRAD Q
  1. K BHSRRT
  1. ; <DISPLAY>
  1. S BHST="" F BHSQ=0:0 S BHST=$O(^AUPNVRAD("AA",BHSPAT,BHST)) Q:BHST="" S BHSTX=$P(^RAMIS(71,BHST,0),U,1),BHSTL=$L(BHSTX) D CKP^GMTSUP Q:$D(GMTSQIT) D RADBLD
  1. ; <CLEANUP>
  1. S BHST="RADIOLOGY EXAM",BHSFN=71 D DISPREF^BHSRAD
  1. K BHST,BHSFN
  1. RADX K BHST,BHSTX,BHSTL,BHSIVD,BHSDFN,BHSRDG,BHSVDF,BHSDAT,X,Y
  1. K BHSNFL,BHSNSH,BHSNAB,BHSVSC,BHSITE,BHS0
  1. Q
  1. RADBLD S BHSIVD="" F BHSQ=0:0 S BHSIVD=$O(^AUPNVRAD("AA",BHSPAT,BHST,BHSIVD)) Q:BHSIVD=""!(BHSIVD>GMTSDLM) D RADBLD1
  1. Q
  1. RADBLD1 ;
  1. D CKP^GMTSUP Q:$D(GMTSQIT) S X=-BHSIVD\1+9999999 D REGDT4^GMTSU S BHSDAT=X W !,BHSDAT
  1. S BHSDFN=0 F BHSQ=0:0 S BHSDFN=$O(^AUPNVRAD("AA",BHSPAT,BHST,BHSIVD,BHSDFN)) Q:'BHSDFN D
  1. .Q:'$D(^AUPNVRAD(BHSDFN,0))
  1. .S BHSEDT=$P($G(^AUPNVRAD(BHSDFN,12)),U,1)
  1. .D RADDSP
  1. Q
  1. RADDSP ;
  1. S BHS0=$P(^AUPNVRAD(BHSDFN,0),U,1)
  1. S BHSRTX=$P(^RAMIS(71,$P(BHS0,U),0),U,1) W ?11,BHSRTX I BHSEDT'=9999999-BHSIVD W " ("_$$FMTE^XLFDT(BHSEDT,5)_")"
  1. ;IHS/MSC/MGH IHS patch changes
  1. I $P(BHS0,U,5)]"" W !?11,"RESULT: " S BHSDCD=$P(BHS0,U,4) W $S(BHSDCD]"":BHSDCD,1:"<none recorded>"),!
  1. I $P(BHS0,U,6)]"" W ?3,"Diagnostic Code: ",$$VAL^XBDIQ1(9000010.22,BHSDFN,.05),!
  1. I $G(^AUPNVRAD(BHSDFN,11))]"" W ?11,"IMPRESSION: " S BHSICL=12,BHSNRQ=$G(^AUPNVRAD(BHSDFN,11)),BHSTXT="",BHSICD="" D PRTTXT^BHSUTL
  1. I $G(^AUPNVRAD(BHSDFN,11))="" W !
  1. K BHSTXT,BHSNRQ
  1. Q