| 1 | RMPROWL ;VACO/HNC- CLONE OWL SUSPENSE IN FILE 668 ;5/24/06 | 
|---|
| 2 | ;;3.0;PROSTHETICS;**75**;Feb 09, 1996;Build 25 | 
|---|
| 3 | ; | 
|---|
| 4 | ; Passed parameter DA - Prosthetics Consult Record from ^RMPR(668 | 
|---|
| 5 | ; | 
|---|
| 6 | ; Passed parameter RMPRW - Work Order Number, external format | 
|---|
| 7 | ; | 
|---|
| 8 | ; Return RESULT(1)=ERROR STRING, OR Message ALL IS OKAY | 
|---|
| 9 | Q | 
|---|
| 10 | ; | 
|---|
| 11 | EN2(DA,RMPRW)      ;Create OWL Clone in Suspense | 
|---|
| 12 | G EN3 | 
|---|
| 13 | EN(RESULT,DA,RMPRW) ;GUI entry point | 
|---|
| 14 | ; | 
|---|
| 15 | EN3 ; | 
|---|
| 16 | N RMP9 S RMP9=$P($G(^RMPR(668,DA,0)),U,8) | 
|---|
| 17 | I RMP9="" S RESULT(1)="No Suspense Available to Clone!" G EXIT | 
|---|
| 18 | I (RMP9'=11) S RESULT(1)="Only LAB Can be CLONED" G EXIT | 
|---|
| 19 | S RMPRH=DA | 
|---|
| 20 | S (RMPRFLD,RMPRFI,RMPRFW)=0 | 
|---|
| 21 | D GETS^DIQ(668,RMPRH,"**","I","OUT") | 
|---|
| 22 | Q:'$D(OUT) | 
|---|
| 23 | ;create new record | 
|---|
| 24 | D NOW^%DTC S X=% | 
|---|
| 25 | S DIC="^RMPR(668,",DIC(0)="L" | 
|---|
| 26 | K DD,DO D FILE^DICN | 
|---|
| 27 | S RMPRA=+Y | 
|---|
| 28 | M R6681(668,RMPRA_",")=OUT(668,RMPRH_",") | 
|---|
| 29 | F  S RMPRFLD=$O(R6681(668,RMPRA_",",RMPRFLD)) Q:RMPRFLD'>0  D | 
|---|
| 30 | . F  S RMPRFI=$O(R6681(668,RMPRA_",",RMPRFLD,RMPRFI)) Q:RMPRFI=""  D | 
|---|
| 31 | .. I RMPRFI="I" S R668(668,RMPRA_",",RMPRFLD)=R6681(668,RMPRA_",",RMPRFLD,RMPRFI) Q | 
|---|
| 32 | .. S R668(668,RMPRA_",",RMPRFLD,RMPRFI)=R6681(668,RMPRA_",",RMPRFLD,RMPRFI) | 
|---|
| 33 | S RMPRC=RMPRA_"," | 
|---|
| 34 | S R668(668,RMPRA_",",4)="R668(668,"_""""_RMPRC_""""_",4)" | 
|---|
| 35 | I $D(R668(668,RMPRA_",",7)) S R668(668,RMPRA_",",7)="R668(668,"_""""_RMPRC_""""_",7)" | 
|---|
| 36 | K OUT | 
|---|
| 37 | ; | 
|---|
| 38 | ;don't set the following fields | 
|---|
| 39 | K R668(668,RMPRA_",",.01) | 
|---|
| 40 | ;urgency | 
|---|
| 41 | K R668(668,RMPRA_",",2.3) | 
|---|
| 42 | ;completion date | 
|---|
| 43 | K R668(668,RMPRA_",",5) | 
|---|
| 44 | ;completed by | 
|---|
| 45 | K R668(668,RMPRA_",",6) | 
|---|
| 46 | ;initial action note | 
|---|
| 47 | K R668(668,RMPRA_",",7) | 
|---|
| 48 | ;suspended by | 
|---|
| 49 | S R668(668,RMPRA_",",8)=DUZ | 
|---|
| 50 | ;patient 2319 | 
|---|
| 51 | K R668(668,RMPRA_",",8.1) | 
|---|
| 52 | ;amis grouper | 
|---|
| 53 | K R668(668,RMPRA_",",8.2) | 
|---|
| 54 | ;init action date | 
|---|
| 55 | K R668(668,RMPRA_",",10) | 
|---|
| 56 | ;completion note | 
|---|
| 57 | K R668(668,RMPRA_",",12) | 
|---|
| 58 | ;initial action by | 
|---|
| 59 | K R668(668,RMPRA_",",16) | 
|---|
| 60 | ;cancelled by | 
|---|
| 61 | K R668(668,RMPRA_",",17) | 
|---|
| 62 | ;cancel date | 
|---|
| 63 | K R668(668,RMPRA_",",18) | 
|---|
| 64 | ;CPRS order may be purged, remobe | 
|---|
| 65 | K R668(668,RMPRA_",",19) | 
|---|
| 66 | ;cancel note | 
|---|
| 67 | K R668(668,RMPRA_",",21) | 
|---|
| 68 | ;date rx written, keep same per Karen 9/15/03 | 
|---|
| 69 | ;K R668(668,RMPRA_",",22) | 
|---|
| 70 | ;consult service | 
|---|
| 71 | K R668(668,RMPRA_",",23) | 
|---|
| 72 | ;consult needed for display set to orig pointer | 
|---|
| 73 | S R668(668,RMPRA_",",20)=$P(^RMPR(668,RMPRH,0),U,15) | 
|---|
| 74 | ;forwarded by | 
|---|
| 75 | K R668(668,RMPRA_",",24) | 
|---|
| 76 | ;consult visit | 
|---|
| 77 | K R668(668,RMPRA_",",30) | 
|---|
| 78 | ;set status to open | 
|---|
| 79 | S R668(668,RMPRA_",",14)="O" | 
|---|
| 80 | ;set type to clone | 
|---|
| 81 | S R668(668,RMPRA_",",9)=7 | 
|---|
| 82 | ;will automatically set the Billing Fields as needed IF NO DUPLICATES! | 
|---|
| 83 | ;32,32.1,32.2,33,33.1,33.2,33.3 | 
|---|
| 84 | S DIC="^RMPR(668,",DIC(0)="AEQM" | 
|---|
| 85 | D FILE^DIE("K","R668","ERROR") | 
|---|
| 86 | I $D(ERROR) S RESULT(1)="COULD NOT CLONE DUE TO BAD DATA IN SUSPENSE!" D KILL | 
|---|
| 87 | EXIT ;exit | 
|---|
| 88 | K R6681,RMPRA,RMPRC,RMPRFLD,RMPRFI,RMPRFW,RMPRH | 
|---|
| 89 | S RESULT(1)="New Clone Suspense Created." | 
|---|
| 90 | Q | 
|---|
| 91 | K DIC,DIK,ERROR,R668,X,Y | 
|---|
| 92 | KILL ;get rid of new clone if error | 
|---|
| 93 | S DA=RMPRA,DIK=668 D ^DIK | 
|---|
| 94 | G EXIT | 
|---|
| 95 | Q | 
|---|
| 96 | ; | 
|---|