[613] | 1 | RAUTL14 ;HISC/GJC-Utilities for message display. ;10/19/94 08:53
|
---|
| 2 | ;;5.0;Radiology/Nuclear Medicine;**34**;Mar 16, 1998
|
---|
| 3 | EN1 ; Message display. Called from the input transform of the
|
---|
| 4 | ;'TYPE OF IMAGING' field of the Imaging Locations file
|
---|
| 5 | ; i.e, ^DD(79.1,6,0) --> D:'$D(^RA(79.1,"BIMG",+Y)) EN1^RAUTL14
|
---|
| 6 | N DIR,DIROUT,DIRUT,DTOUT,DUOUT,RATXT,RAX,RAY,RAYN
|
---|
| 7 | S RAX=X,RAY=Y,RATXT(1)=" " K X,Y
|
---|
| 8 | S RATXT(2)="** Caution: You are activating a new Imaging Type. **"
|
---|
| 9 | S RATXT(3)=" This means you will have to assign procedures to"
|
---|
| 10 | S RATXT(4)=" this imaging type. Workload reports will be printed"
|
---|
| 11 | S RATXT(5)=" separately for this Imaging Type."
|
---|
| 12 | S RATXT(6)=" " D EN^DDIOL(.RATXT) S DIR(0)="YA"
|
---|
| 13 | S DIR("A")="Are you sure? "
|
---|
| 14 | S DIR("?")="Enter 'Y' for yes, 'N' to re-edit this field."
|
---|
| 15 | D ^DIR S RAYN=+Y K X,Y D EN^DDIOL(" ")
|
---|
| 16 | S X=RAX,Y=RAY K:'RAYN X Q:'$D(X)
|
---|
| 17 | I $D(^RA(79.2,"B","CARDIOLOGY STUDIES (NUC MED)",+Y)) K RATXT D
|
---|
| 18 | . S RATXT(1)=" The 'CARDIOLOGY STUDIES' imaging type should not be"
|
---|
| 19 | . S RATXT(2)=" activated unless nuclear cardiology is done separately"
|
---|
| 20 | . S RATXT(3)=" from Nuclear Medicine at your facility."
|
---|
| 21 | . D EN^DDIOL(.RATXT)
|
---|
| 22 | . Q
|
---|
| 23 | Q
|
---|
| 24 | EN2 ; Message display. Called from input transform of the
|
---|
| 25 | ;'TYPE OF IMAGING' field of the Rad/Nuc Med Procedure file
|
---|
| 26 | ; i.e, ^DD(71,12,0) --> D EN2^RAUTL14
|
---|
| 27 | I '$D(^RA(79.1,"BIMG",+Y)) D
|
---|
| 28 | . N RATXT,X,Y S RATXT(1)=" "
|
---|
| 29 | . S RATXT(2)="This Imaging Type has not been assigned to any Imaging Location."
|
---|
| 30 | . S RATXT(3)="In order to register this procedure for patients, you must"
|
---|
| 31 | . S RATXT(4)="assign this Imaging Type to an Imaging Location."
|
---|
| 32 | . S RATXT(5)=" " D EN^DDIOL(.RATXT)
|
---|
| 33 | . Q
|
---|
| 34 | N RAD0,RASEQ
|
---|
| 35 | S RAD0=+$O(^RAMIS(71.3,"B",D0,0)),RASEQ=$P($G(^RAMIS(71.3,RAD0,0)),U,4)
|
---|
| 36 | I RASEQ D K X
|
---|
| 37 | . N RATXT,X,Y S RATXT(1)=" "
|
---|
| 38 | . S RATXT(2)="This procedure was found in the Rad/Nuc Med Common"
|
---|
| 39 | . S RATXT(3)="Procedure file. To change its imaging type you must"
|
---|
| 40 | . S RATXT(4)="first inactivate it in that file. After it is made"
|
---|
| 41 | . S RATXT(5)="inactive you may change its imaging type. You can"
|
---|
| 42 | . S RATXT(6)="then reactivate it if you wish."
|
---|
| 43 | . S RATXT(7)=" " D EN^DDIOL(.RATXT)
|
---|
| 44 | . Q
|
---|
| 45 | Q
|
---|
| 46 | UNI30(RADA,RAX) ; Determines if the 1st 30 chars of a procedure name are unique.
|
---|
| 47 | ; If not, do not allow the user to add or alter the current procedure.
|
---|
| 48 | ; Don't allow characters ; ^
|
---|
| 49 | ; Called from the input transform in ^DD(71,.01,0)
|
---|
| 50 | ; Pass back 1 if unique, 0 if a conflict.
|
---|
| 51 | ; 'RA' ---> temporary variable to hold data
|
---|
| 52 | ; 'RAX' ---> Input user wishes to enter/edit in ^RAMIS(71
|
---|
| 53 | ; 'RADA' ---> IEN of the current entry in ^RAMIS(71,
|
---|
| 54 | ; The first 30 do not match any other entries first 30
|
---|
| 55 | N RA1,RA2,RABEG,RAEND,RAFLG1,RAFLG2,RALEN,RALST,RAPCE,RAY,RAI,RAQ
|
---|
| 56 | S (RAFLG1,RAFLG2)=0
|
---|
| 57 | ;S RABEG=$E(RAX,1,30),RALEN=$L(RABEG),RALST=$E(RABEG,$L(RABEG))
|
---|
| 58 | ;S RAEND=$E(RABEG,1,(RALEN-1))_$C(($A(RALST)-1))_"z"
|
---|
| 59 | ;
|
---|
| 60 | ; Check for bad chars
|
---|
| 61 | S RAY=";^",RAQ=""
|
---|
| 62 | F RAI=1:1:$L(RAY) I RAX[($E(RAY,RAI)) S RAQ=1
|
---|
| 63 | I RAQ D EN^DDIOL("Entry must not contain ^ or ; ",,"!?12,$C(7)") Q 0 ; bad char detected, so reject entry
|
---|
| 64 | ;
|
---|
| 65 | ;
|
---|
| 66 | S RA1=$O(^RAMIS(71,"B",RAX),-1) ; Obtain collating entry immediately
|
---|
| 67 | ; before user input. Check 1st 30 of prior
|
---|
| 68 | ; entry aginst 1st 30 of user entry.
|
---|
| 69 | ; If different, ok!
|
---|
| 70 | ;
|
---|
| 71 | S:$E(RA1,1,30)'=$E(RAX,1,30) RAFLG1=1
|
---|
| 72 | ;
|
---|
| 73 | S RA2=$O(^RAMIS(71,"B",RAX)) ; Obtain the collating entry of
|
---|
| 74 | S:$E(RA2,1,30)'=$E(RAX,1,30) RAFLG2=1 ; the entry immediately after the
|
---|
| 75 | ; user input. If the 1st 30 of
|
---|
| 76 | ; user input does not equal the
|
---|
| 77 | ; 1st 30 of the next collating
|
---|
| 78 | ; entry, the input is ok!
|
---|
| 79 | ;
|
---|
| 80 | ; Brand new entry
|
---|
| 81 | I RADA=0 Q $S((RAFLG1+RAFLG2)>1:1,1:0)
|
---|
| 82 | ;
|
---|
| 83 | S RAPCE=$P($G(^RAMIS(71,RADA,0)),"^")
|
---|
| 84 | I RADA,($E(RAPCE,1,30)=$E(RAX,1,30)) Q 1 ; 1st 30 chars of user input
|
---|
| 85 | ; may equal the 1st 30 chars
|
---|
| 86 | ; of the record we are editing.
|
---|
| 87 | ;
|
---|
| 88 | E Q $S((RAFLG1+RAFLG2)>1:1,1:0) ; The 1st thirty chars may have changed
|
---|
| 89 | ; Check RAFLG1 & RAFLG2 for conflicts
|
---|
| 90 | ; with any other data in the database.
|
---|