| 1 | EASEZC3 ;ALB/jap - Compare 1010EZ Data with VistA Database (cont.) ;10/16/00  13:08
 | 
|---|
| 2 |  ;;1.0;ENROLLMENT APPLICATION SYSTEM;**51**;Mar 15, 2001
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | SORT(EASAPP) ;resort ^TMP("EZDATA", to prepare for screen display
 | 
|---|
| 5 |  N KEYIEN,DATAKEY,ALL,EZDATA,DISPNM,PTDATA,EASMULT,TRNSFORM,QUES,Q1,QQ,QX,NQ,SECT,FFF,XNAME,MULT
 | 
|---|
| 6 |  K ^TMP("EZTEMP",$J),^TMP("EZDISP",$J)
 | 
|---|
| 7 |  S KEYIEN=.1 F  S KEYIEN=$O(^TMP("EZDATA",$J,KEYIEN)) Q:'KEYIEN  I $D(^(KEYIEN))>1 D
 | 
|---|
| 8 |  .S DATAKEY=$P(^TMP("EZDATA",$J,KEYIEN),U,4),SECT=$P(DATAKEY,";",1),QUES=$P(DATAKEY,";",2)
 | 
|---|
| 9 |  .;must use variable name EASMULT,EASRTR for any Transform
 | 
|---|
| 10 |  .S EASMULT=0 F  S EASMULT=$O(^TMP("EZDATA",$J,KEYIEN,EASMULT)) Q:'EASMULT  D
 | 
|---|
| 11 |  ..;here ALL=ezdata^accept^712.01ien
 | 
|---|
| 12 |  ..S ALL=$G(^TMP("EZDATA",$J,KEYIEN,EASMULT,1)),EZDATA=$P(ALL,U,1)
 | 
|---|
| 13 |  ..;ez data conversion for display
 | 
|---|
| 14 |  ..K EASRTR S TRNSFORM=$G(^EAS(711,KEYIEN,"T")) I TRNSFORM'="" X TRNSFORM S EZDATA=$G(EASRTR)
 | 
|---|
| 15 |  ..S PTDATA=$P($G(^TMP("EZDATA",$J,KEYIEN,EASMULT,2)),U,1)
 | 
|---|
| 16 |  ..I EZDATA="" S $P(^TMP("EZDATA",$J,KEYIEN,EASMULT,1),U,1)=""
 | 
|---|
| 17 |  ..Q:(EZDATA="")&(PTDATA="")
 | 
|---|
| 18 |  ..S DISPNM=$P($G(^TMP("EZDATA",$J,KEYIEN)),U,5)
 | 
|---|
| 19 |  ..S ^TMP("EZTEMP",$J,SECT,EASMULT,QUES)=KEYIEN_U_EZDATA_U_$P(ALL,U,2)_U_$P(ALL,U,3)_U_PTDATA
 | 
|---|
| 20 |  ..Q:$$SUPPRESS^EASEZU4(EASAPP,DATAKEY,0,EASVRSN)  ;alb/cmf/51
 | 
|---|
| 21 |  ..;set another array so questions fall in proper display order
 | 
|---|
| 22 |  ..I QUES=+QUES D  Q
 | 
|---|
| 23 |  ...S ^TMP("EZDISP",$J,SECT,EASMULT,QUES,0)=^TMP("EZTEMP",$J,SECT,EASMULT,QUES)_U_DISPNM
 | 
|---|
| 24 |  ..S Q1=$E(QUES,1) I Q1=+QUES D  Q
 | 
|---|
| 25 |  ...S QX=$E(QUES,2,99) S:QX="." QX=0
 | 
|---|
| 26 |  ...S ^TMP("EZDISP",$J,SECT,EASMULT,Q1,QX)=^TMP("EZTEMP",$J,SECT,EASMULT,QUES)_U_DISPNM
 | 
|---|
| 27 |  ..S Q1=$E(QUES,1,2) I Q1=+QUES D
 | 
|---|
| 28 |  ...S QX=$E(QUES,3,99) S:QX="." QX=0
 | 
|---|
| 29 |  ...S ^TMP("EZDISP",$J,SECT,EASMULT,Q1,QX)=^TMP("EZTEMP",$J,SECT,EASMULT,QUES)_U_DISPNM
 | 
|---|
| 30 |  ;rearrange Section IIA
 | 
|---|
| 31 |  S SECT="IIA",MULT=1,QQ="" F  S QQ=$O(^TMP("EZDISP",$J,SECT,MULT,QQ)) Q:QQ>99  Q:QQ=""  D
 | 
|---|
| 32 |  .S XNAME=$P(^TMP("EZDISP",$J,SECT,MULT,QQ,0),U,6),NQ=$S(XNAME["Sp.":100,1:200)
 | 
|---|
| 33 |  .S ^TMP("EZDISP",$J,SECT,MULT,NQ,QQ)=^TMP("EZDISP",$J,SECT,MULT,QQ,0)
 | 
|---|
| 34 |  .K ^TMP("EZDISP",$J,SECT,MULT,QQ,0)
 | 
|---|
| 35 |  Q
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 | OUT ;output current contents of ^TMP("EZTEMP",
 | 
|---|
| 38 |  ;only used for development from programmer mode
 | 
|---|
| 39 |  N S,M,OLDM,QUES,Q1,QX,KEYIEN,DISPNM,EZDATA,PTDATA,X
 | 
|---|
| 40 |  S S="" F  S S=$O(^TMP("EZDISP",$J,S)) Q:S=""  D
 | 
|---|
| 41 |  .W !!!,"SECTION "_S
 | 
|---|
| 42 |  .S M=0,OLDM=0 F  S M=$O(^TMP("EZDISP",$J,S,M)) Q:'M  D
 | 
|---|
| 43 |  ..I M'=OLDM W !
 | 
|---|
| 44 |  ..S OLDM=M
 | 
|---|
| 45 |  ..S Q1="" F  S Q1=$O(^TMP("EZDISP",$J,S,M,Q1)) Q:Q1=""  S QX="" F  S QX=$O(^TMP("EZDISP",$J,S,M,Q1,QX)) Q:QX=""  D
 | 
|---|
| 46 |  ...S (EZDATA,PTDATA)=""
 | 
|---|
| 47 |  ...S X=^TMP("EZDISP",$J,S,M,Q1,QX),KEYIEN=$P(X,U,1),EZDATA=$P(X,U,2),PTDATA=$P(X,U,5),DISPNM=$P(X,U,6)
 | 
|---|
| 48 |  ...I Q1>99 S QUES=QX_"."
 | 
|---|
| 49 |  ...E  S QUES=Q1_$S(QX=0:".",1:QX)
 | 
|---|
| 50 |  ...W !,"QUESTION "_QUES_"  "_DISPNM
 | 
|---|
| 51 |  ...W !,?3,"1010EZ : "_EZDATA
 | 
|---|
| 52 |  ...W !,?3,"VistA  : "_PTDATA
 | 
|---|
| 53 |  Q
 | 
|---|
| 54 |  ;
 | 
|---|
| 55 | C202 ;alb/cmf/51 place race info into local711 array
 | 
|---|
| 56 |  N M,B,VDATA,KEY,RAC
 | 
|---|
| 57 |  D GETS^DIQ(2,EASDFN_",","2*","","RAC")
 | 
|---|
| 58 |  Q:'$D(RAC)
 | 
|---|
| 59 |  D D202("APPLICANT RACE - AMERICAN INDIAN OR ALASKA NATIVE","AMERI")
 | 
|---|
| 60 |  D D202("APPLICANT RACE - BLACK OR AFRICAN AMERICAN","BLACK")
 | 
|---|
| 61 |  D D202("APPLICANT RACE - HAWAIIAN OR PAC ISLANDER","NATIV")
 | 
|---|
| 62 |  D D202("APPLICANT RACE - ASIAN","ASIAN")
 | 
|---|
| 63 |  D D202("APPLICANT RACE - WHITE","WHITE")
 | 
|---|
| 64 |  D D202("APPLICANT RACE - UNANSWERED","UNKNO")
 | 
|---|
| 65 |  Q
 | 
|---|
| 66 |  ;
 | 
|---|
| 67 | D202(AKEY,ARACE) ;
 | 
|---|
| 68 |  S KEY=+$$KEY711^EASEZU1(AKEY)
 | 
|---|
| 69 |  S M=0 F  S M=$O(^TMP("EZDATA",$J,KEY,M)) Q:'M  D
 | 
|---|
| 70 |  .S VDATA=""
 | 
|---|
| 71 |  .S B=$$Q202(ARACE) I +B S VDATA="YES"_$P(B,U,2)
 | 
|---|
| 72 |  .S $P(^TMP("EZDATA",$J,KEY,M,2),U,1)=VDATA
 | 
|---|
| 73 |  Q
 | 
|---|
| 74 |  ;
 | 
|---|
| 75 | Q202(X) ;
 | 
|---|
| 76 |  N I,FLAG
 | 
|---|
| 77 |  S FLAG=0
 | 
|---|
| 78 |  Q:'$D(RAC) FLAG
 | 
|---|
| 79 |  D:'$D(RAC("B"))
 | 
|---|
| 80 |  .S I=""
 | 
|---|
| 81 |  .F  S I=$O(RAC(2.02,I)) Q:I=""  D
 | 
|---|
| 82 |  ..S RAC("B",$E(RAC(2.02,I,.01),1,5))=$E(RAC(2.02,I,.02),1)
 | 
|---|
| 83 |  I $D(RAC("B",X)) S FLAG=1_U_" ("_RAC("B",X)_")"
 | 
|---|
| 84 |  ;S I=""
 | 
|---|
| 85 |  ;F  S I=$O(RAC(2.02,I)) Q:(I="")!(+FLAG)  D
 | 
|---|
| 86 |  ;.I $E(RAC(2.02,I,.01),1,5)=X S FLAG=1_U_" ("_$E(RAC(2.02,I,.02),1)_")"
 | 
|---|
| 87 |  Q FLAG
 | 
|---|
| 88 |  ;              
 | 
|---|
| 89 | C206 ;alb/cmf/51 place ethnicity info into local711 array
 | 
|---|
| 90 |  N X,M,B,VDATA,KEY,ETH
 | 
|---|
| 91 |  D GETS^DIQ(2,EASDFN_",","6*","","ETH")
 | 
|---|
| 92 |  Q:'$D(ETH)
 | 
|---|
| 93 |  S KEY=+$$KEY711^EASEZU1("APPLICANT SPANISH, HISPANIC, OR LATIN")
 | 
|---|
| 94 |  S M=0 F  S M=$O(^TMP("EZDATA",$J,KEY,M)) Q:'M  D
 | 
|---|
| 95 |  .S VDATA="",B=""
 | 
|---|
| 96 |  .D  S $P(^TMP("EZDATA",$J,KEY,M,2),U,1)=VDATA
 | 
|---|
| 97 |  ..S B=$$Q206("NOT") I +B S VDATA="NO"_$P(B,U,2) Q
 | 
|---|
| 98 |  ..S B=$$Q206("HIS") I +B S VDATA="YES"_$P(B,U,2) Q
 | 
|---|
| 99 |  ..S B=$$Q206("DEC") I +B S VDATA="DECLINED"_$P(B,U,2) Q
 | 
|---|
| 100 |  ..S B=$$Q206("UNK") I +B S VDATA="UNKNOWN"_$P(B,U,2) Q
 | 
|---|
| 101 |  ..Q
 | 
|---|
| 102 |  .Q
 | 
|---|
| 103 |  Q
 | 
|---|
| 104 |  ;
 | 
|---|
| 105 | Q206(X) ;
 | 
|---|
| 106 |  N I,FLAG
 | 
|---|
| 107 |  S FLAG=0
 | 
|---|
| 108 |  Q:'$D(ETH) FLAG
 | 
|---|
| 109 |  D:'$D(ETH("B")) 
 | 
|---|
| 110 |  .S I=""
 | 
|---|
| 111 |  .F  S I=$O(ETH(2.06,I)) Q:I=""  D 
 | 
|---|
| 112 |  ..S ETH("B",$E(ETH(2.06,I,.01),1,3))=$E(ETH(2.06,I,.02),1)
 | 
|---|
| 113 |  I $D(ETH("B",X)) S FLAG=1_U_" ("_ETH("B",X)_")"
 | 
|---|
| 114 |  ;S I=""
 | 
|---|
| 115 |  ;F  S I=$O(ETH(2.06,I)) Q:(I="")!(+FLAG)  D
 | 
|---|
| 116 |  ;.I $E(ETH(2.06,I,.01),1,3)=X S FLAG=1_U_" ("_$E(ETH(2.06,I,.02),1)_")"
 | 
|---|
| 117 |  Q FLAG
 | 
|---|
| 118 |  ;
 | 
|---|