- SDWLIFT3 ;IOFO BAY PINES/OG - INTER-FACILITY TRANSFER: NEW TRANSFER ;1/5/16 10:59am
- ;;5.3;Scheduling;**415,446,645**;AUG 13 1993;Build 7
- ;
- ;
- ;******************************************************************
- ; CHANGE LOG
- ;
- ; DATE PATCH DESCRIPTION
- ; ---- ----- -----------
- ; 12/12/05 SD*5.3*446 Enhancements
- ;
- Q
- EN ; INITIALIZE VARIABLES
- N DIR,DIC,DR,DIE,VADM,X,Y
- D FULL^VALM1
- D EN2()
- D INIT^SDWLIFT1(0)
- ; VALMBCK required by List Manager
- S VALMBCK="R"
- Q
- EN2(SDWLDA) ; Entry point if Wait List has been selected elsewhere.
- ; SDWLOPT is the option to be queried.
- ; 1: Patient & Wait List Entry
- ; 2: Institution
- ; 3: Comments
- ; 4: Processing
- ; 5: Confirmation
- N SDWLOPT,SDWLOPT0
- S SDWLOPT=2
- I '$D(SDWLDA) S SDWLDA="",SDWLOPT=1
- S SDWLOPT0=SDWLOPT
- F D Q:'SDWLOPT
- .N SDWLDFN,SDWLDMN,SDWLIFTN,SDWLINST,DIC,DIE,DIR,DA,DO,I,Y,%,DIWETXT
- .I SDWLOPT=1 D
- ..N DFN,SDWLOK,SDWLOUT,SDWLC,SDWLI,SDWLNM,SDWLTMP
- ..K Y,X
- ..S DIC=2,DIC(0)="AEMZ",DIC("S")="I $$ISEWL^SDWLIFT3(+Y)"
- ..D ^DIC
- ..I Y=-1 S SDWLOPT=0 Q
- ..S DFN=+Y ; DFN used to uniquely identify the patient in the following look-up.
- ..D LIST^DIC(409.3,,".01;2;4;5;6;7;8",,,,$P(Y,U,2),,"I $$ISEWL2^SDWLIFT3(Y,DFN)",,"SDWLTMP")
- ..F I=1:1:+SDWLTMP("DILIST",0) D
- ...N TMP,SDWLSTA
- ...S TMP=""
- ...I SDWLTMP("DILIST","ID",I,2)'="" S TMP=TMP_SDWLTMP("DILIST","ID",I,2)_" "
- ...D:SDWLTMP("DILIST","ID",I,4)'=""
- ....S SDWLTMP("WLTY",I,0)=SDWLTMP("DILIST","ID",I,4),SDWLSTA=$$GET1^DIQ(409.3,SDWLTMP("DILIST",2,I),4,"I")
- ....I SDWLTMP("DILIST","ID",I,SDWLSTA+4)'="" S SDWLTMP("WLTY",I,0)=SDWLTMP("WLTY",I,0)_" ("_SDWLTMP("DILIST","ID",I,SDWLSTA+4)_")"
- ....S TMP=TMP_SDWLTMP("WLTY",I,0)
- ....Q
- ...S $P(DIR(0),";",I)=I_":"_TMP
- ...Q
- ..; If there is only one EWL entry, use that. The previous look-up will have ensured there is at least one.
- ..; If there are more than one, call ^DIR to select.
- ..S Y=1
- ..I +SDWLTMP("DILIST",0)>1 S DIR(0)="S^"_DIR(0),DIR("A")="Enter 1 - "_+SDWLTMP("DILIST",0) D ^DIR Q:Y="^"
- ..W !?4,"Institution:",?20,SDWLTMP("DILIST","ID",Y,2)
- ..W !?4,"Wait List Type:",?20,$G(SDWLTMP("WLTY",Y,0))
- ..S SDWLDA=SDWLTMP("DILIST",2,Y)
- ..I $D(^SDWL(409.36,"C",SDWLDA)) S SDWLOK=0 D I SDWLOK S SDWLOPT=0 Q
- ...N SDWLIFTN,SDWLSTN
- ...S SDWLIFTN=$O(^SDWL(409.36,"C",SDWLDA,"")),SDWLSTN=$$GET1^DIQ(409.36,SDWLIFTN,".1")
- ...S DIR(0)="E",DIR("A")="Press return to continue"
- ...S DIR("A",1)="This EWL Entry is the result of a transfer request from "_$$GET1^DIQ(4,SDWLSTN,".01")_" ("_SDWLSTN_")"
- ...;S DIR("A",2)="On acceptance at the destination facility, this EWL Entry will be removed."
- ...S DIR("A",2)="To transfer care, close the EWL Entry as ER - ENTERED IN ERROR and reject the"
- ...S DIR("A",3)="request. "_$$GET1^DIQ(4,SDWLSTN,".01")_" can then request the transfer."
- ...D ^DIR
- ...S SDWLOK=1
- ...Q
- ..S SDWLOPT=2
- ..Q
- .D:SDWLOPT=2
- ..N SDWLY
- ..S SDWLDFN=$$GET1^DIQ(409.3,SDWLDA,.01,"I")
- ..S DIC=4
- ..S DIC(0)="EMNQA"
- ..S DIC("A")="Select Institution to transfer to: "
- ..S DIC("S")="I $P(^DIC(4,+Y,0),U,11)=""N"",'+$P($G(^DIC(4,+Y,99)),U,4),$L($P($G(^DIC(4,+Y,99)),U))=3,$$GET1^DIQ(4,Y,13)=""VAMC"""
- ..D ^DIC
- ..I Y=-1 S SDWLOPT=$S(SDWLOPT0=2:0,1:1) Q ; If the call was made to go straight to Institution, quit out if no institution is selected.
- ..S SDWLY=+Y,SDWLDMN=$$GET1^DIQ(4,SDWLY,60)
- ..I SDWLDMN="" W !,"This Institution does not have a Domain to which the request can be sent." Q
- ..S SDWLINST=SDWLY,SDWLOPT=3
- ..Q
- .D:SDWLOPT=3
- ..S DIC="^TMP(""SDWLIFT"",$J,""COMMENT""",DIWETXT="Transfer comments"
- ..W !,DIWETXT
- ..K @(DIC_")") S DIC=DIC_","
- ..D EN^DIWE
- ..S SDWLOPT=4
- ..Q
- .D:SDWLOPT=4
- ..N SDWLDTM
- ..K DIC
- ..S DIR(0)="Y",DIR("A")="OK to send",DIR("B")="YES" D ^DIR
- ..I 'Y S SDWLOPT=0 Q
- ..S DIC=409.35,DIC(0)="Z",X=SDWLDA
- ..D FILE^DICN
- ..S SDWLIFTN=+Y
- ..S DA(1)=+Y,DIC=DIC_DA(1)_",1,",SDWLI=0
- ..F S SDWLI=$O(^TMP("SDWLIFT",$J,"COMMENT",SDWLI)) Q:'SDWLI S X=^TMP("SDWLIFT",$J,"COMMENT",SDWLI,0) K DO D FILE^DICN
- ..D NOW^%DTC S SDWLDTM=%
- ..S DIE=409.35,DR="1///"_$$GET1^DIQ(4,SDWLINST,99)_";2///"_SDWLDTM_";3///P;4///`"_DUZ
- ..D ^DIE
- ..D MSG
- ..S SDWLOPT=0 K DIR
- ..;S DIR(0)="E" D ^DIR
- ..Q
- .Q
- Q
- ;
- ISEWL(DFN) ; Filter for seach of PATIENT file ; OG ; SD*5.3*446
- N SDWLOK,SDWLDA
- S SDWLOK=0
- Q:'$D(^SDWL(409.3,"B",DFN)) SDWLOK
- S SDWLDA=0
- F S SDWLDA=$O(^SDWL(409.3,"B",DFN,SDWLDA)) Q:'SDWLDA I $$ISEWL2(SDWLDA,DFN) S SDWLOK=1 Q
- Q SDWLOK
- ;
- ISEWL2(SDWLDA,DFN) ; If the EWL entry exists, is not closed, is a team or team position assignment and not already in transit.
- N TMP
- ;Q $$GET1^DIQ(409.3,SDWLDA,23,"I")'="C"&'$$GETTRN^SDWLIFT1(SDWLDA)&($$GET1^DIQ(409.3,SDWLDA,.01,"I")=DFN) old way of doing it.
- D GETS^DIQ(409.3,SDWLDA_",",".01;4;23","I","TMP")
- Q:$G(TMP(409.3,SDWLDA_",",.01,"I"))'=DFN 0
- Q TMP(409.3,SDWLDA_",",23,"I")'="C"&("^1^2^"[("^"_TMP(409.3,SDWLDA_",",4,"I")_"^"))&'$$GETTRN^SDWLIFT1(SDWLDA)
- ;
- MSG ;acknowledgement notification to destination
- N SDWLDA,SDWLDTM,DFN,TMP,SDWLTY,SDWLX,SDWLI,DIE,DA,DR,VAPA,WP
- N XMSUB,XMY,XMTEXT,XMDUZ,SDWLX,SDWLI
- S XMSUB="SDWL TRANSFER REQUEST"
- S XMY("S.SDWL-XFER-SERVER@"_SDWLDMN)=""
- S XMTEXT="SDWLX("
- S XMDUZ="POSTMASTER"
- D NOW^%DTC S SDWLDTM=%
- S SDWLDA=$$GET1^DIQ(409.35,SDWLIFTN,.01,"I")
- D GETS^DIQ(409.3,SDWLDA,".01;4;22","I","TMP")
- S DFN=TMP(409.3,SDWLDA_",",.01,"I")
- S SDWLTY=TMP(409.3,SDWLDA_",",4,"I")
- D DEM^VADPT,ADD^VADPT
- D GETS^DIQ(2,DFN,".301;.302;991.01","I","TMP")
- S SDWLX(0)=0
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".01"_U_"NAME"_U_VADM(1)
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".02"_U_"SEX"_U_$P(VADM(5),U)
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".03"_U_"DATE OF BIRTH"_U_$P(VADM(3),U)
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".09"_U_"SOCIAL SECURITY NUMBER"_U_$P(VADM(2),U)
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".1"_U_"REQUESTING STATION NUMBER"_U_$P($$SITE^VASITE(),U,3)
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".111"_U_"STREET ADDRESS [LINE 1]"_U_VAPA(1)
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".112"_U_"STREET ADDRESS [LINE 2]"_U_VAPA(2)
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".113"_U_"STREET ADDRESS [LINE 3]"_U_VAPA(3)
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".114"_U_"CITY"_U_VAPA(4)
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".115"_U_"STATE"_U_VAPA(5)
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".116"_U_"ZIP CODE"_U_VAPA(6)
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".117"_U_"COUNTY"_U_$P(VAPA(7),U)
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".1217"_U_"TEMPORARY ADDRESS START DATE"_U_$P(VAPA(9),U)
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".1218"_U_"TEMPORARY ADDRESS END DATE"_U_$P(VAPA(10),U)
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".131"_U_"PHONE NUMBER [RESIDENCE]"_U_VAPA(8)
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".301"_U_"SERVICE CONNECTED?"_U_TMP(2,DFN_",",.301,"I")
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".302"_U_"SERVICE CONNECTED PERCENTAGE"_U_TMP(2,DFN_",",.302,"I")
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".361"_U_"PRIMARY ELIGIBILITY CODE"_U_$$GET1^DIQ(2,DFN,.361)
- S X=$$GET1^DIQ(409.35,SDWLIFTN_",",5,"Z","WP")
- S SDWLI=0 F S SDWLI=$O(WP(SDWLI)) Q:'SDWLI S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".4"_U_"COMMENTS"_U_WP(SDWLI,0)
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=".5"_U_"SENDING FACILITY TRANSFER ID"_U_SDWLIFTN
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=2_U_"TRANSMISSION DATE/TIME"_U_SDWLDTM
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=4_U_"WAIT LIST TYPE"_U_SDWLTY
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=5_U_"WAIT LIST TYPE EXTENSION"_U_$$GET1^DIQ(409.3,SDWLDA,4+SDWLTY)
- ; SD*5.3*645 - replaced DESIRED DATE with CID/PREFERRED DATE
- ;S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=22_U_"DESIRED DATE OF APPOINTMENT"_U_TMP(409.3,SDWLDA_",",22,"I")
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=22_U_"CID/PREFERRED DATE OF APPOINTMENT"_U_TMP(409.3,SDWLDA_",",22,"I")
- S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))="991.01"_U_"INTEGRATION CONTROL NUMBER"_U_TMP(2,DFN_",",991.01,"I")
- D ^XMD
- ; Change status of transfer file to TRANSMITTED
- S DIE=409.35,DA=SDWLIFTN,DR="3///T" D ^DIE
- ; Update the EWL Disposition code
- S DIE=409.3,DA=SDWLDA,DR="21///TR" D ^DIE
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSDWLIFT3 8346 printed Mar 13, 2025@22:07:53 Page 2
- SDWLIFT3 ;IOFO BAY PINES/OG - INTER-FACILITY TRANSFER: NEW TRANSFER ;1/5/16 10:59am
- +1 ;;5.3;Scheduling;**415,446,645**;AUG 13 1993;Build 7
- +2 ;
- +3 ;
- +4 ;******************************************************************
- +5 ; CHANGE LOG
- +6 ;
- +7 ; DATE PATCH DESCRIPTION
- +8 ; ---- ----- -----------
- +9 ; 12/12/05 SD*5.3*446 Enhancements
- +10 ;
- +11 QUIT
- EN ; INITIALIZE VARIABLES
- +1 NEW DIR,DIC,DR,DIE,VADM,X,Y
- +2 DO FULL^VALM1
- +3 DO EN2()
- +4 DO INIT^SDWLIFT1(0)
- +5 ; VALMBCK required by List Manager
- +6 SET VALMBCK="R"
- +7 QUIT
- EN2(SDWLDA) ; Entry point if Wait List has been selected elsewhere.
- +1 ; SDWLOPT is the option to be queried.
- +2 ; 1: Patient & Wait List Entry
- +3 ; 2: Institution
- +4 ; 3: Comments
- +5 ; 4: Processing
- +6 ; 5: Confirmation
- +7 NEW SDWLOPT,SDWLOPT0
- +8 SET SDWLOPT=2
- +9 IF '$DATA(SDWLDA)
- SET SDWLDA=""
- SET SDWLOPT=1
- +10 SET SDWLOPT0=SDWLOPT
- +11 FOR
- Begin DoDot:1
- +12 NEW SDWLDFN,SDWLDMN,SDWLIFTN,SDWLINST,DIC,DIE,DIR,DA,DO,I,Y,%,DIWETXT
- +13 IF SDWLOPT=1
- Begin DoDot:2
- +14 NEW DFN,SDWLOK,SDWLOUT,SDWLC,SDWLI,SDWLNM,SDWLTMP
- +15 KILL Y,X
- +16 SET DIC=2
- SET DIC(0)="AEMZ"
- SET DIC("S")="I $$ISEWL^SDWLIFT3(+Y)"
- +17 DO ^DIC
- +18 IF Y=-1
- SET SDWLOPT=0
- QUIT
- +19 ; DFN used to uniquely identify the patient in the following look-up.
- SET DFN=+Y
- +20 DO LIST^DIC(409.3,,".01;2;4;5;6;7;8",,,,$PIECE(Y,U,2),,"I $$ISEWL2^SDWLIFT3(Y,DFN)",,"SDWLTMP")
- +21 FOR I=1:1:+SDWLTMP("DILIST",0)
- Begin DoDot:3
- +22 NEW TMP,SDWLSTA
- +23 SET TMP=""
- +24 IF SDWLTMP("DILIST","ID",I,2)'=""
- SET TMP=TMP_SDWLTMP("DILIST","ID",I,2)_" "
- +25 if SDWLTMP("DILIST","ID",I,4)'=""
- Begin DoDot:4
- +26 SET SDWLTMP("WLTY",I,0)=SDWLTMP("DILIST","ID",I,4)
- SET SDWLSTA=$$GET1^DIQ(409.3,SDWLTMP("DILIST",2,I),4,"I")
- +27 IF SDWLTMP("DILIST","ID",I,SDWLSTA+4)'=""
- SET SDWLTMP("WLTY",I,0)=SDWLTMP("WLTY",I,0)_" ("_SDWLTMP("DILIST","ID",I,SDWLSTA+4)_")"
- +28 SET TMP=TMP_SDWLTMP("WLTY",I,0)
- +29 QUIT
- End DoDot:4
- +30 SET $PIECE(DIR(0),";",I)=I_":"_TMP
- +31 QUIT
- End DoDot:3
- +32 ; If there is only one EWL entry, use that. The previous look-up will have ensured there is at least one.
- +33 ; If there are more than one, call ^DIR to select.
- +34 SET Y=1
- +35 IF +SDWLTMP("DILIST",0)>1
- SET DIR(0)="S^"_DIR(0)
- SET DIR("A")="Enter 1 - "_+SDWLTMP("DILIST",0)
- DO ^DIR
- if Y="^"
- QUIT
- +36 WRITE !?4,"Institution:",?20,SDWLTMP("DILIST","ID",Y,2)
- +37 WRITE !?4,"Wait List Type:",?20,$GET(SDWLTMP("WLTY",Y,0))
- +38 SET SDWLDA=SDWLTMP("DILIST",2,Y)
- +39 IF $DATA(^SDWL(409.36,"C",SDWLDA))
- SET SDWLOK=0
- Begin DoDot:3
- +40 NEW SDWLIFTN,SDWLSTN
- +41 SET SDWLIFTN=$ORDER(^SDWL(409.36,"C",SDWLDA,""))
- SET SDWLSTN=$$GET1^DIQ(409.36,SDWLIFTN,".1")
- +42 SET DIR(0)="E"
- SET DIR("A")="Press return to continue"
- +43 SET DIR("A",1)="This EWL Entry is the result of a transfer request from "_$$GET1^DIQ(4,SDWLSTN,".01")_" ("_SDWLSTN_")"
- +44 ;S DIR("A",2)="On acceptance at the destination facility, this EWL Entry will be removed."
- +45 SET DIR("A",2)="To transfer care, close the EWL Entry as ER - ENTERED IN ERROR and reject the"
- +46 SET DIR("A",3)="request. "_$$GET1^DIQ(4,SDWLSTN,".01")_" can then request the transfer."
- +47 DO ^DIR
- +48 SET SDWLOK=1
- +49 QUIT
- End DoDot:3
- IF SDWLOK
- SET SDWLOPT=0
- QUIT
- +50 SET SDWLOPT=2
- +51 QUIT
- End DoDot:2
- +52 if SDWLOPT=2
- Begin DoDot:2
- +53 NEW SDWLY
- +54 SET SDWLDFN=$$GET1^DIQ(409.3,SDWLDA,.01,"I")
- +55 SET DIC=4
- +56 SET DIC(0)="EMNQA"
- +57 SET DIC("A")="Select Institution to transfer to: "
- +58 SET DIC("S")="I $P(^DIC(4,+Y,0),U,11)=""N"",'+$P($G(^DIC(4,+Y,99)),U,4),$L($P($G(^DIC(4,+Y,99)),U))=3,$$GET1^DIQ(4,Y,13)=""VAMC"""
- +59 DO ^DIC
- +60 ; If the call was made to go straight to Institution, quit out if no institution is selected.
- IF Y=-1
- SET SDWLOPT=$SELECT(SDWLOPT0=2:0,1:1)
- QUIT
- +61 SET SDWLY=+Y
- SET SDWLDMN=$$GET1^DIQ(4,SDWLY,60)
- +62 IF SDWLDMN=""
- WRITE !,"This Institution does not have a Domain to which the request can be sent."
- QUIT
- +63 SET SDWLINST=SDWLY
- SET SDWLOPT=3
- +64 QUIT
- End DoDot:2
- +65 if SDWLOPT=3
- Begin DoDot:2
- +66 SET DIC="^TMP(""SDWLIFT"",$J,""COMMENT"""
- SET DIWETXT="Transfer comments"
- +67 WRITE !,DIWETXT
- +68 KILL @(DIC_")")
- SET DIC=DIC_","
- +69 DO EN^DIWE
- +70 SET SDWLOPT=4
- +71 QUIT
- End DoDot:2
- +72 if SDWLOPT=4
- Begin DoDot:2
- +73 NEW SDWLDTM
- +74 KILL DIC
- +75 SET DIR(0)="Y"
- SET DIR("A")="OK to send"
- SET DIR("B")="YES"
- DO ^DIR
- +76 IF 'Y
- SET SDWLOPT=0
- QUIT
- +77 SET DIC=409.35
- SET DIC(0)="Z"
- SET X=SDWLDA
- +78 DO FILE^DICN
- +79 SET SDWLIFTN=+Y
- +80 SET DA(1)=+Y
- SET DIC=DIC_DA(1)_",1,"
- SET SDWLI=0
- +81 FOR
- SET SDWLI=$ORDER(^TMP("SDWLIFT",$JOB,"COMMENT",SDWLI))
- if 'SDWLI
- QUIT
- SET X=^TMP("SDWLIFT",$JOB,"COMMENT",SDWLI,0)
- KILL DO
- DO FILE^DICN
- +82 DO NOW^%DTC
- SET SDWLDTM=%
- +83 SET DIE=409.35
- SET DR="1///"_$$GET1^DIQ(4,SDWLINST,99)_";2///"_SDWLDTM_";3///P;4///`"_DUZ
- +84 DO ^DIE
- +85 DO MSG
- +86 SET SDWLOPT=0
- KILL DIR
- +87 ;S DIR(0)="E" D ^DIR
- +88 QUIT
- End DoDot:2
- +89 QUIT
- End DoDot:1
- if 'SDWLOPT
- QUIT
- +90 QUIT
- +91 ;
- ISEWL(DFN) ; Filter for seach of PATIENT file ; OG ; SD*5.3*446
- +1 NEW SDWLOK,SDWLDA
- +2 SET SDWLOK=0
- +3 if '$DATA(^SDWL(409.3,"B",DFN))
- QUIT SDWLOK
- +4 SET SDWLDA=0
- +5 FOR
- SET SDWLDA=$ORDER(^SDWL(409.3,"B",DFN,SDWLDA))
- if 'SDWLDA
- QUIT
- IF $$ISEWL2(SDWLDA,DFN)
- SET SDWLOK=1
- QUIT
- +6 QUIT SDWLOK
- +7 ;
- ISEWL2(SDWLDA,DFN) ; If the EWL entry exists, is not closed, is a team or team position assignment and not already in transit.
- +1 NEW TMP
- +2 ;Q $$GET1^DIQ(409.3,SDWLDA,23,"I")'="C"&'$$GETTRN^SDWLIFT1(SDWLDA)&($$GET1^DIQ(409.3,SDWLDA,.01,"I")=DFN) old way of doing it.
- +3 DO GETS^DIQ(409.3,SDWLDA_",",".01;4;23","I","TMP")
- +4 if $GET(TMP(409.3,SDWLDA_",",.01,"I"))'=DFN
- QUIT 0
- +5 QUIT TMP(409.3,SDWLDA_",",23,"I")'="C"&("^1^2^"[("^"_TMP(409.3,SDWLDA_",",4,"I")_"^"))&'$$GETTRN^SDWLIFT1(SDWLDA)
- +6 ;
- MSG ;acknowledgement notification to destination
- +1 NEW SDWLDA,SDWLDTM,DFN,TMP,SDWLTY,SDWLX,SDWLI,DIE,DA,DR,VAPA,WP
- +2 NEW XMSUB,XMY,XMTEXT,XMDUZ,SDWLX,SDWLI
- +3 SET XMSUB="SDWL TRANSFER REQUEST"
- +4 SET XMY("S.SDWL-XFER-SERVER@"_SDWLDMN)=""
- +5 SET XMTEXT="SDWLX("
- +6 SET XMDUZ="POSTMASTER"
- +7 DO NOW^%DTC
- SET SDWLDTM=%
- +8 SET SDWLDA=$$GET1^DIQ(409.35,SDWLIFTN,.01,"I")
- +9 DO GETS^DIQ(409.3,SDWLDA,".01;4;22","I","TMP")
- +10 SET DFN=TMP(409.3,SDWLDA_",",.01,"I")
- +11 SET SDWLTY=TMP(409.3,SDWLDA_",",4,"I")
- +12 DO DEM^VADPT
- DO ADD^VADPT
- +13 DO GETS^DIQ(2,DFN,".301;.302;991.01","I","TMP")
- +14 SET SDWLX(0)=0
- +15 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".01"_U_"NAME"_U_VADM(1)
- +16 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".02"_U_"SEX"_U_$PIECE(VADM(5),U)
- +17 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".03"_U_"DATE OF BIRTH"_U_$PIECE(VADM(3),U)
- +18 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".09"_U_"SOCIAL SECURITY NUMBER"_U_$PIECE(VADM(2),U)
- +19 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".1"_U_"REQUESTING STATION NUMBER"_U_$PIECE($$SITE^VASITE(),U,3)
- +20 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".111"_U_"STREET ADDRESS [LINE 1]"_U_VAPA(1)
- +21 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".112"_U_"STREET ADDRESS [LINE 2]"_U_VAPA(2)
- +22 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".113"_U_"STREET ADDRESS [LINE 3]"_U_VAPA(3)
- +23 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".114"_U_"CITY"_U_VAPA(4)
- +24 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".115"_U_"STATE"_U_VAPA(5)
- +25 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".116"_U_"ZIP CODE"_U_VAPA(6)
- +26 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".117"_U_"COUNTY"_U_$PIECE(VAPA(7),U)
- +27 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".1217"_U_"TEMPORARY ADDRESS START DATE"_U_$PIECE(VAPA(9),U)
- +28 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".1218"_U_"TEMPORARY ADDRESS END DATE"_U_$PIECE(VAPA(10),U)
- +29 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".131"_U_"PHONE NUMBER [RESIDENCE]"_U_VAPA(8)
- +30 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".301"_U_"SERVICE CONNECTED?"_U_TMP(2,DFN_",",.301,"I")
- +31 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".302"_U_"SERVICE CONNECTED PERCENTAGE"_U_TMP(2,DFN_",",.302,"I")
- +32 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".361"_U_"PRIMARY ELIGIBILITY CODE"_U_$$GET1^DIQ(2,DFN,.361)
- +33 SET X=$$GET1^DIQ(409.35,SDWLIFTN_",",5,"Z","WP")
- +34 SET SDWLI=0
- FOR
- SET SDWLI=$ORDER(WP(SDWLI))
- if 'SDWLI
- QUIT
- SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".4"_U_"COMMENTS"_U_WP(SDWLI,0)
- +35 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=".5"_U_"SENDING FACILITY TRANSFER ID"_U_SDWLIFTN
- +36 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=2_U_"TRANSMISSION DATE/TIME"_U_SDWLDTM
- +37 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=4_U_"WAIT LIST TYPE"_U_SDWLTY
- +38 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=5_U_"WAIT LIST TYPE EXTENSION"_U_$$GET1^DIQ(409.3,SDWLDA,4+SDWLTY)
- +39 ; SD*5.3*645 - replaced DESIRED DATE with CID/PREFERRED DATE
- +40 ;S SDWLX(0)=SDWLX(0)+1,SDWLX(SDWLX(0))=22_U_"DESIRED DATE OF APPOINTMENT"_U_TMP(409.3,SDWLDA_",",22,"I")
- +41 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))=22_U_"CID/PREFERRED DATE OF APPOINTMENT"_U_TMP(409.3,SDWLDA_",",22,"I")
- +42 SET SDWLX(0)=SDWLX(0)+1
- SET SDWLX(SDWLX(0))="991.01"_U_"INTEGRATION CONTROL NUMBER"_U_TMP(2,DFN_",",991.01,"I")
- +43 DO ^XMD
- +44 ; Change status of transfer file to TRANSMITTED
- +45 SET DIE=409.35
- SET DA=SDWLIFTN
- SET DR="3///T"
- DO ^DIE
- +46 ; Update the EWL Disposition code
- +47 SET DIE=409.3
- SET DA=SDWLDA
- SET DR="21///TR"
- DO ^DIE
- +48 QUIT