Changeset 636 for FOIAVistA/tag/r/RADIOLOGY_NUCLEAR_MEDICINE-RA/RAHLRS1.m
- Timestamp:
- Dec 4, 2009, 8:26:01 PM (14 years ago)
- Location:
- FOIAVistA/tag/r
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
FOIAVistA/tag/r/RADIOLOGY_NUCLEAR_MEDICINE-RA/RAHLRS1.m
r628 r636 1 1 RAHLRS1 ;HIRMFO/ROB/PAVEL - Resend HL7 messages for selected Timeframe ; 4/2/07 3:42pm 2 ;;5.0;Radiology/Nuclear Medicine;**80,84**;Mar 16, 1998;Build 13 2 ;;5.0;Radiology/Nuclear Medicine;**80**;Mar 01, 2007;Build 19 3 ; 3 4 ; Utility to RESEND HL7 messages for selected Timeframe 4 ;5 ;Integration Agreements6 ;----------------------7 ;^%DT(10003); C^%DTC(10000); H^%DTC(10000); ^%ZISC(10089); ^%ZTLOAD(10063); $$GET1^DIQ(2056)8 ;^DIR(10026); ^XMD(10070)9 ;all access to ^ORD(101 to maintain application specific protocols(872)10 ;read w/FileMan HL7 APPLICATION PARAMETER(10136)11 5 ; 12 6 N RACNI,RADFN,RADTI,RARPT,X,RAED,RABD,RASHBD,RASHED,RASHTD,RASHTM,DIC,DA,XX,YY … … 30 24 S RAED=RAED_"."_9999 31 25 K XX G:'$$GETAP(.XX) STOP 32 W !!,"*** Pick the application in which to send the radiology data***",!!26 W !!,"****Pick the application to send the RAD data to*****",!! 33 27 F I=1:1 Q:'$D(XX(I)) W !," #",I," ",$O(XX(I,"")) 34 2 ;user selects the application 35 S DIR(0)="N^1:"_(I-1) 36 W ! S DIR("?")="Please select an available application from the list." 37 D ^DIR Q:$D(DIRUT) 28 2 S DIR(0)="N" 29 W ! S DIR("?")="Please select an available application from the list" 30 D ^DIR Q:$D(DIRUT) I (X'<1),(X'<I) W "Please select an available application from the list" G 2 38 31 W !!,"The: ",$O(XX(+X,""))," will be the recipient" 39 32 W !!,"Reviewing exams for selected time period... (This may take a few minutes)... " … … 53 46 W !,"Task ",$S('$D(ZTSK):" Has Not been Tasked !!!",1:"#:"_ZTSK_" Has been Tasked") 54 47 D:$D(ZTSK) 55 .N RAX,RAMPG,XMSUB,XMY,XMTEXT56 .S RAX(1)="Task #"_$G(ZTSK)_" is scheduled to run the option: "57 .S RAX(2)=">>Re-send HL7 messages for a date range and for designated Recipient.<<"58 .S RAX(3)=" Scheduled time to run: "_RASHTM59 .S RAX(4)="Date range from: "_$G(RASHBD)_" to: "_$G(RASHED)48 .N X,RAMPG,XMSUB,XMY,XMTEXT 49 .S X(1)="Task #"_$G(ZTSK)_" is scheduled to run the option: " 50 .S X(2)=">>Re-send HL7 messages for a date range and for designated Recipient.<<" 51 .S X(3)=" Scheduled time to run: "_RASHTM 52 .S X(4)="Date range from: "_$G(RASHBD)_" to: "_$G(RASHED) 60 53 .S XMSUB="TASKMAN SCHEDULE NOTIFICATION/INFO" 61 54 .S RAMPG="G.RAD HL7 MESSAGES" 62 55 .S XMY(RAMPG)="",XMDUZ=.5 63 .S XMTEXT=" RAX("56 .S XMTEXT="X(" 64 57 .D ^XMD 65 58 Q … … 72 65 ..S RADTI=0 F S RADTI=$O(^RADPT("AR",RABD,RADFN,RADTI)) Q:'RADTI D 73 66 ...S RACNI=0 F S RACNI=$O(^RADPT(RADFN,"DT",RADTI,"P",RACNI)) Q:'RACNI D RESEND(RADFN,RADTI,RACNI) 74 K RAX S RAX(1)="Task #"_$G(ZTSK)_" successfully completed the option: "75 S RAX(2)=">>Re-send HL7 messages for a date range and for designated Recipient.<<"76 S RAX(3)="Date range from: "_$G(RASHBD)_" to: "_$G(RASHED)77 S RAX(4)="# Of RAD Reports transferred: "_$G(RASUM7R)78 S RAX(5)="# Of Exams transferred: "_$G(RASUM7)67 K X S X(1)="Task #"_$G(ZTSK)_" successfully completed the option: " 68 S X(2)=">>Re-send HL7 messages for a date range and for designated Recipient.<<" 69 S X(3)="Date range from: "_$G(RASHBD)_" to: "_$G(RASHED) 70 S X(4)="# Of RAD Reports transferred: "_$G(RASUM7R) 71 S X(5)="# Of Exams transferred: "_$G(RASUM7) 79 72 S:$G(RASUM7E) X(6)="# Of Exams not transferred because of ""BAD DATA"": "_$G(RASUM7E) 80 73 S XMSUB="TASKMAN ""RESEND HL7 OPTION"" COMPLETED/INFO" 81 74 S RAMPG="G.RAD HL7 MESSAGES" 82 75 S XMY(RAMPG)="",XMDUZ=.5 83 S XMTEXT=" RAX("76 S XMTEXT="X(" 84 77 D ^XMD 85 78 G STOP … … 88 81 RESEND(RADFN,RADTI,RACNI) ; re-send exam message(s) to HL7 subscribers 89 82 ; for every 10 messages sent, make sure queue is not clogged... $$HANG 90 N RAXAMP80 S RAXAMP80=$G(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0))91 I ' (+$P(RAXAMP80,U))!'($P(RAXAMP80,U,2)) S RASUM7E=RASUM7E+1 Q92 N RABD,RAED P80,QUIT83 I '(+^(RACNI,0)) S RASUM7E=RASUM7E+1 Q 84 I '$P(^(0),U,2) S RASUM7E=RASUM7E+1 Q 85 N RABD,RAED,QUIT 93 86 ; 94 87 I '$D(DT) D ^%DT S DT=Y 95 88 ; 96 S RAED P80=$$RAED(RADFN,RADTI,RACNI)97 I '$L(RAED P80) S RASUM7E=RASUM7E+1 Q98 D:RAED P80[",REG,"89 S RAED=$$RAED(RADFN,RADTI,RACNI) 90 I '$L(RAED) S RASUM7E=RASUM7E+1 Q 91 D:RAED[",REG," 99 92 .D CHSUM N RASUM7,RASUM7R,RASUM7E D REG^RAHLRPC 100 D:RAED P80[",CANCEL,"93 D:RAED[",CANCEL," 101 94 .D CHSUM N RASUM7,RASUM7R,RASUM7E D CANCEL^RAHLRPC 102 D:RAED P80[",EXAM,"95 D:RAED[",EXAM," 103 96 .D CHSUM 104 97 .S $P(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0),"^",30)="" ;Reset sent flag 105 98 .N RASUM7,RAEXMDUN,RASUM7R,RASUM7E D 1^RAHLRPC 106 D:RAED P80[",RPT,"99 D:RAED[",RPT," 107 100 .D CHSUM N RASUM7,RANOSEND,RASUM7R,RASUM7E,RARPT D RPT^RAHLRPC 108 101 Q … … 153 146 .F S X1=$O(^ORD(101,"B",X1)) Q:X1'[X11 S X2=$O(^ORD(101,"B",X1,0)) Q:'X2 D 154 147 ..K Z S X3=0 F S X3=$O(^ORD(101,X2,775,X3)) Q:'X3 S Z(+^(X3,0))="" 155 ..Q:'$D(Z) K Z1 S X3=0 F S X3=$O(Z(X3)) Q:'X3 D 156 ...S Z1=$G(^ORD(101,X3,770)) S:+$P(Z1,U,2) XXX(+$P(Z1,U,2))="" 157 S X1=0 F J=1:1 S X1=$O(XXX(X1)) Q:'X1 D 158 .N DIERR,RAERR,Y 159 .S Y=$$GET1^DIQ(771,X1,.01,"","","RAERR") 160 .Q:Y=""!($D(RAERR)#2) S XX(J,Y)=X1 161 .Q 148 ..Q:'$D(Z) K Z1 S X3=0 F S X3=$O(Z(X3)) Q:'X3 S XXX(+$P($G(^ORD(101,X3,770)),U,2))="" 149 S X1=0 F J=1:1 S X1=$O(XXX(X1)) Q:'X1 S XX(J,$P(^HL(771,X1,0),U))=X1 162 150 Q $S($D(XXX):1,1:0) 163 151 ; … … 176 164 ...S XX=+$P($G(^ORD(101,XX,770)),U,7) S:XX LINK(XX)="" 177 165 Q 178 GETHLP(RAEID,HLP,ADR) ; Get excluded subcribers set into HLP array 179 N I,J,XX,AA S J=$O(HLP("EXCLUDE SUBSCRIBER",99999999),-1) 180 ;XX Set the list of already excluded subscribers, so be sure we don't set it second time 181 S AA=ADR_"("_RAEID_",I)" 182 S I=0 F I=$O(HLP("EXCLUDE SUBSCRIBER",I)) Q:'I S XX(HLP("EXCLUDE SUBSCRIBER",I))="" 183 S I=0 F S I=$O(@AA) Q:'I S:'$D(XX(I)) J=J+1,HLP("EXCLUDE SUBSCRIBER",J)=I 166 GETHLP(RAEID,HLP) ; Get excluded subcribers set into HLP array 167 N I,J,II S II=$O(HLP("EXCLUDE SUBSCRIBER",99999999),-1)+1 168 S I=0 F J=II:1 S I=$O(RASSSX(RAEID,I)) Q:'I S HLP("EXCLUDE SUBSCRIBER",J)=I 184 169 Q 185 170 CHSUM ;CHECKSUM
Note:
See TracChangeset
for help on using the changeset viewer.