Index: ccr/trunk/p/CCRDPT.m
===================================================================
--- ccr/trunk/p/CCRDPT.m	(revision 69)
+++ ccr/trunk/p/CCRDPT.m	(revision 122)
@@ -1,4 +1,4 @@
 CCRDPT ;CCRCCD/SMH - Routines to Extract Patient Data for CCDCCR; 6/15/08
-          ;;0.1;CCRCCD;;Jun 15, 2008;
+  ;;0.1;CCRCCD;;Jun 15, 2008;
  ;Copyright 2008 WorldVistA.  Licensed under the terms of the GNU
  ;General Public License See attached copy of the License.
@@ -17,159 +17,154 @@
  ;with this program; if not, write to the Free Software Foundation, Inc.,
  ;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-          ; NOTE TO PROGRAMMER: You need to call INIT(DPT) to initialize; and
-          ; DESTROY to clean-up.
-
-          ; The first line of every routine tests if the global exists.
-
-          ; CCRDPT     83 lines  CCRCCD/SMH - Routines to Extract Patient Data for
-          ; INIT        9 lines  Copy DFN global to a local variable
-          ; DESTROY     6 lines  Kill local variable
-          ; FAMILY      6 lines  Family Name
-          ; GIVEN       6 lines  Given Name
-          ; MIDDLE      6 lines  Middle Name
-          ; SUFFIX      6 lines  Suffix Name
-          ; DISPNAME    5 lines  Display Name
-          ; DOB         6 lines  Date of Birth
-          ; GENDER      4 lines  Get Gender
-          ; SSN         4 lines  Get SSN for ID
-          ; ADDRTYPE    4 lines  Get Home Address
-          ; ADDR1       4 lines  Get Home Address line 1
-          ; ADDR2       5 lines  Get Home Address line 2
-          ; CITY        4 lines  Get City for Home Address
-          ; STATE      11 lines  Get State for Home Address
-          ; ZIP         4 lines  Get Zip code for Home Address
-          ; COUNTY      4 lines  Get County for our Address
-          ; COUNTRY     4 lines  Get Country for our Address
-          ; RESTEL      4 lines  Residential Telephone
-          ; WORKTEL     4 lines  Work Telephone
-          ; EMAIL       4 lines  Email Adddress
-          ; CELLTEL     4 lines  Cell Phone
-          ; NOK1FAM     6 lines  Next of Kin 1 (NOK1) Family Name
-          ; NOK1GIV     6 lines  NOK1 Given Name
-          ; NOK1MID     6 lines  NOK1 Middle Name
-          ; NOK1SUF     6 lines  NOK1 Suffi Name
-          ; NOK1DISP    5 lines  NOK1 Display Name
-          ; NOK1REL     4 lines  NOK1 Relationship to the patient
-          ; NOK1ADD1    4 lines  NOK1 Address 1
-          ; NOK1ADD2    5 lines  NOK1 Address 2
-          ; NOK1CITY    4 lines  NOK1 City
-          ; NOK1STAT    5 lines  NOK1 State
-          ; NOK1ZIP     4 lines  NOK1 Zip Code
-          ; NOK1HTEL;   4 lines  NOK1 Home Telephone
-          ; NOK1WTEL;   4 lines  NOK1 Work Telephone
-          ; NOK1SAME;   4 lines  Is NOK1's Address the same the patient?
-          ; NOK2FAM     6 lines  NOK2 Family Name
-          ; NOK2GIV     6 lines  NOK2 Given Name
-          ; NOK2MID     6 lines  NOK2 Middle Name
-          ; NOK2SUF     5 lines  NOK2 Suffi Name
-          ; NOK2DISP    5 lines  NOK2 Display Name
-          ; NOK2REL     4 lines  NOK2 Relationship to the patient
-          ; NOK2ADD1    4 lines  NOK2 Address 1
-          ; NOK2ADD2    5 lines  NOK2 Address 2
-          ; NOK2CITY    4 lines  NOK2 City
-          ; NOK2STAT    5 lines  NOK2 State
-          ; NOK2ZIP     4 lines  NOK2 Zip Code
-          ; NOK2HTEL;   4 lines  NOK2 Home Telephone
-          ; NOK2WTEL;   4 lines  NOK2 Work Telephone
-          ; NOK2SAME;   4 lines  Is NOK2's Address the same the patient?
-          ; EMERFAM     6 lines  Emergency Contact (EMER) Family Name
-          ; EMERGIV     6 lines  EMER Given Name
-          ; EMERMID     6 lines  EMER Middle Name
-          ; EMERSUF     5 lines  EMER Suffi Name
-          ; EMERDISP    5 lines  EMER Display Name
-          ; EMERREL     4 lines  EMER Relationship to the patient
-          ; EMERADD1    4 lines  EMER Address 1
-          ; EMERADD2    5 lines  EMER Address 2
-          ; EMERCITY    4 lines  EMER City
-          ; EMERSTAT    5 lines  EMER State
-          ; EMERZIP     4 lines  EMER Zip Code
-          ; EMERHTEL;   4 lines  EMER Home Telephone
-          ; EMERWTEL;   4 lines  EMER Work Telephone
-          ; EMERSAME;   4 lines  Is EMER's Address the same the NOK?
-
+    ; NOTE TO PROGRAMMER: You need to call INIT(DPT) to initialize; and
+    ; DESTROY to clean-up.
+    ; The first line of every routine tests if the global exists.
+    ;
+    ; CCRDPT     83 lines  CCRCCD/SMH - Routines to Extract Patient Data for
+    ; INIT        9 lines  Copy DFN global to a local variable
+    ; DESTROY     6 lines  Kill local variable
+    ; FAMILY      6 lines  Family Name
+    ; GIVEN       6 lines  Given Name
+    ; MIDDLE      6 lines  Middle Name
+    ; SUFFIX      6 lines  Suffix Name
+    ; DISPNAME    5 lines  Display Name
+    ; DOB         6 lines  Date of Birth
+    ; GENDER      4 lines  Get Gender
+    ; SSN         4 lines  Get SSN for ID
+    ; ADDRTYPE    4 lines  Get Home Address
+    ; ADDR1       4 lines  Get Home Address line 1
+    ; ADDR2       5 lines  Get Home Address line 2
+    ; CITY        4 lines  Get City for Home Address
+    ; STATE      11 lines  Get State for Home Address
+    ; ZIP         4 lines  Get Zip code for Home Address
+    ; COUNTY      4 lines  Get County for our Address
+    ; COUNTRY     4 lines  Get Country for our Address
+    ; RESTEL      4 lines  Residential Telephone
+    ; WORKTEL     4 lines  Work Telephone
+    ; EMAIL       4 lines  Email Adddress
+    ; CELLTEL     4 lines  Cell Phone
+    ; NOK1FAM     6 lines  Next of Kin 1 (NOK1) Family Name
+    ; NOK1GIV     6 lines  NOK1 Given Name
+    ; NOK1MID     6 lines  NOK1 Middle Name
+    ; NOK1SUF     6 lines  NOK1 Suffi Name
+    ; NOK1DISP    5 lines  NOK1 Display Name
+    ; NOK1REL     4 lines  NOK1 Relationship to the patient
+    ; NOK1ADD1    4 lines  NOK1 Address 1
+    ; NOK1ADD2    5 lines  NOK1 Address 2
+    ; NOK1CITY    4 lines  NOK1 City
+    ; NOK1STAT    5 lines  NOK1 State
+    ; NOK1ZIP     4 lines  NOK1 Zip Code
+    ; NOK1HTEL;   4 lines  NOK1 Home Telephone
+    ; NOK1WTEL;   4 lines  NOK1 Work Telephone
+    ; NOK1SAME;   4 lines  Is NOK1's Address the same the patient?
+    ; NOK2FAM     6 lines  NOK2 Family Name
+    ; NOK2GIV     6 lines  NOK2 Given Name
+    ; NOK2MID     6 lines  NOK2 Middle Name
+    ; NOK2SUF     5 lines  NOK2 Suffi Name
+    ; NOK2DISP    5 lines  NOK2 Display Name
+    ; NOK2REL     4 lines  NOK2 Relationship to the patient
+    ; NOK2ADD1    4 lines  NOK2 Address 1
+    ; NOK2ADD2    5 lines  NOK2 Address 2
+    ; NOK2CITY    4 lines  NOK2 City
+    ; NOK2STAT    5 lines  NOK2 State
+    ; NOK2ZIP     4 lines  NOK2 Zip Code
+    ; NOK2HTEL;   4 lines  NOK2 Home Telephone
+    ; NOK2WTEL;   4 lines  NOK2 Work Telephone
+    ; NOK2SAME;   4 lines  Is NOK2's Address the same the patient?
+    ; EMERFAM     6 lines  Emergency Contact (EMER) Family Name
+    ; EMERGIV     6 lines  EMER Given Name
+    ; EMERMID     6 lines  EMER Middle Name
+    ; EMERSUF     5 lines  EMER Suffi Name
+    ; EMERDISP    5 lines  EMER Display Name
+    ; EMERREL     4 lines  EMER Relationship to the patient
+    ; EMERADD1    4 lines  EMER Address 1
+    ; EMERADD2    5 lines  EMER Address 2
+    ; EMERCITY    4 lines  EMER City
+    ; EMERSTAT    5 lines  EMER State
+    ; EMERZIP     4 lines  EMER Zip Code
+    ; EMERHTEL;   4 lines  EMER Home Telephone
+    ; EMERWTEL;   4 lines  EMER Work Telephone
+    ; EMERSAME;   4 lines  Is EMER's Address the same the NOK?
+    ;
           W "No Entry at top!" Q
