| 1 | SPNUTL1 ;HISC/DAD-REGISTRY/FIM DELETE ;11/7/95  12:10
 | 
|---|
| 2 |  ;;2.0;Spinal Cord Dysfunction;**14,15,20**;01/02/1997
 | 
|---|
| 3 | EN1 ; *** Delete SCD Registry records
 | 
|---|
| 4 |  S SPNDIC="^SPNL(154,",SPNFILE=154
 | 
|---|
| 5 |  S SPNDIC("W")="W ?36,$$SSN^SPNUTL1(+Y)"
 | 
|---|
| 6 |  S SPNNAME="Registry"
 | 
|---|
| 7 |  D DELETE
 | 
|---|
| 8 |  K SPNEXIT,DA,DR,SPNNAM,DIC,DIR,^TMP($J)
 | 
|---|
| 9 |  Q
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 | EN2 ; *** Delete FIM records
 | 
|---|
| 12 |  S SPNDIC="^SPNL(154.1,",SPNFILE=154.1
 | 
|---|
| 13 |  S SPNDIC("W")="W:$X>36 ! W ?36,$$SSN^SPNUTL1(+Y),?48,$E($$FIMTYPE^SPNUTL1(+Y),1,18),?68,$$FIMDATE^SPNUTL1(+Y)"
 | 
|---|
| 14 |  S SPNNAME="Outcomes"
 | 
|---|
| 15 |  D DELETE
 | 
|---|
| 16 |  K DIC
 | 
|---|
| 17 |  Q
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 | DELETE ; *** Delete a record
 | 
|---|
| 20 |  S (SPNEXIT,SPNCOUNT)=0
 | 
|---|
| 21 |  K ^TMP($J,"SPNUTL1")
 | 
|---|
| 22 |  F  D  Q:SPNEXIT
 | 
|---|
| 23 |  . K DIC S DIC=SPNDIC,DIC(0)="AEMQZ"
 | 
|---|
| 24 |  . S DIC("A")="Select "_SPNNAME_" Record to Delete: "
 | 
|---|
| 25 |  . S DIC("W")=SPNDIC("W")
 | 
|---|
| 26 |  . W ! D ^DIC S SPND0=+Y,SPNDFN=+$P($G(Y(0)),U)
 | 
|---|
| 27 |  . I SPND0'>0 S SPNEXIT=1 Q
 | 
|---|
| 28 |  . I SPNFILE="154" I $D(^SPNL(154.1,"B",SPNDFN)) D REMOUT Q
 | 
|---|
| 29 |  . K DIR S DIR(0)="YOA",DIR("B")="No"
 | 
|---|
| 30 |  . S DIR("A")="OK to delete this record: "
 | 
|---|
| 31 |  . S DIR("?",1)="Enter Y(es) to delete this record."
 | 
|---|
| 32 |  . S DIR("?",2)="Enter N(o) to leave this record as is."
 | 
|---|
| 33 |  . S DIR("?",3)="Enter ^ to exit this option."
 | 
|---|
| 34 |  . S DIR("?")="Enter Y(es), N(o), or ^."
 | 
|---|
| 35 |  . W ! D ^DIR S SPNLDEL=Y
 | 
|---|
| 36 |  . I $D(DTOUT)!$D(DUOUT)!$D(DIROUT) S SPNEXIT=1 Q
 | 
|---|
| 37 |  . I SPNLDEL'>0 Q
 | 
|---|
| 38 |  . S SPNCOUNT=SPNCOUNT+1
 | 
|---|
| 39 |  . S X=$E($P($G(^DPT(SPNDFN,0)),U,1),1)_$E($P($G(^DPT(SPNDFN,0)),U,9),6,9)
 | 
|---|
| 40 |  . I SPNFILE=154.1 D
 | 
|---|
| 41 |  .. S X=X_$J("",10-$L(X))_$E($$FIMTYPE(SPND0),1,18)
 | 
|---|
| 42 |  .. S X=X_$J("",36-$L(X))_$$FIMDATE(SPND0)
 | 
|---|
| 43 |  .. Q
 | 
|---|
| 44 |  . S ^TMP($J,"SPNUTL1",SPNCOUNT)=X
 | 
|---|
| 45 |  . S DIK=SPNDIC,DA=SPND0
 | 
|---|
| 46 |  . D ^DIK D SEND S SPNEXIT=1
 | 
|---|
| 47 |  . Q:SPNEXIT=1
 | 
|---|
| 48 |  . I SPNFILE=154 D
 | 
|---|
| 49 |  .. S DIK="^SPNL(154.9,",DA=SPND0
 | 
|---|
| 50 |  .. D ^DIK
 | 
|---|
| 51 |  .. D SEND S SPNEXIT=1
 | 
|---|
| 52 |  .. Q
 | 
|---|
| 53 |  . Q
 | 
|---|
| 54 |  Q:SPNEXIT
 | 
|---|
| 55 | SEND ;
 | 
|---|
| 56 |  I SPNCOUNT D
 | 
|---|
| 57 |  . S SPNMLGRP="SPNL SCD COORDINATOR"
 | 
|---|
| 58 |  . W !!,"Sending deletion notification to the "
 | 
|---|
| 59 |  . W SPNMLGRP," mail group...",!
 | 
|---|
| 60 |  . D KILL^XM
 | 
|---|
| 61 |  . S X="The following patient"_$S(SPNCOUNT>1:"s were",1:" was")
 | 
