| 1 | SCUTIE2 ;ALB/SCK - IEMM LIST MANAGER UTILITIES; 16-JUN-97
 | 
|---|
| 2 |  ;;5.3;Scheduling;**66**;AUG 13, 1993
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  Q
 | 
|---|
| 5 | ENTRY(SDYX) ;   Get entry for incomplete encounter lookup.  Mimics the selection process in
 | 
|---|
| 6 |  ;  Appointment Management, but allows for the additional selection of an error code from
 | 
|---|
| 7 |  ;  the Transmitted OP ENC Error Code file.
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 |  ;    Input:
 | 
|---|
| 10 |  ;        SDYX - Pointer to return variable for the IEN of the selected Patient, Clinic, or Error code
 | 
|---|
| 11 |  ;
 | 
|---|
| 12 |  ;    Sets SDENTYP as follows:
 | 
|---|
| 13 |  ;          P  -   Patient Selection
 | 
|---|
| 14 |  ;          C  -   Clinic Selection
 | 
|---|
| 15 |  ;          E  -   Error Code Selection
 | 
|---|
| 16 |  ;
 | 
|---|
| 17 |  S DIR(0)="FA",DIR("A")="Select Patient name, Clinic name, or Error Code: "
 | 
|---|
| 18 |  S DIR("?")="Enter as P.patient name, C.clinic name, or E.error name"
 | 
|---|
| 19 |  S DIR("??")="^D HELP^SCUTIE2"
 | 
|---|
| 20 |  D ^DIR K DIR I $D(DIRUT) S VALMQUIT="" G ENQ
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 |  I $E(Y,1,2)="P."!($E(Y,1,2)="p.") D  G ENQ
 | 
|---|
| 23 |  . S SDYX=$$LOOKUP($P(Y,".",2),2)
 | 
|---|
| 24 |  . S SDENTYP="P"
 | 
|---|
| 25 |  ;
 | 
|---|
| 26 |  I $E(Y,1,2)="C."!($E(Y,1,2)="c.") D  G ENQ
 | 
|---|
| 27 |  . S SDYX=$$LOOKUP($P(Y,".",2),44)
 | 
|---|
| 28 |  . S SDENTYP="C"
 | 
|---|
| 29 |  ;
 | 
|---|
| 30 |  I $E(Y,1,2)="E."!($E(Y,1,2)="e.") D  G ENQ
 | 
|---|
| 31 |  . S SDYX=$$LOOKUP($P(Y,".",2),409.76)
 | 
|---|
| 32 |  . S SDENTYP="E"
 | 
|---|
| 33 |  ;
 | 
|---|
| 34 |  S SDYX=$$MULTLKUP(Y)
 | 
|---|
| 35 | ENQ Q $G(SDYX)>0
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 | LOOKUP(X,SCG) ;  Look up IEN for the specified file
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 |  ;    Input:
 | 
|---|
| 40 |  ;        X     - Lookup value for the DIC call
 | 
|---|
| 41 |  ;      SCG     - The file to do the lookup on
 | 
|---|
| 42 |  ;
 | 
|---|
| 43 |  ;    Returns  Y = the IEN of the selected entry
 | 
|---|
| 44 |  ;
 | 
|---|
| 45 |  S DIC=SCG,DIC(0)="EMQ"
 | 
|---|
| 46 |  D ^DIC
 | 
|---|
| 47 |  Q $G(Y)
 | 
|---|
| 48 |  ;
 | 
|---|
| 49 | MULTLKUP(SD1) ;  Lookup entry for unspecified selection file.  Try searching the patient
 | 
|---|
| 50 |  ;  file, hospital location file, and the transmitted OP ENC error code file for
 | 
|---|
| 51 |  ;  a possible match.
 | 
|---|
| 52 |  ;
 | 
|---|
| 53 |  ;   Input:
 | 
|---|
| 54 |  ;          SD1  -  Lookup value
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 |  ;   Returns Y = The IEN of the selected entry
 | 
|---|
| 57 |  ;  
 | 
