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