Ignore:
Timestamp:
Dec 4, 2009, 8:26:01 PM (14 years ago)
Author:
George Lilly
Message:

WorldVistAEHR overlayed on FOIAVistA

Location:
FOIAVistA/tag/r
Files:
1 edited
1 copied

Legend:

Unmodified
Added
Removed
  • FOIAVistA/tag/r/RADIOLOGY_NUCLEAR_MEDICINE-RA/RAHLRS1.m

    r628 r636  
    11RAHLRS1 ;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 ;
    34 ; Utility to RESEND HL7 messages for selected Timeframe
    4  ;
    5  ;Integration Agreements
    6  ;----------------------
    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)
    115 ;
    126 N RACNI,RADFN,RADTI,RARPT,X,RAED,RABD,RASHBD,RASHED,RASHTD,RASHTM,DIC,DA,XX,YY
     
    3024 S RAED=RAED_"."_9999
    3125 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*****",!!
    3327 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)
     282 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
    3831 W !!,"The: ",$O(XX(+X,"")),"   will be the recipient"
    3932 W !!,"Reviewing exams for selected time period... (This may take a few minutes)... "
     
    5346 W !,"Task ",$S('$D(ZTSK):" Has Not been Tasked !!!",1:"#:"_ZTSK_" Has been Tasked")
    5447 D:$D(ZTSK)
    55  .N RAX,RAMPG,XMSUB,XMY,XMTEXT
    56  .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: "_RASHTM
    59  .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)
    6053 .S XMSUB="TASKMAN SCHEDULE NOTIFICATION/INFO"
    6154 .S RAMPG="G.RAD HL7 MESSAGES"
    6255 .S XMY(RAMPG)="",XMDUZ=.5
    63  .S XMTEXT="RAX("
     56 .S XMTEXT="X("
    6457 .D ^XMD
    6558 Q
     
    7265 ..S RADTI=0 F  S RADTI=$O(^RADPT("AR",RABD,RADFN,RADTI)) Q:'RADTI  D
    7366 ...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)
    7972 S:$G(RASUM7E) X(6)="# Of Exams not transferred because of ""BAD DATA"": "_$G(RASUM7E)
    8073 S XMSUB="TASKMAN ""RESEND HL7 OPTION"" COMPLETED/INFO"
    8174 S RAMPG="G.RAD HL7 MESSAGES"
    8275 S XMY(RAMPG)="",XMDUZ=.5
    83  S XMTEXT="RAX("
     76 S XMTEXT="X("
    8477 D ^XMD
    8578 G STOP
     
    8881RESEND(RADFN,RADTI,RACNI) ; re-send exam message(s) to HL7 subscribers
    8982 ; 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 Q
    92  N RABD,RAEDP80,QUIT
     83 I '(+^(RACNI,0)) S RASUM7E=RASUM7E+1 Q
     84 I '$P(^(0),U,2) S RASUM7E=RASUM7E+1 Q
     85 N RABD,RAED,QUIT
    9386 ;
    9487 I '$D(DT) D ^%DT S DT=Y
    9588 ;
    96  S RAEDP80=$$RAED(RADFN,RADTI,RACNI)
    97  I '$L(RAEDP80) S RASUM7E=RASUM7E+1 Q
    98  D:RAEDP80[",REG,"
     89 S RAED=$$RAED(RADFN,RADTI,RACNI)
     90 I '$L(RAED) S RASUM7E=RASUM7E+1 Q
     91 D:RAED[",REG,"
    9992 .D CHSUM N RASUM7,RASUM7R,RASUM7E D REG^RAHLRPC
    100  D:RAEDP80[",CANCEL,"
     93 D:RAED[",CANCEL,"
    10194 .D CHSUM N RASUM7,RASUM7R,RASUM7E D CANCEL^RAHLRPC
    102  D:RAEDP80[",EXAM,"
     95 D:RAED[",EXAM,"
    10396 .D CHSUM
    10497 .S $P(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0),"^",30)="" ;Reset sent flag
    10598 .N RASUM7,RAEXMDUN,RASUM7R,RASUM7E D 1^RAHLRPC
    106  D:RAEDP80[",RPT,"
     99 D:RAED[",RPT,"
    107100 .D CHSUM N RASUM7,RANOSEND,RASUM7R,RASUM7E,RARPT D RPT^RAHLRPC
    108101 Q
     
    153146 .F  S X1=$O(^ORD(101,"B",X1)) Q:X1'[X11  S X2=$O(^ORD(101,"B",X1,0)) Q:'X2  D
    154147 ..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
    162150 Q $S($D(XXX):1,1:0)
    163151 ;
     
    176164 ...S XX=+$P($G(^ORD(101,XX,770)),U,7) S:XX LINK(XX)=""
    177165 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
     166GETHLP(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
    184169 Q
    185170CHSUM ;CHECKSUM
Note: See TracChangeset for help on using the changeset viewer.