| [613] | 1 | EASEZT1 ;ALB/jap - Data Transformation Logic for 1010EZ Processing ;10/12/00  13:08
 | 
|---|
 | 2 |  ;;1.0;ENROLLMENT APPLICATION SYSTEM;**51**;Mar 15, 2001
 | 
|---|
 | 3 |  ;
 | 
|---|
 | 4 |  ;
 | 
|---|
 | 5 | NAME(EASAPP,TYPE,MULTIPLE) ;get full name for person of interest
 | 
|---|
 | 6 |  ;input  EASAPP = application ien in file #712
 | 
|---|
 | 7 |  ;         TYPE = "APPLICANT", "SPOUSE", "CHILD1", "CHILD(N)", "NEXT-OF-KIN", "E-CONTACT"
 | 
|---|
 | 8 |  ;     MULTIPLE = default to 1, unless TYPE="CHILD(N)"
 | 
|---|
 | 9 |  ;output  NAME   =  LAST,FIRST MIDDLE SUFFIX
 | 
|---|
 | 10 |  ;
 | 
|---|
 | 11 |  ;sets entire name in Vista format;
 | 
|---|
 | 12 |  ;places result in the first data element associated with name;
 | 
|---|
 | 13 |  ;nulls unneeded ^TMP("EZDATA" nodes to avoid use in SORT^EASEZC3
 | 
|---|
 | 14 |  N RTR,KEY,NAME,LAST,FIRST,MDL,SUFF,T
 | 
|---|
 | 15 |  S NAME=""
 | 
|---|
 | 16 |  S KEY=+$$KEY711^EASEZU1(TYPE_" LAST NAME") I KEY D
 | 
|---|
 | 17 |  .S LAST=$P($$DATA712^EASEZU1(EASAPP,KEY,MULTIPLE),U,1)
 | 
|---|
 | 18 |  S KEY=+$$KEY711^EASEZU1(TYPE_" FIRST NAME") I KEY D
 | 
|---|
 | 19 |  .S FIRST=$P($$DATA712^EASEZU1(EASAPP,KEY,MULTIPLE),U,1)
 | 
|---|
 | 20 |  .F T=1,2 S ^TMP("EZDATA",$J,KEY,MULTIPLE,T)=""
 | 
|---|
 | 21 |  S KEY=+$$KEY711^EASEZU1(TYPE_" MIDDLE NAME") I KEY D
 | 
|---|
 | 22 |  .S MDL=$P($$DATA712^EASEZU1(EASAPP,KEY,MULTIPLE),U,1)
 | 
|---|
 | 23 |  .F T=1,2 S ^TMP("EZDATA",$J,KEY,MULTIPLE,T)=""
 | 
|---|
 | 24 |  S KEY=+$$KEY711^EASEZU1(TYPE_" SUFFIX NAME") I KEY D
 | 
|---|
 | 25 |  .S SUFF=$P($$DATA712^EASEZU1(EASAPP,KEY,MULTIPLE),U,1)
 | 
|---|
 | 26 |  .F T=1,2 S ^TMP("EZDATA",$J,KEY,MULTIPLE,T)=""
 | 
|---|
 | 27 |  I (LAST="")!(FIRST="") Q NAME
 | 
|---|
 | 28 |  S NAME=LAST_","_FIRST
 | 
|---|
 | 29 |  I $L(NAME)+$L(MDL)>45 S MDL=$E(MDL,1)
 | 
|---|
 | 30 |  I MDL'="" S NAME=NAME_" "_MDL
 | 
|---|
 | 31 |  I SUFF'="" S NAME=NAME_" "_SUFF
 | 
|---|
 | 32 |  S NAME=$$UC^EASEZT1($E(NAME,1,45))
 | 
|---|
 | 33 |  Q NAME
 | 
|---|
 | 34 |  ;
 | 
|---|
 | 35 | SSNOUT(EASSSN) ;format ssn for output to display or print
 | 
|---|
 | 36 |  ; input  EASSSN = 9 digit OR 9-digit+P ssn
 | 
|---|
 | 37 |  ; output    SSN = nnn-nn-nnnn OR nnn-nn-nnnnP
 | 
|---|
 | 38 |  N SSN,P,X1,X2,X3
 | 
|---|
 | 39 |  I EASSSN="--" Q ""
 | 
|---|
 | 40 |  I $L(EASSSN)'=9 Q EASSSN
 | 
|---|
 | 41 |  S X1=$E(EASSSN,1,3),X2=$E(EASSSN,4,5),X3=$E(EASSSN,6,9),P=$E(EASSSN,10)
 | 
|---|
 | 42 |  S SSN=X1_"-"_X2_"-"_X3 I P="P" S SSN=SSN_P
 | 
|---|
 | 43 |  Q SSN
 | 
|---|
 | 44 |  ;
 | 
|---|
 | 45 | UC(STRING) ;convert to uppercase
 | 
|---|
 | 46 |  ;input  STRING = alpha character string; mixed-case
 | 
|---|
 | 47 |  ;output      X = alpha character string; uppercase
 | 
|---|
 | 48 |  ;
 | 
|---|
 | 49 |  N %,X
 | 
|---|
 | 50 |  S X=STRING
 | 
|---|
 | 51 |  F %=1:1:$L(X) S:$E(X,%)?1L X=$E(X,0,%-1)_$C($A(X,%)-32)_$E(X,%+1,999)
 | 
|---|
 | 52 |  Q X
 | 
|---|
 | 53 |  ;
 | 
|---|
 | 54 | XDATE(XDATE) ;check date
 | 
|---|
 | 55 |  ;input  XDATE = external date mm/dd/yyyy where
 | 
|---|
 | 56 |  ;               mm, dd, and /or yyyy may be null
 | 
|---|
 | 57 |  ;output    XD = FM external date or null
 | 
|---|
 | 58 |  ;
 | 
|---|
 | 59 |  N X,XD,X1,X2,X3,Y,%DT
 | 
|---|
 | 60 |  I XDATE="//" Q ""
 | 
|---|
 | 61 |  S X1=$P(XDATE,"/",1),X2=$P(XDATE,"/",2),X3=$P(XDATE,"/",3)
 | 
|---|
 | 62 |  ;remove invalid portions
 | 
|---|
 | 63 |  I $L(X3)'=4 S X3=""
 | 
|---|
 | 64 |  I X1="" S X2=""
 | 
|---|
 | 65 |  I X3="" S X1="",X2=""
 | 
|---|
 | 66 |  ;if no month, day, year, then null
 | 
|---|
 | 67 |  I X1="",X2="",X3="" Q ""
 | 
|---|
 | 68 |  S X="" S:X1 X=X_X1_" " S:X2 X=X_X2_" " S X=X_X3
 | 
|---|
 | 69 |  ;convert to FM external format
 | 
|---|
 | 70 |  S %DT="P" D ^%DT
 | 
|---|
 | 71 |  D DD^%DT
 | 
|---|
 | 72 |  S XD=Y
 | 
|---|
 | 73 |  I XD=1699 S XD=""
 | 
|---|
 | 74 |  Q XD
 | 
|---|
 | 75 |  ;
 | 
|---|
 | 76 | YN(XDATA) ;
 | 
|---|
 | 77 |  N X
 | 
|---|
 | 78 |  I $L(XDATA)>1 Q XDATA
 | 
|---|
 | 79 |  S X=$S(XDATA="Y":"YES",XDATA="N":"NO",1:"")
 | 
|---|
 | 80 |  Q X
 | 
|---|
 | 81 |  ;
 | 
|---|
 | 82 | SEX(XDATA) ;
 | 
|---|
 | 83 |  N X
 | 
|---|
 | 84 |  I $L(XDATA)>1 Q XDATA
 | 
|---|
 | 85 |  S X=$S(XDATA="M":"MALE",XDATA="F":"FEMALE",1:"UNKNOWN")
 | 
|---|
 | 86 |  Q X
 | 
|---|
 | 87 |  ;
 | 
|---|
 | 88 | STATE(XDATA) ;
 | 
|---|
 | 89 |  N X,XI
 | 
|---|
 | 90 |  I $L(XDATA)'=2 Q XDATA
 | 
|---|
 | 91 |  I XDATA="AS" Q "AMERICAN SAMOA"
 | 
|---|
 | 92 |  I XDATA="DC" Q "DISTRICT OF COLUMBIA"
 | 
|---|
 | 93 |  I XDATA="FM" Q "FEDERATED STATES OF MICRONESIA"
 | 
|---|
 | 94 |  I XDATA="GU" Q "GUAM"
 | 
|---|
 | 95 |  I XDATA="MH" Q "MARSHALL ISLANDS"
 | 
|---|
 | 96 |  I XDATA="MP" Q "NORTHERN MARIANA ISLANDS"
 | 
|---|
 | 97 |  I XDATA="PW" Q "PALAU (TRUST TERRITORY)"
 | 
|---|
 | 98 |  I XDATA="PR" Q "PUERTO RICO"
 | 
|---|
 | 99 |  I XDATA="VI" Q "VIRGIN ISLANDS"
 | 
|---|
 | 100 |  I XDATA="FG" Q "FOREIGN COUNTRY"
 | 
|---|
 | 101 |  S XI=$O(^DIC(5,"C",XDATA,0)) I 'XI Q XDATA
 | 
|---|
 | 102 |  S X=$P($G(^DIC(5,XI,0)),U,1)
 | 
|---|
 | 103 |  Q X
 | 
|---|
 | 104 |  ;
 | 
|---|
 | 105 | COUNTY(EASAPP,XDATA) ;include county code
 | 
|---|
 | 106 |  ;this transform can only be used for APPLICANT COUNTY
 | 
|---|
 | 107 |  N X,ABBR,STATE,SIEN,CIEN,CCODE
 | 
|---|
 | 108 |  I XDATA="" Q XDATA
 | 
|---|
 | 109 |  S KEY=+$$KEY711^EASEZU1("APPLICANT STATE")
 | 
|---|
 | 110 |  I 'KEY Q XDATA
 | 
|---|
 | 111 |  S ABBR="",STATE="",SIEN="",CIEN="",CCODE=""
 | 
|---|
 | 112 |  I KEY D
 | 
|---|
 | 113 |  .S ABBR=$P($$DATA712^EASEZU1(EASAPP,KEY,1),U,1)
 | 
|---|
 | 114 |  .I ABBR'="" S STATE=$$STATE^EASEZT1(ABBR)
 | 
|---|
 | 115 |  .I STATE'="" S SIEN=$O(^DIC(5,"B",STATE,0))
 | 
|---|
 | 116 |  .I SIEN'="" S CIEN=$O(^DIC(5,SIEN,1,"B",XDATA,0))
 | 
|---|
 | 117 |  .I CIEN'="" S CCODE=$P($G(^DIC(5,SIEN,1,CIEN,0)),U,3)
 | 
|---|
 | 118 |  I CCODE'="" S XDATA=XDATA_" ("_CCODE_")"
 | 
|---|
 | 119 |  Q XDATA
 | 
|---|
 | 120 |  ;
 | 
|---|
 | 121 | ETHNIC(XDATA) ;
 | 
|---|
 | 122 |  N X
 | 
|---|
 | 123 |  I ($L(XDATA)>1)!(XDATA="") Q XDATA
 | 
|---|
 | 124 |  S X=$S(XDATA="Y":"YES",XDATA="N":"NO",XDATA="U":"UNKNOWN",1:"")
 | 
|---|
 | 125 |  I X'="" S X=X_" (S)"
 | 
|---|
 | 126 |  Q X
 | 
|---|
 | 127 |  ;
 | 
|---|
 | 128 | RACE(XDATA) ;
 | 
|---|
 | 129 |  N X
 | 
|---|
 | 130 |  I $L(XDATA)>1 Q XDATA
 | 
|---|
 | 131 |  S X=$S(XDATA="Y":"YES (S)",1:"")
 | 
|---|
 | 132 |  Q X
 | 
|---|
 | 133 |  ;
 | 
|---|
 | 134 | LAST(XDATA) ; return LAST NAME, first middle
 | 
|---|
 | 135 |  Q $$UC($P($G(XDATA),","))
 | 
|---|
 | 136 |  ;
 | 
|---|