Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: EASEZC3

EASEZC3.m

Go to the documentation of this file.
  1. EASEZC3 ;ALB/jap/pjh - Compare 1010EZ Data with VistA Database (cont.) ; 11/5/09 4:49pm
  1. ;;1.0;ENROLLMENT APPLICATION SYSTEM;**51,92**;Mar 15, 2001;Build 20
  1. ;
  1. SORT(EASAPP) ;resort ^TMP("EZDATA", to prepare for screen display
  1. N KEYIEN,DATAKEY,ALL,EZDATA,DISPNM,PTDATA,EASMULT,TRNSFORM,QUES,Q1,QQ,QX,NQ,SECT,FFF,XNAME,MULT
  1. K ^TMP("EZTEMP",$J),^TMP("EZDISP",$J)
  1. S KEYIEN=.1 F S KEYIEN=$O(^TMP("EZDATA",$J,KEYIEN)) Q:'KEYIEN I $D(^(KEYIEN))>1 D
  1. .S DATAKEY=$P(^TMP("EZDATA",$J,KEYIEN),U,4),SECT=$P(DATAKEY,";",1),QUES=$P(DATAKEY,";",2)
  1. .;must use variable name EASMULT,EASRTR for any Transform
  1. .S EASMULT=0 F S EASMULT=$O(^TMP("EZDATA",$J,KEYIEN,EASMULT)) Q:'EASMULT D
  1. ..;here ALL=ezdata^accept^712.01ien
  1. ..S ALL=$G(^TMP("EZDATA",$J,KEYIEN,EASMULT,1)),EZDATA=$P(ALL,U,1)
  1. ..;ez data conversion for display
  1. ..K EASRTR S TRNSFORM=$G(^EAS(711,KEYIEN,"T")) I TRNSFORM'="" X TRNSFORM S EZDATA=$G(EASRTR)
  1. ..S PTDATA=$P($G(^TMP("EZDATA",$J,KEYIEN,EASMULT,2)),U,1)
  1. ..I EZDATA="" S $P(^TMP("EZDATA",$J,KEYIEN,EASMULT,1),U,1)=""
  1. ..Q:(EZDATA="")&(PTDATA="")
  1. ..S DISPNM=$P($G(^TMP("EZDATA",$J,KEYIEN)),U,5)
  1. ..S ^TMP("EZTEMP",$J,SECT,EASMULT,QUES)=KEYIEN_U_EZDATA_U_$P(ALL,U,2)_U_$P(ALL,U,3)_U_PTDATA
  1. ..Q:$$SUPPRESS^EASEZU4(EASAPP,DATAKEY,0,EASVRSN) ;alb/cmf/51
  1. ..;set another array so questions fall in proper display order
  1. ..I QUES=+QUES D Q
  1. ...S ^TMP("EZDISP",$J,SECT,EASMULT,QUES,0)=^TMP("EZTEMP",$J,SECT,EASMULT,QUES)_U_DISPNM
  1. ..S Q1=$E(QUES,1) I Q1=+QUES D Q
  1. ...S QX=$E(QUES,2,99) S:QX="." QX=0
  1. ...S ^TMP("EZDISP",$J,SECT,EASMULT,Q1,QX)=^TMP("EZTEMP",$J,SECT,EASMULT,QUES)_U_DISPNM
  1. ..S Q1=$E(QUES,1,2) I Q1=+QUES D
  1. ...S QX=$E(QUES,3,99) S:QX="." QX=0
  1. ...S ^TMP("EZDISP",$J,SECT,EASMULT,Q1,QX)=^TMP("EZTEMP",$J,SECT,EASMULT,QUES)_U_DISPNM
  1. ;rearrange Section IIA
  1. S SECT="IIA",MULT=1,QQ="" F S QQ=$O(^TMP("EZDISP",$J,SECT,MULT,QQ)) Q:QQ>99 Q:QQ="" D
  1. .S XNAME=$P(^TMP("EZDISP",$J,SECT,MULT,QQ,0),U,6),NQ=$S(XNAME["Sp.":100,1:200)
  1. .S ^TMP("EZDISP",$J,SECT,MULT,NQ,QQ)=^TMP("EZDISP",$J,SECT,MULT,QQ,0)
  1. .K ^TMP("EZDISP",$J,SECT,MULT,QQ,0)
  1. Q
  1. ;
  1. OUT ;output current contents of ^TMP("EZTEMP",
  1. ;only used for development from programmer mode
  1. N S,M,OLDM,QUES,Q1,QX,KEYIEN,DISPNM,EZDATA,PTDATA,X
  1. S S="" F S S=$O(^TMP("EZDISP",$J,S)) Q:S="" D
  1. .W !!!,"SECTION "_S
  1. .S M=0,OLDM=0 F S M=$O(^TMP("EZDISP",$J,S,M)) Q:'M D
  1. ..I M'=OLDM W !
  1. ..S OLDM=M
  1. ..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
  1. ...S (EZDATA,PTDATA)=""
  1. ...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)
  1. ...I Q1>99 S QUES=QX_"."
  1. ...E S QUES=Q1_$S(QX=0:".",1:QX)
  1. ...W !,"QUESTION "_QUES_" "_DISPNM
  1. ...W !,?3,"1010EZ : "_EZDATA
  1. ...W !,?3,"VistA : "_PTDATA
  1. Q
  1. ;
  1. C202 ;alb/cmf/51 place race info into local711 array
  1. N M,B,VDATA,KEY,RAC
  1. D GETS^DIQ(2,EASDFN_",","2*","","RAC")
  1. Q:'$D(RAC)
  1. D D202("APPLICANT RACE - AMERICAN INDIAN OR ALASKA NATIVE","AMERI")
  1. D D202("APPLICANT RACE - BLACK OR AFRICAN AMERICAN","BLACK")
  1. D D202("APPLICANT RACE - HAWAIIAN OR PAC ISLANDER","NATIV")
  1. D D202("APPLICANT RACE - ASIAN","ASIAN")
  1. D D202("APPLICANT RACE - WHITE","WHITE")
  1. D D202("APPLICANT RACE - UNANSWERED","UNKNO")
  1. Q
  1. ;
  1. D202(AKEY,ARACE) ;
  1. S KEY=+$$KEY711^EASEZU1(AKEY)
  1. S M=0 F S M=$O(^TMP("EZDATA",$J,KEY,M)) Q:'M D
  1. .S VDATA=""
  1. .S B=$$Q202(ARACE) I +B S VDATA="YES"_$P(B,U,2)
  1. .S $P(^TMP("EZDATA",$J,KEY,M,2),U,1)=VDATA
  1. Q
  1. ;
  1. Q202(X) ;
  1. N I,FLAG
  1. S FLAG=0
  1. Q:'$D(RAC) FLAG
  1. D:'$D(RAC("B"))
  1. .S I=""
  1. .F S I=$O(RAC(2.02,I)) Q:I="" D
  1. ..S RAC("B",$E(RAC(2.02,I,.01),1,5))=$E(RAC(2.02,I,.02),1)
  1. I $D(RAC("B",X)) S FLAG=1_U_" ("_RAC("B",X)_")"
  1. ;S I=""
  1. ;F S I=$O(RAC(2.02,I)) Q:(I="")!(+FLAG) D
  1. ;.I $E(RAC(2.02,I,.01),1,5)=X S FLAG=1_U_" ("_$E(RAC(2.02,I,.02),1)_")"
  1. Q FLAG
  1. ;
  1. C206 ;alb/cmf/51 place ethnicity info into local711 array
  1. N X,M,B,VDATA,KEY,ETH
  1. D GETS^DIQ(2,EASDFN_",","6*","","ETH")
  1. Q:'$D(ETH)
  1. S KEY=+$$KEY711^EASEZU1("APPLICANT SPANISH, HISPANIC, OR LATIN")
  1. S M=0 F S M=$O(^TMP("EZDATA",$J,KEY,M)) Q:'M D
  1. .S VDATA="",B=""
  1. .D S $P(^TMP("EZDATA",$J,KEY,M,2),U,1)=VDATA
  1. ..S B=$$Q206("NOT") I +B S VDATA="NO"_$P(B,U,2) Q
  1. ..S B=$$Q206("HIS") I +B S VDATA="YES"_$P(B,U,2) Q
  1. ..S B=$$Q206("DEC") I +B S VDATA="DECLINED"_$P(B,U,2) Q
  1. ..S B=$$Q206("UNK") I +B S VDATA="UNKNOWN"_$P(B,U,2) Q
  1. ..Q
  1. .Q
  1. Q
  1. ;
  1. Q206(X) ;
  1. N I,FLAG
  1. S FLAG=0
  1. Q:'$D(ETH) FLAG
  1. D:'$D(ETH("B"))
  1. .S I=""
  1. .F S I=$O(ETH(2.06,I)) Q:I="" D
  1. ..S ETH("B",$E(ETH(2.06,I,.01),1,3))=$E(ETH(2.06,I,.02),1)
  1. I $D(ETH("B",X)) S FLAG=1_U_" ("_ETH("B",X)_")"
  1. ;S I=""
  1. ;F S I=$O(ETH(2.06,I)) Q:(I="")!(+FLAG) D
  1. ;.I $E(ETH(2.06,I,.01),1,3)=X S FLAG=1_U_" ("_$E(ETH(2.06,I,.02),1)_")"
  1. Q FLAG
  1. ;
  1. C3216 ;Military Service
  1. ;
  1. ;Use old VistA data if no new format data present
  1. I '$D(^DPT(EASDFN,.3216)) D MOVMSE^DGMSEUTL(EASDFN)
  1. ;Get most recent episode
  1. S X=$O(^DPT(EASDFN,.3216,"B",""),-1) Q:'X
  1. S X=$O(^DPT(EASDFN,.3216,"B",X,"")) Q:'X
  1. ;Extract fields from most recent episode as [LAST]
  1. S KEY=+$$KEY711^EASEZU1("LAST ENTRY DATE")
  1. S VDATA=$$GET^EASEZC1(EASDFN_";"_+X,"2^2.3216^.01")
  1. I (VDATA=-1)!(VDATA="") S VDATA="UNKNOWN"
  1. S ^TMP("EZDATA",$J,KEY,1,2)=VDATA
  1. S KEY=+$$KEY711^EASEZU1("LAST DISCHARGE DATE")
  1. S VDATA=$$GET^EASEZC1(EASDFN_";"_+X,"2^2.3216^.02")
  1. I (VDATA=-1)!(VDATA="") S VDATA="UNKNOWN"
  1. S ^TMP("EZDATA",$J,KEY,1,2)=VDATA
  1. S KEY=+$$KEY711^EASEZU1("LAST BRANCH OF SERVICE")
  1. S VDATA=$$GET^EASEZC1(EASDFN_";"_+X,"2^2.3216^.03")
  1. I (VDATA=-1)!(VDATA="") S VDATA="UNKNOWN"
  1. S ^TMP("EZDATA",$J,KEY,1,2)=VDATA
  1. S KEY=+$$KEY711^EASEZU1("SERVICE NUMBER")
  1. S VDATA=$$GET^EASEZC1(EASDFN_";"_+X,"2^2.3216^.05")
  1. I (VDATA=-1)!(VDATA="") S VDATA="UNKNOWN"
  1. S ^TMP("EZDATA",$J,KEY,1,2)=VDATA
  1. S KEY=+$$KEY711^EASEZU1("LAST DISCHARGE TYPE")
  1. S VDATA=$$GET^EASEZC1(EASDFN_";"_+X,"2^2.3216^.06")
  1. I (VDATA=-1)!(VDATA="") S VDATA="UNKNOWN"
  1. S ^TMP("EZDATA",$J,KEY,1,2)=VDATA
  1. Q