procedure main() local in,field,numfields,out1,line,data item_name := [ "yr (PO) ", # 1 "mo (PO) ", # 2 "wgt (PO) ", # 3 "wgt_cnt (PO) ", # 4 "glu_avg (PO) ", # 5 "glu_cnt (PO) ", # 6 "glu_02 (PO) ", # 7 "cnt_02 (PO) ", # 8 "glu_04 (PO) ", # 9 "cnt_04 (PO) ", # 10 "glu_06 (PO) ", # 11 "cnt_06 (PO) ", # 12 "glu_08 (PO) ", # 13 "cnt_08 (PO) ", # 14 "glu_10 (PO) ", # 15 "cnt_10 (PO) ", # 16 "glu_12 (PO) ", # 17 "cnt_12 (PO) ", # 18 "glu_other (PO) ", # 19 "cnt_other (PO) ", # 20 "sys bp (PO) ", # 21 "dia bp (PO) ", # 22 "pulse (PO) ", # 23 "cnt_bp (PO) ", # 24 "bf (PO) ", # 25 "h2o (PO) ", # 26 "bone (PO) ", # 27 "bmi (PO) ", # 28 "cnt_bmi (PO) ", # 29 "cal (DP) ", # 30 "fat (DP) ", # 31 "sat (DP) ", # 32 "poly (DP) ", # 33 "mono (DP) ", # 34 "chol (DP) ", # 35 "sod (DP) ", # 36 "pot (DP) ", # 37 "carb (DP) ", # 38 "fib (DP) ", # 39 "sugar (DP) ", # 40 "prot (DP) ", # 41 "water (DP) ", # 42 "first_sleep (PO) ", # 43 "second_sleep (PO) ", # 44 "second_occurs (PO) ", # 45 "total_sleep (PO) ", # 46 "days (PO) ", # 47 "days_extra (PO) ", # 48 "days_none (PO) ", # 49 "miles_walk (PO) ", # 50 "minutes_lamp (PO) ", # 51 "min_yoga (PO) ", # 52 "neck_perc (PO) ", # 53 "stretch_perc (PO) ", # 54 "jg (PO) ", # 55 "massheat (PO) ", # 56 "massvib (PO) ", # 57 "to_sleep_time (PO) ", # 58 "chronotype (PO) ", # 59 "fast (LA) ", # 60 "a1c (LA) ", # 61 "sodium (LA) ", # 62 "potassium (LA) ", # 63 "chloride (LA) ", # 64 "carbon_dioxide (LA) ", # 65 "bun (LA) ", # 66 "creatnine (LA) ", # 67 "gfr (LA) ", # 68 "ast (LA) ", # 69 "alt (LA) ", # 70 "bilirubin_tot (LA) ", # 71 "alk_phosphatase (LA) ", # 72 "protein_total (LA) ", # 73 "albumin (LA) ", # 74 "calcium (LA) ", # 75 "glucose (LA) ", # 76 "triglycerides (LA) ", # 77 "cholesterol (LA) ", # 78 "hdl (LA) ", # 79 "ldl (LA) ", # 80 "ldl_hdl_ratio (LA) ", # 81 "chol_hdl_ratio (LA) ", # 82 "alb_creat_ratio (LA) ", # 83 "psa (LA) ", # 84 "ammonia (LA) ", # 85 "agap (LA) ", # 86 "TIME (mo) (LA) ", # 87 "bms (PO) ", # 88 "bm_angle (PO) ", # 89 "bm_sz (PO) ", # 90 "D yr (PO) ", # 91 "D mo (PO) ", # 92 "D wgt (PO) ", # 93 "D wgt_cnt (PO) ", # 94 "D glu_avg (PO) ", # 95 "D glu_cnt (PO) ", # 96 "D glu_02 (PO) ", # 97 "D cnt_02 (PO) ", # 98 "D glu_04 (PO) ", # 99 "D cnt_04 (PO) ", # 100 "D glu_06 (PO) ", # 101 "D cnt_06 (PO) ", # 102 "D glu_08 (PO) ", # 103 "D cnt_08 (PO) ", # 104 "D glu_10 (PO) ", # 105 "D cnt_10 (PO) ", # 106 "D glu_12 (PO) ", # 107 "D cnt_12 (PO) ", # 108 "D glu_other (PO) ", # 109 "D cnt_other (PO) ", # 110 "D sys bp (PO) ", # 111 "D dia bp (PO) ", # 112 "D pulse (PO) ", # 113 "D cnt_bp (PO) ", # 114 "D bf (PO) ", # 115 "D h2o (PO) ", # 116 "D bone (PO) ", # 117 "D bmi (PO) ", # 118 "D cnt_bmi (PO) ", # 119 "D cal (DP) ", # 120 "D fat (DP) ", # 121 "D sat (DP) ", # 122 "D poly (DP) ", # 123 "D mono (DP) ", # 124 "D chol (DP) ", # 125 "D sod (DP) ", # 126 "D pot (DP) ", # 127 "D carb (DP) ", # 128 "D fib (DP) ", # 129 "D sugar (DP) ", # 130 "D prot (DP) ", # 131 "D water (DP) ", # 132 "D first_sleep (PO) ", # 133 "D second_sleep (PO) ", # 134 "D second_occurs (PO) ", # 135 "D total_sleep (PO) ", # 136 "D days (PO) ", # 137 "D days_extra (PO) ", # 138 "D days_none (PO) ", # 139 "D miles_walk (PO) ", # 140 "D minutes_lamp (PO) ", # 141 "D min_yoga (PO) ", # 142 "D neck_perc (PO) ", # 143 "D stretch_perc (PO) ", # 144 "D jg (PO) ", # 145 "D massheat (PO) ", # 146 "D massvib (PO) ", # 147 "D to_sleep_time (PO) ", # 148 "D chronotype (PO) ", # 149 "D bms (PO) ", # 150 "D bm_angle (PO) ", # 151 "D bm_sz (PO) " # 152 ] numfields := 152 # will be 141 in := open("healthoutnum4.txt","r") field := 1 while field <= numfields do { out1 := open("TMP/healthoutfield" || field || ".tmp","w") | { write("cannot open TMP/healthoutfield" || field || ".tmp") exit() } while line := read(in) do { data := extract(line,field) write(out1,data) } field +:= 1 flush(out1) close(out1) close(in) in := open("healthoutnum4.txt","r") } end procedure extract(line,field) local it,data2 it := 1 while it <= field do { line ?:= { data2 := tab(many('-0123456789.')) & tab(many(' ')) & tab(0) } it +:= 1 } return data2 end