[613] | 1 | DVBADXFR ;ALB/GTS-AMIE 7131 DIVISIONAL TRANSFER RTN ; 12/6/94 2:00 PM
|
---|
| 2 | ;;2.7;AMIE;;Apr 10, 1995
|
---|
| 3 | ;
|
---|
| 4 | MAIN ;**Loop to select and update 7131 report divisions
|
---|
| 5 | F DO I $D(DTOUT)!($D(DUOUT)!($D(DVBAOUT))) Q ;**QUIT top 'For' loop
|
---|
| 6 | .D HOME^%ZIS
|
---|
| 7 | .W @IOF
|
---|
| 8 | .W !!,?5,"7131 Divisional Transfer",!!
|
---|
| 9 | .S REQDA=$$SEL7131^DVBAUTL7()
|
---|
| 10 | .S:+REQDA'>0 DVBAOUT=""
|
---|
| 11 | .I +REQDA>0 DO
|
---|
| 12 | ..D INITIAL,REQVARS
|
---|
| 13 | ..D INITRPT^DVBAUTL7(REQDA)
|
---|
| 14 | ..K DTOUT,DUOUT,DVBAOUT
|
---|
| 15 | ..F DO I $D(DTOUT)!($D(DUOUT)!($D(DVBAOUT))) Q ;**QUIT 'For' loop
|
---|
| 16 | ...K NODIV
|
---|
| 17 | ...D DRAW
|
---|
| 18 | ...D READ I $D(DTOUT)!($D(DUOUT)!($D(DVBAOUT))) Q ;**QUIT 'For' loop
|
---|
| 19 | ...D DIVSEL I $D(DTOUT)!($D(DUOUT)!($D(DVBAOUT))) Q ;**QUIT 'For' loop
|
---|
| 20 | ...D:'$D(NODIV) ADJ
|
---|
| 21 | ..I '$D(DTOUT)&('$D(DUOUT)) D FILE^DVBAUTL7
|
---|
| 22 | ..D EXITLP
|
---|
| 23 | K DVBAOUT,REQDA,DA,DIE,DIR,DR,DTOUT,DUOUT
|
---|
| 24 | W @IOF
|
---|
| 25 | Q
|
---|
| 26 | ;
|
---|
| 27 | EXITLP K A,DA,DIE,DIR,DR,DTOUT,DUOUT,DVBADSCH,DVBAER,DVBAHD21,DVBALN,DVBAOUT
|
---|
| 28 | K FLDDIV,FLDDTE,REQDIV,DVBARPT,DVBATDT,DVBATITL,DVBAX,X,Z,DVBAP,DVBAO
|
---|
| 29 | K REQDTE,DVBARPT,REQDA,DVBCSSNO,SSN,HNAME,PNAM,DVBREQDT,DFN,RPTVAR
|
---|
| 30 | K NDIVIEN,NDIVNAME,CNUM,NODIV
|
---|
| 31 | Q
|
---|
| 32 | ;
|
---|
| 33 | INITIAL ;**initialize general variables
|
---|
| 34 | S $P(DVBALN,"-",80)=""
|
---|
| 35 | S DVBATITL="7131 Divisional Transfer"
|
---|
| 36 | S X="NOW",%DT="ST"
|
---|
| 37 | D ^%DT
|
---|
| 38 | X ^DD("DD")
|
---|
| 39 | S DVBATDT=Y
|
---|
| 40 | S HNAME=$$SITE^DVBCUTL4()
|
---|
| 41 | K X,Y,%DT
|
---|
| 42 | Q
|
---|
| 43 | ;
|
---|
| 44 | REQVARS ;**Set variables unique to 7131
|
---|
| 45 | S DVBREQDT=$P(^DVB(396,REQDA,0),U,4)
|
---|
| 46 | I $P(^DVB(396,REQDA,2),U,10)="L" D ACT
|
---|
| 47 | I $P(^DVB(396,REQDA,2),U,10)="A" D ADM
|
---|
| 48 | S DFN=$P(^DVB(396,REQDA,0),U,1)
|
---|
| 49 | S PNAM=$P(^DPT(DFN,0),U,1),SSN=$P(^DPT(+DFN,0),U,9)
|
---|
| 50 | S CNUM=$S($D(^DPT(+DFN,.31)):$P(^(.31),U,3),1:"Unknown")
|
---|
| 51 | D SSNOUT^DVBCUTIL
|
---|
| 52 | S SSN=DVBCSSNO
|
---|
| 53 | Q
|
---|
| 54 | ;
|
---|
| 55 | ADM ;**Set up admission date and discharge variables
|
---|
| 56 | S Y=DVBREQDT
|
---|
| 57 | D DD^%DT
|
---|
| 58 | S DVBAHD21="Admission Date: "_Y
|
---|
| 59 | K Y
|
---|
| 60 | Q
|
---|
| 61 | ;
|
---|
| 62 | ACT ;**Set up activity date variable
|
---|
| 63 | S Y=DVBREQDT
|
---|
| 64 | D DD^%DT
|
---|
| 65 | S DVBAHD21="Activity Date: "_Y
|
---|
| 66 | K Y
|
---|
| 67 | Q
|
---|
| 68 | ;
|
---|
| 69 | DRAW ;** Output Division screen
|
---|
| 70 | I IOST?1"C-".E W @IOF
|
---|
| 71 | W "Information Request Form"
|
---|
| 72 | W ?35,HNAME
|
---|
| 73 | W ?59,DVBATDT
|
---|
| 74 | W !,DVBALN
|
---|
| 75 | W !,"Patient: "
|
---|
| 76 | W PNAM
|
---|
| 77 | W ?54,"SSN: "
|
---|
| 78 | W SSN
|
---|
| 79 | W !,"Claim #: ",CNUM,!
|
---|
| 80 | W DVBAHD21
|
---|
| 81 | W !!,?9,"Report",?37,"Selected",?48,"Status",?58,"Division"
|
---|
| 82 | W !,DVBALN
|
---|
| 83 | F DVBAX=0:0 S DVBAX=$O(DVBARPT(DVBAX)) Q:'DVBAX D DRAW1
|
---|
| 84 | W !,DVBALN
|
---|
| 85 | Q
|
---|
| 86 | ;
|
---|
| 87 | DRAW1 ;** Output a report to the screen
|
---|
| 88 | W !,DVBAX
|
---|
| 89 | W ?3,$P(DVBARPT(DVBAX),U,1)
|
---|
| 90 | W ?40,$S($P(DVBARPT(DVBAX),U,2)["Y":"YES",1:"NO")
|
---|
| 91 | W ?48,$S($P(DVBARPT(DVBAX),U,3)="C":"Completed",$P(DVBARPT(DVBAX),U,3)="P":"Pending",1:"")
|
---|
| 92 | W ?58,$E($P(DVBARPT(DVBAX),U,4),1,20)
|
---|
| 93 | Q
|
---|
| 94 | ;
|
---|
| 95 | READ ;** Read selected report
|
---|
| 96 | S DIR(0)="LAO^1:11^K:X[""."" X"
|
---|
| 97 | S DIR("A")="Select Report(s) to Transfer: "
|
---|
| 98 | S DIR("?",1)="Select a number or range of numbers from 1 to 10 (1,3,5 or 2-4,8). You will"
|
---|
| 99 | S DIR("?",2)="then be asked to select a division to transfer the report(s) to. After a"
|
---|
| 100 | S DIR("?")="division is selected, the new division will display next to the report(s)."
|
---|
| 101 | D ^DIR
|
---|
| 102 | I $D(DUOUT)!($D(DTOUT)) Q
|
---|
| 103 | I 'Y S DVBAOUT="" ;**User hit Return at report prompt
|
---|
| 104 | S:$D(Y) RPTVAR=Y
|
---|
| 105 | Q
|
---|
| 106 | ;
|
---|
| 107 | DIVSEL ;** Select a division to transfer to (Division must be in AMIE Site
|
---|
| 108 | ;** Parameter File)
|
---|
| 109 | N PARAMDA
|
---|
| 110 | S PARAMDA=$$IFNPAR^DVBAUTL3()
|
---|
| 111 | D:PARAMDA'>0 PARAMERR
|
---|
| 112 | I PARAMDA>0 DO
|
---|
| 113 | .S DIC(0)="AEMQ"
|
---|
| 114 | .S DIC("A")="Select a Division to Transfer to: "
|
---|
| 115 | .S DIC="^DVB(396.1,PARAMDA,2,"
|
---|
| 116 | .D ^DIC
|
---|
| 117 | .S:+Y>0 NDIVIEN=$P(^DVB(396.1,PARAMDA,2,+Y,0),U,1)
|
---|
| 118 | .S:+Y>0 NDIVNAME=$P(^DG(40.8,NDIVIEN,0),U,1)
|
---|
| 119 | .S:+Y'>0 NODIV=""
|
---|
| 120 | .K DIC,Y
|
---|
| 121 | Q
|
---|
| 122 | ;
|
---|
| 123 | PARAMERR ;** Error if the AMIE Site Parameter file has a problem
|
---|
| 124 | W *7,!,"The AMIE Site Parameter File is not set up properly."
|
---|
| 125 | W !,"Contact the Medical Center's IRM department."
|
---|
| 126 | W !,?30,"<Return> to continue."
|
---|
| 127 | R Z:DTIME
|
---|
| 128 | S DVBAOUT=""
|
---|
| 129 | Q
|
---|
| 130 | ;
|
---|
| 131 | ADJ ;** Adjust local array DVBARPT(#)
|
---|
| 132 | K DVBAER
|
---|
| 133 | N X,A
|
---|
| 134 | F X=1:1:11 S A=$P(RPTVAR,",",X) Q:'A D CHECK
|
---|
| 135 | D:'$D(DVBAER) CHNG
|
---|
| 136 | K Y
|
---|
| 137 | Q
|
---|
| 138 | ;
|
---|
| 139 | CHECK ;** Check for X-fer of report with status '= Pending
|
---|
| 140 | I $P(DVBARPT(A),U,3)'="P" DO:'$D(DVBAER) S DVBAER=1 Q
|
---|
| 141 | .W *7,!,"You have selected a report with a status other than Pending."
|
---|
| 142 | .W !,"All reports selected for transfer must be Pending."
|
---|
| 143 | .W !,?30,"<Return> to continue."
|
---|
| 144 | .R Z:DTIME
|
---|
| 145 | .Q
|
---|
| 146 | Q
|
---|
| 147 | ;
|
---|
| 148 | CHNG ;** Update local array DVBARPT(#)
|
---|
| 149 | F X=1:1:11 S A=$P(RPTVAR,",",X) Q:'A DO
|
---|
| 150 | .I $P(DVBARPT(A),U,3)="P" DO
|
---|
| 151 | ..S $P(DVBARPT(A),U,4)=NDIVNAME
|
---|
| 152 | ..S $P(DVBARPT(A),U,5)=NDIVIEN
|
---|
| 153 | Q
|
---|