| [613] | 1 | DVBCUTL8 ;ALB/GTS-AMIE C&P APPT LINK FILE MNT RTNS 2 ; 10/20/94  3:30 PM
 | 
|---|
 | 2 |  ;;2.7;AMIE;;Apr 10, 1995
 | 
|---|
 | 3 |  ;
 | 
|---|
 | 4 |  ;** NOTICE: This routine is part of an implementation of a Nationally
 | 
|---|
 | 5 |  ;**         Controlled Procedure.  Local modifications to this routine
 | 
|---|
 | 6 |  ;**         are prohibited per VHA Directive 10-93-142
 | 
|---|
 | 7 |  ;
 | 
|---|
 | 8 |  ;** Version Changes
 | 
|---|
 | 9 |  ;   2.7 - New routine (Enhc 13)
 | 
|---|
 | 10 |  ;
 | 
|---|
 | 11 | FIXLK ;** Re-attach unlinked appt to new appt
 | 
|---|
 | 12 |  ;
 | 
|---|
 | 13 |  ;** ^TMP("DVBC",$J,) must have nodes:
 | 
|---|
 | 14 |  ;**    ORIGINAL APPT DATE, CURRENT APPT DATE, VETERAN CANCELLATION,
 | 
|---|
 | 15 |  ;**    VETERAN REQ APPT DATE, APPOINTMENT STATUS = appt to be linked
 | 
|---|
 | 16 |  ;
 | 
|---|
 | 17 |  N REQDT,SAVY
 | 
|---|
 | 18 |  S:$D(Y) SAVY=Y
 | 
|---|
 | 19 |  S REQDT=$$GETDTE^DVBCMKLK(DVBADA) ;**Set REQDT
 | 
|---|
 | 20 |  S:$D(SAVY) Y=SAVY
 | 
|---|
 | 21 |  S DIR("A",1)="Adjusting C&P appointment link for 2507 request dated "_REQDT_"."
 | 
|---|
 | 22 |  S DIR("A",2)=" "
 | 
|---|
 | 23 |  S DIR(0)="FAO^1:1",DIR("A")="Hit Return to continue." D ^DIR K DIR,X,Y
 | 
|---|
 | 24 |  N ORIGAPPT,CURRAPPT,VETCANC,APPTSTAT,APPTNODE,VETDTE,INITAPPT
 | 
|---|
 | 25 |  S VETDTE=""
 | 
|---|
 | 26 |  S ORIGAPPT=^TMP("DVBC",$J,"ORIGINAL APPT DATE")
 | 
|---|
 | 27 |  S CURRAPPT=^TMP("DVBC",$J,"CURRENT APPT DATE")
 | 
|---|
 | 28 |  S VETCANC=^TMP("DVBC",$J,"VETERAN CANCELLATION")
 | 
|---|
 | 29 |  S:$D(^TMP("DVBC",$J,"VETERAN REQ APPT DATE")) VETDTE=^TMP("DVBC",$J,"VETERAN REQ APPT DATE")
 | 
|---|
 | 30 |  S APPTSTAT=^TMP("DVBC",$J,"APPOINTMENT STATUS")
 | 
|---|
 | 31 |  K DA,DIE,DR
 | 
|---|
 | 32 |  ;
 | 
|---|
 | 33 |  ;** Only one current appt date/time for vet can exist in 396.95
 | 
|---|
 | 34 |  S DA="" S DA=DVBAOLDA
 | 
|---|
 | 35 |  S APPTNODE=^DVB(396.95,DA,0) ;**APPTNODE 396.95 rec before mods
 | 
|---|
 | 36 |  S DIE="^DVB(396.95,",DR=""
 | 
|---|
 | 37 |  ;
 | 
|---|
 | 38 |  ;** If 396.95 initial appt lost, set to original appt
 | 