|---|
| 58 |  N Y,X,SCVAL,DUOUT,DTOUT
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 |  S SD1=$$UPPER^VALM1(SD1)
 | 
|---|
| 61 |  ;  First pass, try patient file for match
 | 
|---|
| 62 |  W !!,"Searching for patient ",SD1
 | 
|---|
| 63 |  K DIC S DIC=2,DIC(0)="EM",X=SD1
 | 
|---|
| 64 |  D ^DIC K DIC
 | 
|---|
| 65 |  I +Y>0 S SCVAL=$$OK
 | 
|---|
| 66 |  E  S SCVAL=0
 | 
|---|
| 67 |  I $G(SCVAL)<0 Q -1
 | 
|---|
| 68 |  I $G(SCVAL)'=0 S SDENTYP="P" G MLTQ
 | 
|---|
| 69 |  ;
 | 
|---|
| 70 |  ; Second pass, try hospital location file for match
 | 
|---|
| 71 |  W !!,"Searching for Clinic ",SD1
 | 
|---|
| 72 |  K DIC S DIC=44,DIC(0)="EM",X=SD1
 | 
|---|
| 73 |  D ^DIC K DIC
 | 
|---|
| 74 |  I +Y>0 S SCVAL=$$OK
 | 
|---|
| 75 |  E  S SCVAL=0
 | 
|---|
| 76 |  I SCVAL<0 Q -1
 | 
|---|
| 77 |  I SCVAL'=0 S SDENTYP="C" G MLTQ
 | 
|---|
| 78 |  ;
 | 
|---|
| 79 |  ; Final pass, try error file for match
 | 
|---|
| 80 |  W !!,"Searching for Error Code ",SD1
 | 
|---|
| 81 |  K DIC S DIC=409.76,DIC(0)="EM",X=SD1
 | 
|---|
| 82 |  D ^DIC K DIC
 | 
|---|
| 83 |  I +Y>0 S SCVAL=$$OK
 | 
|---|
| 84 |  E  S SCVAL=0
 | 
|---|
| 85 |  I SCVAL<0 Q -1
 | 
|---|
| 86 |  I SCVAL'=0 S SDENTYP="E" G MLTQ
 | 
|---|
| 87 | MLTQ Q $G(Y)
 | 
|---|
| 88 |  ;
 | 
|---|
| 89 | OK() ;  Ask user if displayed entry is ok for selection.
 | 
|---|
| 90 |  ;  Return 1 if Ok, 0 if not
 | 
|---|
| 91 |  N Y
 | 
|---|
| 92 |  K DIRUT,DIR
 | 
|---|
| 93 |  W !
 | 
|---|
| 94 |  S DIR(0)="SA^Y:Yes;N:No",DIR("A")="  ...OK? ",DIR("B")="Yes"
 | 
|---|
| 95 |  S DIR("?")="Answer with Yes to accept, or No to ignore"
 | 
|---|
| 96 |  D ^DIR K DIR
 | 
|---|
| 97 |  Q $S($D(DIRUT):-1,1:Y="Y")
 | 
|---|
| 98 |  ;
 | 
|---|
| 99 | HELP ;
 | 
|---|
| 100 |  ;
 | 
|---|
| 101 |  W !?2,"Enter P.patient name to select a specific patient,"
 | 
|---|
| 102 |  W !?2,"C.clinic name to select a specific clinic, or E.Error Name"
 | 
|---|
| 103 |  W !?2,"to select a specific error.",!
 | 
|---|
| 104 |  W !?2,"If selecting a specific error by its description it may be"
 | 
|---|
| 105 |  W !?2,"necessary to enter more than three characters(Ex. E.Abxxxx)."
 | 
|---|
| 106 |  W !?2,"Because this is a descriptive field, case sensitivity applies.",!
 | 
|---|
| 107 |  W !?2,"If just a name is entered, any matches will be displayed in"
 | 
|---|
| 108 |  W !?2,"patient, clinic, error code order.  You will have the option"
 | 
|---|
| 109 |  W !?2,"of selecting or ignoring the choice.",!
 | 
|---|
| 110 |  Q
 | 
|---|