|---|
| 62 |  . S X=X_" deleted from the"
 | 
|---|
| 63 |  . S ^TMP($J,"SPNUTL1",.1)=X
 | 
|---|
| 64 |  . S X=SPNNAME_" file on "_$$FMTE^XLFDT(DT)
 | 
|---|
| 65 |  . S X=X_" by "_$$GET1^DIQ(200,DUZ,.01)
 | 
|---|
| 66 |  . S ^TMP($J,"SPNUTL1",.2)=X
 | 
|---|
| 67 |  . S ^TMP($J,"SPNUTL1",.3)=""
 | 
|---|
| 68 |  . S XMSUB=SPNNAME_" File Deletion Notification"
 | 
|---|
| 69 |  . S XMTEXT="^TMP($J,""SPNUTL1"","
 | 
|---|
| 70 |  . S XMY("G."_SPNMLGRP_"@"_$G(^XMB("NETNAME")))=""
 | 
|---|
| 71 |  . S (XMDUZ,XMDUN)="<SCD Registry Package>"
 | 
|---|
| 72 |  . D ^XMD
 | 
|---|
| 73 |  . Q
 | 
|---|
| 74 |  ;
 | 
|---|
| 75 |  D KILL^XM
 | 
|---|
| 76 |  K D0,DA,DFN,DIC,DIK,DIR,DIROUT,DIRUT,DTOUT,DUOUT,SPNCOUNT
 | 
|---|
| 77 |  K SPND0,SPNDFN,SPNDIC,SPNEXIT,SPNFILE,SPNMLGRP,SPNNAME,X,Y
 | 
|---|
| 78 |  K ^TMP($J,"SPNUTL1")
 | 
|---|
| 79 |  Q
 | 
|---|
| 80 |  ;
 | 
|---|
| 81 | SSN(D0) ; *** SSN Identifier
 | 
|---|
| 82 |  N DFN S DFN=+$P($G(^SPNL(SPNFILE,D0,0)),U)
 | 
|---|
| 83 |  Q $$GET1^DIQ(2,DFN,.09)
 | 
|---|
| 84 |  ;
 | 
|---|
| 85 | FIMDATE(D0) ; *** FIM Date Identifier
 | 
|---|
| 86 |  Q $$GET1^DIQ(154.1,D0,.04)
 | 
|---|
| 87 |  ;
 | 
|---|
| 88 | FIMTYPE(D0) ; *** FIM Type Identifier
 | 
|---|
| 89 |  Q $$GET1^DIQ(154.1,D0,.02)
 | 
|---|
| 90 |  Q
 | 
|---|
| 91 | REMOUT ;tag to delete all outcomes on file when the user is deleting the
 | 
|---|
| 92 |  ;ien in 154.  Cleans up 154.1
 | 
|---|
| 93 |  Q:'$D(^SPNL(154.1,"B",SPNDFN))
 | 
|---|
| 94 |  W !!,"This patient has Outcome records on file and they must be removed before"
 | 
|---|
| 95 |  W !,"we remove the patient from the REGISTRY file."
 | 
|---|
| 96 |  W !?15,"The removal cannot be reversed!" W !?15,"Do you want to continue?"
 | 
|---|
| 97 |  S %=1 D YN^DICN Q:%=2
 | 
|---|
| 98 |  Q:%'=1
 | 
|---|
| 99 |  S SPNCOUNT=1
 | 
|---|
| 100 |  S SPNFILE=154.1
 | 
|---|
| 101 |  S SPNNAME="Registry & Outcomes"
 | 
|---|
| 102 |  S SPNOUT=0 F  S SPNOUT=$O(^SPNL(154.1,"B",SPNDFN,SPNOUT)) Q:(SPNOUT="")!('+SPNOUT)  D
 | 
|---|
| 103 |  . I SPNCOUNT=1 S X=$E($P($G(^DPT(SPNDFN,0)),U,1),1)_$E($P($G(^DPT(SPNDFN,0)),U,9),6,9),X=X_$J("",10-$L(X))_"Registry entry",^TMP($J,"SPNUTL1",SPNCOUNT)=X
 | 
|---|
| 104 |  . S X="",SPNCOUNT=SPNCOUNT+1
 | 
|---|
| 105 |  . S SPNCOUNT=SPNCOUNT+1
 | 
|---|
| 106 |  . S X=$E($P($G(^DPT(SPNDFN,0)),U,1),1)_$E($P($G(^DPT(SPNDFN,0)),U,9),6,9)
 | 
|---|
| 107 |  . S X=X_$J("",10-$L(X))_$E($$FIMTYPE(SPNOUT),1,18)
 | 
|---|
| 108 |  . S X=X_$J("",36-$L(X))_$$FIMDATE(SPNOUT)
 | 
|---|
| 109 |  . S ^TMP($J,"SPNUTL1",SPNCOUNT)=X
 | 
|---|
| 110 |  . S DIK="^SPNL(154.1,",DA=SPNOUT
 | 
|---|
| 111 |  . D ^DIK
 | 
|---|
| 112 |  S DIK="^SPNL(154,",DA=SPNDFN
 | 
|---|
| 113 |  D ^DIK
 | 
|---|
| 114 |  D SEND
 | 
|---|
| 115 |  S SPNEXIT=1
 | 
|---|
| 116 |  Q
 | 
|---|