| 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 |  ;
 | 
|---|