| 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
 | 
|---|