| 1 | EASEZPVU ;ALB/GTS/CMF - MT PICKER FOR EZ/EZR PRINT
 | 
|---|
| 2 |  ;;1.0;ENROLLMENT APPLICATION SYSTEM;**57**;Mar 15, 2001
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  Q
 | 
|---|
| 5 | PICK(EASDFN,EASMTIEN) ;validate or pick mtien for printing
 | 
|---|
| 6 |  ; Input: EASDFN - POINTER TO PATIENT FILE (#2) - required
 | 
|---|
| 7 |  ;        EASMTIEN - POINTER TO MEANS TEST FILE (#408.31 - optional
 | 
|---|
| 8 |  ; Output: RESULT - valid mt pointer, or null
 | 
|---|
| 9 |  N RESULT,MTIEN,DIC,D,X,Y,DTOUT,DUOUT,EASSORT
 | 
|---|
| 10 |  S RESULT=""
 | 
|---|
| 11 |  ; if means test ien, then return it
 | 
|---|
| 12 |  S MTIEN=$G(EASMTIEN)
 | 
|---|
| 13 |  S MTIEN=$S($D(^DGMT(408.31,+MTIEN)):+MTIEN,MTIEN=0:0,MTIEN=-1:-1,1:"")
 | 
|---|
| 14 |  I (+MTIEN>0)!(MTIEN=-1) Q MTIEN
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 |  ; if no means test ien, then ask user for one
 | 
|---|
| 17 |  D GETMTDAT(EASDFN)
 | 
|---|
| 18 |  I $D(EASSORT) D
 | 
|---|
| 19 |  .;display sort array here!
 | 
|---|
| 20 |  .D DISPLAY
 | 
|---|
| 21 |  .;lookup filtered by sort array
 | 
|---|
| 22 |  .S DIC=408.31
 | 
|---|
| 23 |  .S DIC(0)="AEMQ"
 | 
|---|
| 24 |  .S DIC("A")="Select DATE OF TEST:"
 | 
|---|
| 25 |  .S DIC("S")="I $D(EASSORT($P(^(0),U),Y))"
 | 
|---|
| 26 |  .S D="ADFN"_EASDFN_"^B"
 | 
|---|
| 27 |  .D MIX^DIC1
 | 
|---|
| 28 |  .S RESULT=+Y
 | 
|---|
| 29 |  Q RESULT
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 | GETMTDAT(EASDFN) ;sort primary tests for printing selection
 | 
|---|
| 32 |  ;
 | 
|---|
| 33 |  ; Input:  EASDFN - Patient file IEN (DFN)
 | 
|---|
| 34 |  ; Output: EASSORT - Array of Means Tests in the following format:
 | 
|---|
| 35 |  ;  EASSORT(DATE,MTIEN)=MT IEN^Date of Test^Status Name^Status Code^Source
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 |  ;check for futures
 | 
|---|
| 38 |  ;  means test
 | 
|---|
| 39 |  D SORT($$FUT^DGMTU(EASDFN,,1),"NO")
 | 
|---|
| 40 |  ;  copay test
 | 
|---|
| 41 |  D SORT($$FUT^DGMTU(EASDFN,,2),"NO")
 | 
|---|
| 42 |  ;  ltc copay exemption test
 | 
|---|
| 43 |  D SORT($$FUT^DGMTU(EASDFN,,4),"NO")
 | 
|---|
| 44 |  ;look for current
 | 
|---|
| 45 |  ;  means test
 | 
|---|
| 46 |  D SORT($$LST^DGMTU(EASDFN,,1),"YES")
 | 
|---|
| 47 |  ;  copay test
 | 
|---|
| 48 |  D SORT($$LST^DGMTU(EASDFN,,2),"YES")
 | 
|---|
| 49 |  ;  ltc copay exemption test
 | 
|---|
| 50 |  D SORT($$LST^DGMTU(EASDFN,,4),"YES")
 | 
|---|
| 51 |  Q
 | 
|---|
| 52 |  ;
 | 
|---|
| 53 | SORT(RETURN,PRIMARY) ;sort mt status string
 | 
|---|
| 54 |  N DATE,MTIEN
 | 
|---|
| 55 |  I +RETURN=0 Q
 | 
|---|
| 56 |  S DATE=$P(RETURN,U,2)
 | 
|---|
| 57 |  S MTIEN=$P(RETURN,U,1)
 | 
|---|
| 58 |  S:$$GET1^DIQ(408.31,MTIEN_",",2)=PRIMARY EASSORT(DATE,MTIEN)=RETURN
 | 
|---|
| 59 |  Q
 | 
|---|
| 60 |  ;
 | 
|---|
| 61 | DISPLAY ; eassort array
 | 
|---|
| 62 |  N MTDT,MTIEN,MTIENS
 | 
|---|
| 63 |  W !?3,"Choose from:"
 | 
|---|
| 64 |  S MTDT=""
 | 
|---|
| 65 |  F  S MTDT=$O(EASSORT(MTDT)) Q:MTDT=""  D
 | 
|---|
| 66 |  .S MTIEN=""
 | 
|---|
| 67 |  .F  S MTIEN=$O(EASSORT(MTDT,MTIEN)) Q:MTIEN=""  D
 | 
|---|
| 68 |  ..S MTIENS=MTIEN_","
 | 
|---|
| 69 |  ..W !?3,MTDT_"   "
 | 
|---|
| 70 |  ..W $$GET1^DIQ(408.31,MTIENS,.01)_"   "  ;test date
 | 
|---|
| 71 |  ..W $$GET1^DIQ(408.31,MTIENS,.019)_"   " ;type of test
 | 
|---|
| 72 |  ..W $$GET1^DIQ(408.31,MTIENS,.03)_"   "  ;status
 | 
|---|
| 73 |  ..W $$GET1^DIQ(408.31,MTIENS,.23)_"   "  ;source of test
 | 
|---|
| 74 |  ..W $S($$GET1^DIQ(408.31,MTIENS,2)="YES":"PRIMARY",1:"NOT PRIMARY")
 | 
|---|
| 75 |  ..Q
 | 
|---|
| 76 |  .Q
 | 
|---|
| 77 |  Q
 | 
|---|
| 78 |  ;
 | 
|---|