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