-
-          ; The following is a map of the relevant data in the patient global.
-          ;
-          ; ^DPT(D0,0)= (#.01) NAME [1F] ^ (#.02) SEX [2S] ^ (#.03) DATE OF BIRTH [3D] ^
-          ; ==>^ (#.05) MARITAL STATUS [5P:11] ^ (#.06) RACE [6P:10] ^ (#.07)
-          ; ==>OCCUPATION [7F] ^ (#.08) RELIGIOUS PREFERENCE [8P:13] ^ (#.09)
-          ; ==>SOCIAL SECURITY NUMBER [9F] ^ (#.091) REMARKS [10F] ^ (#.092)
-          ; ==>PLACE OF BIRTH [CITY] [11F] ^ (#.093) PLACE OF BIRTH [STATE]
-          ; ==>[12P:5] ^  ^ (#.14) CURRENT MEANS TEST STATUS [14P:408.32] ^
-          ; ==>(#.096) WHO ENTERED PATIENT [15P:200] ^ (#.097) DATE ENTERED INTO
-          ; ==>FILE [16D] ^ (#.098) HOW WAS PATIENT ENTERED? [17S] ^ (#.081)
-          ; ==>DUPLICATE STATUS [18S] ^ (#.082) PATIENT MERGED TO [19P:2] ^
-          ; ==>(#.083) CHECK FOR DUPLICATE [20S] ^ (#.6) TEST PATIENT INDICATOR
-          ; ==>[21S] ^
-          ; ^DPT(D0,.01,0)=^2.01^^  (#1) ALIAS
-          ; ^DPT(D0,.01,D1,0)= (#.01) ALIAS [1F] ^ (#1) ALIAS SSN [2F] ^ (#100.03) ALIAS
-          ; ==>COMPONENTS [3P:20] ^
-          ; ^DPT(D0,.11)= (#.111) STREET ADDRESS [LINE 1] [1F] ^ (#.112) STREET ADDRESS
-          ; ==>[LINE 2] [2F] ^ (#.113) STREET ADDRESS [LINE 3] [3F] ^ (#.114)
-          ; ==>CITY [4F] ^ (#.115) STATE [5P:5] ^ (#.116) ZIP CODE [6F] ^
-          ; ==>(#.117) COUNTY [7N] ^  ^  ^  ^  ^ (#.1112) ZIP+4 [12F] ^
-          ; ==>(#.118) ADDRESS CHANGE DT/TM [13D] ^ (#.119) ADDRESS CHANGE
-          ; ==>SOURCE [14S] ^ (#.12) ADDRESS CHANGE SITE [15P:4] ^ (#.121) BAD
-          ; ==>ADDRESS INDICATOR [16S] ^ (#.122) ADDRESS CHANGE USER [17P:200]
-          ; ==>^
-          ; ^DPT(D0,.121)= (#.1211) TEMPORARY STREET [LINE 1] [1F] ^ (#.1212) TEMPORARY
-          ; ==>STREET [LINE 2] [2F] ^ (#.1213) TEMPORARY STREET [LINE 3] [3F]
-          ; ==>^ (#.1214) TEMPORARY CITY [4F] ^ (#.1215) TEMPORARY STATE
-          ; ==>[5P:5] ^ (#.1216) TEMPORARY ZIP CODE [6F] ^ (#.1217) TEMPORARY
-          ; ==>ADDRESS START DATE [7D] ^ (#.1218) TEMPORARY ADDRESS END DATE
-          ; ==>[8D] ^ (#.12105) TEMPORARY ADDRESS ACTIVE? [9S] ^ (#.1219)
-          ; ==>TEMPORARY PHONE NUMBER [10F] ^ (#.12111) TEMPORARY ADDRESS
-          ; ==>COUNTY [11N] ^ (#.12112) TEMPORARY ZIP+4 [12F] ^ (#.12113)
-          ; ==>TEMPORARY ADDRESS CHANGE DT/TM [13D] ^
-          ; ^DPT(D0,.121)= (#.12114) TEMPORARY ADDRESS CHANGE SITE [14P:4] ^
-          ; ^DPT(D0,.13)= (#.131) PHONE NUMBER [RESIDENCE] [1F] ^ (#.132) PHONE NUMBER
-          ; ==>[WORK] [2F] ^ (#.133) EMAIL ADDRESS [3F] ^ (#.134) PHONE NUMBER
-          ; ==>[CELLULAR] [4F] ^ (#.135) PAGER NUMBER [5F] ^ (#.136) EMAIL
-          ; ==>ADDRESS CHANGE DT/TM [6D] ^ (#.137) EMAIL ADDRESS CHANGE SOURCE
-          ; ==>[7S] ^ (#.138) EMAIL ADDRESS CHANGE SITE [8P:4] ^ (#.139)
-          ; ==>CELLULAR NUMBER CHANGE DT/TM [9D] ^ (#.1311) CELLULAR NUMBER
-          ; ==>CHANGE SOURCE [10S] ^ (#.13111) CELLULAR NUMBER CHANGE SITE
-          ; ==>[11P:4] ^ (#.1312) PAGER NUMBER CHANGE DT/TM [12D] ^ (#.1313)
-          ; ==>PAGER NUMBER CHANGE SOURCE [13S] ^ (#.1314) PAGER NUMBER CHANGE
-          ; ==>SITE [14P:4] ^
-          ; ^DPT(D0,.21)= (#.211) K-NAME OF PRIMARY NOK [1F] ^ (#.212) K-RELATIONSHIP TO
-          ; ==>PATIENT [2F] ^ (#.213) K-STREET ADDRESS [LINE 1] [3F] ^ (#.214)
-          ; ==>K-STREET ADDRESS [LINE 2] [4F] ^ (#.215) K-STREET ADDRESS [LINE
-          ; ==>3] [5F] ^
-          ; ^DPT(D0,.21)= (#.216) K-CITY [6F] ^ (#.217) K-STATE [7P:5] ^ (#.218) K-ZIP
-          ; ==>CODE [8F] ^ (#.219) K-PHONE NUMBER [9F] ^ (#.2125) K-ADDRESS
-          ; ==>SAME AS PATIENT'S? [10S] ^ (#.21011) K-WORK PHONE NUMBER [11F]
-          ; ==>^
-          ; ^DPT(D0,.211)= (#.2191) K2-NAME OF SECONDARY NOK [1F] ^ (#.2192)
-          ; ==>K2-RELATIONSHIP TO PATIENT [2F] ^ (#.2193) K2-STREET ADDRESS
-          ; ==>[LINE 1] [3F] ^ (#.2194) K2-STREET ADDRESS [LINE 2] [4F] ^
-          ; ==>(#.2195) K2-STREET ADDRESS [LINE 3] [5F] ^ (#.2196) K2-CITY
-          ; ==>[6F] ^ (#.2197) K2-STATE [7P:5] ^ (#.2198) K2-ZIP CODE [8F] ^
-          ; ==>(#.2199) K2-PHONE NUMBER [9F] ^ (#.21925) K2-ADDRESS SAME AS
-          ; ==>PATIENT'S? [10S] ^ (#.211011) K2-WORK PHONE NUMBER [11F] ^
-          ; ^DPT(D0,.25)= (#.251) SPOUSE'S EMPLOYER NAME [1F] ^ (#.252) SPOUSE'S EMP
-          ; ==>STREET [LINE 1] [2F] ^ (#.253) SPOUSE'S EMP STREET [LINE 2]
-          ; ==>[3F] ^ (#.254) SPOUSE'S EMP STREET [LINE 3] [4F] ^ (#.255)
-          ; ==>SPOUSE'S EMPLOYER'S CITY [5F] ^ (#.256) SPOUSE'S EMPLOYER'S
-          ; ==>STATE [6P:5] ^ (#.257) SPOUSE'S EMP ZIP CODE [7F] ^ (#.258)
-          ; ==>SPOUSE'S EMP PHONE NUMBER [8F] ^  ^  ^  ^  ^  ^ (#.2514)
-          ; ==>SPOUSE'S OCCUPATION [14F] ^ (#.2515) SPOUSE'S EMPLOYMENT STATUS
-          ; ==>[15S] ^ (#.2516) SPOUSE'S RETIREMENT DATE [16D] ^
-          ; ^DPT(D0,.33)= (#.331) E-NAME [1F] ^ (#.332) E-RELATIONSHIP TO PATIENT [2F] ^
-          ; ==>(#.333) E-STREET ADDRESS [LINE 1] [3F] ^ (#.334) E-STREET
-          ; ==>ADDRESS [LINE 2] [4F] ^ (#.335) E-STREET ADDRESS [LINE 3] [5F]
-          ; ==>^ (#.336) E-CITY [6F] ^ (#.337) E-STATE [7P:5] ^ (#.338) E-ZIP
-          ; ==>CODE [8F] ^ (#.339) E-PHONE NUMBER [9F] ^ (#.3305) E-EMER.
-          ; ==>CONTACT SAME AS NOK? [10S] ^ (#.33011) E-WORK PHONE NUMBER
-          ; ==>[11F] ^
-
-INIT(DFN) ; Copy DFN global to a local variable; PUBLIC
-          ; INPUT: Patient IEN (DFN)
-          ; OUTPUT: PT in the Symbol Table, representing the patient global
-
-          ; Instead of accessing a global each single read (SLOOOOW)
-          ; read it off a local variable stored in Memory.
+   ; The following is a map of the relevant data in the patient global.
+    ;
+    ; ^DPT(D0,0)= (#.01) NAME [1F] ^ (#.02) SEX [2S] ^ (#.03) DATE OF BIRTH [3D] ^
+    ; ==>^ (#.05) MARITAL STATUS [5P:11] ^ (#.06) RACE [6P:10] ^ (#.07)
+    ; ==>OCCUPATION [7F] ^ (#.08) RELIGIOUS PREFERENCE [8P:13] ^ (#.09)
+    ; ==>SOCIAL SECURITY NUMBER [9F] ^ (#.091) REMARKS [10F] ^ (#.092)
+    ; ==>PLACE OF BIRTH [CITY] [11F] ^ (#.093) PLACE OF BIRTH [STATE]
+    ; ==>[12P:5] ^  ^ (#.14) CURRENT MEANS TEST STATUS [14P:408.32] ^
+    ; ==>(#.096) WHO ENTERED PATIENT [15P:200] ^ (#.097) DATE ENTERED INTO
+    ; ==>FILE [16D] ^ (#.098) HOW WAS PATIENT ENTERED? [17S] ^ (#.081)
+    ; ==>DUPLICATE STATUS [18S] ^ (#.082) PATIENT MERGED TO [19P:2] ^
+    ; ==>(#.083) CHECK FOR DUPLICATE [20S] ^ (#.6) TEST PATIENT INDICATOR
+    ; ==>[21S] ^
+    ; ^DPT(D0,.01,0)=^2.01^^  (#1) ALIAS
+    ; ^DPT(D0,.01,D1,0)= (#.01) ALIAS [1F] ^ (#1) ALIAS SSN [2F] ^ (#100.03) ALIAS
+    ; ==>COMPONENTS [3P:20] ^
+    ; ^DPT(D0,.11)= (#.111) STREET ADDRESS [LINE 1] [1F] ^ (#.112) STREET ADDRESS
+    ; ==>[LINE 2] [2F] ^ (#.113) STREET ADDRESS [LINE 3] [3F] ^ (#.114)
+    ; ==>CITY [4F] ^ (#.115) STATE [5P:5] ^ (#.116) ZIP CODE [6F] ^
+    ; ==>(#.117) COUNTY [7N] ^  ^  ^  ^  ^ (#.1112) ZIP+4 [12F] ^
+    ; ==>(#.118) ADDRESS CHANGE DT/TM [13D] ^ (#.119) ADDRESS CHANGE
+    ; ==>SOURCE [14S] ^ (#.12) ADDRESS CHANGE SITE [15P:4] ^ (#.121) BAD
+    ; ==>ADDRESS INDICATOR [16S] ^ (#.122) ADDRESS CHANGE USER [17P:200]
+    ; ==>^
+    ; ^DPT(D0,.121)= (#.1211) TEMPORARY STREET [LINE 1] [1F] ^ (#.1212) TEMPORARY
+    ; ==>STREET [LINE 2] [2F] ^ (#.1213) TEMPORARY STREET [LINE 3] [3F]
+    ; ==>^ (#.1214) TEMPORARY CITY [4F] ^ (#.1215) TEMPORARY STATE
+    ; ==>[5P:5] ^ (#.1216) TEMPORARY ZIP CODE [6F] ^ (#.1217) TEMPORARY
+    ; ==>ADDRESS START DATE [7D] ^ (#.1218) TEMPORARY ADDRESS END DATE
+    ; ==>[8D] ^ (#.12105) TEMPORARY ADDRESS ACTIVE? [9S] ^ (#.1219)
+    ; ==>TEMPORARY PHONE NUMBER [10F] ^ (#.12111) TEMPORARY ADDRESS
+    ; ==>COUNTY [11N] ^ (#.12112) TEMPORARY ZIP+4 [12F] ^ (#.12113)
+    ; ==>TEMPORARY ADDRESS CHANGE DT/TM [13D] ^
+    ; ^DPT(D0,.121)= (#.12114) TEMPORARY ADDRESS CHANGE SITE [14P:4] ^
+    ; ^DPT(D0,.13)= (#.131) PHONE NUMBER [RESIDENCE] [1F] ^ (#.132) PHONE NUMBER
+    ; ==>[WORK] [2F] ^ (#.133) EMAIL ADDRESS [3F] ^ (#.134) PHONE NUMBER
+    ; ==>[CELLULAR] [4F] ^ (#.135) PAGER NUMBER [5F] ^ (#.136) EMAIL
+    ; ==>ADDRESS CHANGE DT/TM [6D] ^ (#.137) EMAIL ADDRESS CHANGE SOURCE
+    ; ==>[7S] ^ (#.138) EMAIL ADDRESS CHANGE SITE [8P:4] ^ (#.139)
+    ; ==>CELLULAR NUMBER CHANGE DT/TM [9D] ^ (#.1311) CELLULAR NUMBER
+    ; ==>CHANGE SOURCE [10S] ^ (#.13111) CELLULAR NUMBER CHANGE SITE
+    ; ==>[11P:4] ^ (#.1312) PAGER NUMBER CHANGE DT/TM [12D] ^ (#.1313)
+    ; ==>PAGER NUMBER CHANGE SOURCE [13S] ^ (#.1314) PAGER NUMBER CHANGE
+    ; ==>SITE [14P:4] ^
+    ; ^DPT(D0,.21)= (#.211) K-NAME OF PRIMARY NOK [1F] ^ (#.212) K-RELATIONSHIP TO
+    ; ==>PATIENT [2F] ^ (#.213) K-STREET ADDRESS [LINE 1] [3F] ^ (#.214)
+    ; ==>K-STREET ADDRESS [LINE 2] [4F] ^ (#.215) K-STREET ADDRESS [LINE
+    ; ==>3] [5F] ^
+    ; ^DPT(D0,.21)= (#.216) K-CITY [6F] ^ (#.217) K-STATE [7P:5] ^ (#.218) K-ZIP
+    ; ==>CODE [8F] ^ (#.219) K-PHONE NUMBER [9F] ^ (#.2125) K-ADDRESS
+    ; ==>SAME AS PATIENT'S? [10S] ^ (#.21011) K-WORK PHONE NUMBER [11F]
+    ; ==>^
+    ; ^DPT(D0,.211)= (#.2191) K2-NAME OF SECONDARY NOK [1F] ^ (#.2192)
+    ; ==>K2-RELATIONSHIP TO PATIENT [2F] ^ (#.2193) K2-STREET ADDRESS
+    ; ==>[LINE 1] [3F] ^ (#.2194) K2-STREET ADDRESS [LINE 2] [4F] ^
+    ; ==>(#.2195) K2-STREET ADDRESS [LINE 3] [5F] ^ (#.2196) K2-CITY
+    ; ==>[6F] ^ (#.2197) K2-STATE [7P:5] ^ (#.2198) K2-ZIP CODE [8F] ^
+    ; ==>(#.2199) K2-PHONE NUMBER [9F] ^ (#.21925) K2-ADDRESS SAME AS
+    ; ==>PATIENT'S? [10S] ^ (#.211011) K2-WORK PHONE NUMBER [11F] ^
+    ; ^DPT(D0,.25)= (#.251) SPOUSE'S EMPLOYER NAME [1F] ^ (#.252) SPOUSE'S EMP
+    ; ==>STREET [LINE 1] [2F] ^ (#.253) SPOUSE'S EMP STREET [LINE 2]
+    ; ==>[3F] ^ (#.254) SPOUSE'S EMP STREET [LINE 3] [4F] ^ (#.255)
+    ; ==>SPOUSE'S EMPLOYER'S CITY [5F] ^ (#.256) SPOUSE'S EMPLOYER'S
+    ; ==>STATE [6P:5] ^ (#.257) SPOUSE'S EMP ZIP CODE [7F] ^ (#.258)
+    ; ==>SPOUSE'S EMP PHONE NUMBER [8F] ^  ^  ^  ^  ^  ^ (#.2514)
+    ; ==>SPOUSE'S OCCUPATION [14F] ^ (#.2515) SPOUSE'S EMPLOYMENT STATUS
+    ; ==>[15S] ^ (#.2516) SPOUSE'S RETIREMENT DATE [16D] ^
+    ; ^DPT(D0,.33)= (#.331) E-NAME [1F] ^ (#.332) E-RELATIONSHIP TO PATIENT [2F] ^
+    ; ==>(#.333) E-STREET ADDRESS [LINE 1] [3F] ^ (#.334) E-STREET
+    ; ==>ADDRESS [LINE 2] [4F] ^ (#.335) E-STREET ADDRESS [LINE 3] [5F]
+    ; ==>^ (#.336) E-CITY [6F] ^ (#.337) E-STATE [7P:5] ^ (#.338) E-ZIP
+    ; ==>CODE [8F] ^ (#.339) E-PHONE NUMBER [9F] ^ (#.3305) E-EMER.
+    ; ==>CONTACT SAME AS NOK? [10S] ^ (#.33011) E-WORK PHONE NUMBER
+    ; ==>[11F] ^DFN) ; Copy DFN global to a local variable; PUBLIC
+    ; INPUT: Patient IEN (DFN)
+    ; OUTPUT: PT in the Symbol Table, representing the patient global
+    ; Instead of accessing a global each single read (SLOOOOW)
+    ; read it off a local variable stored in Memory.
+INIT(DFN) ;
           M PT=^DPT(DFN)
           Q
