1 | SPNLS1 ;ISCSF/RAH - Continuation Parts from SPNLS ;9/27/95 11:00
|
---|
2 | ;;2.0;Spinal Cord Dysfunction;;01/02/1997
|
---|
3 | FINLUPD ;
|
---|
4 | S (SPNLPID,SPNLPID(0))=0,SPNLCT=0
|
---|
5 | F S SPNLPID=$O(^TMP("SPNLS",$J,SPNLPID)) Q:SPNLPID'>0 D
|
---|
6 | .S SPNLPTX=^TMP("SPNLS",$J,SPNLPID)
|
---|
7 | .S SPNLFDT=$P(SPNLPTX,U,2)
|
---|
8 | .S SPNLTDT=$P(SPNLPTX,U,3),SPNLCT=SPNLCT+1
|
---|
9 | .S DIE="^SPNL(154.9,",DR="1////^S X=SPNLFDT;2////^S X=SPNLTDT"
|
---|
10 | .S DA=SPNLPID D ^DIE K DIE
|
---|
11 | .S SPNLPID(0)=SPNLPID
|
---|
12 | K %,X D NOW^%DTC S SPNLT=%,$P(SPNLNODE,U,8,9)=SPNLT_"^"_SPNLCT K %,X
|
---|
13 | S $P(SPNLNODE,U,8,9)=SPNLSDT_U_SPNLCT
|
---|
14 | S DIE="^SPNL(154.93,",DA=SPNLTMP
|
---|
15 | S DR="2///^S X=SPNLT;4///^S X=SPNLCT;5///^S X=SPNLTYPE;6///^S X=SPNXRECS;7///^S X=SPNXRUN;9////^S X=SPNLPID(0)"
|
---|
16 | D ^DIE K DIE
|
---|
17 | I SPNLFULL D
|
---|
18 | .S $P(SPNLNODE,U,5)=SPNLT
|
---|
19 | .S DIE="^SPNL(154.93,",DA=SPNLTMP S DR="9////0" D ^DIE K Y,X,DIE,DR
|
---|
20 | .S SPNLHST=^SPNL(154.93,SPNLTMP,0)
|
---|
21 | .F SPNLX=1:1:10 S SPNL(SPNLX)=$P(SPNLHST,U,SPNLX)
|
---|
22 | .S $P(SPNLHST,U,1)=$P(SPNLHST,U,1)+1,SPNLHIEN=$P(SPNLHST,U,1)
|
---|
23 | .K DD,DIC,DINUM,DO S DIC(0)="LMN",DIC="^SPNL(154.94,",X=SPNLTMP,DINUM=SPNLTMP,DLAYGO=154.94 D FILE^DICN K DIC,Y,X
|
---|
24 | .S SPNLDR="" F SPNLX=1:1:9 S SPNLDR=SPNLDR_SPNL(SPNLX)_"^"
|
---|
25 | .S SPNLDR=$E(SPNLDR,1,$L(SPNLDR)-1) S ^SPNL(154.94,SPNLTMP,0)=SPNLDR
|
---|
26 | .K DD,DIC,DINUM,DO S DIC(0)="LMN",DIC="^SPNL(154.93,",X=SPNLHIEN,DINUM=SPNLHIEN,DLAYGO=154.93 D FILE^DICN K DIC
|
---|
27 | .S $P(SPNLHST,U,2)=SPNLT,$P(SPNLHST,U,3)="" S ^SPNL(154.93,SPNLHIEN,0)=SPNLHST
|
---|
28 | .S DA=SPNLTMP,DIK="^SPNL(154.93," D ^DIK K DIK,DA
|
---|
29 | D FINISHUP^SPNLGE(SPNLNODE)
|
---|
30 | ; fall thru
|
---|
31 | RESCHED ;
|
---|
32 | Q S SPNLRRUN=$E($P(SPNLSTRT,".",2),1,4)
|
---|
33 | S SPNLTIME=$S($E(SPNLFREQ,$L(SPNLFREQ))="W":SPNLFREQ*7,$E(SPNLFREQ,$L(SPNLFREQ))="D":SPNLFREQ,1:1)
|
---|
34 | S SPNLYRS=$E(SPNLSDT,1,3),SPNLMOS=+$E(SPNLSDT,4,5),SPNLDYS=$E(SPNLSDT,6,7),SPNLDYS=SPNLTIME+SPNLDYS
|
---|
35 | I SPNLDYS>30 D
|
---|
36 | .F S SPNLDYS=SPNLDYS-30,SPNLMOS=SPNLMOS+1 Q:SPNLDYS'>30
|
---|
37 | .I SPNLMOS#12=2&(SPNLDYS>28) S SPNLDYS=28
|
---|
38 | I SPNLMOS>12 D
|
---|
39 | .F S SPNLMOS=SPNLMOS-12,SPNLYRS=SPNLYRS+1 Q:SPNLMOS'>12
|
---|
40 | S:SPNLMOS<10 SPNLMOS="0"_SPNLMOS S:SPNLDYS<10 SPNLDYS="0"_SPNLDYS
|
---|
41 | S ZTDTH=SPNLYRS_SPNLMOS_SPNLDYS_"."_SPNLRRUN,ZTIO=""
|
---|
42 | S ZTRTN="SPNLS",ZTDESC="SCD SPINAL CORD REGISTRY EXTRACT"
|
---|
43 | D ^%ZTLOAD
|
---|
44 | I '$D(ZTSK) S SPNLERR="6 COULD NOT (RE)TASK SCD EXTRACT" D ERRMSG^SPNLS
|
---|
45 | K SPNLDYS
|
---|
46 | Q
|
---|