- Timestamp:
- Dec 4, 2009, 12:11:15 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/RADIOLOGY_NUCLEAR_MEDICINE-RA/RASTREQ.m
r613 r623 1 RASTREQ ;HISC/CAH,GJC AISC/MJK-Status Requirements Check Routine ;6/3/98 09:56 2 ;;5.0;Radiology/Nuclear Medicine;**1,10,23,40,56**;Mar 16, 1998;Build 3 3 ;Supported IA #10104 UP^XLFSTR 4 ;Supported IA #1367 LKUP^XPDKEY 5 ;Supported IA #10060 ^VA(200 6 ;Supported IA #10076 ^XUSEC( 7 ; Called by 8 ; (1) Stat Track's [RA STATUS CHANGE]'s fld EXAM STATUS' input transform 9 ; (2) ASK+22^RASTED, if user "^" out of stat trk editing 10 ; (3) Cancel an Exam's [RA CANCEL]'s fld EXAM STATUS' input transform 11 ; (4) Enter Last Past Visit Before DHCP's [RA LAST PAST VISIT]'s "" 12 ; 13 ; Instead of using RAIMGTY, recalculate 14 ; the imaging type using the imaging type on the exam node because 15 ; status updating through report entry/edit, batch verify, and several 16 ; other options is NOT screened by sign-on imaging type, so does not 17 ; stay the same through a user's session. 18 ; 19 ; 'RAMES1' is used to display which Exam Status required fields are 20 ; not populated. This only applies to the 'Status Tracking Of Exams' 21 ; option. 22 ; 23 ; If tracking ^-out, this rtn would be called outside of edt tmpl, 24 ; and thus the DA vars would not be defined, so we need to set them here 25 ; 26 S:'$D(DA)#2 DA=RACNI S:'$D(DA(1))#2 DA(1)=RADTI S:'$D(DA(2))#2 DA(2)=RADFN 27 ; If Fileman enter/edit, we need to define RADFN, RADTI, RACNI so the 28 ; nuc med checks won't bomb 29 S:'$D(RACNI)#2 RACNI=DA S:'$D(RADTI)#2 RADTI=DA(1) S:'$D(RADFN)#2 RADFN=DA(2) 30 ; 31 S RAIMGTYI=+$P($G(^RADPT(DA(2),"DT",DA(1),0)),U,2),RAIMGTYJ=$P($G(^RA(79.2,+RAIMGTYI,0)),U,1),RASAVTYJ=RAIMGTYJ 32 S RAMES1="W:$G(K)=$P($G(^RA(72,+$G(RANXT72),0)),U,3)&('$D(ZTQUEUED)#2) !?3,""No '"",RAZ,""'"",?35,"" entered for this exam.""" ; display if at the ranext exm stat level 33 S RAXX=+$G(X) 34 I '$D(^RA(72,RAXX,0))!(RAIMGTYJ']"") D Q 35 . K X W:'$D(ZTQUEUED)#2 !?3,"Error: cannot determine Imaging Type of exam. Contact IRM." 36 . K RAMES1,RAXX 37 . Q 38 N RA,RASN,RASTI,RADES,RAOKAY,RA3 39 ; RADES = order seq. desired, RAOKAY= actual order seq. okay'd 40 S X1=$G(^RA(72,RAXX,0)),RADES=$P(X1,U,3) 41 I $$LKUP^XPDKEY(+$P(X1,"^",4))]"",'$D(^XUSEC($$LKUP^XPDKEY(+$P(X1,"^",4)),DUZ)) K X W:'$D(ZTQUEUED)#2 !?3,"You do not have the proper access privileges to ",!?3,"change this exam to this status" Q 42 S RAJ=^RADPT(DA(2),"DT",DA(1),"P",DA,0),RAOR=-1 43 S RABEFORE=$P($G(^RA(72,+$P(RAJ,U,3),0)),U,3) ; current order seq 44 ; Don't need to set RAORDIFN,RACS,RAPRIT,RAF5 45 I '$D(^RA(72,"AA",RAIMGTYJ,0,RAXX)) D LOOP^RASTREQ1 S RAIMGTYJ=RASAVTYJ 46 I $D(^RA(72,"AA",RAIMGTYJ,0,RAXX)) D CANCEL^RASTREQ1 47 S RAIMGTYJ=RASAVTYJ 48 ; Can't use X to determine if status change to next was successful 49 ; due to looping thru all status levels for this img type 50 ; chk if calculated order is at NEXT or higher level 51 ; RAAFTER is set in rastreq1; it has 2 meanings : 52 ; upon return from rastreq1, RAAFTER means highest seq order qualified 53 ; upon exit from this rtn, RAAFTER means actual seq order used 54 I RABEFORE<RAAFTER D G MSG 55 . I RADES<RAAFTER S RAOKAY=RADES 56 . E S RAOKAY=RAAFTER 57 . Q 58 I RAAFTER<RABEFORE D G MSG 59 . I RADES<RAAFTER S RAOKAY=RADES 60 . E S RAOKAY=RAAFTER 61 . Q 62 ; at this point RAAFTER=RABEFORE 63 I RADES<RAAFTER S RAOKAY=RADES 64 E S RAOKAY=RABEFORE 65 MSG I RAOKAY=RABEFORE K X W:'$D(ZTQUEUED)#2 !?5," ...exam status not changed" G KOUT2 66 S X=$O(^RA(72,"AA",RAIMGTYJ,RAOKAY,0)) 67 S:$D(RANEXT) RANEXT=^RA(72,+X,0) ;set existing RANEXT to ok'd status 68 I RAOKAY<RABEFORE W:'$D(ZTQUEUED)#2 !?5," ...exam status backed down to '",$P($G(^RA(72,+X,0)),U),"'" G KOUT2 69 I RAOKAY<RADES W:'$D(ZTQUEUED)#2 !!?5," ...though upgraded, new status level (",$P($G(^RA(72,+$O(^RA(72,"AA",RAIMGTYJ,RAOKAY,0)),0)),U),")",!?5,"is not as high as the desired level (",$P($G(^RA(72,+$O(^RA(72,"AA",RAIMGTYJ,RADES,0)),0)),U),")",! 70 KOUT1 ; check for higher qualifying status(es) 71 G:RAOKAY'<RAAFTER!(RAOKAY=9) KOUT2 S RA3=RAOKAY 72 W !!,"This case also qualifies for higher status(es) :",! 73 F S RA3=$O(^RA(72,"AA",RAIMGTYJ,RA3)) Q:RA3="" Q:RA3>RAAFTER W:'$D(ZTQUEUED)#2 ?$X+4,$P($G(^RA(72,$O(^(RA3,0)),0)),U) 74 W:'$D(ZTQUEUED)#2 !!,"Since Status Tracking can only upgrade one status at a time,",!,"please edit this exam again.",! 75 KOUT2 S RAAFTER=RAOKAY ;return as actual seq order used, not nec. highest 76 K RAIMGTYI,RAIMGTYJ,RAMES1,RAZ,RAXX,RAJ,RAS,RAK,RAE,X1,RASAVTYJ 77 Q 78 ; 79 1 ;Technologist Check 80 N DIERR 81 S RA("TECH")="" I $O(^RADPT(DA(2),"DT",DA(1),"P",DA,"TC",0))>0 S RA("TECH")=+^($O(^(0)),0) S RA("TECH")=$$GET1^DIQ(200,RA("TECH")_",",.01) 82 I RA("TECH")']"" K X S RAZ="technologist" X:$D(RAMES1) RAMES1 83 K RA("TECH") Q 84 ; 85 2 ;Interpreting Physician Check 86 N DIERR 87 I $$GET1^DIQ(200,$P(RAJ,"^",12)_",",.01)="",$$GET1^DIQ(200,$P(RAJ,"^",15)_",",.01)="" K X S RAZ="interpreting staff or resident" X:$D(RAMES1) RAMES1 88 Q 89 ; 90 3 ;Detailed Procedure Check 91 S RAZ="detailed procedure" I '$D(^RAMIS(71,+$P(RAJ,"^",2),0)) K X X:$D(RAMES1) RAMES1 Q 92 S RAJ1=$G(^RAMIS(71,+$P(RAJ,"^",2),0)) I "DS"'[$P(RAJ1,"^",6) K X X:$D(RAMES1) RAMES1 Q 93 S RAZ="detailed procedure (no CPT code)" I $P(RAJ1,"^",9)']"" K X X:$D(RAMES1) RAMES1 Q 94 Q 95 ; 96 4 ;Film Data Check 97 I '$O(^RADPT(DA(2),"DT",DA(1),"P",DA,"F",0)) K X S RAZ="film data" X:$D(RAMES1) RAMES1 98 Q 99 ; 100 5 ;Diagnostic Code Check 101 I '$D(^RA(78.3,+$P(RAJ,"^",13),0)) K X S RAZ="diagnostic code" X:$D(RAMES1) RAMES1 102 Q 103 ; 104 6 ;Camera/Equipment/Room Check 105 S RAE=$S($D(RAMDV):$P(RAMDV,"^",9),1:1) I RAE,'$D(^RA(78.6,+$P(RAJ,"^",18),0)) K X S RAZ="camera/equip/room" X:$D(RAMES1) RAMES1 106 Q 107 ; 108 11 ;Report Entered and not just a stub rec for Img/PACS Check 109 I '$D(^RARPT(+$P(RAJ,"^",17),0)) G NORPT 110 ; since there's a rpt ptr, must check if the rpt is just a stub rpt 111 N RA17,RA0 ; use logic from RAREG 112 S RA17=+$P(RAJ,"^",17) 113 I $$STUB^RAEDCN1(RA17) G NORPT ; rpt is an image stub 114 Q 115 NORPT ; either no report yet, or report is stub 116 K X S RAZ="report" X:$D(RAMES1) RAMES1 117 Q 118 ; 119 12 ;Report Verified Check 120 D 11:$P(RAS,"^",11)'="Y" I $D(^RARPT(+$P(RAJ,"^",17),0)),$P(^(0),"^",5)'="V" K X S RAZ="report verification" X:$D(RAMES1) RAMES1 121 Q 122 ; 123 16 ;Impression Entry Check 124 ; In Phase 1, for Elec. filed rpts, skip this even if div. param requires it 125 I $D(^RARPT(+$P(RAJ,"^",17),0)),$P(^(0),"^",5)="EF" Q 126 I $O(^RARPT(+$P(RAJ,"^",17),"I",0))'>0 K X S RAZ="impression" X:$D(RAMES1) RAMES1 127 Q 128 13 ;Procedure Modifers Check 129 I '$O(^RADPT(DA(2),"DT",DA(1),"P",DA,"M",0)) K X S RAZ="procedure modifier" X:$D(RAMES1) RAMES1 130 Q 131 14 ;CPT Modifiers Check 132 I '$O(^RADPT(DA(2),"DT",DA(1),"P",DA,"CMOD",0)) K X S RAZ="CPT modifiers" X:$D(RAMES1) RAMES1 133 Q 134 ; 135 HELP ; Called from 'Help Text' node in DD(70.03,3,4). 136 N E,RA 137 S RAJ=$G(^RADPT(DA(2),"DT",DA(1),"P",DA,0)) 138 S RAIMGTYI=+$P($G(^RADPT(DA(2),"DT",DA(1),0)),U,2),RAIMGTYJ=$P($G(^RA(79.2,+RAIMGTYI,0)),U,1) 139 I RAIMGTYJ']"" W !,"ERROR: Cannot determine imaging type of exam!" K FL,K,N,RAIMGTYI,RAIMGTYJ,RAS,RAJ Q 140 W !,"This exam meets the requirements for the following statuses:" 141 F K=0:0 S K=$O(^RA(72,"AA",RAIMGTYJ,K)) Q:K'>0 D 142 . S X="",E=+$O(^RA(72,"AA",RAIMGTYJ,K,0)) Q:E'>0 143 . I $D(^RA(72,E,0)) D 144 .. S RA(0)=$G(^RA(72,E,0)),N=$P(RA(0),U),RAS=$G(^RA(72,E,.1)) 145 .. I $L(RAS) D HELP1 I $D(X) W !?10,N S FL="" ;removed D 3, done inside HELP1 146 .. Q 147 . Q 148 W:'$D(FL) !?10,"Does not meet the requirements of any status." 149 W ! K RAS,RAJ,N,K,FL,RAIMGTYI,RAIMGTYJ 150 Q 151 HELP1 ; Called from 'HELP' above and 'STUFF^RASTREQ1' 152 ; 'RAJ' -> 0 node of the examination 153 ; 'E' -> ien of the examination status 154 ; Both 'RAJ' & 'E' set in 'HELP' & 'STUFF^RASTREQ1' 155 N RADIO,RADIOUZD,RAS5 S RADIO=$S($G(^RA(72,E,.5))]"":$G(^(.5)),1:"N") 156 S:$P($G(^RA(79.2,+RAIMGTYI,0)),"^",5)="Y" RADIOUZD="" 157 ; 158 ; Phase 1 Outside Reporting 100% outside work, skip all except Diag. Code 159 I $D(^RARPT(+$P(RAJ,"^",17),0)),$P(^(0),"^",5)="EF" S RAS5=$P(RAS,U,5),RAS="",$P(RAS,U,5)=RAS5 K RADIOUZD 160 ; 161 F RAK=1:1 Q:$P(RAS,"^",RAK,99)']"" D:$P(RAS,"^",RAK)="Y" @RAK 162 I $D(X),$P(RAS,"^",3)'="Y",$D(^RA(72,"AA",RAIMGTYJ,9,E)) D 3 163 I $D(X),$P(RAS,"^",16)'="Y",$D(^RA(72,"AA",RAIMGTYJ,9,E)),$D(^RA(79,+$P(^RADPT(DA(2),"DT",DA(1),0),"^",3),.1)),$P(^(.1),"^",16)="Y" D 16 164 I $D(RADIOUZD) D ;if Radiopharm Used, then check req'd NucMed flds 165 . D EN1^RASTREQN(RADIO,RAJ) 166 . I $D(X),($$UP^XLFSTR($P($G(^RA(72,E,.6)),"^",11)="Y")) D EN1^RADOSTIK(RADFN,RADTI,RACNI) 167 . Q 168 Q 1 RASTREQ ;HISC/CAH,GJC AISC/MJK-Status Requirements Check Routine ;6/3/98 09:56 2 ;;5.0;Radiology/Nuclear Medicine;**1,10,23,40**;Mar 16, 1998 3 ; Called by 4 ; (1) Stat Track's [RA STATUS CHANGE]'s fld EXAM STATUS' input transform 5 ; (2) ASK+22^RASTED, if user "^" out of stat trk editing 6 ; (3) Cancel an Exam's [RA CANCEL]'s fld EXAM STATUS' input transform 7 ; (4) Enter Last Past Visit Before DHCP's [RA LAST PAST VISIT]'s "" 8 ; 9 ; Instead of using RAIMGTY, recalculate 10 ; the imaging type using the imaging type on the exam node because 11 ; status updating through report entry/edit, batch verify, and several 12 ; other options is NOT screened by sign-on imaging type, so does not 13 ; stay the same through a user's session. 14 ; 15 ; 'RAMES1' is used to display which Exam Status required fields are 16 ; not populated. This only applies to the 'Status Tracking Of Exams' 17 ; option. 18 ; 19 ; If tracking ^-out, this rtn would be called outside of edt tmpl, 20 ; and thus the DA vars would not be defined, so we need to set them here 21 ; 22 S:'$D(DA)#2 DA=RACNI S:'$D(DA(1))#2 DA(1)=RADTI S:'$D(DA(2))#2 DA(2)=RADFN 23 ; If Fileman enter/edit, we need to define RADFN, RADTI, RACNI so the 24 ; nuc med checks won't bomb 25 S:'$D(RACNI)#2 RACNI=DA S:'$D(RADTI)#2 RADTI=DA(1) S:'$D(RADFN)#2 RADFN=DA(2) 26 ; 27 S RAIMGTYI=+$P($G(^RADPT(DA(2),"DT",DA(1),0)),U,2),RAIMGTYJ=$P($G(^RA(79.2,+RAIMGTYI,0)),U,1),RASAVTYJ=RAIMGTYJ 28 S RAMES1="W:$G(K)=$P($G(^RA(72,+$G(RANXT72),0)),U,3)&('$D(ZTQUEUED)#2) !?3,""No '"",RAZ,""'"",?35,"" entered for this exam.""" ; display if at the ranext exm stat level 29 S RAXX=+$G(X) 30 I '$D(^RA(72,RAXX,0))!(RAIMGTYJ']"") D Q 31 . K X W:'$D(ZTQUEUED)#2 !?3,"Error: cannot determine Imaging Type of exam. Contact IRM." 32 . K RAMES1,RAXX 33 . Q 34 N RA,RASN,RASTI,RADES,RAOKAY,RA3 35 ; RADES = order seq. desired, RAOKAY= actual order seq. okay'd 36 S X1=$G(^RA(72,RAXX,0)),RADES=$P(X1,U,3) 37 I $$LKUP^XPDKEY(+$P(X1,"^",4))]"",'$D(^XUSEC($$LKUP^XPDKEY(+$P(X1,"^",4)),DUZ)) K X W:'$D(ZTQUEUED)#2 !?3,"You do not have the proper access privileges to ",!?3,"change this exam to this status" Q 38 S RAJ=^RADPT(DA(2),"DT",DA(1),"P",DA,0),RAOR=-1 39 S RABEFORE=$P($G(^RA(72,+$P(RAJ,U,3),0)),U,3) ; current order seq 40 ; Don't need to set RAORDIFN,RACS,RAPRIT,RAF5 41 I '$D(^RA(72,"AA",RAIMGTYJ,0,RAXX)) D LOOP^RASTREQ1 S RAIMGTYJ=RASAVTYJ 42 I $D(^RA(72,"AA",RAIMGTYJ,0,RAXX)) D CANCEL^RASTREQ1 43 S RAIMGTYJ=RASAVTYJ 44 ; Can't use X to determine if status change to next was successful 45 ; due to looping thru all status levels for this img type 46 ; chk if calculated order is at NEXT or higher level 47 ; RAAFTER is set in rastreq1; it has 2 meanings : 48 ; upon return from rastreq1, RAAFTER means highest seq order qualified 49 ; upon exit from this rtn, RAAFTER means actual seq order used 50 I RABEFORE<RAAFTER D G MSG 51 . I RADES<RAAFTER S RAOKAY=RADES 52 . E S RAOKAY=RAAFTER 53 . Q 54 I RAAFTER<RABEFORE D G MSG 55 . I RADES<RAAFTER S RAOKAY=RADES 56 . E S RAOKAY=RAAFTER 57 . Q 58 ; at this point RAAFTER=RABEFORE 59 I RADES<RAAFTER S RAOKAY=RADES 60 E S RAOKAY=RABEFORE 61 MSG I RAOKAY=RABEFORE K X W:'$D(ZTQUEUED)#2 !?5," ...exam status not changed" G KOUT2 62 S X=$O(^RA(72,"AA",RAIMGTYJ,RAOKAY,0)) 63 S:$D(RANEXT) RANEXT=^RA(72,+X,0) ;set existing RANEXT to ok'd status 64 I RAOKAY<RABEFORE W:'$D(ZTQUEUED)#2 !?5," ...exam status backed down to '",$P($G(^RA(72,+X,0)),U),"'" G KOUT2 65 I RAOKAY<RADES W:'$D(ZTQUEUED)#2 !!?5," ...though upgraded, new status level (",$P($G(^RA(72,+$O(^RA(72,"AA",RAIMGTYJ,RAOKAY,0)),0)),U),")",!?5,"is not as high as the desired level (",$P($G(^RA(72,+$O(^RA(72,"AA",RAIMGTYJ,RADES,0)),0)),U),")",! 66 KOUT1 ; check for higher qualifying status(es) 67 G:RAOKAY'<RAAFTER!(RAOKAY=9) KOUT2 S RA3=RAOKAY 68 W !!,"This case also qualifies for higher status(es) :",! 69 F S RA3=$O(^RA(72,"AA",RAIMGTYJ,RA3)) Q:RA3="" Q:RA3>RAAFTER W:'$D(ZTQUEUED)#2 ?$X+4,$P($G(^RA(72,$O(^(RA3,0)),0)),U) 70 W:'$D(ZTQUEUED)#2 !!,"Since Status Tracking can only upgrade one status at a time,",!,"please edit this exam again.",! 71 KOUT2 S RAAFTER=RAOKAY ;return as actual seq order used, not nec. highest 72 K RAIMGTYI,RAIMGTYJ,RAMES1,RAZ,RAXX,RAJ,RAS,RAK,RAE,X1,RASAVTYJ 73 Q 74 ; 75 1 ;Technologist Check 76 S RA("TECH")="" I $O(^RADPT(DA(2),"DT",DA(1),"P",DA,"TC",0))>0,$D(^VA(200,+^($O(^(0)),0),0)) S RA("TECH")=$P(^(0),"^") 77 I RA("TECH")']"" K X S RAZ="technologist" X:$D(RAMES1) RAMES1 78 K RA("TECH") Q 79 ; 80 2 ;Interpreting Physician Check 81 I '$D(^VA(200,+$P(RAJ,"^",12),0)),'$D(^VA(200,+$P(RAJ,"^",15),0)) K X S RAZ="interpreting staff or resident" X:$D(RAMES1) RAMES1 82 Q 83 ; 84 3 ;Detailed Procedure Check 85 S RAZ="detailed procedure" I '$D(^RAMIS(71,+$P(RAJ,"^",2),0)) K X X:$D(RAMES1) RAMES1 Q 86 S RAJ1=$G(^RAMIS(71,+$P(RAJ,"^",2),0)) I "DS"'[$P(RAJ1,"^",6) K X X:$D(RAMES1) RAMES1 Q 87 S RAZ="detailed procedure (no CPT code)" I $P(RAJ1,"^",9)']"" K X X:$D(RAMES1) RAMES1 Q 88 Q 89 ; 90 4 ;Film Data Check 91 I '$O(^RADPT(DA(2),"DT",DA(1),"P",DA,"F",0)) K X S RAZ="film data" X:$D(RAMES1) RAMES1 92 Q 93 ; 94 5 ;Diagnostic Code Check 95 I '$D(^RA(78.3,+$P(RAJ,"^",13),0)) K X S RAZ="diagnostic code" X:$D(RAMES1) RAMES1 96 Q 97 ; 98 6 ;Camera/Equipment/Room Check 99 S RAE=$S($D(RAMDV):$P(RAMDV,"^",9),1:1) I RAE,'$D(^RA(78.6,+$P(RAJ,"^",18),0)) K X S RAZ="camera/equip/room" X:$D(RAMES1) RAMES1 100 Q 101 ; 102 11 ;Report Entered and not just a stub rec for Img/PACS Check 103 I '$D(^RARPT(+$P(RAJ,"^",17),0)) G NORPT 104 ; since there's a rpt ptr, must check if the rpt is just a stub rpt 105 N RA17,RA0 ; use logic from RAREG 106 S RA17=+$P(RAJ,"^",17) 107 I $$STUB^RAEDCN1(RA17) G NORPT ; rpt is an image stub 108 Q 109 NORPT ; either no report yet, or report is stub 110 K X S RAZ="report" X:$D(RAMES1) RAMES1 111 Q 112 ; 113 12 ;Report Verified Check 114 D 11:$P(RAS,"^",11)'="Y" I $D(^RARPT(+$P(RAJ,"^",17),0)),$P(^(0),"^",5)'="V" K X S RAZ="report verification" X:$D(RAMES1) RAMES1 115 Q 116 ; 117 16 ;Impression Entry Check 118 I $O(^RARPT(+$P(RAJ,"^",17),"I",0))'>0 K X S RAZ="impression" X:$D(RAMES1) RAMES1 119 Q 120 13 ;Procedure Modifers Check 121 I '$O(^RADPT(DA(2),"DT",DA(1),"P",DA,"M",0)) K X S RAX="procedure modifier" X:$D(RAMES1) RAMES1 122 Q 123 14 ;CPT Modifiers Check 124 I '$O(^RADPT(DA(2),"DT",DA(1),"P",DA,"CMOD",0)) K X S RAZ="CPT modifiers" X:$D(RAMES1) RAMES1 125 Q 126 ; 127 HELP ; Called from 'Help Text' node in DD(70.03,3,4). 128 N E,RA 129 S RAJ=$G(^RADPT(DA(2),"DT",DA(1),"P",DA,0)) 130 S RAIMGTYI=+$P($G(^RADPT(DA(2),"DT",DA(1),0)),U,2),RAIMGTYJ=$P($G(^RA(79.2,+RAIMGTYI,0)),U,1) 131 I RAIMGTYJ']"" W !,"ERROR: Cannot determine imaging type of exam!" K FL,K,N,RAIMGTYI,RAIMGTYJ,RAS,RAJ Q 132 W !,"This exam meets the requirements for the following statuses:" 133 F K=0:0 S K=$O(^RA(72,"AA",RAIMGTYJ,K)) Q:K'>0 D 134 . S X="",E=+$O(^RA(72,"AA",RAIMGTYJ,K,0)) Q:E'>0 135 . I $D(^RA(72,E,0)) D 136 .. S RA(0)=$G(^RA(72,E,0)),N=$P(RA(0),U),RAS=$G(^RA(72,E,.1)) 137 .. I $L(RAS) D HELP1 D:$D(X)&($P(RAS,"^",3)'="Y")&($D(^RA(72,"AA",RAIMGTYJ,9,E))) 3 I $D(X) W !?10,N S FL="" 138 .. Q 139 . Q 140 W:'$D(FL) !?10,"Does not meet the requirements of any status." 141 W ! K RAS,RAJ,N,K,FL,RAIMGTYI,RAIMGTYJ 142 Q 143 HELP1 ; Called from 'HELP' above and 'STUFF^RASTREQ1' 144 ; 'RAJ' -> 0 node of the examination 145 ; 'E' -> ien of the examination status 146 ; Both 'RAJ' & 'E' set in 'HELP' & 'STUFF^RASTREQ1' 147 N RADIO,RADIOUZD S RADIO=$S($G(^RA(72,E,.5))]"":$G(^(.5)),1:"N") 148 S:$P($G(^RA(79.2,+RAIMGTYI,0)),"^",5)="Y" RADIOUZD="" 149 F RAK=1:1 Q:$P(RAS,"^",RAK,99)']"" D:$P(RAS,"^",RAK)="Y" @RAK 150 I $D(X),$P(RAS,"^",3)'="Y",$D(^RA(72,"AA",RAIMGTYJ,9,E)) D 3 151 I $D(X),$P(RAS,"^",16)'="Y",$D(^RA(72,"AA",RAIMGTYJ,9,E)),$D(^RA(79,+$P(^RADPT(DA(2),"DT",DA(1),0),"^",3),.1)),$P(^(.1),"^",16)="Y" D 16 152 I $D(RADIOUZD),($D(X)) D 153 . D EN1^RASTREQN(RADIO,RAJ) 154 . I $D(X),($$UP^XLFSTR($P($G(^RA(72,E,.6)),"^",11)="Y")) D EN1^RADOSTIK(RADFN,RADTI,RACNI) 155 . Q 156 Q
Note:
See TracChangeset
for help on using the changeset viewer.