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