|---|
 | 39 |  I $P(APPTNODE,U,1)="",($P(APPTNODE,U,2)'="") S INITAPPT=$P(APPTNODE,U,2)
 | 
|---|
 | 40 |  I $P(APPTNODE,U,1)="" S DR=".01////^S X=INITAPPT;"
 | 
|---|
 | 41 |  I $P(APPTNODE,U,4)'=1 S DR=DR_".02////^S X=ORIGAPPT;"
 | 
|---|
 | 42 |  S DR=DR_".03////^S X=CURRAPPT;"
 | 
|---|
 | 43 |  I $P(APPTNODE,U,4)'=1 S DR=DR_".04////^S X=VETCANC;"
 | 
|---|
 | 44 |  I VETCANC=1 S DR=DR_".05////^S X=VETDTE;" ;**Update last vet req date
 | 
|---|
 | 45 |  S DR=DR_".07////^S X=APPTSTAT"
 | 
|---|
 | 46 |  D ^DIE K DIE,DA,DR
 | 
|---|
 | 47 |  Q
 | 
|---|
 | 48 |  ;
 | 
|---|
 | 49 | ADDLK ;** Add link from 2507 to appt
 | 
|---|
 | 50 |  ;
 | 
|---|
 | 51 |  ;** ^TMP("DVBC",$J,) nodes:
 | 
|---|
 | 52 |  ;**    ORIGINAL APPT DATE, CURRENT APPT DATE, VETERAN CANCELLATION,
 | 
|---|
 | 53 |  ;**    VETERAN REQ APPT DATE, APPOINTMENT STATUS = appt to be linked
 | 
|---|
 | 54 |  ;
 | 
|---|
 | 55 |  N REQDT,SAVY
 | 
|---|
 | 56 |  S:$D(Y) SAVY=Y
 | 
|---|
 | 57 |  S REQDT=$$GETDTE^DVBCMKLK(DVBADA) ;**Set REQDT
 | 
|---|
 | 58 |  S:$D(SAVY) Y=SAVY
 | 
|---|
 | 59 |  S DIR("A",1)="Adding new C&P appointment link for 2507 request dated "_REQDT_"."
 | 
|---|
 | 60 |  S DIR("A",2)=" "
 | 
|---|
 | 61 |  S DIR(0)="FAO^1:1",DIR("A")="Hit Return to continue." D ^DIR K DIR,X,Y
 | 
|---|
 | 62 |  N ORIGAPPT,CURRAPPT,VETCANC,APPTSTAT,APPTNODE,VETDTE
 | 
|---|
 | 63 |  S VETDTE=""
 | 
|---|
 | 64 |  S ORIGAPPT=^TMP("DVBC",$J,"ORIGINAL APPT DATE")
 | 
|---|
 | 65 |  S CURRAPPT=^TMP("DVBC",$J,"CURRENT APPT DATE")
 | 
|---|
 | 66 |  S VETCANC=^TMP("DVBC",$J,"VETERAN CANCELLATION")
 | 
|---|
 | 67 |  S:$D(^TMP("DVBC",$J,"VETERAN REQ APPT DATE")) VETDTE=^TMP("DVBC",$J,"VETERAN REQ APPT DATE")
 | 
|---|
 | 68 |  S APPTSTAT=^TMP("DVBC",$J,"APPOINTMENT STATUS")
 | 
|---|
 | 69 |  K DA,DIC,X,DD,DO
 | 
|---|
 | 70 |  S X=^TMP("DVBC",$J,"INITIAL APPT DATE")
 | 
|---|
 | 71 |  S DIC="^DVB(396.95,",DIC(0)="L",DIC("DR")=""
 | 
|---|
 | 72 |  S DIC("DR")=DIC("DR")_".02////^S X=ORIGAPPT;.03////^S X=CURRAPPT;"
 | 
|---|
 | 73 |  S DIC("DR")=DIC("DR")_".04////^S X=VETCANC;.05////^S X=VETDTE;"
 | 
|---|
 | 74 |  S DIC("DR")=DIC("DR")_".06////^S X=DVBADA;.07////^S X=APPTSTAT"
 | 
|---|
 | 75 |  D FILE^DICN
 | 
|---|
 | 76 |  I +Y'>0 DO
 | 
|---|
 | 77 |  .S DIR("A",1)="The C&P appointment link was not properly added.  Please investigate the"
 | 
|---|
 | 78 |  .S DIR("A",2)="appointment scheduled for "_ORIGAPPT_" for "_$P(^DPT(DVBADFN,0),U,1)
 | 
|---|
 | 79 |  .S DIR("A",3)=" "
 | 
|---|
 | 80 |  .S DIR(0)="FAO^1:1",DIR("A")="Hit Return to continue." D ^DIR K DIR,X,Y
 | 
|---|
 | 81 |  K DIC,DA,X,Y
 | 
|---|
 | 82 |  Q
 | 
|---|
 | 83 |  ;
 | 
|---|
 | 84 | STYLE(REQDA) ;** Return indication of 2507 status matching integ report type
 | 
|---|
 | 85 |  N STATIND,REQSTAT,STYLEIND,PARAMDA
 | 
|---|
 | 86 |  S STATIND=0 ;**Leave set to zero if STYLEIND=4
 | 
|---|
 | 87 |  S REQSTAT=$P(^DVB(396.3,REQDA,0),U,18)
 | 
|---|
 | 88 |  S PARAMDA=0
 | 
|---|
 | 89 |  S PARAMDA=$O(^DVB(396.1,PARAMDA))
 | 
|---|
 | 90 |  S STYLEIND=$P(^DVB(396.1,PARAMDA,0),U,15)
 | 
|---|
 | 91 |  I STYLEIND="1" S:"P^S"[REQSTAT STATIND=1
 | 
|---|
 | 92 |  I STYLEIND="2" S:"R^C"[REQSTAT STATIND=1
 | 
|---|
 | 93 |  I STYLEIND="3" S STATIND=1
 | 
|---|
 | 94 |  Q +STATIND
 | 
|---|
 | 95 |  ;
 | 
|---|
 | 96 | SELLNK(REQDA) ;** Return IEN from 396.95 for link to modify
 | 
|---|
 | 97 |  N SELDA
 | 
|---|
 | 98 |  D LNKARY^DVBCUTA3(REQDA,DVBADFN) ;**Set up link array
 | 
|---|
 | 99 |  I '$D(TMP("DVBC LINK")) DO
 | 
|---|
 | 100 |  .S SELDA=0,DVBANOLK=""
 | 
|---|
 | 101 |  .D NOLNK^DVBCLKT2
 | 
|---|
 | 102 |  I $D(TMP("DVBC LINK")) DO
 | 
|---|
 | 103 |  .I '$D(DVBAAPT) DO
 | 
|---|
 | 104 |  ..S Y=$P(SDATA,U,3)
 | 
|---|
 | 105 |  ..X ^DD("DD")
 | 
|---|
 | 106 |  ..S DVBAAPT=Y
 | 
|---|
 | 107 |  ..S DVBAAPST=""
 | 
|---|
 | 108 |  .D LINKDISP^DVBCUTA1
 | 
|---|
 | 109 |  .I $D(DVBAAPST) K DVBAAPT,DVBAAPST
 | 
|---|
 | 110 |  K Y
 | 
|---|
 | 111 |  Q +SELDA
 | 
|---|