Index: /PGC/tags/TMG-PGC/TMG-1.0-17.KIDS
===================================================================
--- /PGC/tags/TMG-PGC/TMG-1.0-17.KIDS	(revision 1505)
+++ /PGC/tags/TMG-PGC/TMG-1.0-17.KIDS	(revision 1505)
@@ -0,0 +1,21246 @@
+KIDS Distribution saved on Aug 03, 2012@16:45:27
+TMG*1.0*17
+**KIDS**:TMG*1.0*17^
+
+**INSTALL NAME**
+TMG*1.0*17
+"BLD",7649,0)
+TMG*1.0*17^FP OF GREENEVILLE (TMG)^0^3120803^n
+"BLD",7649,1,0)
+^^6^6^3101122^^
+"BLD",7649,1,1,0)
+This patch provides reports that can display graphically
+"BLD",7649,1,2,0)
+in unmodified CPRS.
+"BLD",7649,1,3,0)
+
+"BLD",7649,1,4,0)
+The reports are pediatric growth charts.
+"BLD",7649,1,5,0)
+
+"BLD",7649,1,6,0)
+It also includes text objects and text tables.
+"BLD",7649,4,0)
+^9.64PA^8925.1^3
+"BLD",7649,4,101.24,0)
+101.24
+"BLD",7649,4,101.24,222)
+y^y^f^^n^TMG REPORTS^y^o^n
+"BLD",7649,4,8925.1,0)
+8925.1
+"BLD",7649,4,8925.1,222)
+n^y^f^^n^TMG OBJECTS^y^o^n
+"BLD",7649,4,22713,0)
+22713
+"BLD",7649,4,22713,222)
+y^y^f^^n^TMG GC^y^o^n
+"BLD",7649,4,"B",101.24,101.24)
+
+"BLD",7649,4,"B",8925.1,8925.1)
+
+"BLD",7649,4,"B",22713,22713)
+
+"BLD",7649,6.3)
+23
+"BLD",7649,"ABPKG")
+n
+"BLD",7649,"INI")
+
+"BLD",7649,"INID")
+^n^
+"BLD",7649,"INIT")
+ADDRPT^TMGGRC2
+"BLD",7649,"KRN",0)
+^9.67PA^8989.52^19
+"BLD",7649,"KRN",.4,0)
+.4
+"BLD",7649,"KRN",.401,0)
+.401
+"BLD",7649,"KRN",.402,0)
+.402
+"BLD",7649,"KRN",.403,0)
+.403
+"BLD",7649,"KRN",.5,0)
+.5
+"BLD",7649,"KRN",.84,0)
+.84
+"BLD",7649,"KRN",3.6,0)
+3.6
+"BLD",7649,"KRN",3.8,0)
+3.8
+"BLD",7649,"KRN",9.2,0)
+9.2
+"BLD",7649,"KRN",9.8,0)
+9.8
+"BLD",7649,"KRN",9.8,"NM",0)
+^9.68A^27^22
+"BLD",7649,"KRN",9.8,"NM",4,0)
+TMGHTM1^^0^B51905296
+"BLD",7649,"KRN",9.8,"NM",5,0)
+TMGGRC1^^0^B221877068
+"BLD",7649,"KRN",9.8,"NM",6,0)
+TMGGRC2^^0^B190054215
+"BLD",7649,"KRN",9.8,"NM",9,0)
+TMGGRCU^^0^B133259645
+"BLD",7649,"KRN",9.8,"NM",10,0)
+TMGSTUT2^^0^B153970767
+"BLD",7649,"KRN",9.8,"NM",11,0)
+TMGDEBU2^^0^B16539573
+"BLD",7649,"KRN",9.8,"NM",12,0)
+TMGTIUOJ^^0^B58140826
+"BLD",7649,"KRN",9.8,"NM",13,0)
+TMGTIUO3^^0^B266021056
+"BLD",7649,"KRN",9.8,"NM",14,0)
+TMGTIUO4^^0^B185545212
+"BLD",7649,"KRN",9.8,"NM",15,0)
+TMGTIUO5^^0^B56372960
+"BLD",7649,"KRN",9.8,"NM",16,0)
+TMGTIUO6^^0^B57083103
+"BLD",7649,"KRN",9.8,"NM",17,0)
+TMGGRC3A^^0^B83124690
+"BLD",7649,"KRN",9.8,"NM",18,0)
+TMGGRC3B^^0^B134722379
+"BLD",7649,"KRN",9.8,"NM",19,0)
+TMGGRC3C^^0^B112156712
+"BLD",7649,"KRN",9.8,"NM",20,0)
+TMGGRC3D^^0^B100654947
+"BLD",7649,"KRN",9.8,"NM",21,0)
+TMGGRC3E^^0^B86352065
+"BLD",7649,"KRN",9.8,"NM",22,0)
+TMGGRC3F^^0^B207653088
+"BLD",7649,"KRN",9.8,"NM",23,0)
+TMGGRC2A^^0^B137060007
+"BLD",7649,"KRN",9.8,"NM",24,0)
+TMGGRC2B^^0^B135547639
+"BLD",7649,"KRN",9.8,"NM",25,0)
+TMGGRC2C^^0^B70356251
+"BLD",7649,"KRN",9.8,"NM",26,0)
+TMGUSRI2^^0^B308853482
+"BLD",7649,"KRN",9.8,"NM",27,0)
+TMGTERM^^0^B253183474
+"BLD",7649,"KRN",9.8,"NM","B","TMGDEBU2",11)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGGRC1",5)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGGRC2",6)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGGRC2A",23)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGGRC2B",24)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGGRC2C",25)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGGRC3A",17)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGGRC3B",18)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGGRC3C",19)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGGRC3D",20)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGGRC3E",21)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGGRC3F",22)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGGRCU",9)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGHTM1",4)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGSTUT2",10)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGTERM",27)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGTIUO3",13)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGTIUO4",14)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGTIUO5",15)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGTIUO6",16)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGTIUOJ",12)
+
+"BLD",7649,"KRN",9.8,"NM","B","TMGUSRI2",26)
+
+"BLD",7649,"KRN",19,0)
+19
+"BLD",7649,"KRN",19,"NM",0)
+^9.68A^^
+"BLD",7649,"KRN",19.1,0)
+19.1
+"BLD",7649,"KRN",101,0)
+101
+"BLD",7649,"KRN",409.61,0)
+409.61
+"BLD",7649,"KRN",771,0)
+771
+"BLD",7649,"KRN",870,0)
+870
+"BLD",7649,"KRN",8989.51,0)
+8989.51
+"BLD",7649,"KRN",8989.52,0)
+8989.52
+"BLD",7649,"KRN",8994,0)
+8994
+"BLD",7649,"KRN","B",.4,.4)
+
+"BLD",7649,"KRN","B",.401,.401)
+
+"BLD",7649,"KRN","B",.402,.402)
+
+"BLD",7649,"KRN","B",.403,.403)
+
+"BLD",7649,"KRN","B",.5,.5)
+
+"BLD",7649,"KRN","B",.84,.84)
+
+"BLD",7649,"KRN","B",3.6,3.6)
+
+"BLD",7649,"KRN","B",3.8,3.8)
+
+"BLD",7649,"KRN","B",9.2,9.2)
+
+"BLD",7649,"KRN","B",9.8,9.8)
+
+"BLD",7649,"KRN","B",19,19)
+
+"BLD",7649,"KRN","B",19.1,19.1)
+
+"BLD",7649,"KRN","B",101,101)
+
+"BLD",7649,"KRN","B",409.61,409.61)
+
+"BLD",7649,"KRN","B",771,771)
+
+"BLD",7649,"KRN","B",870,870)
+
+"BLD",7649,"KRN","B",8989.51,8989.51)
+
+"BLD",7649,"KRN","B",8989.52,8989.52)
+
+"BLD",7649,"KRN","B",8994,8994)
+
+"BLD",7649,"QDEF")
+^^^^NO^^^^NO^^NO
+"BLD",7649,"QUES",0)
+^9.62^^
+"BLD",7649,"REQB",0)
+^9.611^^
+"DATA",101.24,49,0)
+TMG GRAPH^49^1^^TMGGRC2^TMGGRAPH^0^R^^^^H^250
+"DATA",101.24,49,2)
+^^TMG GRAPH^TMG GRAPH^^^
+"DATA",101.24,50,0)
+TMG CHILD - HEIGHT CHART^50^1^^TMGGRC2^TMGGCHTC^0^R^^^^H^250
+"DATA",101.24,50,2)
+^^CHILD - HEIGHT CHART^TMG GROWTH CHART HEIGHT (CHILD)^^^
+"DATA",101.24,51,0)
+TMG INFANT - HEAD CIRC CHART^51^1^^TMGGRC2^TMGGCHDC^0^R^^^^H^250
+"DATA",101.24,51,2)
+^^INFANT - HEAD CIRC CHART^TMG GROWTH CHART FOR HEAD CIRCUMFERENCE^^^
+"DATA",101.24,52,0)
+TMG CHILD - WEIGHT CHART^52^1^^TMGGRC2^TMGGCWTC^0^R^^^^H^250
+"DATA",101.24,52,2)
+^^CHILD - WEIGHT CHART^TMG GROWTH CHART WEIGHT (CHILD)^^^
+"DATA",101.24,53,0)
+TMG CHILD - BMI CHART^53^1^^TMGGRC2^TMGGCBMC^0^R^^^^H^250
+"DATA",101.24,53,2)
+^^CHILD - BMI CHART^TMG GROWTH CHART BMI (CHILD)^^^
+"DATA",101.24,54,0)
+TMG INFANT - WT FOR LEN CHART^54^1^^TMGGRC2^TMGGCWHL^0^R^^^^H^250
+"DATA",101.24,54,2)
+^^INFANT -- WEIGHT FOR LENGTH CHART^INFANT WEIGHT FOR LENGTH CHART^^^
+"DATA",101.24,55,0)
+TMG INFANT - BMI CHART^55^1^^TMGGRC2^TMGGCBMI^0^R^^^^H^250
+"DATA",101.24,55,2)
+^^INFANT - BMI CHART^TMG GROWTH CHART BMI (INFANT)^^^
+"DATA",101.24,56,0)
+TMG INFANT - WEIGHT CHART^56^1^^TMGGRC2^TMGGCWTI^0^R^^^^H^250
+"DATA",101.24,56,2)
+^^INFANT - WEIGHT CHART^TMG GROWTH CHART WEIGHT (INFANT)^^^
+"DATA",101.24,57,0)
+TMG INFANT - LENGTH CHART^57^1^^TMGGRC2^TMGGCLNI^0^R^^^^H^250
+"DATA",101.24,57,2)
+^^INFANT - LENGTH CHART^TMG GROWTH CHART LENGTH (INFANT)^^^
+"DATA",101.24,58,0)
+TMG GROWTH CHARTS^58^1^^^^^R^^^^M
+"DATA",101.24,58,2)
+^^TMG CDC GROWTH CHARTS^TMG GROWTH CHART MENU
+"DATA",101.24,58,10,0)
+^101.241P^8^7
+"DATA",101.24,58,10,1,0)
+50^HEIGHT PERCENTILE (CHILD)^5
+"DATA",101.24,58,10,2,0)
+51^HEAD CIRCUMFERENCE^3
+"DATA",101.24,58,10,3,0)
+52^WEIGHT PERCENTILE (CHILD)^6
+"DATA",101.24,58,10,4,0)
+53^BMI PERCENTILE (CHILD)^7
+"DATA",101.24,58,10,5,0)
+54^WEIGHT PERCENT FOR HT OR LEN^3.5
+"DATA",101.24,58,10,7,0)
+56^WEIGHT PERCENTILE (INFANT)^2
+"DATA",101.24,58,10,8,0)
+57^LENGTH PERCENTILE (INFANT)^1
+"DATA",8925.1,646,0)
+TMG TABLE - HYPERTENSION^^^O^^55^11
+"DATA",8925.1,646,9)
+S X=$$GETTABLX^TMGTIUOJ(+$G(DFN),"[HYPERTENSION]")
+"DATA",8925.1,647,0)
+TMG TABLE - ANEMIA^^^O^^55^11
+"DATA",8925.1,647,9)
+S X=$$GETTABLX^TMGTIUOJ(+$G(DFN),"[ANEMIA]")
+"DATA",8925.1,648,0)
+TMG TABLE - ASTHMA^^^O^^55^11
+"DATA",8925.1,648,9)
+S X=$$GETTABLX^TMGTIUOJ(+$G(DFN),"[ASTHMA]")
+"DATA",8925.1,650,0)
+TMG TABLE - OSTEOPOROSIS^^^O^^55^11
+"DATA",8925.1,650,9)
+S X=$$GETTABLX^TMGTIUOJ(+$G(DFN),"[OSTEOPENIA/OSTEOPOROSIS]")
+"DATA",8925.1,653,0)
+TMG TABLE - COPD^^^O^^55^11
+"DATA",8925.1,653,9)
+S X=$$GETTABLX^TMGTIUOJ(+$G(DFN),"[COPD]")
+"DATA",8925.1,1433,0)
+TMG TABLE - THYROID^^^O^^55^11
+"DATA",8925.1,1433,9)
+S X=$$GETTABLX^TMGTIUOJ(+$G(DFN),"[THYROID]")
+"DATA",8925.1,1437,0)
+TMG TABLE - LIPIDS^^^O^^55^11
+"DATA",8925.1,1437,9)
+S X=$$GETTABLX^TMGTIUOJ(+$G(DFN),"[LIPIDS]")
+"DATA",8925.1,1438,0)
+TMG TABLE - TEAM^^^O^^55^11
+"DATA",8925.1,1438,9)
+S X=$$GETTABLX^TMGTIUOJ(+$G(DFN),"[PROVIDER TEAM]")
+"DATA",8925.1,1439,0)
+TMG TABLE - FAMILY HX^^^O^^55^11
+"DATA",8925.1,1439,9)
+S X=$$GETTABLX^TMGTIUOJ(+$G(DFN),"[FAMILY HX]")
+"DATA",8925.1,1440,0)
+TMG TABLE - SOCIAL HX^^^O^^55^11
+"DATA",8925.1,1440,9)
+S X=$$GETTABLX^TMGTIUOJ(+$G(DFN),"[SOCIAL HX]")
+"DATA",8925.1,1441,0)
+TMG TABLE - SURGERIES^^^O^^55^11
+"DATA",8925.1,1441,9)
+S X=$$GETTABLX^TMGTIUOJ(+$G(DFN),"[SURGERIES]")
+"DATA",8925.1,1442,0)
+TMG TABLE - PROBLEM LIST^^^O^^55^11
+"DATA",8925.1,1442,9)
+S X=$$GETTABLX^TMGTIUOJ(+$G(DFN),"[PROBLEM LIST]")
+"DATA",8925.1,1443,0)
+TMG TABLE - DIABETIC STUDIES^^^O^^55^11
+"DATA",8925.1,1443,9)
+S X=$$GETTABLX^TMGTIUOJ(+$G(DFN),"[DIABETIC STUDIES]")
+"DATA",8925.1,1444,0)
+TMG TABLE - STUDIES^^^O^^55^11
+"DATA",8925.1,1444,9)
+S X=$$GETTABLX^TMGTIUOJ(+$G(DFN),"[STUDIES]")
+"DATA",8925.1,1451,0)
+TMG PATIENT VITALS^VT^TMG PATIENT VITALS^O^^55^11
+"DATA",8925.1,1451,9)
+S X=$$VITALS^TMGTIUOJ(+$G(DFN),.TIU)
+"DATA",8925.1,1451,99)
+61888,37202
+"DATA",8925.1,1452,0)
+TMG PATIENT FLD^^TMG PATIENT FLD^O^^55^11
+"DATA",8925.1,1452,9)
+S X=$$GETPTFLD^TMGTIUO2($G(DFN),X)
+"DATA",8925.1,1452,99)
+61888,37202
+"DATA",8925.1,1459,0)
+TMG PATIENT BMI^^TMG PATIENT BMI^O^^55^11
+"DATA",8925.1,1459,9)
+SET X=$$ONEVITAL^TMGTIUOJ(+$GET(DFN),.TIU,"BMI")
+"DATA",8925.1,1459,99)
+62021,43654
+"DATA",8925.1,1460,0)
+TMG PATIENT WT^^^O^^55^11
+"DATA",8925.1,1460,9)
+SET X=$$ONEVITAL^TMGTIUOJ(+$GET(DFN),.TIU,"WT")
+"DATA",8925.1,1461,0)
+TMG PATIENT HT^^^O^^55^11
+"DATA",8925.1,1461,9)
+SET X=$$ONEVITAL^TMGTIUOJ(+$GET(DFN),.TIU,"HT")
+"DATA",8925.1,1462,0)
+TMG PATIENT TEMP^^^O^^55^11
+"DATA",8925.1,1462,9)
+SET X=$$ONEVITAL^TMGTIUOJ(+$GET(DFN),.TIU,"TEMP")
+"DATA",8925.1,1463,0)
+TMG PATIENT BP^^^O^^55^11
+"DATA",8925.1,1463,9)
+SET X=$$ONEVITAL^TMGTIUOJ(+$GET(DFN),.TIU,"BP")
+"DATA",8925.1,1464,0)
+TMG PATIENT PULSE^^^O^^55^11
+"DATA",8925.1,1464,9)
+SET X=$$ONEVITAL^TMGTIUOJ(+$GET(DFN),.TIU,"Pulse")
+"DATA",8925.1,1465,0)
+TMG PATIENT RESP^^^O^^55^11
+"DATA",8925.1,1465,9)
+SET X=$$ONEVITAL^TMGTIUOJ(+$GET(DFN),.TIU,"RESP")
+"DATA",8925.1,1466,0)
+TMG PATIENT HC^^^O^^55^11
+"DATA",8925.1,1466,9)
+SET X=$$ONEVITAL^TMGTIUOJ(+$GET(DFN),.TIU,"HC")
+"DATA",8925.1,1475,0)
+TMG TABLE - CHF^^^O^^55^11
+"DATA",8925.1,1475,9)
+S X=$$GETTABLX^TMGTIUOJ(+$G(DFN),"[CHF]")
+"DATA",8925.1,1480,0)
+TMG TABLE - MEDICATIONS^^^O^^55^11
+"DATA",8925.1,1480,9)
+S X=$$GETTABLX^TMGTIUOJ(+$G(DFN),"[MEDICATIONS]")
+"DATA",22713,1,0)
+BMI BY AGE^AGE^MONTHS^BMI^KG/M**2^2-20Y
+"DATA",22713,1,1)
+https://spreadsheets.google.com/ccc?key=0As02V5OYrjbucFhfa0dnc0FTMjlid2pqZzRUMGhpVUE&hl=en
+"DATA",22713,1,2)
+BMIAGE
+"DATA",22713,1,"D",0)
+^22713.02A^438^438
+"DATA",22713,1,"D",1,0)
+24^M^-2.01118107^16.575027675^0.080592465
+"DATA",22713,1,"D",2,0)
+24.99^M^-1.982373595^16.547774867^0.0801274288
+"DATA",22713,1,"D",3,0)
+25.99^M^-1.924100169^16.494427632^0.0792339937
+"DATA",22713,1,"D",4,0)
+26.99^M^-1.86549793^16.442595522^0.0783893561
+"DATA",22713,1,"D",5,0)
+27.99^M^-1.807261899^16.392243398^0.0775935012
+"DATA",22713,1,"D",6,0)
+28.99^M^-1.750118905^16.343336543^0.0768464622
+"DATA",22713,1,"D",7,0)
+29.99^M^-1.69481584^16.295840971^0.0761483079
+"DATA",22713,1,"D",8,0)
+30.99^M^-1.642106779^16.249723714^0.0754991255
+"DATA",22713,1,"D",9,0)
+31.99^M^-1.592744414^16.204952678^0.0748989935
+"DATA",22713,1,"D",10,0)
+32.99^M^-1.547442391^16.161498714^0.0743479966
+"DATA",22713,1,"D",11,0)
+33.99^M^-1.506902601^16.119332582^0.0738461386
+"DATA",22713,1,"D",12,0)
+34.99^M^-1.471770047^16.078427579^0.0733933698
+"DATA",22713,1,"D",13,0)
+35.99^M^-1.442628957^16.038758958^0.0729895508
+"DATA",22713,1,"D",14,0)
+36.99^M^-1.419991255^16.000304012^0.0726344323
+"DATA",22713,1,"D",15,0)
+37.99^M^-1.404277619^15.963042771^0.072327649
+"DATA",22713,1,"D",16,0)
+38.99^M^-1.39586317^15.926954175^0.0720686401
+"DATA",22713,1,"D",17,0)
+39.99^M^-1.394935252^15.892025816^0.0718568052
+"DATA",22713,1,"D",18,0)
+40.99^M^-1.401671596^15.858240929^0.071691278
+"DATA",22713,1,"D",19,0)
+41.99^M^-1.416100312^15.825588223^0.0715710933
+"DATA",22713,1,"D",20,0)
+42.99^M^-1.438164899^15.794057282^0.0714951131
+"DATA",22713,1,"D",21,0)
+43.99^M^-1.467669032^15.763642549^0.0714621062
+"DATA",22713,1,"D",22,0)
+44.99^M^-1.504376347^15.734336684^0.0714706462
+"DATA",22713,1,"D",23,0)
+45.99^M^-1.547942838^15.706135657^0.0715192177
+"DATA",22713,1,"D",24,0)
+46.99^M^-1.597896397^15.679040623^0.0716062769
+"DATA",22713,1,"D",25,0)
+47.99^M^-1.653732283^15.653051916^0.071730167
+"DATA",22713,1,"D",26,0)
+48.99^M^-1.714869347^15.628172692^0.0718892136
+"DATA",22713,1,"D",27,0)
+49.99^M^-1.780673181^15.604407997^0.0720817373
+"DATA",22713,1,"D",28,0)
+50.99^M^-1.850468473^15.58176458^0.0723060813
+"DATA",22713,1,"D",29,0)
+51.99^M^-1.923551865^15.560250666^0.0725606369
+"DATA",22713,1,"D",30,0)
+52.99^M^-1.999220429^15.539874597^0.0728438397
+"DATA",22713,1,"D",31,0)
+53.99^M^-2.076707178^15.520649927^0.0731543235
+"DATA",22713,1,"D",32,0)
+54.99^M^-2.155348017^15.502584267^0.0734906668
+"DATA",22713,1,"D",33,0)
+55.99^M^-2.234438552^15.485689732^0.0738516716
+"DATA",22713,1,"D",34,0)
+56.99^M^-2.313321723^15.469977177^0.0742362346
+"DATA",22713,1,"D",35,0)
+57.99^M^-2.391381273^15.455456916^0.0746433738
+"DATA",22713,1,"D",36,0)
+58.99^M^-2.468032491^15.442139608^0.0750722636
+"DATA",22713,1,"D",37,0)
+59.99^M^-2.542781541^15.430032072^0.0755221037
+"DATA",22713,1,"D",38,0)
+60.99^M^-2.61516595^15.419141631^0.0759922501
+"DATA",22713,1,"D",39,0)
+61.99^M^-2.684789516^15.409473561^0.0764821284
+"DATA",22713,1,"D",40,0)
+62.99^M^-2.751316949^15.401031388^0.0769912324
+"DATA",22713,1,"D",41,0)
+63.99^M^-2.81445945^15.393817852^0.0775191487
+"DATA",22713,1,"D",42,0)
+64.99^M^-2.87402476^15.387830936^0.0780653898
+"DATA",22713,1,"D",43,0)
+65.99^M^-2.92984048^15.383069448^0.0786295919
+"DATA",22713,1,"D",44,0)
+66.99^M^-2.981796828^15.37952958^0.0792113694
+"DATA",22713,1,"D",45,0)
+67.99^M^-3.029831343^15.37720582^0.0798103341
+"DATA",22713,1,"D",46,0)
+68.99^M^-3.073924224^15.376091068^0.0804260861
+"DATA",22713,1,"D",47,0)
+69.99^M^-3.114093476^15.376176765^0.0810582059
+"DATA",22713,1,"D",48,0)
+70.99^M^-3.15039004^15.37745304^0.0817062489
+"DATA",22713,1,"D",49,0)
+71.99^M^-3.182893018^15.379908859^0.0823697413
+"DATA",22713,1,"D",50,0)
+72.99^M^-3.21170511^15.383532169^0.0830481778
+"DATA",22713,1,"D",51,0)
+73.99^M^-3.23694834^15.388310046^0.0837410207
+"DATA",22713,1,"D",52,0)
+74.99^M^-3.25876011^15.39422883^0.0844476998
+"DATA",22713,1,"D",53,0)
+75.99^M^-3.277281546^15.40127496^0.0851676514
+"DATA",22713,1,"D",54,0)
+76.99^M^-3.292683774^15.40943252^0.0859001836
+"DATA",22713,1,"D",55,0)
+77.99^M^-3.305124073^15.418686911^0.0866446671
+"DATA",22713,1,"D",56,0)
+78.99^M^-3.314768951^15.429022732^0.0874004212
+"DATA",22713,1,"D",57,0)
+79.99^M^-3.321785992^15.440424387^0.0881667444
+"DATA",22713,1,"D",58,0)
+80.99^M^-3.326345795^15.452875806^0.088942897
+"DATA",22713,1,"D",59,0)
+81.99^M^-3.328602731^15.466362178^0.0897282019
+"DATA",22713,1,"D",60,0)
+82.99^M^-3.328725277^15.480867041^0.0905218748
+"DATA",22713,1,"D",61,0)
+83.99^M^-3.32687018^15.496374654^0.0913231621
+"DATA",22713,1,"D",62,0)
+84.99^M^-3.323188896^15.512869363^0.0921313054
+"DATA",22713,1,"D",63,0)
+85.99^M^-3.317827016^15.530335632^0.0929455443
+"DATA",22713,1,"D",64,0)
+86.99^M^-3.310923871^15.548758065^0.0937651184
+"DATA",22713,1,"D",65,0)
+87.99^M^-3.302612272^15.568121426^0.0945892702
+"DATA",22713,1,"D",66,0)
+88.99^M^-3.293018361^15.588410651^0.0954172465
+"DATA",22713,1,"D",67,0)
+89.99^M^-3.282260813^15.60961101^0.0962483005
+"DATA",22713,1,"D",68,0)
+90.99^M^-3.270454609^15.63170735^0.0970816941
+"DATA",22713,1,"D",69,0)
+91.99^M^-3.257703616^15.654685628^0.0979166976
+"DATA",22713,1,"D",70,0)
+92.99^M^-3.244108214^15.678531387^0.0987525931
+"DATA",22713,1,"D",71,0)
+93.99^M^-3.229761713^15.703230518^0.0995886749
+"DATA",22713,1,"D",72,0)
+94.99^M^-3.214751287^15.728769113^0.1004242507
+"DATA",22713,1,"D",73,0)
+95.99^M^-3.199158184^15.755133465^0.1012586429
+"DATA",22713,1,"D",74,0)
+96.99^M^-3.18305795^15.782310065^0.1020911894
+"DATA",22713,1,"D",75,0)
+97.99^M^-3.166520664^15.810285603^0.1029212448
+"DATA",22713,1,"D",76,0)
+98.99^M^-3.1496103^15.839047084^0.1037481885
+"DATA",22713,1,"D",77,0)
+99.99^M^-3.132389637^15.868581229^0.1045713862
+"DATA",22713,1,"D",78,0)
+100.99^M^-3.114911153^15.898875618^0.1053902685
+"DATA",22713,1,"D",79,0)
+101.99^M^-3.097226399^15.929917651^0.1062042575
+"DATA",22713,1,"D",80,0)
+102.99^M^-3.079383079^15.961694805^0.1070127883
+"DATA",22713,1,"D",81,0)
+103.99^M^-3.061423765^15.994194894^0.1078153274
+"DATA",22713,1,"D",82,0)
+104.99^M^-3.043386071^16.027406071^0.1086113736
+"DATA",22713,1,"D",83,0)
+105.99^M^-3.025310003^16.061315897^0.1094003876
+"DATA",22713,1,"D",84,0)
+106.99^M^-3.007225737^16.095912922^0.1101819146
+"DATA",22713,1,"D",85,0)
+107.99^M^-2.989164598^16.131185315^0.1109554781
+"DATA",22713,1,"D",86,0)
+108.99^M^-2.971148225^16.167122344^0.1117206908
+"DATA",22713,1,"D",87,0)
+109.99^M^-2.953208047^16.203711677^0.1124770587
+"DATA",22713,1,"D",88,0)
+110.99^M^-2.935363951^16.240942388^0.1132241995
+"DATA",22713,1,"D",89,0)
+111.99^M^-2.917635157^16.278803458^0.1139617339
+"DATA",22713,1,"D",90,0)
+112.99^M^-2.900039803^16.317283847^0.1146892914
+"DATA",22713,1,"D",91,0)
+113.99^M^-2.882593796^16.356372672^0.1154065227
+"DATA",22713,1,"D",92,0)
+114.99^M^-2.865311266^16.396059161^0.1161130971
+"DATA",22713,1,"D",93,0)
+115.99^M^-2.848204697^16.436332645^0.1168087018
+"DATA",22713,1,"D",94,0)
+116.99^M^-2.831285052^16.477182556^0.1174930418
+"DATA",22713,1,"D",95,0)
+117.99^M^-2.81456189^16.518598425^0.1181658396
+"DATA",22713,1,"D",96,0)
+118.99^M^-2.79804347^16.560569873^0.1188268351
+"DATA",22713,1,"D",97,0)
+119.99^M^-2.781736856^16.603086612^0.1194757852
+"DATA",22713,1,"D",98,0)
+120.99^M^-2.765648008^16.646138439^0.1201124636
+"DATA",22713,1,"D",99,0)
+121.99^M^-2.749782197^16.689715178^0.1207366562
+"DATA",22713,1,"D",100,0)
+122.99^M^-2.734142443^16.733806953^0.1213481813
+"DATA",22713,1,"D",101,0)
+123.99^M^-2.718732873^16.778403632^0.121946849
+"DATA",22713,1,"D",102,0)
+124.99^M^-2.703555506^16.82349538^0.1225325012
+"DATA",22713,1,"D",103,0)
+125.99^M^-2.688611957^16.869072375^0.1231049908
+"DATA",22713,1,"D",104,0)
+126.99^M^-2.673903164^16.915124866^0.1236641859
+"DATA",22713,1,"D",105,0)
+127.99^M^-2.659429443^16.961643168^0.1242099694
+"DATA",22713,1,"D",106,0)
+128.99^M^-2.645190534^17.00861766^0.1247422387
+"DATA",22713,1,"D",107,0)
+129.99^M^-2.631185649^17.056038787^0.1252609054
+"DATA",22713,1,"D",108,0)
+130.99^M^-2.617413511^17.103897052^0.125765895
+"DATA",22713,1,"D",109,0)
+131.99^M^-2.603872392^17.152183022^0.1262571467
+"DATA",22713,1,"D",110,0)
+132.99^M^-2.590560148^17.200887318^0.1267346133
+"DATA",22713,1,"D",111,0)
+133.99^M^-2.577474253^17.250000623^0.1271982604
+"DATA",22713,1,"D",112,0)
+134.99^M^-2.564611831^17.299513673^0.1276480666
+"DATA",22713,1,"D",113,0)
+135.99^M^-2.551969684^17.349417258^0.128084023
+"DATA",22713,1,"D",114,0)
+136.99^M^-2.539539972^17.399703081^0.1285061919
+"DATA",22713,1,"D",115,0)
+137.99^M^-2.527325681^17.450360715^0.1289144974
+"DATA",22713,1,"D",116,0)
+138.99^M^-2.515320235^17.501381606^0.1293090012
+"DATA",22713,1,"D",117,0)
+139.99^M^-2.503519447^17.552756739^0.1296897408
+"DATA",22713,1,"D",118,0)
+140.99^M^-2.491918934^17.604477144^0.1300567649
+"DATA",22713,1,"D",119,0)
+141.99^M^-2.480514136^17.656533895^0.1304101325
+"DATA",22713,1,"D",120,0)
+142.99^M^-2.469300331^17.708918107^0.1307499132
+"DATA",22713,1,"D",121,0)
+143.99^M^-2.458272656^17.761620938^0.1310761867
+"DATA",22713,1,"D",122,0)
+144.99^M^-2.447426113^17.814633586^0.1313890423
+"DATA",22713,1,"D",123,0)
+145.99^M^-2.436755595^17.867947289^0.1316885791
+"DATA",22713,1,"D",124,0)
+146.99^M^-2.426255887^17.92155332^0.1319749052
+"DATA",22713,1,"D",125,0)
+147.99^M^-2.415921689^17.975442992^0.1322481377
+"DATA",22713,1,"D",126,0)
+148.99^M^-2.405747619^18.029607653^0.1325084026
+"DATA",22713,1,"D",127,0)
+149.99^M^-2.395728233^18.084038684^0.1327558343
+"DATA",22713,1,"D",128,0)
+150.99^M^-2.385858029^18.138727501^0.1329905752
+"DATA",22713,1,"D",129,0)
+151.99^M^-2.376131459^18.193665552^0.133212776
+"DATA",22713,1,"D",130,0)
+152.99^M^-2.366542942^18.248844314^0.1334225948
+"DATA",22713,1,"D",131,0)
+153.99^M^-2.357086871^18.304255296^0.1336201973
+"DATA",22713,1,"D",132,0)
+154.99^M^-2.347757625^18.359890034^0.1338057563
+"DATA",22713,1,"D",133,0)
+155.99^M^-2.338549576^18.415740092^0.1339794518
+"DATA",22713,1,"D",134,0)
+156.99^M^-2.3294571^18.471797059^0.1341414703
+"DATA",22713,1,"D",135,0)
+157.99^M^-2.320474586^18.528052549^0.1342920051
+"DATA",22713,1,"D",136,0)
+158.99^M^-2.311596446^18.584498199^0.1344312555
+"DATA",22713,1,"D",137,0)
+159.99^M^-2.302817124^18.641125665^0.134559427
+"DATA",22713,1,"D",138,0)
+160.99^M^-2.294131107^18.697926627^0.1346767311
+"DATA",22713,1,"D",139,0)
+161.99^M^-2.285532933^18.754892781^0.1347833849
+"DATA",22713,1,"D",140,0)
+162.99^M^-2.277017201^18.812015839^0.1348796107
+"DATA",22713,1,"D",141,0)
+163.99^M^-2.268578584^18.869287528^0.1349656365
+"DATA",22713,1,"D",142,0)
+164.99^M^-2.260211837^18.92669959^0.1350416951
+"DATA",22713,1,"D",143,0)
+165.99^M^-2.251911809^18.984243775^0.1351080243
+"DATA",22713,1,"D",144,0)
+166.99^M^-2.243673453^19.041911845^0.1351648666
+"DATA",22713,1,"D",145,0)
+167.99^M^-2.235491842^19.099695568^0.1352124688
+"DATA",22713,1,"D",146,0)
+168.99^M^-2.227362173^19.157586716^0.1352510825
+"DATA",22713,1,"D",147,0)
+169.99^M^-2.21927979^19.215577065^0.1352809633
+"DATA",22713,1,"D",148,0)
+170.99^M^-2.211240187^19.27365839^0.1353023707
+"DATA",22713,1,"D",149,0)
+171.99^M^-2.203239029^19.331822466^0.1353155684
+"DATA",22713,1,"D",150,0)
+172.99^M^-2.195272161^19.390061061^0.1353208237
+"DATA",22713,1,"D",151,0)
+173.99^M^-2.187335625^19.448365938^0.1353184074
+"DATA",22713,1,"D",152,0)
+174.99^M^-2.179425674^19.506728848^0.1353085942
+"DATA",22713,1,"D",153,0)
+175.99^M^-2.171538789^19.565141532^0.1352916617
+"DATA",22713,1,"D",154,0)
+176.99^M^-2.163671689^19.623595714^0.1352678911
+"DATA",22713,1,"D",155,0)
+177.99^M^-2.155821357^19.682083101^0.1352375667
+"DATA",22713,1,"D",156,0)
+178.99^M^-2.147985046^19.740595376^0.1352009759
+"DATA",22713,1,"D",157,0)
+179.99^M^-2.140160305^19.799124201^0.1351584088
+"DATA",22713,1,"D",158,0)
+180.99^M^-2.132344989^19.857661209^0.1351101588
+"DATA",22713,1,"D",159,0)
+181.99^M^-2.124537282^19.916198004^0.1350565219
+"DATA",22713,1,"D",160,0)
+182.99^M^-2.116735712^19.974726154^0.1349977968
+"DATA",22713,1,"D",161,0)
+183.99^M^-2.108939167^20.033237194^0.134934285
+"DATA",22713,1,"D",162,0)
+184.99^M^-2.10114692^20.091722615^0.1348662908
+"DATA",22713,1,"D",163,0)
+185.99^M^-2.093358637^20.15017387^0.1347941208
+"DATA",22713,1,"D",164,0)
+186.99^M^-2.085574403^20.208582361^0.1347180845
+"DATA",22713,1,"D",165,0)
+187.99^M^-2.077794735^20.266939444^0.1346384938
+"DATA",22713,1,"D",166,0)
+188.99^M^-2.070020599^20.325236424^0.1345556632
+"DATA",22713,1,"D",167,0)
+189.99^M^-2.062253431^20.383464548^0.1344699098
+"DATA",22713,1,"D",168,0)
+190.99^M^-2.054495145^20.441615008^0.1343815533
+"DATA",22713,1,"D",169,0)
+191.99^M^-2.046748156^20.499678935^0.1342909159
+"DATA",22713,1,"D",170,0)
+192.99^M^-2.039015385^20.557647399^0.1341983225
+"DATA",22713,1,"D",171,0)
+193.99^M^-2.031300282^20.615511404^0.1341041006
+"DATA",22713,1,"D",172,0)
+194.99^M^-2.023606828^20.673261889^0.1340085806
+"DATA",22713,1,"D",173,0)
+195.99^M^-2.015942013^20.730889051^0.1339120657
+"DATA",22713,1,"D",174,0)
+196.99^M^-2.008305745^20.788385102^0.1338149542
+"DATA",22713,1,"D",175,0)
+197.99^M^-2.000706389^20.845740029^0.1337175518
+"DATA",22713,1,"D",176,0)
+198.99^M^-1.993150137^20.902944494^0.1336202002
+"DATA",22713,1,"D",177,0)
+199.99^M^-1.985643741^20.959989088^0.1335232441
+"DATA",22713,1,"D",178,0)
+200.99^M^-1.97819451^21.01686433^0.1334270316
+"DATA",22713,1,"D",179,0)
+201.99^M^-1.970810308^21.073560674^0.1333319137
+"DATA",22713,1,"D",180,0)
+202.99^M^-1.96349954^21.130068501^0.1332382449
+"DATA",22713,1,"D",181,0)
+203.99^M^-1.956271141^21.186378131^0.1331463832
+"DATA",22713,1,"D",182,0)
+204.99^M^-1.949134561^21.242479819^0.1330566901
+"DATA",22713,1,"D",183,0)
+205.99^M^-1.942099744^21.298363759^0.1329695305
+"DATA",22713,1,"D",184,0)
+206.99^M^-1.935177101^21.354020094^0.1328852735
+"DATA",22713,1,"D",185,0)
+207.99^M^-1.92837748^21.409438911^0.1328042916
+"DATA",22713,1,"D",186,0)
+208.99^M^-1.921712136^21.464610257^0.1327269615
+"DATA",22713,1,"D",187,0)
+209.99^M^-1.915192685^21.519524136^0.1326536641
+"DATA",22713,1,"D",188,0)
+210.99^M^-1.908831065^21.574170525^0.1325847841
+"DATA",22713,1,"D",189,0)
+211.99^M^-1.902639482^21.628539373^0.1325207109
+"DATA",22713,1,"D",190,0)
+212.99^M^-1.896630358^21.682620618^0.1324618378
+"DATA",22713,1,"D",191,0)
+213.99^M^-1.890816268^21.736404191^0.1324085629
+"DATA",22713,1,"D",192,0)
+214.99^M^-1.885209876^21.789880029^0.1323612888
+"DATA",22713,1,"D",193,0)
+215.99^M^-1.879823505^21.843038191^0.1323204265
+"DATA",22713,1,"D",194,0)
+216.99^M^-1.874670324^21.895868501^0.1322863818
+"DATA",22713,1,"D",195,0)
+217.99^M^-1.869760299^21.948361684^0.1322595999
+"DATA",22713,1,"D",196,0)
+218.99^M^-1.865113245^22.00050569^0.1322404176
+"DATA",22713,1,"D",197,0)
+219.99^M^-1.860734944^22.052292423^0.1322293301
+"DATA",22713,1,"D",198,0)
+220.99^M^-1.85663384^22.103713048^0.132226801
+"DATA",22713,1,"D",199,0)
+221.99^M^-1.852827186^22.154756029^0.1322332005
+"DATA",22713,1,"D",200,0)
+222.99^M^-1.849323204^22.205412485^0.1322489931
+"DATA",22713,1,"D",201,0)
+223.99^M^-1.846131607^22.255673^0.1322746254
+"DATA",22713,1,"D",202,0)
+224.99^M^-1.843261294^22.305528306^0.132310549
+"DATA",22713,1,"D",203,0)
+225.99^M^-1.840720248^22.354969299^0.1323572208
+"DATA",22713,1,"D",204,0)
+226.99^M^-1.83851544^22.403987057^0.132415103
+"DATA",22713,1,"D",205,0)
+227.99^M^-1.83665586^22.452571818^0.132484631
+"DATA",22713,1,"D",206,0)
+228.99^M^-1.835138046^22.500717781^0.1325663592
+"DATA",22713,1,"D",207,0)
+229.99^M^-1.833972004^22.548414372^0.132660699
+"DATA",22713,1,"D",208,0)
+230.99^M^-1.833157751^22.595654215^0.1327681527
+"DATA",22713,1,"D",209,0)
+231.99^M^-1.83269562^22.642429557^0.1328892105
+"DATA",22713,1,"D",210,0)
+232.99^M^-1.832584342^22.688732921^0.1330243684
+"DATA",22713,1,"D",211,0)
+233.99^M^-1.832820974^22.734557126^0.1331741285
+"DATA",22713,1,"D",212,0)
+234.99^M^-1.833400825^22.779895295^0.1333389994
+"DATA",22713,1,"D",213,0)
+235.99^M^-1.834317405^22.824740868^0.1335194959
+"DATA",22713,1,"D",214,0)
+236.99^M^-1.83555752^22.869089116^0.1337161923
+"DATA",22713,1,"D",215,0)
+237.99^M^-1.837119466^22.912931508^0.1339295249
+"DATA",22713,1,"D",216,0)
+238.99^M^-1.838987063^22.956263733^0.1341600729
+"DATA",22713,1,"D",217,0)
+239.99^M^-1.841146139^22.999080616^0.1344083809
+"DATA",22713,1,"D",218,0)
+240^M^-1.84233016^23.020294238^0.134539365
+"DATA",22713,1,"D",219,0)
+240.99^M^-1.843580575^23.041377338^0.1346750014
+"DATA",22713,1,"D",220,0)
+24^F^-0.98660853^16.423396643^0.085451785
+"DATA",22713,1,"D",221,0)
+24.99^F^-1.024496827^16.388040561^0.085025838
+"DATA",22713,1,"D",222,0)
+25.99^F^-1.102698353^16.318971901^0.0842140522
+"DATA",22713,1,"D",223,0)
+26.99^F^-1.18396635^16.252079845^0.083455124
+"DATA",22713,1,"D",224,0)
+27.99^F^-1.268071036^16.187346686^0.0827482842
+"DATA",22713,1,"D",225,0)
+28.99^F^-1.354751525^16.124754481^0.0820927371
+"DATA",22713,1,"D",226,0)
+29.99^F^-1.443689692^16.064287623^0.0814877172
+"DATA",22713,1,"D",227,0)
+30.99^F^-1.53454192^16.005930007^0.0809324482
+"DATA",22713,1,"D",228,0)
+31.99^F^-1.626928093^15.94966631^0.0804261754
+"DATA",22713,1,"D",229,0)
+32.99^F^-1.720434829^15.895481969^0.0799681758
+"DATA",22713,1,"D",230,0)
+33.99^F^-1.814635262^15.843361791^0.0795577348
+"DATA",22713,1,"D",231,0)
+34.99^F^-1.909076262^15.793291456^0.0791941867
+"DATA",22713,1,"D",232,0)
+35.99^F^-2.003296102^15.7452564^0.0788768946
+"DATA",22713,1,"D",233,0)
+36.99^F^-2.096828937^15.699241878^0.0786052551
+"DATA",22713,1,"D",234,0)
+37.99^F^-2.189211877^15.655232823^0.0783786964
+"DATA",22713,1,"D",235,0)
+38.99^F^-2.279991982^15.613213709^0.0781966743
+"DATA",22713,1,"D",236,0)
+39.99^F^-2.368732949^15.573168427^0.078058667
+"DATA",22713,1,"D",237,0)
+40.99^F^-2.455021314^15.53508019^0.077964169
+"DATA",22713,1,"D",238,0)
+41.99^F^-2.538471972^15.498931449^0.0779126837
+"DATA",22713,1,"D",239,0)
+42.99^F^-2.618732901^15.464703844^0.0779037156
+"DATA",22713,1,"D",240,0)
+43.99^F^-2.695488973^15.432378168^0.0779367628
+"DATA",22713,1,"D",241,0)
+44.99^F^-2.768464816^15.401934364^0.078011309
+"DATA",22713,1,"D",242,0)
+45.99^F^-2.837426693^15.373351541^0.0781268172
+"DATA",22713,1,"D",243,0)
+46.99^F^-2.902178205^15.346608415^0.0782827393
+"DATA",22713,1,"D",244,0)
+47.99^F^-2.962580386^15.321681814^0.0784784485
+"DATA",22713,1,"D",245,0)
+48.99^F^-3.018521987^15.298548972^0.0787133246
+"DATA",22713,1,"D",246,0)
+49.99^F^-3.069936555^15.277186179^0.0789866938
+"DATA",22713,1,"D",247,0)
+50.99^F^-3.116795864^15.257569204^0.0792978405
+"DATA",22713,1,"D",248,0)
+51.99^F^-3.159107331^15.239673384^0.079646006
+"DATA",22713,1,"D",249,0)
+52.99^F^-3.196911083^15.22347371^0.0800303887
+"DATA",22713,1,"D",250,0)
+53.99^F^-3.230276759^15.208944907^0.0804501449
+"DATA",22713,1,"D",251,0)
+54.99^F^-3.259300182^15.19606152^0.0809043905
+"DATA",22713,1,"D",252,0)
+55.99^F^-3.284099963^15.184797987^0.0813922027
+"DATA",22713,1,"D",253,0)
+56.99^F^-3.30481415^15.175128708^0.0819126232
+"DATA",22713,1,"D",254,0)
+57.99^F^-3.321596954^15.167028107^0.0824646608
+"DATA",22713,1,"D",255,0)
+58.99^F^-3.334615646^15.160470684^0.0830472946
+"DATA",22713,1,"D",256,0)
+59.99^F^-3.344047622^15.155431067^0.0836594775
+"DATA",22713,1,"D",257,0)
+60.99^F^-3.35007771^15.15188405^0.0843001394
+"DATA",22713,1,"D",258,0)
+61.99^F^-3.352893805^15.149804788^0.0849681996
+"DATA",22713,1,"D",259,0)
+62.99^F^-3.352691376^15.14916825^0.085662539
+"DATA",22713,1,"D",260,0)
+63.99^F^-3.34966438^15.149949835^0.086382035
+"DATA",22713,1,"D",261,0)
+64.99^F^-3.343998803^15.152125852^0.0871255909
+"DATA",22713,1,"D",262,0)
+65.99^F^-3.335889574^15.155671862^0.0878920466
+"DATA",22713,1,"D",263,0)
+66.99^F^-3.325522491^15.160564192^0.0886802643
+"DATA",22713,1,"D",264,0)
+67.99^F^-3.31307846^15.166779473^0.0894891056
+"DATA",22713,1,"D",265,0)
+68.99^F^-3.298732648^15.174294641^0.090317434
+"DATA",22713,1,"D",266,0)
+69.99^F^-3.282653831^15.183086936^0.0911641168
+"DATA",22713,1,"D",267,0)
+70.99^F^-3.265003896^15.193133896^0.0920280276
+"DATA",22713,1,"D",268,0)
+71.99^F^-3.245937506^15.204413348^0.0929080476
+"DATA",22713,1,"D",269,0)
+72.99^F^-3.225606516^15.216902957^0.0938030328
+"DATA",22713,1,"D",270,0)
+73.99^F^-3.204146115^15.230581504^0.0947119161
+"DATA",22713,1,"D",271,0)
+74.99^F^-3.181690237^15.245427448^0.0956335947
+"DATA",22713,1,"D",272,0)
+75.99^F^-3.158363475^15.261419664^0.096566992
+"DATA",22713,1,"D",273,0)
+76.99^F^-3.134282833^15.278537278^0.0975110459
+"DATA",22713,1,"D",274,0)
+77.99^F^-3.109557879^15.296759667^0.0984647101
+"DATA",22713,1,"D",275,0)
+78.99^F^-3.084290931^15.316066442^0.0994269552
+"DATA",22713,1,"D",276,0)
+79.99^F^-3.058577292^15.336437447^0.1003967693
+"DATA",22713,1,"D",277,0)
+80.99^F^-3.032505499^15.357852744^0.1013731591
+"DATA",22713,1,"D",278,0)
+81.99^F^-3.0061576^15.380292613^0.1023551503
+"DATA",22713,1,"D",279,0)
+82.99^F^-2.979609448^15.403737535^0.1033417884
+"DATA",22713,1,"D",280,0)
+83.99^F^-2.952930993^15.428168191^0.1043321392
+"DATA",22713,1,"D",281,0)
+84.99^F^-2.926186592^15.453565452^0.1053252892
+"DATA",22713,1,"D",282,0)
+85.99^F^-2.899435307^15.479910374^0.1063203463
+"DATA",22713,1,"D",283,0)
+86.99^F^-2.872731211^15.507184187^0.1073164399
+"DATA",22713,1,"D",284,0)
+87.99^F^-2.846123683^15.535368293^0.1083127212
+"DATA",22713,1,"D",285,0)
+88.99^F^-2.819657704^15.564444257^0.1093083637
+"DATA",22713,1,"D",286,0)
+89.99^F^-2.793374145^15.594393802^0.1103025629
+"DATA",22713,1,"D",287,0)
+90.99^F^-2.767310047^15.625198798^0.111294537
+"DATA",22713,1,"D",288,0)
+91.99^F^-2.741498897^15.656841259^0.1122835261
+"DATA",22713,1,"D",289,0)
+92.99^F^-2.715970894^15.689303334^0.113268793
+"DATA",22713,1,"D",290,0)
+93.99^F^-2.690753197^15.722567299^0.1142496222
+"DATA",22713,1,"D",291,0)
+94.99^F^-2.665870146^15.756615553^0.1152253207
+"DATA",22713,1,"D",292,0)
+95.99^F^-2.641343436^15.791430622^0.1161952181
+"DATA",22713,1,"D",293,0)
+96.99^F^-2.617192204^15.826995169^0.1171586674
+"DATA",22713,1,"D",294,0)
+97.99^F^-2.593430614^15.863292407^0.1181150731
+"DATA",22713,1,"D",295,0)
+98.99^F^-2.570076037^15.900304841^0.1190638073
+"DATA",22713,1,"D",296,0)
+99.99^F^-2.547141473^15.938015446^0.1200042898
+"DATA",22713,1,"D",297,0)
+100.99^F^-2.524635245^15.976407871^0.1209359936
+"DATA",22713,1,"D",298,0)
+101.99^F^-2.502569666^16.015464834^0.1218583548
+"DATA",22713,1,"D",299,0)
+102.99^F^-2.48095189^16.055169844^0.1227708703
+"DATA",22713,1,"D",300,0)
+103.99^F^-2.459785573^16.09550688^0.1236730846
+"DATA",22713,1,"D",301,0)
+104.99^F^-2.439080117^16.136458809^0.1245644841
+"DATA",22713,1,"D",302,0)
+105.99^F^-2.418838304^16.178009551^0.125444639
+"DATA",22713,1,"D",303,0)
+106.99^F^-2.399063683^16.220142813^0.1263131206
+"DATA",22713,1,"D",304,0)
+107.99^F^-2.379756861^16.262842771^0.1271695453
+"DATA",22713,1,"D",305,0)
+108.99^F^-2.360920527^16.306093162^0.1280135154
+"DATA",22713,1,"D",306,0)
+109.99^F^-2.342557728^16.349877586^0.1288446388
+"DATA",22713,1,"D",307,0)
+110.99^F^-2.324663326^16.39418118^0.1296626372
+"DATA",22713,1,"D",308,0)
+111.99^F^-2.307240716^16.438987413^0.1304671382
+"DATA",22713,1,"D",309,0)
+112.99^F^-2.290287663^16.484280823^0.1312578524
+"DATA",22713,1,"D",310,0)
+113.99^F^-2.273803847^16.530045538^0.1320344789
+"DATA",22713,1,"D",311,0)
+114.99^F^-2.257782149^16.57626713^0.132796819
+"DATA",22713,1,"D",312,0)
+115.99^F^-2.242227723^16.62292864^0.1335445247
+"DATA",22713,1,"D",313,0)
+116.99^F^-2.227132805^16.670015716^0.1342774356
+"DATA",22713,1,"D",314,0)
+117.99^F^-2.212495585^16.717512877^0.1349953236
+"DATA",22713,1,"D",315,0)
+118.99^F^-2.19831275^16.765404961^0.1356979956
+"DATA",22713,1,"D",316,0)
+119.99^F^-2.184580762^16.813676886^0.1363852755
+"DATA",22713,1,"D",317,0)
+120.99^F^-2.171295888^16.862313656^0.1370570042
+"DATA",22713,1,"D",318,0)
+121.99^F^-2.158454232^16.911300357^0.1377130391
+"DATA",22713,1,"D",319,0)
+122.99^F^-2.146051754^16.960622156^0.1383532537
+"DATA",22713,1,"D",320,0)
+123.99^F^-2.134084303^17.010264304^0.1389775374
+"DATA",22713,1,"D",321,0)
+124.99^F^-2.122547629^17.060212133^0.1395857952
+"DATA",22713,1,"D",322,0)
+125.99^F^-2.111437411^17.110451055^0.1401779469
+"DATA",22713,1,"D",323,0)
+126.99^F^-2.100749266^17.160966564^0.1407539274
+"DATA",22713,1,"D",324,0)
+127.99^F^-2.090478774^17.211744236^0.1413136859
+"DATA",22713,1,"D",325,0)
+128.99^F^-2.080621484^17.262769728^0.1418571858
+"DATA",22713,1,"D",326,0)
+129.99^F^-2.071172932^17.314028776^0.1423844043
+"DATA",22713,1,"D",327,0)
+130.99^F^-2.062128649^17.365507199^0.1428953318
+"DATA",22713,1,"D",328,0)
+131.99^F^-2.053484173^17.417190895^0.143389972
+"DATA",22713,1,"D",329,0)
+132.99^F^-2.045235058^17.469065845^0.1438683412
+"DATA",22713,1,"D",330,0)
+133.99^F^-2.03737688^17.52111811^0.1443304685
+"DATA",22713,1,"D",331,0)
+134.99^F^-2.029906684^17.573333469^0.1447763715
+"DATA",22713,1,"D",332,0)
+135.99^F^-2.022817914^17.625698688^0.1452061381
+"DATA",22713,1,"D",333,0)
+136.99^F^-2.016107084^17.678199868^0.1456198193
+"DATA",22713,1,"D",334,0)
+137.99^F^-2.009769905^17.730823397^0.1460174906
+"DATA",22713,1,"D",335,0)
+138.99^F^-2.003802134^17.783555746^0.1463992386
+"DATA",22713,1,"D",336,0)
+139.99^F^-1.998199572^17.836383471^0.1467651605
+"DATA",22713,1,"D",337,0)
+140.99^F^-1.992958064^17.889293209^0.1471153639
+"DATA",22713,1,"D",338,0)
+141.99^F^-1.988073505^17.942271684^0.1474499668
+"DATA",22713,1,"D",339,0)
+142.99^F^-1.983541835^17.995305704^0.1477690965
+"DATA",22713,1,"D",340,0)
+143.99^F^-1.979359041^18.048382162^0.1480728906
+"DATA",22713,1,"D",341,0)
+144.99^F^-1.975521156^18.101488036^0.1483614954
+"DATA",22713,1,"D",342,0)
+145.99^F^-1.972024258^18.154610394^0.1486350668
+"DATA",22713,1,"D",343,0)
+146.99^F^-1.968864465^18.207736386^0.1488937694
+"DATA",22713,1,"D",344,0)
+147.99^F^-1.966037938^18.260853253^0.1491377764
+"DATA",22713,1,"D",345,0)
+148.99^F^-1.963540872^18.313948324^0.1493672695
+"DATA",22713,1,"D",346,0)
+149.99^F^-1.961369499^18.367009017^0.1495824386
+"DATA",22713,1,"D",347,0)
+150.99^F^-1.959520079^18.420022839^0.1497834816
+"DATA",22713,1,"D",348,0)
+151.99^F^-1.9579889^18.472977388^0.1499706043
+"DATA",22713,1,"D",349,0)
+152.99^F^-1.956772271^18.525860352^0.1501440201
+"DATA",22713,1,"D",350,0)
+153.99^F^-1.95586652^18.578659513^0.1503039498
+"DATA",22713,1,"D",351,0)
+154.99^F^-1.955267984^18.631362745^0.1504506214
+"DATA",22713,1,"D",352,0)
+155.99^F^-1.954973011^18.683958013^0.1505842702
+"DATA",22713,1,"D",353,0)
+156.99^F^-1.954977947^18.736433381^0.1507051384
+"DATA",22713,1,"D",354,0)
+157.99^F^-1.955279136^18.788777004^0.1508134748
+"DATA",22713,1,"D",355,0)
+158.99^F^-1.955872909^18.840977134^0.1509095352
+"DATA",22713,1,"D",356,0)
+159.99^F^-1.956755579^18.893022121^0.1509935818
+"DATA",22713,1,"D",357,0)
+160.99^F^-1.957923436^18.944900411^0.1510658829
+"DATA",22713,1,"D",358,0)
+161.99^F^-1.959372737^18.996600549^0.1511267136
+"DATA",22713,1,"D",359,0)
+162.99^F^-1.9610997^19.048111179^0.1511763547
+"DATA",22713,1,"D",360,0)
+163.99^F^-1.963100496^19.099421046^0.1512150935
+"DATA",22713,1,"D",361,0)
+164.99^F^-1.96537124^19.150518994^0.1512432229
+"DATA",22713,1,"D",362,0)
+165.99^F^-1.967907983^19.201393971^0.1512610419
+"DATA",22713,1,"D",363,0)
+166.99^F^-1.970706706^19.252035026^0.1512688553
+"DATA",22713,1,"D",364,0)
+167.99^F^-1.973763307^19.302431312^0.1512669735
+"DATA",22713,1,"D",365,0)
+168.99^F^-1.977073595^19.352572085^0.1512557127
+"DATA",22713,1,"D",366,0)
+169.99^F^-1.980633277^19.402446707^0.1512353947
+"DATA",22713,1,"D",367,0)
+170.99^F^-1.984437954^19.452044646^0.1512063468
+"DATA",22713,1,"D",368,0)
+171.99^F^-1.988483106^19.501355476^0.1511689019
+"DATA",22713,1,"D",369,0)
+172.99^F^-1.992764085^19.550368876^0.1511233983
+"DATA",22713,1,"D",370,0)
+173.99^F^-1.997276103^19.599074637^0.1510701797
+"DATA",22713,1,"D",371,0)
+174.99^F^-2.002014224^19.647462655^0.1510095954
+"DATA",22713,1,"D",372,0)
+175.99^F^-2.00697335^19.695522937^0.1509419999
+"DATA",22713,1,"D",373,0)
+176.99^F^-2.012148213^19.743245597^0.1508677534
+"DATA",22713,1,"D",374,0)
+177.99^F^-2.017533363^19.790620862^0.1507872211
+"DATA",22713,1,"D",375,0)
+178.99^F^-2.023123159^19.837639068^0.1507007738
+"DATA",22713,1,"D",376,0)
+179.99^F^-2.028911755^19.884290662^0.1506087878
+"DATA",22713,1,"D",377,0)
+180.99^F^-2.034893091^19.930566203^0.1505116446
+"DATA",22713,1,"D",378,0)
+181.99^F^-2.041060881^19.976456361^0.1504097312
+"DATA",22713,1,"D",379,0)
+182.99^F^-2.047408604^20.021951917^0.1503034402
+"DATA",22713,1,"D",380,0)
+183.99^F^-2.05392949^20.067043765^0.1501931693
+"DATA",22713,1,"D",381,0)
+184.99^F^-2.060616513^20.11172291^0.1500793222
+"DATA",22713,1,"D",382,0)
+185.99^F^-2.067462375^20.155980469^0.1499623077
+"DATA",22713,1,"D",383,0)
+186.99^F^-2.074459502^20.199807672^0.1498425404
+"DATA",22713,1,"D",384,0)
+187.99^F^-2.081600029^20.243195857^0.1497204407
+"DATA",22713,1,"D",385,0)
+188.99^F^-2.088875793^20.286136477^0.1495964342
+"DATA",22713,1,"D",386,0)
+189.99^F^-2.096278323^20.328621093^0.1494709526
+"DATA",22713,1,"D",387,0)
+190.99^F^-2.103798828^20.370641376^0.1493444333
+"DATA",22713,1,"D",388,0)
+191.99^F^-2.111428194^20.412189106^0.1492173194
+"DATA",22713,1,"D",389,0)
+192.99^F^-2.119156972^20.453256172^0.14909006
+"DATA",22713,1,"D",390,0)
+193.99^F^-2.126975375^20.49383457^0.1489631101
+"DATA",22713,1,"D",391,0)
+194.99^F^-2.134873266^20.5339164^0.1488369306
+"DATA",22713,1,"D",392,0)
+195.99^F^-2.142840157^20.573493869^0.1487119885
+"DATA",22713,1,"D",393,0)
+196.99^F^-2.150865204^20.612559285^0.1485887569
+"DATA",22713,1,"D",394,0)
+197.99^F^-2.158937201^20.651105058^0.1484677151
+"DATA",22713,1,"D",395,0)
+198.99^F^-2.167044578^20.689123698^0.1483493484
+"DATA",22713,1,"D",396,0)
+199.99^F^-2.175176987^20.726607282^0.1482341202
+"DATA",22713,1,"D",397,0)
+200.99^F^-2.183317362^20.763550105^0.148122614
+"DATA",22713,1,"D",398,0)
+201.99^F^-2.191457792^20.799943374^0.1480152488
+"DATA",22713,1,"D",399,0)
+202.99^F^-2.199583649^20.83578051^0.1479125643
+"DATA",22713,1,"D",400,0)
+203.99^F^-2.207681525^20.871054493^0.1478150781
+"DATA",22713,1,"D",401,0)
+204.99^F^-2.215737645^20.905758394^0.1477233147
+"DATA",22713,1,"D",402,0)
+205.99^F^-2.223739902^20.939884769^0.1476377678
+"DATA",22713,1,"D",403,0)
+206.99^F^-2.231667995^20.973428578^0.1475590832
+"DATA",22713,1,"D",404,0)
+207.99^F^-2.239511942^21.006381705^0.1474877162
+"DATA",22713,1,"D",405,0)
+208.99^F^-2.247257081^21.038737402^0.1474242097
+"DATA",22713,1,"D",406,0)
+209.99^F^-2.254885145^21.070489959^0.1473691743
+"DATA",22713,1,"D",407,0)
+210.99^F^-2.26238209^21.101632407^0.147323144
+"DATA",22713,1,"D",408,0)
+211.99^F^-2.269731517^21.132158447^0.1472866982
+"DATA",22713,1,"D",409,0)
+212.99^F^-2.276917229^21.162061708^0.1472604146
+"DATA",22713,1,"D",410,0)
+213.99^F^-2.283925442^21.191335097^0.1472448281
+"DATA",22713,1,"D",411,0)
+214.99^F^-2.290731442^21.219974716^0.1472406828
+"DATA",22713,1,"D",412,0)
+215.99^F^-2.29732427^21.247972623^0.147248467
+"DATA",22713,1,"D",413,0)
+216.99^F^-2.303687802^21.275322389^0.1472687698
+"DATA",22713,1,"D",414,0)
+217.99^F^-2.309799971^21.302019325^0.1473022986
+"DATA",22713,1,"D",415,0)
+218.99^F^-2.315651874^21.328054894^0.1473495144
+"DATA",22713,1,"D",416,0)
+219.99^F^-2.32121731^21.353425629^0.1474112153
+"DATA",22713,1,"D",417,0)
+220.99^F^-2.326481911^21.378124616^0.1474879793
+"DATA",22713,1,"D",418,0)
+221.99^F^-2.331428139^21.402145892^0.1475804525
+"DATA",22713,1,"D",419,0)
+222.99^F^-2.336038473^21.425483514^0.1476892889
+"DATA",22713,1,"D",420,0)
+223.99^F^-2.34029545^21.448131558^0.1478151501
+"DATA",22713,1,"D",421,0)
+224.99^F^-2.344181703^21.470084116^0.1479587057
+"DATA",22713,1,"D",422,0)
+225.99^F^-2.34768^21.491335286^0.1481206332
+"DATA",22713,1,"D",423,0)
+226.99^F^-2.350773286^21.511879176^0.1483016185
+"DATA",22713,1,"D",424,0)
+227.99^F^-2.353444725^21.531709894^0.1485023554
+"DATA",22713,1,"D",425,0)
+228.99^F^-2.355677743^21.550821547^0.1487235462
+"DATA",22713,1,"D",426,0)
+229.99^F^-2.35745607^21.569208237^0.1489659018
+"DATA",22713,1,"D",427,0)
+230.99^F^-2.358763788^21.586864057^0.1492301415
+"DATA",22713,1,"D",428,0)
+231.99^F^-2.359585369^21.603783087^0.1495169936
+"DATA",22713,1,"D",429,0)
+232.99^F^-2.359905726^21.619959388^0.1498271951
+"DATA",22713,1,"D",430,0)
+233.99^F^-2.359710258^21.635387002^0.1501614923
+"DATA",22713,1,"D",431,0)
+234.99^F^-2.358980464^21.650061262^0.150520734
+"DATA",22713,1,"D",432,0)
+235.99^F^-2.357714508^21.663972695^0.1509054394
+"DATA",22713,1,"D",433,0)
+236.99^F^-2.355892424^21.677117355^0.1513165313
+"DATA",22713,1,"D",434,0)
+237.99^F^-2.353501353^21.689489352^0.1517548077
+"DATA",22713,1,"D",435,0)
+238.99^F^-2.350528726^21.701082884^0.1522210861
+"DATA",22713,1,"D",436,0)
+239.99^F^-2.346962247^21.711892252^0.1527162055
+"DATA",22713,1,"D",437,0)
+240^F^-2.34495843^21.716999342^0.152974718
+"DATA",22713,1,"D",438,0)
+240.99^F^-2.342796948^21.721909734^0.1532408716
+"DATA",22713,2,0)
+HEAD CIRC BY AGE -- INFANT^AGE^MONTHS^HEAD CIRCUMFERENCE^CM^0-36M
+"DATA",22713,2,1)
+https://spreadsheets.google.com/ccc?key=0As02V5OYrjbucFhfa0dnc0FTMjlZZmw3MGVkaTdPS2c&hl=en
+"DATA",22713,2,2)
+HCAGEINF
+"DATA",22713,2,"D",0)
+^22713.02A^76^76
+"DATA",22713,2,"D",1,0)
+0^M^4.427825037^35.81366835^0.052172542
+"DATA",22713,2,"D",2,0)
+0.99^M^4.310927464^37.19361054^0.047259148
+"DATA",22713,2,"D",3,0)
+1.99^M^3.869576802^39.20742929^0.040947903
+"DATA",22713,2,"D",4,0)
+2.99^M^3.305593039^40.65233195^0.037027722
+"DATA",22713,2,"D",5,0)
+3.99^M^2.720590297^41.76516959^0.034364245
+"DATA",22713,2,"D",6,0)
+4.99^M^2.16804824^42.66116148^0.032462175
+"DATA",22713,2,"D",7,0)
+5.99^M^1.675465689^43.40488731^0.031064702
+"DATA",22713,2,"D",8,0)
+6.99^M^1.255160322^44.03609923^0.03002267
+"DATA",22713,2,"D",9,0)
+7.99^M^0.91054114^44.58096912^0.029242173
+"DATA",22713,2,"D",10,0)
+8.99^M^0.639510474^45.05761215^0.028660454
+"DATA",22713,2,"D",11,0)
+9.99^M^0.436978864^45.4790756^0.0282336
+"DATA",22713,2,"D",12,0)
+10.99^M^0.296275856^45.85505706^0.027929764
+"DATA",22713,2,"D",13,0)
+11.99^M^0.210107251^46.19295427^0.027725179
+"DATA",22713,2,"D",14,0)
+12.99^M^0.171147024^46.49853438^0.027601686
+"DATA",22713,2,"D",15,0)
+13.99^M^0.172393886^46.77637684^0.027545148
+"DATA",22713,2,"D",16,0)
+14.99^M^0.207371541^47.03017599^0.027544382
+"DATA",22713,2,"D",17,0)
+15.99^M^0.270226126^47.2629533^0.027590417
+"DATA",22713,2,"D",18,0)
+16.99^M^0.355757274^47.47720989^0.02767598
+"DATA",22713,2,"D",19,0)
+17.99^M^0.459407627^47.67503833^0.027795115
+"DATA",22713,2,"D",20,0)
+18.99^M^0.577227615^47.85820606^0.0279429
+"DATA",22713,2,"D",21,0)
+19.99^M^0.705826778^48.02821867^0.028115241
+"DATA",22713,2,"D",22,0)
+20.99^M^0.842319055^48.18636864^0.028308707
+"DATA",22713,2,"D",23,0)
+21.99^M^0.984266833^48.3337732^0.028520407
+"DATA",22713,2,"D",24,0)
+22.99^M^1.129626698^48.47140432^0.028747896
+"DATA",22713,2,"D",25,0)
+23.99^M^1.276691223^48.60011223^0.028989089
+"DATA",22713,2,"D",26,0)
+24.99^M^1.424084853^48.72064621^0.029242207
+"DATA",22713,2,"D",27,0)
+25.99^M^1.570621291^48.83366629^0.029505723
+"DATA",22713,2,"D",28,0)
+26.99^M^1.715393998^48.93976089^0.029778323
+"DATA",22713,2,"D",29,0)
+27.99^M^1.857652984^49.03945383^0.030058871
+"DATA",22713,2,"D",30,0)
+28.99^M^1.996810563^49.13321432^0.030346384
+"DATA",22713,2,"D",31,0)
+29.99^M^2.132411346^49.22146409^0.030640006
+"DATA",22713,2,"D",32,0)
+30.99^M^2.264111009^49.30458348^0.030938992
+"DATA",22713,2,"D",33,0)
+31.99^M^2.391658052^49.38291658^0.031242693
+"DATA",22713,2,"D",34,0)
+32.99^M^2.514878222^49.45677569^0.031550537
+"DATA",22713,2,"D",35,0)
+33.99^M^2.633661226^49.526445^0.031862026
+"DATA",22713,2,"D",36,0)
+34.99^M^2.747949445^49.59218385^0.03217672
+"DATA",22713,2,"D",37,0)
+35.99^M^2.857728375^49.65422952^0.032494231
+"DATA",22713,2,"D",38,0)
+36^M^2.910932095^49.68393611^0.032653934
+"DATA",22713,2,"D",39,0)
+0^F^-1.298749689^34.7115617^0.046905108
+"DATA",22713,2,"D",40,0)
+0.99^F^-1.440271514^36.03453876^0.042999604
+"DATA",22713,2,"D",41,0)
+1.99^F^-1.581016348^37.97671987^0.038067862
+"DATA",22713,2,"D",42,0)
+2.99^F^-1.593136386^39.3801263^0.035079612
+"DATA",22713,2,"D",43,0)
+3.99^F^-1.521492427^40.46773733^0.033096443
+"DATA",22713,2,"D",44,0)
+4.99^F^-1.394565915^41.34841008^0.03170963
+"DATA",22713,2,"D",45,0)
+5.99^F^-1.231713389^42.0833507^0.030709039
+"DATA",22713,2,"D",46,0)
+6.99^F^-1.046582628^42.71033603^0.029974303
+"DATA",22713,2,"D",47,0)
+7.99^F^-0.848932692^43.25428882^0.029430992
+"DATA",22713,2,"D",48,0)
+8.99^F^-0.645779124^43.73249646^0.029030379
+"DATA",22713,2,"D",49,0)
+9.99^F^-0.442165412^44.15742837^0.028739112
+"DATA",22713,2,"D",50,0)
+10.99^F^-0.24163206^44.53836794^0.028533537
+"DATA",22713,2,"D",51,0)
+11.99^F^-0.046673786^44.88240562^0.028396382
+"DATA",22713,2,"D",52,0)
+12.99^F^0.141031094^45.19507651^0.028314722
+"DATA",22713,2,"D",53,0)
+13.99^F^0.320403169^45.48078147^0.028278682
+"DATA",22713,2,"D",54,0)
+14.99^F^0.490807133^45.74307527^0.028280585
+"DATA",22713,2,"D",55,0)
+15.99^F^0.65193505^45.98486901^0.028314363
+"DATA",22713,2,"D",56,0)
+16.99^F^0.803718086^46.20857558^0.028375159
+"DATA",22713,2,"D",57,0)
+17.99^F^0.946259679^46.41621635^0.028459033
+"DATA",22713,2,"D",58,0)
+18.99^F^1.079784984^46.60950084^0.028562759
+"DATA",22713,2,"D",59,0)
+19.99^F^1.204602687^46.78988722^0.028683666
+"DATA",22713,2,"D",60,0)
+20.99^F^1.321076285^46.95862881^0.028819525
+"DATA",22713,2,"D",61,0)
+21.99^F^1.429602576^47.11681039^0.028968459
+"DATA",22713,2,"D",62,0)
+22.99^F^1.530595677^47.26537682^0.029128879
+"DATA",22713,2,"D",63,0)
+23.99^F^1.624475262^47.40515585^0.029299426
+"DATA",22713,2,"D",64,0)
+24.99^F^1.71165803^47.53687649^0.029478937
+"DATA",22713,2,"D",65,0)
+25.99^F^1.792551616^47.66118396^0.029666406
+"DATA",22713,2,"D",66,0)
+26.99^F^1.867550375^47.77865186^0.02986096
+"DATA",22713,2,"D",67,0)
+27.99^F^1.93703258^47.8897923^0.030061839
+"DATA",22713,2,"D",68,0)
+28.99^F^2.001358669^47.99506422^0.030268375
+"DATA",22713,2,"D",69,0)
+29.99^F^2.060870301^48.09488048^0.030479985
+"DATA",22713,2,"D",70,0)
+30.99^F^2.115889982^48.18961365^0.03069615
+"DATA",22713,2,"D",71,0)
+31.99^F^2.16672113^48.2796011^0.030916413
+"DATA",22713,2,"D",72,0)
+32.99^F^2.21364844^48.36514917^0.031140368
+"DATA",22713,2,"D",73,0)
+33.99^F^2.256943216^48.44653703^0.031367651
+"DATA",22713,2,"D",74,0)
+34.99^F^2.296844024^48.52401894^0.031597939
+"DATA",22713,2,"D",75,0)
+35.99^F^2.333589434^48.59782828^0.031830942
+"DATA",22713,2,"D",76,0)
+36^F^2.350847202^48.63342328^0.031948378
+"DATA",22713,3,0)
+LENGTH BY AGE -- INFANT^AGE^MONTHS^RECUMBENT LENGTH^CM^0-36M
+"DATA",22713,3,1)
+https://spreadsheets.google.com/ccc?key=0As02V5OYrjbucFhfa0dnc0FTMjlaLU5LVmFUV1JMYWc&hl=en
+"DATA",22713,3,2)
+LENAGEINF
+"DATA",22713,3,"D",0)
+^22713.02A^74^74
+"DATA",22713,3,"D",1,0)
+0^M^1.2670042261^49.988884079^0.0531121908
+"DATA",22713,3,"D",2,0)
+0.99^M^0.5112376962^52.695975301^0.0486926838
+"DATA",22713,3,"D",3,0)
+1.99^M^-0.45224446^56.628428552^0.0441168302
+"DATA",22713,3,"D",4,0)
+2.99^M^-0.990594599^59.608953427^0.0417955825
+"DATA",22713,3,"D",5,0)
+3.99^M^-1.285837689^62.077000266^0.0404541256
+"DATA",22713,3,"D",6,0)
+4.99^M^-1.43031238^64.216864104^0.0396338789
+"DATA",22713,3,"D",7,0)
+5.99^M^-1.47657547^66.125314898^0.0391238128
+"DATA",22713,3,"D",8,0)
+6.99^M^-1.456837849^67.860179904^0.0388119944
+"DATA",22713,3,"D",9,0)
+7.99^M^-1.391898768^69.459084582^0.0386332091
+"DATA",22713,3,"D",10,0)
+8.99^M^-1.29571459^70.948039123^0.0385468328
+"DATA",22713,3,"D",11,0)
+9.99^M^-1.177919048^72.345861109^0.0385262623
+"DATA",22713,3,"D",12,0)
+10.99^M^-1.045326049^73.666654103^0.038553387
+"DATA",22713,3,"D",13,0)
+11.99^M^-0.902800887^74.921297174^0.0386155012
+"DATA",22713,3,"D",14,0)
+12.99^M^-0.753908107^76.118375358^0.0387034611
+"DATA",22713,3,"D",15,0)
+13.99^M^-0.601263523^77.264799111^0.0388105571
+"DATA",22713,3,"D",16,0)
+14.99^M^-0.446805039^78.366223087^0.0389317838
+"DATA",22713,3,"D",17,0)
+15.99^M^-0.291974772^79.427340501^0.0390633563
+"DATA",22713,3,"D",18,0)
+16.99^M^-0.13784767^80.452094919^0.0392023816
+"DATA",22713,3,"D",19,0)
+17.99^M^0.014776155^81.443836034^0.0393466285
+"DATA",22713,3,"D",20,0)
+18.99^M^0.1653041691^82.405436434^0.0394943647
+"DATA",22713,3,"D",21,0)
+19.99^M^0.3133018086^83.339380627^0.0396442379
+"DATA",22713,3,"D",22,0)
+20.99^M^0.4584554707^84.247833944^0.0397951891
+"DATA",22713,3,"D",23,0)
+21.99^M^0.6005446308^85.132696575^0.0399463877
+"DATA",22713,3,"D",24,0)
+22.99^M^0.7394389526^85.995648803^0.0400971806
+"DATA",22713,3,"D",25,0)
+23.99^M^0.8750004465^86.838175097^0.0402470597
+"DATA",22713,3,"D",26,0)
+24.99^M^1.0072080698^87.661609339^0.0403956257
+"DATA",22713,3,"D",27,0)
+25.99^M^0.8372513507^88.452472817^0.0405775247
+"DATA",22713,3,"D",28,0)
+26.99^M^0.681492975^89.223264339^0.0407231216
+"DATA",22713,3,"D",29,0)
+27.99^M^0.5387796541^89.975492278^0.0408331942
+"DATA",22713,3,"D",30,0)
+28.99^M^0.4076971531^90.710408526^0.0409090589
+"DATA",22713,3,"D",31,0)
+29.99^M^0.2867624533^91.429077621^0.0409524329
+"DATA",22713,3,"D",32,0)
+30.99^M^0.1744894848^92.132423789^0.0409653301
+"DATA",22713,3,"D",33,0)
+31.99^M^0.0694445205^92.821271673^0.0409499758
+"DATA",22713,3,"D",34,0)
+32.99^M^-0.029720564^93.496379457^0.0409087367
+"DATA",22713,3,"D",35,0)
+33.99^M^-0.124251789^94.158465459^0.0408440616
+"DATA",22713,3,"D",36,0)
+34.99^M^-0.215288396^94.808229231^0.0407584307
+"DATA",22713,3,"D",37,0)
+35.99^M^-0.30385434^95.446369813^0.0406543122
+"DATA",22713,3,"D",38,0)
+0^F^-1.295960857^49.286396118^0.0500855601
+"DATA",22713,3,"D",39,0)
+0.99^F^-0.809249882^51.683580573^0.0468185454
+"DATA",22713,3,"D",40,0)
+1.99^F^-0.050782985^55.286128126^0.0434439
+"DATA",22713,3,"D",41,0)
+2.99^F^0.4768514065^58.093819061^0.0417161032
+"DATA",22713,3,"D",42,0)
+3.99^F^0.8432996117^60.459807634^0.0407051733
+"DATA",22713,3,"D",43,0)
+4.99^F^1.0975622571^62.536696555^0.0400797646
+"DATA",22713,3,"D",44,0)
+5.99^F^1.2725096408^64.406327624^0.0396868449
+"DATA",22713,3,"D",45,0)
+6.99^F^1.3904288587^66.118415533^0.0394445547
+"DATA",22713,3,"D",46,0)
+7.99^F^1.466733925^67.705744192^0.0393047376
+"DATA",22713,3,"D",47,0)
+8.99^F^1.5123019758^69.191236138^0.0392371101
+"DATA",22713,3,"D",48,0)
+9.99^F^1.534950767^70.591639237^0.0392216648
+"DATA",22713,3,"D",49,0)
+10.99^F^1.5403908751^71.919616727^0.0392446716
+"DATA",22713,3,"D",50,0)
+11.99^F^1.5328528917^73.185010399^0.0392964203
+"DATA",22713,3,"D",51,0)
+12.99^F^1.5155094695^74.395643786^0.0393698746
+"DATA",22713,3,"D",52,0)
+13.99^F^1.4907650275^75.557854397^0.0394598321
+"DATA",22713,3,"D",53,0)
+14.99^F^1.460458255^76.676858713^0.0395623818
+"DATA",22713,3,"D",54,0)
+15.99^F^1.4260060091^77.757009856^0.0396745415
+"DATA",22713,3,"D",55,0)
+16.99^F^1.3885070954^78.801984056^0.0397940102
+"DATA",22713,3,"D",56,0)
+17.99^F^1.3488181274^79.814918523^0.0399189943
+"DATA",22713,3,"D",57,0)
+18.99^F^1.3076096543^80.798515316^0.0400480838
+"DATA",22713,3,"D",58,0)
+19.99^F^1.2654081486^81.755120921^0.0401801621
+"DATA",22713,3,"D",59,0)
+20.99^F^1.2226277319^82.686788098^0.0403143396
+"DATA",22713,3,"D",60,0)
+21.99^F^1.1795943654^83.59532461^0.040449904
+"DATA",22713,3,"D",61,0)
+22.99^F^1.1365644483^84.48233206^0.0405862829
+"DATA",22713,3,"D",62,0)
+23.99^F^1.0937319466^85.349236238^0.0407230154
+"DATA",22713,3,"D",63,0)
+24.99^F^1.0512729122^86.197316902^0.0408597268
+"DATA",22713,3,"D",64,0)
+25.99^F^1.041951175^87.090263184^0.0411421607
+"DATA",22713,3,"D",65,0)
+26.99^F^1.0125922357^87.957141816^0.0413493986
+"DATA",22713,3,"D",66,0)
+27.99^F^0.9705419086^88.796018399^0.041500428
+"DATA",22713,3,"D",67,0)
+28.99^F^0.9211299875^89.605511504^0.0416105082
+"DATA",22713,3,"D",68,0)
+29.99^F^0.8682213922^90.38476689^0.0416917614
+"DATA",22713,3,"D",69,0)
+30.99^F^0.8145441296^91.133417221^0.0417536804
+"DATA",22713,3,"D",70,0)
+31.99^F^0.7619579771^91.851543603^0.0418035615
+"DATA",22713,3,"D",71,0)
+32.99^F^0.7116602284^92.539635196^0.0418468815
+"DATA",22713,3,"D",72,0)
+33.99^F^0.6643233788^93.198544285^0.041887626
+"DATA",22713,3,"D",73,0)
+34.99^F^0.6202851017^93.829453915^0.0419285678
+"DATA",22713,3,"D",74,0)
+35.99^F^0.57955631^94.433822779^0.0419715144
+"DATA",22713,4,0)
+STATURE BY AGE^AGE^MONTHS^STATURE (HEIGHT)^CM^2-20Y
+"DATA",22713,4,1)
+https://spreadsheets.google.com/ccc?key=0As02V5OYrjbucFhfa0dnc0FTMjlhNE15ajR3QU9mTkE&hl=en
+"DATA",22713,4,2)
+STATAGE
+"DATA",22713,4,"D",0)
+^22713.02A^436^436
+"DATA",22713,4,"D",1,0)
+24^M^0.941523967^86.45220101^0.040321528
+"DATA",22713,4,"D",2,0)
+24.99^M^1.00720807^86.86160934^0.040395626
+"DATA",22713,4,"D",3,0)
+25.99^M^0.837251351^87.65247282^0.040577525
+"DATA",22713,4,"D",4,0)
+26.99^M^0.681492975^88.42326434^0.040723122
+"DATA",22713,4,"D",5,0)
+27.99^M^0.538779654^89.17549228^0.040833194
+"DATA",22713,4,"D",6,0)
+28.99^M^0.407697153^89.91040853^0.040909059
+"DATA",22713,4,"D",7,0)
+29.99^M^0.286762453^90.62907762^0.040952433
+"DATA",22713,4,"D",8,0)
+30.99^M^0.174489485^91.33242379^0.04096533
+"DATA",22713,4,"D",9,0)
+31.99^M^0.069444521^92.02127167^0.040949976
+"DATA",22713,4,"D",10,0)
+32.99^M^-0.029720564^92.69637946^0.040908737
+"DATA",22713,4,"D",11,0)
+33.99^M^-0.124251789^93.35846546^0.040844062
+"DATA",22713,4,"D",12,0)
+34.99^M^-0.215288396^94.00822923^0.040758431
+"DATA",22713,4,"D",13,0)
+35.99^M^-0.30385434^94.64636981^0.040654312
+"DATA",22713,4,"D",14,0)
+36.99^M^-0.390918369^95.27359106^0.04053412
+"DATA",22713,4,"D",15,0)
+37.99^M^-0.254801167^95.91474929^0.040572876
+"DATA",22713,4,"D",16,0)
+38.99^M^-0.125654535^96.54734328^0.04061691
+"DATA",22713,4,"D",17,0)
+39.99^M^-0.00316735^97.17191309^0.040666414
+"DATA",22713,4,"D",18,0)
+40.99^M^0.11291221^97.78897727^0.040721467
+"DATA",22713,4,"D",19,0)
+41.99^M^0.222754969^98.3990283^0.040782045
+"DATA",22713,4,"D",20,0)
+42.99^M^0.326530126^99.00254338^0.040848042
+"DATA",22713,4,"D",21,0)
+43.99^M^0.42436156^99.599977^0.040919281
+"DATA",22713,4,"D",22,0)
+44.99^M^0.516353108^100.191764^0.040995524
+"DATA",22713,4,"D",23,0)
+45.99^M^0.602595306^100.7783198^0.041076485
+"DATA",22713,4,"D",24,0)
+46.99^M^0.683170764^101.3600411^0.041161838
+"DATA",22713,4,"D",25,0)
+47.99^M^0.758158406^101.9373058^0.041251224
+"DATA",22713,4,"D",26,0)
+48.99^M^0.827636736^102.5104735^0.041344257
+"DATA",22713,4,"D",27,0)
+49.99^M^0.891686306^103.0798852^0.041440534
+"DATA",22713,4,"D",28,0)
+50.99^M^0.95039153^103.645864^0.041539635
+"DATA",22713,4,"D",29,0)
+51.99^M^1.003830006^104.208713^0.041641136
+"DATA",22713,4,"D",30,0)
+52.99^M^1.05213569^104.7687256^0.041744602
+"DATA",22713,4,"D",31,0)
+53.99^M^1.0953669^105.3261638^0.041849607
+"DATA",22713,4,"D",32,0)
+54.99^M^1.133652119^105.8812823^0.041955723
+"DATA",22713,4,"D",33,0)
+55.99^M^1.167104213^106.4343146^0.042062532
+"DATA",22713,4,"D",34,0)
+56.99^M^1.195845353^106.9854769^0.042169628
+"DATA",22713,4,"D",35,0)
+57.99^M^1.220004233^107.534968^0.042276619
+"DATA",22713,4,"D",36,0)
+58.99^M^1.239715856^108.0829695^0.042383129
+"DATA",22713,4,"D",37,0)
+59.99^M^1.255121285^108.6296457^0.042488804
+"DATA",22713,4,"D",38,0)
+60.99^M^1.266367398^109.1751441^0.042593311
+"DATA",22713,4,"D",39,0)
+61.99^M^1.273606657^109.7195954^0.042696342
+"DATA",22713,4,"D",40,0)
+62.99^M^1.276996893^110.2631136^0.042797615
+"DATA",22713,4,"D",41,0)
+63.99^M^1.276701119^110.8057967^0.042896877
+"DATA",22713,4,"D",42,0)
+64.99^M^1.272887366^111.3477265^0.042993904
+"DATA",22713,4,"D",43,0)
+65.99^M^1.265728536^111.8889694^0.043088503
+"DATA",22713,4,"D",44,0)
+66.99^M^1.255402281^112.4295761^0.043180513
+"DATA",22713,4,"D",45,0)
+67.99^M^1.242090871^112.9695827^0.043269806
+"DATA",22713,4,"D",46,0)
+68.99^M^1.225981067^113.5090108^0.043356287
+"DATA",22713,4,"D",47,0)
+69.99^M^1.207263978^114.0478678^0.043439893
+"DATA",22713,4,"D",48,0)
+70.99^M^1.186140222^114.5861486^0.043520597
+"DATA",22713,4,"D",49,0)
+71.99^M^1.162796198^115.1238315^0.043598407
+"DATA",22713,4,"D",50,0)
+72.99^M^1.137442868^115.6608862^0.043673359
+"DATA",22713,4,"D",51,0)
+73.99^M^1.110286487^116.1972691^0.043745523
+"DATA",22713,4,"D",52,0)
+74.99^M^1.081536236^116.732925^0.043815003
+"DATA",22713,4,"D",53,0)
+75.99^M^1.05140374^117.2677879^0.043881929
+"DATA",22713,4,"D",54,0)
+76.99^M^1.020102497^117.8017819^0.043946461
+"DATA",22713,4,"D",55,0)
+77.99^M^0.987847213^118.3348215^0.044008785
+"DATA",22713,4,"D",56,0)
+78.99^M^0.954853043^118.8668123^0.044069112
+"DATA",22713,4,"D",57,0)
+79.99^M^0.921334742^119.397652^0.044127675
+"DATA",22713,4,"D",58,0)
+80.99^M^0.887505723^119.9272309^0.044184725
+"DATA",22713,4,"D",59,0)
+81.99^M^0.85357703^120.455433^0.044240532
+"DATA",22713,4,"D",60,0)
+82.99^M^0.819756239^120.9821362^0.044295379
+"DATA",22713,4,"D",61,0)
+83.99^M^0.786246296^121.5072136^0.044349559
+"DATA",22713,4,"D",62,0)
+84.99^M^0.753244292^122.0305342^0.044403374
+"DATA",22713,4,"D",63,0)
+85.99^M^0.720940222^122.5519634^0.04445713
+"DATA",22713,4,"D",64,0)
+86.99^M^0.689515708^123.0713645^0.044511135
+"DATA",22713,4,"D",65,0)
+87.99^M^0.659142731^123.588599^0.044565693
+"DATA",22713,4,"D",66,0)
+88.99^M^0.629997853^124.1035312^0.044621104
+"DATA",22713,4,"D",67,0)
+89.99^M^0.602203984^124.6160161^0.044677662
+"DATA",22713,4,"D",68,0)
+90.99^M^0.575908038^125.1259182^0.044735646
+"DATA",22713,4,"D",69,0)
+91.99^M^0.55123134^125.6331012^0.044795322
+"DATA",22713,4,"D",70,0)
+92.99^M^0.528279901^126.1374319^0.044856941
+"DATA",22713,4,"D",71,0)
+93.99^M^0.507143576^126.6387804^0.04492073
+"DATA",22713,4,"D",72,0)
+94.99^M^0.487895344^127.1370217^0.044986899
+"DATA",22713,4,"D",73,0)
+95.99^M^0.470590753^127.6320362^0.045055632
+"DATA",22713,4,"D",74,0)
+96.99^M^0.455267507^128.1237104^0.045127088
+"DATA",22713,4,"D",75,0)
+97.99^M^0.441945241^128.6119383^0.045201399
+"DATA",22713,4,"D",76,0)
+98.99^M^0.430625458^129.096622^0.045278671
+"DATA",22713,4,"D",77,0)
+99.99^M^0.421291648^129.5776723^0.045358979
+"DATA",22713,4,"D",78,0)
+100.99^M^0.413909588^130.0550101^0.045442372
+"DATA",22713,4,"D",79,0)
+101.99^M^0.408427813^130.5285669^0.045528869
+"DATA",22713,4,"D",80,0)
+102.99^M^0.404778262^130.9982857^0.045618459
+"DATA",22713,4,"D",81,0)
+103.99^M^0.402877077^131.4641218^0.045711105
+"DATA",22713,4,"D",82,0)
+104.99^M^0.402625561^131.9260439^0.045806742
+"DATA",22713,4,"D",83,0)
+105.99^M^0.40391127^132.3840348^0.045905281
+"DATA",22713,4,"D",84,0)
+106.99^M^0.406609232^132.838092^0.046006604
+"DATA",22713,4,"D",85,0)
+107.99^M^0.410583274^133.2882291^0.046110573
+"DATA",22713,4,"D",86,0)
+108.99^M^0.415687443^133.7344759^0.046217028
+"DATA",22713,4,"D",87,0)
+109.99^M^0.421767514^134.1768801^0.04632579
+"DATA",22713,4,"D",88,0)
+110.99^M^0.428662551^134.6155076^0.046436662
+"DATA",22713,4,"D",89,0)
+111.99^M^0.436206531^135.0504433^0.04654943
+"DATA",22713,4,"D",90,0)
+112.99^M^0.44423^135.4817925^0.046663871
+"DATA",22713,4,"D",91,0)
+113.99^M^0.45256176^135.9096813^0.046779748
+"DATA",22713,4,"D",92,0)
+114.99^M^0.461030578^136.3342577^0.046896817
+"DATA",22713,4,"D",93,0)
+115.99^M^0.469466904^136.7556923^0.047014827
+"DATA",22713,4,"D",94,0)
+116.99^M^0.477704608^137.1741794^0.047133525
+"DATA",22713,4,"D",95,0)
+117.99^M^0.48558272^137.5899378^0.047252654
+"DATA",22713,4,"D",96,0)
+118.99^M^0.492947182^138.0032114^0.047371961
+"DATA",22713,4,"D",97,0)
+119.99^M^0.499652617^138.4142703^0.047491194
+"DATA",22713,4,"D",98,0)
+120.99^M^0.505564115^138.8234114^0.047610108
+"DATA",22713,4,"D",99,0)
+121.99^M^0.510559047^139.2309592^0.047728463
+"DATA",22713,4,"D",100,0)
+122.99^M^0.514528903^139.6372663^0.04784603
+"DATA",22713,4,"D",101,0)
+123.99^M^0.517381177^140.042714^0.047962592
+"DATA",22713,4,"D",102,0)
+124.99^M^0.519041285^140.4477127^0.048077942
+"DATA",22713,4,"D",103,0)
+125.99^M^0.519454524^140.8527022^0.048191889
+"DATA",22713,4,"D",104,0)
+126.99^M^0.518588072^141.2581515^0.048304259
+"DATA",22713,4,"D",105,0)
+127.99^M^0.516433004^141.6645592^0.048414893
+"DATA",22713,4,"D",106,0)
+128.99^M^0.513006312^142.072452^0.048523648
+"DATA",22713,4,"D",107,0)
+129.99^M^0.508352901^142.4823852^0.048630402
+"DATA",22713,4,"D",108,0)
+130.99^M^0.502547502^142.8949403^0.04873505
+"DATA",22713,4,"D",109,0)
+131.99^M^0.495696454^143.3107241^0.048837504
+"DATA",22713,4,"D",110,0)
+132.99^M^0.487939275^143.7303663^0.048937694
+"DATA",22713,4,"D",111,0)
+133.99^M^0.479449924^144.1545167^0.049035564
+"DATA",22713,4,"D",112,0)
+134.99^M^0.470437652^144.5838414^0.049131073
+"DATA",22713,4,"D",113,0)
+135.99^M^0.461147305^145.0190192^0.049224189
+"DATA",22713,4,"D",114,0)
+136.99^M^0.451858946^145.4607359^0.049314887
+"DATA",22713,4,"D",115,0)
+137.99^M^0.442886661^145.9096784^0.049403145
+"DATA",22713,4,"D",116,0)
+138.99^M^0.434576385^146.3665278^0.049488934
+"DATA",22713,4,"D",117,0)
+139.99^M^0.427302633^146.8319513^0.049572216
+"DATA",22713,4,"D",118,0)
+140.99^M^0.421464027^147.3065929^0.049652935
+"DATA",22713,4,"D",119,0)
+141.99^M^0.417477538^147.7910635^0.049731004
+"DATA",22713,4,"D",120,0)
+142.99^M^0.415771438^148.2859294^0.0498063
+"DATA",22713,4,"D",121,0)
+143.99^M^0.416777012^148.7917006^0.04987865
+"DATA",22713,4,"D",122,0)
+144.99^M^0.420919142^149.3088178^0.049947823
+"DATA",22713,4,"D",123,0)
+145.99^M^0.428606007^149.8376391^0.050013518
+"DATA",22713,4,"D",124,0)
+146.99^M^0.440218167^150.3784267^0.050075353
+"DATA",22713,4,"D",125,0)
+147.99^M^0.456097443^150.9313331^0.050132858
+"DATA",22713,4,"D",126,0)
+148.99^M^0.476536014^151.4963887^0.050185471
+"DATA",22713,4,"D",127,0)
+149.99^M^0.501766234^152.0734897^0.050232532
+"DATA",22713,4,"D",128,0)
+150.99^M^0.531951655^152.6623878^0.050273285
+"DATA",22713,4,"D",129,0)
+151.99^M^0.567179725^153.2626819^0.050306885
+"DATA",22713,4,"D",130,0)
+152.99^M^0.607456565^153.8738124^0.050332406
+"DATA",22713,4,"D",131,0)
+153.99^M^0.652704121^154.495058^0.05034886
+"DATA",22713,4,"D",132,0)
+154.99^M^0.702759868^155.1255365^0.050355216
+"DATA",22713,4,"D",133,0)
+155.99^M^0.757379106^155.7642086^0.050350423
+"DATA",22713,4,"D",134,0)
+156.99^M^0.816239713^156.4098858^0.050333444
+"DATA",22713,4,"D",135,0)
+157.99^M^0.878947416^157.0612415^0.050303283
+"DATA",22713,4,"D",136,0)
+158.99^M^0.945053486^157.7168289^0.050259018
+"DATA",22713,4,"D",137,0)
+159.99^M^1.014046108^158.3750929^0.050199837
+"DATA",22713,4,"D",138,0)
+160.99^M^1.085383319^159.034399^0.050125062
+"DATA",22713,4,"D",139,0)
+161.99^M^1.158487278^159.6930501^0.05003418
+"DATA",22713,4,"D",140,0)
+162.99^M^1.232768816^160.3493168^0.049926861
+"DATA",22713,4,"D",141,0)
+163.99^M^1.307628899^161.0014586^0.049802977
+"DATA",22713,4,"D",142,0)
+164.99^M^1.382473225^161.6477515^0.04966261
+"DATA",22713,4,"D",143,0)
+165.99^M^1.456720479^162.2865119^0.049506051
+"DATA",22713,4,"D",144,0)
+166.99^M^1.529810247^162.9161202^0.049333801
+"DATA",22713,4,"D",145,0)
+167.99^M^1.601219573^163.535045^0.049146553
+"DATA",22713,4,"D",146,0)
+168.99^M^1.670433444^164.1418486^0.04894519
+"DATA",22713,4,"D",147,0)
+169.99^M^1.736995571^164.7352199^0.048730749
+"DATA",22713,4,"D",148,0)
+170.99^M^1.800483802^165.3139755^0.048504404
+"DATA",22713,4,"D",149,0)
+171.99^M^1.860518777^165.8770715^0.048267442
+"DATA",22713,4,"D",150,0)
+172.99^M^1.916765525^166.4236087^0.04802123
+"DATA",22713,4,"D",151,0)
+173.99^M^1.968934444^166.9528354^0.047767192
+"DATA",22713,4,"D",152,0)
+174.99^M^2.016781776^167.4641466^0.047506783
+"DATA",22713,4,"D",153,0)
+175.99^M^2.060109658^167.9570814^0.047241456
+"DATA",22713,4,"D",154,0)
+176.99^M^2.098765817^168.4313175^0.04697265
+"DATA",22713,4,"D",155,0)
+177.99^M^2.132642948^168.8866644^0.046701759
+"DATA",22713,4,"D",156,0)
+178.99^M^2.16167779^169.3230548^0.046430122
+"DATA",22713,4,"D",157,0)
+179.99^M^2.185849904^169.7405351^0.046159004
+"DATA",22713,4,"D",158,0)
+180.99^M^2.205180153^170.139255^0.045889585
+"DATA",22713,4,"D",159,0)
+181.99^M^2.219728869^170.5194567^0.045622955
+"DATA",22713,4,"D",160,0)
+182.99^M^2.2295937^170.881464^0.045360101
+"DATA",22713,4,"D",161,0)
+183.99^M^2.234907144^171.2256717^0.045101913
+"DATA",22713,4,"D",162,0)
+184.99^M^2.235833767^171.5525345^0.044849174
+"DATA",22713,4,"D",163,0)
+185.99^M^2.232567138^171.8625576^0.044602566
+"DATA",22713,4,"D",164,0)
+186.99^M^2.2253265^172.1562865^0.044362674
+"DATA",22713,4,"D",165,0)
+187.99^M^2.214353232^172.4342983^0.044129985
+"DATA",22713,4,"D",166,0)
+188.99^M^2.199905902^172.6971935^0.043904897
+"DATA",22713,4,"D",167,0)
+189.99^M^2.182262864^172.9455898^0.043687723
+"DATA",22713,4,"D",168,0)
+190.99^M^2.161704969^173.180112^0.043478698
+"DATA",22713,4,"D",169,0)
+191.99^M^2.138524662^173.4013896^0.043277987
+"DATA",22713,4,"D",170,0)
+192.99^M^2.113023423^173.6100518^0.043085685
+"DATA",22713,4,"D",171,0)
+193.99^M^2.085490286^173.8067179^0.042901835
+"DATA",22713,4,"D",172,0)
+194.99^M^2.0562195^173.9919998^0.042726424
+"DATA",22713,4,"D",173,0)
+195.99^M^2.025496648^174.1664951^0.042559396
+"DATA",22713,4,"D",174,0)
+196.99^M^1.993598182^174.3307855^0.042400652
+"DATA",22713,4,"D",175,0)
+197.99^M^1.960789092^174.4854344^0.042250063
+"DATA",22713,4,"D",176,0)
+198.99^M^1.927320937^174.6309856^0.042107465
+"DATA",22713,4,"D",177,0)
+199.99^M^1.89343024^174.7679617^0.041972676
+"DATA",22713,4,"D",178,0)
+200.99^M^1.859337259^174.8968634^0.041845488
+"DATA",22713,4,"D",179,0)
+201.99^M^1.825245107^175.0181691^0.041725679
+"DATA",22713,4,"D",180,0)
+202.99^M^1.791339209^175.1323345^0.041613015
+"DATA",22713,4,"D",181,0)
+203.99^M^1.757787065^175.2397926^0.041507249
+"DATA",22713,4,"D",182,0)
+204.99^M^1.724738292^175.340954^0.041408129
+"DATA",22713,4,"D",183,0)
+205.99^M^1.692324905^175.4362071^0.041315398
+"DATA",22713,4,"D",184,0)
+206.99^M^1.660661815^175.5259191^0.041228796
+"DATA",22713,4,"D",185,0)
+207.99^M^1.629847495^175.6104358^0.04114806
+"DATA",22713,4,"D",186,0)
+208.99^M^1.599964788^175.690083^0.041072931
+"DATA",22713,4,"D",187,0)
+209.99^M^1.571081817^175.7651671^0.04100315
+"DATA",22713,4,"D",188,0)
+210.99^M^1.543252982^175.8359757^0.040938463
+"DATA",22713,4,"D",189,0)
+211.99^M^1.516519998^175.9027788^0.040878617
+"DATA",22713,4,"D",190,0)
+212.99^M^1.490912963^175.9658293^0.040823368
+"DATA",22713,4,"D",191,0)
+213.99^M^1.466451429^176.0253641^0.040772475
+"DATA",22713,4,"D",192,0)
+214.99^M^1.44314546^176.081605^0.040725706
+"DATA",22713,4,"D",193,0)
+215.99^M^1.420996665^176.1347593^0.040682834
+"DATA",22713,4,"D",194,0)
+216.99^M^1.399999187^176.1850208^0.04064364
+"DATA",22713,4,"D",195,0)
+217.99^M^1.380140651^176.2325707^0.040607913
+"DATA",22713,4,"D",196,0)
+218.99^M^1.361403047^176.2775781^0.040575448
+"DATA",22713,4,"D",197,0)
+219.99^M^1.343763564^176.3202008^0.040546051
+"DATA",22713,4,"D",198,0)
+220.99^M^1.327195355^176.3605864^0.040519532
+"DATA",22713,4,"D",199,0)
+221.99^M^1.311668242^176.3988725^0.040495713
+"DATA",22713,4,"D",200,0)
+222.99^M^1.297149359^176.4351874^0.040474421
+"DATA",22713,4,"D",201,0)
+223.99^M^1.283603728^176.469651^0.040455493
+"DATA",22713,4,"D",202,0)
+224.99^M^1.270994782^176.5023751^0.040438773
+"DATA",22713,4,"D",203,0)
+225.99^M^1.25928483^176.533464^0.040424111
+"DATA",22713,4,"D",204,0)
+226.99^M^1.248435461^176.5630153^0.040411366
+"DATA",22713,4,"D",205,0)
+227.99^M^1.23840791^176.5911197^0.040400405
+"DATA",22713,4,"D",206,0)
+228.99^M^1.229163362^176.6178621^0.040391101
+"DATA",22713,4,"D",207,0)
+229.99^M^1.220663228^176.6433219^0.040383334
+"DATA",22713,4,"D",208,0)
+230.99^M^1.212869374^176.6675729^0.04037699
+"DATA",22713,4,"D",209,0)
+231.99^M^1.20574431^176.6906844^0.040371962
+"DATA",22713,4,"D",210,0)
+232.99^M^1.199251356^176.712721^0.040368149
+"DATA",22713,4,"D",211,0)
+233.99^M^1.19335477^176.733743^0.040365456
+"DATA",22713,4,"D",212,0)
+234.99^M^1.188019859^176.753807^0.040363795
+"DATA",22713,4,"D",213,0)
+235.99^M^1.183213059^176.7729657^0.04036308
+"DATA",22713,4,"D",214,0)
+236.99^M^1.178901998^176.7912687^0.040363233
+"DATA",22713,4,"D",215,0)
+237.99^M^1.175055543^176.8087622^0.040364179
+"DATA",22713,4,"D",216,0)
+238.99^M^1.171643828^176.8254895^0.04036585
+"DATA",22713,4,"D",217,0)
+239.99^M^1.16863827^176.8414914^0.04036818
+"DATA",22713,4,"D",218,0)
+240^M^1.167279219^176.8492322^0.040369574
+"DATA",22713,4,"D",219,0)
+24^F^1.07244896^84.97555512^0.040791394
+"DATA",22713,4,"D",220,0)
+24.99^F^1.051272912^85.3973169^0.040859727
+"DATA",22713,4,"D",221,0)
+25.99^F^1.041951175^86.29026318^0.041142161
+"DATA",22713,4,"D",222,0)
+26.99^F^1.012592236^87.15714182^0.041349399
+"DATA",22713,4,"D",223,0)
+27.99^F^0.970541909^87.9960184^0.041500428
+"DATA",22713,4,"D",224,0)
+28.99^F^0.921129988^88.8055115^0.041610508
+"DATA",22713,4,"D",225,0)
+29.99^F^0.868221392^89.58476689^0.041691761
+"DATA",22713,4,"D",226,0)
+30.99^F^0.81454413^90.33341722^0.04175368
+"DATA",22713,4,"D",227,0)
+31.99^F^0.761957977^91.0515436^0.041803562
+"DATA",22713,4,"D",228,0)
+32.99^F^0.711660228^91.7396352^0.041846882
+"DATA",22713,4,"D",229,0)
+33.99^F^0.664323379^92.39854429^0.041887626
+"DATA",22713,4,"D",230,0)
+34.99^F^0.620285102^93.02945392^0.041928568
+"DATA",22713,4,"D",231,0)
+35.99^F^0.57955631^93.63382278^0.041971514
+"DATA",22713,4,"D",232,0)
+36.99^F^0.54198094^94.21335709^0.042017509
+"DATA",22713,4,"D",233,0)
+37.99^F^0.511429832^94.79643239^0.042104522
+"DATA",22713,4,"D",234,0)
+38.99^F^0.482799937^95.37391918^0.042199507
+"DATA",22713,4,"D",235,0)
+39.99^F^0.455521041^95.94692677^0.042300333
+"DATA",22713,4,"D",236,0)
+40.99^F^0.429150288^96.51644912^0.042405225
+"DATA",22713,4,"D",237,0)
+41.99^F^0.403351725^97.08337211^0.042512706
+"DATA",22713,4,"D",238,0)
+42.99^F^0.377878239^97.6484807^0.042621565
+"DATA",22713,4,"D",239,0)
+43.99^F^0.352555862^98.21246579^0.042730809
+"DATA",22713,4,"D",240,0)
+44.99^F^0.327270297^98.77593069^0.042839638
+"DATA",22713,4,"D",241,0)
+45.99^F^0.301955463^99.33939735^0.042947412
+"DATA",22713,4,"D",242,0)
+46.99^F^0.276583851^99.9033122^0.043053626
+"DATA",22713,4,"D",243,0)
+47.99^F^0.251158446^100.4680516^0.043157889
+"DATA",22713,4,"D",244,0)
+48.99^F^0.225705996^101.033927^0.043259907
+"DATA",22713,4,"D",245,0)
+49.99^F^0.20027145^101.6011898^0.043359463
+"DATA",22713,4,"D",246,0)
+50.99^F^0.174913356^102.1700358^0.043456406
+"DATA",22713,4,"D",247,0)
+51.99^F^0.149700081^102.7406094^0.043550638
+"DATA",22713,4,"D",248,0)
+52.99^F^0.12470671^103.3130077^0.043642107
+"DATA",22713,4,"D",249,0)
+53.99^F^0.100012514^103.8872839^0.043730791
+"DATA",22713,4,"D",250,0)
+54.99^F^0.075698881^104.4634511^0.043816701
+"DATA",22713,4,"D",251,0)
+55.99^F^0.051847635^105.0414853^0.043899867
+"DATA",22713,4,"D",252,0)
+56.99^F^0.02853967^105.6213287^0.043980337
+"DATA",22713,4,"D",253,0)
+57.99^F^0.005853853^106.2028921^0.044058171
+"DATA",22713,4,"D",254,0)
+58.99^F^-0.016133871^106.7860583^0.04413344
+"DATA",22713,4,"D",255,0)
+59.99^F^-0.037351181^107.3706841^0.044206218
+"DATA",22713,4,"D",256,0)
+60.99^F^-0.057729947^107.9566031^0.044276588
+"DATA",22713,4,"D",257,0)
+61.99^F^-0.077206672^108.5436278^0.044344632
+"DATA",22713,4,"D",258,0)
+62.99^F^-0.09572283^109.1315521^0.044410436
+"DATA",22713,4,"D",259,0)
+63.99^F^-0.113225128^109.7201531^0.044474084
+"DATA",22713,4,"D",260,0)
+64.99^F^-0.129665689^110.3091934^0.044535662
+"DATA",22713,4,"D",261,0)
+65.99^F^-0.145002179^110.8984228^0.044595254
+"DATA",22713,4,"D",262,0)
+66.99^F^-0.159197885^111.4875806^0.044652942
+"DATA",22713,4,"D",263,0)
+67.99^F^-0.172221748^112.0763967^0.044708809
+"DATA",22713,4,"D",264,0)
+68.99^F^-0.184048358^112.6645943^0.044762936
+"DATA",22713,4,"D",265,0)
+69.99^F^-0.194660215^113.2518902^0.044815402
+"DATA",22713,4,"D",266,0)
+70.99^F^-0.204030559^113.8380006^0.044866288
+"DATA",22713,4,"D",267,0)
+71.99^F^-0.212174408^114.4226317^0.044915672
+"DATA",22713,4,"D",268,0)
+72.99^F^-0.219069129^115.0054978^0.044963636
+"DATA",22713,4,"D",269,0)
+73.99^F^-0.224722166^115.5863089^0.045010259
+"DATA",22713,4,"D",270,0)
+74.99^F^-0.229140412^116.1647782^0.045055624
+"DATA",22713,4,"D",271,0)
+75.99^F^-0.232335686^116.7406221^0.045099817
+"DATA",22713,4,"D",272,0)
+76.99^F^-0.234324563^117.3135622^0.045142924
+"DATA",22713,4,"D",273,0)
+77.99^F^-0.235128195^117.8833259^0.045185036
+"DATA",22713,4,"D",274,0)
+78.99^F^-0.234772114^118.4496481^0.045226249
+"DATA",22713,4,"D",275,0)
+79.99^F^-0.233286033^119.0122722^0.045266662
+"DATA",22713,4,"D",276,0)
+80.99^F^-0.230703633^119.5709513^0.045306383
+"DATA",22713,4,"D",277,0)
+81.99^F^-0.227062344^120.1254495^0.045345524
+"DATA",22713,4,"D",278,0)
+82.99^F^-0.222403111^120.6755427^0.045384203
+"DATA",22713,4,"D",279,0)
+83.99^F^-0.216770161^121.22102^0.045422551
+"DATA",22713,4,"D",280,0)
+84.99^F^-0.210210748^121.7616844^0.045460702
+"DATA",22713,4,"D",281,0)
+85.99^F^-0.202774891^122.2973542^0.045498803
+"DATA",22713,4,"D",282,0)
+86.99^F^-0.194515104^122.827864^0.045537012
+"DATA",22713,4,"D",283,0)
+87.99^F^-0.185486099^123.3530652^0.045575495
+"DATA",22713,4,"D",284,0)
+88.99^F^-0.175744476^123.8728276^0.045614432
+"DATA",22713,4,"D",285,0)
+89.99^F^-0.165348396^124.38704^0.045654016
+"DATA",22713,4,"D",286,0)
+90.99^F^-0.15435722^124.8956114^0.04569445
+"DATA",22713,4,"D",287,0)
+91.99^F^-0.142831123^125.398472^0.045735953
+"DATA",22713,4,"D",288,0)
+92.99^F^-0.130830669^125.895574^0.045778759
+"DATA",22713,4,"D",289,0)
+93.99^F^-0.118416354^126.3868929^0.045823114
+"DATA",22713,4,"D",290,0)
+94.99^F^-0.105648092^126.8724284^0.04586928
+"DATA",22713,4,"D",291,0)
+95.99^F^-0.092584657^127.3522056^0.045917535
+"DATA",22713,4,"D",292,0)
+96.99^F^-0.079283065^127.8262759^0.045968169
+"DATA",22713,4,"D",293,0)
+97.99^F^-0.065797888^128.2947187^0.04602149
+"DATA",22713,4,"D",294,0)
+98.99^F^-0.0521805^128.757642^0.046077818
+"DATA",22713,4,"D",295,0)
+99.99^F^-0.03847825^129.2151839^0.046137487
+"DATA",22713,4,"D",296,0)
+100.99^F^-0.024733545^129.6675143^0.046200842
+"DATA",22713,4,"D",297,0)
+101.99^F^-0.010982868^130.1148354^0.04626824
+"DATA",22713,4,"D",298,0)
+102.99^F^0.002744306^130.5573839^0.046340046
+"DATA",22713,4,"D",299,0)
+103.99^F^0.016426655^130.995432^0.046416629
+"DATA",22713,4,"D",300,0)
+104.99^F^0.030052231^131.4292887^0.046498361
+"DATA",22713,4,"D",301,0)
+105.99^F^0.043619747^131.8593015^0.046585611
+"DATA",22713,4,"D",302,0)
+106.99^F^0.05713988^132.2858574^0.046678741
+"DATA",22713,4,"D",303,0)
+107.99^F^0.070636605^132.7093845^0.046778099
+"DATA",22713,4,"D",304,0)
+108.99^F^0.08414848^133.1303527^0.04688401
+"DATA",22713,4,"D",305,0)
+109.99^F^0.097729873^133.5492749^0.046996769
+"DATA",22713,4,"D",306,0)
+110.99^F^0.111452039^133.9667073^0.047116633
+"DATA",22713,4,"D",307,0)
+111.99^F^0.125404005^134.3832499^0.047243801
+"DATA",22713,4,"D",308,0)
+112.99^F^0.13969316^134.7995463^0.047378413
+"DATA",22713,4,"D",309,0)
+113.99^F^0.154445482^135.2162826^0.047520521
+"DATA",22713,4,"D",310,0)
+114.99^F^0.169805275^135.634186^0.047670085
+"DATA",22713,4,"D",311,0)
+115.99^F^0.185934346^136.0540223^0.047826946
+"DATA",22713,4,"D",312,0)
+116.99^F^0.203010488^136.4765925^0.04799081
+"DATA",22713,4,"D",313,0)
+117.99^F^0.2212252^136.9027281^0.048161228
+"DATA",22713,4,"D",314,0)
+118.99^F^0.240780542^137.3332846^0.04833757
+"DATA",22713,4,"D",315,0)
+119.99^F^0.261885086^137.7691339^0.048519011
+"DATA",22713,4,"D",316,0)
+120.99^F^0.284748919^138.2111552^0.048704503
+"DATA",22713,4,"D",317,0)
+121.99^F^0.309577733^138.6602228^0.048892759
+"DATA",22713,4,"D",318,0)
+122.99^F^0.336566048^139.1171933^0.049082239
+"DATA",22713,4,"D",319,0)
+123.99^F^0.365889711^139.5828898^0.049271137
+"DATA",22713,4,"D",320,0)
+124.99^F^0.397699038^140.0580848^0.049457371
+"DATA",22713,4,"D",321,0)
+125.99^F^0.432104409^140.5434787^0.049638596
+"DATA",22713,4,"D",322,0)
+126.99^F^0.46917993^141.0396832^0.049812203
+"DATA",22713,4,"D",323,0)
+127.99^F^0.508943272^141.5471945^0.049975355
+"DATA",22713,4,"D",324,0)
+128.99^F^0.551354277^142.0663731^0.050125012
+"DATA",22713,4,"D",325,0)
+129.99^F^0.596307363^142.59742^0.050257992
+"DATA",22713,4,"D",326,0)
+130.99^F^0.643626542^143.1403553^0.050371024
+"DATA",22713,4,"D",327,0)
+131.99^F^0.693062173^143.6949981^0.050460835
+"DATA",22713,4,"D",328,0)
+132.99^F^0.744289752^144.2609497^0.050524236
+"DATA",22713,4,"D",329,0)
+133.99^F^0.79691098^144.8375809^0.050558224
+"DATA",22713,4,"D",330,0)
+134.99^F^0.85045728^145.4240246^0.050560083
+"DATA",22713,4,"D",331,0)
+135.99^F^0.904395871^146.0191748^0.050527494
+"DATA",22713,4,"D",332,0)
+136.99^F^0.958138449^146.621692^0.050458634
+"DATA",22713,4,"D",333,0)
+137.99^F^1.011054559^147.2300177^0.050352269
+"DATA",22713,4,"D",334,0)
+138.99^F^1.062474568^147.8423918^0.050207825
+"DATA",22713,4,"D",335,0)
+139.99^F^1.111727029^148.4568879^0.050025434
+"DATA",22713,4,"D",336,0)
+140.99^F^1.158135105^149.0714413^0.049805967
+"DATA",22713,4,"D",337,0)
+141.99^F^1.201050821^149.6838943^0.049551023
+"DATA",22713,4,"D",338,0)
+142.99^F^1.239852328^150.2920328^0.049262895
+"DATA",22713,4,"D",339,0)
+143.99^F^1.274006058^150.8936469^0.048944504
+"DATA",22713,4,"D",340,0)
+144.99^F^1.303044695^151.4865636^0.048599314
+"DATA",22713,4,"D",341,0)
+145.99^F^1.326605954^152.0686985^0.048231224
+"DATA",22713,4,"D",342,0)
+146.99^F^1.344443447^152.6380955^0.047844442
+"DATA",22713,4,"D",343,0)
+147.99^F^1.356437773^153.1929631^0.047443362
+"DATA",22713,4,"D",344,0)
+148.99^F^1.362602695^153.7317031^0.04703243
+"DATA",22713,4,"D",345,0)
+149.99^F^1.363085725^154.2529332^0.046616026
+"DATA",22713,4,"D",346,0)
+150.99^F^1.358162799^154.755501^0.046198356
+"DATA",22713,4,"D",347,0)
+151.99^F^1.348227142^155.2384904^0.04578335
+"DATA",22713,4,"D",348,0)
+152.99^F^1.333772923^155.7012216^0.045374597
+"DATA",22713,4,"D",349,0)
+153.99^F^1.315374704^156.1432438^0.044975281
+"DATA",22713,4,"D",350,0)
+154.99^F^1.293664024^156.564323^0.044588148
+"DATA",22713,4,"D",351,0)
+155.99^F^1.269304678^156.9644258^0.044215488
+"DATA",22713,4,"D",352,0)
+156.99^F^1.242968236^157.3436995^0.043859135
+"DATA",22713,4,"D",353,0)
+157.99^F^1.21531127^157.7024507^0.04352048
+"DATA",22713,4,"D",354,0)
+158.99^F^1.186955477^158.0411233^0.043200497
+"DATA",22713,4,"D",355,0)
+159.99^F^1.158471522^158.3602756^0.042899776
+"DATA",22713,4,"D",356,0)
+160.99^F^1.130367088^158.6605588^0.042618565
+"DATA",22713,4,"D",357,0)
+161.99^F^1.103079209^158.9426964^0.042356812
+"DATA",22713,4,"D",358,0)
+162.99^F^1.076970655^159.2074654^0.042114211
+"DATA",22713,4,"D",359,0)
+163.99^F^1.052329922^159.455679^0.041890247
+"DATA",22713,4,"D",360,0)
+164.99^F^1.029374161^159.688172^0.04168424
+"DATA",22713,4,"D",361,0)
+165.99^F^1.008254396^159.9057871^0.041495379
+"DATA",22713,4,"D",362,0)
+166.99^F^0.989062282^160.1093647^0.041322765
+"DATA",22713,4,"D",363,0)
+167.99^F^0.971837799^160.299733^0.041165437
+"DATA",22713,4,"D",364,0)
+168.99^F^0.95657215^160.4776996^0.041022401
+"DATA",22713,4,"D",365,0)
+169.99^F^0.94324228^160.6440526^0.040892651
+"DATA",22713,4,"D",366,0)
+170.99^F^0.931767062^160.7995428^0.040775193
+"DATA",22713,4,"D",367,0)
+171.99^F^0.922058291^160.9448916^0.040669052
+"DATA",22713,4,"D",368,0)
+172.99^F^0.914012643^161.0807857^0.040573288
+"DATA",22713,4,"D",369,0)
+173.99^F^0.907516917^161.2078755^0.040487005
+"DATA",22713,4,"D",370,0)
+174.99^F^0.902452436^161.3267744^0.040409354
+"DATA",22713,4,"D",371,0)
+175.99^F^0.898698641^161.4380593^0.040339537
+"DATA",22713,4,"D",372,0)
+176.99^F^0.896143482^161.5422726^0.040276811
+"DATA",22713,4,"D",373,0)
+177.99^F^0.894659668^161.639917^0.040220488
+"DATA",22713,4,"D",374,0)
+178.99^F^0.89413892^161.7314645^0.040169932
+"DATA",22713,4,"D",375,0)
+179.99^F^0.894475371^161.8173534^0.040124562
+"DATA",22713,4,"D",376,0)
+180.99^F^0.895569834^161.8979913^0.040083845
+"DATA",22713,4,"D",377,0)
+181.99^F^0.897330209^161.9737558^0.040047295
+"DATA",22713,4,"D",378,0)
+182.99^F^0.899671635^162.0449969^0.040014473
+"DATA",22713,4,"D",379,0)
+183.99^F^0.902516442^162.1120386^0.03998498
+"DATA",22713,4,"D",380,0)
+184.99^F^0.905793969^162.17518^0.039958458
+"DATA",22713,4,"D",381,0)
+185.99^F^0.909440266^162.2346979^0.039934584
+"DATA",22713,4,"D",382,0)
+186.99^F^0.913397733^162.2908474^0.039913066
+"DATA",22713,4,"D",383,0)
+187.99^F^0.91761471^162.343864^0.039893644
+"DATA",22713,4,"D",384,0)
+188.99^F^0.922045055^162.3939652^0.039876087
+"DATA",22713,4,"D",385,0)
+189.99^F^0.926647697^162.4413513^0.039860185
+"DATA",22713,4,"D",386,0)
+190.99^F^0.931386217^162.4862071^0.039845754
+"DATA",22713,4,"D",387,0)
+191.99^F^0.93622842^162.5287029^0.039832629
+"DATA",22713,4,"D",388,0)
+192.99^F^0.941145943^162.5689958^0.039820663
+"DATA",22713,4,"D",389,0)
+193.99^F^0.94611388^162.6072309^0.039809725
+"DATA",22713,4,"D",390,0)
+194.99^F^0.95111043^162.6435418^0.0397997
+"DATA",22713,4,"D",391,0)
+195.99^F^0.956116576^162.6780519^0.039790485
+"DATA",22713,4,"D",392,0)
+196.99^F^0.961115792^162.7108751^0.039781991
+"DATA",22713,4,"D",393,0)
+197.99^F^0.966093766^162.7421168^0.039774136
+"DATA",22713,4,"D",394,0)
+198.99^F^0.971038162^162.7718741^0.03976685
+"DATA",22713,4,"D",395,0)
+199.99^F^0.975938391^162.8002371^0.03976007
+"DATA",22713,4,"D",396,0)
+200.99^F^0.980785418^162.8272889^0.039753741
+"DATA",22713,4,"D",397,0)
+201.99^F^0.985571579^162.8531067^0.039747815
+"DATA",22713,4,"D",398,0)
+202.99^F^0.99029042^162.8777619^0.039742249
+"DATA",22713,4,"D",399,0)
+203.99^F^0.994936555^162.9013208^0.039737004
+"DATA",22713,4,"D",400,0)
+204.99^F^0.999505539^162.9238449^0.039732048
+"DATA",22713,4,"D",401,0)
+205.99^F^1.003993753^162.9453912^0.039727352
+"DATA",22713,4,"D",402,0)
+206.99^F^1.0083983^162.9660131^0.03972289
+"DATA",22713,4,"D",403,0)
+207.99^F^1.012716921^162.9857599^0.03971864
+"DATA",22713,4,"D",404,0)
+208.99^F^1.016947912^163.0046776^0.039714581
+"DATA",22713,4,"D",405,0)
+209.99^F^1.021090055^163.0228094^0.039710697
+"DATA",22713,4,"D",406,0)
+210.99^F^1.025142554^163.0401953^0.039706971
+"DATA",22713,4,"D",407,0)
+211.99^F^1.029104983^163.0568727^0.039703391
+"DATA",22713,4,"D",408,0)
+212.99^F^1.032977233^163.0728768^0.039699945
+"DATA",22713,4,"D",409,0)
+213.99^F^1.036759475^163.0882404^0.039696623
+"DATA",22713,4,"D",410,0)
+214.99^F^1.040452117^163.1029943^0.039693415
+"DATA",22713,4,"D",411,0)
+215.99^F^1.044055774^163.1171673^0.039690313
+"DATA",22713,4,"D",412,0)
+216.99^F^1.047571238^163.1307866^0.039687311
+"DATA",22713,4,"D",413,0)
+217.99^F^1.050999451^163.1438776^0.039684402
+"DATA",22713,4,"D",414,0)
+218.99^F^1.054341482^163.1564644^0.039681581
+"DATA",22713,4,"D",415,0)
+219.99^F^1.057598512^163.1685697^0.039678842
+"DATA",22713,4,"D",416,0)
+220.99^F^1.060771808^163.1802146^0.039676182
+"DATA",22713,4,"D",417,0)
+221.99^F^1.063862715^163.1914194^0.039673596
+"DATA",22713,4,"D",418,0)
+222.99^F^1.066872639^163.202203^0.039671082
+"DATA",22713,4,"D",419,0)
+223.99^F^1.069803036^163.2125835^0.039668635
+"DATA",22713,4,"D",420,0)
+224.99^F^1.072655401^163.2225779^0.039666254
+"DATA",22713,4,"D",421,0)
+225.99^F^1.075431258^163.2322024^0.039663936
+"DATA",22713,4,"D",422,0)
+226.99^F^1.078132156^163.2414722^0.039661679
+"DATA",22713,4,"D",423,0)
+227.99^F^1.080759655^163.2504019^0.039659481
+"DATA",22713,4,"D",424,0)
+228.99^F^1.083315329^163.2590052^0.039657339
+"DATA",22713,4,"D",425,0)
+229.99^F^1.085800751^163.2672954^0.039655252
+"DATA",22713,4,"D",426,0)
+230.99^F^1.088217496^163.2752848^0.039653218
+"DATA",22713,4,"D",427,0)
+231.99^F^1.090567133^163.2829854^0.039651237
+"DATA",22713,4,"D",428,0)
+232.99^F^1.092851222^163.2904086^0.039649306
+"DATA",22713,4,"D",429,0)
+233.99^F^1.095071313^163.297565^0.039647424
+"DATA",22713,4,"D",430,0)
+234.99^F^1.097228939^163.304465^0.039645591
+"DATA",22713,4,"D",431,0)
+235.99^F^1.099325619^163.3111185^0.039643804
+"DATA",22713,4,"D",432,0)
+236.99^F^1.101362852^163.3175349^0.039642063
+"DATA",22713,4,"D",433,0)
+237.99^F^1.103342119^163.3237231^0.039640367
+"DATA",22713,4,"D",434,0)
+238.99^F^1.105264876^163.3296918^0.039638715
+"DATA",22713,4,"D",435,0)
+239.99^F^1.107132561^163.3354491^0.039637105
+"DATA",22713,4,"D",436,0)
+240^F^1.108046193^163.338251^0.039636316
+"DATA",22713,5,0)
+WEIGHT BY AGE^AGE^MONTHS^WEIGHT^KG^2-20Y
+"DATA",22713,5,1)
+https://spreadsheets.google.com/ccc?key=0As02V5OYrjbucFhfa0dnc0FTMjlhNE15ajR3QU9mTkE&hl=en
+"DATA",22713,5,2)
+WTAGE
+"DATA",22713,5,"D",0)
+^22713.02A^436^436
+"DATA",22713,5,"D",1,0)
+24^M^-0.20615245^12.6707633^0.108125811
+"DATA",22713,5,"D",2,0)
+24.99^M^-0.216501213^12.74154396^0.108166006
+"DATA",22713,5,"D",3,0)
+25.99^M^-0.239790488^12.88102276^0.108274706
+"DATA",22713,5,"D",4,0)
+26.99^M^-0.266315853^13.01842382^0.108421025
+"DATA",22713,5,"D",5,0)
+27.99^M^-0.295754969^13.1544966^0.10860477
+"DATA",22713,5,"D",6,0)
+28.99^M^-0.327729368^13.28989667^0.108825681
+"DATA",22713,5,"D",7,0)
+29.99^M^-0.361817468^13.42519408^0.109083424
+"DATA",22713,5,"D",8,0)
+30.99^M^-0.397568087^13.56088113^0.109377581
+"DATA",22713,5,"D",9,0)
+31.99^M^-0.434520252^13.69737858^0.109707646
+"DATA",22713,5,"D",10,0)
+32.99^M^-0.472188756^13.83504622^0.110073084
+"DATA",22713,5,"D",11,0)
+33.99^M^-0.510116627^13.97418299^0.110473254
+"DATA",22713,5,"D",12,0)
+34.99^M^-0.547885579^14.1150324^0.1109074
+"DATA",22713,5,"D",13,0)
+35.99^M^-0.58507011^14.25779618^0.111374787
+"DATA",22713,5,"D",14,0)
+36.99^M^-0.621319726^14.40262749^0.111874514
+"DATA",22713,5,"D",15,0)
+37.99^M^-0.656295986^14.54964614^0.112405687
+"DATA",22713,5,"D",16,0)
+38.99^M^-0.689735029^14.69893326^0.112967254
+"DATA",22713,5,"D",17,0)
+39.99^M^-0.721410388^14.85054151^0.11355811
+"DATA",22713,5,"D",18,0)
+40.99^M^-0.751175223^15.00449143^0.114176956
+"DATA",22713,5,"D",19,0)
+41.99^M^-0.778904279^15.16078454^0.114822482
+"DATA",22713,5,"D",20,0)
+42.99^M^-0.804515498^15.31940246^0.115493292
+"DATA",22713,5,"D",21,0)
+43.99^M^-0.828003255^15.48030313^0.116187777
+"DATA",22713,5,"D",22,0)
+44.99^M^-0.849380372^15.64343309^0.116904306
+"DATA",22713,5,"D",23,0)
+45.99^M^-0.86869965^15.80872535^0.117641148
+"DATA",22713,5,"D",24,0)
+46.99^M^-0.886033992^15.97610456^0.118396541
+"DATA",22713,5,"D",25,0)
+47.99^M^-0.901507878^16.14548194^0.119168555
+"DATA",22713,5,"D",26,0)
+48.99^M^-0.915241589^16.31676727^0.11995532
+"DATA",22713,5,"D",27,0)
+49.99^M^-0.927377772^16.4898646^0.120754916
+"DATA",22713,5,"D",28,0)
+50.99^M^-0.938069819^16.66467529^0.121565421
+"DATA",22713,5,"D",29,0)
+51.99^M^-0.94747794^16.84109948^0.122384927
+"DATA",22713,5,"D",30,0)
+52.99^M^-0.955765694^17.01903746^0.123211562
+"DATA",22713,5,"D",31,0)
+53.99^M^-0.963096972^17.1983908^0.124043503
+"DATA",22713,5,"D",32,0)
+54.99^M^-0.969633434^17.37906341^0.124878992
+"DATA",22713,5,"D",33,0)
+55.99^M^-0.975532355^17.56096245^0.125716348
+"DATA",22713,5,"D",34,0)
+56.99^M^-0.980937915^17.74400082^0.126554022
+"DATA",22713,5,"D",35,0)
+57.99^M^-0.986006518^17.92809121^0.127390453
+"DATA",22713,5,"D",36,0)
+58.99^M^-0.99086694^18.11315625^0.128224294
+"DATA",22713,5,"D",37,0)
+59.99^M^-0.995644402^18.29912286^0.129054277
+"DATA",22713,5,"D",38,0)
+60.99^M^-1.000453886^18.48592413^0.129879257
+"DATA",22713,5,"D",39,0)
+61.99^M^-1.005399668^18.67349965^0.130698212
+"DATA",22713,5,"D",40,0)
+62.99^M^-1.010575003^18.86179576^0.131510245
+"DATA",22713,5,"D",41,0)
+63.99^M^-1.016061941^19.05076579^0.132314586
+"DATA",22713,5,"D",42,0)
+64.99^M^-1.021931241^19.24037019^0.133110593
+"DATA",22713,5,"D",43,0)
+65.99^M^-1.028242376^19.43057662^0.133897752
+"DATA",22713,5,"D",44,0)
+66.99^M^-1.035043608^19.62136007^0.134675673
+"DATA",22713,5,"D",45,0)
+67.99^M^-1.042372125^19.8127028^0.13544409
+"DATA",22713,5,"D",46,0)
+68.99^M^-1.050254232^20.0045944^0.13620286
+"DATA",22713,5,"D",47,0)
+69.99^M^-1.058705595^20.19703171^0.136951959
+"DATA",22713,5,"D",48,0)
+70.99^M^-1.067731529^20.39001872^0.137691478
+"DATA",22713,5,"D",49,0)
+71.99^M^-1.077321193^20.58356862^0.138421673
+"DATA",22713,5,"D",50,0)
+72.99^M^-1.087471249^20.77769565^0.139142773
+"DATA",22713,5,"D",51,0)
+73.99^M^-1.098152984^20.97242631^0.139855242
+"DATA",22713,5,"D",52,0)
+74.99^M^-1.10933408^21.16779192^0.140559605
+"DATA",22713,5,"D",53,0)
+75.99^M^-1.120974043^21.36383013^0.141256489
+"DATA",22713,5,"D",54,0)
+76.99^M^-1.133024799^21.56058467^0.141946613
+"DATA",22713,5,"D",55,0)
+77.99^M^-1.145431351^21.75810506^0.142630785
+"DATA",22713,5,"D",56,0)
+78.99^M^-1.158132499^21.95644627^0.143309898
+"DATA",22713,5,"D",57,0)
+79.99^M^-1.171061612^22.15566842^0.143984924
+"DATA",22713,5,"D",58,0)
+80.99^M^-1.184141975^22.35583862^0.144656953
+"DATA",22713,5,"D",59,0)
+81.99^M^-1.197307185^22.55702268^0.145327009
+"DATA",22713,5,"D",60,0)
+82.99^M^-1.210475099^22.75929558^0.145996289
+"DATA",22713,5,"D",61,0)
+83.99^M^-1.223565263^22.9627344^0.146666
+"DATA",22713,5,"D",62,0)
+84.99^M^-1.236497304^23.16741888^0.147337375
+"DATA",22713,5,"D",63,0)
+85.99^M^-1.249186293^23.37343341^0.148011715
+"DATA",22713,5,"D",64,0)
+86.99^M^-1.261555446^23.58086145^0.148690256
+"DATA",22713,5,"D",65,0)
+87.99^M^-1.273523619^23.78979096^0.149374297
+"DATA",22713,5,"D",66,0)
+88.99^M^-1.285013783^24.00031064^0.150065107
+"DATA",22713,5,"D",67,0)
+89.99^M^-1.295952066^24.21251028^0.150763933
+"DATA",22713,5,"D",68,0)
+90.99^M^-1.306268473^24.42648043^0.151471982
+"DATA",22713,5,"D",69,0)
+91.99^M^-1.31589753^24.642312^0.152190413
+"DATA",22713,5,"D",70,0)
+92.99^M^-1.324778843^24.86009596^0.152920322
+"DATA",22713,5,"D",71,0)
+93.99^M^-1.332857581^25.07992303^0.153662731
+"DATA",22713,5,"D",72,0)
+94.99^M^-1.340080195^25.30188584^0.154418635
+"DATA",22713,5,"D",73,0)
+95.99^M^-1.346412105^25.52606977^0.155188768
+"DATA",22713,5,"D",74,0)
+96.99^M^-1.351813296^25.75256528^0.155973912
+"DATA",22713,5,"D",75,0)
+97.99^M^-1.356253969^25.9814599^0.156774684
+"DATA",22713,5,"D",76,0)
+98.99^M^-1.359710858^26.2128399^0.157591579
+"DATA",22713,5,"D",77,0)
+99.99^M^-1.362167159^26.44679027^0.158424964
+"DATA",22713,5,"D",78,0)
+100.99^M^-1.363612378^26.68339457^0.159275071
+"DATA",22713,5,"D",79,0)
+101.99^M^-1.364042106^26.92273494^0.160141995
+"DATA",22713,5,"D",80,0)
+102.99^M^-1.363457829^27.16489199^0.161025689
+"DATA",22713,5,"D",81,0)
+103.99^M^-1.361865669^27.40994539^0.161925976
+"DATA",22713,5,"D",82,0)
+104.99^M^-1.35928261^27.65796978^0.162842452
+"DATA",22713,5,"D",83,0)
+105.99^M^-1.355720571^27.90904433^0.163774719
+"DATA",22713,5,"D",84,0)
+106.99^M^-1.351202536^28.16324264^0.164722138
+"DATA",22713,5,"D",85,0)
+107.99^M^-1.345754408^28.42063744^0.165683945
+"DATA",22713,5,"D",86,0)
+108.99^M^-1.339405453^28.68130005^0.166659247
+"DATA",22713,5,"D",87,0)
+109.99^M^-1.332188093^28.94530029^0.167647017
+"DATA",22713,5,"D",88,0)
+110.99^M^-1.324137479^29.21270645^0.168646104
+"DATA",22713,5,"D",89,0)
+111.99^M^-1.315291073^29.48358527^0.169655235
+"DATA",22713,5,"D",90,0)
+112.99^M^-1.30568824^29.75800198^0.170673022
+"DATA",22713,5,"D",91,0)
+113.99^M^-1.295369867^30.03602021^0.17169797
+"DATA",22713,5,"D",92,0)
+114.99^M^-1.284374967^30.31770417^0.17272854
+"DATA",22713,5,"D",93,0)
+115.99^M^-1.272750864^30.60311107^0.173762961
+"DATA",22713,5,"D",94,0)
+116.99^M^-1.260539193^30.89230072^0.174799493
+"DATA",22713,5,"D",95,0)
+117.99^M^-1.247783611^31.18532984^0.175836284
+"DATA",22713,5,"D",96,0)
+118.99^M^-1.234527763^31.48225315^0.176871417
+"DATA",22713,5,"D",97,0)
+119.99^M^-1.220815047^31.78312329^0.177902912
+"DATA",22713,5,"D",98,0)
+120.99^M^-1.206688407^32.08799062^0.17892874
+"DATA",22713,5,"D",99,0)
+121.99^M^-1.19219015^32.39690313^0.17994683
+"DATA",22713,5,"D",100,0)
+122.99^M^-1.177361786^32.7099062^0.180955078
+"DATA",22713,5,"D",101,0)
+123.99^M^-1.162243894^33.02704244^0.181951361
+"DATA",22713,5,"D",102,0)
+124.99^M^-1.146876007^33.34835148^0.182933537
+"DATA",22713,5,"D",103,0)
+125.99^M^-1.131296524^33.67386973^0.183899465
+"DATA",22713,5,"D",104,0)
+126.99^M^-1.115542634^34.00363017^0.184847006
+"DATA",22713,5,"D",105,0)
+127.99^M^-1.099650267^34.33766207^0.185774041
+"DATA",22713,5,"D",106,0)
+128.99^M^-1.083654055^34.67599076^0.18667847
+"DATA",22713,5,"D",107,0)
+129.99^M^-1.067587314^35.01863732^0.187558229
+"DATA",22713,5,"D",108,0)
+130.99^M^-1.051482972^35.36561737^0.18841128
+"DATA",22713,5,"D",109,0)
+131.99^M^-1.035367321^35.71694723^0.189235738
+"DATA",22713,5,"D",110,0)
+132.99^M^-1.019277299^36.07262569^0.190029545
+"DATA",22713,5,"D",111,0)
+133.99^M^-1.003235326^36.43265996^0.190790973
+"DATA",22713,5,"D",112,0)
+134.99^M^-0.987269866^36.79704392^0.191518224
+"DATA",22713,5,"D",113,0)
+135.99^M^-0.971406609^37.1657671^0.192209619
+"DATA",22713,5,"D",114,0)
+136.99^M^-0.955670107^37.53881268^0.192863569
+"DATA",22713,5,"D",115,0)
+137.99^M^-0.940083834^37.91615721^0.193478582
+"DATA",22713,5,"D",116,0)
+138.99^M^-0.924670244^38.2977703^0.194053274
+"DATA",22713,5,"D",117,0)
+139.99^M^-0.909450843^38.6836143^0.194586368
+"DATA",22713,5,"D",118,0)
+140.99^M^-0.894446258^39.07364401^0.195076705
+"DATA",22713,5,"D",119,0)
+141.99^M^-0.879676305^39.46780643^0.195523246
+"DATA",22713,5,"D",120,0)
+142.99^M^-0.865160071^39.86604044^0.195925079
+"DATA",22713,5,"D",121,0)
+143.99^M^-0.850915987^40.26827652^0.196281418
+"DATA",22713,5,"D",122,0)
+144.99^M^-0.836961905^40.67443658^0.196591612
+"DATA",22713,5,"D",123,0)
+145.99^M^-0.823315176^41.08443363^0.19685514
+"DATA",22713,5,"D",124,0)
+146.99^M^-0.809992726^41.49817164^0.19707162
+"DATA",22713,5,"D",125,0)
+147.99^M^-0.797011132^41.91554528^0.197240806
+"DATA",22713,5,"D",126,0)
+148.99^M^-0.784386693^42.33643978^0.197362591
+"DATA",22713,5,"D",127,0)
+149.99^M^-0.772135506^42.76073078^0.197437004
+"DATA",22713,5,"D",128,0)
+150.99^M^-0.760273528^43.18828419^0.19746421
+"DATA",22713,5,"D",129,0)
+151.99^M^-0.748815968^43.61895703^0.197444522
+"DATA",22713,5,"D",130,0)
+152.99^M^-0.737780398^44.0525931^0.197378345
+"DATA",22713,5,"D",131,0)
+153.99^M^-0.727181568^44.48903027^0.197266263
+"DATA",22713,5,"D",132,0)
+154.99^M^-0.717035494^44.92809483^0.197108968
+"DATA",22713,5,"D",133,0)
+155.99^M^-0.707358338^45.36960315^0.196907274
+"DATA",22713,5,"D",134,0)
+156.99^M^-0.698166437^45.81336172^0.196662115
+"DATA",22713,5,"D",135,0)
+157.99^M^-0.689476327^46.25916729^0.196374538
+"DATA",22713,5,"D",136,0)
+158.99^M^-0.68130475^46.70680701^0.196045701
+"DATA",22713,5,"D",137,0)
+159.99^M^-0.673668658^47.15605863^0.195676862
+"DATA",22713,5,"D",138,0)
+160.99^M^-0.666585194^47.60669074^0.19526938
+"DATA",22713,5,"D",139,0)
+161.99^M^-0.660069969^48.05846572^0.19482473
+"DATA",22713,5,"D",140,0)
+162.99^M^-0.654142602^48.51113138^0.19434441
+"DATA",22713,5,"D",141,0)
+163.99^M^-0.648819666^48.96443224^0.193830046
+"DATA",22713,5,"D",142,0)
+164.99^M^-0.644118611^49.41810374^0.193283319
+"DATA",22713,5,"D",143,0)
+165.99^M^-0.640056805^49.87187409^0.192705974
+"DATA",22713,5,"D",144,0)
+166.99^M^-0.636651424^50.32546478^0.192099812
+"DATA",22713,5,"D",145,0)
+167.99^M^-0.633919328^50.77859121^0.191466681
+"DATA",22713,5,"D",146,0)
+168.99^M^-0.631876912^51.23096332^0.190808471
+"DATA",22713,5,"D",147,0)
+169.99^M^-0.63053994^51.68228625^0.190127105
+"DATA",22713,5,"D",148,0)
+170.99^M^-0.629923353^52.13226113^0.18942453
+"DATA",22713,5,"D",149,0)
+171.99^M^-0.630041066^52.58058583^0.188702714
+"DATA",22713,5,"D",150,0)
+172.99^M^-0.630905733^53.02695588^0.187963636
+"DATA",22713,5,"D",151,0)
+173.99^M^-0.632528509^53.47106525^0.187209281
+"DATA",22713,5,"D",152,0)
+174.99^M^-0.634918779^53.91260737^0.18644163
+"DATA",22713,5,"D",153,0)
+175.99^M^-0.638083884^54.35127608^0.185662657
+"DATA",22713,5,"D",154,0)
+176.99^M^-0.642028835^54.78676659^0.184874323
+"DATA",22713,5,"D",155,0)
+177.99^M^-0.646756013^55.21877657^0.184078567
+"DATA",22713,5,"D",156,0)
+178.99^M^-0.652262297^55.64701131^0.183277339
+"DATA",22713,5,"D",157,0)
+179.99^M^-0.658551638^56.07116407^0.182472427
+"DATA",22713,5,"D",158,0)
+180.99^M^-0.665609025^56.49095862^0.181665781
+"DATA",22713,5,"D",159,0)
+181.99^M^-0.673425951^56.90610886^0.18085918
+"DATA",22713,5,"D",160,0)
+182.99^M^-0.681987284^57.31634059^0.180054395
+"DATA",22713,5,"D",161,0)
+183.99^M^-0.691273614^57.72138846^0.179253153
+"DATA",22713,5,"D",162,0)
+184.99^M^-0.701261055^58.12099696^0.178457127
+"DATA",22713,5,"D",163,0)
+185.99^M^-0.711921092^58.51492143^0.177667942
+"DATA",22713,5,"D",164,0)
+186.99^M^-0.723218488^58.90293208^0.176887192
+"DATA",22713,5,"D",165,0)
+187.99^M^-0.735121189^59.28479948^0.176116307
+"DATA",22713,5,"D",166,0)
+188.99^M^-0.747580416^59.66032626^0.175356814
+"DATA",22713,5,"D",167,0)
+189.99^M^-0.760550666^60.02931704^0.174610071
+"DATA",22713,5,"D",168,0)
+190.99^M^-0.773984558^60.39158721^0.173877336
+"DATA",22713,5,"D",169,0)
+191.99^M^-0.787817728^60.74698785^0.173159953
+"DATA",22713,5,"D",170,0)
+192.99^M^-0.801993069^61.09536847^0.172459052
+"DATA",22713,5,"D",171,0)
+193.99^M^-0.816446409^61.43660077^0.171775726
+"DATA",22713,5,"D",172,0)
+194.99^M^-0.831110299^61.77057372^0.171110986
+"DATA",22713,5,"D",173,0)
+195.99^M^-0.845914498^62.09719399^0.170465756
+"DATA",22713,5,"D",174,0)
+196.99^M^-0.860786514^62.41638628^0.169840869
+"DATA",22713,5,"D",175,0)
+197.99^M^-0.875652181^62.72809362^0.169237063
+"DATA",22713,5,"D",176,0)
+198.99^M^-0.890436283^63.03227756^0.168654971
+"DATA",22713,5,"D",177,0)
+199.99^M^-0.905063185^63.32891841^0.168095124
+"DATA",22713,5,"D",178,0)
+200.99^M^-0.91945749^63.61801537^0.16755794
+"DATA",22713,5,"D",179,0)
+201.99^M^-0.933544683^63.89958662^0.167043722
+"DATA",22713,5,"D",180,0)
+202.99^M^-0.947251765^64.17366943^0.166552654
+"DATA",22713,5,"D",181,0)
+203.99^M^-0.960507855^64.44032016^0.166084798
+"DATA",22713,5,"D",182,0)
+204.99^M^-0.973244762^64.69961427^0.16564009
+"DATA",22713,5,"D",183,0)
+205.99^M^-0.985397502^64.95164625^0.165218341
+"DATA",22713,5,"D",184,0)
+206.99^M^-0.996904762^65.1965295^0.164819236
+"DATA",22713,5,"D",185,0)
+207.99^M^-1.007705555^65.43440186^0.16444238
+"DATA",22713,5,"D",186,0)
+208.99^M^-1.017756047^65.66540015^0.164087103
+"DATA",22713,5,"D",187,0)
+209.99^M^-1.027002713^65.88970117^0.163752791
+"DATA",22713,5,"D",188,0)
+210.99^M^-1.035402243^66.10749114^0.163438661
+"DATA",22713,5,"D",189,0)
+211.99^M^-1.042916356^66.31897311^0.163143825
+"DATA",22713,5,"D",190,0)
+212.99^M^-1.049511871^66.52436618^0.162867311
+"DATA",22713,5,"D",191,0)
+213.99^M^-1.055160732^66.72390443^0.162608072
+"DATA",22713,5,"D",192,0)
+214.99^M^-1.059840019^66.91783563^0.162365006
+"DATA",22713,5,"D",193,0)
+215.99^M^-1.063531973^67.10641956^0.162136973
+"DATA",22713,5,"D",194,0)
+216.99^M^-1.066224038^67.28992603^0.161922819
+"DATA",22713,5,"D",195,0)
+217.99^M^-1.067908908^67.46863255^0.161721398
+"DATA",22713,5,"D",196,0)
+218.99^M^-1.068589885^67.64281378^0.16153153
+"DATA",22713,5,"D",197,0)
+219.99^M^-1.068261146^67.8127675^0.161352313
+"DATA",22713,5,"D",198,0)
+220.99^M^-1.066933756^67.97877331^0.161182785
+"DATA",22713,5,"D",199,0)
+221.99^M^-1.064620976^68.14111022^0.161022184
+"DATA",22713,5,"D",200,0)
+222.99^M^-1.061341755^68.30004741^0.160869943
+"DATA",22713,5,"D",201,0)
+223.99^M^-1.057116957^68.4558454^0.160725793
+"DATA",22713,5,"D",202,0)
+224.99^M^-1.051988979^68.60872174^0.160589574
+"DATA",22713,5,"D",203,0)
+225.99^M^-1.04599033^68.75889263^0.1604617
+"DATA",22713,5,"D",204,0)
+226.99^M^-1.039168248^68.90653028^0.160342924
+"DATA",22713,5,"D",205,0)
+227.99^M^-1.031579574^69.05176427^0.160234478
+"DATA",22713,5,"D",206,0)
+228.99^M^-1.023291946^69.19467288^0.160138158
+"DATA",22713,5,"D",207,0)
+229.99^M^-1.014385118^69.33527376^0.160056393
+"DATA",22713,5,"D",208,0)
+230.99^M^-1.004952366^69.47351373^0.159992344
+"DATA",22713,5,"D",209,0)
+231.99^M^-0.995101924^69.60925782^0.159949989
+"DATA",22713,5,"D",210,0)
+232.99^M^-0.984958307^69.74227758^0.159934231
+"DATA",22713,5,"D",211,0)
+233.99^M^-0.974663325^69.87223885^0.159951004
+"DATA",22713,5,"D",212,0)
+234.99^M^-0.964376555^69.99868896^0.160007394
+"DATA",22713,5,"D",213,0)
+235.99^M^-0.954274945^70.12104381^0.160111769
+"DATA",22713,5,"D",214,0)
+236.99^M^-0.944551187^70.23857482^0.160273918
+"DATA",22713,5,"D",215,0)
+237.99^M^-0.935410427^70.35039626^0.160505203
+"DATA",22713,5,"D",216,0)
+238.99^M^-0.927059784^70.45546105^0.160818788
+"DATA",22713,5,"D",217,0)
+239.99^M^-0.919718461^70.55252127^0.161229617
+"DATA",22713,5,"D",218,0)
+240^M^-0.91648762^70.59761453^0.161476792
+"DATA",22713,5,"D",219,0)
+24^F^-0.73533951^12.05503983^0.107399495
+"DATA",22713,5,"D",220,0)
+24.99^F^-0.75220657^12.13455523^0.107740345
+"DATA",22713,5,"D",221,0)
+25.99^F^-0.78423366^12.2910249^0.10847701
+"DATA",22713,5,"D",222,0)
+26.99^F^-0.81409582^12.44469258^0.109280828
+"DATA",22713,5,"D",223,0)
+27.99^F^-0.841935504^12.59622335^0.110144488
+"DATA",22713,5,"D",224,0)
+28.99^F^-0.867889398^12.74620911^0.111060815
+"DATA",22713,5,"D",225,0)
+29.99^F^-0.892102647^12.89517218^0.112022759
+"DATA",22713,5,"D",226,0)
+30.99^F^-0.914718817^13.04357164^0.113023467
+"DATA",22713,5,"D",227,0)
+31.99^F^-0.935876584^13.19180874^0.114056328
+"DATA",22713,5,"D",228,0)
+32.99^F^-0.955723447^13.34022934^0.115114953
+"DATA",22713,5,"D",229,0)
+33.99^F^-0.974383363^13.48913319^0.116193327
+"DATA",22713,5,"D",230,0)
+34.99^F^-0.991980756^13.63877446^0.11728575
+"DATA",22713,5,"D",231,0)
+35.99^F^-1.008640742^13.78936547^0.118386848
+"DATA",22713,5,"D",232,0)
+36.99^F^-1.024471278^13.94108332^0.119491669
+"DATA",22713,5,"D",233,0)
+37.99^F^-1.039573604^14.09407175^0.120595658
+"DATA",22713,5,"D",234,0)
+38.99^F^-1.054039479^14.24844498^0.121694676
+"DATA",22713,5,"D",235,0)
+39.99^F^-1.067946784^14.40429169^0.12278503
+"DATA",22713,5,"D",236,0)
+40.99^F^-1.081374153^14.56167529^0.1238634
+"DATA",22713,5,"D",237,0)
+41.99^F^-1.094381409^14.72064045^0.124926943
+"DATA",22713,5,"D",238,0)
+42.99^F^-1.107021613^14.88121352^0.125973221
+"DATA",22713,5,"D",239,0)
+43.99^F^-1.119338692^15.04340553^0.127000212
+"DATA",22713,5,"D",240,0)
+44.99^F^-1.131367831^15.20721443^0.128006292
+"DATA",22713,5,"D",241,0)
+45.99^F^-1.143135936^15.37262729^0.128990225
+"DATA",22713,5,"D",242,0)
+46.99^F^-1.15466215^15.53962221^0.129951143
+"DATA",22713,5,"D",243,0)
+47.99^F^-1.165958392^15.70817017^0.130888527
+"DATA",22713,5,"D",244,0)
+48.99^F^-1.177029925^15.87823668^0.131802186
+"DATA",22713,5,"D",245,0)
+49.99^F^-1.187871001^16.04978452^0.132692269
+"DATA",22713,5,"D",246,0)
+50.99^F^-1.198484073^16.2227706^0.133559108
+"DATA",22713,5,"D",247,0)
+51.99^F^-1.208853947^16.39715363^0.134403386
+"DATA",22713,5,"D",248,0)
+52.99^F^-1.218965087^16.57289122^0.13522599
+"DATA",22713,5,"D",249,0)
+53.99^F^-1.228798212^16.74994187^0.136028014
+"DATA",22713,5,"D",250,0)
+54.99^F^-1.238330855^16.92826587^0.136810739
+"DATA",22713,5,"D",251,0)
+55.99^F^-1.247537914^17.10782615^0.137575606
+"DATA",22713,5,"D",252,0)
+56.99^F^-1.256392179^17.28858894^0.138324193
+"DATA",22713,5,"D",253,0)
+57.99^F^-1.264864846^17.47052444^0.139058192
+"DATA",22713,5,"D",254,0)
+58.99^F^-1.272926011^17.65360733^0.139779387
+"DATA",22713,5,"D",255,0)
+59.99^F^-1.28054514^17.83781722^0.140489635
+"DATA",22713,5,"D",256,0)
+60.99^F^-1.287691525^18.02313904^0.141190842
+"DATA",22713,5,"D",257,0)
+61.99^F^-1.294332076^18.20956418^0.141884974
+"DATA",22713,5,"D",258,0)
+62.99^F^-1.300441561^18.3970876^0.142573939
+"DATA",22713,5,"D",259,0)
+63.99^F^-1.305989011^18.58571243^0.143259709
+"DATA",22713,5,"D",260,0)
+64.99^F^-1.310946941^18.77544728^0.143944216
+"DATA",22713,5,"D",261,0)
+65.99^F^-1.315289534^18.966307^0.144629359
+"DATA",22713,5,"D",262,0)
+66.99^F^-1.318992925^19.15831267^0.14531699
+"DATA",22713,5,"D",263,0)
+67.99^F^-1.322035315^19.35149163^0.146008903
+"DATA",22713,5,"D",264,0)
+68.99^F^-1.324398133^19.54587708^0.146706813
+"DATA",22713,5,"D",265,0)
+69.99^F^-1.326064539^19.74150854^0.147412363
+"DATA",22713,5,"D",266,0)
+70.99^F^-1.327020415^19.93843145^0.148127109
+"DATA",22713,5,"D",267,0)
+71.99^F^-1.327256387^20.13669623^0.148852482
+"DATA",22713,5,"D",268,0)
+72.99^F^-1.326763834^20.33635961^0.149589838
+"DATA",22713,5,"D",269,0)
+73.99^F^-1.325538668^20.53748298^0.1503404
+"DATA",22713,5,"D",270,0)
+74.99^F^-1.323579654^20.74013277^0.151105277
+"DATA",22713,5,"D",271,0)
+75.99^F^-1.320888012^20.94438028^0.151885464
+"DATA",22713,5,"D",272,0)
+76.99^F^-1.317468695^21.15030093^0.152681819
+"DATA",22713,5,"D",273,0)
+77.99^F^-1.313331446^21.35797332^0.15349505
+"DATA",22713,5,"D",274,0)
+78.99^F^-1.308487081^21.56748045^0.154325756
+"DATA",22713,5,"D",275,0)
+79.99^F^-1.302948173^21.77890902^0.155174414
+"DATA",22713,5,"D",276,0)
+80.99^F^-1.296733913^21.99234686^0.15604132
+"DATA",22713,5,"D",277,0)
+81.99^F^-1.289863329^22.20788541^0.156926667
+"DATA",22713,5,"D",278,0)
+82.99^F^-1.282358762^22.4256177^0.157830504
+"DATA",22713,5,"D",279,0)
+83.99^F^-1.274244931^22.64563824^0.158752743
+"DATA",22713,5,"D",280,0)
+84.99^F^-1.265548787^22.86804258^0.159693163
+"DATA",22713,5,"D",281,0)
+85.99^F^-1.256299378^23.09292679^0.16065141
+"DATA",22713,5,"D",282,0)
+86.99^F^-1.24653066^23.32038549^0.161626956
+"DATA",22713,5,"D",283,0)
+87.99^F^-1.236266832^23.55051871^0.162619308
+"DATA",22713,5,"D",284,0)
+88.99^F^-1.225551344^23.78341652^0.1636276
+"DATA",22713,5,"D",285,0)
+89.99^F^-1.214410914^24.01917703^0.1646511
+"DATA",22713,5,"D",286,0)
+90.99^F^-1.202884389^24.25789074^0.165688808
+"DATA",22713,5,"D",287,0)
+91.99^F^-1.191007906^24.49964778^0.166739662
+"DATA",22713,5,"D",288,0)
+92.99^F^-1.178818621^24.74453536^0.167802495
+"DATA",22713,5,"D",289,0)
+93.99^F^-1.166354376^24.99263735^0.168876037
+"DATA",22713,5,"D",290,0)
+94.99^F^-1.153653688^25.24403371^0.169958922
+"DATA",22713,5,"D",291,0)
+95.99^F^-1.140751404^25.49880264^0.171049756
+"DATA",22713,5,"D",292,0)
+96.99^F^-1.127684095^25.7570168^0.172147043
+"DATA",22713,5,"D",293,0)
+97.99^F^-1.114490244^26.01874261^0.173249185
+"DATA",22713,5,"D",294,0)
+98.99^F^-1.101204848^26.28404312^0.174354569
+"DATA",22713,5,"D",295,0)
+99.99^F^-1.087863413^26.55297507^0.175461512
+"DATA",22713,5,"D",296,0)
+100.99^F^-1.074500927^26.82558904^0.176568284
+"DATA",22713,5,"D",297,0)
+101.99^F^-1.061151213^27.1019295^0.177673124
+"DATA",22713,5,"D",298,0)
+102.99^F^-1.047847141^27.38203422^0.178774242
+"DATA",22713,5,"D",299,0)
+103.99^F^-1.034620551^27.66593402^0.179869829
+"DATA",22713,5,"D",300,0)
+104.99^F^-1.021502197^27.9536524^0.180958063
+"DATA",22713,5,"D",301,0)
+105.99^F^-1.008521695^28.24520531^0.182037118
+"DATA",22713,5,"D",302,0)
+106.99^F^-0.995707494^28.54060085^0.183105172
+"DATA",22713,5,"D",303,0)
+107.99^F^-0.983086844^28.83983907^0.18416041
+"DATA",22713,5,"D",304,0)
+108.99^F^-0.970685789^29.14291171^0.185201039
+"DATA",22713,5,"D",305,0)
+109.99^F^-0.958529157^29.44980208^0.186225287
+"DATA",22713,5,"D",306,0)
+110.99^F^-0.946640568^29.76048479^0.187231416
+"DATA",22713,5,"D",307,0)
+111.99^F^-0.935042447^30.0749257^0.188217723
+"DATA",22713,5,"D",308,0)
+112.99^F^-0.923756041^30.39308176^0.18918255
+"DATA",22713,5,"D",309,0)
+113.99^F^-0.912801445^30.71490093^0.190124286
+"DATA",22713,5,"D",310,0)
+114.99^F^-0.902197638^31.0403221^0.191041375
+"DATA",22713,5,"D",311,0)
+115.99^F^-0.891962513^31.36927506^0.191932319
+"DATA",22713,5,"D",312,0)
+116.99^F^-0.882112919^31.7016805^0.192795682
+"DATA",22713,5,"D",313,0)
+117.99^F^-0.872664706^32.03744999^0.193630095
+"DATA",22713,5,"D",314,0)
+118.99^F^-0.863632768^32.37648607^0.19443426
+"DATA",22713,5,"D",315,0)
+119.99^F^-0.855031092^32.71868225^0.195206948
+"DATA",22713,5,"D",316,0)
+120.99^F^-0.846872805^33.06392318^0.195947008
+"DATA",22713,5,"D",317,0)
+121.99^F^-0.839170224^33.4120847^0.196653365
+"DATA",22713,5,"D",318,0)
+122.99^F^-0.831934903^33.76303402^0.197325023
+"DATA",22713,5,"D",319,0)
+123.99^F^-0.825177688^34.1166299^0.197961065
+"DATA",22713,5,"D",320,0)
+124.99^F^-0.818908758^34.47272283^0.198560655
+"DATA",22713,5,"D",321,0)
+125.99^F^-0.813137675^34.83115524^0.199123037
+"DATA",22713,5,"D",322,0)
+126.99^F^-0.807873433^35.19176177^0.199647538
+"DATA",22713,5,"D",323,0)
+127.99^F^-0.803122613^35.55437176^0.200133598
+"DATA",22713,5,"D",324,0)
+128.99^F^-0.79889771^35.91879976^0.200580618
+"DATA",22713,5,"D",325,0)
+129.99^F^-0.795203499^36.28486194^0.200988216
+"DATA",22713,5,"D",326,0)
+130.99^F^-0.792047959^36.65236365^0.201356017
+"DATA",22713,5,"D",327,0)
+131.99^F^-0.789435274^37.02110818^0.201683791
+"DATA",22713,5,"D",328,0)
+132.99^F^-0.787374433^37.39088668^0.201971282
+"DATA",22713,5,"D",329,0)
+133.99^F^-0.785870695^37.76148905^0.202218375
+"DATA",22713,5,"D",330,0)
+134.99^F^-0.784929893^38.1326991^0.202425006
+"DATA",22713,5,"D",331,0)
+135.99^F^-0.784557605^38.50429603^0.202591183
+"DATA",22713,5,"D",332,0)
+136.99^F^-0.78475917^38.87605489^0.20271698
+"DATA",22713,5,"D",333,0)
+137.99^F^-0.785539703^39.24774707^0.202802535
+"DATA",22713,5,"D",334,0)
+138.99^F^-0.786904102^39.61914076^0.202848049
+"DATA",22713,5,"D",335,0)
+139.99^F^-0.788858208^39.98999994^0.202853758
+"DATA",22713,5,"D",336,0)
+140.99^F^-0.791403051^40.36009244^0.202820053
+"DATA",22713,5,"D",337,0)
+141.99^F^-0.794546352^40.72917544^0.202747236
+"DATA",22713,5,"D",338,0)
+142.99^F^-0.79829102^41.09701099^0.202635758
+"DATA",22713,5,"D",339,0)
+143.99^F^-0.802640891^41.46335907^0.202486098
+"DATA",22713,5,"D",340,0)
+144.99^F^-0.807599577^41.82797963^0.202298783
+"DATA",22713,5,"D",341,0)
+145.99^F^-0.813170461^42.19063313^0.202074385
+"DATA",22713,5,"D",342,0)
+146.99^F^-0.819356692^42.55108107^0.201813521
+"DATA",22713,5,"D",343,0)
+147.99^F^-0.826161176^42.90908653^0.201516851
+"DATA",22713,5,"D",344,0)
+148.99^F^-0.833586038^43.2644155^0.201185082
+"DATA",22713,5,"D",345,0)
+149.99^F^-0.841634949^43.61683402^0.200818928
+"DATA",22713,5,"D",346,0)
+150.99^F^-0.850307441^43.9661169^0.200419208
+"DATA",22713,5,"D",347,0)
+151.99^F^-0.859607525^44.31203579^0.199986681
+"DATA",22713,5,"D",348,0)
+152.99^F^-0.869534339^44.65437319^0.199522233
+"DATA",22713,5,"D",349,0)
+153.99^F^-0.880088651^44.99291356^0.199026736
+"DATA",22713,5,"D",350,0)
+154.99^F^-0.891270585^45.32744704^0.198501096
+"DATA",22713,5,"D",351,0)
+155.99^F^-0.903079458^45.65777013^0.197946255
+"DATA",22713,5,"D",352,0)
+156.99^F^-0.915513542^45.98368656^0.197363191
+"DATA",22713,5,"D",353,0)
+157.99^F^-0.928569454^46.30500858^0.196752931
+"DATA",22713,5,"D",354,0)
+158.99^F^-0.942245864^46.62155183^0.196116472
+"DATA",22713,5,"D",355,0)
+159.99^F^-0.956537923^46.93314404^0.19545489
+"DATA",22713,5,"D",356,0)
+160.99^F^-0.971440492^47.23962058^0.194769279
+"DATA",22713,5,"D",357,0)
+161.99^F^-0.986947308^47.54082604^0.194060758
+"DATA",22713,5,"D",358,0)
+162.99^F^-1.003050887^47.83661466^0.193330477
+"DATA",22713,5,"D",359,0)
+163.99^F^-1.019742425^48.12685082^0.192579614
+"DATA",22713,5,"D",360,0)
+164.99^F^-1.037011698^48.41140938^0.191809374
+"DATA",22713,5,"D",361,0)
+165.99^F^-1.054846957^48.69017613^0.191020995
+"DATA",22713,5,"D",362,0)
+166.99^F^-1.073234825^48.9630481^0.190215739
+"DATA",22713,5,"D",363,0)
+167.99^F^-1.092160195^49.22993391^0.189394901
+"DATA",22713,5,"D",364,0)
+168.99^F^-1.111606122^49.49075409^0.188559804
+"DATA",22713,5,"D",365,0)
+169.99^F^-1.131553723^49.74544132^0.187711798
+"DATA",22713,5,"D",366,0)
+170.99^F^-1.151982079^49.99394068^0.186852266
+"DATA",22713,5,"D",367,0)
+171.99^F^-1.172868141^50.23620985^0.185982617
+"DATA",22713,5,"D",368,0)
+172.99^F^-1.19418462^50.47222213^0.185104331
+"DATA",22713,5,"D",369,0)
+173.99^F^-1.215907492^50.70195581^0.184218803
+"DATA",22713,5,"D",370,0)
+174.99^F^-1.238005268^50.92540942^0.183327556
+"DATA",22713,5,"D",371,0)
+175.99^F^-1.260445591^51.14259229^0.182432113
+"DATA",22713,5,"D",372,0)
+176.99^F^-1.283193626^51.3535268^0.181534018
+"DATA",22713,5,"D",373,0)
+177.99^F^-1.306212032^51.55824831^0.180634839
+"DATA",22713,5,"D",374,0)
+178.99^F^-1.329460945^51.75680513^0.179736168
+"DATA",22713,5,"D",375,0)
+179.99^F^-1.35289798^51.94925841^0.178839614
+"DATA",22713,5,"D",376,0)
+180.99^F^-1.376478254^52.13568193^0.177946804
+"DATA",22713,5,"D",377,0)
+181.99^F^-1.400154426^52.31616197^0.177059379
+"DATA",22713,5,"D",378,0)
+182.99^F^-1.423876772^52.49079703^0.17617899
+"DATA",22713,5,"D",379,0)
+183.99^F^-1.447593267^52.65969757^0.175307296
+"DATA",22713,5,"D",380,0)
+184.99^F^-1.471249702^52.82298572^0.174445958
+"DATA",22713,5,"D",381,0)
+185.99^F^-1.494789826^52.9807949^0.173596636
+"DATA",22713,5,"D",382,0)
+186.99^F^-1.518155513^53.13326946^0.172760982
+"DATA",22713,5,"D",383,0)
+187.99^F^-1.541286949^53.28056425^0.17194064
+"DATA",22713,5,"D",384,0)
+188.99^F^-1.564122852^53.42284417^0.171137232
+"DATA",22713,5,"D",385,0)
+189.99^F^-1.586600712^53.5602837^0.170352363
+"DATA",22713,5,"D",386,0)
+190.99^F^-1.608657054^53.69306637^0.169587605
+"DATA",22713,5,"D",387,0)
+191.99^F^-1.630227728^53.82138422^0.168844497
+"DATA",22713,5,"D",388,0)
+192.99^F^-1.651248208^53.94543725^0.168124538
+"DATA",22713,5,"D",389,0)
+193.99^F^-1.67165392^54.06543278^0.167429179
+"DATA",22713,5,"D",390,0)
+194.99^F^-1.691380583^54.18158486^0.166759816
+"DATA",22713,5,"D",391,0)
+195.99^F^-1.710364557^54.29411356^0.166117788
+"DATA",22713,5,"D",392,0)
+196.99^F^-1.728543207^54.40324431^0.165504365
+"DATA",22713,5,"D",393,0)
+197.99^F^-1.745855274^54.50920717^0.164920747
+"DATA",22713,5,"D",394,0)
+198.99^F^-1.762241248^54.61223603^0.164368054
+"DATA",22713,5,"D",395,0)
+199.99^F^-1.777643747^54.71256787^0.16384732
+"DATA",22713,5,"D",396,0)
+200.99^F^-1.792007891^54.81044184^0.163359491
+"DATA",22713,5,"D",397,0)
+201.99^F^-1.805281675^54.90609842^0.162905415
+"DATA",22713,5,"D",398,0)
+202.99^F^-1.817416335^54.99977846^0.162485839
+"DATA",22713,5,"D",399,0)
+203.99^F^-1.828366707^55.09172217^0.162101402
+"DATA",22713,5,"D",400,0)
+204.99^F^-1.838091576^55.18216811^0.161752634
+"DATA",22713,5,"D",401,0)
+205.99^F^-1.846554015^55.271352^0.161439944
+"DATA",22713,5,"D",402,0)
+206.99^F^-1.853721704^55.35950558^0.161163623
+"DATA",22713,5,"D",403,0)
+207.99^F^-1.859567242^55.44685531^0.160923833
+"DATA",22713,5,"D",404,0)
+208.99^F^-1.864068443^55.53362107^0.160720609
+"DATA",22713,5,"D",405,0)
+209.99^F^-1.86720861^55.62001464^0.16055385
+"DATA",22713,5,"D",406,0)
+210.99^F^-1.8689768^55.70623826^0.160423319
+"DATA",22713,5,"D",407,0)
+211.99^F^-1.869371157^55.79247939^0.160328578
+"DATA",22713,5,"D",408,0)
+212.99^F^-1.868386498^55.87892356^0.160269232
+"DATA",22713,5,"D",409,0)
+213.99^F^-1.866033924^55.96573022^0.160244549
+"DATA",22713,5,"D",410,0)
+214.99^F^-1.862327775^56.05304601^0.160253714
+"DATA",22713,5,"D",411,0)
+215.99^F^-1.857289195^56.14099882^0.160295765
+"DATA",22713,5,"D",412,0)
+216.99^F^-1.850946286^56.22969564^0.16036959
+"DATA",22713,5,"D",413,0)
+217.99^F^-1.84333425^56.3192203^0.16047393
+"DATA",22713,5,"D",414,0)
+218.99^F^-1.834495505^56.40963105^0.160607377
+"DATA",22713,5,"D",415,0)
+219.99^F^-1.824479785^56.50095811^0.16076838
+"DATA",22713,5,"D",416,0)
+220.99^F^-1.813344222^56.59320107^0.160955249
+"DATA",22713,5,"D",417,0)
+221.99^F^-1.801153404^56.68632619^0.161166157
+"DATA",22713,5,"D",418,0)
+222.99^F^-1.787979408^56.78026364^0.161399151
+"DATA",22713,5,"D",419,0)
+223.99^F^-1.773901816^56.87490465^0.161652158
+"DATA",22713,5,"D",420,0)
+224.99^F^-1.759007704^56.97009856^0.161922998
+"DATA",22713,5,"D",421,0)
+225.99^F^-1.743391606^57.06564989^0.162209399
+"DATA",22713,5,"D",422,0)
+226.99^F^-1.72715546^57.16131528^0.162509006
+"DATA",22713,5,"D",423,0)
+227.99^F^-1.710410733^57.25679821^0.162819353
+"DATA",22713,5,"D",424,0)
+228.99^F^-1.693267093^57.35175792^0.163138124
+"DATA",22713,5,"D",425,0)
+229.99^F^-1.67585442^57.44578172^0.163462715
+"DATA",22713,5,"D",426,0)
+230.99^F^-1.658302847^57.53840429^0.163790683
+"DATA",22713,5,"D",427,0)
+231.99^F^-1.640747464^57.62910094^0.164119574
+"DATA",22713,5,"D",428,0)
+232.99^F^-1.623332891^57.7172758^0.164446997
+"DATA",22713,5,"D",429,0)
+233.99^F^-1.606209374^57.80226553^0.164770638
+"DATA",22713,5,"D",430,0)
+234.99^F^-1.589533346^57.88333502^0.165088289
+"DATA",22713,5,"D",431,0)
+235.99^F^-1.573467222^57.95967458^0.165397881
+"DATA",22713,5,"D",432,0)
+236.99^F^-1.558179166^58.0303973^0.165697507
+"DATA",22713,5,"D",433,0)
+237.99^F^-1.543846192^58.09453209^0.165985386
+"DATA",22713,5,"D",434,0)
+238.99^F^-1.530642461^58.15103575^0.166260109
+"DATA",22713,5,"D",435,0)
+239.99^F^-1.518754013^58.1987714^0.16652037
+"DATA",22713,5,"D",436,0)
+240^F^-1.51336185^58.21897289^0.166644749
+"DATA",22713,6,0)
+WEIGHT BY AGE -- INFANT^AGE^MONTHS^WEIGHT^KG^0-36M
+"DATA",22713,6,1)
+https://spreadsheets.google.com/ccc?key=0As02V5OYrjbucFhfa0dnc0FTMjlZTjJhTEJMRWVPY3c&hl=en
+"DATA",22713,6,2)
+WTAGEINF
+"DATA",22713,6,"D",0)
+^22713.02A^76^76
+"DATA",22713,6,"D",1,0)
+0^M^1.815151075^3.530203168^0.152385273
+"DATA",22713,6,"D",2,0)
+0.99^M^1.547523128^4.003106424^0.146025021
+"DATA",22713,6,"D",3,0)
+1.99^M^1.068795548^4.879525083^0.136478767
+"DATA",22713,6,"D",4,0)
+2.99^M^0.695973505^5.672888765^0.129677511
+"DATA",22713,6,"D",5,0)
+3.99^M^0.41981509^6.391391982^0.124717085
+"DATA",22713,6,"D",6,0)
+4.99^M^0.219866801^7.041836432^0.121040119
+"DATA",22713,6,"D",7,0)
+5.99^M^0.077505598^7.630425182^0.1182712
+"DATA",22713,6,"D",8,0)
+6.99^M^-0.02190761^8.162951035^0.116153695
+"DATA",22713,6,"D",9,0)
+7.99^M^-0.0894409^8.644832479^0.114510349
+"DATA",22713,6,"D",10,0)
+8.99^M^-0.1334091^9.081119817^0.113217163
+"DATA",22713,6,"D",11,0)
+9.99^M^-0.1600954^9.476500305^0.11218624
+"DATA",22713,6,"D",12,0)
+10.99^M^-0.17429685^9.835307701^0.111354536
+"DATA",22713,6,"D",13,0)
+11.99^M^-0.1797189^10.16153567^0.110676413
+"DATA",22713,6,"D",14,0)
+12.99^M^-0.179254^10.45885399^0.110118635
+"DATA",22713,6,"D",15,0)
+13.99^M^-0.17518447^10.7306256^0.109656941
+"DATA",22713,6,"D",16,0)
+14.99^M^-0.16932268^10.97992482^0.109273653
+"DATA",22713,6,"D",17,0)
+15.99^M^-0.1631139^11.20955529^0.10895596
+"DATA",22713,6,"D",18,0)
+16.99^M^-0.15770999^11.4220677^0.108694678
+"DATA",22713,6,"D",19,0)
+17.99^M^-0.15402279^11.61977698^0.108483324
+"DATA",22713,6,"D",20,0)
+18.99^M^-0.15276214^11.80477902^0.108317416
+"DATA",22713,6,"D",21,0)
+19.99^M^-0.15446658^11.9789663^0.108193944
+"DATA",22713,6,"D",22,0)
+20.99^M^-0.15952202^12.14404334^0.108110954
+"DATA",22713,6,"D",23,0)
+21.99^M^-0.16817926^12.30154103^0.108067236
+"DATA",22713,6,"D",24,0)
+22.99^M^-0.1805668^12.45283028^0.108062078
+"DATA",22713,6,"D",25,0)
+23.99^M^-0.19670196^12.59913494^0.108095077
+"DATA",22713,6,"D",26,0)
+24.99^M^-0.21650121^12.74154396^0.108166005
+"DATA",22713,6,"D",27,0)
+25.99^M^-0.23979048^12.88102276^0.108274705
+"DATA",22713,6,"D",28,0)
+26.99^M^-0.26631585^13.01842382^0.108421024
+"DATA",22713,6,"D",29,0)
+27.99^M^-0.29575496^13.1544966^0.108604769
+"DATA",22713,6,"D",30,0)
+28.99^M^-0.32772936^13.28989667^0.108825681
+"DATA",22713,6,"D",31,0)
+29.99^M^-0.36181746^13.42519408^0.109083423
+"DATA",22713,6,"D",32,0)
+30.99^M^-0.39756808^13.56088113^0.109377581
+"DATA",22713,6,"D",33,0)
+31.99^M^-0.43452025^13.69737858^0.109707646
+"DATA",22713,6,"D",34,0)
+32.99^M^-0.47218875^13.83504622^0.110073084
+"DATA",22713,6,"D",35,0)
+33.99^M^-0.51012309^13.97418199^0.110473238
+"DATA",22713,6,"D",36,0)
+34.99^M^-0.54788557^14.1150324^0.1109074
+"DATA",22713,6,"D",37,0)
+35.99^M^-0.5850701^14.25779618^0.111374787
+"DATA",22713,6,"D",38,0)
+36^M^-0.60333785^14.32994444^0.111620652
+"DATA",22713,6,"D",39,0)
+0^F^1.509187507^3.39918645^0.142106724
+"DATA",22713,6,"D",40,0)
+0.99^F^1.357944315^3.79752846^0.138075916
+"DATA",22713,6,"D",41,0)
+1.99^F^1.105537708^4.544776513^0.131733888
+"DATA",22713,6,"D",42,0)
+2.99^F^0.902596648^5.230584214^0.126892697
+"DATA",22713,6,"D",43,0)
+3.99^F^0.734121414^5.859960798^0.123025182
+"DATA",22713,6,"D",44,0)
+4.99^F^0.590235275^6.437587751^0.119840911
+"DATA",22713,6,"D",45,0)
+5.99^F^0.464391566^6.967850457^0.117166868
+"DATA",22713,6,"D",46,0)
+6.99^F^0.352164071^7.454854109^0.11489384
+"DATA",22713,6,"D",47,0)
+7.99^F^0.250497889^7.902436186^0.112949644
+"DATA",22713,6,"D",48,0)
+8.99^F^0.15724751^8.314178377^0.11128469
+"DATA",22713,6,"D",49,0)
+9.99^F^0.070885725^8.693418423^0.109863709
+"DATA",22713,6,"D",50,0)
+10.99^F^-0.00968493^9.043261854^0.10866078
+"DATA",22713,6,"D",51,0)
+11.99^F^-0.085258^9.366593571^0.10765621
+"DATA",22713,6,"D",52,0)
+12.99^F^-0.15640945^9.666089185^0.106834517
+"DATA",22713,6,"D",53,0)
+13.99^F^-0.22355869^9.944226063^0.106183085
+"DATA",22713,6,"D",54,0)
+14.99^F^-0.28701346^10.20329397^0.105691242
+"DATA",22713,6,"D",55,0)
+15.99^F^-0.34699919^10.4454058^0.105349631
+"DATA",22713,6,"D",56,0)
+16.99^F^-0.40368918^10.67250698^0.105149754
+"DATA",22713,6,"D",57,0)
+17.99^F^-0.45721877^10.88638558^0.105083666
+"DATA",22713,6,"D",58,0)
+18.99^F^-0.50770077^11.08868151^0.105143752
+"DATA",22713,6,"D",59,0)
+19.99^F^-0.55523599^11.28089537^0.105322575
+"DATA",22713,6,"D",60,0)
+20.99^F^-0.59992113^11.46439708^0.10561278
+"DATA",22713,6,"D",61,0)
+21.99^F^-0.64185418^11.64043402^0.106007025
+"DATA",22713,6,"D",62,0)
+22.99^F^-0.6811381^11.81013895^0.106497957
+"DATA",22713,6,"D",63,0)
+23.99^F^-0.71788283^11.97453748^0.107078197
+"DATA",22713,6,"D",64,0)
+24.99^F^-0.75220617^12.13455528^0.107740346
+"DATA",22713,6,"D",65,0)
+25.99^F^-0.78423359^12.2910249^0.108477009
+"DATA",22713,6,"D",66,0)
+26.99^F^-0.81409743^12.44469237^0.109280822
+"DATA",22713,6,"D",67,0)
+27.99^F^-0.8419355^12.59622335^0.110144488
+"DATA",22713,6,"D",68,0)
+28.99^F^-0.86788939^12.74620911^0.111060814
+"DATA",22713,6,"D",69,0)
+29.99^F^-0.89210264^12.89517218^0.112022758
+"DATA",22713,6,"D",70,0)
+30.99^F^-0.91471881^13.04357164^0.113023466
+"DATA",22713,6,"D",71,0)
+31.99^F^-0.93587966^13.19180827^0.114056316
+"DATA",22713,6,"D",72,0)
+32.99^F^-0.95572344^13.34022934^0.115114952
+"DATA",22713,6,"D",73,0)
+33.99^F^-0.97438101^13.48913357^0.116193337
+"DATA",22713,6,"D",74,0)
+34.99^F^-0.99198075^13.63877446^0.11728575
+"DATA",22713,6,"D",75,0)
+35.99^F^-1.00864074^13.78936547^0.118386847
+"DATA",22713,6,"D",76,0)
+36^F^-1.01665314^13.86507382^0.118939087
+"DATA",22713,7,0)
+WEIGHT FOR LENGTH -- INFANT^RECUMBENT LENGTH^CM^WEIGHT^KG^0-36M
+"DATA",22713,7,1)
+https://spreadsheets.google.com/ccc?key=0As02V5OYrjbucFhfa0dnc0FTMjlhdGZEN3prRWNqYnc&hl=en
+"DATA",22713,7,2)
+WTLENINF
+"DATA",22713,7,"D",0)
+^22713.02A^120^120
+"DATA",22713,7,"D",1,0)
+45^M^1.44903689^2.289757735^0.149236691
+"DATA",22713,7,"D",2,0)
+45.99^M^1.31794165^2.38617219^0.144790131
+"DATA",22713,7,"D",3,0)
+46.99^M^1.041730589^2.587097922^0.1365472
+"DATA",22713,7,"D",4,0)
+47.99^M^0.756615683^2.797952593^0.129156077
+"DATA",22713,7,"D",5,0)
+48.99^M^0.472617587^3.017679791^0.122589498
+"DATA",22713,7,"D",6,0)
+49.99^M^0.197455933^3.245225583^0.116802688
+"DATA",22713,7,"D",7,0)
+50.99^M^-0.063272822^3.479567767^0.111734963
+"DATA",22713,7,"D",8,0)
+51.99^M^-0.305663778^3.719739648^0.107316407
+"DATA",22713,7,"D",9,0)
+52.99^M^-0.527210764^3.964838222^0.10347453
+"DATA",22713,7,"D",10,0)
+53.99^M^-0.726356263^4.214033476^0.100139369
+"DATA",22713,7,"D",11,0)
+54.99^M^-0.902380499^4.466562625^0.097246097
+"DATA",22713,7,"D",12,0)
+55.99^M^-1.055126826^4.721730669^0.09473644
+"DATA",22713,7,"D",13,0)
+56.99^M^-1.184933443^4.978903744^0.092558749
+"DATA",22713,7,"D",14,0)
+57.99^M^-1.292531809^5.237504753^0.09066765
+"DATA",22713,7,"D",15,0)
+58.99^M^-1.378973111^5.497008915^0.089023438
+"DATA",22713,7,"D",16,0)
+59.99^M^-1.445563111^5.756939907^0.087591418
+"DATA",22713,7,"D",17,0)
+60.99^M^-1.49380121^6.016866693^0.086341291
+"DATA",22713,7,"D",18,0)
+61.99^M^-1.525332827^6.276400575^0.085246598
+"DATA",22713,7,"D",19,0)
+62.99^M^-1.541839648^6.535195541^0.084284401
+"DATA",22713,7,"D",20,0)
+63.99^M^-1.545098045^6.792942366^0.083434649
+"DATA",22713,7,"D",21,0)
+64.99^M^-1.536863318^7.049370425^0.08268004
+"DATA",22713,7,"D",22,0)
+65.99^M^-1.518786093^7.304248994^0.082005843
+"DATA",22713,7,"D",23,0)
+66.99^M^-1.49249029^7.557381995^0.081399411
+"DATA",22713,7,"D",24,0)
+67.99^M^-1.459487925^7.808610136^0.080850107
+"DATA",22713,7,"D",25,0)
+68.99^M^-1.421167427^8.057810266^0.08034908
+"DATA",22713,7,"D",26,0)
+69.99^M^-1.378835366^8.304892397^0.079888977
+"DATA",22713,7,"D",27,0)
+70.99^M^-1.333634661^8.549802669^0.079463915
+"DATA",22713,7,"D",28,0)
+71.99^M^-1.286605147^8.792519752^0.079069193
+"DATA",22713,7,"D",29,0)
+72.99^M^-1.238665517^9.033054944^0.07870118
+"DATA",22713,7,"D",30,0)
+73.99^M^-1.19066716^9.271448675^0.078357096
+"DATA",22713,7,"D",31,0)
+74.99^M^-1.143316882^9.507773605^0.078035021
+"DATA",22713,7,"D",32,0)
+75.99^M^-1.097263403^9.742129356^0.077733651
+"DATA",22713,7,"D",33,0)
+76.99^M^-1.053083813^9.974642178^0.077452242
+"DATA",22713,7,"D",34,0)
+77.99^M^-1.011294273^10.20546331^0.077190512
+"DATA",22713,7,"D",35,0)
+78.99^M^-0.972360231^10.43476723^0.076948562
+"DATA",22713,7,"D",36,0)
+79.99^M^-0.936705887^10.66274993^0.076726804
+"DATA",22713,7,"D",37,0)
+80.99^M^-0.904722736^10.88962699^0.076525901
+"DATA",22713,7,"D",38,0)
+81.99^M^-0.876777097^11.11563177^0.076346711
+"DATA",22713,7,"D",39,0)
+82.99^M^-0.853216568^11.34101346^0.076190236
+"DATA",22713,7,"D",40,0)
+83.99^M^-0.834375406^11.56603512^0.076057579
+"DATA",22713,7,"D",41,0)
+84.99^M^-0.820578855^11.79097176^0.075949901
+"DATA",22713,7,"D",42,0)
+85.99^M^-0.81214646^12.01610828^0.075868383
+"DATA",22713,7,"D",43,0)
+86.99^M^-0.809394398^12.24173753^0.075814185
+"DATA",22713,7,"D",44,0)
+87.99^M^-0.812636889^12.46815824^0.075788413
+"DATA",22713,7,"D",45,0)
+88.99^M^-0.822186712^12.69567298^0.075792075
+"DATA",22713,7,"D",46,0)
+89.99^M^-0.838354876^12.92458613^0.075826044
+"DATA",22713,7,"D",47,0)
+90.99^M^-0.861449493^13.15520182^0.075891019
+"DATA",22713,7,"D",48,0)
+91.99^M^-0.891773904^13.38782185^0.075987476
+"DATA",22713,7,"D",49,0)
+92.99^M^-0.929617736^13.6227442^0.076115636
+"DATA",22713,7,"D",50,0)
+93.99^M^-0.975268944^13.86025986^0.076275395
+"DATA",22713,7,"D",51,0)
+94.99^M^-1.028990493^14.10065234^0.076466299
+"DATA",22713,7,"D",52,0)
+95.99^M^-1.091024455^14.34419522^0.076687482
+"DATA",22713,7,"D",53,0)
+96.99^M^-1.161574946^14.59115139^0.076937631
+"DATA",22713,7,"D",54,0)
+97.99^M^-1.240820737^14.84177007^0.077214912
+"DATA",22713,7,"D",55,0)
+98.99^M^-1.328879402^15.0962879^0.077516968
+"DATA",22713,7,"D",56,0)
+99.99^M^-1.425809463^15.35492729^0.077840877
+"DATA",22713,7,"D",57,0)
+100.99^M^-1.531575592^15.61789822^0.078183177
+"DATA",22713,7,"D",58,0)
+101.99^M^-1.646081976^15.88539464^0.078539804
+"DATA",22713,7,"D",59,0)
+102.99^M^-1.769082483^16.15760201^0.078906277
+"DATA",22713,7,"D",60,0)
+103.99^M^-1.900221246^16.43469418^0.079277694
+"DATA",22713,7,"D",61,0)
+45^F^0.666839915^2.305396985^0.168969897
+"DATA",22713,7,"D",62,0)
+45.99^F^0.699616404^2.403256702^0.157654766
+"DATA",22713,7,"D",63,0)
+46.99^F^0.747915684^2.606020484^0.139389663
+"DATA",22713,7,"D",64,0)
+47.99^F^0.751754737^2.817114082^0.125837223
+"DATA",22713,7,"D",65,0)
+48.99^F^0.691329975^3.035356101^0.115888948
+"DATA",22713,7,"D",66,0)
+49.99^F^0.559107556^3.259693318^0.108648608
+"DATA",22713,7,"D",67,0)
+50.99^F^0.361549127^3.48922017^0.103402703
+"DATA",22713,7,"D",68,0)
+51.99^F^0.116436203^3.723195489^0.099599651
+"DATA",22713,7,"D",69,0)
+52.99^F^-0.152509094^3.961034945^0.096830356
+"DATA",22713,7,"D",70,0)
+53.99^F^-0.421478627^4.202270022^0.09480477
+"DATA",22713,7,"D",71,0)
+54.99^F^-0.671388289^4.446476028^0.093323068
+"DATA",22713,7,"D",72,0)
+55.99^F^-0.889973526^4.693220151^0.092246459
+"DATA",22713,7,"D",73,0)
+56.99^F^-1.071844454^4.942029343^0.091473166
+"DATA",22713,7,"D",74,0)
+57.99^F^-1.216671445^5.192403337^0.090923715
+"DATA",22713,7,"D",75,0)
+58.99^F^-1.327360462^5.443830096^0.090532906
+"DATA",22713,7,"D",76,0)
+59.99^F^-1.408261687^5.69581328^0.090246768
+"DATA",22713,7,"D",77,0)
+60.99^F^-1.464051065^5.947889759^0.090021128
+"DATA",22713,7,"D",78,0)
+61.99^F^-1.499105627^6.199640267^0.089820688
+"DATA",22713,7,"D",79,0)
+62.99^F^-1.517197913^6.450695818^0.089618171
+"DATA",22713,7,"D",80,0)
+63.99^F^-1.521479703^6.700736725^0.089393174
+"DATA",22713,7,"D",81,0)
+64.99^F^-1.514481331^6.949493534^0.089131254
+"DATA",22713,7,"D",82,0)
+65.99^F^-1.498204976^7.196744733^0.088822943
+"DATA",22713,7,"D",83,0)
+66.99^F^-1.474231858^7.442313819^0.088462854
+"DATA",22713,7,"D",84,0)
+67.99^F^-1.443808911^7.686067039^0.088048963
+"DATA",22713,7,"D",85,0)
+68.99^F^-1.407959107^7.92790936^0.087581916
+"DATA",22713,7,"D",86,0)
+69.99^F^-1.367521025^8.167783677^0.087064605
+"DATA",22713,7,"D",87,0)
+70.99^F^-1.32324327^8.405666621^0.086501667
+"DATA",22713,7,"D",88,0)
+71.99^F^-1.275834578^8.641566305^0.085899159
+"DATA",22713,7,"D",89,0)
+72.99^F^-1.226014257^8.875519723^0.085264271
+"DATA",22713,7,"D",90,0)
+73.99^F^-1.174555804^9.107590221^0.084605096
+"DATA",22713,7,"D",91,0)
+74.99^F^-1.122323639^9.337865054^0.083930435
+"DATA",22713,7,"D",92,0)
+75.99^F^-1.070302348^9.566453061^0.083249631
+"DATA",22713,7,"D",93,0)
+76.99^F^-1.019617172^9.793482492^0.082572421
+"DATA",22713,7,"D",94,0)
+77.99^F^-0.971544123^10.01909902^0.081908788
+"DATA",22713,7,"D",95,0)
+78.99^F^-0.927495981^10.24346467^0.081268832
+"DATA",22713,7,"D",96,0)
+79.99^F^-0.889046221^10.46675386^0.080662561
+"DATA",22713,7,"D",97,0)
+80.99^F^-0.857844783^10.6891553^0.080099785
+"DATA",22713,7,"D",98,0)
+81.99^F^-0.835600041^10.91086924^0.079589888
+"DATA",22713,7,"D",99,0)
+82.99^F^-0.824007806^11.13210717^0.079141623
+"DATA",22713,7,"D",100,0)
+83.99^F^-0.824673085^11.35309164^0.078762888
+"DATA",22713,7,"D",101,0)
+84.99^F^-0.839021353^11.57405623^0.078460511
+"DATA",22713,7,"D",102,0)
+85.99^F^-0.868191531^11.79524697^0.078240047
+"DATA",22713,7,"D",103,0)
+86.99^F^-0.912987527^12.0169203^0.078105554
+"DATA",22713,7,"D",104,0)
+87.99^F^-0.973732843^12.23934838^0.078059544
+"DATA",22713,7,"D",105,0)
+88.99^F^-1.050238631^12.46281861^0.078102898
+"DATA",22713,7,"D",106,0)
+89.99^F^-1.141750538^12.68763627^0.078234935
+"DATA",22713,7,"D",107,0)
+90.99^F^-1.246935039^12.9141268^0.078453576
+"DATA",22713,7,"D",108,0)
+91.99^F^-1.363881842^13.1426393^0.078755652
+"DATA",22713,7,"D",109,0)
+92.99^F^-1.490235591^13.37354263^0.079137144
+"DATA",22713,7,"D",110,0)
+93.99^F^-1.623204367^13.60723197^0.079593737
+"DATA",22713,7,"D",111,0)
+94.99^F^-1.759750536^13.84412275^0.080121122
+"DATA",22713,7,"D",112,0)
+95.99^F^-1.896722704^14.08464853^0.080715361
+"DATA",22713,7,"D",113,0)
+96.99^F^-2.031079769^14.32925018^0.081372938
+"DATA",22713,7,"D",114,0)
+97.99^F^-2.159985258^14.57837334^0.082090922
+"DATA",22713,7,"D",115,0)
+98.99^F^-2.280992946^14.8324557^0.082866693
+"DATA",22713,7,"D",116,0)
+99.99^F^-2.392125361^15.09192012^0.083697706
+"DATA",22713,7,"D",117,0)
+100.99^F^-2.491985117^15.35716167^0.08458092
+"DATA",22713,7,"D",118,0)
+101.99^F^-2.579688446^15.62854849^0.085512655
+"DATA",22713,7,"D",119,0)
+102.99^F^-2.654922113^15.90640903^0.086487929
+"DATA",22713,7,"D",120,0)
+103.99^F^-2.717782155^16.19103966^0.087500575
+"DATA",22713,8,0)
+WEIGHT FOR STATURE^STATURE (HEIGHT)^CM^WEIGHT^KG^2-20Y
+"DATA",22713,8,1)
+https://spreadsheets.google.com/ccc?key=0As02V5OYrjbucFhfa0dnc0FTMjlZTTdyYXBXZ1o1R2c&hl=en
+"DATA",22713,8,2)
+WTSTAT
+"DATA",22713,8,"D",0)
+^22713.02A^92^92
+"DATA",22713,8,"D",1,0)
+77^M^-0.999294215^10.27440527^0.077115837
+"DATA",22713,8,"D",2,0)
+77.99^M^-0.979897716^10.38901871^0.076995353
+"DATA",22713,8,"D",3,0)
+78.99^M^-0.943555181^10.61724901^0.076769511
+"DATA",22713,8,"D",4,0)
+79.99^M^-0.91080778^10.84432907^0.076564374
+"DATA",22713,8,"D",5,0)
+80.99^M^-0.882026316^11.07048885^0.076380766
+"DATA",22713,8,"D",6,0)
+81.99^M^-0.857561667^11.29597453^0.076219662
+"DATA",22713,8,"D",7,0)
+82.99^M^-0.837750377^11.52104655^0.07608215
+"DATA",22713,8,"D",8,0)
+83.99^M^-0.822919198^11.74597768^0.075969382
+"DATA",22713,8,"D",9,0)
+84.99^M^-0.813388595^11.97105103^0.075882537
+"DATA",22713,8,"D",10,0)
+85.99^M^-0.809475279^12.19655799^0.075822785
+"DATA",22713,8,"D",11,0)
+86.99^M^-0.811493792^12.4227963^0.075791244
+"DATA",22713,8,"D",12,0)
+87.99^M^-0.8197572^12.65006791^0.075788944
+"DATA",22713,8,"D",13,0)
+88.99^M^-0.834576932^12.87867701^0.07581679
+"DATA",22713,8,"D",14,0)
+89.99^M^-0.856261805^13.10892794^0.075875517
+"DATA",22713,8,"D",15,0)
+90.99^M^-0.885116299^13.34112314^0.075965652
+"DATA",22713,8,"D",16,0)
+91.99^M^-0.921432943^13.5755615^0.076087468
+"DATA",22713,8,"D",17,0)
+92.99^M^-0.965501267^13.81253552^0.076240931
+"DATA",22713,8,"D",18,0)
+93.99^M^-1.017588552^14.05233041^0.076425662
+"DATA",22713,8,"D",19,0)
+94.99^M^-1.077941994^14.29522185^0.07664088
+"DATA",22713,8,"D",20,0)
+95.99^M^-1.146773671^14.54147499^0.076885365
+"DATA",22713,8,"D",21,0)
+96.99^M^-1.224269596^14.79134177^0.07715739
+"DATA",22713,8,"D",22,0)
+97.99^M^-1.310558831^15.04506152^0.077454707
+"DATA",22713,8,"D",23,0)
+98.99^M^-1.405713355^15.30285949^0.077774507
+"DATA",22713,8,"D",24,0)
+99.99^M^-1.509717075^15.56494815^0.078113436
+"DATA",22713,8,"D",25,0)
+100.99^M^-1.622491233^15.83152429^0.078467542
+"DATA",22713,8,"D",26,0)
+101.99^M^-1.743825743^16.10277448^0.078832409
+"DATA",22713,8,"D",27,0)
+102.99^M^-1.873365511^16.37887678^0.079203258
+"DATA",22713,8,"D",28,0)
+103.99^M^-2.010641647^16.65999867^0.079574978
+"DATA",22713,8,"D",29,0)
+104.99^M^-2.154957918^16.94630912^0.079942558
+"DATA",22713,8,"D",30,0)
+105.99^M^-2.305458316^17.23797444^0.08030117
+"DATA",22713,8,"D",31,0)
+106.99^M^-2.461019713^17.53517134^0.080646757
+"DATA",22713,8,"D",32,0)
+107.99^M^-2.62033059^17.83808212^0.080976208
+"DATA",22713,8,"D",33,0)
+108.99^M^-2.781787762^18.14690821^0.0812881
+"DATA",22713,8,"D",34,0)
+109.99^M^-2.943638944^18.46185811^0.081582687
+"DATA",22713,8,"D",35,0)
+110.99^M^-3.103888502^18.78315936^0.081862656
+"DATA",22713,8,"D",36,0)
+111.99^M^-3.260482798^19.11103983^0.082132791
+"DATA",22713,8,"D",37,0)
+112.99^M^-3.411305599^19.44572803^0.082400213
+"DATA",22713,8,"D",38,0)
+113.99^M^-3.554288672^19.78744004^0.082674023
+"DATA",22713,8,"D",39,0)
+114.99^M^-3.687600863^20.13635563^0.082964333
+"DATA",22713,8,"D",40,0)
+115.99^M^-3.809599339^20.49262111^0.083282267
+"DATA",22713,8,"D",41,0)
+116.99^M^-3.919005213^20.85632542^0.083638758
+"DATA",22713,8,"D",42,0)
+117.99^M^-4.014882272^21.2274989^0.084044246
+"DATA",22713,8,"D",43,0)
+118.99^M^-4.096683061^21.60610366^0.084508001
+"DATA",22713,8,"D",44,0)
+119.99^M^-4.164160421^21.9920407^0.085038256
+"DATA",22713,8,"D",45,0)
+120.99^M^-4.217425718^22.3851382^0.085641503
+"DATA",22713,8,"D",46,0)
+121.99^M^-4.256802224^22.78516628^0.086323118
+"DATA",22713,8,"D",47,0)
+77^F^-0.957840869^10.08653219^0.081713853
+"DATA",22713,8,"D",48,0)
+77.99^F^-0.935908436^10.19868351^0.081394448
+"DATA",22713,8,"D",49,0)
+78.99^F^-0.89621042^10.42217324^0.080780644
+"DATA",22713,8,"D",50,0)
+79.99^F^-0.863423474^10.64473659^0.080208403
+"DATA",22713,8,"D",51,0)
+80.99^F^-0.839250279^10.86657146^0.079687207
+"DATA",22713,8,"D",52,0)
+81.99^F^-0.825395013^11.08788714^0.079225952
+"DATA",22713,8,"D",53,0)
+82.99^F^-0.823487667^11.30890397^0.078832728
+"DATA",22713,8,"D",54,0)
+83.99^F^-0.834997067^11.52985331^0.078514592
+"DATA",22713,8,"D",55,0)
+84.99^F^-0.861125495^11.75097872^0.078277372
+"DATA",22713,8,"D",56,0)
+85.99^F^-0.90275588^11.97253416^0.078125431
+"DATA",22713,8,"D",57,0)
+86.99^F^-0.960308955^12.19478883^0.078061602
+"DATA",22713,8,"D",58,0)
+87.99^F^-1.033704489^12.41802682^0.078087089
+"DATA",22713,8,"D",59,0)
+88.99^F^-1.122303405^12.64254963^0.078201515
+"DATA",22713,8,"D",60,0)
+89.99^F^-1.224887418^12.86867851^0.07840306
+"DATA",22713,8,"D",61,0)
+90.99^F^-1.339655646^13.09675786^0.078688751
+"DATA",22713,8,"D",62,0)
+91.99^F^-1.464342037^13.32715202^0.079054697
+"DATA",22713,8,"D",63,0)
+92.99^F^-1.596224732^13.56025156^0.079496621
+"DATA",22713,8,"D",64,0)
+93.99^F^-1.732305592^13.79646793^0.080010179
+"DATA",22713,8,"D",65,0)
+94.99^F^-1.869440665^14.03623165^0.080591346
+"DATA",22713,8,"D",66,0)
+95.99^F^-2.004558693^14.27998232^0.081236502
+"DATA",22713,8,"D",67,0)
+96.99^F^-2.134764169^14.5281658^0.08194262
+"DATA",22713,8,"D",68,0)
+97.99^F^-2.257524917^14.78122196^0.082707038
+"DATA",22713,8,"D",69,0)
+98.99^F^-2.370762249^15.03957746^0.083527227
+"DATA",22713,8,"D",70,0)
+99.99^F^-2.472965302^15.30363303^0.084400264
+"DATA",22713,8,"D",71,0)
+100.99^F^-2.563140425^15.5737634^0.085322654
+"DATA",22713,8,"D",72,0)
+101.99^F^-2.640873937^15.8503043^0.086289668
+"DATA",22713,8,"D",73,0)
+102.99^F^-2.706178899^16.1335593^0.087295416
+"DATA",22713,8,"D",74,0)
+103.99^F^-2.759500412^16.42379037^0.088332358
+"DATA",22713,8,"D",75,0)
+104.99^F^-2.801578893^16.72122308^0.089391426
+"DATA",22713,8,"D",76,0)
+105.99^F^-2.833376069^17.02604617^0.090461996
+"DATA",22713,8,"D",77,0)
+106.99^F^-2.855987198^17.33841369^0.09153201
+"DATA",22713,8,"D",78,0)
+107.99^F^-2.870584724^17.65844486^0.092588053
+"DATA",22713,8,"D",79,0)
+108.99^F^-2.878341197^17.98622785^0.093615622
+"DATA",22713,8,"D",80,0)
+109.99^F^-2.880404823^18.32181829^0.094599184
+"DATA",22713,8,"D",81,0)
+110.99^F^-2.877853767^18.66524194^0.095522442
+"DATA",22713,8,"D",82,0)
+111.99^F^-2.871676584^19.01649457^0.096368448
+"DATA",22713,8,"D",83,0)
+112.99^F^-2.86277466^19.37553957^0.097119646
+"DATA",22713,8,"D",84,0)
+113.99^F^-2.851915004^19.74231348^0.097758211
+"DATA",22713,8,"D",85,0)
+114.99^F^-2.839760032^20.11672014^0.098265916
+"DATA",22713,8,"D",86,0)
+115.99^F^-2.826824189^20.4986363^0.098624434
+"DATA",22713,8,"D",87,0)
+116.99^F^-2.813480089^20.88790914^0.09881529
+"DATA",22713,8,"D",88,0)
+117.99^F^-2.799924586^21.28435965^0.09882
+"DATA",22713,8,"D",89,0)
+118.99^F^-2.786142221^21.6877854^0.098620143
+"DATA",22713,8,"D",90,0)
+119.99^F^-2.771843402^22.09796571^0.098197431
+"DATA",22713,8,"D",91,0)
+120.99^F^-2.756365595^22.51466977^0.097533789
+"DATA",22713,8,"D",92,0)
+121.99^F^-2.738514883^22.93766971^0.09661143
+"FIA",101.24)
+OE/RR REPORT
+"FIA",101.24,0)
+^ORD(101.24,
+"FIA",101.24,0,0)
+101.24I
+"FIA",101.24,0,1)
+y^y^f^^n^TMG REPORTS^y^o^n
+"FIA",101.24,0,10)
+
+"FIA",101.24,0,11)
+
+"FIA",101.24,0,"RLRO")
+^DIBT(936,1)
+"FIA",101.24,0,"VR")
+1.0^TMG
+"FIA",101.24,101.24)
+0
+"FIA",101.24,101.241)
+0
+"FIA",101.24,101.243)
+0
+"FIA",8925.1)
+TIU DOCUMENT DEFINITION
+"FIA",8925.1,0)
+^TIU(8925.1,
+"FIA",8925.1,0,0)
+8925.1I
+"FIA",8925.1,0,1)
+n^y^f^^n^TMG OBJECTS^y^o^n
+"FIA",8925.1,0,10)
+
+"FIA",8925.1,0,11)
+
+"FIA",8925.1,0,"RLRO")
+^DIBT(935,1)
+"FIA",8925.1,0,"VR")
+1.0^TMG
+"FIA",8925.1,8925.1)
+0
+"FIA",8925.1,8925.11)
+0
+"FIA",8925.1,8925.111)
+0
+"FIA",8925.1,8925.112)
+0
+"FIA",8925.1,8925.113)
+0
+"FIA",8925.1,8925.114)
+0
+"FIA",8925.1,8925.12)
+0
+"FIA",8925.1,8925.13)
+0
+"FIA",8925.1,8925.14)
+0
+"FIA",22713)
+TMG GROWTH CHARTS DATA
+"FIA",22713,0)
+^TMG(22713,
+"FIA",22713,0,0)
+22713
+"FIA",22713,0,1)
+y^y^f^^n^TMG GC^y^o^n
+"FIA",22713,0,10)
+
+"FIA",22713,0,11)
+
+"FIA",22713,0,"RLRO")
+^DIBT(937,1)
+"FIA",22713,0,"VR")
+1.0^TMG
+"FIA",22713,22713)
+0
+"FIA",22713,22713.02)
+0
+"INIT")
+ADDRPT^TMGGRC2
+"MBREQ")
+0
+"PKG",212,-1)
+1^1
+"PKG",212,0)
+FP OF GREENEVILLE (TMG)^TMG^Private site Family Physicians of Greeneville, PC
+"PKG",212,20,0)
+^9.402P^^
+"PKG",212,22,0)
+^9.49I^1^1
+"PKG",212,22,1,0)
+1.0^3080304
+"PKG",212,22,1,"PAH",1,0)
+17^3120803
+"PKG",212,22,1,"PAH",1,1,0)
+^^6^6^3120803
+"PKG",212,22,1,"PAH",1,1,1,0)
+This patch provides reports that can display graphically
+"PKG",212,22,1,"PAH",1,1,2,0)
+in unmodified CPRS.
+"PKG",212,22,1,"PAH",1,1,3,0)
+
+"PKG",212,22,1,"PAH",1,1,4,0)
+The reports are pediatric growth charts.
+"PKG",212,22,1,"PAH",1,1,5,0)
+
+"PKG",212,22,1,"PAH",1,1,6,0)
+It also includes text objects and text tables.
+"QUES","XPF1",0)
+Y
+"QUES","XPF1","??")
+^D REP^XPDH
+"QUES","XPF1","A")
+Shall I write over your |FLAG| File
+"QUES","XPF1","B")
+YES
+"QUES","XPF1","M")
+D XPF1^XPDIQ
+"QUES","XPF2",0)
+Y
+"QUES","XPF2","??")
+^D DTA^XPDH
+"QUES","XPF2","A")
+Want my data |FLAG| yours
+"QUES","XPF2","B")
+YES
+"QUES","XPF2","M")
+D XPF2^XPDIQ
+"QUES","XPI1",0)
+YO
+"QUES","XPI1","??")
+^D INHIBIT^XPDH
+"QUES","XPI1","A")
+Want KIDS to INHIBIT LOGONs during the install
+"QUES","XPI1","B")
+NO
+"QUES","XPI1","M")
+D XPI1^XPDIQ
+"QUES","XPM1",0)
+PO^VA(200,:EM
+"QUES","XPM1","??")
+^D MG^XPDH
+"QUES","XPM1","A")
+Enter the Coordinator for Mail Group '|FLAG|'
+"QUES","XPM1","B")
+
+"QUES","XPM1","M")
+D XPM1^XPDIQ
+"QUES","XPO1",0)
+Y
+"QUES","XPO1","??")
+^D MENU^XPDH
+"QUES","XPO1","A")
+Want KIDS to Rebuild Menu Trees Upon Completion of Install
+"QUES","XPO1","B")
+NO
+"QUES","XPO1","M")
+D XPO1^XPDIQ
+"QUES","XPZ1",0)
+Y
+"QUES","XPZ1","??")
+^D OPT^XPDH
+"QUES","XPZ1","A")
+Want to DISABLE Scheduled Options, Menu Options, and Protocols
+"QUES","XPZ1","B")
+NO
+"QUES","XPZ1","M")
+D XPZ1^XPDIQ
+"QUES","XPZ2",0)
+Y
+"QUES","XPZ2","??")
+^D RTN^XPDH
+"QUES","XPZ2","A")
+Want to MOVE routines to other CPUs
+"QUES","XPZ2","B")
+NO
+"QUES","XPZ2","M")
+D XPZ2^XPDIQ
+"RTN")
+22
+"RTN","TMGDEBU2")
+0^11^B16539573
+"RTN","TMGDEBU2",1,0)
+TMGDEBU2 ;TMG/kst/SACC-compliant Debug utilities ;07/17/12
+"RTN","TMGDEBU2",2,0)
+         ;;1.0;TMG-LIB;**1,17**;07/17/12;Build 23
+"RTN","TMGDEBU2",3,0)
+ ;
+"RTN","TMGDEBU2",4,0)
+ ;"TMG DEBUG UTILITIES
+"RTN","TMGDEBU2",5,0)
+ ;"SACC compliant versions of TMGDEBUG
+"RTN","TMGDEBU2",6,0)
+ ;"Kevin Toppenberg MD
+"RTN","TMGDEBU2",7,0)
+ ;"GNU General Public License (GPL) applies
+"RTN","TMGDEBU2",8,0)
+ ;"7-17-2012
+"RTN","TMGDEBU2",9,0)
+ ;
+"RTN","TMGDEBU2",10,0)
+ ;"NOTE: This will contain SACC-compliant versions of code from TMGDEBUG
+"RTN","TMGDEBU2",11,0)
+ ;"      If routine is not found here, the please migrate and update the
+"RTN","TMGDEBU2",12,0)
+ ;"      code to be compliant.
+"RTN","TMGDEBU2",13,0)
+ ;"=======================================================================
+"RTN","TMGDEBU2",14,0)
+ ;" API -- Public Functions.
+"RTN","TMGDEBU2",15,0)
+ ;"=======================================================================
+"RTN","TMGDEBU2",16,0)
+ ;"SHOWERR(PRIORERRORFOUND,ERROR) -- Output an error message
+"RTN","TMGDEBU2",17,0)
+ ;"GETERRST(ERRARRAY) --Convert a standard DIERR array into a string for output
+"RTN","TMGDEBU2",18,0)
+ ;"SHOWDIER(ERRMSG,PRIORERRORFOUND) --A standard output mechanism for the fileman DIERR message
+"RTN","TMGDEBU2",19,0)
+ ;
+"RTN","TMGDEBU2",20,0)
+ ;"=======================================================================
+"RTN","TMGDEBU2",21,0)
+ ;"Private API functions
+"RTN","TMGDEBU2",22,0)
+ ;"=======================================================================
+"RTN","TMGDEBU2",23,0)
+ ;"
+"RTN","TMGDEBU2",24,0)
+ ;"=======================================================================
+"RTN","TMGDEBU2",25,0)
+ ;"DEPENDENCIES: TMGUSRI2
+"RTN","TMGDEBU2",26,0)
+ ;"=======================================================================
+"RTN","TMGDEBU2",27,0)
+ ;
+"RTN","TMGDEBU2",28,0)
+SHOWERR(PRIORERRORFOUND,ERROR) ;
+"RTN","TMGDEBU2",29,0)
+        ;"Purpose: to output an error message
+"RTN","TMGDEBU2",30,0)
+        ;"Input: [OPTIONAL] PRIORERRORFOUND -- var to see if an error already shown.
+"RTN","TMGDEBU2",31,0)
+        ;"                if not passed, then default value used ('no prior error')
+"RTN","TMGDEBU2",32,0)
+        ;"        Error -- a string to display
+"RTN","TMGDEBU2",33,0)
+        ;"results: none
+"RTN","TMGDEBU2",34,0)
+        ;
+"RTN","TMGDEBU2",35,0)
+        DO POPUPBOX^TMGUSRI2("<!> ERROR . . .",ERROR)
+"RTN","TMGDEBU2",36,0)
+        SET PRIORERRORFOUND=1
+"RTN","TMGDEBU2",37,0)
+        QUIT
+"RTN","TMGDEBU2",38,0)
+        ;
+"RTN","TMGDEBU2",39,0)
+GETERRST(ERRARRAY) ;
+"RTN","TMGDEBU2",40,0)
+        ;"Purpose: convert a standard DIERR array into a string for output
+"RTN","TMGDEBU2",41,0)
+        ;"Input: ERRARRAY -- PASS BY REFERENCE.  example:
+"RTN","TMGDEBU2",42,0)
+        ;"      array("DIERR")="1^1"
+"RTN","TMGDEBU2",43,0)
+        ;"      array("DIERR",1)=311
+"RTN","TMGDEBU2",44,0)
+        ;"      array("DIERR",1,"PARAM",0)=3
+"RTN","TMGDEBU2",45,0)
+        ;"      array("DIERR",1,"PARAM","FIELD")=.02
+"RTN","TMGDEBU2",46,0)
+        ;"      array("DIERR",1,"PARAM","FILE")=2
+"RTN","TMGDEBU2",47,0)
+        ;"      array("DIERR",1,"PARAM","IENS")="+1,"
+"RTN","TMGDEBU2",48,0)
+        ;"      array("DIERR",1,"TEXT",1)="The new record '+1,' lacks some required identifiers."
+"RTN","TMGDEBU2",49,0)
+        ;"      array("DIERR","E",311,1)=""
+"RTN","TMGDEBU2",50,0)
+        ;"Results: returns one long equivalent string from above array.
+"RTN","TMGDEBU2",51,0)
+        ;
+"RTN","TMGDEBU2",52,0)
+        NEW TMGERRSTR,TMGIDX,TMGERRNUM
+"RTN","TMGDEBU2",53,0)
+        ;
+"RTN","TMGDEBU2",54,0)
+        SET TMGERRSTR=""
+"RTN","TMGDEBU2",55,0)
+        FOR TMGERRNUM=1:1:+$GET(ERRARRAY("DIERR")) DO
+"RTN","TMGDEBU2",56,0)
+        . SET TMGERRSTR=TMGERRSTR_"Fileman says: '"
+"RTN","TMGDEBU2",57,0)
+        . IF TMGERRNUM'=1 SET TMGERRSTR=TMGERRSTR_"(Error# "_TMGERRNUM_") "
+"RTN","TMGDEBU2",58,0)
+        . SET TMGIDX=$ORDER(ERRARRAY("DIERR",TMGERRNUM,"TEXT",""))
+"RTN","TMGDEBU2",59,0)
+        . IF TMGIDX'="" FOR  DO  QUIT:(TMGIDX="")
+"RTN","TMGDEBU2",60,0)
+        . . SET TMGERRSTR=TMGERRSTR_$GET(ERRARRAY("DIERR",TMGERRNUM,"TEXT",TMGIDX))_" "
+"RTN","TMGDEBU2",61,0)
+        . . SET TMGIDX=$ORDER(ERRARRAY("DIERR",TMGERRNUM,"TEXT",TMGIDX))
+"RTN","TMGDEBU2",62,0)
+        . IF $GET(ERRARRAY("DIERR",TMGERRNUM,"PARAM",0))>0 DO
+"RTN","TMGDEBU2",63,0)
+        . . SET TMGIDX=$ORDER(ERRARRAY("DIERR",TMGERRNUM,"PARAM",0))
+"RTN","TMGDEBU2",64,0)
+        . . SET TMGERRSTR=TMGERRSTR_"Details: "
+"RTN","TMGDEBU2",65,0)
+        . . FOR  DO  QUIT:(TMGIDX="")
+"RTN","TMGDEBU2",66,0)
+        . . . IF TMGIDX="" QUIT
+"RTN","TMGDEBU2",67,0)
+        . . . SET TMGERRSTR=TMGERRSTR_"["_TMGIDX_"]="_$GET(ERRARRAY("DIERR",1,"PARAM",TMGIDX))_"  "
+"RTN","TMGDEBU2",68,0)
+        . . . SET TMGIDX=$ORDER(ERRARRAY("DIERR",TMGERRNUM,"PARAM",TMGIDX))
+"RTN","TMGDEBU2",69,0)
+        ;
+"RTN","TMGDEBU2",70,0)
+        QUIT TMGERRSTR
+"RTN","TMGDEBU2",71,0)
+        ;
+"RTN","TMGDEBU2",72,0)
+SHOWDIER(ERRMSG,PRIORERRORFOUND) ;
+"RTN","TMGDEBU2",73,0)
+        ;"Purpose: To provide a standard output mechanism for the fileman DIERR message
+"RTN","TMGDEBU2",74,0)
+        ;"Input:   ERRMSG -- PASS BY REFERENCE.  a standard error message array, as
+"RTN","TMGDEBU2",75,0)
+        ;"                   put out by fileman calls
+"RTN","TMGDEBU2",76,0)
+        ;"         PRIORERRORFOUND -- OPTIONAL variable to keep track if prior error found.
+"RTN","TMGDEBU2",77,0)
+        ;"          Note -- can also be used as ErrorFound (i.e. set to 1 if error found)
+"RTN","TMGDEBU2",78,0)
+        ;"Output -- none, displays error to console
+"RTN","TMGDEBU2",79,0)
+        ;"Result -- none
+"RTN","TMGDEBU2",80,0)
+        IF $DATA(ERRMSG("DIERR")) DO
+"RTN","TMGDEBU2",81,0)
+        . NEW TMGERRSTR SET TMGERRSTR=$$GETERRST(.ERRMSG)
+"RTN","TMGDEBU2",82,0)
+        . DO SHOWERR(.PRIORERRORFOUND,.TMGERRSTR)
+"RTN","TMGDEBU2",83,0)
+        QUIT
+"RTN","TMGDEBU2",84,0)
+        ;
+"RTN","TMGGRC1")
+0^5^B221877068
+"RTN","TMGGRC1",1,0)
+TMGGRC1        ;TMG/kst-Work with Growth Chart Data ;10/5/10 ; 5/31/11 
+"RTN","TMGGRC1",2,0)
+         ;;1.0;TMG-LIB;**1,17**;10/5/10;Build 23
+"RTN","TMGGRC1",3,0)
+        ;
+"RTN","TMGGRC1",4,0)
+        ;"Code for working with pediatric growth chart data.
+"RTN","TMGGRC1",5,0)
+        ;"NOTE: Data is stored in custom file 22713
+"RTN","TMGGRC1",6,0)
+        ;"      TMGGRC0 can load in this data
+"RTN","TMGGRC1",7,0)
+        ;"
+"RTN","TMGGRC1",8,0)
+        ;"Kevin Toppenberg MD
+"RTN","TMGGRC1",9,0)
+        ;"(C) 10/5/10
+"RTN","TMGGRC1",10,0)
+        ;"Released under: GNU General Public License (GPL)
+"RTN","TMGGRC1",11,0)
+        ;
+"RTN","TMGGRC1",12,0)
+        ;"=======================================================================
+"RTN","TMGGRC1",13,0)
+        ;" RPC -- Public Functions.
+"RTN","TMGGRC1",14,0)
+        ;"=======================================================================
+"RTN","TMGGRC1",15,0)
+        ;"LENPCTL(AGEYR,GENDER,LEN,NONULL)    -- Return percentile of length FOR age 
+"RTN","TMGGRC1",16,0)
+        ;"HCPCTL(AGEYR,GENDER,HC,NONULL)      -- Return percentile of head circumference for age 
+"RTN","TMGGRC1",17,0)
+        ;"WTPCTL(AGEYR,GENDER,WT,NONULL)      -- Return percentile of weight for age
+"RTN","TMGGRC1",18,0)
+        ;"BMIPCTL(AGEYR,GENDER,BMI,NONULL)    -- Return percentile of BMI FOR age
+"RTN","TMGGRC1",19,0)
+        ;"WTLENPCT(AGEYR,GENDER,WT,LEN,NONULL) - Return percentile of WT, LEN combo
+"RTN","TMGGRC1",20,0)
+        ;"WHHAPCTL(AGEYR,GENDER,LEN,NONULL)   -- Return percentile of WHO height FOR age 
+"RTN","TMGGRC1",21,0)
+        ;"WHHCPCTL(AGEYR,GENDER,HC,NONULL)    -- Return percentile of WHO head circumference for age 
+"RTN","TMGGRC1",22,0)
+        ;"WHWAPCTL(AGEYR,GENDER,WT,NONULL)    -- Return percentile of WHO weight for age
+"RTN","TMGGRC1",23,0)
+        ;"WHBAPCTL(AGEYR,GENDER,BMI,NONULL)   -- Return percentile of WHO BMI FOR age
+"RTN","TMGGRC1",24,0)
+        ;"WHOWLPCT(AGEYR,GENDER,WT,LEN,NONULL)-- Return percentile of WHO WT, LEN combo
+"RTN","TMGGRC1",25,0)
+        ;"WHWSPCTL(AGEYR,GENDER,WT,LEN,NONULL)-- Return percentile of WHO WT,Stature combo
+"RTN","TMGGRC1",26,0)
+        ;"--- 
+"RTN","TMGGRC1",27,0)
+        ;"LENREF(MODE,GENDER,ARRAY,RLINES)    -- Return array with data for %tile curves
+"RTN","TMGGRC1",28,0)
+        ;"HCREF(MODE,GENDER,ARRAY,RLINES)     -- Return array with data for %tile curves
+"RTN","TMGGRC1",29,0)
+        ;"WTREF(MODE,GENDER,ARRAY,RLINES)     -- Return array with data for %tile curves
+"RTN","TMGGRC1",30,0)
+        ;"BMIREF(MODE,GENDER,ARRAY,RLINES)    -- Return array with data for %tile curves
+"RTN","TMGGRC1",31,0)
+        ;"WTLENREF(MODE,GENDER,ARRAY,RLINES)  -- Return array with data for %tile curves
+"RTN","TMGGRC1",32,0)
+        ;"WHBMIREF(MODE,GENDER,ARRAY,RLINES) -- Return array with data for %tile curves
+"RTN","TMGGRC1",33,0)
+        ;"WHHAREF(MODE,GENDER,ARRAY,RLINES)  -- Return array with data for %tile curves
+"RTN","TMGGRC1",34,0)
+        ;"WHWAREF(MODE,GENDER,ARRAY,RLINES)  -- Return array with data for %tile curves
+"RTN","TMGGRC1",35,0)
+        ;"WHHCREF(MODE,GENDER,ARRAY,RLINES)  -- Return array with data for %tile curves
+"RTN","TMGGRC1",36,0)
+        ;"WHWLREF(MODE,GENDER,ARRAY,RLINES)  -- Return array with data for %tile curves
+"RTN","TMGGRC1",37,0)
+        ;"WHWSREF(MODE,GENDER,ARRAY,RLINES)  -- Return array with data for %tile curves
+"RTN","TMGGRC1",38,0)
+        ;"=======================================================================
+"RTN","TMGGRC1",39,0)
+        ;"PRIVATE API FUNCTIONS
+"RTN","TMGGRC1",40,0)
+        ;"=======================================================================
+"RTN","TMGGRC1",41,0)
+        ;"COMMON(GRAPH,YVAL,XVAL,GENDER,NONULL) -- common lookup for all graphs
+"RTN","TMGGRC1",42,0)
+        ;"COMMNREF(MODE,GENDER,GRAPH,ARRAY,RLINES) -- Return array filled with data for percentile curves
+"RTN","TMGGRC1",43,0)
+        ;"=======================================================================
+"RTN","TMGGRC1",44,0)
+        ;"DEPENDENCIES: TMGGRC1, TMGGRC0, TMGGRCU, XLFSTR, DIC 
+"RTN","TMGGRC1",45,0)
+        ;"=======================================================================
+"RTN","TMGGRC1",46,0)
+        ;
+"RTN","TMGGRC1",47,0)
+LENPCTL(AGEYR,GENDER,LEN,NONULL)        ;
+"RTN","TMGGRC1",48,0)
+        ;"Purpose: Return percentile of length for age 
+"RTN","TMGGRC1",49,0)
+        ;"Input: AGEYR: age in *Years*
+"RTN","TMGGRC1",50,0)
+        ;"       GENDER: should be M or F
+"RTN","TMGGRC1",51,0)
+        ;"       LEN: stature or recumbent length in *Cm*
+"RTN","TMGGRC1",52,0)
+        ;"       NONNULL: OPTIONAL, default=0.  If 1 then 'N/A' is returned instead of ''
+"RTN","TMGGRC1",53,0)
+        ;"Results: e.g. 54th %tile, or "" IF invalid.  If NONNULL=1, then return 'N/A'
+"RTN","TMGGRC1",54,0)
+        NEW GRAPH,RESULT
+"RTN","TMGGRC1",55,0)
+        IF (+$GET(AGEYR)*12)<24 SET GRAPH="LENGTH BY AGE -- INFANT"
+"RTN","TMGGRC1",56,0)
+        ELSE  SET GRAPH="STATURE BY AGE"
+"RTN","TMGGRC1",57,0)
+        NEW MONTHS SET MONTHS=+$GET(AGEYR)*12
+"RTN","TMGGRC1",58,0)
+        SET RESULT=$$COMMON(GRAPH,.LEN,.MONTHS,.GENDER,.NONULL) ;
+"RTN","TMGGRC1",59,0)
+        QUIT RESULT
+"RTN","TMGGRC1",60,0)
+        ;        
+"RTN","TMGGRC1",61,0)
+HCPCTL(AGEYR,GENDER,HC,NONULL)        ;
+"RTN","TMGGRC1",62,0)
+        ;"Purpose: Return percentile of head circumference for age 
+"RTN","TMGGRC1",63,0)
+        ;"Input: AGEYR: age in *Years*
+"RTN","TMGGRC1",64,0)
+        ;"       GENDER: should be M or F
+"RTN","TMGGRC1",65,0)
+        ;"       HC: Head circumference in *Cm*
+"RTN","TMGGRC1",66,0)
+        ;"       NONNULL: OPTIONAL, default=0.  If 1 then 'N/A' is returned instead of ''
+"RTN","TMGGRC1",67,0)
+        ;"Results: e.g. 54th %tile, or "" IF invalid.  If NONNULL=1, then return 'N/A'
+"RTN","TMGGRC1",68,0)
+        NEW MONTHS SET MONTHS=+$GET(AGEYR)*12
+"RTN","TMGGRC1",69,0)
+        NEW RESULT
+"RTN","TMGGRC1",70,0)
+        SET RESULT=$$COMMON("HEAD CIRC BY AGE -- INFANT",.HC,.MONTHS,.GENDER,.NONULL) ;
+"RTN","TMGGRC1",71,0)
+        QUIT RESULT
+"RTN","TMGGRC1",72,0)
+        ;
+"RTN","TMGGRC1",73,0)
+WTPCTL(AGEYR,GENDER,WT,NONULL)        ;
+"RTN","TMGGRC1",74,0)
+        ;"Purpose: Return percentile of weight for age
+"RTN","TMGGRC1",75,0)
+        ;"Input: AGEYR: age in *Years*
+"RTN","TMGGRC1",76,0)
+        ;"       GENDER: should be M or F
+"RTN","TMGGRC1",77,0)
+        ;"       WT: weight in *Kg* 
+"RTN","TMGGRC1",78,0)
+        ;"       NONNULL: OPTIONAL, default=0.  If 1 then 'N/A' is returned instead of ''
+"RTN","TMGGRC1",79,0)
+        ;"Results: e.g. 54th %tile, or "" IF invalid.  If NONNULL=1, then return 'N/A'
+"RTN","TMGGRC1",80,0)
+        NEW GRAPH,RESULT
+"RTN","TMGGRC1",81,0)
+        IF (+$GET(AGEYR)*12)<24 SET GRAPH="WEIGHT BY AGE -- INFANT"
+"RTN","TMGGRC1",82,0)
+        ELSE  SET GRAPH="WEIGHT BY AGE"
+"RTN","TMGGRC1",83,0)
+        NEW MONTHS SET MONTHS=+$GET(AGEYR)*12
+"RTN","TMGGRC1",84,0)
+        SET RESULT=$$COMMON(GRAPH,.WT,.MONTHS,.GENDER,.NONULL) ;
+"RTN","TMGGRC1",85,0)
+        QUIT RESULT
+"RTN","TMGGRC1",86,0)
+        ;
+"RTN","TMGGRC1",87,0)
+BMIPCTL(AGEYR,GENDER,BMI,NONULL)        ;
+"RTN","TMGGRC1",88,0)
+        ;"Purpose: Return percentile of BMI FOR age
+"RTN","TMGGRC1",89,0)
+        ;"Input: AGEYR: age in *Years*
+"RTN","TMGGRC1",90,0)
+        ;"       GENDER: should be M or F
+"RTN","TMGGRC1",91,0)
+        ;"       BMI: weight in Kg/M**2 
+"RTN","TMGGRC1",92,0)
+        ;"       NONNULL: OPTIONAL, default=0.  If 1 then 'N/A' is returned instead of ''
+"RTN","TMGGRC1",93,0)
+        NEW MONTHS SET MONTHS=+$GET(AGEYR)*12
+"RTN","TMGGRC1",94,0)
+        NEW RESULT
+"RTN","TMGGRC1",95,0)
+ IF MONTHS<24 SET MONTHS=24 ;"CATCH VALUES BELOW 24 (e.g. 23.998)
+"RTN","TMGGRC1",96,0)
+        SET RESULT=$$COMMON("BMI BY AGE",.BMI,.MONTHS,.GENDER,.NONULL) ;
+"RTN","TMGGRC1",97,0)
+        QUIT RESULT
+"RTN","TMGGRC1",98,0)
+        ;
+"RTN","TMGGRC1",99,0)
+WTLENPCT(AGEYR,GENDER,WT,LEN,NONULL)        ;
+"RTN","TMGGRC1",100,0)
+        ;"Purpose: Return percentile of WT, LEN combo
+"RTN","TMGGRC1",101,0)
+        ;"Input: AGEYR: age in *Years*
+"RTN","TMGGRC1",102,0)
+        ;"       GENDER: should be M or F
+"RTN","TMGGRC1",103,0)
+        ;"       WT: weight in Kg
+"RTN","TMGGRC1",104,0)
+        ;"       LEN: stature or recumbent length in *Cm*
+"RTN","TMGGRC1",105,0)
+        ;"       NONNULL: OPTIONAL, default=0.  If 1 then 'N/A' is returned instead of ''
+"RTN","TMGGRC1",106,0)
+        ;"Results: e.g. 54th %tile, or "" IF invalid.  If NONNULL=1, then return 'N/A'
+"RTN","TMGGRC1",107,0)
+        NEW GRAPH,RESULT
+"RTN","TMGGRC1",108,0)
+        IF ((+$GET(AGEYR)*12)<12)!(LEN<77)  DO
+"RTN","TMGGRC1",109,0)
+        . SET GRAPH="WEIGHT FOR LENGTH -- INFANT"
+"RTN","TMGGRC1",110,0)
+        ELSE  DO
+"RTN","TMGGRC1",111,0)
+        . SET GRAPH="WEIGHT FOR STATURE"
+"RTN","TMGGRC1",112,0)
+        SET RESULT=$$COMMON(GRAPH,.WT,.LEN,.GENDER,.NONULL) ;
+"RTN","TMGGRC1",113,0)
+        QUIT RESULT
+"RTN","TMGGRC1",114,0)
+        ;        
+"RTN","TMGGRC1",115,0)
+WHHAPCTL(AGEYR,GENDER,LEN,NONULL)          ;
+"RTN","TMGGRC1",116,0)
+        ;"Purpose: Return percentile of WHO length for age 
+"RTN","TMGGRC1",117,0)
+        ;"Input: AGEYR: age in *Years*
+"RTN","TMGGRC1",118,0)
+        ;"       GENDER: should be M or F
+"RTN","TMGGRC1",119,0)
+        ;"       LEN: stature or recumbent length in *Cm*
+"RTN","TMGGRC1",120,0)
+        ;"       NONNULL: OPTIONAL, default=0.  If 1 then 'N/A' is returned instead of ''
+"RTN","TMGGRC1",121,0)
+        ;"Results: e.g. 54th %tile, or "" IF invalid.  If NONNULL=1, then return 'N/A'
+"RTN","TMGGRC1",122,0)
+        NEW RESULT
+"RTN","TMGGRC1",123,0)
+        NEW MONTHS SET MONTHS=+$GET(AGEYR)*12
+"RTN","TMGGRC1",124,0)
+        SET RESULT=$$COMMON("WHO-HEIGHT BY AGE",.LEN,.MONTHS,.GENDER,.NONULL) ;
+"RTN","TMGGRC1",125,0)
+        QUIT RESULT
+"RTN","TMGGRC1",126,0)
+        ;        
+"RTN","TMGGRC1",127,0)
+WHHCPCTL(AGEYR,GENDER,HC,NONULL)          ;
+"RTN","TMGGRC1",128,0)
+        ;"Purpose: Return percentile of WHO head circumference for age 
+"RTN","TMGGRC1",129,0)
+        ;"Input: AGEYR: age in *Years*
+"RTN","TMGGRC1",130,0)
+        ;"       GENDER: should be M or F
+"RTN","TMGGRC1",131,0)
+        ;"       HC: Head circumference in *Cm*
+"RTN","TMGGRC1",132,0)
+        ;"       NONNULL: OPTIONAL, default=0.  If 1 then 'N/A' is returned instead of ''
+"RTN","TMGGRC1",133,0)
+        ;"Results: e.g. 54th %tile, or "" IF invalid.  If NONNULL=1, then return 'N/A'
+"RTN","TMGGRC1",134,0)
+        NEW MONTHS SET MONTHS=+$GET(AGEYR)*12
+"RTN","TMGGRC1",135,0)
+        NEW RESULT
+"RTN","TMGGRC1",136,0)
+        SET RESULT=$$COMMON("WHO-HEAD CIRC BY AGE",.HC,.MONTHS,.GENDER,.NONULL) ;
+"RTN","TMGGRC1",137,0)
+        QUIT RESULT
+"RTN","TMGGRC1",138,0)
+        ;
+"RTN","TMGGRC1",139,0)
+WHWAPCTL(AGEYR,GENDER,WT,NONULL)          ;
+"RTN","TMGGRC1",140,0)
+        ;"Purpose: Return percentile of WHO weight for age
+"RTN","TMGGRC1",141,0)
+        ;"Input: AGEYR: age in *Years*
+"RTN","TMGGRC1",142,0)
+        ;"       GENDER: should be M or F
+"RTN","TMGGRC1",143,0)
+        ;"       WT: weight in *Kg* 
+"RTN","TMGGRC1",144,0)
+        ;"       NONNULL: OPTIONAL, default=0.  If 1 then 'N/A' is returned instead of ''
+"RTN","TMGGRC1",145,0)
+        ;"Results: e.g. 54th %tile, or "" IF invalid.  If NONNULL=1, then return 'N/A'
+"RTN","TMGGRC1",146,0)
+        NEW RESULT
+"RTN","TMGGRC1",147,0)
+        NEW MONTHS SET MONTHS=+$GET(AGEYR)*12
+"RTN","TMGGRC1",148,0)
+        SET RESULT=$$COMMON("WHO-WEIGHT BY AGE",.WT,.MONTHS,.GENDER,.NONULL) ;
+"RTN","TMGGRC1",149,0)
+        QUIT RESULT
+"RTN","TMGGRC1",150,0)
+        ;
+"RTN","TMGGRC1",151,0)
+WHBAPCTL(AGEYR,GENDER,BMI,NONULL)  ;
+"RTN","TMGGRC1",152,0)
+        ;"Purpose: Return percentile of WHO BMI FOR age
+"RTN","TMGGRC1",153,0)
+        ;"Input: AGEYR: age in *Years*
+"RTN","TMGGRC1",154,0)
+        ;"       GENDER: should be M or F
+"RTN","TMGGRC1",155,0)
+        ;"       BMI: weight in Kg/M**2 
+"RTN","TMGGRC1",156,0)
+        ;"       NONNULL: OPTIONAL, default=0.  If 1 then 'N/A' is returned instead of ''
+"RTN","TMGGRC1",157,0)
+        NEW MONTHS SET MONTHS=+$GET(AGEYR)*12
+"RTN","TMGGRC1",158,0)
+        NEW RESULT
+"RTN","TMGGRC1",159,0)
+        SET RESULT=$$COMMON("WHO-BMI BY AGE",.BMI,.MONTHS,.GENDER,.NONULL) ;
+"RTN","TMGGRC1",160,0)
+        QUIT RESULT
+"RTN","TMGGRC1",161,0)
+        ;
+"RTN","TMGGRC1",162,0)
+WHWLPCTL(AGEYR,GENDER,WT,LEN,NONULL)         ;
+"RTN","TMGGRC1",163,0)
+        ;"Purpose: Return percentile of WHO WT, LEN combo
+"RTN","TMGGRC1",164,0)
+        ;"Input: AGEYR: age in *Years*
+"RTN","TMGGRC1",165,0)
+        ;"       GENDER: should be M or F
+"RTN","TMGGRC1",166,0)
+        ;"       WT: weight in Kg
+"RTN","TMGGRC1",167,0)
+        ;"       LEN: stature or recumbent length in *Cm*
+"RTN","TMGGRC1",168,0)
+        ;"       NONNULL: OPTIONAL, default=0.  If 1 then 'N/A' is returned instead of ''
+"RTN","TMGGRC1",169,0)
+        ;"Results: e.g. 54th %tile, or "" IF invalid.  If NONNULL=1, then return 'N/A'
+"RTN","TMGGRC1",170,0)
+        NEW RESULT
+"RTN","TMGGRC1",171,0)
+        SET RESULT=$$COMMON("WHO-WEIGHT FOR LENGTH",.WT,.LEN,.GENDER,.NONULL) ;
+"RTN","TMGGRC1",172,0)
+        QUIT RESULT
+"RTN","TMGGRC1",173,0)
+        ;
+"RTN","TMGGRC1",174,0)
+WHWSPCTL(AGEYR,GENDER,WT,LEN,NONULL)         ;
+"RTN","TMGGRC1",175,0)
+        ;"Purpose: Return percentile of WHO WT, STATURE combo
+"RTN","TMGGRC1",176,0)
+        ;"Input: AGEYR: age in *Years*
+"RTN","TMGGRC1",177,0)
+        ;"       GENDER: should be M or F
+"RTN","TMGGRC1",178,0)
+        ;"       WT: weight in Kg
+"RTN","TMGGRC1",179,0)
+        ;"       LEN: stature or recumbent length in *Cm*
+"RTN","TMGGRC1",180,0)
+        ;"       NONNULL: OPTIONAL, default=0.  If 1 then 'N/A' is returned instead of ''
+"RTN","TMGGRC1",181,0)
+        ;"Results: e.g. 54th %tile, or "" IF invalid.  If NONNULL=1, then return 'N/A'
+"RTN","TMGGRC1",182,0)
+        NEW RESULT
+"RTN","TMGGRC1",183,0)
+        SET RESULT=$$COMMON("WHO-WEIGHT FOR STATURE",.WT,.LEN,.GENDER,.NONULL) ;
+"RTN","TMGGRC1",184,0)
+        QUIT RESULT
+"RTN","TMGGRC1",185,0)
+        ;
+"RTN","TMGGRC1",186,0)
+COMMON(GRAPH,YVAL,XVAL,GENDER,NONULL)        ;
+"RTN","TMGGRC1",187,0)
+        ;"Purpose: common lookup for all graphs
+"RTN","TMGGRC1",188,0)
+        ;"Input: GRAPH -- The name of the graph to lookup.
+"RTN","TMGGRC1",189,0)
+        ;"       YVAL -- the value to lookup on the graph
+"RTN","TMGGRC1",190,0)
+        ;"       XVAL: Will be: Months or Length
+"RTN","TMGGRC1",191,0)
+        ;"       GENDER: should be M or F
+"RTN","TMGGRC1",192,0)
+        ;"       NONNULL: OPTIONAL, default=0.  If 1 then 'N/A' is returned instead of ''
+"RTN","TMGGRC1",193,0)
+        ;"Results: e.g. 54th %tile, or "" IF invalid.  If NONNULL=1, then return 'N/A'
+"RTN","TMGGRC1",194,0)
+        ;
+"RTN","TMGGRC1",195,0)
+        NEW DIC,X,Y,L,M,S
+"RTN","TMGGRC1",196,0)
+        SET NONULL=$GET(NONULL)
+"RTN","TMGGRC1",197,0)
+        NEW RESULT SET RESULT=$SELECT(+NONULL'=0:"N/A",1:"")  ;"default
+"RTN","TMGGRC1",198,0)
+        IF +$GET(XVAL)=0 GOTO COMQT
+"RTN","TMGGRC1",199,0)
+        SET GENDER=$EXTRACT($$UP^XLFSTR(GENDER),1)
+"RTN","TMGGRC1",200,0)
+        IF (GENDER'="M")&(GENDER'="F") GOTO COMQT
+"RTN","TMGGRC1",201,0)
+        SET YVAL=+$GET(YVAL) IF YVAL=0 GOTO COMQT
+"RTN","TMGGRC1",202,0)
+        SET DIC=22713,DIC(0)="M",X=$GET(GRAPH)
+"RTN","TMGGRC1",203,0)
+        DO ^DIC
+"RTN","TMGGRC1",204,0)
+        IF +Y'>0 GOTO COMQT
+"RTN","TMGGRC1",205,0)
+        ;"IF GRAPH="WHO-WEIGHT FOR LENGTH" SET XVAL=XVAL\1    ;"ELH TEST
+"RTN","TMGGRC1",206,0)
+        IF +$$GETLMS^TMGGRCU(Y,XVAL,GENDER,.L,.M,.S)<0 GOTO COMQT
+"RTN","TMGGRC1",207,0)
+        NEW Z SET Z=$$LMS2Z^TMGGRCU(YVAL,L,M,S)
+"RTN","TMGGRC1",208,0)
+        NEW W SET W=$$Z2PCTL^TMGGRCU(Z)\1
+"RTN","TMGGRC1",209,0)
+        IF W=-1 SET RESULT="Invalid value" GOTO COMQT
+"RTN","TMGGRC1",210,0)
+        SET RESULT=$$SETSUFIX^TMGGRCU(W)
+"RTN","TMGGRC1",211,0)
+        ;
+"RTN","TMGGRC1",212,0)
+COMQT   QUIT RESULT
+"RTN","TMGGRC1",213,0)
+        ;
+"RTN","TMGGRC1",214,0)
+LENREF(MODE,GENDER,ARRAY,RLINES)         ;
+"RTN","TMGGRC1",215,0)
+        ;"Purpose: Return array filled with data for percentile curves
+"RTN","TMGGRC1",216,0)
+        ;"Input: MODE -- 1 if for age range 0-36 months, 2 if age 2-20 yrs
+"RTN","TMGGRC1",217,0)
+        ;"       GENDER -- M OR F
+"RTN","TMGGRC1",218,0)
+        ;"       ARRAY -- PASS BY REFERENCE.  AN OUT PARAMETER.  PRIOR VALUES KILLED. 
+"RTN","TMGGRC1",219,0)
+        ;"           ARRAY(%tile,Age)=x^y
+"RTN","TMGGRC1",220,0)
+        ;"       RLINES -- OPTIONAL.  Default='5,10,25,50,75,95' Listing of which lines to get 
+"RTN","TMGGRC1",221,0)
+        ;"Result: none
+"RTN","TMGGRC1",222,0)
+        NEW GRAPH
+"RTN","TMGGRC1",223,0)
+        IF +$GET(MODE)=1 SET GRAPH="LENGTH BY AGE -- INFANT"
+"RTN","TMGGRC1",224,0)
+        ELSE  SET GRAPH="STATURE BY AGE"
+"RTN","TMGGRC1",225,0)
+        DO COMMNREF(MODE,GENDER,GRAPH,.ARRAY,.RLINES) ;
+"RTN","TMGGRC1",226,0)
+        QUIT
+"RTN","TMGGRC1",227,0)
+        ;        
+"RTN","TMGGRC1",228,0)
+HCREF(MODE,GENDER,ARRAY,RLINES)        ;
+"RTN","TMGGRC1",229,0)
+        ;"Purpose: Return array filled with data for percentile curves
+"RTN","TMGGRC1",230,0)
+        ;"Input: Same as for LENREF (see above)
+"RTN","TMGGRC1",231,0)
+        DO COMMNREF(MODE,GENDER,"HEAD CIRC BY AGE -- INFANT",.ARRAY) ;
+"RTN","TMGGRC1",232,0)
+        QUIT
+"RTN","TMGGRC1",233,0)
+        ;
+"RTN","TMGGRC1",234,0)
+WTREF(MODE,GENDER,ARRAY,RLINES)        ;
+"RTN","TMGGRC1",235,0)
+        ;"Purpose: Return array filled with data for percentile curves
+"RTN","TMGGRC1",236,0)
+        ;"Input: Same as for LENREF (see above)
+"RTN","TMGGRC1",237,0)
+        NEW GRAPH
+"RTN","TMGGRC1",238,0)
+        IF +$GET(MODE)=1 SET GRAPH="WEIGHT BY AGE -- INFANT"
+"RTN","TMGGRC1",239,0)
+        ELSE  SET GRAPH="WEIGHT BY AGE"
+"RTN","TMGGRC1",240,0)
+        DO COMMNREF(MODE,GENDER,GRAPH,.ARRAY,.RLINES) ;
+"RTN","TMGGRC1",241,0)
+        QUIT
+"RTN","TMGGRC1",242,0)
+        ;
+"RTN","TMGGRC1",243,0)
+BMIREF(MODE,GENDER,ARRAY,RLINES)        ;
+"RTN","TMGGRC1",244,0)
+        ;"Purpose: Return array filled with data for percentile curves
+"RTN","TMGGRC1",245,0)
+        ;"Input: Same as for LENREF (see above)
+"RTN","TMGGRC1",246,0)
+        DO COMMNREF(MODE,GENDER,"BMI BY AGE",.ARRAY,.RLINES) ;
+"RTN","TMGGRC1",247,0)
+        QUIT
+"RTN","TMGGRC1",248,0)
+        ;
+"RTN","TMGGRC1",249,0)
+WTLENREF(MODE,GENDER,ARRAY,RLINES)        ;
+"RTN","TMGGRC1",250,0)
+        ;"Purpose: Return array filled with data for percentile curves
+"RTN","TMGGRC1",251,0)
+        ;"Input: MODE -- 1 if for age range 0-36 months, 2 if age 2-20 yrs
+"RTN","TMGGRC1",252,0)
+        ;"       GENDER -- M OR F
+"RTN","TMGGRC1",253,0)
+        ;"       ARRAY -- PASS BY REFERENCE.  AN OUT PARAMETER.  PRIOR VALUES KILLED. 
+"RTN","TMGGRC1",254,0)
+        ;"           ARRAY(%tile,x)=x^y  ;x=LengthOrStature
+"RTN","TMGGRC1",255,0)
+        ;"       RLINES -- OPTIONAL.  Default='5,10,25,50,75,95' Listing of which lines to get 
+"RTN","TMGGRC1",256,0)
+        NEW GRAPH
+"RTN","TMGGRC1",257,0)
+        IF +$GET(MODE)=1 SET GRAPH="WEIGHT FOR LENGTH -- INFANT"
+"RTN","TMGGRC1",258,0)
+        ELSE  SET GRAPH="WEIGHT FOR STATURE"
+"RTN","TMGGRC1",259,0)
+        DO COMMNREF(MODE,GENDER,GRAPH,.ARRAY,.RLINES) ;
+"RTN","TMGGRC1",260,0)
+        QUIT
+"RTN","TMGGRC1",261,0)
+        ;
+"RTN","TMGGRC1",262,0)
+WHBMIREF(MODE,GENDER,ARRAY,RLINES)         ;
+"RTN","TMGGRC1",263,0)
+        ;"Purpose: Return array filled with data for percentile curves
+"RTN","TMGGRC1",264,0)
+        ;"Input: MODE -- 1 if for age range 0-36 months, 2 if age 2-20 yrs, 3 if age range 0-60 months 
+"RTN","TMGGRC1",265,0)
+        DO COMMNREF(MODE,GENDER,"WHO-BMI BY AGE",.ARRAY,.RLINES) ;
+"RTN","TMGGRC1",266,0)
+        QUIT
+"RTN","TMGGRC1",267,0)
+        ;
+"RTN","TMGGRC1",268,0)
+WHHAREF(MODE,GENDER,ARRAY,RLINES)          ;
+"RTN","TMGGRC1",269,0)
+        ;"Purpose: Return array filled with data for percentile curves
+"RTN","TMGGRC1",270,0)
+        ;"Input: Same as for WHOBMIREF (see above)
+"RTN","TMGGRC1",271,0)
+        DO COMMNREF(MODE,GENDER,"WHO-HEIGHT BY AGE ",.ARRAY,.RLINES) ;
+"RTN","TMGGRC1",272,0)
+        QUIT
+"RTN","TMGGRC1",273,0)
+        ;
+"RTN","TMGGRC1",274,0)
+WHWAREF(MODE,GENDER,ARRAY,RLINES)          ;
+"RTN","TMGGRC1",275,0)
+        ;"Purpose: Return array filled with data for percentile curves
+"RTN","TMGGRC1",276,0)
+        ;"Input: Same as for WHOBMIREF (see above)
+"RTN","TMGGRC1",277,0)
+        DO COMMNREF(MODE,GENDER,"WHO-WEIGHT BY AGE",.ARRAY,.RLINES) ;
+"RTN","TMGGRC1",278,0)
+        QUIT
+"RTN","TMGGRC1",279,0)
+        ;
+"RTN","TMGGRC1",280,0)
+WHHCREF(MODE,GENDER,ARRAY,RLINES)          ;
+"RTN","TMGGRC1",281,0)
+        ;"Purpose: Return array filled with data for percentile curves
+"RTN","TMGGRC1",282,0)
+        ;"Input: Same as for WHOBMIREF (see above)
+"RTN","TMGGRC1",283,0)
+        DO COMMNREF(MODE,GENDER,"WHO-HEAD CIRC BY AGE",.ARRAY,.RLINES) ;
+"RTN","TMGGRC1",284,0)
+        QUIT
+"RTN","TMGGRC1",285,0)
+        ;
+"RTN","TMGGRC1",286,0)
+WHWLREF(MODE,GENDER,ARRAY,RLINES)          ;
+"RTN","TMGGRC1",287,0)
+        ;"Purpose: Return array filled with data for percentile curves
+"RTN","TMGGRC1",288,0)
+        ;"Input: Same as for WHOBMIREF (see above)
+"RTN","TMGGRC1",289,0)
+        DO COMMNREF(MODE,GENDER,"WHO-WEIGHT FOR LENGTH",.ARRAY,.RLINES) ;
+"RTN","TMGGRC1",290,0)
+        QUIT
+"RTN","TMGGRC1",291,0)
+        ;
+"RTN","TMGGRC1",292,0)
+WHWSREF(MODE,GENDER,ARRAY,RLINES)          ;
+"RTN","TMGGRC1",293,0)
+        ;"Purpose: Return array filled with data for percentile curves
+"RTN","TMGGRC1",294,0)
+        ;"Input: Same as for WHOBMIREF (see above)
+"RTN","TMGGRC1",295,0)
+        DO COMMNREF(MODE,GENDER,"WHO-WEIGHT FOR STATURE",.ARRAY,.RLINES) ;
+"RTN","TMGGRC1",296,0)
+        QUIT
+"RTN","TMGGRC1",297,0)
+        ;
+"RTN","TMGGRC1",298,0)
+COMMNREF(MODE,GENDER,GRAPH,ARRAY,RLINES)        ;
+"RTN","TMGGRC1",299,0)
+        ;"Purpose: Return array filled with data for percentile curves
+"RTN","TMGGRC1",300,0)
+        ;"Input: MODE -- 1 if for age range 0-36 months, 2 if age 2-20 yrs, 3 if age range 0-60 months 
+"RTN","TMGGRC1",301,0)
+        ;"        4 age range 0-24 months, 5 age range 24-60 months, 6 age range 0-6 months, 
+"RTN","TMGGRC1",302,0)
+        ;"        7 age range 6-24 months, 8 age range 0-13 months 
+"RTN","TMGGRC1",303,0)
+        ;"       GENDER -- M OR F
+"RTN","TMGGRC1",304,0)
+        ;"       GRAPH -- Name of graph
+"RTN","TMGGRC1",305,0)
+        ;"       ARRAY -- PASS BY REFERENCE.  AN OUT PARAMETER.  PRIOR VALUES KILLED. 
+"RTN","TMGGRC1",306,0)
+        ;"           ARRAY(%tile,x)=x^y
+"RTN","TMGGRC1",307,0)
+        ;"       RLINES -- OPTIONAL.  Default='5,10,25,50,75,95' Listing of which %tile lines to get 
+"RTN","TMGGRC1",308,0)
+        ;"Result: none
+"RTN","TMGGRC1",309,0)
+        NEW DIC,X,Y,L,M,S
+"RTN","TMGGRC1",310,0)
+        KILL ARRAY
+"RTN","TMGGRC1",311,0)
+        SET GENDER=$EXTRACT($$UP^XLFSTR(GENDER),1)
+"RTN","TMGGRC1",312,0)
+        IF (GENDER'="M")&(GENDER'="F") GOTO CMRFQT
+"RTN","TMGGRC1",313,0)
+        SET DIC=22713,DIC(0)="M",X=$GET(GRAPH)
+"RTN","TMGGRC1",314,0)
+        DO ^DIC
+"RTN","TMGGRC1",315,0)
+        IF +Y'>0 GOTO CMRFQT
+"RTN","TMGGRC1",316,0)
+        NEW IEN SET IEN=+Y
+"RTN","TMGGRC1",317,0)
+        NEW X0,XINC,XMAX
+"RTN","TMGGRC1",318,0)
+        IF (GRAPH="WEIGHT FOR LENGTH -- INFANT") DO
+"RTN","TMGGRC1",319,0)
+        . SET X0=80,XINC=5,XMAX=140  ;"X axis here is LENGTH, and Y = Weight
+"RTN","TMGGRC1",320,0)
+        . ;"SET X0=45,XINC=10,XMAX=105  ;"X axis here is LENGTH, and Y = Weight
+"RTN","TMGGRC1",321,0)
+        ELSE  IF (GRAPH="WEIGHT FOR STATURE") DO
+"RTN","TMGGRC1",322,0)
+        . SET X0=75,XINC=5,XMAX=125  ;"X axis here is STATURE, and Y = Weight
+"RTN","TMGGRC1",323,0)
+        ELSE  IF (GRAPH="WHO-WEIGHT FOR LENGTH") DO
+"RTN","TMGGRC1",324,0)
+        . SET X0=65,XINC=5,XMAX=130
+"RTN","TMGGRC1",325,0)
+        ELSE  DO
+"RTN","TMGGRC1",326,0)
+        . IF MODE=1 SET X0=0,XINC=1,XMAX=36
+"RTN","TMGGRC1",327,0)
+        . ELSE  IF MODE=2 SET X0=24,XINC=12,XMAX=240
+"RTN","TMGGRC1",328,0)
+        . ELSE  IF MODE=3 SET X0=0,XINC=2,XMAX=60
+"RTN","TMGGRC1",329,0)
+        . ELSE  IF MODE=4 SET X0=0,XINC=1,XMAX=24
+"RTN","TMGGRC1",330,0)
+        . ELSE  IF MODE=5 SET X0=24,XINC=2,XMAX=60
+"RTN","TMGGRC1",331,0)
+        . ELSE  IF MODE=6 SET X0=0,XINC=1,XMAX=6
+"RTN","TMGGRC1",332,0)
+        . ELSE  IF MODE=7 SET X0=6,XINC=2,XMAX=24
+"RTN","TMGGRC1",333,0)
+        . ELSE  SET X0=0,XINC=1,XMAX=3
+"RTN","TMGGRC1",334,0)
+        SET RLINES=$GET(RLINES,"5,10,25,50,75,95")
+"RTN","TMGGRC1",335,0)
+        SET X=X0
+"RTN","TMGGRC1",336,0)
+        NEW ZARRAY,Z
+"RTN","TMGGRC1",337,0)
+        NEW ABORT SET ABORT=0
+"RTN","TMGGRC1",338,0)
+        FOR  DO  SET X=X+XINC QUIT:(X>XMAX)!ABORT
+"RTN","TMGGRC1",339,0)
+        . IF +$$GETLMS^TMGGRCU(IEN,X,GENDER,.L,.M,.S)<0 SET ABORT=1 QUIT
+"RTN","TMGGRC1",340,0)
+        . NEW P,PCTLNUM
+"RTN","TMGGRC1",341,0)
+        . FOR PCTLNUM=1:1:$LENGTH(RLINES,",")  DO
+"RTN","TMGGRC1",342,0)
+        . . SET P=+$PIECE(RLINES,",",PCTLNUM) QUIT:(P'>0)
+"RTN","TMGGRC1",343,0)
+        . . IF $GET(ZARRAY(P))="" SET ZARRAY(P)=$$PCTL2Z^TMGGRCU(P)
+"RTN","TMGGRC1",344,0)
+        . . SET Z=ZARRAY(P)
+"RTN","TMGGRC1",345,0)
+        . . NEW VAL SET VAL=$$LMSZ2Y^TMGGRCU(L,M,S,Z)
+"RTN","TMGGRC1",346,0)
+        . . SET VAL=+$JUSTIFY(VAL,0,2)
+"RTN","TMGGRC1",347,0)
+        . . SET ARRAY(P,X)=X_"^"_VAL
+"RTN","TMGGRC1",348,0)
+        ;
+"RTN","TMGGRC1",349,0)
+CMRFQT  QUIT
+"RTN","TMGGRC2")
+0^6^B190054215
+"RTN","TMGGRC2",1,0)
+TMGGRC2        ;TMG/kst-Work with Growth Chart Data ;10/5/10 ; 9/27/11 9:41am
+"RTN","TMGGRC2",2,0)
+        ;;1.0;TMG-LIB;**1,17**;10/5/10;Build 23
+"RTN","TMGGRC2",3,0)
+        ;
+"RTN","TMGGRC2",4,0)
+        ;"Code for working with pediatric growth chart data.
+"RTN","TMGGRC2",5,0)
+        ;"This helps generate javascript code to pass back to WebBrowser
+"RTN","TMGGRC2",6,0)
+        ;
+"RTN","TMGGRC2",7,0)
+        ;"Kevin Toppenberg MD and Eddie Hagood
+"RTN","TMGGRC2",8,0)
+        ;"(C) 10/5/10
+"RTN","TMGGRC2",9,0)
+        ;"Released under: GNU General Public License (GPL)
+"RTN","TMGGRC2",10,0)
+        ;
+"RTN","TMGGRC2",11,0)
+        ;"=======================================================================
+"RTN","TMGGRC2",12,0)
+        ;" RPC -- Public Functions.
+"RTN","TMGGRC2",13,0)
+        ;"=======================================================================
+"RTN","TMGGRC2",14,0)
+        ;"TMGGRAPH(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --Height %tile (child)
+"RTN","TMGGRC2",15,0)
+        ;"TMGGCLNI(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --Length %tile (infant)
+"RTN","TMGGRC2",16,0)
+        ;"TMGGCHTC(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)-- Height %tile (child)
+"RTN","TMGGRC2",17,0)
+        ;"TMGGCHDC(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --Head circ %tile
+"RTN","TMGGRC2",18,0)
+        ;"TMGGCWTI(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --Wt %tile (infant)
+"RTN","TMGGRC2",19,0)
+        ;"TMGGCWTC(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --Wt %tile (child)
+"RTN","TMGGRC2",20,0)
+        ;"TMGGCBMI(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --BMI percentile (infant) <-- not used (no LMS data avail from CDC)
+"RTN","TMGGRC2",21,0)
+        ;"TMGGCBMC(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --BMI %tile (child)
+"RTN","TMGGRC2",22,0)
+        ;"TMGGCWHL(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --Wt %tile for Length (infant)
+"RTN","TMGGRC2",23,0)
+        ;"TMGGCWHS(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --Wt %tile for Stature (child)
+"RTN","TMGGRC2",24,0)
+        ;"<============= WHO GRAPH ENTRY POINTS =================>
+"RTN","TMGGRC2",25,0)
+        ;"TMGWHOBA(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO BMI for Age.
+"RTN","TMGGRC2",26,0)
+        ;"TMGWBAB2(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO BMI Birth To 2 Years
+"RTN","TMGGRC2",27,0)
+        ;"TMGWBAB5(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO BMI Birth To 5 Years
+"RTN","TMGGRC2",28,0)
+        ;"TMGWBA25(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO BMI 2 To 5 Years
+"RTN","TMGGRC2",29,0)
+        ;"
+"RTN","TMGGRC2",30,0)
+        ;"TMGWHOHA(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO Height for Age.
+"RTN","TMGGRC2",31,0)
+        ;"TMGWHAB6(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO Height Birth to 6 Months.
+"RTN","TMGGRC2",32,0)
+        ;"TMGWHAB2(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO Height Birth to 2 Years.
+"RTN","TMGGRC2",33,0)
+        ;"TMGWHA62(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO Height 6 Months to 2 Years.
+"RTN","TMGGRC2",34,0)
+        ;"TMGWHA25(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO Height 2 Years to 5 Years.
+"RTN","TMGGRC2",35,0)
+        ;"TMGWHAB5(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO Height Birth to 5 Years.
+"RTN","TMGGRC2",36,0)
+        ;"
+"RTN","TMGGRC2",37,0)
+        ;"TMGWHOWA(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO Weight for Age.
+"RTN","TMGGRC2",38,0)
+        ;"TMGWWAB6(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO Weight Birth to 6 Months.
+"RTN","TMGGRC2",39,0)
+        ;"TMGWWAB2(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO Weight Birth to 2 Years.
+"RTN","TMGGRC2",40,0)
+        ;"TMGWWA62(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO Weight 6 Months to 2 Years.
+"RTN","TMGGRC2",41,0)
+        ;"TMGWWAB5(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO Weight Birth to 5 Years.
+"RTN","TMGGRC2",42,0)
+        ;"TMGWWA25(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO Weight 2 Years to 5 Years.
+"RTN","TMGGRC2",43,0)
+        ;"
+"RTN","TMGGRC2",44,0)
+        ;"TMGWHOHC(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO Head Circumference for Age.
+"RTN","TMGGRC2",45,0)
+        ;"TMGWHCBT(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO Head Circumference Birth to Thirteen.
+"RTN","TMGGRC2",46,0)
+        ;"TMGWHCB2(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO Head Circumference Birth to 2 Years.
+"RTN","TMGGRC2",47,0)
+        ;"TMGWHCB5(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO Head Circumference Birth to 5 Years.
+"RTN","TMGGRC2",48,0)
+        ;"
+"RTN","TMGGRC2",49,0)
+        ;"TMGWHOWL(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO Weight for Length.
+"RTN","TMGGRC2",50,0)
+        ;"TMGWHOWS(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE) --WHO Weight from Stature.
+"RTN","TMGGRC2",51,0)
+        ;"ADDRPT -- install (add) the TMG GROWTH CHART MENU to ORWRP REPORT LIST.
+"RTN","TMGGRC2",52,0)
+        ;
+"RTN","TMGGRC2",53,0)
+        ;"=======================================================================
+"RTN","TMGGRC2",54,0)
+        ;
+"RTN","TMGGRC2",55,0)
+TMGGRAPH(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",56,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",57,0)
+        ;"Input: ROOT -- Pass by NAME.  This is where output goes
+"RTN","TMGGRC2",58,0)
+        ;"       DFN -- Patient DFN ; ICN for foriegn sites
+"RTN","TMGGRC2",59,0)
+        ;"       ID --
+"RTN","TMGGRC2",60,0)
+        ;"       ALPHA -- Start date (lieu of DTRANGE)
+"RTN","TMGGRC2",61,0)
+        ;"       OMEGA -- End date (lieu of DTRANGE)
+"RTN","TMGGRC2",62,0)
+        ;"       DTRANGE -- # days back from today
+"RTN","TMGGRC2",63,0)
+        ;"       REMOTE --
+"RTN","TMGGRC2",64,0)
+        ;"       MAX    --
+"RTN","TMGGRC2",65,0)
+        ;"       ORFHIE --
+"RTN","TMGGRC2",66,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",67,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"CH-HT")
+"RTN","TMGGRC2",68,0)
+        QUIT
+"RTN","TMGGRC2",69,0)
+        ;
+"RTN","TMGGRC2",70,0)
+TMGGCLNI(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",71,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",72,0)
+        ;"         For Length percentile for age (infant)
+"RTN","TMGGRC2",73,0)
+        ;"Input: (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",74,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",75,0)
+        ;
+"RTN","TMGGRC2",76,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"INF-LN")
+"RTN","TMGGRC2",77,0)
+        QUIT
+"RTN","TMGGRC2",78,0)
+        ;
+"RTN","TMGGRC2",79,0)
+TMGGCWTI(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",80,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",81,0)
+        ;"         For Weight percentile for age (infant)
+"RTN","TMGGRC2",82,0)
+        ;"Input: (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",83,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",84,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"INF-WT")
+"RTN","TMGGRC2",85,0)
+        QUIT
+"RTN","TMGGRC2",86,0)
+        ;
+"RTN","TMGGRC2",87,0)
+TMGGCHDC(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",88,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",89,0)
+        ;"         For Head Circumference percentile for age
+"RTN","TMGGRC2",90,0)
+        ;"Input: (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",91,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",92,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"INF-HC")
+"RTN","TMGGRC2",93,0)
+        QUIT
+"RTN","TMGGRC2",94,0)
+        ;
+"RTN","TMGGRC2",95,0)
+TMGGCBMI(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",96,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",97,0)
+        ;"         For BMI percentile for age (infant)
+"RTN","TMGGRC2",98,0)
+        ;"Input: (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",99,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",100,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"INF-BMI")
+"RTN","TMGGRC2",101,0)
+        QUIT
+"RTN","TMGGRC2",102,0)
+        ;
+"RTN","TMGGRC2",103,0)
+TMGGCWHL(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",104,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",105,0)
+        ;"         For Weight percentile for Length (infant)
+"RTN","TMGGRC2",106,0)
+        ;"Input: (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",107,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",108,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"INF-WT4L")
+"RTN","TMGGRC2",109,0)
+        QUIT
+"RTN","TMGGRC2",110,0)
+        ;
+"RTN","TMGGRC2",111,0)
+TMGGCHTC(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",112,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",113,0)
+        ;"         For Height percentile for age (child)
+"RTN","TMGGRC2",114,0)
+        ;"Input: (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",115,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",116,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"CH-HT")
+"RTN","TMGGRC2",117,0)
+        QUIT
+"RTN","TMGGRC2",118,0)
+        ;
+"RTN","TMGGRC2",119,0)
+TMGGCWTC(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",120,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",121,0)
+        ;"         For Weight percentile for age (child)
+"RTN","TMGGRC2",122,0)
+        ;"Input: (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",123,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",124,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"CH-WT")
+"RTN","TMGGRC2",125,0)
+        QUIT
+"RTN","TMGGRC2",126,0)
+        ;
+"RTN","TMGGRC2",127,0)
+TMGGCBMC(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",128,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",129,0)
+        ;"         For BMI percentile for age (child)
+"RTN","TMGGRC2",130,0)
+        ;"Input: (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",131,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",132,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"CH-BMI")
+"RTN","TMGGRC2",133,0)
+        QUIT
+"RTN","TMGGRC2",134,0)
+        ;
+"RTN","TMGGRC2",135,0)
+TMGGCWHS(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",136,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",137,0)
+        ;"         For Weight percentile for stature (child)
+"RTN","TMGGRC2",138,0)
+        ;"Input: (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",139,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",140,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"CH-WT4S")
+"RTN","TMGGRC2",141,0)
+        QUIT
+"RTN","TMGGRC2",142,0)
+        ;
+"RTN","TMGGRC2",143,0)
+        ;"WHO - BMI ENTRY POINTS
+"RTN","TMGGRC2",144,0)
+TMGWHOBA(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",145,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",146,0)
+        ;"           For WHO BMI by Age
+"RTN","TMGGRC2",147,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",148,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",149,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-BA")
+"RTN","TMGGRC2",150,0)
+        QUIT
+"RTN","TMGGRC2",151,0)
+        ;
+"RTN","TMGGRC2",152,0)
+TMGWBAB2(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",153,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",154,0)
+        ;"           For WHO BMI by Age
+"RTN","TMGGRC2",155,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",156,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",157,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-BA-B2")
+"RTN","TMGGRC2",158,0)
+        QUIT
+"RTN","TMGGRC2",159,0)
+        ;
+"RTN","TMGGRC2",160,0)
+TMGWBAB5(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",161,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",162,0)
+        ;"           For WHO BMI by Age
+"RTN","TMGGRC2",163,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",164,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",165,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-BA-B5")
+"RTN","TMGGRC2",166,0)
+        QUIT
+"RTN","TMGGRC2",167,0)
+        ;
+"RTN","TMGGRC2",168,0)
+TMGWBA25(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",169,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",170,0)
+        ;"           For WHO BMI by Age
+"RTN","TMGGRC2",171,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",172,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",173,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-BA-25")
+"RTN","TMGGRC2",174,0)
+        QUIT
+"RTN","TMGGRC2",175,0)
+        ;
+"RTN","TMGGRC2",176,0)
+        ;"WHO - Height for Age Entry Points
+"RTN","TMGGRC2",177,0)
+TMGWHOHA(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",178,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",179,0)
+        ;"           For WHO Height by Age
+"RTN","TMGGRC2",180,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",181,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",182,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-HA")
+"RTN","TMGGRC2",183,0)
+        QUIT
+"RTN","TMGGRC2",184,0)
+        ;
+"RTN","TMGGRC2",185,0)
+TMGWHAB6(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",186,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",187,0)
+        ;"           For WHO Height by Age
+"RTN","TMGGRC2",188,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",189,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",190,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-HA-B6")
+"RTN","TMGGRC2",191,0)
+        QUIT
+"RTN","TMGGRC2",192,0)
+        ;
+"RTN","TMGGRC2",193,0)
+TMGWHAB2(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",194,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",195,0)
+        ;"           For WHO Height by Age
+"RTN","TMGGRC2",196,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",197,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",198,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-HA-B2")
+"RTN","TMGGRC2",199,0)
+        QUIT
+"RTN","TMGGRC2",200,0)
+        ;
+"RTN","TMGGRC2",201,0)
+TMGWHA62(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",202,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",203,0)
+        ;"           For WHO Height by Age
+"RTN","TMGGRC2",204,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",205,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",206,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-HA-62")
+"RTN","TMGGRC2",207,0)
+        QUIT
+"RTN","TMGGRC2",208,0)
+        ;
+"RTN","TMGGRC2",209,0)
+TMGWHA25(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",210,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",211,0)
+        ;"           For WHO Height by Age
+"RTN","TMGGRC2",212,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",213,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",214,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-HA-25")
+"RTN","TMGGRC2",215,0)
+        QUIT
+"RTN","TMGGRC2",216,0)
+        ;
+"RTN","TMGGRC2",217,0)
+TMGWHAB5(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",218,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",219,0)
+        ;"           For WHO Height by Age
+"RTN","TMGGRC2",220,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",221,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",222,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-HA-B5")
+"RTN","TMGGRC2",223,0)
+        QUIT
+"RTN","TMGGRC2",224,0)
+        ;
+"RTN","TMGGRC2",225,0)
+        ;"WHO - Weight for age Entry Points
+"RTN","TMGGRC2",226,0)
+TMGWHOWA(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",227,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",228,0)
+        ;"           For WHO Weight by Age
+"RTN","TMGGRC2",229,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",230,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",231,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-WA")
+"RTN","TMGGRC2",232,0)
+        QUIT
+"RTN","TMGGRC2",233,0)
+        ;
+"RTN","TMGGRC2",234,0)
+TMGWWAB6(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",235,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",236,0)
+        ;"           For WHO Weight by Age
+"RTN","TMGGRC2",237,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",238,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",239,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-WA-B6")
+"RTN","TMGGRC2",240,0)
+        QUIT
+"RTN","TMGGRC2",241,0)
+        ;
+"RTN","TMGGRC2",242,0)
+TMGWWAB2(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",243,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",244,0)
+        ;"           For WHO Weight by Age
+"RTN","TMGGRC2",245,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",246,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",247,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-WA-B2")
+"RTN","TMGGRC2",248,0)
+        QUIT
+"RTN","TMGGRC2",249,0)
+        ;
+"RTN","TMGGRC2",250,0)
+TMGWWA62(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",251,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",252,0)
+        ;"           For WHO Weight by Age
+"RTN","TMGGRC2",253,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",254,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",255,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-WA-62")
+"RTN","TMGGRC2",256,0)
+        QUIT
+"RTN","TMGGRC2",257,0)
+        ;
+"RTN","TMGGRC2",258,0)
+TMGWWAB5(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",259,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",260,0)
+        ;"           For WHO Weight by Age
+"RTN","TMGGRC2",261,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",262,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",263,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-WA-B5")
+"RTN","TMGGRC2",264,0)
+        QUIT
+"RTN","TMGGRC2",265,0)
+        ;
+"RTN","TMGGRC2",266,0)
+TMGWWA25(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",267,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",268,0)
+        ;"           For WHO Weight by Age
+"RTN","TMGGRC2",269,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",270,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",271,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-WA-25")
+"RTN","TMGGRC2",272,0)
+        QUIT
+"RTN","TMGGRC2",273,0)
+        ;
+"RTN","TMGGRC2",274,0)
+        ;"WHO - Head Circumference Entry Points
+"RTN","TMGGRC2",275,0)
+TMGWHOHC(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",276,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",277,0)
+        ;"           For WHO Head Circumference by Age
+"RTN","TMGGRC2",278,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",279,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",280,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-HC")
+"RTN","TMGGRC2",281,0)
+        QUIT
+"RTN","TMGGRC2",282,0)
+        ;
+"RTN","TMGGRC2",283,0)
+TMGWHCBT(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",284,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",285,0)
+        ;"           For WHO Head Circumference by Age
+"RTN","TMGGRC2",286,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",287,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",288,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-HC-BT")
+"RTN","TMGGRC2",289,0)
+        QUIT
+"RTN","TMGGRC2",290,0)
+        ;
+"RTN","TMGGRC2",291,0)
+TMGWHCB2(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",292,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",293,0)
+        ;"           For WHO Head Circumference by Age
+"RTN","TMGGRC2",294,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",295,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",296,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-HC-B2")
+"RTN","TMGGRC2",297,0)
+        QUIT
+"RTN","TMGGRC2",298,0)
+        ;
+"RTN","TMGGRC2",299,0)
+TMGWHCB5(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",300,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",301,0)
+        ;"           For WHO Head Circumference by Age
+"RTN","TMGGRC2",302,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",303,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",304,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-HC-B5")
+"RTN","TMGGRC2",305,0)
+        QUIT
+"RTN","TMGGRC2",306,0)
+        ;
+"RTN","TMGGRC2",307,0)
+TMGWHOWL(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",308,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",309,0)
+        ;"           For WHO Weight for Length
+"RTN","TMGGRC2",310,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",311,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",312,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-WL")
+"RTN","TMGGRC2",313,0)
+        QUIT
+"RTN","TMGGRC2",314,0)
+        ;
+"RTN","TMGGRC2",315,0)
+TMGWHOWS(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,MAX,ORFHIE)        ;
+"RTN","TMGGRC2",316,0)
+        ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2",317,0)
+        ;"           For WHO Weight for Stature
+"RTN","TMGGRC2",318,0)
+        ;"Input (Same as TMGGRAPH, see above)
+"RTN","TMGGRC2",319,0)
+        ;"Result: None.  Output goes into @ROOT
+"RTN","TMGGRC2",320,0)
+        DO TMGCOMGR^TMGGRC2A(.ROOT,"WHO-WS")
+"RTN","TMGGRC2",321,0)
+        QUIT
+"RTN","TMGGRC2",322,0)
+        ;
+"RTN","TMGGRC2",323,0)
+ADDRPT         ;
+"RTN","TMGGRC2",324,0)
+               DO ADDRPT^TMGGRC2C
+"RTN","TMGGRC2",325,0)
+               QUIT
+"RTN","TMGGRC2A")
+0^23^B137060007
+"RTN","TMGGRC2A",1,0)
+TMGGRC2A       ;TMG/kst-Work with Growth Chart Data ;10/5/10 ; 9/27/11 9:41am
+"RTN","TMGGRC2A",2,0)
+        ;;1.0;TMG-LIB;**1,17**;10/5/10;Build 23
+"RTN","TMGGRC2A",3,0)
+       ;
+"RTN","TMGGRC2A",4,0)
+       ;"Code for working with pediatric growth chart data.
+"RTN","TMGGRC2A",5,0)
+       ;"This helps generate javascript code to pass back to WebBrowser
+"RTN","TMGGRC2A",6,0)
+       ;
+"RTN","TMGGRC2A",7,0)
+       ;"Kevin Toppenberg MD and Eddie Hagood
+"RTN","TMGGRC2A",8,0)
+       ;"(C) 10/5/10
+"RTN","TMGGRC2A",9,0)
+       ;"Released under: GNU General Public License (GPL)
+"RTN","TMGGRC2A",10,0)
+       ;                           
+"RTN","TMGGRC2A",11,0)
+       ;"=======================================================================
+"RTN","TMGGRC2A",12,0)
+       ;"PRIVATE API FUNCTIONS
+"RTN","TMGGRC2A",13,0)
+       ;"=======================================================================
+"RTN","TMGGRC2A",14,0)
+       ;"TMGCOMGR(ROOT,GRAPHTYP) --Common graphic entry point
+"RTN","TMGGRC2A",15,0)
+       ;"SETITEM(ROOT,X) -- set output into ROOT
+"RTN","TMGGRC2A",16,0)
+       ;"ADDSECT(LABEL,MODULES,ROOT) -- send out section of code, from LABEL until EOF found
+"RTN","TMGGRC2A",17,0)
+       ;"GETPAT(DFN,AGE,GENDER,DOB,TMGERR)  -- ensure Patient variables are setup.
+"RTN","TMGGRC2A",18,0)
+       ;"=======================================================================
+"RTN","TMGGRC2A",19,0)
+       ;
+"RTN","TMGGRC2A",20,0)
+TMGCOMGR(ROOT,GRAPHTYP)        ;
+"RTN","TMGGRC2A",21,0)
+       ;"Purpose: Entry point, as called from CPRS REPORT system
+"RTN","TMGGRC2A",22,0)
+       ;"Input: ROOT -- Pass by NAME.  This is where output goes
+"RTN","TMGGRC2A",23,0)
+       ;"       GRAPHTYP -- Graph Type.  Legend:
+"RTN","TMGGRC2A",24,0)
+       ;"              CH-HT  (1) --    Height percentile for age (child)
+"RTN","TMGGRC2A",25,0)
+       ;"              INF-HC  (2) --   Head Circumference percentile for age
+"RTN","TMGGRC2A",26,0)
+       ;"              CH-WT  (3) --    Weight percentile for age (child)
+"RTN","TMGGRC2A",27,0)
+       ;"              CH-BMI (4) --    BMI percentile for age (child)
+"RTN","TMGGRC2A",28,0)
+       ;"              INF-WT4L (5) -   Weight percentile for Length (infant)
+"RTN","TMGGRC2A",29,0)
+       ;"              CH-WT4S (5.5)-   Weight percentile for Stature (child)
+"RTN","TMGGRC2A",30,0)
+       ;"              INF-BMI (6) --   BMI percentile for age (infant)
+"RTN","TMGGRC2A",31,0)
+       ;"              INF-WT  (7) --   Weight percentile for age (infant)
+"RTN","TMGGRC2A",32,0)
+       ;"              INF-LN  (8) --   Length percentile for age (infant)
+"RTN","TMGGRC2A",33,0)
+       ;"               WHO-BA  (9) --  WHO BMI by Age
+"RTN","TMGGRC2A",34,0)
+       ;"               WHO-HA  (10) -- WHO Height by Age
+"RTN","TMGGRC2A",35,0)
+       ;"               WHO-WA  (11) -- WHO Weight by Age
+"RTN","TMGGRC2A",36,0)
+       ;"               WHO-HC  (12) -- WHO Head Circumference by Age
+"RTN","TMGGRC2A",37,0)
+       ;"               WHO-WL  (13) -- WHO Weight for Length
+"RTN","TMGGRC2A",38,0)
+       ;"               WHO-WS  (14) -- WHO Weight for Stature
+"RTN","TMGGRC2A",39,0)
+       ;"Results: None
+"RTN","TMGGRC2A",40,0)
+       ;"Output: @ROOT is filled
+"RTN","TMGGRC2A",41,0)
+       ;
+"RTN","TMGGRC2A",42,0)
+       NEW TMGERR,AGE,GENDER,TMGERR,DOB
+"RTN","TMGGRC2A",43,0)
+       DO GETPAT(.DFN,.AGE,.GENDER,.DOB,.TMGERR)
+"RTN","TMGGRC2A",44,0)
+       DO CHECKTYP(.GRAPHTYP,.TMGERR) GOTO:($D(TMGERR)) TGERR
+"RTN","TMGGRC2A",45,0)
+       DO ADDSECT("TOP","TMGGRC3A",.ROOT)
+"RTN","TMGGRC2A",46,0)
+       DO ADDSECT("GLIB","TMGGRC3A,TMGGRC3B,TMGGRC3C,TMGGRC3D,TMGGRC3E",.ROOT)
+"RTN","TMGGRC2A",47,0)
+       DO ADDSECT("SCRIPT","TMGGRC3F",.ROOT)
+"RTN","TMGGRC2A",48,0)
+       DO SETGRAPH(ROOT,AGE,GENDER,GRAPHTYP,.TMGERR) GOTO:($D(TMGERR)) TGERR
+"RTN","TMGGRC2A",49,0)
+       DO SETLINES^TMGGRC2B(ROOT,DFN,DOB,AGE,GENDER,GRAPHTYP,.TMGERR) GOTO:($D(TMGERR)) TGERR
+"RTN","TMGGRC2A",50,0)
+       GOTO TGDN
+"RTN","TMGGRC2A",51,0)
+TGERR  DO SETITEM(ROOT,.TMGERR)
+"RTN","TMGGRC2A",52,0)
+TGDN   DO ADDSECT("ENDING","TMGGRC3F",.ROOT)
+"RTN","TMGGRC2A",53,0)
+       QUIT
+"RTN","TMGGRC2A",54,0)
+       ;
+"RTN","TMGGRC2A",55,0)
+CHECKTYP(GRAPHTYP,TMGERR)        ;
+"RTN","TMGGRC2A",56,0)
+       SET GRAPHTYP=$GET(GRAPHTYP)
+"RTN","TMGGRC2A",57,0)
+       IF ("INF;CH;WHO"'[$P(GRAPHTYP,"-",1))!("HT;HC;WT;BMI;WT4L;WT4S;LN;BA;HA;WA;WL;WS"'[$P(GRAPHTYP,";",2)) DO
+"RTN","TMGGRC2A",58,0)
+       . SET TMGERR="<bold>Error</bold>: Invalid chart type request: '"_GRAPHTYP_"'"
+"RTN","TMGGRC2A",59,0)
+       QUIT
+"RTN","TMGGRC2A",60,0)
+       ;
+"RTN","TMGGRC2A",61,0)
+SETITEM(ROOT,X)        ; -- set item in list
+"RTN","TMGGRC2A",62,0)
+       SET @ROOT@($ORDER(@ROOT@(9999),-1)+1)=X
+"RTN","TMGGRC2A",63,0)
+       QUIT
+"RTN","TMGGRC2A",64,0)
+       ;
+"RTN","TMGGRC2A",65,0)
+ADDSECT(LABEL,MODULES,ROOT)        ;
+"RTN","TMGGRC2A",66,0)
+       ;"Purpose: To send out section of code, from LABEL until EOF found
+"RTN","TMGGRC2A",67,0)
+       ;"Input: LABEL -- e.g. "L1", "L2" etc.  Must match labels in TMGGRC3*
+"RTN","TMGGRC2A",68,0)
+       ;"       MODULES -- one or more routine names.  If multiple, separate by commas
+"RTN","TMGGRC2A",69,0)
+       ;"               e.g. 'TMGGRC3A,TMGGRC3B'
+"RTN","TMGGRC2A",70,0)
+       NEW I,LINE,REF
+"RTN","TMGGRC2A",71,0)
+       NEW DONE SET DONE=0
+"RTN","TMGGRC2A",72,0)
+       NEW MODNUM SET MODNUM=$LENGTH(MODULES,",")
+"RTN","TMGGRC2A",73,0)
+       NEW MODI,MODL
+"RTN","TMGGRC2A",74,0)
+       FOR MODI=1:1:MODNUM DO  QUIT:DONE
+"RTN","TMGGRC2A",75,0)
+       . SET MODL=$$TRIM^XLFSTR($PIECE(MODULES,",",MODI))
+"RTN","TMGGRC2A",76,0)
+       . NEW CONT SET CONT=0
+"RTN","TMGGRC2A",77,0)
+       . FOR I=1:1 QUIT:DONE!CONT  DO
+"RTN","TMGGRC2A",78,0)
+       . . SET REF=LABEL_"+"_I_"^"_MODL
+"RTN","TMGGRC2A",79,0)
+       . . SET LINE=$TEXT(@REF)
+"RTN","TMGGRC2A",80,0)
+       . . ;"SET LINE=$TEXT(@LABEL+I^TMGGRC3)
+"RTN","TMGGRC2A",81,0)
+       . . IF LINE="" SET DONE=1 QUIT
+"RTN","TMGGRC2A",82,0)
+       . . SET LINE=$PIECE(LINE,";;",2,99)
+"RTN","TMGGRC2A",83,0)
+       . . IF $$TRIM^XLFSTR(LINE)="EOF" SET DONE=1 QUIT
+"RTN","TMGGRC2A",84,0)
+       . . IF $$TRIM^XLFSTR(LINE)="CONTINUED" SET CONT=1 QUIT
+"RTN","TMGGRC2A",85,0)
+       . . DO SETITEM(.ROOT,LINE)
+"RTN","TMGGRC2A",86,0)
+       QUIT
+"RTN","TMGGRC2A",87,0)
+       ;
+"RTN","TMGGRC2A",88,0)
+GETPAT(DFN,AGE,GENDER,DOB,TMGERR)         ;
+"RTN","TMGGRC2A",89,0)
+       ;"Purpose: To ensure Patient variables are setup.
+"RTN","TMGGRC2A",90,0)
+       ;"Input: DFN -- The patient to get info from
+"RTN","TMGGRC2A",91,0)
+       ;"       AGE -- PASS BY REFERENCE, AN OUT PARAMETER
+"RTN","TMGGRC2A",92,0)
+       ;"       GENDER -- PASS BY REFERENCE, AN OUT PARAMETER
+"RTN","TMGGRC2A",93,0)
+       ;"       DOB -- PASS BY REFERENCE, AN OUT PARAMETER
+"RTN","TMGGRC2A",94,0)
+       ;"       TMGERR -- PASS BY REFERENCE, AN OUT PARAMETER
+"RTN","TMGGRC2A",95,0)
+       ;"Result: None
+"RTN","TMGGRC2A",96,0)
+       IF +$GET(DFN)'>0 DO  QUIT
+"RTN","TMGGRC2A",97,0)
+       . SET TMGERR="<bold>Error</bold>: Patient ID 'DFN' not defined.  Contact administrator."
+"RTN","TMGGRC2A",98,0)
+       SET AGE=+$$GET1^DIQ(2,DFN_",",.033) ;"returns calculated field, INTEGER yrs
+"RTN","TMGGRC2A",99,0)
+       SET DOB=$PIECE($GET(^DPT(DFN,0)),"^",3)
+"RTN","TMGGRC2A",100,0)
+       IF AGE<18 DO
+"RTN","TMGGRC2A",101,0)
+       . NEW %,X,X1,X2,%Y
+"RTN","TMGGRC2A",102,0)
+       . DO NOW^%DTC
+"RTN","TMGGRC2A",103,0)
+       . SET X1=X ;"now
+"RTN","TMGGRC2A",104,0)
+       . SET X2=DOB
+"RTN","TMGGRC2A",105,0)
+       . DO ^%DTC  ;"result out in X (days delta)
+"RTN","TMGGRC2A",106,0)
+       . IF %Y=0 QUIT  ;"dates are unworkable
+"RTN","TMGGRC2A",107,0)
+       . SET AGE=+$JUSTIFY(X/365,0,4)
+"RTN","TMGGRC2A",108,0)
+       SET GENDER=$PIECE($GET(^DPT(DFN,0)),"^",2)
+"RTN","TMGGRC2A",109,0)
+       IF GENDER="" DO  QUIT
+"RTN","TMGGRC2A",110,0)
+       . SET TMGERR="<bold>Error</bold>: Patient SEX not defined."
+"RTN","TMGGRC2A",111,0)
+       QUIT
+"RTN","TMGGRC2A",112,0)
+       ;
+"RTN","TMGGRC2A",113,0)
+SETGRAPH(ROOT,AGEYR,GENDER,GRAPHTYP,TMGERR)        ;
+"RTN","TMGGRC2A",114,0)
+       ;"Purpose: Setup labels, range etc for graph.  This will customize
+"RTN","TMGGRC2A",115,0)
+       ;"         The graph based on patients age--which will determine which
+"RTN","TMGGRC2A",116,0)
+       ;"         which graph should be displayed.
+"RTN","TMGGRC2A",117,0)
+       ;"Input: ROOT -- Pass by NAME.  This is where output goes
+"RTN","TMGGRC2A",118,0)
+       ;"       AGEYR -- Patient age in *YEARS*
+"RTN","TMGGRC2A",119,0)
+       ;"       GENDER -- Patient SEX -- Should be 'M' OR 'F'
+"RTN","TMGGRC2A",120,0)
+       ;"       GRAPHTYP -- Graph Type, See above for documentation
+"RTN","TMGGRC2A",121,0)
+       ;"       TMGERR -- PASS BY REFERENCE.  An OUT Parameter.
+"RTN","TMGGRC2A",122,0)
+       ;"Results: None
+"RTN","TMGGRC2A",123,0)
+       ;"Output: @ROOT is filled
+"RTN","TMGGRC2A",124,0)
+       NEW TITLE,XMIN,XMAX,XTITLE,YMIN,YMAX,YTITLE,XINC,YINC
+"RTN","TMGGRC2A",125,0)
+       SET XINC=1,YINC=5
+"RTN","TMGGRC2A",126,0)
+       SET GRAPHTYP=$GET(GRAPHTYP)
+"RTN","TMGGRC2A",127,0)
+       ;
+"RTN","TMGGRC2A",128,0)
+       SET TITLE="PHYSICAL GROWTH PERCENTILES"
+"RTN","TMGGRC2A",129,0)
+       IF GRAPHTYP["INF-" DO
+"RTN","TMGGRC2A",130,0)
+       . SET XMIN=0,XMAX=36
+"RTN","TMGGRC2A",131,0)
+       . SET XTITLE="AGE (MONTHS)"
+"RTN","TMGGRC2A",132,0)
+       ELSE  DO
+"RTN","TMGGRC2A",133,0)
+       . SET XMIN=1,XMAX=22
+"RTN","TMGGRC2A",134,0)
+       . SET XTITLE="AGE (YEARS)"
+"RTN","TMGGRC2A",135,0)
+       ;
+"RTN","TMGGRC2A",136,0)
+       IF GRAPHTYP="INF-LN" DO
+"RTN","TMGGRC2A",137,0)
+       . SET TITLE="LENGTH  "_TITLE
+"RTN","TMGGRC2A",138,0)
+       . SET YTITLE="LENGTH (cm)"
+"RTN","TMGGRC2A",139,0)
+       . SET YMIN=40,YMAX=110
+"RTN","TMGGRC2A",140,0)
+       ELSE  IF GRAPHTYP="INF-WT" DO
+"RTN","TMGGRC2A",141,0)
+       . SET TITLE="WEIGHT  "_TITLE
+"RTN","TMGGRC2A",142,0)
+       . SET YTITLE="WEIGHT (kg)"
+"RTN","TMGGRC2A",143,0)
+       . SET YMIN=2,YMAX=18
+"RTN","TMGGRC2A",144,0)
+       . SET XMIN=0,XMAX=40
+"RTN","TMGGRC2A",145,0)
+       ELSE  IF GRAPHTYP="INF-HC" DO
+"RTN","TMGGRC2A",146,0)
+       . SET TITLE="HEAD CIRCUMFERENCE  "_TITLE
+"RTN","TMGGRC2A",147,0)
+       . SET YMIN=30,YMAX=55
+"RTN","TMGGRC2A",148,0)
+       . SET YTITLE="HEAD CIRC (cm)"
+"RTN","TMGGRC2A",149,0)
+       . SET XMIN=0,XMAX=40
+"RTN","TMGGRC2A",150,0)
+       ELSE  IF GRAPHTYP="INF-BMI" DO
+"RTN","TMGGRC2A",151,0)
+       . SET TITLE="BODY MASS INDEX  "_TITLE
+"RTN","TMGGRC2A",152,0)
+       . SET YTITLE="BMI (kg/m^2)"
+"RTN","TMGGRC2A",153,0)
+       . SET YMIN=1,YMAX=20
+"RTN","TMGGRC2A",154,0)
+       ELSE  IF GRAPHTYP="INF-WT4L" DO
+"RTN","TMGGRC2A",155,0)
+       . SET TITLE="WEIGHT FOR LENGTH  "_TITLE
+"RTN","TMGGRC2A",156,0)
+       . SET YTITLE="WEIGHT (kg)"
+"RTN","TMGGRC2A",157,0)
+       . SET YMIN=10,YMAX=19
+"RTN","TMGGRC2A",158,0)
+       . SET XTITLE="LENGTH (cm)"
+"RTN","TMGGRC2A",159,0)
+       . SET XMIN=80,XMAX=100
+"RTN","TMGGRC2A",160,0)
+       . SET XINC=1,YINC=1
+"RTN","TMGGRC2A",161,0)
+       ELSE  IF GRAPHTYP="CH-HT" DO
+"RTN","TMGGRC2A",162,0)
+       . SET TITLE="STATURE  "_TITLE
+"RTN","TMGGRC2A",163,0)
+       . SET YTITLE="STATURE (cm)"
+"RTN","TMGGRC2A",164,0)
+       . SET YMIN=70,YMAX=200
+"RTN","TMGGRC2A",165,0)
+       ELSE  IF GRAPHTYP="CH-WT" DO
+"RTN","TMGGRC2A",166,0)
+       . SET TITLE="WEIGHT  "_TITLE
+"RTN","TMGGRC2A",167,0)
+       . SET YTITLE="WEIGHT (kg)"
+"RTN","TMGGRC2A",168,0)
+       . SET YMIN=10,YMAX=100
+"RTN","TMGGRC2A",169,0)
+       ELSE  IF GRAPHTYP="CH-BMI" DO
+"RTN","TMGGRC2A",170,0)
+       . SET TITLE="BODY MASS INDEX  "_TITLE
+"RTN","TMGGRC2A",171,0)
+       . SET YTITLE="BMI (kg/m^2)"
+"RTN","TMGGRC2A",172,0)
+       . SET YMIN=13,YMAX=35
+"RTN","TMGGRC2A",173,0)
+       ELSE  IF GRAPHTYP="CH-WT4S" DO
+"RTN","TMGGRC2A",174,0)
+       . SET TITLE="WEIGHT FOR STATURE  "_TITLE
+"RTN","TMGGRC2A",175,0)
+       . SET YTITLE="WEIGHT (kg)"
+"RTN","TMGGRC2A",176,0)
+       . SET YMIN=0,YMAX=20
+"RTN","TMGGRC2A",177,0)
+       . SET XTITLE="STATURE (cm)"
+"RTN","TMGGRC2A",178,0)
+       . SET XMIN=60,XMAX=150
+"RTN","TMGGRC2A",179,0)
+       ELSE  IF GRAPHTYP["WHO-BA" DO
+"RTN","TMGGRC2A",180,0)
+       . IF $PIECE(GRAPHTYP,"-",3)="B2" DO
+"RTN","TMGGRC2A",181,0)
+       . . SET TITLE="BMI-for-Age (Birth to 2 Years)"
+"RTN","TMGGRC2A",182,0)
+       . . SET YMIN=1,YMAX=21
+"RTN","TMGGRC2A",183,0)
+       . . SET XMIN=0,XMAX=25
+"RTN","TMGGRC2A",184,0)
+       . ELSE  IF $PIECE(GRAPHTYP,"-",3)="B5" DO
+"RTN","TMGGRC2A",185,0)
+       . . SET TITLE="BMI-for-Age (Birth to 5 Years)"
+"RTN","TMGGRC2A",186,0)
+       . . SET YMIN=10,YMAX=21
+"RTN","TMGGRC2A",187,0)
+       . . SET XMIN=0,XMAX=61
+"RTN","TMGGRC2A",188,0)
+       . . SET XINC=2,YINC=1
+"RTN","TMGGRC2A",189,0)
+       . ELSE  DO
+"RTN","TMGGRC2A",190,0)
+       . . SET TITLE="BMI-for-Age (2 Years to 5 Years)"
+"RTN","TMGGRC2A",191,0)
+       . . SET YMIN=12,YMAX=20
+"RTN","TMGGRC2A",192,0)
+       . . SET XMIN=23,XMAX=61
+"RTN","TMGGRC2A",193,0)
+       . . SET XINC=2,YINC=1
+"RTN","TMGGRC2A",194,0)
+       . SET YTITLE="BMI (kg/m^2)"
+"RTN","TMGGRC2A",195,0)
+       . SET XTITLE="AGE (MONTHS)"
+"RTN","TMGGRC2A",196,0)
+       ELSE  IF GRAPHTYP["WHO-HA" DO
+"RTN","TMGGRC2A",197,0)
+       . IF $PIECE(GRAPHTYP,"-",3)="B6" DO
+"RTN","TMGGRC2A",198,0)
+       . . SET TITLE="Length-for-Age (Birth to 6 Months)"
+"RTN","TMGGRC2A",199,0)
+       . . SET YMIN=45,YMAX=76
+"RTN","TMGGRC2A",200,0)
+       . . SET XMIN=0,XMAX=6
+"RTN","TMGGRC2A",201,0)
+       . . SET XINC=1,YINC=5
+"RTN","TMGGRC2A",202,0)
+       . ELSE  IF $PIECE(GRAPHTYP,"-",3)="B2" DO
+"RTN","TMGGRC2A",203,0)
+       . . SET TITLE="Length-for-Age (Birth to 2 Years)"
+"RTN","TMGGRC2A",204,0)
+       . . SET YMIN=45,YMAX=95
+"RTN","TMGGRC2A",205,0)
+       . . SET XMIN=0,XMAX=25
+"RTN","TMGGRC2A",206,0)
+       . . SET XINC=1,YINC=5
+"RTN","TMGGRC2A",207,0)
+       . ELSE  IF $PIECE(GRAPHTYP,"-",3)="62" DO
+"RTN","TMGGRC2A",208,0)
+       . . SET TITLE="Length-for-Age (6 Months to 2 Years)"
+"RTN","TMGGRC2A",209,0)
+       . . SET YMIN=60,YMAX=95
+"RTN","TMGGRC2A",210,0)
+       . . SET XMIN=6,XMAX=25
+"RTN","TMGGRC2A",211,0)
+       . SET XINC=1,YINC=5
+"RTN","TMGGRC2A",212,0)
+       . ELSE  IF $PIECE(GRAPHTYP,"-",3)="25" DO
+"RTN","TMGGRC2A",213,0)
+       . . SET TITLE="Length-for-Age (2 Years to 5 Years)"
+"RTN","TMGGRC2A",214,0)
+       . . SET YMIN=75,YMAX=120
+"RTN","TMGGRC2A",215,0)
+       . . SET XMIN=23,XMAX=61
+"RTN","TMGGRC2A",216,0)
+       . . SET XINC=2,YINC=5
+"RTN","TMGGRC2A",217,0)
+       . ELSE  DO
+"RTN","TMGGRC2A",218,0)
+       . . SET TITLE="Length-for-Age (Birth to 5 Years)"
+"RTN","TMGGRC2A",219,0)
+       . . SET YMIN=40,YMAX=125
+"RTN","TMGGRC2A",220,0)
+       . . SET XMIN=0,XMAX=61
+"RTN","TMGGRC2A",221,0)
+       . . SET XINC=2,YINC=5
+"RTN","TMGGRC2A",222,0)
+       . SET YTITLE="LENGTH (cm)"
+"RTN","TMGGRC2A",223,0)
+       . SET XTITLE="AGE (MONTHS)"
+"RTN","TMGGRC2A",224,0)
+       ELSE  IF GRAPHTYP["WHO-WA" DO
+"RTN","TMGGRC2A",225,0)
+       . IF $PIECE(GRAPHTYP,"-",3)="B6" DO
+"RTN","TMGGRC2A",226,0)
+       . . SET TITLE="Weight-for-Age (Birth to 6 Months)"
+"RTN","TMGGRC2A",227,0)
+       . . SET YMIN=0,YMAX=10
+"RTN","TMGGRC2A",228,0)
+       . . SET XMIN=0,XMAX=6
+"RTN","TMGGRC2A",229,0)
+       . . SET XINC=1,YINC=1
+"RTN","TMGGRC2A",230,0)
+       . ELSE  IF $PIECE(GRAPHTYP,"-",3)="B2" DO
+"RTN","TMGGRC2A",231,0)
+       . . SET TITLE="Weight-for-Age (Birth to 2 Years)"
+"RTN","TMGGRC2A",232,0)
+       . . SET YMIN=0,YMAX=16
+"RTN","TMGGRC2A",233,0)
+       . . SET XMIN=0,XMAX=25
+"RTN","TMGGRC2A",234,0)
+       . . SET XINC=1,YINC=1
+"RTN","TMGGRC2A",235,0)
+       . ELSE  IF $PIECE(GRAPHTYP,"-",3)="62" DO
+"RTN","TMGGRC2A",236,0)
+       . . SET TITLE="Weight-for-Age (6 Months to 2 Years)"
+"RTN","TMGGRC2A",237,0)
+       . . SET YMIN=5,YMAX=16
+"RTN","TMGGRC2A",238,0)
+       . . SET XMIN=6,XMAX=25
+"RTN","TMGGRC2A",239,0)
+       . . SET XINC=1,YINC=1
+"RTN","TMGGRC2A",240,0)
+       . ELSE  IF $PIECE(GRAPHTYP,"-",3)="25" DO
+"RTN","TMGGRC2A",241,0)
+       . . SET TITLE="Weight-for-Age (2 Years to 5 Years)"
+"RTN","TMGGRC2A",242,0)
+       . . SET YMIN=8,YMAX=26
+"RTN","TMGGRC2A",243,0)
+       . . SET XMIN=23,XMAX=61
+"RTN","TMGGRC2A",244,0)
+       . . SET XINC=2,YINC=1
+"RTN","TMGGRC2A",245,0)
+       . ELSE  DO
+"RTN","TMGGRC2A",246,0)
+       . . SET TITLE="Weight-for-Age (Birth to 5 Years)"
+"RTN","TMGGRC2A",247,0)
+       . . SET YMIN=0,YMAX=25
+"RTN","TMGGRC2A",248,0)
+       . . SET XMIN=0,XMAX=61
+"RTN","TMGGRC2A",249,0)
+       . . SET XINC=2,YINC=2
+"RTN","TMGGRC2A",250,0)
+       . SET YTITLE="WEIGHT (kg)"
+"RTN","TMGGRC2A",251,0)
+       . SET XTITLE="AGE (MONTHS)"
+"RTN","TMGGRC2A",252,0)
+       ELSE  IF GRAPHTYP["WHO-HC" DO
+"RTN","TMGGRC2A",253,0)
+       . IF $PIECE(GRAPHTYP,"-",3)="BT" DO
+"RTN","TMGGRC2A",254,0)
+       . . SET TITLE="Head circumference-for-Age (Birth to 13 Weeks)"
+"RTN","TMGGRC2A",255,0)
+       . . SET YMIN=31,YMAX=43
+"RTN","TMGGRC2A",256,0)
+       . . SET XMIN=0,XMAX=3.25
+"RTN","TMGGRC2A",257,0)
+       . . SET XINC=.25,YINC=1
+"RTN","TMGGRC2A",258,0)
+       . ELSE  IF $PIECE(GRAPHTYP,"-",3)="B2" DO
+"RTN","TMGGRC2A",259,0)
+       . . SET TITLE="Head circumference-for-Age (Birth to 2 Years)"
+"RTN","TMGGRC2A",260,0)
+       . . SET YMIN=31,YMAX=51
+"RTN","TMGGRC2A",261,0)
+       . . SET XMIN=0,XMAX=25
+"RTN","TMGGRC2A",262,0)
+       . . SET XINC=2,YINC=1
+"RTN","TMGGRC2A",263,0)
+       . ELSE  DO
+"RTN","TMGGRC2A",264,0)
+       . . SET TITLE="Head circumference-for-Age (Birth to 5 Years)"
+"RTN","TMGGRC2A",265,0)
+       . . SET YMIN=31,YMAX=53
+"RTN","TMGGRC2A",266,0)
+       . . SET XMIN=0,XMAX=61
+"RTN","TMGGRC2A",267,0)
+       . . SET XINC=2,YINC=2
+"RTN","TMGGRC2A",268,0)
+       . SET YTITLE="HEAD CIRC (cm)"
+"RTN","TMGGRC2A",269,0)
+       . SET XTITLE="AGE (MONTHS)"
+"RTN","TMGGRC2A",270,0)
+       ELSE  IF GRAPHTYP["WHO-WL" DO
+"RTN","TMGGRC2A",271,0)
+       . SET TITLE="Weight-for-height "
+"RTN","TMGGRC2A",272,0)
+       . SET YTITLE="WEIGHT (kg)"
+"RTN","TMGGRC2A",273,0)
+       . SET YMIN=5,YMAX=29
+"RTN","TMGGRC2A",274,0)
+       . SET XTITLE="LENGTH (cm)"
+"RTN","TMGGRC2A",275,0)
+       . SET XMIN=65,XMAX=130
+"RTN","TMGGRC2A",276,0)
+       . SET XINC=5,YINC=2
+"RTN","TMGGRC2A",277,0)
+       ELSE  IF GRAPHTYP["WHO-WS" DO
+"RTN","TMGGRC2A",278,0)
+       . SET TITLE="WHO - WEIGHT FOR STATURE  "_TITLE
+"RTN","TMGGRC2A",279,0)
+       . SET YTITLE="WEIGHT (kg)"
+"RTN","TMGGRC2A",280,0)
+       . SET YMIN=0,YMAX=20
+"RTN","TMGGRC2A",281,0)
+       . SET XTITLE="STATURE (cm)"
+"RTN","TMGGRC2A",282,0)
+       . SET XMIN=60,XMAX=150
+"RTN","TMGGRC2A",283,0)
+       . SET XMIN=0,XMAX=60
+"RTN","TMGGRC2A",284,0)
+       . SET XTITLE="AGE (MONTHS)"
+"RTN","TMGGRC2A",285,0)
+       ;
+"RTN","TMGGRC2A",286,0)
+       NEW GENDERTITLE
+"RTN","TMGGRC2A",287,0)
+       IF GENDER="F" SET GENDERTITLE="GIRLS "
+"RTN","TMGGRC2A",288,0)
+       ELSE  SET GENDERTITLE="BOYS "
+"RTN","TMGGRC2A",289,0)
+       IF $PIECE(GRAPHTYP,"-",1)="WHO" SET TITLE=TITLE_" -- "_GENDERTITLE_" -- WHO DATA"
+"RTN","TMGGRC2A",290,0)
+       ELSE  SET TITLE=GENDERTITLE_TITLE
+"RTN","TMGGRC2A",291,0)
+       ;
+"RTN","TMGGRC2A",292,0)
+       NEW SOURCE,ACCESSDT
+"RTN","TMGGRC2A",293,0)
+       IF GRAPHTYP["WHO" DO
+"RTN","TMGGRC2A",294,0)
+       . SET SOURCE="http://www.who.int/childgrowth/standards/en/"
+"RTN","TMGGRC2A",295,0)
+       . SET ACCESSDT="2/1/2011"
+"RTN","TMGGRC2A",296,0)
+       ELSE  DO
+"RTN","TMGGRC2A",297,0)
+       . SET SOURCE="http://www.cdc.gov/growthcharts/percentile_data_files.htm"
+"RTN","TMGGRC2A",298,0)
+       . SET ACCESSDT="10/21/2010"
+"RTN","TMGGRC2A",299,0)
+       DO SETGRAPH^TMGGRC3F(.ROOT,TITLE,XMIN,XMAX,XTITLE,YMIN,YMAX,YTITLE,XINC,YINC,SOURCE,ACCESSDT,GRAPHTYP) ;
+"RTN","TMGGRC2A",300,0)
+          ;
+"RTN","TMGGRC2A",301,0)
+          ; JS to draw separation line below; not drawn here. Actual call in SetupGraph produced in TMGGRC3.
+"RTN","TMGGRC2A",302,0)
+       IF GRAPHTYP="WHO-HA-B5" DO ADDWHOL1^TMGGRC3F(.ROOT)  ; JS to Draw line to separate height/length (doesn't actually draw line)
+"RTN","TMGGRC2A",303,0)
+          IF GRAPHTYP="WHO-BA-B5" DO ADDWHOL2^TMGGRC3F(.ROOT)  ; JS to Draw line to separate height/length (doesn't actually draw line)
+"RTN","TMGGRC2A",304,0)
+       QUIT
+"RTN","TMGGRC2A",305,0)
+       ;
+"RTN","TMGGRC2B")
+0^24^B135547639
+"RTN","TMGGRC2B",1,0)
+TMGGRC2B       ;TMG/kst-Work with Growth Chart Data ;10/5/10 ; 9/27/11 9:41am
+"RTN","TMGGRC2B",2,0)
+        ;;1.0;TMG-LIB;**1,17**;10/5/10;Build 23
+"RTN","TMGGRC2B",3,0)
+       ;
+"RTN","TMGGRC2B",4,0)
+       ;"Code for working with pediatric growth chart data.
+"RTN","TMGGRC2B",5,0)
+       ;"This helps generate javascript code to pass back to WebBrowser
+"RTN","TMGGRC2B",6,0)
+       ;             
+"RTN","TMGGRC2B",7,0)
+       ;"Kevin Toppenberg MD and Eddie Hagood
+"RTN","TMGGRC2B",8,0)
+       ;"(C) 10/5/10
+"RTN","TMGGRC2B",9,0)
+       ;"Released under: GNU General Public License (GPL)
+"RTN","TMGGRC2B",10,0)
+       ;
+"RTN","TMGGRC2B",11,0)
+       ;"=======================================================================
+"RTN","TMGGRC2B",12,0)
+       ;"PRIVATE API FUNCTIONS
+"RTN","TMGGRC2B",13,0)
+       ;"=======================================================================
+"RTN","TMGGRC2B",14,0)
+       ;"SETGRAPH(ROOT,AGEYR,GENDER,GRAPHTYP,TMGERR) --Setup labels, range etc for graph.
+"RTN","TMGGRC2B",15,0)
+       ;"SETLINES(ROOT,DFN,DOB,AGEYR,GENDER,GRAPHTYP,TMGERR) -- send out data for REFERENCE lines.
+"RTN","TMGGRC2B",16,0)
+       ;"SETRLINE(ROOT,AGEYR,GENDER,GRAPHTYP,TMGERR) -- send out data for REFERENCE lines.
+"RTN","TMGGRC2B",17,0)
+       ;"SETPLINE(ROOT,DFN,DOB,AGEYR,GENDER,GRAPHTYP,TMGERR) -- send out data for PATIENT data line.
+"RTN","TMGGRC2B",18,0)
+       ;"GETDATA(DFN,VITIEN,DOB,STARTDT,ENDDT,GRAPHTYP,ARRAY) --populate ARRAY with desired vitals data for date range
+"RTN","TMGGRC2B",19,0)
+       ;"CVTMETRC(VITIEN,DATA) -- convert English measurements to metric
+"RTN","TMGGRC2B",20,0)
+       ;"GETDATES(DOB,MONMIN,MAXMON,STARTDT,ENDDT) --Convert DOB + age range into absolute starting and ending date
+"RTN","TMGGRC2B",21,0)
+       ;"=======================================================================
+"RTN","TMGGRC2B",22,0)
+       ;
+"RTN","TMGGRC2B",23,0)
+SETLINES(ROOT,DFN,DOB,AGEYR,GENDER,GRAPHTYP,TMGERR)        ;
+"RTN","TMGGRC2B",24,0)
+       ;"Purpose: to send out data for REFERENCE lines.
+"RTN","TMGGRC2B",25,0)
+       ;"Input: ROOT -- Pass by NAME.  This is where output goes
+"RTN","TMGGRC2B",26,0)
+       ;"       DFN -- Patient DFN
+"RTN","TMGGRC2B",27,0)
+       ;"       DOB -- Patient DOB
+"RTN","TMGGRC2B",28,0)
+       ;"       AGEYR -- Patient age in *YEARS*
+"RTN","TMGGRC2B",29,0)
+       ;"       GENDER -- Patient SEX -- Should be 'M' OR 'F'
+"RTN","TMGGRC2B",30,0)
+       ;"       GRAPHTYP -- Graph Type, See above for documentation
+"RTN","TMGGRC2B",31,0)
+       ;"      TMGERR -- PASS BY REFERENCE.  An OUT Parameter.
+"RTN","TMGGRC2B",32,0)
+       ;"Results: None
+"RTN","TMGGRC2B",33,0)
+       ;"Output: @ROOT is filled
+"RTN","TMGGRC2B",34,0)
+       DO STRTLINE^TMGGRC3F(.ROOT)    ;
+"RTN","TMGGRC2B",35,0)
+       DO SETRLINE(ROOT,AGE,GENDER,GRAPHTYP,.TMGERR)  QUIT:($D(TMGERR))
+"RTN","TMGGRC2B",36,0)
+       DO SETPLINE(ROOT,DFN,DOB,AGE,GENDER,GRAPHTYP,.TMGERR)  QUIT:($D(TMGERR))
+"RTN","TMGGRC2B",37,0)
+       DO ENDLINES^TMGGRC3F(ROOT)    ;
+"RTN","TMGGRC2B",38,0)
+       QUIT
+"RTN","TMGGRC2B",39,0)
+       ;
+"RTN","TMGGRC2B",40,0)
+SETRLINE(ROOT,AGEYR,GENDER,GRAPHTYP,TMGERR)        ;
+"RTN","TMGGRC2B",41,0)
+       ;"Purpose: to send out data for REFERENCE lines.
+"RTN","TMGGRC2B",42,0)
+       ;"Input: ROOT -- Pass by NAME.  This is where output goes
+"RTN","TMGGRC2B",43,0)
+       ;"       AGEYR -- Patient age in *YEARS*
+"RTN","TMGGRC2B",44,0)
+       ;"       GENDER -- Patient SEX -- Should be 'M' OR 'F'
+"RTN","TMGGRC2B",45,0)
+       ;"       GRAPHTYP -- Graph Type, See above for documentation
+"RTN","TMGGRC2B",46,0)
+       ;"      TMGERR -- PASS BY REFERENCE.  An OUT Parameter.
+"RTN","TMGGRC2B",47,0)
+       ;"Results: None
+"RTN","TMGGRC2B",48,0)
+       ;"Output: @ROOT is filled
+"RTN","TMGGRC2B",49,0)
+       NEW ARRAY
+"RTN","TMGGRC2B",50,0)
+       SET GRAPHTYP=$GET(GRAPHTYP)
+"RTN","TMGGRC2B",51,0)
+       ;"Get normal curves values -- ARRAY(%tile,Age)=x^y
+"RTN","TMGGRC2B",52,0)
+       IF GRAPHTYP["INF-" DO
+"RTN","TMGGRC2B",53,0)
+       . IF GRAPHTYP="INF-LN" DO LENREF^TMGGRC1(1,GENDER,.ARRAY) QUIT
+"RTN","TMGGRC2B",54,0)
+       . IF GRAPHTYP="INF-WT" DO WTREF^TMGGRC1(1,GENDER,.ARRAY) QUIT
+"RTN","TMGGRC2B",55,0)
+       . IF GRAPHTYP="INF-HC" DO HCREF^TMGGRC1(1,GENDER,.ARRAY) QUIT
+"RTN","TMGGRC2B",56,0)
+       . IF GRAPHTYP="INF-BMI" DO BMIREF^TMGGRC1(1,GENDER,.ARRAY,"5,10,25,50,60,75,80,85,90,95") QUIT
+"RTN","TMGGRC2B",57,0)
+       . IF GRAPHTYP="INF-WT4L" DO WTLENREF^TMGGRC1(1,GENDER,.ARRAY,"5,10,25,50,75,80,90,95") QUIT
+"RTN","TMGGRC2B",58,0)
+       ELSE  IF GRAPHTYP["WHO" DO
+"RTN","TMGGRC2B",59,0)
+       . NEW MODE
+"RTN","TMGGRC2B",60,0)
+       . IF $PIECE(GRAPHTYP,"-",3)="BT" SET MODE=8
+"RTN","TMGGRC2B",61,0)
+       . ELSE  IF $PIECE(GRAPHTYP,"-",3)="62" SET MODE=7
+"RTN","TMGGRC2B",62,0)
+       . ELSE  IF $PIECE(GRAPHTYP,"-",3)="B2" SET MODE=4
+"RTN","TMGGRC2B",63,0)
+       . ELSE  IF ($PIECE(GRAPHTYP,"-",3)="25")!(GRAPHTYP="WHO-WL") SET MODE=5
+"RTN","TMGGRC2B",64,0)
+       . ELSE  IF $PIECE(GRAPHTYP,"-",3)="B6" SET MODE=6
+"RTN","TMGGRC2B",65,0)
+       . ELSE  SET MODE=3
+"RTN","TMGGRC2B",66,0)
+       . IF GRAPHTYP["WHO-BA" DO WHBMIREF^TMGGRC1(MODE,GENDER,.ARRAY,"3,15,50,85,97") QUIT
+"RTN","TMGGRC2B",67,0)
+       . IF GRAPHTYP["WHO-HA" DO WHHAREF^TMGGRC1(MODE,GENDER,.ARRAY,"3,15,50,85,97") QUIT
+"RTN","TMGGRC2B",68,0)
+       . IF GRAPHTYP["WHO-WA" DO WHWAREF^TMGGRC1(MODE,GENDER,.ARRAY,"3,15,50,85,97") QUIT
+"RTN","TMGGRC2B",69,0)
+       . IF GRAPHTYP["WHO-HC" DO WHHCREF^TMGGRC1(MODE,GENDER,.ARRAY,"3,15,50,85,97") QUIT
+"RTN","TMGGRC2B",70,0)
+       . IF GRAPHTYP["WHO-WL" DO WHWLREF^TMGGRC1(MODE,GENDER,.ARRAY,"3,15,50,85,97") QUIT
+"RTN","TMGGRC2B",71,0)
+       . IF GRAPHTYP["WHO-WS" DO WHWSREF^TMGGRC1(MODE,GENDER,.ARRAY,"3,15,50,85,97") QUIT
+"RTN","TMGGRC2B",72,0)
+       ELSE  DO
+"RTN","TMGGRC2B",73,0)
+       . IF GRAPHTYP="CH-HT" DO LENREF^TMGGRC1(2,GENDER,.ARRAY) QUIT
+"RTN","TMGGRC2B",74,0)
+       . IF GRAPHTYP="CH-WT" DO WTREF^TMGGRC1(2,GENDER,.ARRAY,"5,10,25,50,60,75,80,85,90,95") QUIT
+"RTN","TMGGRC2B",75,0)
+       . IF GRAPHTYP="CH-BMI" DO BMIREF^TMGGRC1(2,GENDER,.ARRAY,"5,10,25,50,60,75,80,85,90,95") QUIT
+"RTN","TMGGRC2B",76,0)
+       . IF GRAPHTYP="CH-WT4S" DO WTLENREF^TMGGRC1(2,GENDER,.ARRAY) QUIT
+"RTN","TMGGRC2B",77,0)
+       . IF GRAPHTYP="CH-WT4S" DO WTLENREF^TMGGRC1(2,GENDER,.ARRAY) QUIT
+"RTN","TMGGRC2B",78,0)
+       ;
+"RTN","TMGGRC2B",79,0)
+       NEW PCTL SET PCTL=0
+"RTN","TMGGRC2B",80,0)
+       NEW LABLX SET LABLX=""
+"RTN","TMGGRC2B",81,0)
+       ;"Loop through each normal line (e.g. 5th %tile, then 10th%tile etc...
+"RTN","TMGGRC2B",82,0)
+       ;"-----------------------ehs change---------------------
+"RTN","TMGGRC2B",83,0)
+       NEW IILINE,REFLINE                              ;declare new variable
+"RTN","TMGGRC2B",84,0)
+       FOR IILINE=1:1 SET PCTL=$ORDER(ARRAY(PCTL)) QUIT:(PCTL="")  DO  ;make IILINE counter to count the number of lines
+"RTN","TMGGRC2B",85,0)
+       . NEW LINE
+"RTN","TMGGRC2B",86,0)
+       . IF LABLX="" DO
+"RTN","TMGGRC2B",87,0)
+       . . NEW J FOR J=1:1:2 SET LABLX=$ORDER(ARRAY(PCTL,LABLX),-1)
+"RTN","TMGGRC2B",88,0)
+       . NEW X SET X=""  ;"X Usually stores months, except in Weight For Length/Stature graphs
+"RTN","TMGGRC2B",89,0)
+       . FOR  SET X=$ORDER(ARRAY(PCTL,X)) QUIT:(X="")  DO
+"RTN","TMGGRC2B",90,0)
+       . . NEW VAL SET VAL=ARRAY(PCTL,X)
+"RTN","TMGGRC2B",91,0)
+       . . IF X=LABLX SET VAL=VAL_"^"_$$SETSUFIX^TMGGRCU(PCTL)
+"RTN","TMGGRC2B",92,0)
+       . . NEW XVAL SET XVAL=X
+"RTN","TMGGRC2B",93,0)
+       . . IF GRAPHTYP["CH-" DO
+"RTN","TMGGRC2B",94,0)
+       . . . SET XVAL=+$JUSTIFY(X/12,0,1)
+"RTN","TMGGRC2B",95,0)
+       . . . SET $PIECE(VAL,"^",1)=XVAL
+"RTN","TMGGRC2B",96,0)
+       . . SET LINE(XVAL)=VAL
+"RTN","TMGGRC2B",97,0)
+       . ;"Add one reference/normal line
+"RTN","TMGGRC2B",98,0)
+    . SET REFLINE=1                    ;set the value of REFLINE to be 1 
+"RTN","TMGGRC2B",99,0)
+    . IF (IILINE=4&(GRAPHTYP["CH-"!(GRAPHTYP["INF-")))!(IILINE=3&(GRAPHTYP["WHO-")) SET REFLINE=2  ;the if statment that detect the 50% tile line in all graphs  
+"RTN","TMGGRC2B",100,0)
+    . DO ADDLINE^TMGGRC3F(.ROOT,.LINE,REFLINE)  ;" Add Data Set for a reference Line
+"RTN","TMGGRC2B",101,0)
+       QUIT
+"RTN","TMGGRC2B",102,0)
+       ;"----------------------------------------------------end ehs change----------------------------------------
+"RTN","TMGGRC2B",103,0)
+SETPLINE(ROOT,DFN,DOB,AGEYR,GENDER,GRAPHTYP,TMGERR)        ;
+"RTN","TMGGRC2B",104,0)
+       ;"Purpose: to send out data for PATIENT data line.
+"RTN","TMGGRC2B",105,0)
+       ;"Input: ROOT -- Pass by NAME.  This is where output goes
+"RTN","TMGGRC2B",106,0)
+       ;"       DFN -- Patient DFN
+"RTN","TMGGRC2B",107,0)
+       ;"       DOB -- Patient DOB
+"RTN","TMGGRC2B",108,0)
+       ;"       AGEYR -- Patient age in *YEARS*
+"RTN","TMGGRC2B",109,0)
+       ;"       GENDER -- Patient SEX -- Should be 'M' OR 'F'
+"RTN","TMGGRC2B",110,0)
+       ;"       GRAPHTYP -- Graph Type, See above for documentation
+"RTN","TMGGRC2B",111,0)
+       ;"       TMGERR -- PASS BY REFERENCE.  An OUT Parameter.
+"RTN","TMGGRC2B",112,0)
+       ;"Results: None
+"RTN","TMGGRC2B",113,0)
+       ;"Output: @ROOT is filled
+"RTN","TMGGRC2B",114,0)
+       ;
+"RTN","TMGGRC2B",115,0)
+       NEW STARTDT,ENDDT,ARRAY,VITIEN,RESULT
+"RTN","TMGGRC2B",116,0)
+       SET GRAPHTYP=$GET(GRAPHTYP)
+"RTN","TMGGRC2B",117,0)
+       IF GRAPHTYP["INF-" DO
+"RTN","TMGGRC2B",118,0)
+       . DO GETDATES^TMGGRC2C(DOB,0,36,.STARTDT,.ENDDT) ;
+"RTN","TMGGRC2B",119,0)
+       ELSE  IF GRAPHTYP["WHO" DO
+"RTN","TMGGRC2B",120,0)
+       . ;"//kt Eddie -- fix.  If called with WHO-BA, then no 3rd piece, and STARTDT and ENDDT not set --> error
+"RTN","TMGGRC2B",121,0)
+       . IF $PIECE(GRAPHTYP,"-",3)="BT" DO GETDATES^TMGGRC2C(DOB,0,3.25,.STARTDT,.ENDDT) ;
+"RTN","TMGGRC2B",122,0)
+       . ELSE  IF $PIECE(GRAPHTYP,"-",3)="62" DO GETDATES^TMGGRC2C(DOB,6,24,.STARTDT,.ENDDT) ;
+"RTN","TMGGRC2B",123,0)
+       . ELSE  IF $PIECE(GRAPHTYP,"-",3)="B2" DO GETDATES^TMGGRC2C(DOB,0,24,.STARTDT,.ENDDT) ;
+"RTN","TMGGRC2B",124,0)
+       . ELSE  IF $PIECE(GRAPHTYP,"-",3)="25" DO GETDATES^TMGGRC2C(DOB,24,60,.STARTDT,.ENDDT) ;
+"RTN","TMGGRC2B",125,0)
+       . ELSE  IF $PIECE(GRAPHTYP,"-",3)="B6" DO GETDATES^TMGGRC2C(DOB,0,7,.STARTDT,.ENDDT) ;
+"RTN","TMGGRC2B",126,0)
+       . ELSE  IF $PIECE(GRAPHTYP,"-",3)="B5" DO GETDATES^TMGGRC2C(DOB,0,60,.STARTDT,.ENDDT) ;
+"RTN","TMGGRC2B",127,0)
+       . ELSE  IF GRAPHTYP["WHO-WL" DO GETDATES^TMGGRC2C(DOB,24,60,.STARTDT,.ENDDT) ;
+"RTN","TMGGRC2B",128,0)
+       ELSE  DO
+"RTN","TMGGRC2B",129,0)
+       . DO GETDATES^TMGGRC2C(DOB,24,240,.STARTDT,.ENDDT) ;
+"RTN","TMGGRC2B",130,0)
+       ;
+"RTN","TMGGRC2B",131,0)
+       IF (GRAPHTYP["-HT")!(GRAPHTYP["WHO-HA")!(GRAPHTYP["-LN") DO
+"RTN","TMGGRC2B",132,0)
+       . SET VITIEN=+$ORDER(^GMRD(120.51,"B","HEIGHT",0))
+"RTN","TMGGRC2B",133,0)
+       ELSE  IF (GRAPHTYP["-HC")!(GRAPHTYP["WHO-HC") DO
+"RTN","TMGGRC2B",134,0)
+       . SET VITIEN=+$ORDER(^GMRD(120.51,"B","CIRCUMFERENCE/GIRTH",0))
+"RTN","TMGGRC2B",135,0)
+       ELSE  IF (GRAPHTYP["-WT")!(GRAPHTYP["WHO-WA") DO
+"RTN","TMGGRC2B",136,0)
+       . SET VITIEN=+$ORDER(^GMRD(120.51,"B","WEIGHT",0))
+"RTN","TMGGRC2B",137,0)
+       ELSE  IF (GRAPHTYP["-BMI")!(GRAPHTYP["WHO-BA") DO
+"RTN","TMGGRC2B",138,0)
+       . SET VITIEN="BMI"
+"RTN","TMGGRC2B",139,0)
+       ELSE  SET VITIEN=0
+"RTN","TMGGRC2B",140,0)
+       SET RESULT=$$GETDATA(DFN,VITIEN,DOB,.STARTDT,.ENDDT,GRAPHTYP,.ARRAY) ;
+"RTN","TMGGRC2B",141,0)
+       ;"NEW MODE SET MODE=$SELECT(GRAPHTYP["-WT4":1,(1=1):2)
+"RTN","TMGGRC2B",142,0)
+       DO ADDLINE^TMGGRC3F(.ROOT,.ARRAY,0)  ;" Add PATIENT Data Set
+"RTN","TMGGRC2B",143,0)
+       DO ADDTABLE^TMGGRC3F(.ROOT,.ARRAY,GRAPHTYP)  ;" Add Table of Patient Data Set
+"RTN","TMGGRC2B",144,0)
+       QUIT
+"RTN","TMGGRC2B",145,0)
+       ;
+"RTN","TMGGRC2B",146,0)
+GETDATA(DFN,VITIEN,DOB,STARTDT,ENDDT,GRAPHTYP,ARRAY)        ;
+"RTN","TMGGRC2B",147,0)
+       ;"Purpose: To populate ARRAY with desired vitals data for date range
+"RTN","TMGGRC2B",148,0)
+       ;"Input: DFN -- The IEN in PATIENT file for patient
+"RTN","TMGGRC2B",149,0)
+       ;"       VITIEN -- The IEN in 120.51 specifying which vital type to return (e.g. HEIGHT, vs WEIGHT etc.
+"RTN","TMGGRC2B",150,0)
+       ;"          There is no BMI vital type. If vital type is BMI then VITIEN will equal BMI.
+"RTN","TMGGRC2B",151,0)
+       ;"       DOB -- Patient's DOB -- in FMDate format
+"RTN","TMGGRC2B",152,0)
+       ;"       STARTDT -- Start of desired date range, in FMDate format
+"RTN","TMGGRC2B",153,0)
+       ;"       ENDDT -- End of desired date range, in FMDate format
+"RTN","TMGGRC2B",154,0)
+       ;"       GRAPHTYP -- Graph Type, See above for documentation
+"RTN","TMGGRC2B",155,0)
+       ;"       ARRAY -- PASS BY REFERENCE, AN OUT PARAMETER.  See format below.
+"RTN","TMGGRC2B",156,0)
+       ;"Result: RESULT: -1^MESSAGE  OR 1^MESSAGE
+"RTN","TMGGRC2B",157,0)
+       ;"Output: ARRAY filled as follows.  Format:
+"RTN","TMGGRC2B",158,0)
+       ;"           NOTE: AGE is in months if GRAPHTYP["INF-", otherwise it is in years
+"RTN","TMGGRC2B",159,0)
+       ;"           ARRAY(Index#)=Age^ValueInMetric^^DateOfValue^^%tile
+"RTN","TMGGRC2B",160,0)
+       ;"              or  ARRAY(Index#)=HeightOrStatureInCm^WeightInKg^^DateOfValue^Age^%tile  if GRAPHTYP["-WT4"
+"RTN","TMGGRC2B",161,0)
+       ;"NOTE: Vitals are store in English format, and needs to be converted to metric
+"RTN","TMGGRC2B",162,0)
+       ;"NOTE: If desired vital type is BMI, then it will have to be calculated here, I think...
+"RTN","TMGGRC2B",163,0)
+       ;
+"RTN","TMGGRC2B",164,0)
+       ;"Use index --> ^PXRMINDX(120.5,"PI",DFN,MEASUREMENT_IEN,DATE/TIME,IEN)
+"RTN","TMGGRC2B",165,0)
+       ;" e.g. ^PXRMINDX(120.5,"PI",DFN,VITIEN,DATE/TIME,IENofStoredVitals
+"RTN","TMGGRC2B",166,0)
+       NEW THISDT SET THISDT=0
+"RTN","TMGGRC2B",167,0)
+       NEW IDX SET IDX=1
+"RTN","TMGGRC2B",168,0)
+       KILL ARRAY
+"RTN","TMGGRC2B",169,0)
+       NEW GENDER SET GENDER=$PIECE($GET(^DPT(DFN,0)),"^",2)
+"RTN","TMGGRC2B",170,0)
+       SET RESULT="1^SUCCESSFUL"
+"RTN","TMGGRC2B",171,0)
+       IF (VITIEN="BMI")!(GRAPHTYP["-WT4")!(GRAPHTYP["WHO-BA")!(GRAPHTYP["WHO-WL")!(GRAPHTYP["WHO-WS") DO
+"RTN","TMGGRC2B",172,0)
+       . NEW HTTYPE,WTTYPE
+"RTN","TMGGRC2B",173,0)
+       . SET HTTYPE=+$ORDER(^GMRD(120.51,"B","HEIGHT",0))
+"RTN","TMGGRC2B",174,0)
+       . SET WTTYPE=+$ORDER(^GMRD(120.51,"B","WEIGHT",0))
+"RTN","TMGGRC2B",175,0)
+       . FOR  SET THISDT=$ORDER(^PXRMINDX(120.5,"PI",DFN,WTTYPE,THISDT)) QUIT:(+THISDT'>0)!(+RESULT=-1)  DO
+"RTN","TMGGRC2B",176,0)
+       . . NEW THISDTEX  DO
+"RTN","TMGGRC2B",177,0)
+       . . . NEW Y SET Y=THISDT\1  ;"Trim off Time
+"RTN","TMGGRC2B",178,0)
+       . . . X ^DD("DD")  ;"Y output as: e.g. "JUL 20,1969"
+"RTN","TMGGRC2B",179,0)
+       . . . SET THISDTEX=Y
+"RTN","TMGGRC2B",180,0)
+       . . NEW HTIEN,HTDATE,HEIGHT
+"RTN","TMGGRC2B",181,0)
+       . . SET HTDATE=+$ORDER(^PXRMINDX(120.5,"PI",DFN,HTTYPE,THISDT\1)) QUIT:HTDATE'>0
+"RTN","TMGGRC2B",182,0)
+       . . IF (HTDATE\1)'=(THISDT\1) QUIT
+"RTN","TMGGRC2B",183,0)
+       . . SET HTIEN=+$ORDER(^PXRMINDX(120.5,"PI",DFN,HTTYPE,HTDATE,0))
+"RTN","TMGGRC2B",184,0)
+       . . SET HEIGHT=$PIECE($GET(^GMR(120.5,HTIEN,0)),"^",8)  ;"English (not metric) units here
+"RTN","TMGGRC2B",185,0)
+       . . IF HEIGHT'>0 DO  QUIT
+"RTN","TMGGRC2B",186,0)
+       . . . SET RESULT="-1^NO HEIGHT RECORDED TO CALCULATE BMI"
+"RTN","TMGGRC2B",187,0)
+       . . IF (THISDT'<STARTDT)&(THISDT'>ENDDT) DO
+"RTN","TMGGRC2B",188,0)
+       . . . NEW RECIEN SET RECIEN=0
+"RTN","TMGGRC2B",189,0)
+       . . . FOR  SET RECIEN=+$ORDER(^PXRMINDX(120.5,"PI",DFN,WTTYPE,THISDT,RECIEN)) QUIT:(+RECIEN'>0)  DO
+"RTN","TMGGRC2B",190,0)
+       . . . . NEW X1,X2,METDATA
+"RTN","TMGGRC2B",191,0)
+       . . . . SET X2=DOB
+"RTN","TMGGRC2B",192,0)
+       . . . . SET X1=$PIECE($GET(^GMR(120.5,RECIEN,0)),"^",1)
+"RTN","TMGGRC2B",193,0)
+       . . . . DO ^%DTC  ;"OUTPUT X=X1-X2, in days
+"RTN","TMGGRC2B",194,0)
+       . . . . NEW AGE SET AGE=X  ;Days
+"RTN","TMGGRC2B",195,0)
+       . . . . NEW AGEYR SET AGEYR=X/365    ;"+$JUSTIFY(X/365,0,1) ;"in years
+"RTN","TMGGRC2B",196,0)
+       . . . . IF GRAPHTYP["CH-" SET AGE=AGEYR
+"RTN","TMGGRC2B",197,0)
+       . . . . ELSE  SET AGE=X/30     ;"+$JUSTIFY(X/30,0,1) ;"in months
+"RTN","TMGGRC2B",198,0)
+       . . . . NEW L SET L=+$ORDER(^PXRMINDX(120.5,"PI",DFN,WTTYPE,THISDT,0))
+"RTN","TMGGRC2B",199,0)
+       . . . . NEW WEIGHT SET WEIGHT=$PIECE($GET(^GMR(120.5,L,0)),"^",8) ;"English units
+"RTN","TMGGRC2B",200,0)
+       . . . . NEW PCTL SET PCTL=""
+"RTN","TMGGRC2B",201,0)
+       . . . . IF (GRAPHTYP["-WT4")!(GRAPHTYP["WHO-WL")!(GRAPHTYP["WHO-WS") DO
+"RTN","TMGGRC2B",202,0)
+       . . . . . SET METDATA=$$CVTMETRC^TMGGRC2C("W4LS",WEIGHT_"^"_HEIGHT)  ;"returns 'Ht^Wt'
+"RTN","TMGGRC2B",203,0)
+       . . . . . SET PCTL=$$PCTILE^TMGGRC2C(GRAPHTYP,AGEYR,GENDER,WEIGHT/2.2,HEIGHT*2.54)
+"RTN","TMGGRC2B",204,0)
+       . . . . . SET ARRAY(IDX)=METDATA_"^^"_THISDTEX_"^"_AGE_"^"_PCTL     ;"HeightOrStatureInCm^WeightInKg^^DateOfValue^Age^%tile
+"RTN","TMGGRC2B",205,0)
+       . . . . ELSE  DO  ;"BMI
+"RTN","TMGGRC2B",206,0)
+       . . . . . SET METDATA=$$CVTMETRC^TMGGRC2C("BMI",WEIGHT_"^"_HEIGHT)
+"RTN","TMGGRC2B",207,0)
+       . . . . . SET PCTL=$$PCTILE^TMGGRC2C(GRAPHTYP,AGEYR,GENDER,METDATA)
+"RTN","TMGGRC2B",208,0)
+       . . . . . SET ARRAY(IDX)=AGE_"^"_METDATA_"^^"_THISDTEX_"^^"_PCTL    ;"Age^ValueInMetric^^DateOfValue^^%tile
+"RTN","TMGGRC2B",209,0)
+       . . . . SET IDX=IDX+1
+"RTN","TMGGRC2B",210,0)
+       ELSE  DO
+"RTN","TMGGRC2B",211,0)
+       . FOR  SET THISDT=$ORDER(^PXRMINDX(120.5,"PI",DFN,VITIEN,THISDT)) QUIT:(+THISDT'>0)  DO
+"RTN","TMGGRC2B",212,0)
+       . . IF (THISDT'<STARTDT)&(THISDT'>ENDDT) DO
+"RTN","TMGGRC2B",213,0)
+       . . . NEW THISDTEX  DO
+"RTN","TMGGRC2B",214,0)
+       . . . . NEW Y SET Y=THISDT\1  ;"Trim off Time
+"RTN","TMGGRC2B",215,0)
+       . . . . X ^DD("DD")  ;"Y output as: e.g. "JUL 20,1969"
+"RTN","TMGGRC2B",216,0)
+       . . . . SET THISDTEX=Y
+"RTN","TMGGRC2B",217,0)
+       . . . NEW RECIEN SET RECIEN=0
+"RTN","TMGGRC2B",218,0)
+       . . . FOR  SET RECIEN=+$ORDER(^PXRMINDX(120.5,"PI",DFN,VITIEN,THISDT,RECIEN)) QUIT:(+RECIEN'>0)  DO
+"RTN","TMGGRC2B",219,0)
+       . . . . NEW X1,X2,METDATA
+"RTN","TMGGRC2B",220,0)
+       . . . . SET X2=DOB
+"RTN","TMGGRC2B",221,0)
+       . . . . SET X1=$PIECE($GET(^GMR(120.5,RECIEN,0)),"^",1)
+"RTN","TMGGRC2B",222,0)
+       . . . . DO ^%DTC
+"RTN","TMGGRC2B",223,0)
+       . . . . NEW AGE SET AGE=X  ;Days
+"RTN","TMGGRC2B",224,0)
+       . . . . NEW AGEYR SET AGEYR=X/365 ;"+$JUSTIFY(X/365,0,1) ;"in years
+"RTN","TMGGRC2B",225,0)
+       . . . . IF GRAPHTYP["CH-" SET AGE=AGEYR
+"RTN","TMGGRC2B",226,0)
+       . . . . ELSE  SET AGE=X/30 ;"+$JUSTIFY(X/30,0,1) ;"in months
+"RTN","TMGGRC2B",227,0)
+       . . . . SET METDATA=$$CVTMETRC^TMGGRC2C(VITIEN,$PIECE($GET(^GMR(120.5,RECIEN,0)),"^",8))
+"RTN","TMGGRC2B",228,0)
+       . . . . NEW PCTL SET PCTL=$$PCTILE^TMGGRC2C(GRAPHTYP,AGEYR,GENDER,METDATA)
+"RTN","TMGGRC2B",229,0)
+       . . . . SET ARRAY(IDX)=AGE_"^"_METDATA_"^^"_THISDTEX_"^^"_PCTL        ;"Age^ValueInMetric^^DateOfValue^^%tile
+"RTN","TMGGRC2B",230,0)
+       . . . . SET IDX=IDX+1
+"RTN","TMGGRC2B",231,0)
+       QUIT RESULT
+"RTN","TMGGRC2B",232,0)
+       ;
+"RTN","TMGGRC2C")
+0^25^B70356251
+"RTN","TMGGRC2C",1,0)
+TMGGRC2C       ;TMG/kst-Work with Growth Chart Data ;10/5/10 ; 9/27/11 9:41am
+"RTN","TMGGRC2C",2,0)
+        ;;1.0;TMG-LIB;**1,17**;10/5/10;Build 23
+"RTN","TMGGRC2C",3,0)
+       ;
+"RTN","TMGGRC2C",4,0)
+       ;"Code for working with pediatric growth chart data.
+"RTN","TMGGRC2C",5,0)
+       ;"This helps generate javascript code to pass back to WebBrowser
+"RTN","TMGGRC2C",6,0)
+       ;
+"RTN","TMGGRC2C",7,0)
+       ;"Kevin Toppenberg MD and Eddie Hagood
+"RTN","TMGGRC2C",8,0)
+       ;"(C) 10/5/10
+"RTN","TMGGRC2C",9,0)
+       ;"Released under: GNU General Public License (GPL)
+"RTN","TMGGRC2C",10,0)
+       ;
+"RTN","TMGGRC2C",11,0)
+       ;"=======================================================================
+"RTN","TMGGRC2C",12,0)
+       ;"PRIVATE API FUNCTIONS
+"RTN","TMGGRC2C",13,0)
+       ;"=======================================================================
+"RTN","TMGGRC2C",14,0)
+       ;"PCTILE(GRAPHTYP,AGEYR,GENDER,VALUE,V2) -- Return percentile of value for graph
+"RTN","TMGGRC2C",15,0)
+       ;"CVTMETRC(VITIEN,DATA) -- convert English measurements to metric
+"RTN","TMGGRC2C",16,0)
+       ;"GETDATES(DOB,MONMIN,MAXMON,STARTDT,ENDDT) --Convert DOB + age range into absolute starting and ending date
+"RTN","TMGGRC2C",17,0)
+       ;"ADDRPT -- Entry point not taking result variable, for KIDS
+"RTN","TMGGRC2C",18,0)
+       ;"ADDRPT0(RESULT)  -- install (add) the TMG GROWTH CHART MENU to ORWRP REPORT LIST.
+"RTN","TMGGRC2C",19,0)
+       ;"=======================================================================
+"RTN","TMGGRC2C",20,0)
+       ;
+"RTN","TMGGRC2C",21,0)
+PCTILE(GRAPHTYP,AGEYR,GENDER,VALUE,V2) ;
+"RTN","TMGGRC2C",22,0)
+       ;"Purpose: Return percentile of value for graph
+"RTN","TMGGRC2C",23,0)
+       NEW RESULT SET RESULT=""
+"RTN","TMGGRC2C",24,0)
+       IF GRAPHTYP["-LN" SET RESULT=$$LENPCTL^TMGGRC1(AGEYR,GENDER,VALUE) GOTO PCTDN
+"RTN","TMGGRC2C",25,0)
+       IF GRAPHTYP["-WT4" SET RESULT=$$WTLENPCT^TMGGRC1(AGEYR,GENDER,VALUE,V2) GOTO PCTDN
+"RTN","TMGGRC2C",26,0)
+       IF GRAPHTYP["-WT" SET RESULT=$$WTPCTL^TMGGRC1(AGEYR,GENDER,VALUE) GOTO PCTDN
+"RTN","TMGGRC2C",27,0)
+       IF GRAPHTYP["-HC" SET RESULT=$$HCPCTL^TMGGRC1(AGEYR,GENDER,VALUE) GOTO PCTDN
+"RTN","TMGGRC2C",28,0)
+       IF GRAPHTYP["-BMI" SET RESULT=$$BMIPCTL^TMGGRC1(AGEYR,GENDER,VALUE) GOTO PCTDN
+"RTN","TMGGRC2C",29,0)
+       IF GRAPHTYP["-HT" SET RESULT=$$LENPCTL^TMGGRC1(AGEYR,GENDER,VALUE) GOTO PCTDN
+"RTN","TMGGRC2C",30,0)
+       IF GRAPHTYP["WHO-BA" SET RESULT=$$WHBAPCTL^TMGGRC1(AGEYR,GENDER,VALUE) GOTO PCTDN
+"RTN","TMGGRC2C",31,0)
+       IF GRAPHTYP["WHO-HA" SET RESULT=$$WHHAPCTL^TMGGRC1(AGEYR,GENDER,VALUE) GOTO PCTDN
+"RTN","TMGGRC2C",32,0)
+       IF GRAPHTYP["WHO-WA" SET RESULT=$$WHWAPCTL^TMGGRC1(AGEYR,GENDER,VALUE) GOTO PCTDN
+"RTN","TMGGRC2C",33,0)
+       IF GRAPHTYP["WHO-HC" SET RESULT=$$WHHCPCTL^TMGGRC1(AGEYR,GENDER,VALUE) GOTO PCTDN
+"RTN","TMGGRC2C",34,0)
+       IF GRAPHTYP["WHO-WL" SET RESULT=$$WHWLPCTL^TMGGRC1(AGEYR,GENDER,VALUE,V2) GOTO PCTDN
+"RTN","TMGGRC2C",35,0)
+       IF GRAPHTYP["WHO-WS" SET RESULT=$$WHWSPCTL^TMGGRC1(AGEYR,GENDER,VALUE) GOTO PCTDN
+"RTN","TMGGRC2C",36,0)
+PCTDN  QUIT RESULT
+"RTN","TMGGRC2C",37,0)
+       ;
+"RTN","TMGGRC2C",38,0)
+       ;
+"RTN","TMGGRC2C",39,0)
+CVTMETRC(VITIEN,DATA) ;"CONVERT METRIC
+"RTN","TMGGRC2C",40,0)
+       ;"Purpose: To convert us measurements to metric
+"RTN","TMGGRC2C",41,0)
+       ;"Input: VITIEN -- The IEN in 120.51 specifying which vital type to return (e.g. HEIGHT, vs WEIGHT etc.
+"RTN","TMGGRC2C",42,0)
+       ;"          There is no BMI vital type. If vital type is BMI then VITIEN will equal BMI.
+"RTN","TMGGRC2C",43,0)
+       ;"       DATA -- In US measurement.
+"RTN","TMGGRC2C",44,0)
+       ;"        If VITIEN is BMI, then DATA is expected to equal WEIGHT(lbs)^HEIGHT(in)
+"RTN","TMGGRC2C",45,0)
+       ;"Result: Data converted into metric measurement units
+"RTN","TMGGRC2C",46,0)
+       ;"Output: None
+"RTN","TMGGRC2C",47,0)
+       NEW VITTYPE,RESULT
+"RTN","TMGGRC2C",48,0)
+       NEW HEIGHT,WEIGHT
+"RTN","TMGGRC2C",49,0)
+       SET RESULT=DATA
+"RTN","TMGGRC2C",50,0)
+       IF DATA=0  GOTO CMETQT
+"RTN","TMGGRC2C",51,0)
+       IF +VITIEN=VITIEN DO
+"RTN","TMGGRC2C",52,0)
+       . SET VITTYPE=$PIECE($GET(^GMRD(120.51,VITIEN,0)),"^",2)
+"RTN","TMGGRC2C",53,0)
+       ELSE  DO
+"RTN","TMGGRC2C",54,0)
+       . SET WEIGHT=$PIECE(DATA,"^",1)
+"RTN","TMGGRC2C",55,0)
+       . SET HEIGHT=$PIECE(DATA,"^",2)
+"RTN","TMGGRC2C",56,0)
+       . SET VITTYPE=VITIEN
+"RTN","TMGGRC2C",57,0)
+       ;
+"RTN","TMGGRC2C",58,0)
+       IF VITTYPE="HT" DO
+"RTN","TMGGRC2C",59,0)
+       . SET RESULT=DATA*2.54   ;"in to cm
+"RTN","TMGGRC2C",60,0)
+       . SET RESULT=$JUSTIFY(RESULT,0,0)  ;"round to nearest integer
+"RTN","TMGGRC2C",61,0)
+       ELSE  IF VITTYPE="WT" DO
+"RTN","TMGGRC2C",62,0)
+       . SET RESULT=DATA*0.45359237   ;"lbs to kg
+"RTN","TMGGRC2C",63,0)
+        ; . SET RESULT=$JUSTIFY(RESULT,0,1)  ;"round to nearest tenth - smh
+"RTN","TMGGRC2C",64,0)
+       ELSE  IF VITTYPE="CG" DO
+"RTN","TMGGRC2C",65,0)
+       . SET RESULT=DATA*2.54   ;"in to cm
+"RTN","TMGGRC2C",66,0)
+       . SET RESULT=$JUSTIFY(RESULT,0,1)  ;"round to nearest tenth
+"RTN","TMGGRC2C",67,0)
+       ELSE  IF VITTYPE="BMI" DO
+"RTN","TMGGRC2C",68,0)
+       . ;"NOTE:  BMI= weight(kg) / height(m) sq.
+"RTN","TMGGRC2C",69,0)
+       . IF HEIGHT'>0 SET RESULT=0 QUIT
+"RTN","TMGGRC2C",70,0)
+       . SET RESULT=(WEIGHT*0.4545)/((HEIGHT*0.0254)**2)
+"RTN","TMGGRC2C",71,0)
+       . SET RESULT=$JUSTIFY(RESULT,0,1)  ;"round to nearest tenth
+"RTN","TMGGRC2C",72,0)
+       ELSE  IF VITTYPE="W4LS" DO
+"RTN","TMGGRC2C",73,0)
+       . SET RESULT=+$JUSTIFY(HEIGHT*2.54,0,1)_"^"_+$JUSTIFY(WEIGHT*0.4545,0,1)
+"RTN","TMGGRC2C",74,0)
+CMETQT QUIT RESULT
+"RTN","TMGGRC2C",75,0)
+       ;
+"RTN","TMGGRC2C",76,0)
+       ;
+"RTN","TMGGRC2C",77,0)
+GETDATES(DOB,MONMIN,MAXMON,STARTDT,ENDDT)        ;
+"RTN","TMGGRC2C",78,0)
+       ;"Purpose: Convert DOB + age range into absolute starting and ending date
+"RTN","TMGGRC2C",79,0)
+       ;"Input: DOB -- The patient's date of birth, in FMDate format
+"RTN","TMGGRC2C",80,0)
+       ;"       MONMIN -- the patient's age (months) at the beginning of desired date range
+"RTN","TMGGRC2C",81,0)
+       ;"       MONMAX -- the patient's age (months) at the end of desired date range
+"RTN","TMGGRC2C",82,0)
+       ;"       STARTDT -- PASS BY REFERENCE, AN OUT PARAMETERS
+"RTN","TMGGRC2C",83,0)
+       ;"       ENDDT -- PASS BY REFERENCE, AN OUT PARAMETERS
+"RTN","TMGGRC2C",84,0)
+       ;"Result: none
+"RTN","TMGGRC2C",85,0)
+       ;"Output: STARTDT AND ENDDT are filled with beginning and ending dates, in FMDate format
+"RTN","TMGGRC2C",86,0)
+       ;"
+"RTN","TMGGRC2C",87,0)
+       NEW X1,X2,X
+"RTN","TMGGRC2C",88,0)
+       ;"Calc Start Date
+"RTN","TMGGRC2C",89,0)
+       SET X1=DOB
+"RTN","TMGGRC2C",90,0)
+       SET X2=MONMIN*30  ;"Convert to num of days
+"RTN","TMGGRC2C",91,0)
+       D C^%DTC
+"RTN","TMGGRC2C",92,0)
+       SET STARTDT=X
+"RTN","TMGGRC2C",93,0)
+       ;Calc End Date
+"RTN","TMGGRC2C",94,0)
+       SET X1=DOB
+"RTN","TMGGRC2C",95,0)
+       SET X2=MAXMON*30  ;"Convert to num of days
+"RTN","TMGGRC2C",96,0)
+       D C^%DTC
+"RTN","TMGGRC2C",97,0)
+       SET ENDDT=X
+"RTN","TMGGRC2C",98,0)
+       QUIT
+"RTN","TMGGRC2C",99,0)
+       ;
+"RTN","TMGGRC2C",100,0)
+       ;
+"RTN","TMGGRC2C",101,0)
+       ;"===================================================================
+"RTN","TMGGRC2C",102,0)
+       ;"===================================================================
+"RTN","TMGGRC2C",103,0)
+ADDRPT         ;
+"RTN","TMGGRC2C",104,0)
+       ;"Purpose: Entry point not taking result variable, for KIDS
+"RTN","TMGGRC2C",105,0)
+       NEW RESULT
+"RTN","TMGGRC2C",106,0)
+       DO ADDRPT0(.RESULT)
+"RTN","TMGGRC2C",107,0)
+       QUIT
+"RTN","TMGGRC2C",108,0)
+       ;
+"RTN","TMGGRC2C",109,0)
+       ;
+"RTN","TMGGRC2C",110,0)
+ADDRPT0(RESULT)           ;" //elh
+"RTN","TMGGRC2C",111,0)
+       ;"Purpose: To install (add) the TMG GROWTH CHART MENU to ORWRP REPORT LIST.
+"RTN","TMGGRC2C",112,0)
+       ;"         This will make the reports show up in CPRS
+"RTN","TMGGRC2C",113,0)
+       ;"         The heirarchy is: System(SYS),User,Package(PKG),Division(DIV). To ensure that the
+"RTN","TMGGRC2C",114,0)
+       ;"         Menu is displayed, the entries will be tested top down until the highest
+"RTN","TMGGRC2C",115,0)
+       ;"         heirarchy is found, excluding User. The entry will be placed there.
+"RTN","TMGGRC2C",116,0)
+       ;"Input: None
+"RTN","TMGGRC2C",117,0)
+       ;"Output: None
+"RTN","TMGGRC2C",118,0)
+       ;"Result: 1^Successful or -1^Error Message
+"RTN","TMGGRC2C",119,0)
+       NEW PKG SET PKG="DIC(9.4,"
+"RTN","TMGGRC2C",120,0)
+       NEW SYS SET SYS="DIC(4.2,"
+"RTN","TMGGRC2C",121,0)
+       NEW DIV SET DIV="DIC(4,"
+"RTN","TMGGRC2C",122,0)
+       NEW DONE SET DONE=0
+"RTN","TMGGRC2C",123,0)
+       NEW RPTIEN SET RPTIEN=+$ORDER(^XTV(8989.51,"B","ORWRP REPORT LIST",0))
+"RTN","TMGGRC2C",124,0)
+       NEW FOUND SET FOUND=""
+"RTN","TMGGRC2C",125,0)
+       NEW HIERARCHY
+"RTN","TMGGRC2C",126,0)
+       ;"
+"RTN","TMGGRC2C",127,0)
+       ;"GET THE HIERARCHY STRUCTURE
+"RTN","TMGGRC2C",128,0)
+       NEW I SET I=0
+"RTN","TMGGRC2C",129,0)
+       FOR  SET I=$ORDER(^XTV(8989.51,RPTIEN,30,I)) QUIT:+I'>0  DO
+"RTN","TMGGRC2C",130,0)
+       . SET HIERARCHY(0)=$GET(^XTV(8989.51,RPTIEN,30,I,0))
+"RTN","TMGGRC2C",131,0)
+       . SET HIERARCHY($PIECE(HIERARCHY(0),"^",1))=$PIECE(HIERARCHY(0),"^",2)
+"RTN","TMGGRC2C",132,0)
+       ;"
+"RTN","TMGGRC2C",133,0)
+       ;"SORT THROUGH THE HIERARCHY AND PLACE THE TOP TWO IN HIERARCHY(1) AND HIERARCHY(2) RESPECTIVELY
+"RTN","TMGGRC2C",134,0)
+       SET I=0
+"RTN","TMGGRC2C",135,0)
+       NEW COUNTER SET COUNTER=1
+"RTN","TMGGRC2C",136,0)
+       NEW FILE
+"RTN","TMGGRC2C",137,0)
+       FOR  SET I=$ORDER(HIERARCHY(I)) QUIT:+I'>0  DO
+"RTN","TMGGRC2C",138,0)
+       . SET FILE=HIERARCHY(I)
+"RTN","TMGGRC2C",139,0)
+       . IF FILE'=200 DO    ;"EXCLUDE THE USER REPOET MENU
+"RTN","TMGGRC2C",140,0)
+       . . IF FILE[4.2 DO  ;"SYSTEM
+"RTN","TMGGRC2C",141,0)
+       . . . SET HIERARCHY(COUNTER)=SYS_"^SYS"
+"RTN","TMGGRC2C",142,0)
+       . . . SET COUNTER=COUNTER+1
+"RTN","TMGGRC2C",143,0)
+       . . ELSE  IF FILE[9.4 DO  ;"PACKAGE
+"RTN","TMGGRC2C",144,0)
+       . . . SET HIERARCHY(COUNTER)=PKG_"^PKG"
+"RTN","TMGGRC2C",145,0)
+       . . . SET COUNTER=COUNTER+1
+"RTN","TMGGRC2C",146,0)
+       . . ELSE  IF FILE[4 DO  ;"DIVISION
+"RTN","TMGGRC2C",147,0)
+       . . . SET HIERARCHY(COUNTER)=DIV_"^DIV"
+"RTN","TMGGRC2C",148,0)
+       . . . SET COUNTER=COUNTER+1
+"RTN","TMGGRC2C",149,0)
+       ;"
+"RTN","TMGGRC2C",150,0)
+       ;"TEST FOR HIGHEST USED HIERARCHY
+"RTN","TMGGRC2C",151,0)
+       NEW DATA SET DATA=0
+"RTN","TMGGRC2C",152,0)
+       NEW DATASTRING
+"RTN","TMGGRC2C",153,0)
+       FOR  SET DATA=$ORDER(^XTV(8989.5,"AC",RPTIEN,DATA)) QUIT:(+DATA'>0)!DONE  DO
+"RTN","TMGGRC2C",154,0)
+       . IF DATA[$PIECE(HIERARCHY(1),"^",1) DO
+"RTN","TMGGRC2C",155,0)
+       . . SET FOUND=$PIECE(HIERARCHY(1),"^",2)
+"RTN","TMGGRC2C",156,0)
+       . . SET DATASTRING=DATA
+"RTN","TMGGRC2C",157,0)
+       . . SET DONE=1
+"RTN","TMGGRC2C",158,0)
+       . ELSE  IF DATA[$PIECE(HIERARCHY(2),"^",1) DO
+"RTN","TMGGRC2C",159,0)
+       . . SET FOUND=$PIECE(HIERARCHY(2),"^",2)
+"RTN","TMGGRC2C",160,0)
+       . . SET DATASTRING=DATA
+"RTN","TMGGRC2C",161,0)
+       . ELSE  DO
+"RTN","TMGGRC2C",162,0)
+       . . SET DATASTRING=DATA
+"RTN","TMGGRC2C",163,0)
+       IF FOUND="" SET FOUND=$PIECE(HIERARCHY(3),"^",2)
+"RTN","TMGGRC2C",164,0)
+       ;"
+"RTN","TMGGRC2C",165,0)
+       ;"FIND THE FIRST AVAILABLE SEQUENCE
+"RTN","TMGGRC2C",166,0)
+       SET COUNTER=0
+"RTN","TMGGRC2C",167,0)
+       SET DONE=0
+"RTN","TMGGRC2C",168,0)
+       NEW FIRSTSEQ SET FIRSTSEQ=0
+"RTN","TMGGRC2C",169,0)
+       FOR  SET COUNTER=$ORDER(^XTV(8989.5,"AC",RPTIEN,DATASTRING,COUNTER)) QUIT:(+COUNTER'>0)!DONE  DO
+"RTN","TMGGRC2C",170,0)
+       . SET FIRSTSEQ=FIRSTSEQ+1
+"RTN","TMGGRC2C",171,0)
+       . IF COUNTER'=FIRSTSEQ SET DONE=1
+"RTN","TMGGRC2C",172,0)
+       ;"
+"RTN","TMGGRC2C",173,0)
+       ;"ATTEMPT ADDITIONS AND RETURN RESULTS
+"RTN","TMGGRC2C",174,0)
+       NEW ERROR,TEMP
+"RTN","TMGGRC2C",175,0)
+       D EN^XPAR(FOUND,"ORWRP REPORT LIST",FIRSTSEQ,"TMG GROWTH CHARTS",.ERROR)
+"RTN","TMGGRC2C",176,0)
+       IF ERROR=0 DO
+"RTN","TMGGRC2C",177,0)
+       . SET TEMP=1
+"RTN","TMGGRC2C",178,0)
+       ELSE  DO
+"RTN","TMGGRC2C",179,0)
+       . SET TEMP="-1^"_$PIECE(ERROR,"^",2)
+"RTN","TMGGRC2C",180,0)
+       ;"
+"RTN","TMGGRC2C",181,0)
+       ;"FIND THE SECOND AVAILABLE SEQUENCE
+"RTN","TMGGRC2C",182,0)
+       ;"SET DONE=0
+"RTN","TMGGRC2C",183,0)
+       ;"SET COUNTER=0
+"RTN","TMGGRC2C",184,0)
+       NEW SECONDSEQ SET SECONDSEQ=0
+"RTN","TMGGRC2C",185,0)
+       ;"FOR  SET COUNTER=$ORDER(^XTV(8989.5,"AC",RPTIEN,DATASTRING,COUNTER)) QUIT:(+COUNTER'>0)!DONE  DO
+"RTN","TMGGRC2C",186,0)
+       ;". SET SECONDSEQ=SECONDSEQ+1
+"RTN","TMGGRC2C",187,0)
+       ;". IF COUNTER'=SECONDSEQ SET DONE=1
+"RTN","TMGGRC2C",188,0)
+       ;"
+"RTN","TMGGRC2C",189,0)
+       ;"ATTEMPT SECOND ADDITION
+"RTN","TMGGRC2C",190,0)
+       ;"D EN^XPAR(FOUND,"ORWRP REPORT LIST",SECONDSEQ,"TMG WHO GROWTH CHARTS",.ERROR)
+"RTN","TMGGRC2C",191,0)
+       SET SECONDSEQ=FIRSTSEQ_".1"
+"RTN","TMGGRC2C",192,0)
+       DO EN^XPAR(FOUND,"ORWRP REPORT LIST",SECONDSEQ,"TMG WHO GROWTH CHARTS",.ERROR)
+"RTN","TMGGRC2C",193,0)
+       IF (ERROR=0)&(TEMP=1) DO
+"RTN","TMGGRC2C",194,0)
+       . SET RESULT="1^SUCCESSFUL"
+"RTN","TMGGRC2C",195,0)
+       ELSE  DO
+"RTN","TMGGRC2C",196,0)
+       . SET RESULT="-1^"
+"RTN","TMGGRC2C",197,0)
+       . IF TEMP'=1 DO
+"RTN","TMGGRC2C",198,0)
+       . . SET RESULT=RESULT_"CDC-"_$PIECE(ERROR,"^",2)
+"RTN","TMGGRC2C",199,0)
+       . IF ERROR'=0 DO
+"RTN","TMGGRC2C",200,0)
+       . . SET RESULT=RESULT_"WHO-"_$PIECE(ERROR,"^",2)
+"RTN","TMGGRC2C",201,0)
+       QUIT
+"RTN","TMGGRC3A")
+0^17^B83124690
+"RTN","TMGGRC3A",1,0)
+TMGGRC3A       ;TMG/kst-Growth Chart Javascript code ;7/17/12
+"RTN","TMGGRC3A",2,0)
+               ;;1.0;TMG-LIB;**1,17**;10/5/10;Build 23
+"RTN","TMGGRC3A",3,0)
+      ;
+"RTN","TMGGRC3A",4,0)
+      ;"Code for working with pediatric growth chart data.
+"RTN","TMGGRC3A",5,0)
+      ;"This is javascript code that is sent to WebBrowser in CPRS
+"RTN","TMGGRC3A",6,0)
+      ;
+"RTN","TMGGRC3A",7,0)
+      ;"Eddie Hagood and Kevin Toppenberg MD
+"RTN","TMGGRC3A",8,0)
+      ;"(C) 10/5/10
+"RTN","TMGGRC3A",9,0)
+      ;"Released under: GNU General Public License (GPL)
+"RTN","TMGGRC3A",10,0)
+      ;
+"RTN","TMGGRC3A",11,0)
+      ;"=======================================================================
+"RTN","TMGGRC3A",12,0)
+      ;" RPC -- Public Functions.
+"RTN","TMGGRC3A",13,0)
+      ;"=======================================================================
+"RTN","TMGGRC3A",14,0)
+      ;
+"RTN","TMGGRC3A",15,0)
+TOP            ;                                          
+"RTN","TMGGRC3A",16,0)
+       ;;<head>
+"RTN","TMGGRC3A",17,0)
+       ;;<title>PATIENT GROWTH CHART</title>
+"RTN","TMGGRC3A",18,0)
+       ;;
+"RTN","TMGGRC3A",19,0)
+       ;;<!-- Style behavior tag is required to show the VML and must appear in the document HEAD -->
+"RTN","TMGGRC3A",20,0)
+       ;;<style type="text/css">v\:* { behavior: url(#default#VML); }</style>
+"RTN","TMGGRC3A",21,0)
+       ;;
+"RTN","TMGGRC3A",22,0)
+       ;;</head>
+"RTN","TMGGRC3A",23,0)
+       ;;
+"RTN","TMGGRC3A",24,0)
+       ;;<body onload="LoadGraph()">
+"RTN","TMGGRC3A",25,0)
+       ;;EOF
+"RTN","TMGGRC3A",26,0)
+GLIB          ;
+"RTN","TMGGRC3A",27,0)
+       ;;<script type="text/javascript">
+"RTN","TMGGRC3A",28,0)
+       ;;
+"RTN","TMGGRC3A",29,0)
+       ;;/*================================================================================
+"RTN","TMGGRC3A",30,0)
+       ;;
+"RTN","TMGGRC3A",31,0)
+       ;; XYGraph.js : v2.3
+"RTN","TMGGRC3A",32,0)
+       ;;
+"RTN","TMGGRC3A",33,0)
+       ;; by J. Gebelein, Last Updated 2006.01.11
+"RTN","TMGGRC3A",34,0)
+       ;;
+"RTN","TMGGRC3A",35,0)
+       ;; Contact: info@Structura.info
+"RTN","TMGGRC3A",36,0)
+       ;;
+"RTN","TMGGRC3A",37,0)
+       ;; All rights reserved. Copyright 2006 Structura.info
+"RTN","TMGGRC3A",38,0)
+       ;;
+"RTN","TMGGRC3A",39,0)
+       ;;
+"RTN","TMGGRC3A",40,0)
+       ;; This script generates an XY Graph using Vector Markup Language (VML) and returns
+"RTN","TMGGRC3A",41,0)
+       ;; an html string for display via Javascript.  Labels for points on a line, individual
+"RTN","TMGGRC3A",42,0)
+       ;; labels and arrows may be drawn with fully customizable features.  Multiple lines
+"RTN","TMGGRC3A",43,0)
+       ;; with unlimited points and customizable formats can be drawn on the same plot with
+"RTN","TMGGRC3A",44,0)
+       ;; intelligent data axes that provide a best fit to the data for simple, dynamic
+"RTN","TMGGRC3A",45,0)
+       ;; programming.
+"RTN","TMGGRC3A",46,0)
+       ;;
+"RTN","TMGGRC3A",47,0)
+       ;; The VML used by this script is fully supported by Internet Explorer 5 or later,
+"RTN","TMGGRC3A",48,0)
+       ;; and will run on any website or intranet, online or offline.  Data for the graph
+"RTN","TMGGRC3A",49,0)
+       ;; may be generated from static or dynamic Javascript and user form interfaces, or
+"RTN","TMGGRC3A",50,0)
+       ;; even from complex active server database programs.
+"RTN","TMGGRC3A",51,0)
+       ;;
+"RTN","TMGGRC3A",52,0)
+       ;; Use of this code is free for all non-commercial websites.  If you find this code
+"RTN","TMGGRC3A",53,0)
+       ;; to be useful, I will gladly accept PayPal donations to info@Structura.info. I
+"RTN","TMGGRC3A",54,0)
+       ;; provide free email support and will try to accomodate your various needs into
+"RTN","TMGGRC3A",55,0)
+       ;; improving this program.
+"RTN","TMGGRC3A",56,0)
+       ;;
+"RTN","TMGGRC3A",57,0)
+       ;; For commercial use I ask for a one time licensing fee of $39.95 per domain, or
+"RTN","TMGGRC3A",58,0)
+       ;; $99.95 for an unlimited license. Both will cover all future version upgrades and
+"RTN","TMGGRC3A",59,0)
+       ;; allow for customization of the source code. An unlimited license will allow
+"RTN","TMGGRC3A",60,0)
+       ;; unrestricted use by a single organization including redistribution or resale as
+"RTN","TMGGRC3A",61,0)
+       ;; supporting code for a software product.
+"RTN","TMGGRC3A",62,0)
+       ;;
+"RTN","TMGGRC3A",63,0)
+       ;; Please leave this header intact if you intend on sharing this code.
+"RTN","TMGGRC3A",64,0)
+       ;;
+"RTN","TMGGRC3A",65,0)
+       ;;==================================================================================
+"RTN","TMGGRC3A",66,0)
+       ;;
+"RTN","TMGGRC3A",67,0)
+       ;;"XYGraph" object documentation
+"RTN","TMGGRC3A",68,0)
+       ;;
+"RTN","TMGGRC3A",69,0)
+       ;;Initialize:
+"RTN","TMGGRC3A",70,0)
+       ;;        var MyGraph = new XYGraph();
+"RTN","TMGGRC3A",71,0)
+       ;;        MyGraph.xmax = 10; // set properties as desired
+"RTN","TMGGRC3A",72,0)
+       ;;
+"RTN","TMGGRC3A",73,0)
+       ;;Properties:
+"RTN","TMGGRC3A",74,0)
+       ;;        See constructor script with inline comments below.
+"RTN","TMGGRC3A",75,0)
+       ;;
+"RTN","TMGGRC3A",76,0)
+       ;;Methods:
+"RTN","TMGGRC3A",77,0)
+       ;;        MyGraph.Plot(XYLine [, XYLine_1, ...]) // returns html code for display
+"RTN","TMGGRC3A",78,0)
+       ;;
+"RTN","TMGGRC3A",79,0)
+       ;;Notes:
+"RTN","TMGGRC3A",80,0)
+       ;;
+"RTN","TMGGRC3A",81,0)
+       ;; Input x,y coordinate pairs using the "XYLine" object found in this script.
+"RTN","TMGGRC3A",82,0)
+       ;;
+"RTN","TMGGRC3A",83,0)
+       ;; The only required input is the x and y data, all formatting and other
+"RTN","TMGGRC3A",84,0)
+       ;; parameters either have default values defined in this script, or are
+"RTN","TMGGRC3A",85,0)
+       ;; automatically calculated as required to best display the data.
+"RTN","TMGGRC3A",86,0)
+       ;;
+"RTN","TMGGRC3A",87,0)
+       ;; Multiple XYLine objects may be passed to the Plot function for graphing.
+"RTN","TMGGRC3A",88,0)
+       ;;
+"RTN","TMGGRC3A",89,0)
+       ;; Extreme values +/-999E+9 and "NaN" are clipped from the data set.
+"RTN","TMGGRC3A",90,0)
+       ;;
+"RTN","TMGGRC3A",91,0)
+       ;; Unlike standard XY graphs, lines are drawn point to point in any direction
+"RTN","TMGGRC3A",92,0)
+       ;; without limitation.  This allows step functions, circles, shapes, etc.
+"RTN","TMGGRC3A",93,0)
+       ;;
+"RTN","TMGGRC3A",94,0)
+       ;; This script does not optimize data for better resolution, it is up to the
+"RTN","TMGGRC3A",95,0)
+       ;; programmer to input the data spacing as desired.
+"RTN","TMGGRC3A",96,0)
+       ;;
+"RTN","TMGGRC3A",97,0)
+       ;; Generating smooth output requires increasing the number of data points at the
+"RTN","TMGGRC3A",98,0)
+       ;; expense of computation time.  Generally, 1000 points or less is adequate.
+"RTN","TMGGRC3A",99,0)
+       ;;
+"RTN","TMGGRC3A",100,0)
+       ;; Formatting for text may be modified using CSS.
+"RTN","TMGGRC3A",101,0)
+       ;;
+"RTN","TMGGRC3A",102,0)
+       ;; Formatting for the axes and lines may be modified using VML styles, for more
+"RTN","TMGGRC3A",103,0)
+       ;; information on VML see the W3C definition page: http://www.w3.org/TR/NOTE-VML
+"RTN","TMGGRC3A",104,0)
+       ;;
+"RTN","TMGGRC3A",105,0)
+       ;;==================================================================================
+"RTN","TMGGRC3A",106,0)
+       ;;
+"RTN","TMGGRC3A",107,0)
+       ;;"XYLine" object documentation
+"RTN","TMGGRC3A",108,0)
+       ;;
+"RTN","TMGGRC3A",109,0)
+       ;;Initialize:
+"RTN","TMGGRC3A",110,0)
+       ;;        var MyLine = new XYLine();
+"RTN","TMGGRC3A",111,0)
+       ;;        MyLine.x = [1, 2, 3, 4]; // set x and y data points
+"RTN","TMGGRC3A",112,0)
+       ;;        MyLine.label = "plot 1"; // set properties as desired
+"RTN","TMGGRC3A",113,0)
+       ;;
+"RTN","TMGGRC3A",114,0)
+       ;;Properties:
+"RTN","TMGGRC3A",115,0)
+       ;;        See constructor script with inline comments below.
+"RTN","TMGGRC3A",116,0)
+       ;;
+"RTN","TMGGRC3A",117,0)
+       ;;================================================================================*/
+"RTN","TMGGRC3A",118,0)
+       ;;
+"RTN","TMGGRC3A",119,0)
+       ;;
+"RTN","TMGGRC3A",120,0)
+       ;;function XYLine() {
+"RTN","TMGGRC3A",121,0)
+       ;;
+"RTN","TMGGRC3A",122,0)
+       ;;        // Arrays for holding x, y coordinate values and point labels
+"RTN","TMGGRC3A",123,0)
+       ;;
+"RTN","TMGGRC3A",124,0)
+       ;;        this.x = new Array();
+"RTN","TMGGRC3A",125,0)
+       ;;        this.y = new Array();
+"RTN","TMGGRC3A",126,0)
+       ;;        this.labels = new Array();
+"RTN","TMGGRC3A",127,0)
+       ;;
+"RTN","TMGGRC3A",128,0)
+       ;;        // Assign VML compliant properties for the line.
+"RTN","TMGGRC3A",129,0)
+       ;;        // Note that non-primary colors must be in #hex or rbg(r,g,b) format.
+"RTN","TMGGRC3A",130,0)
+       ;;
+"RTN","TMGGRC3A",131,0)
+       ;;        this.VMLstroke = "weight='1pt'; color='blue'; dashstyle='solid';";
+"RTN","TMGGRC3A",132,0)
+       ;;        this.drawline=true;        // set to true or false
+"RTN","TMGGRC3A",133,0)
+       ;;
+"RTN","TMGGRC3A",134,0)
+       ;;        // Assign a label for the line
+"RTN","TMGGRC3A",135,0)
+       ;;
+"RTN","TMGGRC3A",136,0)
+       ;;        this.label = "line";        // displayed when mouse is over line
+"RTN","TMGGRC3A",137,0)
+       ;;        this.labelfont = "'Arial'";
+"RTN","TMGGRC3A",138,0)
+       ;;        this.labelsize = "8"; // font size in "pt"
+"RTN","TMGGRC3A",139,0)
+       ;;        this.labelcolor = "black";
+"RTN","TMGGRC3A",140,0)
+       ;;
+"RTN","TMGGRC3A",141,0)
+       ;;        // Assign a VML shapetype for plotting data points, see definitions at bottom of script.
+"RTN","TMGGRC3A",142,0)
+       ;;        // Using the 'none' shapetype plots invisible points and allows coordinates to be
+"RTN","TMGGRC3A",143,0)
+       ;;        // shown when the mouse is over the point.  Set 'drawpoints' to false to turn off
+"RTN","TMGGRC3A",144,0)
+       ;;        // the points completely and speed up graphing for extensive data sets.  The graph script
+"RTN","TMGGRC3A",145,0)
+       ;;        // automatically turns off points if the data set has more than 1000 points.
+"RTN","TMGGRC3A",146,0)
+       ;;
+"RTN","TMGGRC3A",147,0)
+       ;;        this.VMLpointshapetype="diamond";        // [ diamond, square, triangle, circle, x, none ]
+"RTN","TMGGRC3A",148,0)
+       ;;        this.drawpoints=true;          // set to true or false
+"RTN","TMGGRC3A",149,0)
+       ;;        this.drawlabels=false;         // set to true or false
+"RTN","TMGGRC3A",150,0)
+       ;;      this.mouseoverlabels=false;     // true will show the "labels" on mouseover, false will show x,y coor
+"RTN","TMGGRC3A",151,0)
+       ;;
+"RTN","TMGGRC3A",152,0)
+       ;;        // Assign VML properties for the points
+"RTN","TMGGRC3A",153,0)
+       ;;
+"RTN","TMGGRC3A",154,0)
+       ;;        this.pointsize="5";          // shape display size in "pt"
+"RTN","TMGGRC3A",155,0)
+       ;;        this.pointfillcolor="blue";        // point fill color
+"RTN","TMGGRC3A",156,0)
+       ;;        this.pointstrokecolor="black";        // point line color
+"RTN","TMGGRC3A",157,0)
+       ;;}
+"RTN","TMGGRC3A",158,0)
+       ;;
+"RTN","TMGGRC3A",159,0)
+       ;;
+"RTN","TMGGRC3A",160,0)
+       ;;function Arrow() {
+"RTN","TMGGRC3A",161,0)
+       ;;
+"RTN","TMGGRC3A",162,0)
+       ;;        // x and y coordinate values of arrow origin
+"RTN","TMGGRC3A",163,0)
+       ;;
+"RTN","TMGGRC3A",164,0)
+       ;;        this.x = 0;
+"RTN","TMGGRC3A",165,0)
+       ;;        this.y = 0;
+"RTN","TMGGRC3A",166,0)
+       ;;        this.rotation = 45;
+"RTN","TMGGRC3A",167,0)
+       ;;        this.length = 25;
+"RTN","TMGGRC3A",168,0)
+       ;;
+"RTN","TMGGRC3A",169,0)
+       ;;        // Assign a label for the arrow
+"RTN","TMGGRC3A",170,0)
+       ;;
+"RTN","TMGGRC3A",171,0)
+       ;;        this.label = "Test";
+"RTN","TMGGRC3A",172,0)
+       ;;
+"RTN","TMGGRC3A",173,0)
+       ;;        // Assign VML properties for the arrow
+"RTN","TMGGRC3A",174,0)
+       ;;
+"RTN","TMGGRC3A",175,0)
+       ;;        this.size="10";          // shape display size in "pt"
+"RTN","TMGGRC3A",176,0)
+       ;;        this.color="red";        // arrow color
+"RTN","TMGGRC3A",177,0)
+       ;;        this.labelcolor="red";        // label color
+"RTN","TMGGRC3A",178,0)
+       ;;        this.labelsize="12";        // label size in "pt"
+"RTN","TMGGRC3A",179,0)
+       ;;        this.lineweight="2";  // line weight in "pt"
+"RTN","TMGGRC3A",180,0)
+       ;;        this.dashstyle="solid"; // line style
+"RTN","TMGGRC3A",181,0)
+       ;;
+"RTN","TMGGRC3A",182,0)
+       ;;        // Arrow head shape definition
+"RTN","TMGGRC3A",183,0)
+       ;;
+"RTN","TMGGRC3A",184,0)
+       ;;        this.arrowhead='<v:shapetype id="arrowhead" coordsize="500,500" path=" m 0 0 l 250 500 500 0 250 100 x e" />';
+"RTN","TMGGRC3A",185,0)
+       ;;
+"RTN","TMGGRC3A",186,0)
+       ;;} // end function
+"RTN","TMGGRC3A",187,0)
+       ;;
+"RTN","TMGGRC3A",188,0)
+       ;;CONTINUED
+"RTN","TMGGRC3A",189,0)
+       ;"NOTE: Javascript code continued in TMGGRC3B   
+"RTN","TMGGRC3B")
+0^18^B134722379
+"RTN","TMGGRC3B",1,0)
+TMGGRC3B       ;TMG/kst-Growth Chart Javascript code ;7/17/12
+"RTN","TMGGRC3B",2,0)
+               ;;1.0;TMG-LIB;**1,17**;10/5/10;Build 23
+"RTN","TMGGRC3B",3,0)
+   ;
+"RTN","TMGGRC3B",4,0)
+   ;"NOTE: JavaScript code below is a continuation of code from TMGGRC3A
+"RTN","TMGGRC3B",5,0)
+GLIB   ;
+"RTN","TMGGRC3B",6,0)
+       ;;
+"RTN","TMGGRC3B",7,0)
+       ;;
+"RTN","TMGGRC3B",8,0)
+       ;;function Label() {
+"RTN","TMGGRC3B",9,0)
+       ;;
+"RTN","TMGGRC3B",10,0)
+       ;;        // x and y coordinate values of the label origin
+"RTN","TMGGRC3B",11,0)
+       ;;
+"RTN","TMGGRC3B",12,0)
+       ;;        this.x = 0;
+"RTN","TMGGRC3B",13,0)
+       ;;        this.y = 0;
+"RTN","TMGGRC3B",14,0)
+       ;;        this.rotation = 45;
+"RTN","TMGGRC3B",15,0)
+       ;;        this.length = 0;
+"RTN","TMGGRC3B",16,0)
+       ;;
+"RTN","TMGGRC3B",17,0)
+       ;;        // Assign a label text
+"RTN","TMGGRC3B",18,0)
+       ;;
+"RTN","TMGGRC3B",19,0)
+       ;;        this.label = "";
+"RTN","TMGGRC3B",20,0)
+       ;;
+"RTN","TMGGRC3B",21,0)
+       ;;        // Assign VML properties for the label
+"RTN","TMGGRC3B",22,0)
+       ;;
+"RTN","TMGGRC3B",23,0)
+       ;;        this.labelcolor="red";        // label color
+"RTN","TMGGRC3B",24,0)
+       ;;        this.labelsize="12";        // label size in "pt"
+"RTN","TMGGRC3B",25,0)
+       ;;
+"RTN","TMGGRC3B",26,0)
+       ;;        this.VMLpointshapetype="circle";        // [ diamond, square, triangle, circle, x, none ]
+"RTN","TMGGRC3B",27,0)
+       ;;
+"RTN","TMGGRC3B",28,0)
+       ;;        this.pointsize="6";          // shape display size in "pt"
+"RTN","TMGGRC3B",29,0)
+       ;;        this.pointfillcolor="red";        // point fill color
+"RTN","TMGGRC3B",30,0)
+       ;;        this.pointstrokecolor="black";        // point line color
+"RTN","TMGGRC3B",31,0)
+       ;;
+"RTN","TMGGRC3B",32,0)
+       ;;} // end function
+"RTN","TMGGRC3B",33,0)
+       ;;
+"RTN","TMGGRC3B",34,0)
+       ;;
+"RTN","TMGGRC3B",35,0)
+       ;;
+"RTN","TMGGRC3B",36,0)
+       ;;function XYGraph() {
+"RTN","TMGGRC3B",37,0)
+       ;;
+"RTN","TMGGRC3B",38,0)
+       ;;  // Data Properties
+"RTN","TMGGRC3B",39,0)
+       ;;
+"RTN","TMGGRC3B",40,0)
+       ;;        // The max and min values define the upper and lower axis values to display.
+"RTN","TMGGRC3B",41,0)
+       ;;        // If not specified they will automatically fit to the data limits.
+"RTN","TMGGRC3B",42,0)
+       ;;
+"RTN","TMGGRC3B",43,0)
+       ;;        this.xmax=null;
+"RTN","TMGGRC3B",44,0)
+       ;;        this.xmin=null;
+"RTN","TMGGRC3B",45,0)
+       ;;        this.ymax=null;
+"RTN","TMGGRC3B",46,0)
+       ;;        this.ymin=null;
+"RTN","TMGGRC3B",47,0)
+       ;;
+"RTN","TMGGRC3B",48,0)
+       ;;        // Graph titles
+"RTN","TMGGRC3B",49,0)
+       ;;
+"RTN","TMGGRC3B",50,0)
+       ;;        this.title=null;
+"RTN","TMGGRC3B",51,0)
+       ;;        this.xaxis=null;
+"RTN","TMGGRC3B",52,0)
+       ;;        this.yaxis=null;
+"RTN","TMGGRC3B",53,0)
+       ;;
+"RTN","TMGGRC3B",54,0)
+       ;;        // Tic scale spacing, if not specified it will be fit to the data.
+"RTN","TMGGRC3B",55,0)
+       ;;
+"RTN","TMGGRC3B",56,0)
+       ;;        this.xscale=null;
+"RTN","TMGGRC3B",57,0)
+       ;;        this.yscale=null;
+"RTN","TMGGRC3B",58,0)
+       ;;
+"RTN","TMGGRC3B",59,0)
+       ;;        // Value where the axes cross.  Default is at 0,0
+"RTN","TMGGRC3B",60,0)
+       ;;        // Set to "Number.NEGATIVE_INFINITY" to align with the minimum axis value.
+"RTN","TMGGRC3B",61,0)
+       ;;        // Set to "Number.POSITIVE_INFINITY" to align with the maximum axis value.
+"RTN","TMGGRC3B",62,0)
+       ;;
+"RTN","TMGGRC3B",63,0)
+       ;;        this.xint=0;
+"RTN","TMGGRC3B",64,0)
+       ;;        this.yint=0;
+"RTN","TMGGRC3B",65,0)
+       ;;
+"RTN","TMGGRC3B",66,0)
+       ;;        // The last plot string generated is maintained in memory
+"RTN","TMGGRC3B",67,0)
+       ;;
+"RTN","TMGGRC3B",68,0)
+       ;;        this.lastplot="";
+"RTN","TMGGRC3B",69,0)
+       ;;
+"RTN","TMGGRC3B",70,0)
+       ;;        // Tracks the changes made from additional plots for use with DeleteLast()
+"RTN","TMGGRC3B",71,0)
+       ;;
+"RTN","TMGGRC3B",72,0)
+       ;;        this.lastplotadded= new Array();
+"RTN","TMGGRC3B",73,0)
+       ;;        this.numplots=0;
+"RTN","TMGGRC3B",74,0)
+       ;;
+"RTN","TMGGRC3B",75,0)
+       ;;  // Style Properties
+"RTN","TMGGRC3B",76,0)
+       ;;
+"RTN","TMGGRC3B",77,0)
+       ;;        this.gheight=200;        // Plotting height in "pt"
+"RTN","TMGGRC3B",78,0)
+       ;;        this.gwidth=300;        // Plotting width in "pt"
+"RTN","TMGGRC3B",79,0)
+       ;;        this.pad_top=10;        // Internal padding margins in "pt"
+"RTN","TMGGRC3B",80,0)
+       ;;        this.pad_bottom=10;
+"RTN","TMGGRC3B",81,0)
+       ;;        this.pad_left=10;
+"RTN","TMGGRC3B",82,0)
+       ;;        this.pad_right=10;
+"RTN","TMGGRC3B",83,0)
+       ;;
+"RTN","TMGGRC3B",84,0)
+       ;;        this.ticsize=5;         // Tic size in "pt", set to "0" to turn off
+"RTN","TMGGRC3B",85,0)
+       ;;        this.ticspaceavg=30;        // Average auto tic spacing in "pt"
+"RTN","TMGGRC3B",86,0)
+       ;;        this.xticloc="auto";        // x-axis labels "top", "bottom", "auto" or "none"
+"RTN","TMGGRC3B",87,0)
+       ;;        this.yticloc="auto";        // y-axis labels "right", "left", "auto" or "none"
+"RTN","TMGGRC3B",88,0)
+       ;;        this.userxticlabels=null;        // allows the user to override x axis tic labels
+"RTN","TMGGRC3B",89,0)
+       ;;        this.useryticlabels=null;        // allows the user to override y axis tic labels
+"RTN","TMGGRC3B",90,0)
+       ;;
+"RTN","TMGGRC3B",91,0)
+       ;;        this.VMLminorxaxisstroke = "weight='0.5pt'; color='#D3D3D3'; dashstyle='dash';";
+"RTN","TMGGRC3B",92,0)
+       ;;        this.VMLminoryaxisstroke = "weight='0.5pt'; color='#D3D3D3'; dashstyle='dash';";
+"RTN","TMGGRC3B",93,0)
+       ;;        this.VMLmajoraxisstroke = "weight='1pt'; color='black';";
+"RTN","TMGGRC3B",94,0)
+       ;;        this.VMLbackgroundfill = "color='white'";
+"RTN","TMGGRC3B",95,0)
+       ;;        this.VMLframestroke = "color='white'";
+"RTN","TMGGRC3B",96,0)
+       ;;
+"RTN","TMGGRC3B",97,0)
+       ;;        this.CSSticfont = "font: 8pt 'Arial';";
+"RTN","TMGGRC3B",98,0)
+       ;;        this.CSStitlefont = "font: 10pt 'Arial'; font-weight: bold;";  // font sizes must be set in "pt"
+"RTN","TMGGRC3B",99,0)
+       ;;        this.CSSxaxisfont = "font: 8pt 'Arial'; font-weight: bold;";
+"RTN","TMGGRC3B",100,0)
+       ;;        this.CSSyaxisfont = "font: 8pt 'Arial'; font-weight: bold;";
+"RTN","TMGGRC3B",101,0)
+       ;;        this.VMLyaxisfontcolor = "black";  // must specify y-axis title font color since it is VML object
+"RTN","TMGGRC3B",102,0)
+       ;;
+"RTN","TMGGRC3B",103,0)
+       ;;}
+"RTN","TMGGRC3B",104,0)
+       ;;
+"RTN","TMGGRC3B",105,0)
+       ;;XYGraph.prototype.toString = function() {return this.lastplot;} // The object will evaluate to the last plot
+"RTN","TMGGRC3B",106,0)
+       ;;
+"RTN","TMGGRC3B",107,0)
+       ;;
+"RTN","TMGGRC3B",108,0)
+       ;;
+"RTN","TMGGRC3B",109,0)
+       ;;XYGraph.prototype.Plot = function (XYLine) {
+"RTN","TMGGRC3B",110,0)
+       ;;
+"RTN","TMGGRC3B",111,0)
+       ;;// Parse input to determine x,y data limits and clip extreme values
+"RTN","TMGGRC3B",112,0)
+       ;;        lines = arguments;
+"RTN","TMGGRC3B",113,0)
+       ;;        xmax = Number.NEGATIVE_INFINITY; xmin = Number.POSITIVE_INFINITY;
+"RTN","TMGGRC3B",114,0)
+       ;;        ymax = Number.NEGATIVE_INFINITY; ymin = Number.POSITIVE_INFINITY;
+"RTN","TMGGRC3B",115,0)
+       ;;        clipxmax = (this.xmax ? Number(this.xmax) : 999E+9);
+"RTN","TMGGRC3B",116,0)
+       ;;        clipxmin = (this.xmin ? Number(this.xmin) : -999E+9);
+"RTN","TMGGRC3B",117,0)
+       ;;        clipymax = (this.ymax ? Number(this.ymax) : 999E+9);
+"RTN","TMGGRC3B",118,0)
+       ;;        clipymin = (this.ymin ? Number(this.ymin) : -999E+9);
+"RTN","TMGGRC3B",119,0)
+       ;;        clipped=false;
+"RTN","TMGGRC3B",120,0)
+       ;;
+"RTN","TMGGRC3B",121,0)
+       ;;// fix incorrect input
+"RTN","TMGGRC3B",122,0)
+       ;;        this.yint = Number(this.yint); this.xint = Number(this.xint);
+"RTN","TMGGRC3B",123,0)
+       ;;        this.ymin = Number(this.ymin); this.xmin = Number(this.xmin);
+"RTN","TMGGRC3B",124,0)
+       ;;        this.ymax = Number(this.ymax); this.xmax = Number(this.xmax);
+"RTN","TMGGRC3B",125,0)
+       ;;
+"RTN","TMGGRC3B",126,0)
+       ;;        if (this.xmax < this.xmin && this.xmax) {temp=this.xmax; this.xmax=this.xmin; this.xmin=temp;}
+"RTN","TMGGRC3B",127,0)
+       ;;        if (this.ymax < this.ymin && this.ymax) {temp=this.ymax; this.ymax=this.ymin; this.ymin=temp;}
+"RTN","TMGGRC3B",128,0)
+       ;;
+"RTN","TMGGRC3B",129,0)
+       ;;      xmax=this.xmax; xmin=this.xmin; ymax=this.ymax; ymin=this.ymin;
+"RTN","TMGGRC3B",130,0)
+       ;;
+"RTN","TMGGRC3B",131,0)
+       ;;  for (var n=0; n<lines.length; n++) {
+"RTN","TMGGRC3B",132,0)
+       ;;        var j=0; tempx = new Array(); tempy = new Array(); templabels = new Array();
+"RTN","TMGGRC3B",133,0)
+       ;;        linelen = (lines[n].y.length > lines[n].x.length ? lines[n].x.length : lines[n].y.length);
+"RTN","TMGGRC3B",134,0)
+       ;;        for (var i=0; i<linelen; i++) {
+"RTN","TMGGRC3B",135,0)
+       ;;         if ((lines[n].x[i] <= clipxmax)&&(lines[n].x[i] >= clipxmin)&&(lines[n].y[i] <= clipymax)&&(lines[n].y[i] >= clipymin)&&(i<=1000)) {
+"RTN","TMGGRC3B",136,0)
+       ;;                 if (xmax < lines[n].x[i]) {xmax = lines[n].x[i]};
+"RTN","TMGGRC3B",137,0)
+       ;;                 if (xmin > lines[n].x[i]) {xmin = lines[n].x[i]};
+"RTN","TMGGRC3B",138,0)
+       ;;                 if (ymax < lines[n].y[i]) {ymax = lines[n].y[i]};
+"RTN","TMGGRC3B",139,0)
+       ;;                 if (ymin > lines[n].y[i]) {ymin = lines[n].y[i]};
+"RTN","TMGGRC3B",140,0)
+       ;;                 tempx[j]=lines[n].x[i];
+"RTN","TMGGRC3B",141,0)
+       ;;                 tempy[j]=lines[n].y[i];
+"RTN","TMGGRC3B",142,0)
+       ;;                 if(lines[n].drawlabels || lines[n].mouseoverlabels) {templabels[j]= lines[n].labels[j];}
+"RTN","TMGGRC3B",143,0)
+       ;;                 j++;
+"RTN","TMGGRC3B",144,0)
+       ;;         }
+"RTN","TMGGRC3B",145,0)
+       ;;         else if (isNaN(lines[n].x[i]) || isNaN(lines[n].y[i])) {clipped=true;}
+"RTN","TMGGRC3B",146,0)
+       ;;         else if (((lines[n].x[i+1] <= clipxmax)&&(lines[n].x[i+1] >= clipxmin)&&(lines[n].y[i+1] <= clipymax)&&(lines[n].y[i+1] >= clipymin)&&(i<=1000))) {
+"RTN","TMGGRC3B",147,0)
+       ;;                 lastxy = this.Findedge(lines[n].x[i+1],lines[n].x[i],lines[n].y[i+1],lines[n].y[i],clipxmax,clipxmin,clipymax,clipymin);
+"RTN","TMGGRC3B",148,0)
+       ;;                 if (Math.abs(lastxy[0]) < 999E+9 && Math.abs(lastxy[1]) < 999E+9) {
+"RTN","TMGGRC3B",149,0)
+       ;;                  tempx[j]=lastxy[0]; tempy[j]=lastxy[1];
+"RTN","TMGGRC3B",150,0)
+       ;;                  if(lines[n].drawlabels || lines[n].mouseoverlabels) {templabels[j]="";}
+"RTN","TMGGRC3B",151,0)
+       ;;                  j++;
+"RTN","TMGGRC3B",152,0)
+       ;;                 }
+"RTN","TMGGRC3B",153,0)
+       ;;                 clipped=true;
+"RTN","TMGGRC3B",154,0)
+       ;;         }
+"RTN","TMGGRC3B",155,0)
+       ;;         else if (((lines[n].x[i-1] <= clipxmax)&&(lines[n].x[i-1] >= clipxmin)&&(lines[n].y[i-1] <= clipymax)&&(lines[n].y[i-1] >= clipymin))&&(i<=1000)) {
+"RTN","TMGGRC3B",156,0)
+       ;;                 lastxy = this.Findedge(lines[n].x[i-1],lines[n].x[i],lines[n].y[i-1],lines[n].y[i],clipxmax,clipxmin,clipymax,clipymin);
+"RTN","TMGGRC3B",157,0)
+       ;;                 if (Math.abs(lastxy[0]) < 999E+9 && Math.abs(lastxy[1]) < 999E+9) {
+"RTN","TMGGRC3B",158,0)
+       ;;                  tempx[j]=lastxy[0]; tempy[j]=lastxy[1];
+"RTN","TMGGRC3B",159,0)
+       ;;                  if(lines[n].drawlabels || lines[n].mouseoverlabels) {templabels[j]="";}
+"RTN","TMGGRC3B",160,0)
+       ;;                  j++;
+"RTN","TMGGRC3B",161,0)
+       ;;                 }
+"RTN","TMGGRC3B",162,0)
+       ;;                 if (i+1 != linelen) {
+"RTN","TMGGRC3B",163,0)
+       ;;                 lines.length += 1;
+"RTN","TMGGRC3B",164,0)
+       ;;                 lines[(lines.length-1)] = new Array();
+"RTN","TMGGRC3B",165,0)
+       ;;                 lines[(lines.length-1)].VMLstroke = lines[n].VMLstroke;
+"RTN","TMGGRC3B",166,0)
+       ;;                 lines[(lines.length-1)].drawline = lines[n].drawline;
+"RTN","TMGGRC3B",167,0)
+       ;;                 lines[(lines.length-1)].label = lines[n].label;
+"RTN","TMGGRC3B",168,0)
+       ;;                 lines[(lines.length-1)].VMLpointshapetype = lines[n].VMLpointshapetype;
+"RTN","TMGGRC3B",169,0)
+       ;;                 lines[(lines.length-1)].pointsize = lines[n].pointsize;
+"RTN","TMGGRC3B",170,0)
+       ;;                 lines[(lines.length-1)].pointfillcolor = lines[n].pointfillcolor;
+"RTN","TMGGRC3B",171,0)
+       ;;                 lines[(lines.length-1)].pointstrokecolor = lines[n].pointstrokecolor;
+"RTN","TMGGRC3B",172,0)
+       ;;                 lines[(lines.length-1)].drawpoints = lines[n].drawpoints;
+"RTN","TMGGRC3B",173,0)
+       ;;                 lines[(lines.length-1)].labelsize = lines[n].labelsize;
+"RTN","TMGGRC3B",174,0)
+       ;;                 lines[(lines.length-1)].labelfont = lines[n].labelfont;
+"RTN","TMGGRC3B",175,0)
+       ;;                 lines[(lines.length-1)].labelcolor = lines[n].labelcolor;
+"RTN","TMGGRC3B",176,0)
+       ;;                 lines[(lines.length-1)].drawlabels = lines[n].drawlabels;
+"RTN","TMGGRC3B",177,0)
+       ;;                 lines[(lines.length-1)].mouseoverlabels = lines[n].mouseoverlabels;
+"RTN","TMGGRC3B",178,0)
+       ;;                 lines[(lines.length-1)].x=lines[n].x.slice(i);
+"RTN","TMGGRC3B",179,0)
+       ;;                 lines[(lines.length-1)].y=lines[n].y.slice(i);
+"RTN","TMGGRC3B",180,0)
+       ;;                 lines[n].x=tempx; lines[n].y=tempy;
+"RTN","TMGGRC3B",181,0)
+       ;;                 if(lines[n].drawlabels || lines[n].mouseoverlabels) {
+"RTN","TMGGRC3B",182,0)
+       ;;                  lines[(lines.length-1)].labels=lines[n].labels.slice(i);
+"RTN","TMGGRC3B",183,0)
+       ;;                  lines[n].labels=templabels;
+"RTN","TMGGRC3B",184,0)
+       ;;                 }
+"RTN","TMGGRC3B",185,0)
+       ;;                 clipped=true;
+"RTN","TMGGRC3B",186,0)
+       ;;
+"RTN","TMGGRC3B",187,0)
+       ;;                 break;
+"RTN","TMGGRC3B",188,0)
+       ;;                 }
+"RTN","TMGGRC3B",189,0)
+       ;;         }
+"RTN","TMGGRC3B",190,0)
+       ;;         else if (i > 1000) {
+"RTN","TMGGRC3B",191,0)
+       ;;                 lines[n].drawpoints = false;
+"RTN","TMGGRC3B",192,0)
+       ;;                 lines[n].drawlabels = false;
+"RTN","TMGGRC3B",193,0)
+       ;;                 lines.length += 1;
+"RTN","TMGGRC3B",194,0)
+       ;;                 lines[(lines.length-1)] = new Array();
+"RTN","TMGGRC3B",195,0)
+       ;;                 lines[(lines.length-1)].VMLstroke = lines[n].VMLstroke;
+"RTN","TMGGRC3B",196,0)
+       ;;                 lines[(lines.length-1)].drawline = lines[n].drawline;
+"RTN","TMGGRC3B",197,0)
+       ;;                 lines[(lines.length-1)].label = lines[n].label;
+"RTN","TMGGRC3B",198,0)
+       ;;                 lines[(lines.length-1)].drawpoints = false;
+"RTN","TMGGRC3B",199,0)
+       ;;                 lines[(lines.length-1)].drawlabels = false;
+"RTN","TMGGRC3B",200,0)
+       ;;                 lines[(lines.length-1)].x=lines[n].x.slice(i-1);
+"RTN","TMGGRC3B",201,0)
+       ;;                 lines[(lines.length-1)].y=lines[n].y.slice(i-1);
+"RTN","TMGGRC3B",202,0)
+       ;;                 lines[n].x=tempx; lines[n].y=tempy;
+"RTN","TMGGRC3B",203,0)
+       ;;
+"RTN","TMGGRC3B",204,0)
+       ;;                 break;
+"RTN","TMGGRC3B",205,0)
+       ;;         }
+"RTN","TMGGRC3B",206,0)
+       ;;         else {clipped=true;}
+"RTN","TMGGRC3B",207,0)
+       ;;        }
+"RTN","TMGGRC3B",208,0)
+       ;;        lines[n].x=tempx; lines[n].y=tempy; lines[n].labels=templabels;
+"RTN","TMGGRC3B",209,0)
+       ;;  }
+"RTN","TMGGRC3B",210,0)
+       ;;
+"RTN","TMGGRC3B",211,0)
+       ;;        if (this.xint == Number.NEGATIVE_INFINITY) {this.xint = xmin;}
+"RTN","TMGGRC3B",212,0)
+       ;;        if (this.xint == Number.POSITIVE_INFINITY) {this.xint = xmax;}
+"RTN","TMGGRC3B",213,0)
+       ;;        if (this.yint == Number.NEGATIVE_INFINITY) {this.yint = ymin;}
+"RTN","TMGGRC3B",214,0)
+       ;;        if (this.yint == Number.POSITIVE_INFINITY) {this.yint = ymax;}
+"RTN","TMGGRC3B",215,0)
+       ;;
+"RTN","TMGGRC3B",216,0)
+       ;;CONTINUED
+"RTN","TMGGRC3B",217,0)
+       ;"NOTE: JavaScript code continues in TMGCRG3C
+"RTN","TMGGRC3C")
+0^19^B112156712
+"RTN","TMGGRC3C",1,0)
+TMGGRC3C      ;TMG/kst-Growth Chart Javascript code ;7/17/12
+"RTN","TMGGRC3C",2,0)
+               ;;1.0;TMG-LIB;**1,17**;10/5/10;Build 23
+"RTN","TMGGRC3C",3,0)
+   ;
+"RTN","TMGGRC3C",4,0)
+   ;"NOTE: JavaScript code below is a continuation of code from TMGGRC3B
+"RTN","TMGGRC3C",5,0)
+GLIB   ;   
+"RTN","TMGGRC3C",6,0)
+       ;;// Intialize data
+"RTN","TMGGRC3C",7,0)
+       ;;
+"RTN","TMGGRC3C",8,0)
+       ;;if (this.lastplot == "") { // don't redraw graph background if called multiple times
+"RTN","TMGGRC3C",9,0)
+       ;;
+"RTN","TMGGRC3C",10,0)
+       ;;        xscale=Number(this.xscale); yscale=Number(this.yscale);
+"RTN","TMGGRC3C",11,0)
+       ;;        xint=Number(this.xint); yint=Number(this.yint);
+"RTN","TMGGRC3C",12,0)
+       ;;
+"RTN","TMGGRC3C",13,0)
+       ;;        gheight=Number(this.gheight); gwidth=Number(this.gwidth);
+"RTN","TMGGRC3C",14,0)
+       ;;        ticsize=Number(this.ticsize);
+"RTN","TMGGRC3C",15,0)
+       ;;
+"RTN","TMGGRC3C",16,0)
+       ;;        xticloc=this.xticloc; yticloc=this.yticloc;
+"RTN","TMGGRC3C",17,0)
+       ;;
+"RTN","TMGGRC3C",18,0)
+       ;;// Initialize parameters
+"RTN","TMGGRC3C",19,0)
+       ;;
+"RTN","TMGGRC3C",20,0)
+       ;;        gxpt=100;
+"RTN","TMGGRC3C",21,0)
+       ;;        pad_t=gxpt*this.pad_top; pad_b=gxpt*this.pad_bottom; // padding
+"RTN","TMGGRC3C",22,0)
+       ;;        pad_l=gxpt*this.pad_left; pad_r=gxpt*this.pad_right;
+"RTN","TMGGRC3C",23,0)
+       ;;        gwt=Math.abs(Math.round(gwidth*gxpt)); // total graph width;
+"RTN","TMGGRC3C",24,0)
+       ;;        ght=Math.abs(Math.round(gheight*gxpt)); // total graph height;
+"RTN","TMGGRC3C",25,0)
+       ;;
+"RTN","TMGGRC3C",26,0)
+       ;;        gstyle='position:absolute; width='+gwt+'; height='+ght; // repetitive string constant
+"RTN","TMGGRC3C",27,0)
+       ;;        GXstyle=this.CSSticfont+'position:absolute;';
+"RTN","TMGGRC3C",28,0)
+       ;;        GYstyle=this.CSSticfont+'position:absolute;';
+"RTN","TMGGRC3C",29,0)
+       ;;        GYLstyle=this.CSSticfont+'position:absolute; text-align:right; width:'; // finished later
+"RTN","TMGGRC3C",30,0)
+       ;;
+"RTN","TMGGRC3C",31,0)
+       ;;// fix auto scale x axis
+"RTN","TMGGRC3C",32,0)
+       ;;        if (xint < xmin) {xmin=xint;}
+"RTN","TMGGRC3C",33,0)
+       ;;        if (xint > xmax) {xmax=xint;}
+"RTN","TMGGRC3C",34,0)
+       ;;
+"RTN","TMGGRC3C",35,0)
+       ;;// x auto tic scale
+"RTN","TMGGRC3C",36,0)
+       ;;     if (xscale <= 0) {
+"RTN","TMGGRC3C",37,0)
+       ;;        xticmax=(gwidth-(pad_r+pad_l)/gxpt)/this.ticspaceavg;
+"RTN","TMGGRC3C",38,0)
+       ;;        ticdivision=[0.1,0.2,0.25,0.5];
+"RTN","TMGGRC3C",39,0)
+       ;;        divpow=0;
+"RTN","TMGGRC3C",40,0)
+       ;;        i=0;
+"RTN","TMGGRC3C",41,0)
+       ;;          while ((xmax-xmin)/(ticdivision[i]*Math.pow(10,divpow)) > xticmax) {
+"RTN","TMGGRC3C",42,0)
+       ;;            i++;
+"RTN","TMGGRC3C",43,0)
+       ;;            if (!(i % ticdivision.length)) {divpow++; i=0;}
+"RTN","TMGGRC3C",44,0)
+       ;;            if (divpow>1) {xticmax=(gwidth-(pad_r+pad_l)/gxpt)/(Number(this.ticspaceavg)+5);}
+"RTN","TMGGRC3C",45,0)
+       ;;          }
+"RTN","TMGGRC3C",46,0)
+       ;;        if (i==0 && divpow==0) {
+"RTN","TMGGRC3C",47,0)
+       ;;          i=ticdivision.length-1; divpow=-1; xticmax=(gwidth-(pad_r+pad_l)/gxpt)/(Number(this.ticspaceavg)+10);
+"RTN","TMGGRC3C",48,0)
+       ;;          while ((xmax-xmin)/(ticdivision[i]*Math.pow(10,divpow)) < xticmax) {
+"RTN","TMGGRC3C",49,0)
+       ;;            i--;
+"RTN","TMGGRC3C",50,0)
+       ;;            if (i==-1) {divpow--; i=ticdivision.length-1; xticmax=(gwidth-(pad_r+pad_l)/gxpt)/(Number(this.ticspaceavg)+30);}
+"RTN","TMGGRC3C",51,0)
+       ;;          }
+"RTN","TMGGRC3C",52,0)
+       ;;        }
+"RTN","TMGGRC3C",53,0)
+       ;;        xscale=ticdivision[i]*Math.pow(10,divpow);
+"RTN","TMGGRC3C",54,0)
+       ;;     }
+"RTN","TMGGRC3C",55,0)
+       ;;
+"RTN","TMGGRC3C",56,0)
+       ;;
+"RTN","TMGGRC3C",57,0)
+       ;;// fix auto scale y axis
+"RTN","TMGGRC3C",58,0)
+       ;;        if (yint < ymin) {ymin = yint;}
+"RTN","TMGGRC3C",59,0)
+       ;;        if (yint > ymax) {ymax = yint;}
+"RTN","TMGGRC3C",60,0)
+       ;;
+"RTN","TMGGRC3C",61,0)
+       ;;// y auto tic scale
+"RTN","TMGGRC3C",62,0)
+       ;;     if (yscale <= 0) {
+"RTN","TMGGRC3C",63,0)
+       ;;        yticmax=(gheight-(pad_t+pad_b)/gxpt)/this.ticspaceavg;
+"RTN","TMGGRC3C",64,0)
+       ;;        ticdivision=[0.1,0.2,0.25,0.5];
+"RTN","TMGGRC3C",65,0)
+       ;;        divpow=0;
+"RTN","TMGGRC3C",66,0)
+       ;;        i=0;
+"RTN","TMGGRC3C",67,0)
+       ;;          while ((ymax-ymin)/(ticdivision[i]*Math.pow(10,divpow)) > yticmax) {
+"RTN","TMGGRC3C",68,0)
+       ;;            i++;
+"RTN","TMGGRC3C",69,0)
+       ;;            if (!(i % ticdivision.length)) {divpow++; i=0;}
+"RTN","TMGGRC3C",70,0)
+       ;;            if (divpow>1) {yticmax=(gwidth-(pad_t+pad_b)/gxpt)/(Number(this.ticspaceavg)+5);}
+"RTN","TMGGRC3C",71,0)
+       ;;          }
+"RTN","TMGGRC3C",72,0)
+       ;;        if (i==0 && divpow==0) {
+"RTN","TMGGRC3C",73,0)
+       ;;          i=ticdivision.length-1; divpow=-1; yticmax=(gheight-(pad_t+pad_b)/gxpt)/(this.ticspaceavg+10);
+"RTN","TMGGRC3C",74,0)
+       ;;          while ((ymax-ymin)/(ticdivision[i]*Math.pow(10,divpow)) < yticmax) {
+"RTN","TMGGRC3C",75,0)
+       ;;            i--;
+"RTN","TMGGRC3C",76,0)
+       ;;            if (i==-1) {divpow--; i=ticdivision.length-1; yticmax=(gheight-(pad_t+pad_b)/gxpt)/(this.ticspaceavg+30);}
+"RTN","TMGGRC3C",77,0)
+       ;;          }
+"RTN","TMGGRC3C",78,0)
+       ;;        }
+"RTN","TMGGRC3C",79,0)
+       ;;        yscale=ticdivision[i]*Math.pow(10,divpow);
+"RTN","TMGGRC3C",80,0)
+       ;;     }
+"RTN","TMGGRC3C",81,0)
+       ;;
+"RTN","TMGGRC3C",82,0)
+       ;;// fix auto scale y axis
+"RTN","TMGGRC3C",83,0)
+       ;;        if (!clipped) {
+"RTN","TMGGRC3C",84,0)
+       ;;         ymin = (ymin%yscale ? ymin-ymin%yscale-yscale : ymin);
+"RTN","TMGGRC3C",85,0)
+       ;;         ymax = (ymax%yscale ? ymax-ymax%yscale+yscale : ymax);
+"RTN","TMGGRC3C",86,0)
+       ;;        }
+"RTN","TMGGRC3C",87,0)
+       ;;
+"RTN","TMGGRC3C",88,0)
+       ;;
+"RTN","TMGGRC3C",89,0)
+       ;;// Determine x tic labels
+"RTN","TMGGRC3C",90,0)
+       ;;
+"RTN","TMGGRC3C",91,0)
+       ;;        xticlabels = new Array(); xticcharnum=1;
+"RTN","TMGGRC3C",92,0)
+       ;;        numxticleft = Math.floor((xint-xmin)/xscale);
+"RTN","TMGGRC3C",93,0)
+       ;;        numxtic = numxticleft+Math.floor((xmax-xint)/xscale)+1;
+"RTN","TMGGRC3C",94,0)
+       ;;        for (var i=0; i<numxtic; i++) {
+"RTN","TMGGRC3C",95,0)
+       ;;         xticlabel=(i-numxticleft)*xscale+xint;
+"RTN","TMGGRC3C",96,0)
+       ;;         negstr=""; expstr=0;
+"RTN","TMGGRC3C",97,0)
+       ;;         if (xticlabel < 0) {xticlabel*=-1; negstr="-";}
+"RTN","TMGGRC3C",98,0)
+       ;;         switch (true) {
+"RTN","TMGGRC3C",99,0)
+       ;;         case (xticlabel > 99999) :
+"RTN","TMGGRC3C",100,0)
+       ;;                 while (xticlabel>=1000) {xticlabel/=1000; expstr++;}
+"RTN","TMGGRC3C",101,0)
+       ;;                 xticlabel=String(xticlabel).slice(0,4);
+"RTN","TMGGRC3C",102,0)
+       ;;                 xticlabels[i]=negstr+xticlabel+"E+"+(expstr*3);
+"RTN","TMGGRC3C",103,0)
+       ;;                 break;
+"RTN","TMGGRC3C",104,0)
+       ;;         case (xticlabel < 0.001 && xticlabel!=0) :
+"RTN","TMGGRC3C",105,0)
+       ;;                 while (xticlabel<=0.001) {xticlabel*=1000; expstr++;}
+"RTN","TMGGRC3C",106,0)
+       ;;                 xticlabel=(Math.round(xticlabel*Math.pow(10,4)))/Math.pow(10,4);
+"RTN","TMGGRC3C",107,0)
+       ;;                 xticlabels[i]=negstr+xticlabel+"E-"+(expstr*3);
+"RTN","TMGGRC3C",108,0)
+       ;;                 break;
+"RTN","TMGGRC3C",109,0)
+       ;;         default:
+"RTN","TMGGRC3C",110,0)
+       ;;                 xticlabel=(Math.round(xticlabel*Math.pow(10,3)))/Math.pow(10,3);
+"RTN","TMGGRC3C",111,0)
+       ;;                 xticlabels[i]=negstr+String(xticlabel).slice(0,6);
+"RTN","TMGGRC3C",112,0)
+       ;;                 break;
+"RTN","TMGGRC3C",113,0)
+       ;;         }
+"RTN","TMGGRC3C",114,0)
+       ;;         xticcharnum=Math.max(xticcharnum,String(xticlabels[i]).length);
+"RTN","TMGGRC3C",115,0)
+       ;;        }
+"RTN","TMGGRC3C",116,0)
+       ;;        xticcharnumlast=String(xticlabels[i-1]).length;
+"RTN","TMGGRC3C",117,0)
+       ;;
+"RTN","TMGGRC3C",118,0)
+       ;;        if (this.userxticlabels!=null) {
+"RTN","TMGGRC3C",119,0)
+       ;;        len=Math.min(this.userxticlabels.length,xticlabels.length);
+"RTN","TMGGRC3C",120,0)
+       ;;        for (var i=0; i<len; i++) {
+"RTN","TMGGRC3C",121,0)
+       ;;         xticlabels[i]=this.userxticlabels[i];
+"RTN","TMGGRC3C",122,0)
+       ;;        }}
+"RTN","TMGGRC3C",123,0)
+       ;;
+"RTN","TMGGRC3C",124,0)
+       ;;
+"RTN","TMGGRC3C",125,0)
+       ;;// Determine y tic labels
+"RTN","TMGGRC3C",126,0)
+       ;;
+"RTN","TMGGRC3C",127,0)
+       ;;        yticlabels = new Array(); yticcharnum=0;
+"RTN","TMGGRC3C",128,0)
+       ;;        numyticbot = Math.floor((yint-ymin)/yscale);
+"RTN","TMGGRC3C",129,0)
+       ;;        numytic = numyticbot+Math.floor((ymax-yint)/yscale)+1;
+"RTN","TMGGRC3C",130,0)
+       ;;        for (var i=0; i<numytic; i++) {
+"RTN","TMGGRC3C",131,0)
+       ;;         yticlabel=(i-numyticbot)*yscale+yint;
+"RTN","TMGGRC3C",132,0)
+       ;;         negstr=""; expstr=0;
+"RTN","TMGGRC3C",133,0)
+       ;;         if (yticlabel < 0) {yticlabel*=-1; negstr="-";}
+"RTN","TMGGRC3C",134,0)
+       ;;         switch (true) {
+"RTN","TMGGRC3C",135,0)
+       ;;         case (yticlabel > 99999) :
+"RTN","TMGGRC3C",136,0)
+       ;;                 while (yticlabel>=1000) {yticlabel/=1000; expstr++;}
+"RTN","TMGGRC3C",137,0)
+       ;;                 yticlabel=String(yticlabel).slice(0,4);
+"RTN","TMGGRC3C",138,0)
+       ;;                 yticlabels[i]=negstr+yticlabel+"E+"+(expstr*3);
+"RTN","TMGGRC3C",139,0)
+       ;;                 break;
+"RTN","TMGGRC3C",140,0)
+       ;;         case (yticlabel < 0.001 && yticlabel!=0) :
+"RTN","TMGGRC3C",141,0)
+       ;;                 while (yticlabel<=0.001) {yticlabel*=1000; expstr++;}
+"RTN","TMGGRC3C",142,0)
+       ;;                 yticlabel=(Math.round(yticlabel*Math.pow(10,4)))/Math.pow(10,4);
+"RTN","TMGGRC3C",143,0)
+       ;;                 yticlabels[i]=negstr+yticlabel+"E-"+(expstr*3);
+"RTN","TMGGRC3C",144,0)
+       ;;                 break;
+"RTN","TMGGRC3C",145,0)
+       ;;         default:
+"RTN","TMGGRC3C",146,0)
+       ;;                 yticlabel=(Math.round(yticlabel*Math.pow(10,3)))/Math.pow(10,3);
+"RTN","TMGGRC3C",147,0)
+       ;;                 yticlabels[i]=negstr+String(yticlabel).slice(0,6);
+"RTN","TMGGRC3C",148,0)
+       ;;                 break;
+"RTN","TMGGRC3C",149,0)
+       ;;         }
+"RTN","TMGGRC3C",150,0)
+       ;;         yticcharnum=Math.max(yticcharnum,String(yticlabels[i]).length);
+"RTN","TMGGRC3C",151,0)
+       ;;        }
+"RTN","TMGGRC3C",152,0)
+       ;;
+"RTN","TMGGRC3C",153,0)
+       ;;        if (this.useryticlabels!=null) {
+"RTN","TMGGRC3C",154,0)
+       ;;        len=Math.min(this.useryticlabels.length,yticlabels.length);
+"RTN","TMGGRC3C",155,0)
+       ;;        for (var i=0; i<len; i++) {
+"RTN","TMGGRC3C",156,0)
+       ;;         yticlabels[i]=this.useryticlabels[i];
+"RTN","TMGGRC3C",157,0)
+       ;;        }}
+"RTN","TMGGRC3C",158,0)
+       ;;
+"RTN","TMGGRC3C",159,0)
+       ;;// Determine required extra padding and auto axis location
+"RTN","TMGGRC3C",160,0)
+       ;;        tic_pt=Number((this.CSSticfont.slice(0,this.CSSticfont.indexOf("pt"))).slice(-2));
+"RTN","TMGGRC3C",161,0)
+       ;;        GYLstyle+=tic_pt*(yticcharnum+1)*0.5+"pt;";
+"RTN","TMGGRC3C",162,0)
+       ;;        if (yticloc!="none") {
+"RTN","TMGGRC3C",163,0)
+       ;;          if (!numxticleft) {
+"RTN","TMGGRC3C",164,0)
+       ;;         if (yticloc=="auto") {yticloc="left";}
+"RTN","TMGGRC3C",165,0)
+       ;;         if (yticloc!="right") {
+"RTN","TMGGRC3C",166,0)
+       ;;                 pad_l+=0.75*yticcharnum*tic_pt*gxpt;
+"RTN","TMGGRC3C",167,0)
+       ;;                 if (this.yaxis) {pad_l+=0.5*this.pad_left*gxpt;}
+"RTN","TMGGRC3C",168,0)
+       ;;         }
+"RTN","TMGGRC3C",169,0)
+       ;;          }
+"RTN","TMGGRC3C",170,0)
+       ;;          if (numxticleft == numxtic-1) {
+"RTN","TMGGRC3C",171,0)
+       ;;         if (yticloc=="auto") {yticloc="right";}
+"RTN","TMGGRC3C",172,0)
+       ;;         if (yticloc!="left") {pad_r+=0.75*yticcharnum*tic_pt*gxpt;}
+"RTN","TMGGRC3C",173,0)
+       ;;          }
+"RTN","TMGGRC3C",174,0)
+       ;;        }
+"RTN","TMGGRC3C",175,0)
+       ;;
+"RTN","TMGGRC3C",176,0)
+       ;;        if (xticloc!="none") {
+"RTN","TMGGRC3C",177,0)
+       ;;          if (!numyticbot) {
+"RTN","TMGGRC3C",178,0)
+       ;;         if (xticloc=="auto") {xticloc="bottom";}
+"RTN","TMGGRC3C",179,0)
+       ;;         if (xticloc!="top") {pad_b+=0.75*tic_pt*gxpt;}
+"RTN","TMGGRC3C",180,0)
+       ;;          }
+"RTN","TMGGRC3C",181,0)
+       ;;          if (numyticbot == numytic-1) {
+"RTN","TMGGRC3C",182,0)
+       ;;         if (xticloc=="auto") {xticloc="top";}
+"RTN","TMGGRC3C",183,0)
+       ;;         if (xticloc!="bottom") {pad_t+=0.75*tic_pt*gxpt;}
+"RTN","TMGGRC3C",184,0)
+       ;;          }
+"RTN","TMGGRC3C",185,0)
+       ;;        if (!((numxticleft == numxtic-1) && (yticloc=="right"))) {pad_r+=0.25*xticcharnumlast*tic_pt*gxpt;}
+"RTN","TMGGRC3C",186,0)
+       ;;        }
+"RTN","TMGGRC3C",187,0)
+       ;;        if (this.title) {
+"RTN","TMGGRC3C",188,0)
+       ;;         title_pt=Number((this.CSStitlefont.slice(0,this.CSStitlefont.indexOf("pt"))).slice(-2));
+"RTN","TMGGRC3C",189,0)
+       ;;         pad_t+=1.25*title_pt*gxpt;
+"RTN","TMGGRC3C",190,0)
+       ;;         if (xticloc=="top") pad_t+=0.75*tic_pt*gxpt;}
+"RTN","TMGGRC3C",191,0)
+       ;;        if (this.xaxis) {
+"RTN","TMGGRC3C",192,0)
+       ;;         xaxis_pt=Number((this.CSSxaxisfont.slice(0,this.CSSxaxisfont.indexOf("pt"))).slice(-2));
+"RTN","TMGGRC3C",193,0)
+       ;;         pad_b-=0.25*pad_b;
+"RTN","TMGGRC3C",194,0)
+       ;;         pad_b+=xaxis_pt*gxpt;
+"RTN","TMGGRC3C",195,0)
+       ;;         if (xticloc=="bottom") pad_b+=0.75*tic_pt*gxpt;}
+"RTN","TMGGRC3C",196,0)
+       ;;        if (this.yaxis) {
+"RTN","TMGGRC3C",197,0)
+       ;;         yaxis_pt=Number((this.CSSyaxisfont.slice(0,this.CSSyaxisfont.indexOf("pt"))).slice(-2));
+"RTN","TMGGRC3C",198,0)
+       ;;         pad_l-=0.25*pad_l;
+"RTN","TMGGRC3C",199,0)
+       ;;         pad_l+=yaxis_pt*gxpt;}
+"RTN","TMGGRC3C",200,0)
+       ;;
+"RTN","TMGGRC3C",201,0)
+       ;;
+"RTN","TMGGRC3C",202,0)
+       ;;        gw=gwt-pad_l-pad_r;
+"RTN","TMGGRC3C",203,0)
+       ;;        gh=ght-pad_t-pad_b;
+"RTN","TMGGRC3C",204,0)
+       ;;
+"RTN","TMGGRC3C",205,0)
+       ;;        xscl=gw/(xmax-xmin);
+"RTN","TMGGRC3C",206,0)
+       ;;        yscl=gh/(ymax-ymin);
+"RTN","TMGGRC3C",207,0)
+       ;;
+"RTN","TMGGRC3C",208,0)
+       ;;      this.xmin=xmin;
+"RTN","TMGGRC3C",209,0)
+       ;;      this.xmax=xmax;
+"RTN","TMGGRC3C",210,0)
+       ;;      this.ymin=ymin;
+"RTN","TMGGRC3C",211,0)
+       ;;      this.ymax=ymax;
+"RTN","TMGGRC3C",212,0)
+       ;;
+"RTN","TMGGRC3C",213,0)
+       ;;        gxmin=pad_l;
+"RTN","TMGGRC3C",214,0)
+       ;;        gxmax=gw+pad_l;
+"RTN","TMGGRC3C",215,0)
+       ;;        gxint=(xint-xmin)*xscl+pad_l;
+"RTN","TMGGRC3C",216,0)
+       ;;        gymin=gh+pad_t;
+"RTN","TMGGRC3C",217,0)
+       ;;        gymax=pad_t;
+"RTN","TMGGRC3C",218,0)
+       ;;        gyint=(ymax-yint)*yscl+pad_t;
+"RTN","TMGGRC3C",219,0)
+       ;;        gytic=yscale*yscl;
+"RTN","TMGGRC3C",220,0)
+       ;;        gxtic=xscale*xscl;
+"RTN","TMGGRC3C",221,0)
+       ;;        gticsize=Math.abs(Math.round(ticsize*gxpt));
+"RTN","TMGGRC3C",222,0)
+       ;;
+"RTN","TMGGRC3C",223,0)
+       ;;        gstr='<v:group style="antialias:true; width='+gwidth+'pt; height='+gheight+'pt" coordsize="'+gwt+','+ght+'" coordorigin="0,0">';
+"RTN","TMGGRC3C",224,0)
+       ;;        gstr+='<v:rect style="'+gstyle+'" ><v:stroke '+this.VMLframestroke+' /><v:fill '+this.VMLbackgroundfill+' /></v:rect>';
+"RTN","TMGGRC3C",225,0)
+       ;;
+"RTN","TMGGRC3C",226,0)
+       ;;CONTINUED
+"RTN","TMGGRC3C",227,0)
+       ;"NOTE: JavaScript code continues in TMGCRG3D
+"RTN","TMGGRC3D")
+0^20^B100654947
+"RTN","TMGGRC3D",1,0)
+TMGGRC3D       ;TMG/kst-Growth Chart Javascript code ;7/17/12
+"RTN","TMGGRC3D",2,0)
+               ;;1.0;TMG-LIB;**1,17**;10/5/10;Build 23
+"RTN","TMGGRC3D",3,0)
+       ;
+"RTN","TMGGRC3D",4,0)
+       ;"NOTE: JavaScript code below is a continuation of code from TMGGRC3C
+"RTN","TMGGRC3D",5,0)
+GLIB   ;
+"RTN","TMGGRC3D",6,0)
+       ;;// draw x-axis
+"RTN","TMGGRC3D",7,0)
+       ;;        if(xscl!=Number.POSITIVE_INFINITY) {
+"RTN","TMGGRC3D",8,0)
+       ;;         gstr+='<v:line from="'+gxmin+','+Math.round(gyint)+'" to="'+gxmax+','+Math.round(gyint)+'" ><v:stroke '+this.VMLmajoraxisstroke+' /></v:line>';
+"RTN","TMGGRC3D",9,0)
+       ;;         }
+"RTN","TMGGRC3D",10,0)
+       ;;// draw y-axis
+"RTN","TMGGRC3D",11,0)
+       ;;        if(yscl!=Number.POSITIVE_INFINITY) {
+"RTN","TMGGRC3D",12,0)
+       ;;         gstr+='<v:line from="'+Math.round(gxint)+','+gymin+'" to="'+Math.round(gxint)+','+gymax+'" ><v:stroke '+this.VMLmajoraxisstroke+' /></v:line>';
+"RTN","TMGGRC3D",13,0)
+       ;;         }
+"RTN","TMGGRC3D",14,0)
+       ;;// draw minor x-axis
+"RTN","TMGGRC3D",15,0)
+       ;;        yticmin=gyint+numyticbot*gytic;
+"RTN","TMGGRC3D",16,0)
+       ;;        for (var i=0; i<numytic; i++) {
+"RTN","TMGGRC3D",17,0)
+       ;;          curint=Math.round(yticmin-gytic*i);
+"RTN","TMGGRC3D",18,0)
+       ;;          if (curint!=Math.round(gyint)) {gstr+='<v:line from="'+gxmin+','+curint+'" to="'+gxmax+','+curint+'" ><v:stroke '+this.VMLminorxaxisstroke+' /></v:line>';}
+"RTN","TMGGRC3D",19,0)
+       ;;        }
+"RTN","TMGGRC3D",20,0)
+       ;;
+"RTN","TMGGRC3D",21,0)
+       ;;// draw minor y-axis
+"RTN","TMGGRC3D",22,0)
+       ;;        xticmin=gxint-numxticleft*gxtic;
+"RTN","TMGGRC3D",23,0)
+       ;;        for (var i=0; i<numxtic; i++) {
+"RTN","TMGGRC3D",24,0)
+       ;;          curint=Math.round(gxtic*i+xticmin);
+"RTN","TMGGRC3D",25,0)
+       ;;          if (curint!=Math.round(gxint)) {gstr+='<v:line from="'+curint+','+gymin+'" to="'+curint+','+gymax+'" ><v:stroke '+this.VMLminoryaxisstroke+' /></v:line>';}
+"RTN","TMGGRC3D",26,0)
+       ;;        }
+"RTN","TMGGRC3D",27,0)
+       ;;
+"RTN","TMGGRC3D",28,0)
+       ;;// draw x-axis tics
+"RTN","TMGGRC3D",29,0)
+       ;;        gstr+='<v:shape style="'+gstyle+'"><v:path v="';
+"RTN","TMGGRC3D",30,0)
+       ;;        for (var i=0; i<numxtic; i++) { gstr+='m '+Math.round(xticmin+i*gxtic)+','+Math.round(gyint)+' r 0,'+((xticloc=="top" ? -1 : 1)*gticsize)+' x ';}
+"RTN","TMGGRC3D",31,0)
+       ;;        gstr+='e" /><v:stroke '+this.VMLmajoraxisstroke+' /><v:fill on="false" /></v:shape>';
+"RTN","TMGGRC3D",32,0)
+       ;;
+"RTN","TMGGRC3D",33,0)
+       ;;// draw y-axis tics
+"RTN","TMGGRC3D",34,0)
+       ;;        gstr+='<v:shape style="'+gstyle+'"><v:path v="';
+"RTN","TMGGRC3D",35,0)
+       ;;        for (var i=0; i<numytic; i++) { gstr+='m '+Math.round(gxint)+','+Math.round(yticmin-i*gytic)+' r '+((yticloc=="right" ? 1 : -1)*gticsize)+',0 x ';}
+"RTN","TMGGRC3D",36,0)
+       ;;        gstr+='e" /><v:stroke '+this.VMLmajoraxisstroke+' /><v:fill on="false" /></v:shape>';
+"RTN","TMGGRC3D",37,0)
+       ;;
+"RTN","TMGGRC3D",38,0)
+       ;;// draw titles
+"RTN","TMGGRC3D",39,0)
+       ;;        if (this.title) {
+"RTN","TMGGRC3D",40,0)
+       ;;        nonchar=0;
+"RTN","TMGGRC3D",41,0)
+       ;;        for (var i=0; i<this.title.length; i++) {if (this.title.charAt(i)==";") {nonchar++;}}
+"RTN","TMGGRC3D",42,0)
+       ;;        gstr+='<span style="'+this.CSStitlefont+' position:absolute; text-align:center; top: '+0.5*this.pad_top;
+"RTN","TMGGRC3D",43,0)
+       ;;        gstr+='pt; left: '+(0.5*gwt/gxpt-(this.title.length-5.5*nonchar)*title_pt*0.25)+'pt;">'+this.title+'</span>';
+"RTN","TMGGRC3D",44,0)
+       ;;        }
+"RTN","TMGGRC3D",45,0)
+       ;;        if (this.xaxis) {
+"RTN","TMGGRC3D",46,0)
+       ;;        nonchar=0;
+"RTN","TMGGRC3D",47,0)
+       ;;        for (var i=0; i<this.xaxis.length; i++) {if (this.xaxis.charAt(i)==";") {nonchar++;}}
+"RTN","TMGGRC3D",48,0)
+       ;;        gstr+='<span style="'+this.CSSxaxisfont+' position:absolute; text-align:center; top: '+((gymin+0.5*(pad_b-xaxis_pt*gxpt))/gxpt+(xticloc=="bottom" ? 0.75*tic_pt:0));
+"RTN","TMGGRC3D",49,0)
+       ;;        gstr+='pt; left: '+(0.5*gwt/gxpt-(this.xaxis.length-5.5*nonchar)*xaxis_pt*0.25)+'pt;">'+this.xaxis+'</span>';
+"RTN","TMGGRC3D",50,0)
+       ;;        }
+"RTN","TMGGRC3D",51,0)
+       ;;        if (this.yaxis) {
+"RTN","TMGGRC3D",52,0)
+       ;;        gstr+='<v:shape style="'+gstyle;
+"RTN","TMGGRC3D",53,0)
+       ;;        gstr+='" path="M '+((0.25*this.pad_left+0.5*yaxis_pt)*gxpt)+','+gymin+' L '+((0.25*this.pad_left+0.5*yaxis_pt)*gxpt)+','+gymax+'" fillcolor="'+this.VMLyaxisfontcolor+'">';
+"RTN","TMGGRC3D",54,0)
+       ;;        gstr+='<v:stroke on="false" /><v:path textpathok="true" />';
+"RTN","TMGGRC3D",55,0)
+       ;;        gstr+='<v:textpath on="true" style="'+this.CSSyaxisfont+'" string="'+this.yaxis+'" /></v:shape>';
+"RTN","TMGGRC3D",56,0)
+       ;;        }
+"RTN","TMGGRC3D",57,0)
+       ;;
+"RTN","TMGGRC3D",58,0)
+       ;;} // end of draw graph background
+"RTN","TMGGRC3D",59,0)
+       ;;
+"RTN","TMGGRC3D",60,0)
+       ;;// hold on to previous plot
+"RTN","TMGGRC3D",61,0)
+       ;;  if (this.lastplot != "") {
+"RTN","TMGGRC3D",62,0)
+       ;;        gstr=this.lastplot.substring(0,this.lastplot.length-10);
+"RTN","TMGGRC3D",63,0)
+       ;;        gstrtemp=gstr;
+"RTN","TMGGRC3D",64,0)
+       ;;  }
+"RTN","TMGGRC3D",65,0)
+       ;;
+"RTN","TMGGRC3D",66,0)
+       ;;// draw lines
+"RTN","TMGGRC3D",67,0)
+       ;;  for (var n=0; n<lines.length; n++) {
+"RTN","TMGGRC3D",68,0)
+       ;;  if (lines[n].drawline && lines[n].x.length>1) {
+"RTN","TMGGRC3D",69,0)
+       ;;        gstr+='<v:polyline points="';
+"RTN","TMGGRC3D",70,0)
+       ;;        for (i=0; i<lines[n].x.length; i++) {gstr+= Math.round(gxmin+(lines[n].x[i]-xmin)*xscl)+" "+Math.round(gymin-(lines[n].y[i]-ymin)*yscl)+" ";}
+"RTN","TMGGRC3D",71,0)
+       ;;        gstr+='" title="'+lines[n].label+'" ><v:stroke '+lines[n].VMLstroke+' /><v:fill on="false" /></v:polyline>';
+"RTN","TMGGRC3D",72,0)
+       ;;  }}
+"RTN","TMGGRC3D",73,0)
+       ;;
+"RTN","TMGGRC3D",74,0)
+       ;;// draw points
+"RTN","TMGGRC3D",75,0)
+       ;;  for (var n=0; n<lines.length; n++) {
+"RTN","TMGGRC3D",76,0)
+       ;;  if (lines[n].drawpoints && lines[n].x.length>0) {
+"RTN","TMGGRC3D",77,0)
+       ;;        gstr+=this.VMLpointshape(lines[n].VMLpointshapetype);
+"RTN","TMGGRC3D",78,0)
+       ;;        for (i=0; i<lines[n].x.length; i++) {
+"RTN","TMGGRC3D",79,0)
+       ;;         gstr+='<v:shape type="#'+(lines[n].VMLpointshapetype).toLowerCase()+'" style="width:'+lines[n].pointsize*gxpt+'; height:'+lines[n].pointsize*gxpt;
+"RTN","TMGGRC3D",80,0)
+       ;;         gstr+='; top:'+Math.round(gymin-0.5*lines[n].pointsize*gxpt-(lines[n].y[i]-ymin)*yscl)+'; left:'+Math.round(gxmin-0.5*lines[n].pointsize*gxpt+(lines[n].x[i]-xmin)*xscl);
+"RTN","TMGGRC3D",81,0)
+       ;;              ptitle = (lines[n].mouseoverlabels) ? lines[n].labels[i] : lines[n].x[i]+','+lines[n].y[i];
+"RTN","TMGGRC3D",82,0)
+       ;;         gstr+='" title="'+ptitle+'" fillcolor="'+lines[n].pointfillcolor+'"';
+"RTN","TMGGRC3D",83,0)
+       ;;         gstr+=' strokecolor="'+lines[n].pointstrokecolor+'" />';
+"RTN","TMGGRC3D",84,0)
+       ;;        }
+"RTN","TMGGRC3D",85,0)
+       ;;  }}
+"RTN","TMGGRC3D",86,0)
+       ;;
+"RTN","TMGGRC3D",87,0)
+       ;;// draw labels
+"RTN","TMGGRC3D",88,0)
+       ;;  for (var n=0; n<lines.length; n++) {
+"RTN","TMGGRC3D",89,0)
+       ;;  if (lines[n].drawlabels && lines[n].labels.length>0) {
+"RTN","TMGGRC3D",90,0)
+       ;;        for (i=0; i<lines[n].labels.length; i++) {
+"RTN","TMGGRC3D",91,0)
+       ;;         gstr+='<span style="font: '+lines[n].labelsize+'pt '+lines[n].labelfont+'; position:absolute;';
+"RTN","TMGGRC3D",92,0)
+       ;;         gstr+=' top:'+Math.round((gymin-1.5*lines[n].labelsize*gxpt-(lines[n].y[i]-ymin)*yscl)/gxpt)+'pt; left:'+Math.round((gxmin+0.5*lines[n].labelsize*gxpt+(lines[n].x[i]-xmin)*xscl)/gxpt)+'pt; ';
+"RTN","TMGGRC3D",93,0)
+       ;;         gstr+=' color:'+lines[n].labelcolor+'">'+lines[n].labels[i]+'</span>';
+"RTN","TMGGRC3D",94,0)
+       ;;        }
+"RTN","TMGGRC3D",95,0)
+       ;;  }}
+"RTN","TMGGRC3D",96,0)
+       ;;
+"RTN","TMGGRC3D",97,0)
+       ;;if (this.lastplot == "") { // don't redraw graph background if called multiple times
+"RTN","TMGGRC3D",98,0)
+       ;;// draw x-axis labels
+"RTN","TMGGRC3D",99,0)
+       ;;        if (xticloc!="none") {
+"RTN","TMGGRC3D",100,0)
+       ;;        for (var i=0; i<numxtic; i++) {
+"RTN","TMGGRC3D",101,0)
+       ;;           if (xticloc=="top") {
+"RTN","TMGGRC3D",102,0)
+       ;;                 gstr+='<span style="'+GXstyle+' top: '+((gyint-gticsize*1.25)/gxpt-8)+'pt; left: '+((xticmin+i*gxtic-0.5*gticsize)/gxpt)+'pt;">';
+"RTN","TMGGRC3D",103,0)
+       ;;           }
+"RTN","TMGGRC3D",104,0)
+       ;;           else {
+"RTN","TMGGRC3D",105,0)
+       ;;                 gstr+='<span style="'+GXstyle+' top: '+((gyint+gticsize*1.25)/gxpt)+'pt; left: '+((xticmin+i*gxtic-0.5*gticsize)/gxpt)+'pt;">';
+"RTN","TMGGRC3D",106,0)
+       ;;           }
+"RTN","TMGGRC3D",107,0)
+       ;;         gstr+=xticlabels[i]+'</span>';
+"RTN","TMGGRC3D",108,0)
+       ;;        }}
+"RTN","TMGGRC3D",109,0)
+       ;;
+"RTN","TMGGRC3D",110,0)
+       ;;// draw y-axis labels
+"RTN","TMGGRC3D",111,0)
+       ;;        if (yticloc!="none") {
+"RTN","TMGGRC3D",112,0)
+       ;;        for (var i=0; i<numytic; i++) {
+"RTN","TMGGRC3D",113,0)
+       ;;           if (yticloc=="right") {
+"RTN","TMGGRC3D",114,0)
+       ;;                   gstr+='<span style="'+GYstyle+' top: '+((yticmin-i*gytic-gticsize)/gxpt)+'pt; left: '+((gxint+gticsize*1.5)/gxpt)+'pt;">';
+"RTN","TMGGRC3D",115,0)
+       ;;           }
+"RTN","TMGGRC3D",116,0)
+       ;;           else {
+"RTN","TMGGRC3D",117,0)
+       ;;                   gstr+='<span style="'+GYLstyle+' top: '+((yticmin-i*gytic-gticsize)/gxpt)+'pt; left: '+((gxint-gticsize)/gxpt-0.5*(yticcharnum+1)*tic_pt)+'pt;">';
+"RTN","TMGGRC3D",118,0)
+       ;;           }
+"RTN","TMGGRC3D",119,0)
+       ;;           gstr+=yticlabels[i]+'</span>';
+"RTN","TMGGRC3D",120,0)
+       ;;        }}
+"RTN","TMGGRC3D",121,0)
+       ;;} // end of draw graph background
+"RTN","TMGGRC3D",122,0)
+       ;;
+"RTN","TMGGRC3D",123,0)
+       ;;// close and return output
+"RTN","TMGGRC3D",124,0)
+       ;;        gstr+='</v:group>';
+"RTN","TMGGRC3D",125,0)
+       ;;          if (this.numplots > 0) {this.lastplotadded[this.numplots]=gstr.length-gstrtemp.length;}
+"RTN","TMGGRC3D",126,0)
+       ;;        else {this.lastplotadded[0]=gstr.length;}
+"RTN","TMGGRC3D",127,0)
+       ;;        this.numplots++;
+"RTN","TMGGRC3D",128,0)
+       ;;        this.lastplot=gstr;  // save this output in memory
+"RTN","TMGGRC3D",129,0)
+       ;;
+"RTN","TMGGRC3D",130,0)
+       ;;        return gstr;
+"RTN","TMGGRC3D",131,0)
+       ;;
+"RTN","TMGGRC3D",132,0)
+       ;;} // end function
+"RTN","TMGGRC3D",133,0)
+       ;;
+"RTN","TMGGRC3D",134,0)
+       ;;
+"RTN","TMGGRC3D",135,0)
+       ;;
+"RTN","TMGGRC3D",136,0)
+       ;;
+"RTN","TMGGRC3D",137,0)
+       ;;
+"RTN","TMGGRC3D",138,0)
+       ;;// function to undo last added line, label or arrow from the plot
+"RTN","TMGGRC3D",139,0)
+       ;;
+"RTN","TMGGRC3D",140,0)
+       ;;XYGraph.prototype.DeleteLast = function () {
+"RTN","TMGGRC3D",141,0)
+       ;;        if (this.numplots > 1) {
+"RTN","TMGGRC3D",142,0)
+       ;;         gstr=this.lastplot.substring(0,this.lastplot.length-this.lastplotadded[this.numplots-1]+1);
+"RTN","TMGGRC3D",143,0)
+       ;;         gstr+='</v:group>';
+"RTN","TMGGRC3D",144,0)
+       ;;         this.lastplot=gstr;
+"RTN","TMGGRC3D",145,0)
+       ;;         this.numplots--;
+"RTN","TMGGRC3D",146,0)
+       ;;        }
+"RTN","TMGGRC3D",147,0)
+       ;;        return gstr;
+"RTN","TMGGRC3D",148,0)
+       ;;} // end function
+"RTN","TMGGRC3D",149,0)
+       ;;
+"RTN","TMGGRC3D",150,0)
+       ;;
+"RTN","TMGGRC3D",151,0)
+       ;;
+"RTN","TMGGRC3D",152,0)
+       ;;XYGraph.prototype.Findedge = function (x1,x2,y1,y2,xmax,xmin,ymax,ymin) {
+"RTN","TMGGRC3D",153,0)
+       ;;
+"RTN","TMGGRC3D",154,0)
+       ;;        x=0; y=0;
+"RTN","TMGGRC3D",155,0)
+       ;;    if (!isNaN(x2)) {
+"RTN","TMGGRC3D",156,0)
+       ;;        if (!isFinite(x2)) {
+"RTN","TMGGRC3D",157,0)
+       ;;         switch (x2) {
+"RTN","TMGGRC3D",158,0)
+       ;;                 case Number.POSITIVE_INFINITY: x2 = 999E+9; break;
+"RTN","TMGGRC3D",159,0)
+       ;;                 case Number.NEGATIVE_INFINITY: x2 = -999E+9; break;
+"RTN","TMGGRC3D",160,0)
+       ;;         }
+"RTN","TMGGRC3D",161,0)
+       ;;        }
+"RTN","TMGGRC3D",162,0)
+       ;;        if (!isFinite(y2)) {
+"RTN","TMGGRC3D",163,0)
+       ;;         switch (y2) {
+"RTN","TMGGRC3D",164,0)
+       ;;                 case Number.POSITIVE_INFINITY: y2 = 999E+9; break;
+"RTN","TMGGRC3D",165,0)
+       ;;                 case Number.NEGATIVE_INFINITY: y2 = -999E+9; break;
+"RTN","TMGGRC3D",166,0)
+       ;;         }
+"RTN","TMGGRC3D",167,0)
+       ;;        }
+"RTN","TMGGRC3D",168,0)
+       ;;
+"RTN","TMGGRC3D",169,0)
+       ;;        angle = Math.atan2(y2-y1,x2-x1);
+"RTN","TMGGRC3D",170,0)
+       ;;        angle += (angle > 0 ? 0 : 2*Math.PI);
+"RTN","TMGGRC3D",171,0)
+       ;;
+"RTN","TMGGRC3D",172,0)
+       ;;        slope = (y2-y1)/(x2-x1);
+"RTN","TMGGRC3D",173,0)
+       ;;        Mxx = Math.atan2(ymax-y1,xmax-x1); Mxx += (Mxx > 0 ? 0 : 2*Math.PI);
+"RTN","TMGGRC3D",174,0)
+       ;;        Mnx = Math.atan2(ymax-y1,xmin-x1); Mnx += (Mnx > 0 ? 0 : 2*Math.PI);
+"RTN","TMGGRC3D",175,0)
+       ;;        Mnn = Math.atan2(ymin-y1,xmin-x1); Mnn += (Mnn > 0 ? 0 : 2*Math.PI);
+"RTN","TMGGRC3D",176,0)
+       ;;        Mxn = Math.atan2(ymin-y1,xmax-x1); Mxn += (Mxn > 0 ? 0 : 2*Math.PI);
+"RTN","TMGGRC3D",177,0)
+       ;;
+"RTN","TMGGRC3D",178,0)
+       ;;        switch (true) {
+"RTN","TMGGRC3D",179,0)
+       ;;         case (angle>=Mxx && angle<Mnx) :
+"RTN","TMGGRC3D",180,0)
+       ;;                 y = ymax;
+"RTN","TMGGRC3D",181,0)
+       ;;                 x = (ymax-y1)/slope+x1;
+"RTN","TMGGRC3D",182,0)
+       ;;                 break;
+"RTN","TMGGRC3D",183,0)
+       ;;         case (angle>=Mnx && angle<Mnn) :
+"RTN","TMGGRC3D",184,0)
+       ;;                 x = xmin;
+"RTN","TMGGRC3D",185,0)
+       ;;                 y = (xmin-x1)*slope+y1;
+"RTN","TMGGRC3D",186,0)
+       ;;                 break;
+"RTN","TMGGRC3D",187,0)
+       ;;         case (angle>=Mnn && angle<Mxn) :
+"RTN","TMGGRC3D",188,0)
+       ;;                 y = ymin;
+"RTN","TMGGRC3D",189,0)
+       ;;                 x = (ymin-y1)/slope+x1;
+"RTN","TMGGRC3D",190,0)
+       ;;                 break;
+"RTN","TMGGRC3D",191,0)
+       ;;         case (angle>=Mxn || angle<Mxx) :
+"RTN","TMGGRC3D",192,0)
+       ;;                 x = xmax;
+"RTN","TMGGRC3D",193,0)
+       ;;                 y = (xmax-x1)*slope+y1;
+"RTN","TMGGRC3D",194,0)
+       ;;                 break;
+"RTN","TMGGRC3D",195,0)
+       ;;        }
+"RTN","TMGGRC3D",196,0)
+       ;;     }
+"RTN","TMGGRC3D",197,0)
+       ;;
+"RTN","TMGGRC3D",198,0)
+       ;;        return [x,y];
+"RTN","TMGGRC3D",199,0)
+       ;;} // end function
+"RTN","TMGGRC3D",200,0)
+       ;;
+"RTN","TMGGRC3D",201,0)
+       ;;CONTINUED
+"RTN","TMGGRC3D",202,0)
+       ;"NOTE: JavaScript code continues in TMGCRG3E
+"RTN","TMGGRC3E")
+0^21^B86352065
+"RTN","TMGGRC3E",1,0)
+TMGGRC3E       ;TMG/kst-Growth Chart Javascript code ;7/17/12
+"RTN","TMGGRC3E",2,0)
+               ;;1.0;TMG-LIB;**1,17**;10/5/10;Build 23
+"RTN","TMGGRC3E",3,0)
+       ;
+"RTN","TMGGRC3E",4,0)
+       ;"NOTE: JavaScript code below is a continuation of code from TMGGRC3C
+"RTN","TMGGRC3E",5,0)
+GLIB   ;
+"RTN","TMGGRC3E",6,0)
+       ;;
+"RTN","TMGGRC3E",7,0)
+       ;;
+"RTN","TMGGRC3E",8,0)
+       ;;// point shapetype definitions, these can be modified and expanded
+"RTN","TMGGRC3E",9,0)
+       ;;
+"RTN","TMGGRC3E",10,0)
+       ;;XYGraph.prototype.VMLpointshape = function (shapename) {
+"RTN","TMGGRC3E",11,0)
+       ;;        switch (shapename.toLowerCase()) {
+"RTN","TMGGRC3E",12,0)
+       ;;
+"RTN","TMGGRC3E",13,0)
+       ;;        case "diamond" :
+"RTN","TMGGRC3E",14,0)
+       ;;         return '<v:shapetype id="diamond" coordsize="500,500" path=" m 250 500 l 500 250 250 0 0 250 x e" />';
+"RTN","TMGGRC3E",15,0)
+       ;;        case "square" :
+"RTN","TMGGRC3E",16,0)
+       ;;         return '<v:shapetype id="square" coordsize="350,350" path=" m 0 0 l 0 350 350 350 350 0 x e" />';
+"RTN","TMGGRC3E",17,0)
+       ;;        case "triangle" :
+"RTN","TMGGRC3E",18,0)
+       ;;         return '<v:shapetype id="triangle" coordsize="400,400" path=" m 200 0 l 400 400 0 400 x e" />';
+"RTN","TMGGRC3E",19,0)
+       ;;        case "circle" :
+"RTN","TMGGRC3E",20,0)
+       ;;         return '<v:shapetype id="circle" coordsize="350,350" path=" m 0 175 l 23 262 88 327 175 350 262 327 327 262 350 175 327 88 262 23 175 0 88 23 23 88 x e" />';
+"RTN","TMGGRC3E",21,0)
+       ;;        case "x" :
+"RTN","TMGGRC3E",22,0)
+       ;;         return '<v:shapetype id="x" coordsize="350,350" path=" m 0 0 l 350 350 e m 0 350 l 350 0 e" />';
+"RTN","TMGGRC3E",23,0)
+       ;;        case "none" :
+"RTN","TMGGRC3E",24,0)
+       ;;         return '<v:shapetype id="none" coordsize="350,350" filled="false" stroked="false" path=" m 0 0 l 0 350 350 350 350 0 x e" />';
+"RTN","TMGGRC3E",25,0)
+       ;;        }
+"RTN","TMGGRC3E",26,0)
+       ;;} // end function
+"RTN","TMGGRC3E",27,0)
+       ;;
+"RTN","TMGGRC3E",28,0)
+       ;;
+"RTN","TMGGRC3E",29,0)
+       ;;
+"RTN","TMGGRC3E",30,0)
+       ;;XYGraph.prototype.Drawarrow = function (arrowdef) {
+"RTN","TMGGRC3E",31,0)
+       ;;
+"RTN","TMGGRC3E",32,0)
+       ;;        gstr=gstr.substring(0,gstr.length-10);
+"RTN","TMGGRC3E",33,0)
+       ;;        gstrtemp=gstr;
+"RTN","TMGGRC3E",34,0)
+       ;;
+"RTN","TMGGRC3E",35,0)
+       ;;        arrowdef.x = Number(arrowdef.x)
+"RTN","TMGGRC3E",36,0)
+       ;;        arrowdef.y = Number(arrowdef.y)
+"RTN","TMGGRC3E",37,0)
+       ;;        arrowdef.rotation = Number(arrowdef.rotation)
+"RTN","TMGGRC3E",38,0)
+       ;;        arrowdef.length = Number(arrowdef.length)
+"RTN","TMGGRC3E",39,0)
+       ;;        arrowdef.size = Number(arrowdef.size)
+"RTN","TMGGRC3E",40,0)
+       ;;
+"RTN","TMGGRC3E",41,0)
+       ;;        xpoint=Math.round(gxmin+(arrowdef.x-xmin)*xscl+0.5*arrowdef.size*gxpt*Math.sin(arrowdef.rotation*Math.PI/180));
+"RTN","TMGGRC3E",42,0)
+       ;;        ypoint=Math.round(gymin-(arrowdef.y-ymin)*yscl-0.5*arrowdef.size*gxpt*Math.cos(arrowdef.rotation*Math.PI/180));
+"RTN","TMGGRC3E",43,0)
+       ;;
+"RTN","TMGGRC3E",44,0)
+       ;;        xpoint2=Math.round(xpoint+arrowdef.length*gxpt*Math.sin(arrowdef.rotation*Math.PI/180));
+"RTN","TMGGRC3E",45,0)
+       ;;        ypoint2=Math.round(ypoint-arrowdef.length*gxpt*Math.cos(arrowdef.rotation*Math.PI/180));
+"RTN","TMGGRC3E",46,0)
+       ;;
+"RTN","TMGGRC3E",47,0)
+       ;;        gstr+='<v:line from="'+xpoint+','+ypoint+'" to="'+xpoint2+','+ypoint2+'" ><v:stroke weight="'+arrowdef.lineweight+'pt"; color="'+arrowdef.color+'"; dashstyle="'+arrowdef.dashstyle+'"; /></v:line>';
+"RTN","TMGGRC3E",48,0)
+       ;;
+"RTN","TMGGRC3E",49,0)
+       ;;        xpoint3=Math.round(xpoint2+1.25*arrowdef.labelsize*gxpt*Math.sin(arrowdef.rotation*Math.PI/180));
+"RTN","TMGGRC3E",50,0)
+       ;;        ypoint3=Math.round(ypoint2-1.25*arrowdef.labelsize*gxpt);
+"RTN","TMGGRC3E",51,0)
+       ;;
+"RTN","TMGGRC3E",52,0)
+       ;;        if(Math.cos(arrowdef.rotation*Math.PI/180)>0.707)
+"RTN","TMGGRC3E",53,0)
+       ;;         {position=' text-align:center; top:'+Math.round(ypoint3/gxpt)+'pt; left: '+Math.round(xpoint3/gxpt-0.25*arrowdef.label.length*arrowdef.labelsize)+'pt; ';}
+"RTN","TMGGRC3E",54,0)
+       ;;        if(Math.cos(arrowdef.rotation*Math.PI/180)<0.707)
+"RTN","TMGGRC3E",55,0)
+       ;;         {position=' text-align:center; top:'+Math.round(ypoint2/gxpt)+'pt; left: '+Math.round(xpoint3/gxpt-0.25*arrowdef.label.length*arrowdef.labelsize)+'pt; ';}
+"RTN","TMGGRC3E",56,0)
+       ;;        if(Math.sin(arrowdef.rotation*Math.PI/180)>0.707)
+"RTN","TMGGRC3E",57,0)
+       ;;         {position=' text-align:center; top:'+Math.round(ypoint2/gxpt-arrowdef.labelsize*(0.5+Math.cos(arrowdef.rotation*Math.PI/180)))+'pt; left: '+Math.round(xpoint3/gxpt-0.25*arrowdef.label.length*arrowdef.labelsize)+'pt; ';}
+"RTN","TMGGRC3E",58,0)
+       ;;        if(Math.sin(arrowdef.rotation*Math.PI/180)<0.707)
+"RTN","TMGGRC3E",59,0)
+       ;;         {position=' text-align:center; top:'+Math.round(ypoint2/gxpt-arrowdef.labelsize*(0.5+Math.cos(arrowdef.rotation*Math.PI/180)))+'pt; left: '+Math.round(xpoint3/gxpt-0.25*arrowdef.label.length*arrowdef.labelsize)+'pt; ';}
+"RTN","TMGGRC3E",60,0)
+       ;;
+"RTN","TMGGRC3E",61,0)
+       ;;        gstr+='<span style="font: '+arrowdef.labelsize+'pt Arial; font-weight:bold; position:absolute;';
+"RTN","TMGGRC3E",62,0)
+       ;;        gstr+=position+'color:'+arrowdef.labelcolor+'">'+arrowdef.label+'</span>';
+"RTN","TMGGRC3E",63,0)
+       ;;
+"RTN","TMGGRC3E",64,0)
+       ;;        xpoint=Math.round(gxmin-0.5*arrowdef.size*gxpt+(arrowdef.x-xmin)*xscl+0.5*arrowdef.size*gxpt*Math.sin(arrowdef.rotation*Math.PI/180));
+"RTN","TMGGRC3E",65,0)
+       ;;        ypoint=Math.round(gymin-0.5*arrowdef.size*gxpt-(arrowdef.y-ymin)*yscl-0.5*arrowdef.size*gxpt*Math.cos(arrowdef.rotation*Math.PI/180));
+"RTN","TMGGRC3E",66,0)
+       ;;
+"RTN","TMGGRC3E",67,0)
+       ;;        gstr+=arrowdef.arrowhead;
+"RTN","TMGGRC3E",68,0)
+       ;;        gstr+='<v:shape type="#arrowhead" style="width:'+arrowdef.size*gxpt+'; height:'+arrowdef.size*gxpt;
+"RTN","TMGGRC3E",69,0)
+       ;;        gstr+='; top:'+ypoint+'; left:'+xpoint;
+"RTN","TMGGRC3E",70,0)
+       ;;        gstr+='" title="'+arrowdef.label+'" fillcolor="'+arrowdef.color+'"';
+"RTN","TMGGRC3E",71,0)
+       ;;        gstr+='"; style= "rotation:'+arrowdef.rotation+'deg"';
+"RTN","TMGGRC3E",72,0)
+       ;;        gstr+=' strokecolor="'+arrowdef.color+'" />';
+"RTN","TMGGRC3E",73,0)
+       ;;
+"RTN","TMGGRC3E",74,0)
+       ;;        gstr+='</v:group>';
+"RTN","TMGGRC3E",75,0)
+       ;;        this.lastplot=gstr;
+"RTN","TMGGRC3E",76,0)
+       ;;        this.lastplotadded[this.numplots]=gstr.length-gstrtemp.length;
+"RTN","TMGGRC3E",77,0)
+       ;;        this.numplots++;
+"RTN","TMGGRC3E",78,0)
+       ;;        return gstr;
+"RTN","TMGGRC3E",79,0)
+       ;;
+"RTN","TMGGRC3E",80,0)
+       ;;} // end function
+"RTN","TMGGRC3E",81,0)
+       ;;
+"RTN","TMGGRC3E",82,0)
+       ;;
+"RTN","TMGGRC3E",83,0)
+       ;;
+"RTN","TMGGRC3E",84,0)
+       ;;XYGraph.prototype.Drawlabel = function (labeldef) {
+"RTN","TMGGRC3E",85,0)
+       ;;
+"RTN","TMGGRC3E",86,0)
+       ;;        gstr=gstr.substring(0,gstr.length-10);
+"RTN","TMGGRC3E",87,0)
+       ;;        gstrtemp=gstr;
+"RTN","TMGGRC3E",88,0)
+       ;;
+"RTN","TMGGRC3E",89,0)
+       ;;        labeldef.x = Number(labeldef.x)
+"RTN","TMGGRC3E",90,0)
+       ;;        labeldef.y = Number(labeldef.y)
+"RTN","TMGGRC3E",91,0)
+       ;;        labeldef.rotation = Number(labeldef.rotation)
+"RTN","TMGGRC3E",92,0)
+       ;;        labeldef.length = Number(labeldef.length)
+"RTN","TMGGRC3E",93,0)
+       ;;
+"RTN","TMGGRC3E",94,0)
+       ;;        xpoint=Math.round(gxmin+(labeldef.x-xmin)*xscl+0.5*labeldef.labelsize*gxpt*Math.sin(labeldef.rotation*Math.PI/180));
+"RTN","TMGGRC3E",95,0)
+       ;;        ypoint=Math.round(gymin-(labeldef.y-ymin)*yscl-0.5*labeldef.labelsize*gxpt*Math.cos(labeldef.rotation*Math.PI/180));
+"RTN","TMGGRC3E",96,0)
+       ;;
+"RTN","TMGGRC3E",97,0)
+       ;;        xpoint2=Math.round(xpoint+labeldef.length*gxpt*Math.sin(labeldef.rotation*Math.PI/180));
+"RTN","TMGGRC3E",98,0)
+       ;;        ypoint2=Math.round(ypoint-labeldef.length*gxpt*Math.cos(labeldef.rotation*Math.PI/180));
+"RTN","TMGGRC3E",99,0)
+       ;;
+"RTN","TMGGRC3E",100,0)
+       ;;        xpoint3=Math.round(xpoint2+1.25*labeldef.labelsize*gxpt*Math.sin(labeldef.rotation*Math.PI/180));
+"RTN","TMGGRC3E",101,0)
+       ;;        ypoint3=Math.round(ypoint2-1.25*labeldef.labelsize*gxpt);
+"RTN","TMGGRC3E",102,0)
+       ;;
+"RTN","TMGGRC3E",103,0)
+       ;;        if(Math.cos(labeldef.rotation*Math.PI/180)>0.707)
+"RTN","TMGGRC3E",104,0)
+       ;;         {position=' text-align:center; top:'+Math.round(ypoint3/gxpt)+'pt; left: '+Math.round(xpoint3/gxpt-0.25*labeldef.label.length*labeldef.labelsize)+'pt; ';}
+"RTN","TMGGRC3E",105,0)
+       ;;        if(Math.cos(labeldef.rotation*Math.PI/180)<0.707)
+"RTN","TMGGRC3E",106,0)
+       ;;         {position=' text-align:center; top:'+Math.round(ypoint2/gxpt)+'pt; left: '+Math.round(xpoint3/gxpt-0.25*labeldef.label.length*labeldef.labelsize)+'pt; ';}
+"RTN","TMGGRC3E",107,0)
+       ;;        if(Math.sin(labeldef.rotation*Math.PI/180)>0.707)
+"RTN","TMGGRC3E",108,0)
+       ;;         {position=' text-align:center; top:'+Math.round(ypoint2/gxpt-labeldef.labelsize*(0.5+Math.cos(labeldef.rotation*Math.PI/180)))+'pt; left: '+Math.round(xpoint3/gxpt-0.25*labeldef.label.length*labeldef.labelsize)+'pt; ';}
+"RTN","TMGGRC3E",109,0)
+       ;;        if(Math.sin(labeldef.rotation*Math.PI/180)<0.707)
+"RTN","TMGGRC3E",110,0)
+       ;;         {position=' text-align:center; top:'+Math.round(ypoint2/gxpt-labeldef.labelsize*(0.5+Math.cos(labeldef.rotation*Math.PI/180)))+'pt; left: '+Math.round(xpoint3/gxpt-0.25*labeldef.label.length*labeldef.labelsize)+'pt; ';}
+"RTN","TMGGRC3E",111,0)
+       ;;
+"RTN","TMGGRC3E",112,0)
+       ;;        gstr+='<span style="font: '+labeldef.labelsize+'pt Arial; font-weight:bold; position:absolute;';
+"RTN","TMGGRC3E",113,0)
+       ;;        gstr+=position+'color:'+labeldef.labelcolor+'">'+labeldef.label+'</span>';
+"RTN","TMGGRC3E",114,0)
+       ;;
+"RTN","TMGGRC3E",115,0)
+       ;;        gstr+=this.VMLpointshape(labeldef.VMLpointshapetype);
+"RTN","TMGGRC3E",116,0)
+       ;;
+"RTN","TMGGRC3E",117,0)
+       ;;        gstr+='<v:shape type="#'+(labeldef.VMLpointshapetype).toLowerCase()+'" style="width:'+labeldef.pointsize*gxpt+'; height:'+labeldef.pointsize*gxpt;
+"RTN","TMGGRC3E",118,0)
+       ;;        gstr+='; top:'+Math.round(gymin-0.5*labeldef.pointsize*gxpt-(labeldef.y-ymin)*yscl,2)+'; left:'+Math.round(gxmin-0.5*labeldef.pointsize*gxpt+(labeldef.x-xmin)*xscl);
+"RTN","TMGGRC3E",119,0)
+       ;;        gstr+='" fillcolor="'+labeldef.pointfillcolor+'"';
+"RTN","TMGGRC3E",120,0)
+       ;;        gstr+=' strokecolor="'+labeldef.pointstrokecolor+'" />';
+"RTN","TMGGRC3E",121,0)
+       ;;
+"RTN","TMGGRC3E",122,0)
+       ;;        gstr+='</v:group>';
+"RTN","TMGGRC3E",123,0)
+       ;;        this.lastplot=gstr;
+"RTN","TMGGRC3E",124,0)
+       ;;        this.lastplotadded[this.numplots]=gstr.length-gstrtemp.length;
+"RTN","TMGGRC3E",125,0)
+       ;;        this.numplots++;
+"RTN","TMGGRC3E",126,0)
+       ;;        return gstr;
+"RTN","TMGGRC3E",127,0)
+       ;;
+"RTN","TMGGRC3E",128,0)
+       ;;} // end function
+"RTN","TMGGRC3E",129,0)
+       ;;</script>
+"RTN","TMGGRC3E",130,0)
+       ;;EOF
+"RTN","TMGGRC3E",131,0)
+       ;"====================================================================
+"RTN","TMGGRC3F")
+0^22^B207653088
+"RTN","TMGGRC3F",1,0)
+TMGGRC3F       ;TMG/kst-Growth Chart Javascript code ;7/17/12
+"RTN","TMGGRC3F",2,0)
+               ;;1.0;TMG-LIB;**1,17**;10/5/10;Build 23
+"RTN","TMGGRC3F",3,0)
+       ;
+"RTN","TMGGRC3F",4,0)
+SCRIPT ;
+"RTN","TMGGRC3F",5,0)
+       ;;<script type="text/javascript">
+"RTN","TMGGRC3F",6,0)
+       ;;
+"RTN","TMGGRC3F",7,0)
+       ;;
+"RTN","TMGGRC3F",8,0)
+       ;;var MyLines = [];  //new empty array, global scope
+"RTN","TMGGRC3F",9,0)
+       ;;var MyGraph;
+"RTN","TMGGRC3F",10,0)
+       ;;
+"RTN","TMGGRC3F",11,0)
+       ;;function AssignGraph(Title,XMin,XMax,XTitle,YMin,YMax,YTitle,XInc,YInc) {
+"RTN","TMGGRC3F",12,0)
+       ;;  AGraph = new XYGraph(); // define new XYGraph object
+"RTN","TMGGRC3F",13,0)
+       ;;  AGraph.CSSticfont="font: 8pt 'Arial';";
+"RTN","TMGGRC3F",14,0)
+       ;;  AGraph.CSStitlefont="font: 12pt 'Arial'; font-weight: bold;";
+"RTN","TMGGRC3F",15,0)
+       ;;  AGraph.CSSxaxisfont="font: 8pt 'Arial'; font-weight: bold;";
+"RTN","TMGGRC3F",16,0)
+       ;;  AGraph.CSSyaxisfont="font: 8pt 'Arial'; font-weight: bold;";
+"RTN","TMGGRC3F",17,0)
+       ;;  AGraph.VMLbackgroundfill="color='white';";
+"RTN","TMGGRC3F",18,0)
+       ;;  AGraph.VMLframestroke="color='white';";
+"RTN","TMGGRC3F",19,0)
+       ;;  AGraph.VMLmajoraxisstroke="weight='1pt'; color='black';";
+"RTN","TMGGRC3F",20,0)
+       ;;  AGraph.VMLminorxaxisstroke="weight='0.5pt'; color='#D3D3D3'; dashstyle='dash';";
+"RTN","TMGGRC3F",21,0)
+       ;;  AGraph.VMLminoryaxisstroke="weight='0.5pt'; color='#D3D3D3'; dashstyle='dash';";
+"RTN","TMGGRC3F",22,0)
+       ;;  AGraph.VMLyaxisfontcolor="color='black';";
+"RTN","TMGGRC3F",23,0)
+       ;;  AGraph.gheight=500;
+"RTN","TMGGRC3F",24,0)
+       ;;  AGraph.gwidth=450;
+"RTN","TMGGRC3F",25,0)
+       ;;  AGraph.pad_bottom=10;
+"RTN","TMGGRC3F",26,0)
+       ;;  AGraph.pad_left=10;
+"RTN","TMGGRC3F",27,0)
+       ;;  AGraph.pad_right=10;
+"RTN","TMGGRC3F",28,0)
+       ;;  AGraph.pad_top=10;
+"RTN","TMGGRC3F",29,0)
+       ;;  AGraph.ticsize=5;
+"RTN","TMGGRC3F",30,0)
+       ;;  AGraph.ticspaceavg=30;
+"RTN","TMGGRC3F",31,0)
+       ;;  AGraph.title=Title;
+"RTN","TMGGRC3F",32,0)
+       ;;  AGraph.xaxis=XTitle;
+"RTN","TMGGRC3F",33,0)
+       ;;  AGraph.xint=XMin;
+"RTN","TMGGRC3F",34,0)
+       ;;  AGraph.xmax=XMax;
+"RTN","TMGGRC3F",35,0)
+       ;;  AGraph.xmin=XMin;
+"RTN","TMGGRC3F",36,0)
+       ;;  AGraph.xscale=XInc;
+"RTN","TMGGRC3F",37,0)
+       ;;  AGraph.xticloc="auto";
+"RTN","TMGGRC3F",38,0)
+       ;;  AGraph.yaxis=YTitle;
+"RTN","TMGGRC3F",39,0)
+       ;;  AGraph.yint=YMin;
+"RTN","TMGGRC3F",40,0)
+       ;;  AGraph.ymax=YMax;
+"RTN","TMGGRC3F",41,0)
+       ;;  AGraph.ymin=YMin;
+"RTN","TMGGRC3F",42,0)
+       ;;  AGraph.yscale=YInc;
+"RTN","TMGGRC3F",43,0)
+       ;;  AGraph.yticloc="auto";
+"RTN","TMGGRC3F",44,0)
+       ;;  return AGraph
+"RTN","TMGGRC3F",45,0)
+       ;;}
+"RTN","TMGGRC3F",46,0)
+       ;;
+"RTN","TMGGRC3F",47,0)
+       ;;function AddLine(PatientValues,Refline)  { // EHS adding Refline argument 
+"RTN","TMGGRC3F",48,0)
+       ;;  var ALine = new XYLine();
+"RTN","TMGGRC3F",49,0)
+       ;;  var PointColor="blue"
+"RTN","TMGGRC3F",50,0)
+       ;;  ALine.drawline=true;
+"RTN","TMGGRC3F",51,0)
+       ;;  ALine.label="control";
+"RTN","TMGGRC3F",52,0)
+       ;;  ALine.labelcolor="black";
+"RTN","TMGGRC3F",53,0)
+       ;;  ALine.labelfont="'Arial'";
+"RTN","TMGGRC3F",54,0)
+       ;;  ALine.labelsize="10";
+"RTN","TMGGRC3F",55,0)
+       ;;  ALine.drawlabels=true;
+"RTN","TMGGRC3F",56,0)
+       ;;  ALine.pointstrokecolor="black";
+"RTN","TMGGRC3F",57,0)
+       ;;  if (PatientValues==true) {
+"RTN","TMGGRC3F",58,0)
+       ;;    if (Refline==2) { // EHS adding the IF statment to change the color of the 50%tile line and patient values lines
+"RTN","TMGGRC3F",59,0)
+       ;;      ALine.VMLpointshapetype="dash"; // EHS changed from "circle" to "dash"
+"RTN","TMGGRC3F",60,0)
+       ;;      ALine.VMLstroke="weight='2pt'; color='red'; dashstyle='solid';"; // EHS
+"RTN","TMGGRC3F",61,0)
+       ;;      ALine.pointfillcolor="red"; // EHS
+"RTN","TMGGRC3F",62,0)
+       ;;    }
+"RTN","TMGGRC3F",63,0)
+       ;;    else {
+"RTN","TMGGRC3F",64,0)
+       ;;      ALine.VMLpointshapetype="circle"; // EHS
+"RTN","TMGGRC3F",65,0)
+       ;;      ALine.VMLstroke="weight='2pt'; color='"+PointColor+"'; dashstyle='solid';";
+"RTN","TMGGRC3F",66,0)
+       ;;      ALine.pointfillcolor=PointColor;
+"RTN","TMGGRC3F",67,0)
+       ;;    }
+"RTN","TMGGRC3F",68,0)
+       ;;    ALine.drawpoints=true;
+"RTN","TMGGRC3F",69,0)
+       ;;    ALine.pointsize=5;
+"RTN","TMGGRC3F",70,0)
+       ;;  } else {
+"RTN","TMGGRC3F",71,0)
+       ;;    ALine.VMLstroke="weight='1pt'; color='grey'; dashstyle='dash';";
+"RTN","TMGGRC3F",72,0)
+       ;;    ALine.drawpoints=false;
+"RTN","TMGGRC3F",73,0)
+       ;;    ALine.pointfillcolor="grey";
+"RTN","TMGGRC3F",74,0)
+       ;;  }
+"RTN","TMGGRC3F",75,0)
+       ;;  MyLines.push(ALine);
+"RTN","TMGGRC3F",76,0)
+       ;;  return ALine
+"RTN","TMGGRC3F",77,0)
+       ;;}
+"RTN","TMGGRC3F",78,0)
+       ;;
+"RTN","TMGGRC3F",79,0)
+       ;;function AddWHOLN() {
+"RTN","TMGGRC3F",80,0)
+       ;;  var ALine = new XYLine();
+"RTN","TMGGRC3F",81,0)
+       ;;  var PointColor="blue"
+"RTN","TMGGRC3F",82,0)
+       ;;  ALine.drawline=true;
+"RTN","TMGGRC3F",83,0)
+       ;;  ALine.label="control";
+"RTN","TMGGRC3F",84,0)
+       ;;  ALine.labelcolor="black";
+"RTN","TMGGRC3F",85,0)
+       ;;  ALine.labelfont="'Arial'";
+"RTN","TMGGRC3F",86,0)
+       ;;  ALine.labelsize="10";
+"RTN","TMGGRC3F",87,0)
+       ;;  ALine.pointstrokecolor="black";
+"RTN","TMGGRC3F",88,0)
+       ;;  ALine.VMLpointshapetype="circle";
+"RTN","TMGGRC3F",89,0)
+       ;;  ALine.VMLstroke="weight='2pt'; color='grey'; dashstyle='solid';";
+"RTN","TMGGRC3F",90,0)
+       ;;  ALine.pointsize=5;
+"RTN","TMGGRC3F",91,0)
+       ;;  ALine.drawpoints=false;
+"RTN","TMGGRC3F",92,0)
+       ;;  ALine.pointfillcolor="grey";
+"RTN","TMGGRC3F",93,0)
+       ;;  ALine.drawlabels=true;
+"RTN","TMGGRC3F",94,0)
+       ;;
+"RTN","TMGGRC3F",95,0)
+       ;;  MyLines.push(ALine);
+"RTN","TMGGRC3F",96,0)
+       ;;  return ALine
+"RTN","TMGGRC3F",97,0)
+       ;;}
+"RTN","TMGGRC3F",98,0)
+       ;;
+"RTN","TMGGRC3F",99,0)
+       ;;function LoadGraph() {
+"RTN","TMGGRC3F",100,0)
+       ;;  MyGraph=SetupGraph();
+"RTN","TMGGRC3F",101,0)
+       ;;  SetupLines() ;
+"RTN","TMGGRC3F",102,0)
+       ;;  for (var i=0; i<MyLines.length; i++) {
+"RTN","TMGGRC3F",103,0)
+       ;;    MyGraph.Plot(MyLines[i]);
+"RTN","TMGGRC3F",104,0)
+       ;;   }
+"RTN","TMGGRC3F",105,0)
+       ;;   AddTableOfValues();
+"RTN","TMGGRC3F",106,0)
+       ;;   AddGraphDataSource();
+"RTN","TMGGRC3F",107,0)
+       ;;   graphdiv.innerHTML=MyGraph;
+"RTN","TMGGRC3F",108,0)
+       ;;}
+"RTN","TMGGRC3F",109,0)
+       ;;EOF
+"RTN","TMGGRC3F",110,0)
+            ;
+"RTN","TMGGRC3F",111,0)
+            ;
+"RTN","TMGGRC3F",112,0)
+SETGRAPH(ROOT,TITLE,XMIN,XMAX,XTITLE,YMIN,YMAX,YTITLE,XINC,YINC,SOURCE,ACCESSDT,GRAPHTYP)        ;
+"RTN","TMGGRC3F",113,0)
+       ;"Purpose: Send out Graph specific set up code.
+"RTN","TMGGRC3F",114,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"//========= GRAPH SPECIFIC VALUES ======================")
+"RTN","TMGGRC3F",115,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"function SetupGraph() {")
+"RTN","TMGGRC3F",116,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  var Title="""_TITLE_""";")
+"RTN","TMGGRC3F",117,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  var XTitle="""_XTITLE_""";")
+"RTN","TMGGRC3F",118,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  var YTitle="""_YTITLE_""";")
+"RTN","TMGGRC3F",119,0)
+       IF GRAPHTYP="WHO-HA-B5"  DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine();")
+"RTN","TMGGRC3F",120,0)
+       IF GRAPHTYP="WHO-BA-B5"  DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine();")
+"RTN","TMGGRC3F",121,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  MyGraph = AssignGraph(Title,"_XMIN_","_XMAX_",XTitle,"_YMIN_","_YMAX_",YTitle,"_XINC_","_YINC_");")
+"RTN","TMGGRC3F",122,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  return MyGraph")
+"RTN","TMGGRC3F",123,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"}")
+"RTN","TMGGRC3F",124,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"   ")
+"RTN","TMGGRC3F",125,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"function AddGraphDataSource() {")
+"RTN","TMGGRC3F",126,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"   var s;")
+"RTN","TMGGRC3F",127,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"   s = MyGraph;")
+"RTN","TMGGRC3F",128,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"   s=s+""<P><H6><U>Source of Normative Reference Values</U>:<BR>"";")
+"RTN","TMGGRC3F",129,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"   s=s+"""_SOURCE_"<BR>"";")
+"RTN","TMGGRC3F",130,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"   s=s+""Accessed on "_ACCESSDT_""";")
+"RTN","TMGGRC3F",131,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"   MyGraph=s;")
+"RTN","TMGGRC3F",132,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"}")
+"RTN","TMGGRC3F",133,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"    ")
+"RTN","TMGGRC3F",134,0)
+       QUIT
+"RTN","TMGGRC3F",135,0)
+            ;
+"RTN","TMGGRC3F",136,0)
+            ;
+"RTN","TMGGRC3F",137,0)
+STRTLINE(ROOT)           ;
+"RTN","TMGGRC3F",138,0)
+       ;"Purpose: Start adding Data Set Line(s)
+"RTN","TMGGRC3F",139,0)
+       ;"Input: ROOT -- The root to output to .
+"RTN","TMGGRC3F",140,0)
+       ;"Results: none
+"RTN","TMGGRC3F",141,0)
+       ;"Output: writes out data via SETITEM
+"RTN","TMGGRC3F",142,0)
+       ;
+"RTN","TMGGRC3F",143,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"//========= PATIENT SPECIFIC VALUES ======================")
+"RTN","TMGGRC3F",144,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"function SetupLines() {")
+"RTN","TMGGRC3F",145,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  var ALine")
+"RTN","TMGGRC3F",146,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  ")
+"RTN","TMGGRC3F",147,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  ALine = AddLine(false,0)")  ;"For some reason, graph didn't work right without this. ; EHS adding 0 to compatible with AddLine signature 
+"RTN","TMGGRC3F",148,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  ALine.x = [0,1];")
+"RTN","TMGGRC3F",149,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  ALine.y = [0,0];")
+"RTN","TMGGRC3F",150,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  ALine.labels = ['',''];")
+"RTN","TMGGRC3F",151,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  ")
+"RTN","TMGGRC3F",152,0)
+       QUIT
+"RTN","TMGGRC3F",153,0)
+            ;
+"RTN","TMGGRC3F",154,0)
+            ;
+"RTN","TMGGRC3F",155,0)
+ADDLINE(ROOT,ARRAY,REFLINE)           ;" Add Data Set for a Line
+"RTN","TMGGRC3F",156,0)
+       ;"Purpose: OutPut 1 dataset
+"RTN","TMGGRC3F",157,0)
+       ;"Input: ROOT -- The root to output to .
+"RTN","TMGGRC3F",158,0)
+       ;"       ARRAY -- Array of data points. Format:
+"RTN","TMGGRC3F",159,0)
+       ;"               ARRAY(#)=x^y^Label^DateOfValue^[Age]
+"RTN","TMGGRC3F",160,0)
+       ;"       REFLINE -- 0 if patient data line, 1 if normal curve line
+"RTN","TMGGRC3F",161,0)
+       ;"Results: none
+"RTN","TMGGRC3F",162,0)
+       ;"Output: writes out data via SETITEM
+"RTN","TMGGRC3F",163,0)
+       ;
+"RTN","TMGGRC3F",164,0)
+       NEW SX,SY,SL,LINE
+"RTN","TMGGRC3F",165,0)
+       NEW NUM SET NUM=0
+"RTN","TMGGRC3F",166,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  ALine = AddLine("_$SELECT(REFLINE=1:"false",1:"true")_","_REFLINE_")") ; EHS
+"RTN","TMGGRC3F",167,0)
+       ;
+"RTN","TMGGRC3F",168,0)
+       SET SX="  ALine.x =["
+"RTN","TMGGRC3F",169,0)
+       SET SY="  ALine.y =["
+"RTN","TMGGRC3F",170,0)
+       SET SL="  ALine.labels =["
+"RTN","TMGGRC3F",171,0)
+       NEW I SET I=0
+"RTN","TMGGRC3F",172,0)
+       FOR  SET I=$ORDER(ARRAY(I)) QUIT:+I'>0  DO
+"RTN","TMGGRC3F",173,0)
+       . NEW DATA SET DATA=$GET(ARRAY(I))
+"RTN","TMGGRC3F",174,0)
+       . NEW X,Y,LBL
+"RTN","TMGGRC3F",175,0)
+       . SET X=$PIECE(DATA,"^",1)
+"RTN","TMGGRC3F",176,0)
+       . IF $LENGTH($PIECE(X,".",2))>1 SET X=$JUSTIFY(X,0,1)
+"RTN","TMGGRC3F",177,0)
+       . SET Y=$P(DATA,"^",2)
+"RTN","TMGGRC3F",178,0)
+       . IF $LENGTH($PIECE(Y,".",2))>1 SET Y=$JUSTIFY(Y,0,1)
+"RTN","TMGGRC3F",179,0)
+       . SET LBL=$P(DATA,"^",3)
+"RTN","TMGGRC3F",180,0)
+       . IF $EXTRACT(SX,$LENGTH(SX))'="[" SET SX=SX_","
+"RTN","TMGGRC3F",181,0)
+       . SET SX=SX_X
+"RTN","TMGGRC3F",182,0)
+       . IF $EXTRACT(SY,$LENGTH(SY))'="[" SET SY=SY_","
+"RTN","TMGGRC3F",183,0)
+       . SET SY=SY_Y
+"RTN","TMGGRC3F",184,0)
+       . IF $EXTRACT(SL,$LENGTH(SL))'="[" SET SL=SL_","
+"RTN","TMGGRC3F",185,0)
+       . SET SL=SL_"'"_LBL_"'"
+"RTN","TMGGRC3F",186,0)
+       SET SX=SX_"];"
+"RTN","TMGGRC3F",187,0)
+       SET SY=SY_"];"
+"RTN","TMGGRC3F",188,0)
+       SET SL=SL_"];"
+"RTN","TMGGRC3F",189,0)
+       ;
+"RTN","TMGGRC3F",190,0)
+       ;
+"RTN","TMGGRC3F",191,0)
+       DO SETITEM^TMGGRC2A(.ROOT,SX)
+"RTN","TMGGRC3F",192,0)
+       DO SETITEM^TMGGRC2A(.ROOT,SY)
+"RTN","TMGGRC3F",193,0)
+       DO SETITEM^TMGGRC2A(.ROOT,SL)
+"RTN","TMGGRC3F",194,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"   ")
+"RTN","TMGGRC3F",195,0)
+       QUIT
+"RTN","TMGGRC3F",196,0)
+            ;
+"RTN","TMGGRC3F",197,0)
+            ;
+"RTN","TMGGRC3F",198,0)
+ADDWHOL1(ROOT)  ;
+"RTN","TMGGRC3F",199,0)
+       ;"Purpose: Draw Line in WHO Height/Length for Age(Birth to 5 Years) table
+"RTN","TMGGRC3F",200,0)
+       ;"Input: ROOT -- The root to output to .
+"RTN","TMGGRC3F",201,0)
+       ;"Results: none
+"RTN","TMGGRC3F",202,0)
+       ;"Output: writes out table via SETITEM
+"RTN","TMGGRC3F",203,0)
+       ;
+"RTN","TMGGRC3F",204,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"//========= WHO LINE FOR HEIGHT FOR AGE ======================")
+"RTN","TMGGRC3F",205,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"function WHOLine() {")
+"RTN","TMGGRC3F",206,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  var WHOLine")
+"RTN","TMGGRC3F",207,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  ")
+"RTN","TMGGRC3F",208,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine = AddWHOLN()")  ;"For some reason, graph didn't work right without this.
+"RTN","TMGGRC3F",209,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine.x = [25,25];")
+"RTN","TMGGRC3F",210,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine.y = [41,124];")
+"RTN","TMGGRC3F",211,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine.labels = ['',''];")
+"RTN","TMGGRC3F",212,0)
+       ;
+"RTN","TMGGRC3F",213,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine = AddWHOLN()")  ;"For some reason, graph didn't work right without this.
+"RTN","TMGGRC3F",214,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine.x = [18];")
+"RTN","TMGGRC3F",215,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine.y = [46];")
+"RTN","TMGGRC3F",216,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine.labels = ['Length'];")
+"RTN","TMGGRC3F",217,0)
+       ;
+"RTN","TMGGRC3F",218,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine = AddWHOLN()")  ;"For some reason, graph didn't work right without this.
+"RTN","TMGGRC3F",219,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine.x = [26];")
+"RTN","TMGGRC3F",220,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine.y = [46];")
+"RTN","TMGGRC3F",221,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine.labels = ['Height'];")
+"RTN","TMGGRC3F",222,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  }")
+"RTN","TMGGRC3F",223,0)
+       QUIT
+"RTN","TMGGRC3F",224,0)
+            ;
+"RTN","TMGGRC3F",225,0)
+            ;
+"RTN","TMGGRC3F",226,0)
+ADDWHOL2(ROOT)  ;
+"RTN","TMGGRC3F",227,0)
+       ;"Purpose: Draw Line in WHO BMI for Age(Birth to 5 Years) to separate Height/Length table
+"RTN","TMGGRC3F",228,0)
+       ;"Input: ROOT -- The root to output to .
+"RTN","TMGGRC3F",229,0)
+       ;"Results: none
+"RTN","TMGGRC3F",230,0)
+       ;"Output: writes out table via SETITEM
+"RTN","TMGGRC3F",231,0)
+       ;
+"RTN","TMGGRC3F",232,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"//========= WHO LINE FOR HEIGHT FOR AGE ======================")
+"RTN","TMGGRC3F",233,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"function WHOLine() {")
+"RTN","TMGGRC3F",234,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  var WHOLine")
+"RTN","TMGGRC3F",235,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  ")
+"RTN","TMGGRC3F",236,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine = AddWHOLN()")  ;"For some reason, graph didn't work right without this.
+"RTN","TMGGRC3F",237,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine.x = [25,25];")
+"RTN","TMGGRC3F",238,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine.y = [10.5,21];")
+"RTN","TMGGRC3F",239,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine.labels = ['',''];")
+"RTN","TMGGRC3F",240,0)
+       ;
+"RTN","TMGGRC3F",241,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine = AddWHOLN()")  ;"For some reason, graph didn't work right without this.
+"RTN","TMGGRC3F",242,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine.x = [18];")
+"RTN","TMGGRC3F",243,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine.y = [12];")
+"RTN","TMGGRC3F",244,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine.labels = ['Length'];")
+"RTN","TMGGRC3F",245,0)
+       ;
+"RTN","TMGGRC3F",246,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine = AddWHOLN()")  ;"For some reason, graph didn't work right without this.
+"RTN","TMGGRC3F",247,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine.x = [26];")
+"RTN","TMGGRC3F",248,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine.y = [12];")
+"RTN","TMGGRC3F",249,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  WHOLine.labels = ['Height'];")
+"RTN","TMGGRC3F",250,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"  }")
+"RTN","TMGGRC3F",251,0)
+       QUIT
+"RTN","TMGGRC3F",252,0)
+            ;
+"RTN","TMGGRC3F",253,0)
+            ;
+"RTN","TMGGRC3F",254,0)
+ADDTABLE(ROOT,ARRAY,GRAPHTYP)  ;
+"RTN","TMGGRC3F",255,0)
+       ;"Purpose: Output data in a table
+"RTN","TMGGRC3F",256,0)
+       ;"Input: ROOT -- The root to output to .
+"RTN","TMGGRC3F",257,0)
+       ;"       ARRAY -- Array of data points. Format:
+"RTN","TMGGRC3F",258,0)
+       ;"                ARRAY(#)=x^y^Label^DateOfValue^[Age]^%tile
+"RTN","TMGGRC3F",259,0)
+       ;"       GRAPHTYP -- Type of graph
+"RTN","TMGGRC3F",260,0)
+       ;"            (see documention in TMGGRC2.m)
+"RTN","TMGGRC3F",261,0)
+       ;"Results: none
+"RTN","TMGGRC3F",262,0)
+       ;"Output: writes out table via SETITEM
+"RTN","TMGGRC3F",263,0)
+       ;
+"RTN","TMGGRC3F",264,0)
+       NEW TTLCOL2,TTLCOL3,TTLCOL4,TTLCOL5,ROUND
+"RTN","TMGGRC3F",265,0)
+       ;" Determine what the X value is
+"RTN","TMGGRC3F",266,0)
+       IF GRAPHTYP["CH-" DO
+"RTN","TMGGRC3F",267,0)
+       . SET TTLCOL2="Age (yrs)"
+"RTN","TMGGRC3F",268,0)
+       . SET ROUND=1
+"RTN","TMGGRC3F",269,0)
+       . SET TTLCOL4="%tile"
+"RTN","TMGGRC3F",270,0)
+       . SET TTLCOL5=""
+"RTN","TMGGRC3F",271,0)
+       ELSE  IF (GRAPHTYP'["WT4")&(GRAPHTYP'["WHO-WL") DO
+"RTN","TMGGRC3F",272,0)
+       . SET TTLCOL2="Age (mos)"
+"RTN","TMGGRC3F",273,0)
+       . SET ROUND=0
+"RTN","TMGGRC3F",274,0)
+       . SET TTLCOL4="%tile"
+"RTN","TMGGRC3F",275,0)
+       . SET TTLCOL5=""
+"RTN","TMGGRC3F",276,0)
+       ELSE  DO  ;" if WT4 , process X Y and AGE here
+"RTN","TMGGRC3F",277,0)
+       . SET TTLCOL2="Length (cm)"
+"RTN","TMGGRC3F",278,0)
+       . SET TTLCOL3="Weight (kg)"
+"RTN","TMGGRC3F",279,0)
+       . SET ROUND=0
+"RTN","TMGGRC3F",280,0)
+       . SET TTLCOL5="%tile"
+"RTN","TMGGRC3F",281,0)
+       . SET TTLCOL4="Age (mos)"
+"RTN","TMGGRC3F",282,0)
+       ;
+"RTN","TMGGRC3F",283,0)
+       ;" Determine what the Y value is
+"RTN","TMGGRC3F",284,0)
+       IF (GRAPHTYP["HT")!(GRAPHTYP["LN")!(GRAPHTYP["WHO-HA") DO
+"RTN","TMGGRC3F",285,0)
+       . SET TTLCOL3="Height/Length (cm)"
+"RTN","TMGGRC3F",286,0)
+       ELSE  IF (GRAPHTYP["HC")!(GRAPHTYP["WHO-HC") DO
+"RTN","TMGGRC3F",287,0)
+       . SET TTLCOL3="Head Circumference (cm)"
+"RTN","TMGGRC3F",288,0)
+       ELSE  IF (GRAPHTYP["BMI")!(GRAPHTYP["WHO-BA") DO
+"RTN","TMGGRC3F",289,0)
+       . SET TTLCOL3="BMI"
+"RTN","TMGGRC3F",290,0)
+       ELSE  IF ((GRAPHTYP["WT")&(GRAPHTYP'["WT4"))!(GRAPHTYP["WHO-W") DO
+"RTN","TMGGRC3F",291,0)
+       . SET TTLCOL3="Weight (kg)"
+"RTN","TMGGRC3F",292,0)
+       ;
+"RTN","TMGGRC3F",293,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"}")
+"RTN","TMGGRC3F",294,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"    ")
+"RTN","TMGGRC3F",295,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"function AddTableOfValues() {")
+"RTN","TMGGRC3F",296,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"   var s;")
+"RTN","TMGGRC3F",297,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"   s = MyGraph;")
+"RTN","TMGGRC3F",298,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"   s=s+""<BR><U>Table of Actual Patient Values</U>:<BR>"";")
+"RTN","TMGGRC3F",299,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"   s=s+""<table border=1>"";")
+"RTN","TMGGRC3F",300,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"   s=s+""<tr>"";")
+"RTN","TMGGRC3F",301,0)
+       IF TTLCOL5="" DO  ;" Don't add column 5 unless
+"RTN","TMGGRC3F",302,0)
+       . DO SETITEM^TMGGRC2A(.ROOT,"   s=s+""   <th>Date:</th><th>"_TTLCOL2_":</th><th>"_TTLCOL3_"</th><th>"_TTLCOL4_"</th>"";")
+"RTN","TMGGRC3F",303,0)
+       ELSE  DO
+"RTN","TMGGRC3F",304,0)
+       . DO SETITEM^TMGGRC2A(.ROOT,"   s=s+""   <th>Date:</th><th>"_TTLCOL4_":</th><th>"_TTLCOL2_"</th><th>"_TTLCOL3_"</th><th>"_TTLCOL5_"</th>"";")
+"RTN","TMGGRC3F",305,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"   s=s+""</tr>"";")
+"RTN","TMGGRC3F",306,0)
+       ;
+"RTN","TMGGRC3F",307,0)
+       NEW I SET I=0
+"RTN","TMGGRC3F",308,0)
+       FOR  SET I=$ORDER(ARRAY(I)) QUIT:+I'>0  DO
+"RTN","TMGGRC3F",309,0)
+       . NEW DATA SET DATA=$GET(ARRAY(I))
+"RTN","TMGGRC3F",310,0)
+       . NEW X,Y,DATE,AGE,TILE
+"RTN","TMGGRC3F",311,0)
+       . SET X=$PIECE(DATA,"^",1)
+"RTN","TMGGRC3F",312,0)
+       . SET Y=$PIECE(DATA,"^",2)
+"RTN","TMGGRC3F",313,0)
+       . IF GRAPHTYP["BMI" SET Y=$JUSTIFY(Y,0,3)
+"RTN","TMGGRC3F",314,0)
+          . IF GRAPHTYP["WA"!(GRAPHTYP["WT") SET Y=$JUSTIFY(Y,0,1)  ;round out weights to 1 dp
+"RTN","TMGGRC3F",315,0)
+       . SET TILE=$PIECE(DATA,"^",6)
+"RTN","TMGGRC3F",316,0)
+       . SET DATE=$PIECE(DATA,"^",4)
+"RTN","TMGGRC3F",317,0)
+       . DO SETITEM^TMGGRC2A(.ROOT,"   s=s+""<tr align=center>"";")
+"RTN","TMGGRC3F",318,0)
+       . IF TTLCOL5="" DO
+"RTN","TMGGRC3F",319,0)
+       . . IF ROUND'=-1 SET X=$JUSTIFY(X,0,ROUND)
+"RTN","TMGGRC3F",320,0)
+       . . DO SETITEM^TMGGRC2A(.ROOT,"   s=s+""   <td>"_DATE_"</td><td>"_X_"</td><td>"_Y_"</td><td>"_TILE_"</td>"";")
+"RTN","TMGGRC3F",321,0)
+       . ELSE  DO
+"RTN","TMGGRC3F",322,0)
+       . . SET AGE=$JUSTIFY($PIECE(DATA,"^",5),0,0)
+"RTN","TMGGRC3F",323,0)
+       . . DO SETITEM^TMGGRC2A(.ROOT,"   s=s+""   <td>"_DATE_"</td><td>"_AGE_"</td><td>"_X_"</td><td>"_Y_"</td><td>"_TILE_"</td>"";")
+"RTN","TMGGRC3F",324,0)
+       . DO SETITEM^TMGGRC2A(.ROOT,"   s=s+""</tr>"";")
+"RTN","TMGGRC3F",325,0)
+       ;
+"RTN","TMGGRC3F",326,0)
+       ;
+"RTN","TMGGRC3F",327,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"   s=s+""</table>"";")
+"RTN","TMGGRC3F",328,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"   MyGraph=s;")
+"RTN","TMGGRC3F",329,0)
+       QUIT
+"RTN","TMGGRC3F",330,0)
+       ;
+"RTN","TMGGRC3F",331,0)
+ENDLINES(ROOT)           ;
+"RTN","TMGGRC3F",332,0)
+       ;"Purpose: End adding Data Set Line(s)
+"RTN","TMGGRC3F",333,0)
+       ;"Input: ROOT -- The root to output to .
+"RTN","TMGGRC3F",334,0)
+       ;"Results: none
+"RTN","TMGGRC3F",335,0)
+       ;"Output: writes out data via SETITEM
+"RTN","TMGGRC3F",336,0)
+       ;
+"RTN","TMGGRC3F",337,0)
+       DO SETITEM^TMGGRC2A(.ROOT,"}")
+"RTN","TMGGRC3F",338,0)
+            ;
+"RTN","TMGGRC3F",339,0)
+            ;
+"RTN","TMGGRC3F",340,0)
+ENDING  ;
+"RTN","TMGGRC3F",341,0)
+       ;;</script>
+"RTN","TMGGRC3F",342,0)
+       ;;
+"RTN","TMGGRC3F",343,0)
+       ;;<div id="graphdiv"></div>
+"RTN","TMGGRC3F",344,0)
+       ;;<p><H6>Graphs developed by Family Physicians of Greeneville (TMG),
+"RTN","TMGGRC3F",345,0)
+       ;; utilizing XYGraph.js by J. Gebelein
+"RTN","TMGGRC3F",346,0)
+       ;;</p>
+"RTN","TMGGRC3F",347,0)
+       ;;</body>
+"RTN","TMGGRC3F",348,0)
+       ;;</html>
+"RTN","TMGGRC3F",349,0)
+       ;;EOF
+"RTN","TMGGRC3F",350,0)
+       ;
+"RTN","TMGGRC3F",351,0)
+XSCRIPT ;
+"RTN","TMGGRC3F",352,0)
+       ;;<script type="text/javascript">
+"RTN","TMGGRC3F",353,0)
+       ;;
+"RTN","TMGGRC3F",354,0)
+       ;;function LoadGraph() {
+"RTN","TMGGRC3F",355,0)
+       ;;   graphdiv.innerHTML="Hello World!";
+"RTN","TMGGRC3F",356,0)
+       ;;}
+"RTN","TMGGRC3F",357,0)
+       ;;
+"RTN","TMGGRC3F",358,0)
+       ;;EOF
+"RTN","TMGGRCU")
+0^9^B133259645
+"RTN","TMGGRCU",1,0)
+TMGGRCU ;TMG/kst-Growth Chart Data Utilities ;5/10/11, 5/17/12
+"RTN","TMGGRCU",2,0)
+          ;;1.0;TMG-LIB;**1,17**;10/5/10;Build 23
+"RTN","TMGGRCU",3,0)
+ ;
+"RTN","TMGGRCU",4,0)
+ ;"Utilities for pediatric growth chart.
+"RTN","TMGGRCU",5,0)
+ ;"
+"RTN","TMGGRCU",6,0)
+ ;"Kevin Toppenberg MD
+"RTN","TMGGRCU",7,0)
+ ;"(C) 5/10/11
+"RTN","TMGGRCU",8,0)
+ ;"Released under: GNU General Public License (GPL)
+"RTN","TMGGRCU",9,0)
+ ;
+"RTN","TMGGRCU",10,0)
+ ;"=======================================================================
+"RTN","TMGGRCU",11,0)
+ ;" RPC -- Public Functions.
+"RTN","TMGGRCU",12,0)
+ ;"=======================================================================
+"RTN","TMGGRCU",13,0)
+ ;
+"RTN","TMGGRCU",14,0)
+ ;"=======================================================================
+"RTN","TMGGRCU",15,0)
+ ;"PRIVATE API FUNCTIONS
+"RTN","TMGGRCU",16,0)
+ ;"=======================================================================
+"RTN","TMGGRCU",17,0)
+ ;"GETLMS(CHART,MONTHS,GENDER,L,M,S) -- return the LMS values for a given chart
+"RTN","TMGGRCU",18,0)
+ ;"GEXCTLMS(CHART,MONTHS,GENDER,L,M,S)--return the LMS values for a given chart -- ROUNDING AGE TO EXACT INTERVAL
+"RTN","TMGGRCU",19,0)
+ ;"INTRPLMS(MONTHS,MO1,MO2,L1,M1,S1,L2,M2,S2,L,M,S) -- return an interpolated LMS based on input values
+"RTN","TMGGRCU",20,0)
+ ;"INTERPLT(X,X1,X2,Y1,Y2) -- Return an interpolated value
+"RTN","TMGGRCU",21,0)
+ ;"LMS2Z(X,L,M,S) -- convert Input Patient measurement value X, and L,M,S SET  into a Z score
+"RTN","TMGGRCU",22,0)
+ ;"LMSZ2Y(L,M,S,Z) --convert a LMS pair + Z score into a value (e.g. weight FOR 5th %tile, Z=-1.645)
+"RTN","TMGGRCU",23,0)
+ ;"LMSP2Y(L,M,S,P) -- convert a LMS pair + Percentil into a value (e.g. weight FOR 5th %tile)
+"RTN","TMGGRCU",24,0)
+ ;"Z2PCTL(Z) -- convert a Z score into a Percentile
+"RTN","TMGGRCU",25,0)
+ ;"ERRZ2PTL    ; Process Error from Z2Percenticle function.
+"RTN","TMGGRCU",26,0)
+ ;"PCTL2Z(P) Convert a percentile to an approximated Z-score
+"RTN","TMGGRCU",27,0)
+ ;"SETSUFIX(NUM) --Return a suffix, e.g. 1-->"st %tile", 2--> "2nd %tile" etc.
+"RTN","TMGGRCU",28,0)
+ ;"TEST -- Test system
+"RTN","TMGGRCU",29,0)
+ ;
+"RTN","TMGGRCU",30,0)
+ ;"=======================================================================
+"RTN","TMGGRCU",31,0)
+ ;"Dependancies:  DIC, XLFMTH, TMGGRC1, %ZTER, DIQ
+"RTN","TMGGRCU",32,0)
+ ;"=======================================================================
+"RTN","TMGGRCU",33,0)
+ ;
+"RTN","TMGGRCU",34,0)
+GETLMS(CHART,MONTHS,GENDER,L,M,S)        ;
+"RTN","TMGGRCU",35,0)
+        ;"Purpose: return the LMS values for a given chart
+"RTN","TMGGRCU",36,0)
+        ;"Input: CHART --Name of the chart to reference, OR, IEN^Name of chart to use.
+"RTN","TMGGRCU",37,0)
+        ;"       MONTHS -- The age to use for lookup in the chart
+"RTN","TMGGRCU",38,0)
+        ;"       GENDER -- MUST be "M" or "F" FOR male or female
+"RTN","TMGGRCU",39,0)
+        ;"       L, M, S -- PASS BY REFERENCE, OUT Parameters.  Prior values killed
+"RTN","TMGGRCU",40,0)
+        ;"Results: 1 IF successful, -1^Message IF error (Message is optional)
+"RTN","TMGGRCU",41,0)
+        ;"Output:  L,M,S are filled with data IF valid
+"RTN","TMGGRCU",42,0)
+        NEW RESULT SET RESULT=0
+"RTN","TMGGRCU",43,0)
+        NEW IEN SET IEN=+$GET(CHART)
+"RTN","TMGGRCU",44,0)
+        IF IEN'>0 DO
+"RTN","TMGGRCU",45,0)
+        . NEW DIC,X,Y
+"RTN","TMGGRCU",46,0)
+        . SET DIC=22713,DIC(0)="M"
+"RTN","TMGGRCU",47,0)
+        . SET X=$GET(CHART)
+"RTN","TMGGRCU",48,0)
+        . DO ^DIC
+"RTN","TMGGRCU",49,0)
+        . SET IEN=+Y
+"RTN","TMGGRCU",50,0)
+        IF IEN'>0 DO  GOTO GLMSDN
+"RTN","TMGGRCU",51,0)
+        . SET RESULT="-1^Unable to find chart: '"_$GET(CHART)_"'"
+"RTN","TMGGRCU",52,0)
+        SET GENDER=$GET(GENDER)
+"RTN","TMGGRCU",53,0)
+        IF (GENDER'="M")&(GENDER'="F") DO  GOTO GLMSDN
+"RTN","TMGGRCU",54,0)
+        . SET RESULT="-1^Invalid GENDER. Should be 'M' or 'F'.  Got: '"_GENDER_"'"
+"RTN","TMGGRCU",55,0)
+        SET MONTHS=$GET(MONTHS)
+"RTN","TMGGRCU",56,0)
+        IF +MONTHS'=MONTHS DO  GOTO GLMSDN
+"RTN","TMGGRCU",57,0)
+        . SET RESULT="-1^Invalid AGE.  Should be numeric value.  Got: '"_MONTHS_"'"
+"RTN","TMGGRCU",58,0)
+        KILL L,M,S
+"RTN","TMGGRCU",59,0)
+        NEW MO1,MO2
+"RTN","TMGGRCU",60,0)
+        IF (CHART="13")!(CHART["13^WHO") DO  ;"WHO-WEIGHT FOR LENGTH
+"RTN","TMGGRCU",61,0)
+        . NEW N SET N=$JUSTIFY(MONTHS,0,1)
+"RTN","TMGGRCU",62,0)
+        . NEW D SET D=$PIECE(N,".",2)
+"RTN","TMGGRCU",63,0)
+        . SET N=$PIECE(N,".",1)
+"RTN","TMGGRCU",64,0)
+        . IF D'<0.5 DO
+"RTN","TMGGRCU",65,0)
+        . . SET MO1=N_".5"
+"RTN","TMGGRCU",66,0)
+        . . SET MO2=MONTHS\1+1
+"RTN","TMGGRCU",67,0)
+        . ELSE  DO
+"RTN","TMGGRCU",68,0)
+        . . SET MO1=MONTHS\1
+"RTN","TMGGRCU",69,0)
+        . . SET MO2=MO1+0.5
+"RTN","TMGGRCU",70,0)
+        ELSE  DO
+"RTN","TMGGRCU",71,0)
+        . SET MO1=(MONTHS\1)-.01
+"RTN","TMGGRCU",72,0)
+        . IF MO1<0 DO
+"RTN","TMGGRCU",73,0)
+        . . SET MO1=0
+"RTN","TMGGRCU",74,0)
+        . . SET MO2=0.99
+"RTN","TMGGRCU",75,0)
+        . ELSE  SET MO2=MO1+1
+"RTN","TMGGRCU",76,0)
+        ;
+"RTN","TMGGRCU",77,0)
+        IF MO1=23.99 DO
+"RTN","TMGGRCU",78,0)
+        . IF (CHART="1")!(CHART="5")!(CHART="4")!(CHART["1^BMI")!(CHART["5^WEIGHT")!(CHART["4^STATURE") SET MO1=24
+"RTN","TMGGRCU",79,0)
+        NEW L1,L2,M1,M2,S1,S2
+"RTN","TMGGRCU",80,0)
+        ;
+"RTN","TMGGRCU",81,0)
+        IF $$GEXCTLMS(IEN,MO1,GENDER,.L1,.M1,.S1)=0 DO  GOTO GLMSDN
+"RTN","TMGGRCU",82,0)
+        . SET RESULT="-1^Unable to find LMS data for lower end of age range."
+"RTN","TMGGRCU",83,0)
+        IF $$GEXCTLMS(IEN,MO2,GENDER,.L2,.M2,.S2)=0 DO  GOTO GLMSDN
+"RTN","TMGGRCU",84,0)
+        . SET RESULT="-1^Unable to find LMS data for upper end of age range."
+"RTN","TMGGRCU",85,0)
+        ;
+"RTN","TMGGRCU",86,0)
+        DO INTRPLMS(MONTHS,MO1,MO2,L1,M1,S1,L2,M2,S2,.L,.M,.S)
+"RTN","TMGGRCU",87,0)
+        ;
+"RTN","TMGGRCU",88,0)
+        ;"Get correct Age interval
+"RTN","TMGGRCU",89,0)
+        ;"IF $DATA(^TMG(22713,IEN,"D","B",MONTHS))=0 DO  GOTO:(+RESULT=-1) GLMSDN
+"RTN","TMGGRCU",90,0)
+        ;". NEW MONTHS2 SET MONTHS2=$ORDER(^TMG(22713,IEN,"D","B",MONTHS))  ;"convert e.g. 31.2 --> 31.99
+"RTN","TMGGRCU",91,0)
+        ;". IF CHART'["13^WHO" DO  ;"WHO-WEIGHT FOR LENGTH
+"RTN","TMGGRCU",92,0)
+        ;". . IF (MONTHS\1)'=(MONTHS2\1) SET MONTHS2=""  ;"Ensure e.g. 31.2 doesn't goto 40.99
+"RTN","TMGGRCU",93,0)
+        ;". IF MONTHS2="" DO  QUIT
+"RTN","TMGGRCU",94,0)
+        ;". . SET RESULT="-1^Unable to find age interfal FOR AGE:  Got: '"_MONTHS_"'"
+"RTN","TMGGRCU",95,0)
+        ;". SET MONTHS=MONTHS2
+"RTN","TMGGRCU",96,0)
+        ;"NEW DONE SET DONE=0
+"RTN","TMGGRCU",97,0)
+        ;"NEW I SET I=0
+"RTN","TMGGRCU",98,0)
+        ;"FOR  SET I=$ORDER(^TMG(22713,IEN,"D","B",MONTHS,I)) QUIT:(+I'>0)!DONE  DO
+"RTN","TMGGRCU",99,0)
+        ;". NEW NODE SET NODE=$GET(^TMG(22713,IEN,"D",I,0)) QUIT:NODE=""
+"RTN","TMGGRCU",100,0)
+        ;". IF $PIECE(NODE,"^",2)'=GENDER QUIT
+"RTN","TMGGRCU",101,0)
+        ;". SET DONE=1,RESULT=1
+"RTN","TMGGRCU",102,0)
+        ;". SET L=$PIECE(NODE,"^",3)
+"RTN","TMGGRCU",103,0)
+        ;". SET M=$PIECE(NODE,"^",4)
+"RTN","TMGGRCU",104,0)
+        ;". SET S=$PIECE(NODE,"^",5)
+"RTN","TMGGRCU",105,0)
+GLMSDN  QUIT RESULT
+"RTN","TMGGRCU",106,0)
+        ;
+"RTN","TMGGRCU",107,0)
+GEXCTLMS(CHART,MONTHS,GENDER,L,M,S)         ;
+"RTN","TMGGRCU",108,0)
+        ;"Purpose: return the LMS values for a given chart -- ROUNDING AGE TO EXACT INTERVAL
+"RTN","TMGGRCU",109,0)
+        ;"Note: input validation not done in this function.  Private API
+"RTN","TMGGRCU",110,0)
+        ;"Input: CHART -- IEN of the chart to reference
+"RTN","TMGGRCU",111,0)
+        ;"       MONTHS -- The age to use for lookup in the chart -- ROUNDED TO EXACT INTERVAL
+"RTN","TMGGRCU",112,0)
+        ;"          It is expected that this month will EXACTLY match the intervals in the data             
+"RTN","TMGGRCU",113,0)
+        ;"       GENDER -- MUST be "M" or "F" FOR male or female
+"RTN","TMGGRCU",114,0)
+        ;"       L, M, S -- PASS BY REFERENCE, OUT Parameters.  Prior values killed
+"RTN","TMGGRCU",115,0)
+        ;"Results: 1 IF successful, 0 otherwise
+"RTN","TMGGRCU",116,0)
+        ;"Output:  L,M,S are filled with data IF valid
+"RTN","TMGGRCU",117,0)
+        KILL L,M,S
+"RTN","TMGGRCU",118,0)
+        NEW DONE SET DONE=0
+"RTN","TMGGRCU",119,0)
+        NEW I SET I=0
+"RTN","TMGGRCU",120,0)
+        IF $EXTRACT(MONTHS,1)="." SET MONTHS="0"_MONTHS
+"RTN","TMGGRCU",121,0)
+        FOR  SET I=$ORDER(^TMG(22713,IEN,"D","B",MONTHS,I)) QUIT:(+I'>0)!DONE  DO
+"RTN","TMGGRCU",122,0)
+        . NEW NODE SET NODE=$GET(^TMG(22713,IEN,"D",I,0)) QUIT:NODE=""
+"RTN","TMGGRCU",123,0)
+        . IF $PIECE(NODE,"^",2)'=GENDER QUIT
+"RTN","TMGGRCU",124,0)
+        . SET DONE=1,RESULT=1
+"RTN","TMGGRCU",125,0)
+        . SET L=$PIECE(NODE,"^",3)
+"RTN","TMGGRCU",126,0)
+        . SET M=$PIECE(NODE,"^",4)
+"RTN","TMGGRCU",127,0)
+        . SET S=$PIECE(NODE,"^",5)
+"RTN","TMGGRCU",128,0)
+        QUIT ($DATA(L)'=0)
+"RTN","TMGGRCU",129,0)
+        ;
+"RTN","TMGGRCU",130,0)
+INTRPLMS(MONTHS,MO1,MO2,L1,M1,S1,L2,M2,S2,L,M,S)        ;
+"RTN","TMGGRCU",131,0)
+        ;"Purpose: to return an interpolated LMS based on input values
+"RTN","TMGGRCU",132,0)
+        ;"Input: MONTHS -- the patient's actual age
+"RTN","TMGGRCU",133,0)
+        ;"       MO1,M02 -- the patient's age rounded to lower and upper ends of age range
+"RTN","TMGGRCU",134,0)
+        ;"       L1,M1,S2 -- the LMS values for the lower end of the age range
+"RTN","TMGGRCU",135,0)
+        ;"       L2,M2,S2 -- the LMS values for the upper end of the age range
+"RTN","TMGGRCU",136,0)
+        ;"       L,M,S -- PASS BY REFERENCE.  This is the output values        
+"RTN","TMGGRCU",137,0)
+        SET L=$$INTERPLT(MONTHS,MO1,MO2,L1,L2)
+"RTN","TMGGRCU",138,0)
+        SET M=$$INTERPLT(MONTHS,MO1,MO2,M1,M2)
+"RTN","TMGGRCU",139,0)
+        SET S=$$INTERPLT(MONTHS,MO1,MO2,S1,S2)
+"RTN","TMGGRCU",140,0)
+        QUIT
+"RTN","TMGGRCU",141,0)
+        ;
+"RTN","TMGGRCU",142,0)
+INTERPLT(X,X1,X2,Y1,Y2)         ;
+"RTN","TMGGRCU",143,0)
+        ;"Purpose: Return an interpolated value
+"RTN","TMGGRCU",144,0)
+        ;"Input: X - the measured value
+"RTN","TMGGRCU",145,0)
+        ;"       X1,X2 -- the lower and upper known x values
+"RTN","TMGGRCU",146,0)
+        ;"       Y1,Y2 -- the lower and upper known y values
+"RTN","TMGGRCU",147,0)
+        ;"Results: returns the interpolated value
+"RTN","TMGGRCU",148,0)
+        NEW SLOPE SET SLOPE=(Y2-Y1)/(X2-X1)
+"RTN","TMGGRCU",149,0)
+        NEW B SET B=Y1-(SLOPE*X1)
+"RTN","TMGGRCU",150,0)
+        NEW RESULT SET RESULT=(SLOPE*X)+B
+"RTN","TMGGRCU",151,0)
+        QUIT RESULT
+"RTN","TMGGRCU",152,0)
+        ;       
+"RTN","TMGGRCU",153,0)
+LMS2Z(X,L,M,S)        ;
+"RTN","TMGGRCU",154,0)
+        ;"Purpose: convert Input Patient measurement value X, and L,M,S SET  into a Z score
+"RTN","TMGGRCU",155,0)
+        ;"Input: X -- This is the value of the patient measurement, units should
+"RTN","TMGGRCU",156,0)
+        ;"            be the same as specified in INPUT UNITS field FOR record
+"RTN","TMGGRCU",157,0)
+        ;"      L,M,S -- These are Values as may be obtained by GETLMS()
+"RTN","TMGGRCU",158,0)
+        ;"Results: Outputs the Z score
+"RTN","TMGGRCU",159,0)
+        ;"
+"RTN","TMGGRCU",160,0)
+        ;"formula used is Z = [((X/M)**L) - 1] / LS  where L <> 0 
+"RTN","TMGGRCU",161,0)
+        ;"             or Z = ln(X/M)/S  where L=0
+"RTN","TMGGRCU",162,0)
+        NEW RESULT SET RESULT=0
+"RTN","TMGGRCU",163,0)
+        SET L=+$GET(L),M=+$GET(M),S=+$GET(S),X=+$GET(X)
+"RTN","TMGGRCU",164,0)
+        IF L=0 DO
+"RTN","TMGGRCU",165,0)
+        . NEW T
+"RTN","TMGGRCU",166,0)
+        . SET T=X/M
+"RTN","TMGGRCU",167,0)
+        . SET T=$$LN^XLFMTH(T)
+"RTN","TMGGRCU",168,0)
+        . SET RESULT=T/S
+"RTN","TMGGRCU",169,0)
+        ELSE  DO
+"RTN","TMGGRCU",170,0)
+        . NEW T
+"RTN","TMGGRCU",171,0)
+        . SET T=X/M
+"RTN","TMGGRCU",172,0)
+        . SET T=(T**L)-1
+"RTN","TMGGRCU",173,0)
+        . SET RESULT=T/(L*S)
+"RTN","TMGGRCU",174,0)
+        QUIT RESULT
+"RTN","TMGGRCU",175,0)
+        ;
+"RTN","TMGGRCU",176,0)
+LMSZ2Y(L,M,S,Z)        ;
+"RTN","TMGGRCU",177,0)
+        ;"Purpose: To convert a LMS pair + Z score into a value (e.g. weight FOR 5th %tile, Z=-1.645)
+"RTN","TMGGRCU",178,0)
+        ;"Input: L,M,S -- LMS pair that describes normal distribution
+"RTN","TMGGRCU",179,0)
+        ;"         Z -- The z-score corelating to the desired %tile
+"RTN","TMGGRCU",180,0)
+        ;"Results: Returns value requested
+"RTN","TMGGRCU",181,0)
+        ;"Formula used: X= M (1 +LSZ)**(1/L) IF L<>0  or X = M exp(SZ) IF L=0
+"RTN","TMGGRCU",182,0)
+        ;
+"RTN","TMGGRCU",183,0)
+        NEW RESULT SET RESULT=0
+"RTN","TMGGRCU",184,0)
+        SET L=+$GET(L),M=+$GET(M),S=+$GET(S),X=+$GET(X),Z=+$GET(Z)
+"RTN","TMGGRCU",185,0)
+        NEW T
+"RTN","TMGGRCU",186,0)
+        IF L=0 DO
+"RTN","TMGGRCU",187,0)
+        . SET T=$$EXP^XLFMTH(S*Z)
+"RTN","TMGGRCU",188,0)
+        ELSE  DO
+"RTN","TMGGRCU",189,0)
+        . SET T=((L*S*Z)+1)**(1/L)
+"RTN","TMGGRCU",190,0)
+        SET RESULT=M*T
+"RTN","TMGGRCU",191,0)
+        QUIT RESULT
+"RTN","TMGGRCU",192,0)
+        ;          
+"RTN","TMGGRCU",193,0)
+LMSP2Y(L,M,S,P)        ;
+"RTN","TMGGRCU",194,0)
+        ;"Purpose: To convert a LMS pair + Percentil into a value (e.g. weight FOR 5th %tile)
+"RTN","TMGGRCU",195,0)
+        ;"Input: L,M,S -- LMS pair that describes normal distribution
+"RTN","TMGGRCU",196,0)
+        ;"         P -- Percentile of desired value.  0-100
+"RTN","TMGGRCU",197,0)
+        ;"Results: Returns value requested, or -1 IF error
+"RTN","TMGGRCU",198,0)
+        NEW RESULT SET RESULT=-1
+"RTN","TMGGRCU",199,0)
+        NEW Z SET Z=$$PCTL2Z(+$GET(P))
+"RTN","TMGGRCU",200,0)
+        IF Z="E" GOTO LP2XDN
+"RTN","TMGGRCU",201,0)
+        SET RESULT=$$LMSZ2Y(.L,.M,.S,Z)
+"RTN","TMGGRCU",202,0)
+LP2XDN         QUIT RESULT
+"RTN","TMGGRCU",203,0)
+        ;
+"RTN","TMGGRCU",204,0)
+Z2PCTL(Z)        ;
+"RTN","TMGGRCU",205,0)
+        ;"Purpose: To convert a Z score into a Percentile
+"RTN","TMGGRCU",206,0)
+        ;"Input: Z : zscore
+"RTN","TMGGRCU",207,0)
+        ;"Output: the Percentile, or -1 if invalid
+"RTN","TMGGRCU",208,0)
+        ;"NOTE: Code from Cameron Schlehuber
+"RTN","TMGGRCU",209,0)
+        ;
+"RTN","TMGGRCU",210,0)
+        NEW $ETRAP SET $ETRAP="G ERRZ2PTL^TMGGRC1"
+"RTN","TMGGRCU",211,0)
+        NEW TMGERR SET TMGERR=0
+"RTN","TMGGRCU",212,0)
+        SET Z=+$GET(Z)
+"RTN","TMGGRCU",213,0)
+        NEW ABZ SET ABZ=$$ABS^XLFMTH(Z)
+"RTN","TMGGRCU",214,0)
+        ; Overflow error can happen here. TMGERR set to 1 if error occurs
+"RTN","TMGGRCU",215,0)
+        NEW P
+"RTN","TMGGRCU",216,0)
+        SET P=1-((1/$$SQRT^XLFMTH(2*3.14159265))*$$EXP^XLFMTH(-(ABZ**2)/2)*(0.4361836*(1/(1+(0.33267*ABZ)))-(0.1201676*((1/(1+(0.33267*ABZ)))**2))+(0.937298*((1/(1+(0.33267*ABZ)))**3))))
+"RTN","TMGGRCU",217,0)
+        IF TMGERR QUIT -1  ; Error happened.
+"RTN","TMGGRCU",218,0)
+        IF Z>0 SET P=P*100
+"RTN","TMGGRCU",219,0)
+        ELSE  SET P=100-(P*100)
+"RTN","TMGGRCU",220,0)
+        ;" SET P=P\1  ;"truncate decimal portion
+"RTN","TMGGRCU",221,0)
+        QUIT P
+"RTN","TMGGRCU",222,0)
+        ;
+"RTN","TMGGRCU",223,0)
+ERRZ2PTL    ; Process Error from Z2Percenticle function.
+"RTN","TMGGRCU",224,0)
+        S $ETRAP="D ^%ZTER H"
+"RTN","TMGGRCU",225,0)
+        I $ECODE[",M92," SET $ECODE="",TMGERR=1 QUIT:$QUIT "" QUIT  ; Process Numeric Overflow error
+"RTN","TMGGRCU",226,0)
+        E  QUIT:$QUIT "" QUIT  ; Otherwise, let default error handler do its work
+"RTN","TMGGRCU",227,0)
+PCTL2Z(P)        ;
+"RTN","TMGGRCU",228,0)
+        ;"Purpose: To Convert a percentile to an approximated Z-score
+"RTN","TMGGRCU",229,0)
+        ;"Input: P : Percentile (should be 0-100)
+"RTN","TMGGRCU",230,0)
+        ;"Code from function critz found at http://www.fourmilab.ch/rpkp/experiments/analysis/zCalc.js
+"RTN","TMGGRCU",231,0)
+        ;"   notes state that code was in public domain
+"RTN","TMGGRCU",232,0)
+        ;"Results: returns percentile, or "E" IF error
+"RTN","TMGGRCU",233,0)
+        ;
+"RTN","TMGGRCU",234,0)
+        NEW RESULT SET RESULT="E"
+"RTN","TMGGRCU",235,0)
+        NEW ZEPSILON SET ZEPSILON=0.000001  ;"Accuracy of Z approximation
+"RTN","TMGGRCU",236,0)
+        NEW MINZ SET MINZ=-6
+"RTN","TMGGRCU",237,0)
+        NEW MAXZ SET MAXZ=6
+"RTN","TMGGRCU",238,0)
+        NEW ZVAL SET ZVAL=0
+"RTN","TMGGRCU",239,0)
+        NEW PVAL
+"RTN","TMGGRCU",240,0)
+        SET P=+$GET(P)/100
+"RTN","TMGGRCU",241,0)
+        IF (P<0)!(P>1) GOTO PC2ZDN
+"RTN","TMGGRCU",242,0)
+        FOR  QUIT:((MAXZ-MINZ)'>ZEPSILON)  DO
+"RTN","TMGGRCU",243,0)
+        . SET PVAL=$$Z2PCTL(ZVAL)/100
+"RTN","TMGGRCU",244,0)
+        . IF PVAL>P SET MAXZ=ZVAL
+"RTN","TMGGRCU",245,0)
+        . ELSE  SET MINZ=ZVAL
+"RTN","TMGGRCU",246,0)
+        . SET ZVAL=(MAXZ+MINZ)*0.5
+"RTN","TMGGRCU",247,0)
+        SET RESULT=ZVAL
+"RTN","TMGGRCU",248,0)
+PC2ZDN  QUIT RESULT
+"RTN","TMGGRCU",249,0)
+        ;
+"RTN","TMGGRCU",250,0)
+SETSUFIX(NUM)        ;
+"RTN","TMGGRCU",251,0)
+        ;"Purpose: Return a suffix, e.g. 1-->"st %tile", 2--> "2nd %tile" etc.
+"RTN","TMGGRCU",252,0)
+        ;"Input: NUM -- integer >0
+"RTN","TMGGRCU",253,0)
+        SET NUM=+$GET(NUM)
+"RTN","TMGGRCU",254,0)
+        NEW ENDNUM SET ENDNUM=$E(NUM,$L(NUM))+1 SET:(ENDNUM>5) ENDNUM=5
+"RTN","TMGGRCU",255,0)
+        QUIT NUM_$PIECE("th^st^nd^rd^th","^",ENDNUM)_" %tile"
+"RTN","TMGGRCU",256,0)
+        ;
+"RTN","TMGGRCU",257,0)
+        ;"=======================================================================
+"RTN","TMGGRCU",258,0)
+        ;"=======================================================================
+"RTN","TMGGRCU",259,0)
+TEST    ;
+"RTN","TMGGRCU",260,0)
+        NEW DIC,X,Y,AGE,GENDER
+"RTN","TMGGRCU",261,0)
+        SET DIC=22713,DIC(0)="MAEQ"
+"RTN","TMGGRCU",262,0)
+        DO ^DIC
+"RTN","TMGGRCU",263,0)
+        IF +Y'>0 QUIT
+"RTN","TMGGRCU",264,0)
+        WRITE !
+"RTN","TMGGRCU",265,0)
+        WRITE "The age range FOR this graph is: ",$$GET1^DIQ(22713,+Y,.06),!
+"RTN","TMGGRCU",266,0)
+        WRITE "Please input ",$$GET1^DIQ(22713,+Y,.02)," (in ",$$GET1^DIQ(22713,+Y,.03),"): "
+"RTN","TMGGRCU",267,0)
+        READ AGE:60
+"RTN","TMGGRCU",268,0)
+        WRITE !
+"RTN","TMGGRCU",269,0)
+        IF AGE="^" QUIT
+"RTN","TMGGRCU",270,0)
+        WRITE "Please enter patient value FOR ",$$GET1^DIQ(22713,+Y,.04)," (in ",$$GET1^DIQ(22713,+Y,.05),"): "
+"RTN","TMGGRCU",271,0)
+        READ X:60,!
+"RTN","TMGGRCU",272,0)
+        IF X="^" QUIT
+"RTN","TMGGRCU",273,0)
+        READ "Please Enter GENDER (must be 'M' or 'F'): ",GENDER:60,!
+"RTN","TMGGRCU",274,0)
+        IF (GENDER'="M")&(GENDER'="F") WRITE "??",! QUIT
+"RTN","TMGGRCU",275,0)
+        NEW L,M,S
+"RTN","TMGGRCU",276,0)
+        NEW TEMP SET TEMP=$$GETLMS(Y,AGE,GENDER,.L,.M,.S)
+"RTN","TMGGRCU",277,0)
+        IF +TEMP<0 WRITE $P(TEMP,"^",2),! QUIT
+"RTN","TMGGRCU",278,0)
+        WRITE "L=",L,!
+"RTN","TMGGRCU",279,0)
+        WRITE "M=",M,!
+"RTN","TMGGRCU",280,0)
+        WRITE "S=",S,!
+"RTN","TMGGRCU",281,0)
+        NEW Z SET Z=$$LMS2Z(X,L,M,S)
+"RTN","TMGGRCU",282,0)
+        WRITE "That Z score is: ",Z,!
+"RTN","TMGGRCU",283,0)
+        WRITE "%tile=",$$Z2PCTL(Z)\1,!
+"RTN","TMGGRCU",284,0)
+        WRITE "For this input, we have the following normal values:",!
+"RTN","TMGGRCU",285,0)
+        NEW PCTL
+"RTN","TMGGRCU",286,0)
+        FOR PCTL=3,5,10,25,50,75,85,90,95,97 DO
+"RTN","TMGGRCU",287,0)
+        . WRITE PCTL,"th: ",$$LMSP2Y(L,M,S,PCTL),!
+"RTN","TMGGRCU",288,0)
+        QUIT
+"RTN","TMGGRCU",289,0)
+        ;
+"RTN","TMGHTM1")
+0^4^B51905296
+"RTN","TMGHTM1",1,0)
+TMGHTM1 ;TMG/kst-HTML utilities ;08/10/10, 9/1/11, 7/17/12
+"RTN","TMGHTM1",2,0)
+         ;;1.0;TMG-LIB;**1,17**;08/10/10;Build 23
+"RTN","TMGHTM1",3,0)
+ ;
+"RTN","TMGHTM1",4,0)
+ ;"Utility functions related to documents with HTML formatting
+"RTN","TMGHTM1",5,0)
+ ;
+"RTN","TMGHTM1",6,0)
+ ;"Kevin Toppenberg MD
+"RTN","TMGHTM1",7,0)
+ ;"GNU General Public License (GPL) applies
+"RTN","TMGHTM1",8,0)
+ ;"8/10/10
+"RTN","TMGHTM1",9,0)
+ ;
+"RTN","TMGHTM1",10,0)
+ ;"---------------------------------------------------------------------------
+"RTN","TMGHTM1",11,0)
+ ;"PUBLIC FUNCTIONS
+"RTN","TMGHTM1",12,0)
+ ;"---------------------------------------------------------------------------
+"RTN","TMGHTM1",13,0)
+ ;"$$ISHTML(IEN8925) -- determine if the text held in the REPORT TEXT field is HTML markup
+"RTN","TMGHTM1",14,0)
+ ;"HTML2TXT(ARRAY) -- convert HTML --> text formatted array
+"RTN","TMGHTM1",15,0)
+ ;"$$SIGPICT(DUZ,DATE) -- Return HTML tag pointing to signiture image, or '' if none.
+"RTN","TMGHTM1",16,0)
+ ;"HTML2TXS(LINESTR) -- text a string that is HTML formatted, and strips out tags
+"RTN","TMGHTM1",17,0)
+ ;"---------------------------------------------------------------------------
+"RTN","TMGHTM1",18,0)
+ ;"PRIVATE FUNCTIONS
+"RTN","TMGHTM1",19,0)
+ ;"---------------------------------------------------------------------------
+"RTN","TMGHTM1",20,0)
+ ;
+"RTN","TMGHTM1",21,0)
+ ;"---------------------------------------------------------------------------
+"RTN","TMGHTM1",22,0)
+ ;"DEPENDENCIES:
+"RTN","TMGHTM1",23,0)
+ ;
+"RTN","TMGHTM1",24,0)
+ ;"---------------------------------------------------------------------------
+"RTN","TMGHTM1",25,0)
+ ;
+"RTN","TMGHTM1",26,0)
+ISHTML(IEN8925) ;
+"RTN","TMGHTM1",27,0)
+        ;"Purpose: to determine if the text held in the REPORT TEXT field is HTML markup
+"RTN","TMGHTM1",28,0)
+        ;"Input: IEN8925 -- record number in file 8925
+"RTN","TMGHTM1",29,0)
+        ;"Results: 1 if HTML markup, 0 otherwise.
+"RTN","TMGHTM1",30,0)
+        ;"Note: This is not a perfect test.  Also, will fail if tag is not uppercase
+"RTN","TMGHTM1",31,0)
+        ;
+"RTN","TMGHTM1",32,0)
+        NEW RESULT SET RESULT=0
+"RTN","TMGHTM1",33,0)
+        NEW DONE SET DONE=0
+"RTN","TMGHTM1",34,0)
+        NEW LINE SET LINE=0
+"RTN","TMGHTM1",35,0)
+        FOR  SET LINE=$ORDER(^TIU(8925,IEN8925,"TEXT",LINE)) QUIT:(LINE="")!DONE  DO
+"RTN","TMGHTM1",36,0)
+        . NEW LINESTR SET LINESTR=$GET(^TIU(8925,IEN8925,"TEXT",LINE,0))
+"RTN","TMGHTM1",37,0)
+        . IF (LINESTR["<!DOCTYPE HTML")!(LINESTR["<HTML>") SET DONE=1,RESULT=1 QUIT
+"RTN","TMGHTM1",38,0)
+        QUIT RESULT
+"RTN","TMGHTM1",39,0)
+        ;
+"RTN","TMGHTM1",40,0)
+HTML2TXT(ARRAY) ;
+"RTN","TMGHTM1",41,0)
+        ;"Purpose: text a WP array that is HTML formatted, and strip <P>, and
+"RTN","TMGHTM1",42,0)
+        ;"         return in a format of 1 line per array node.
+"RTN","TMGHTM1",43,0)
+        ;"         Actually, strips out ALL other tags too
+"RTN","TMGHTM1",44,0)
+        ;"Input: ARRAY -- PASS BY REFERENCE.  This array will be altered.
+"RTN","TMGHTM1",45,0)
+        ;"Results: none
+"RTN","TMGHTM1",46,0)
+        ;"NOTE: This conversion causes some loss of HTML tags, so a round trip
+"RTN","TMGHTM1",47,0)
+        ;"      conversion back to HTML would fail.
+"RTN","TMGHTM1",48,0)
+        NEW OUTARRAY,OUTI
+"RTN","TMGHTM1",49,0)
+        SET OUTI=1
+"RTN","TMGHTM1",50,0)
+        ;
+"RTN","TMGHTM1",51,0)
+        NEW S2 SET S2=""
+"RTN","TMGHTM1",52,0)
+        NEW LINE SET LINE=0
+"RTN","TMGHTM1",53,0)
+        FOR  SET LINE=$ORDER(ARRAY(LINE)) QUIT:(LINE="")  DO
+"RTN","TMGHTM1",54,0)
+        . NEW LINESTR SET LINESTR=S2_$GET(ARRAY(LINE,0))
+"RTN","TMGHTM1",55,0)
+        . SET S2=""
+"RTN","TMGHTM1",56,0)
+        . FOR  DO  QUIT:(LINESTR'["<")
+"RTN","TMGHTM1",57,0)
+        . . IF (LINESTR["<P>")&($PIECE(LINESTR,"<P>",1)'["<BR>") DO  QUIT
+"RTN","TMGHTM1",58,0)
+        . . . SET OUTARRAY(OUTI,0)=$PIECE(LINESTR,"<P>",1)
+"RTN","TMGHTM1",59,0)
+        . . . SET OUTI=OUTI+1
+"RTN","TMGHTM1",60,0)
+        . . . SET OUTARRAY(OUTI,0)=""  ;"Add blank line to create paragraph break.
+"RTN","TMGHTM1",61,0)
+        . . . SET OUTI=OUTI+1
+"RTN","TMGHTM1",62,0)
+        . . . SET LINESTR=$PIECE(LINESTR,"<P>",2,999)
+"RTN","TMGHTM1",63,0)
+        . . IF (LINESTR["</P>")&($PIECE(LINESTR,"</P>",1)'["<BR>") DO  QUIT
+"RTN","TMGHTM1",64,0)
+        . . . SET OUTARRAY(OUTI,0)=$PIECE(LINESTR,"</P>",1)
+"RTN","TMGHTM1",65,0)
+        . . . SET OUTI=OUTI+1
+"RTN","TMGHTM1",66,0)
+        . . . SET OUTARRAY(OUTI,0)=""  ;"Add blank line to create paragraph break.
+"RTN","TMGHTM1",67,0)
+        . . . SET OUTI=OUTI+1
+"RTN","TMGHTM1",68,0)
+        . . . SET LINESTR=$PIECE(LINESTR,"</P>",2,999)
+"RTN","TMGHTM1",69,0)
+        . . IF (LINESTR["<LI>")&($PIECE(LINESTR,"</LI>",1)'["<BR>") DO  QUIT  ;"//kt Block added 8/23/10
+"RTN","TMGHTM1",70,0)
+        . . . SET OUTARRAY(OUTI,0)=$PIECE(LINESTR,"<LI>",1)
+"RTN","TMGHTM1",71,0)
+        . . . SET OUTI=OUTI+1
+"RTN","TMGHTM1",72,0)
+        . . . SET OUTARRAY(OUTI,0)=""  ;"Add blank line to create paragraph break.
+"RTN","TMGHTM1",73,0)
+        . . . SET OUTI=OUTI+1
+"RTN","TMGHTM1",74,0)
+        . . . SET LINESTR=$PIECE(LINESTR,"<LI>",2,999)
+"RTN","TMGHTM1",75,0)
+        . . IF (LINESTR["</LI>")&($PIECE(LINESTR,"</LI>",1)'["<BR>") DO  QUIT
+"RTN","TMGHTM1",76,0)
+        . . . SET OUTARRAY(OUTI,0)=$PIECE(LINESTR,"</LI>",1)   ;"   _"</LI>"
+"RTN","TMGHTM1",77,0)
+        . . . SET OUTI=OUTI+1
+"RTN","TMGHTM1",78,0)
+        . . . SET OUTARRAY(OUTI,0)=""  ;"Add blank line to create paragraph break.
+"RTN","TMGHTM1",79,0)
+        . . . SET OUTI=OUTI+1
+"RTN","TMGHTM1",80,0)
+        . . . SET LINESTR=$PIECE(LINESTR,"</LI>",2,999)
+"RTN","TMGHTM1",81,0)
+        . . IF LINESTR["<BR>" DO  QUIT
+"RTN","TMGHTM1",82,0)
+        . . . SET OUTARRAY(OUTI,0)=$PIECE(LINESTR,"<BR>",1)
+"RTN","TMGHTM1",83,0)
+        . . . SET OUTI=OUTI+1
+"RTN","TMGHTM1",84,0)
+        . . . SET LINESTR=$PIECE(LINESTR,"<BR>",2,999)
+"RTN","TMGHTM1",85,0)
+        . . SET S2=LINESTR,LINESTR=""
+"RTN","TMGHTM1",86,0)
+        . SET S2=S2_LINESTR
+"RTN","TMGHTM1",87,0)
+        IF S2'="" DO
+"RTN","TMGHTM1",88,0)
+        . SET OUTARRAY(OUTI,0)=S2
+"RTN","TMGHTM1",89,0)
+        . SET OUTI=OUTI+1
+"RTN","TMGHTM1",90,0)
+        ; 
+"RTN","TMGHTM1",91,0)
+        ;"Strip out all tags other than <P>        
+"RTN","TMGHTM1",92,0)
+        NEW LINE SET LINE=0
+"RTN","TMGHTM1",93,0)
+        FOR  SET LINE=$ORDER(OUTARRAY(LINE)) QUIT:(LINE="")  DO
+"RTN","TMGHTM1",94,0)
+        . NEW LINESTR SET LINESTR=$GET(OUTARRAY(LINE,0))
+"RTN","TMGHTM1",95,0)
+        . ;"SET LINESTR=$$Substitute^TMGSTUTL(LINESTR,"<VEFA>","{VEFA}")
+"RTN","TMGHTM1",96,0)
+        . SET LINESTR=$$REPLACE(LINESTR,"<VEFA>","{VEFA}")
+"RTN","TMGHTM1",97,0)
+        . FOR  QUIT:(LINESTR'["<")!(LINESTR'[">")  DO  ;" aaa<bbb>ccc  or aaa>bbb<ccc
+"RTN","TMGHTM1",98,0)
+        . . NEW S1,S2,S3
+"RTN","TMGHTM1",99,0)
+        . . SET S1=$PIECE(LINESTR,"<",1)
+"RTN","TMGHTM1",100,0)
+        . . IF S1[">" DO  QUIT
+"RTN","TMGHTM1",101,0)
+        . . . SET LINESTR=$PIECE(LINESTR,">",1)_"}"_$PIECE($PIECE(LINESTR,">",2,999),"<",1)_"{"_$PIECE(LINESTR,"<",2,999)
+"RTN","TMGHTM1",102,0)
+        . . SET S2=$PIECE($PIECE(LINESTR,"<",2,999),">",1)
+"RTN","TMGHTM1",103,0)
+        . . SET S3=$PIECE(LINESTR,">",2,999)
+"RTN","TMGHTM1",104,0)
+        . . SET LINESTR=S1_S3
+"RTN","TMGHTM1",105,0)
+        . SET OUTARRAY(LINE,0)=LINESTR
+"RTN","TMGHTM1",106,0)
+        ;        
+"RTN","TMGHTM1",107,0)
+        ;"Convert special characters
+"RTN","TMGHTM1",108,0)
+        NEW SPEC
+"RTN","TMGHTM1",109,0)
+        SET SPEC("&nbsp;")=" "
+"RTN","TMGHTM1",110,0)
+        SET SPEC("&lt;")="<"
+"RTN","TMGHTM1",111,0)
+        SET SPEC("&gt;")=">"
+"RTN","TMGHTM1",112,0)
+        SET SPEC("&amp;")="&"
+"RTN","TMGHTM1",113,0)
+        SET SPEC("&quot;")=""""
+"RTN","TMGHTM1",114,0)
+        SET SPEC("{VEFA}")="<VEFA>"
+"RTN","TMGHTM1",115,0)
+        NEW LINE SET LINE=0
+"RTN","TMGHTM1",116,0)
+        FOR  SET LINE=$ORDER(OUTARRAY(LINE)) QUIT:(LINE="")  DO
+"RTN","TMGHTM1",117,0)
+        . NEW LINESTR SET LINESTR=$GET(OUTARRAY(LINE,0))
+"RTN","TMGHTM1",118,0)
+        . SET OUTARRAY(LINE,0)=$$REPLACE^XLFSTR(LINESTR,.SPEC)
+"RTN","TMGHTM1",119,0)
+        ;
+"RTN","TMGHTM1",120,0)
+        KILL ARRAY
+"RTN","TMGHTM1",121,0)
+        MERGE ARRAY=OUTARRAY
+"RTN","TMGHTM1",122,0)
+        QUIT
+"RTN","TMGHTM1",123,0)
+        ;
+"RTN","TMGHTM1",124,0)
+HTML2TXS(LINESTR) ;
+"RTN","TMGHTM1",125,0)
+        ;"Purpose: text a string that is HTML formatted, and strips out tags
+"RTN","TMGHTM1",126,0)
+        ;"Input: LINESTR
+"RTN","TMGHTM1",127,0)
+        ;"Results: none
+"RTN","TMGHTM1",128,0)
+        ;"NOTE: This conversion causes some loss of HTML tags, so a round trip
+"RTN","TMGHTM1",129,0)
+        ;"      conversion back to HTML would fail.
+"RTN","TMGHTM1",130,0)
+        ;"Strip out all tags (except <VEFA>)
+"RTN","TMGHTM1",131,0)
+        ;"SET LINESTR=$$Substitute^TMGSTUTL(LINESTR,"<VEFA>","{VEFA}")
+"RTN","TMGHTM1",132,0)
+        SET LINESTR=$$REPLACE(LINESTR,"<VEFA>","{VEFA}")
+"RTN","TMGHTM1",133,0)
+        FOR  QUIT:(LINESTR'["<")!(LINESTR'[">")  DO  ;" aaa<bbb>ccc  or aaa>bbb<ccc
+"RTN","TMGHTM1",134,0)
+        . NEW S1,S2,S3
+"RTN","TMGHTM1",135,0)
+        . SET S1=$PIECE(LINESTR,"<",1)
+"RTN","TMGHTM1",136,0)
+        . IF S1[">" DO  QUIT
+"RTN","TMGHTM1",137,0)
+        . . SET LINESTR=$PIECE(LINESTR,">",1)_"}"_$PIECE($PIECE(LINESTR,">",2,999),"<",1)_"{"_$PIECE(LINESTR,"<",2,999)
+"RTN","TMGHTM1",138,0)
+        . SET S2=$PIECE($PIECE(LINESTR,"<",2,999),">",1)
+"RTN","TMGHTM1",139,0)
+        . SET S3=$PIECE(LINESTR,">",2,999)
+"RTN","TMGHTM1",140,0)
+        . SET LINESTR=S1_S3
+"RTN","TMGHTM1",141,0)
+        ;        
+"RTN","TMGHTM1",142,0)
+        ;"Convert special characters
+"RTN","TMGHTM1",143,0)
+        NEW SPEC
+"RTN","TMGHTM1",144,0)
+        SET SPEC("&nbsp;")=" "
+"RTN","TMGHTM1",145,0)
+        SET SPEC("&lt;")="<"
+"RTN","TMGHTM1",146,0)
+        SET SPEC("&gt;")=">"
+"RTN","TMGHTM1",147,0)
+        SET SPEC("&amp;")="&"
+"RTN","TMGHTM1",148,0)
+        SET SPEC("&quot;")=""""
+"RTN","TMGHTM1",149,0)
+        SET SPEC("{VEFA}")="<VEFA>"
+"RTN","TMGHTM1",150,0)
+        SET SPEC("{NL}")=""""
+"RTN","TMGHTM1",151,0)
+        SET LINESTR=$$REPLACE^XLFSTR(LINESTR,.SPEC)
+"RTN","TMGHTM1",152,0)
+        ;
+"RTN","TMGHTM1",153,0)
+        QUIT LINESTR
+"RTN","TMGHTM1",154,0)
+        ;
+"RTN","TMGHTM1",155,0)
+REPLACE(LINE,MATCHSTR,SUBSTR) ;
+"RTN","TMGHTM1",156,0)
+        ;"Purpose: wrapper for $$REPLACE^XLFSTR for simpler use
+"RTN","TMGHTM1",157,0)
+        ;"Result: returns new string
+"RTN","TMGHTM1",158,0)
+        NEW TMGSPEC SET TMGSPEC(MATCHSTR)=SUBSTR
+"RTN","TMGHTM1",159,0)
+        QUIT $$REPLACE^XLFSTR(LINE,.TMGSPEC)
+"RTN","TMGHTM1",160,0)
+        ;
+"RTN","TMGHTM1",161,0)
+SIGPICT(DUZ,DATE) ;
+"RTN","TMGHTM1",162,0)
+        ;"Purpose: Return HTML tag pointing to signiture image, or '' if none.
+"RTN","TMGHTM1",163,0)
+        ;"Input: DUZ -- The user for whom to get sig image
+"RTN","TMGHTM1",164,0)
+        ;"       DATE -- (Optional) The date of the signed document.  A user may change
+"RTN","TMGHTM1",165,0)
+        ;"               their current signature image over time.
+"RTN","TMGHTM1",166,0)
+        ;"               If not provided, then the LAST entered sig image is returned
+"RTN","TMGHTM1",167,0)
+        ;"Results: An HTML tag with pointer to image, or '' if none.
+"RTN","TMGHTM1",168,0)
+        NEW RESULT
+"RTN","TMGHTM1",169,0)
+        SET RESULT=""
+"RTN","TMGHTM1",170,0)
+        ;"finish!!!
+"RTN","TMGHTM1",171,0)
+        QUIT RESULT
+"RTN","TMGSTUT2")
+0^10^B153970767
+"RTN","TMGSTUT2",1,0)
+TMGSTUT2 ;TMG/kst/SACC Compliant String Util Lib ;7/17/12
+"RTN","TMGSTUT2",2,0)
+         ;;1.0;TMG-LIB;**1,17**;7/17/12;Build 23
+"RTN","TMGSTUT2",3,0)
+ ;
+"RTN","TMGSTUT2",4,0)
+ ;"TMG STRING UTILITIES v2
+"RTN","TMGSTUT2",5,0)
+ ;"SAAC Compliant Version.
+"RTN","TMGSTUT2",6,0)
+ ;"This file will be used to hold SACC compliant versions of 
+"RTN","TMGSTUT2",7,0)
+ ;"  routines found in TMGSTUTL.
+"RTN","TMGSTUT2",8,0)
+ ;"I don't initially have time to convert them all at once, so will 
+"RTN","TMGSTUT2",9,0)
+ ;"  slowly move them over, as needed.
+"RTN","TMGSTUT2",10,0)
+ ;
+"RTN","TMGSTUT2",11,0)
+ ;"=======================================================================
+"RTN","TMGSTUT2",12,0)
+ ;" API -- Public Functions.
+"RTN","TMGSTUT2",13,0)
+ ;"=======================================================================
+"RTN","TMGSTUT2",14,0)
+ ;"$$CAPWORDS(S,DIV) -- InitCap  each word in a string
+"RTN","TMGSTUT2",15,0)
+ ;"CLEAVSTR(TMGTEXT,TMGDIV,TMGPARTB) ;Split string by divider
+"RTN","TMGSTUT2",16,0)
+ ;"SPLITSTR(TMGTEXT,TMGWIDTH,TMGPARTB) ;Wrap string to specified width.
+"RTN","TMGSTUT2",17,0)
+ ;"SETSTLEN(TMGTEXT,TMGWIDTH) ;Make string exactly TMGWIDTH in length
+"RTN","TMGSTUT2",18,0)
+ ;"$$PAD2POS(POS,CH) -- return a string that can be used to pad up to POS 
+"RTN","TMGSTUT2",19,0)
+ ;"$$SPLITLN(STR,LINEARRAY,WIDTH,SPECIALINDENT,INDENT,DIVSTR) -- Wrap by WIDTH to array
+"RTN","TMGSTUT2",20,0)
+ ;"SPLIT2AR(TEXT,DIVIDER,ARRAY,INITINDEX) -- Slit into array, by DIVIDER
+"RTN","TMGSTUT2",21,0)
+ ;"$$NUMLWS(S) -- Count the num of white space characters on left side of the string
+"RTN","TMGSTUT2",22,0)
+ ;"$$MAKEWS(N)  -- Return a whitespace string that is n characters long
+"RTN","TMGSTUT2",23,0)
+ ;"=======================================================================
+"RTN","TMGSTUT2",24,0)
+ ;" Private Functions.
+"RTN","TMGSTUT2",25,0)
+ ;"=======================================================================
+"RTN","TMGSTUT2",26,0)
+ ;"$$NEEDEDWS(S,SPECIALINDENT,INDENT) -- create white space need for wrapped lines
+"RTN","TMGSTUT2",27,0)
+ ;"=======================================================================
+"RTN","TMGSTUT2",28,0)
+ ;"Dependancies: XLFSTR
+"RTN","TMGSTUT2",29,0)
+ ;
+"RTN","TMGSTUT2",30,0)
+ ;"=======================================================================
+"RTN","TMGSTUT2",31,0)
+ ;"=======================================================================
+"RTN","TMGSTUT2",32,0)
+ ;
+"RTN","TMGSTUT2",33,0)
+ ;"------------------------------------------------------------------------
+"RTN","TMGSTUT2",34,0)
+ ;"FYI, String functions in XLFSTR module:
+"RTN","TMGSTUT2",35,0)
+ ;"------------------------------------------------------------------------
+"RTN","TMGSTUT2",36,0)
+ ;"$$CJ^XLFSTR(s,i[,p]) -- Returns a center-justified string
+"RTN","TMGSTUT2",37,0)
+ ;"        s=string, i=field size, p(optional)=pad character
+"RTN","TMGSTUT2",38,0)
+ ;"$$LJ^XLFSTR(s,i[,p]) -- Returns a left-justified string
+"RTN","TMGSTUT2",39,0)
+ ;"        s=string, i=field size, p(optional)=pad character
+"RTN","TMGSTUT2",40,0)
+ ;"$$RJ^XLFSTR(s,i[,p]) -- Returns a right-justified string
+"RTN","TMGSTUT2",41,0)
+ ;"        s=string, i=field size, p(optional)=pad character
+"RTN","TMGSTUT2",42,0)
+ ;"$$INVERT^XLFSTR(s) -- returns an inverted string (i.e. "ABC"-->"CBA")
+"RTN","TMGSTUT2",43,0)
+ ;"$$LOW^XLFSTR(s) -- returns string with all letters converted to lower-case
+"RTN","TMGSTUT2",44,0)
+ ;"$$UP^XLFSTR(s) -- returns string with all letters converted to upper-case
+"RTN","TMGSTUT2",45,0)
+ ;"$$TRIM^XLFSTR(s,[LRFlags],[char])
+"RTN","TMGSTUT2",46,0)
+ ;"$$REPEAT^XLFSTR(s,Count) -- returns a string that is a repeat of s Count times
+"RTN","TMGSTUT2",47,0)
+ ;"$$REPLACE^XLFSTR(s,.spec) -- Uses a multi-character $TRanslate to return a
+"RTN","TMGSTUT2",48,0)
+ ;"                                string with the specified string replaced
+"RTN","TMGSTUT2",49,0)
+ ;"        s=input string, spec=array passed by reference
+"RTN","TMGSTUT2",50,0)
+ ;"        spec format:
+"RTN","TMGSTUT2",51,0)
+ ;"        spec("Any_Search_String")="Replacement_String"
+"RTN","TMGSTUT2",52,0)
+ ;"$$STRIP^XLFSTR(s,Char) -- returns string striped of all instances of Char 
+"RTN","TMGSTUT2",53,0)
+ ;"=======================================================================
+"RTN","TMGSTUT2",54,0)
+ ;
+"RTN","TMGSTUT2",55,0)
+ ;
+"RTN","TMGSTUT2",56,0)
+CAPWORDS(S,DIV)  ;
+"RTN","TMGSTUT2",57,0)
+        ;"Purpose: convert each word in the string: '
+"RTN","TMGSTUT2",58,0)
+        ;"       'test string' --> 'Test String'
+"RTN","TMGSTUT2",59,0)
+        ;"       'TEST STRING' --> 'Test String'
+"RTN","TMGSTUT2",60,0)
+        ;"Input: S -- the string to convert
+"RTN","TMGSTUT2",61,0)
+        ;"        DIV -- [OPTIONAL] the character used to separate string (default is ' ' [space])
+"RTN","TMGSTUT2",62,0)
+        ;"Result: returns the converted string
+"RTN","TMGSTUT2",63,0)
+        NEW S2,PART,IDX
+"RTN","TMGSTUT2",64,0)
+        NEW RESULT SET RESULT=""
+"RTN","TMGSTUT2",65,0)
+        SET DIV=$GET(DIV," ")
+"RTN","TMGSTUT2",66,0)
+        SET S2=$$LOW^XLFSTR(S)
+"RTN","TMGSTUT2",67,0)
+        ;
+"RTN","TMGSTUT2",68,0)
+        FOR IDX=1:1 DO  QUIT:PART=""
+"RTN","TMGSTUT2",69,0)
+        . SET PART=$PIECE(S2,DIV,IDX)
+"RTN","TMGSTUT2",70,0)
+        . IF PART="" QUIT
+"RTN","TMGSTUT2",71,0)
+        . SET $EXTRACT(PART,1)=$$UP^XLFSTR($EXTRACT(PART,1))
+"RTN","TMGSTUT2",72,0)
+        . IF RESULT'="" SET RESULT=RESULT_DIV
+"RTN","TMGSTUT2",73,0)
+        . SET RESULT=RESULT_PART
+"RTN","TMGSTUT2",74,0)
+        ;
+"RTN","TMGSTUT2",75,0)
+        QUIT RESULT
+"RTN","TMGSTUT2",76,0)
+        ;
+"RTN","TMGSTUT2",77,0)
+CLEAVSTR(TMGTEXT,TMGDIV,TMGPARTB) ;
+"RTN","TMGSTUT2",78,0)
+        ;"Purpse: To take a string, delineated by 'TMGDIV'
+"RTN","TMGSTUT2",79,0)
+        ;"        and to split it into two parts: TMGTEXT and TMGPARTB
+"RTN","TMGSTUT2",80,0)
+        ;"         e.g. TMGTEXT="Hello\nThere"
+"RTN","TMGSTUT2",81,0)
+        ;"             TMGDIV="\n"
+"RTN","TMGSTUT2",82,0)
+        ;"           Function will result in: TMGTEXT="Hello", TMGPARTB="There"
+"RTN","TMGSTUT2",83,0)
+        ;"Input: TMGTEXT - the input string **SHOULD BE PASSED BY REFERENCE.
+"RTN","TMGSTUT2",84,0)
+        ;"         TMGDIV - the delineating string
+"RTN","TMGSTUT2",85,0)
+        ;"        TMGPARTB - the string to get second part **SHOULD BE PASSED BY REFERENCE.
+"RTN","TMGSTUT2",86,0)
+        ;"Output: TMGTEXT and TMGPARTB will be changed
+"RTN","TMGSTUT2",87,0)
+        ;"        Function will result in: TMGTEXT="Hello", TMGPARTB="There"
+"RTN","TMGSTUT2",88,0)
+        ;"Result: none
+"RTN","TMGSTUT2",89,0)
+        ;
+"RTN","TMGSTUT2",90,0)
+        SET TMGINDENT=$GET(TMGINDENT,0)
+"RTN","TMGSTUT2",91,0)
+        IF '$DATA(TMGTEXT) GOTO CSDONE
+"RTN","TMGSTUT2",92,0)
+        IF '$DATA(TMGDIV) GOTO CSDONE
+"RTN","TMGSTUT2",93,0)
+        SET TMGPARTB=""
+"RTN","TMGSTUT2",94,0)
+        NEW TMGPARTA
+"RTN","TMGSTUT2",95,0)
+        IF TMGTEXT[TMGDIV DO
+"RTN","TMGSTUT2",96,0)
+        . SET TMGPARTA=$PIECE(TMGTEXT,TMGDIV,1)
+"RTN","TMGSTUT2",97,0)
+        . SET TMGPARTB=$PIECE(TMGTEXT,TMGDIV,2,256)
+"RTN","TMGSTUT2",98,0)
+        . SET TMGTEXT=TMGPARTA
+"RTN","TMGSTUT2",99,0)
+CSDONE  QUIT
+"RTN","TMGSTUT2",100,0)
+        ;
+"RTN","TMGSTUT2",101,0)
+SPLITSTR(TMGTEXT,TMGWIDTH,TMGPARTB) ;
+"RTN","TMGSTUT2",102,0)
+        ;"PUBLIC FUNCTION
+"RTN","TMGSTUT2",103,0)
+        ;"Purpose: To a string into two parts.  The first part will fit within 'TMGWIDTH'
+"RTN","TMGSTUT2",104,0)
+        ;"           the second part is what is left over
+"RTN","TMGSTUT2",105,0)
+        ;"          The split will be inteligent, so words are not divided (splits at a space)
+"RTN","TMGSTUT2",106,0)
+        ;"Input:  TMGTEXT = input text.  **Should be passed by reference
+"RTN","TMGSTUT2",107,0)
+        ;"          TMGWIDTH = the constraining width
+"RTN","TMGSTUT2",108,0)
+        ;"        TMGPARTB = the left over part. **Should be passed by reference
+"RTN","TMGSTUT2",109,0)
+        ;"output: TMGTEXT and TMGPARTB are modified
+"RTN","TMGSTUT2",110,0)
+        ;"result: none.
+"RTN","TMGSTUT2",111,0)
+        NEW LEN,TMGS1
+"RTN","TMGSTUT2",112,0)
+        SET TMGWIDTH=$GET(TMGWIDTH,80)
+"RTN","TMGSTUT2",113,0)
+        NEW SPACEFOUND SET SPACEFOUND=0
+"RTN","TMGSTUT2",114,0)
+        NEW SPLITPOINT SET SPLITPOINT=TMGWIDTH
+"RTN","TMGSTUT2",115,0)
+        SET TMGTEXT=$GET(TMGTEXT)
+"RTN","TMGSTUT2",116,0)
+        SET TMGPARTB=""
+"RTN","TMGSTUT2",117,0)
+        ;
+"RTN","TMGSTUT2",118,0)
+        SET LEN=$LENGTH(TMGTEXT)
+"RTN","TMGSTUT2",119,0)
+        IF LEN>TMGWIDTH DO
+"RTN","TMGSTUT2",120,0)
+        . NEW TMGCH
+"RTN","TMGSTUT2",121,0)
+        . FOR SPLITPOINT=SPLITPOINT:-1:1 DO  QUIT:SPACEFOUND
+"RTN","TMGSTUT2",122,0)
+        . . SET TMGCH=$EXTRACT(TMGTEXT,SPLITPOINT,SPLITPOINT)
+"RTN","TMGSTUT2",123,0)
+        . . SET SPACEFOUND=(TMGCH=" ")
+"RTN","TMGSTUT2",124,0)
+        . IF 'SPACEFOUND SET SPLITPOINT=TMGWIDTH
+"RTN","TMGSTUT2",125,0)
+        . SET TMGS1=$EXTRACT(TMGTEXT,1,SPLITPOINT)
+"RTN","TMGSTUT2",126,0)
+        . SET TMGPARTB=$EXTRACT(TMGTEXT,SPLITPOINT+1,1024)  ;"max String length=1024
+"RTN","TMGSTUT2",127,0)
+        . SET TMGTEXT=TMGS1
+"RTN","TMGSTUT2",128,0)
+        ;
+"RTN","TMGSTUT2",129,0)
+        QUIT
+"RTN","TMGSTUT2",130,0)
+        ;
+"RTN","TMGSTUT2",131,0)
+SETSTLEN(TMGTEXT,TMGWIDTH) ;SET STRING LEN
+"RTN","TMGSTUT2",132,0)
+        ;"PUBLIC FUNCTION
+"RTN","TMGSTUT2",133,0)
+        ;"Purpose: To make string exactly TMGWIDTH in length
+"RTN","TMGSTUT2",134,0)
+        ;"  Shorten as needed, or pad with terminal spaces as needed.
+"RTN","TMGSTUT2",135,0)
+        ;"Input: TMGTEXT -- should be passed as reference.  This is string to alter.
+"RTN","TMGSTUT2",136,0)
+        ;"       TMGWIDTH -- the desired width
+"RTN","TMGSTUT2",137,0)
+        ;"Results: none.
+"RTN","TMGSTUT2",138,0)
+        SET TMGTEXT=$GET(TMGTEXT)
+"RTN","TMGSTUT2",139,0)
+        SET TMGWIDTH=$GET(TMGWIDTH,80)
+"RTN","TMGSTUT2",140,0)
+        NEW TMGRESULT SET TMGRESULT=TMGTEXT
+"RTN","TMGSTUT2",141,0)
+        NEW TMGI,LEN
+"RTN","TMGSTUT2",142,0)
+        SET LEN=$LENGTH(TMGRESULT)
+"RTN","TMGSTUT2",143,0)
+        IF LEN>TMGWIDTH DO
+"RTN","TMGSTUT2",144,0)
+        . SET TMGRESULT=$EXTRACT(TMGRESULT,1,TMGWIDTH)
+"RTN","TMGSTUT2",145,0)
+        ELSE  IF LEN<TMGWIDTH DO
+"RTN","TMGSTUT2",146,0)
+        . FOR TMGI=1:1:(TMGWIDTH-LEN) SET TMGRESULT=TMGRESULT_" "
+"RTN","TMGSTUT2",147,0)
+        SET TMGTEXT=TMGRESULT  ;"pass back changes
+"RTN","TMGSTUT2",148,0)
+        QUIT
+"RTN","TMGSTUT2",149,0)
+        ;      
+"RTN","TMGSTUT2",150,0)
+PAD2POS(POS,CH) ;
+"RTN","TMGSTUT2",151,0)
+        ;"Purpose: return a string that can be used to pad from the current $X
+"RTN","TMGSTUT2",152,0)
+        ;"         screen cursor position, up to POS, using char Ch (optional)
+"RTN","TMGSTUT2",153,0)
+        ;"Input: POS -- a screen X cursor position, i.e. from 1-80 etc (depending on screen width)
+"RTN","TMGSTUT2",154,0)
+        ;"       CH -- Optional, default is " "
+"RTN","TMGSTUT2",155,0)
+        ;"Result: returns string of padded characters.
+"RTN","TMGSTUT2",156,0)
+        NEW WIDTH SET WIDTH=+$GET(POS)-$X IF WIDTH'>0 SET WIDTH=0
+"RTN","TMGSTUT2",157,0)
+        QUIT $$LJ^XLFSTR("",WIDTH,.CH)
+"RTN","TMGSTUT2",158,0)
+        ;
+"RTN","TMGSTUT2",159,0)
+SPLITLN(STR,LINEARRAY,WIDTH,SPECIALINDENT,INDENT,DIVSTR)  ;"SPLIT LINE
+"RTN","TMGSTUT2",160,0)
+        ;"Scope: PUBLIC FUNCTION
+"RTN","TMGSTUT2",161,0)
+        ;"Purpose: To take a long line, and wrap into an array, such that each
+"RTN","TMGSTUT2",162,0)
+        ;"        line is not longer than WIDTH.
+"RTN","TMGSTUT2",163,0)
+        ;"        Line breaks will be made at spaces (or DIVSTR), unless there are 
+"RTN","TMGSTUT2",164,0)
+        ;"        no spaces (of divS) in the entire line (in which case, the line
+"RTN","TMGSTUT2",165,0)
+        ;"        will be divided at WIDTH).
+"RTN","TMGSTUT2",166,0)
+        ;"Input: STR= string with the long line. **If passed by reference**, then
+"RTN","TMGSTUT2",167,0)
+        ;"                it WILL BE CHANGED to equal the last line of array.
+"RTN","TMGSTUT2",168,0)
+        ;"       LineArray -- MUST BE PASSED BY REFERENCE. This OUT variable will
+"RTN","TMGSTUT2",169,0)
+        ;"                receive the resulting array.
+"RTN","TMGSTUT2",170,0)
+        ;"                e.g. LineArray(1)=first Line.
+"RTN","TMGSTUT2",171,0)
+        ;"                     LineArray(2)=Second Line. ...
+"RTN","TMGSTUT2",172,0)
+        ;"       WIDTH = the desired wrap width.
+"RTN","TMGSTUT2",173,0)
+        ;"       SPECIALINDENT [OPTIONAL]: if 1, then wrapping is done like this:
+"RTN","TMGSTUT2",174,0)
+        ;"                "   This is a very long line......"
+"RTN","TMGSTUT2",175,0)
+        ;"           will be wrapped like this:
+"RTN","TMGSTUT2",176,0)
+        ;"                "   This is a very
+"RTN","TMGSTUT2",177,0)
+        ;"                "   long line ...
+"RTN","TMGSTUT2",178,0)
+        ;"          Notice that the leading space is copied subsequent line.
+"RTN","TMGSTUT2",179,0)
+        ;"          Also, a line like this:
+"RTN","TMGSTUT2",180,0)
+        ;"                "   1. Here is the beginning of a paragraph that is very long..."
+"RTN","TMGSTUT2",181,0)
+        ;"            will be wrapped like this:
+"RTN","TMGSTUT2",182,0)
+        ;"                "   1. Here is the beginning of a paragraph
+"RTN","TMGSTUT2",183,0)
+        ;"                "      that is very long..."
+"RTN","TMGSTUT2",184,0)
+        ;"          Notice that a pattern '#. ' causes the wrapping to match the start
+"RTN","TMGSTUT2",185,0)
+        ;"                of the text on the line above.
+"RTN","TMGSTUT2",186,0)
+        ;"       INDENT [OPTIONAL]: Any absolute amount that all lines should be indented by.
+"RTN","TMGSTUT2",187,0)
+        ;"                This could be used if this long line is continuation of an
+"RTN","TMGSTUT2",188,0)
+        ;"                indentation above it.
+"RTN","TMGSTUT2",189,0)
+        ;"       DIVSTR [OPTIONAL] : Default is " ", this is the divider character 
+"RTN","TMGSTUT2",190,0)
+        ;"                         or string, that will represent dividers between
+"RTN","TMGSTUT2",191,0)
+        ;"                         words or phrases
+"RTN","TMGSTUT2",192,0)
+        ;"Result: resulting number of lines (1 if no wrap needed).
+"RTN","TMGSTUT2",193,0)
+        ;
+"RTN","TMGSTUT2",194,0)
+        NEW RESULT SET RESULT=0
+"RTN","TMGSTUT2",195,0)
+        KILL LINEARRAY
+"RTN","TMGSTUT2",196,0)
+        IF ($GET(STR)="")!($GET(WIDTH)'>0) GOTO SPDONE
+"RTN","TMGSTUT2",197,0)
+        NEW INDEX SET INDEX=0
+"RTN","TMGSTUT2",198,0)
+        NEW TEMPSTR,SPLITPOINT
+"RTN","TMGSTUT2",199,0)
+        SET DIVSTR=$GET(DIVSTR," ")
+"RTN","TMGSTUT2",200,0)
+        NEW PRESPACE SET PRESPACE=$$NEEDEDWS(STR,.SPECIALINDENT,.INDENT)
+"RTN","TMGSTUT2",201,0)
+        ;
+"RTN","TMGSTUT2",202,0)
+        IF ($LENGTH(STR)>WIDTH) FOR  DO  QUIT:($LENGTH(STR)'>WIDTH)
+"RTN","TMGSTUT2",203,0)
+        . FOR SPLITPOINT=1:1:WIDTH DO  QUIT:($LENGTH(TEMPSTR)>WIDTH)
+"RTN","TMGSTUT2",204,0)
+        . . SET TEMPSTR=$PIECE(STR,DIVSTR,1,SPLITPOINT)
+"RTN","TMGSTUT2",205,0)
+        . IF SPLITPOINT>1 DO
+"RTN","TMGSTUT2",206,0)
+        . . SET TEMPSTR=$PIECE(STR,DIVSTR,1,SPLITPOINT-1)
+"RTN","TMGSTUT2",207,0)
+        . . SET STR=$PIECE(STR,DIVSTR,SPLITPOINT,WIDTH)
+"RTN","TMGSTUT2",208,0)
+        . ELSE  DO
+"RTN","TMGSTUT2",209,0)
+        . . ;"We must have a word > WIDTH with no spaces--so just divide
+"RTN","TMGSTUT2",210,0)
+        . . SET TEMPSTR=$EXTRACT(STR,1,WIDTH)
+"RTN","TMGSTUT2",211,0)
+        . . SET STR=$EXTRACT(STR,WIDTH+1,999)
+"RTN","TMGSTUT2",212,0)
+        . SET INDEX=INDEX+1
+"RTN","TMGSTUT2",213,0)
+        . SET LINEARRAY(INDEX)=TEMPSTR
+"RTN","TMGSTUT2",214,0)
+        . SET STR=PRESPACE_STR
+"RTN","TMGSTUT2",215,0)
+        ;
+"RTN","TMGSTUT2",216,0)
+        SET INDEX=INDEX+1
+"RTN","TMGSTUT2",217,0)
+        SET LINEARRAY(INDEX)=STR
+"RTN","TMGSTUT2",218,0)
+        SET RESULT=INDEX
+"RTN","TMGSTUT2",219,0)
+SPDONE  QUIT RESULT
+"RTN","TMGSTUT2",220,0)
+        ;
+"RTN","TMGSTUT2",221,0)
+SPLIT2AR(TEXT,DIVIDER,ARRAY,INITINDEX)  ;"CleaveToArray
+"RTN","TMGSTUT2",222,0)
+        ;"Purpose: To take a string, delineated by 'divider' and
+"RTN","TMGSTUT2",223,0)
+        ;"        to split it up into all its parts, putting each part
+"RTN","TMGSTUT2",224,0)
+        ;"        into an array.  e.g.:
+"RTN","TMGSTUT2",225,0)
+        ;"        This/Is/A/Test, with '/' divider would result in
+"RTN","TMGSTUT2",226,0)
+        ;"        ARRAY(1)="This"
+"RTN","TMGSTUT2",227,0)
+        ;"        ARRAY(2)="Is"
+"RTN","TMGSTUT2",228,0)
+        ;"        ARRAY(3)="A"
+"RTN","TMGSTUT2",229,0)
+        ;"        ARRAY(4)="Test"
+"RTN","TMGSTUT2",230,0)
+        ;"        ARRAY(CMAXNODE)=4    ;CMAXNODE="MAXNODE"
+"RTN","TMGSTUT2",231,0)
+        ;"Input: TEXT - the input string -- should NOT be passed by reference.
+"RTN","TMGSTUT2",232,0)
+        ;"         DIVIDER - the delineating string
+"RTN","TMGSTUT2",233,0)
+        ;"         ARRAY - The array to receive output **SHOULD BE PASSED BY REFERENCE.
+"RTN","TMGSTUT2",234,0)
+        ;"         INITINDEX - OPTIONAL -- The index of the array to start with, i.e. 0 or 1. Default=1
+"RTN","TMGSTUT2",235,0)
+        ;"Output: ARRAY is changed, as outlined above
+"RTN","TMGSTUT2",236,0)
+        ;"Result: none
+"RTN","TMGSTUT2",237,0)
+        ;"Notes:  Note -- TEXT is NOT changed (unless passed by reference, in
+"RTN","TMGSTUT2",238,0)
+        ;"                which case the next to the last piece is put into TEXT)
+"RTN","TMGSTUT2",239,0)
+        ;"        ARRAY is killed, the filled with data **ONLY** IF DIVISIONS FOUND
+"RTN","TMGSTUT2",240,0)
+        ;"        Limit of 256 nodes
+"RTN","TMGSTUT2",241,0)
+        ;"        if CMAXNODE is not defined, "MAXNODE" will be used
+"RTN","TMGSTUT2",242,0)
+        SET INITINDEX=$GET(INITINDEX,1)
+"RTN","TMGSTUT2",243,0)
+        NEW PARTB
+"RTN","TMGSTUT2",244,0)
+        NEW COUNT SET COUNT=INITINDEX
+"RTN","TMGSTUT2",245,0)
+        NEW CMAXNODE SET CMAXNODE=$GET(CMAXNODE,"MAXNODE")
+"RTN","TMGSTUT2",246,0)
+        KILL ARRAY  ;"Clear out any old data
+"RTN","TMGSTUT2",247,0)
+        ;
+"RTN","TMGSTUT2",248,0)
+C2AL1   IF '(TEXT[DIVIDER) DO  GOTO C2ADN
+"RTN","TMGSTUT2",249,0)
+        . SET ARRAY(COUNT)=TEXT ;"put it all into line.
+"RTN","TMGSTUT2",250,0)
+        . SET ARRAY(CMAXNODE)=COUNT
+"RTN","TMGSTUT2",251,0)
+        DO CLEAVSTR(.TEXT,DIVIDER,.PARTB)
+"RTN","TMGSTUT2",252,0)
+        SET ARRAY(COUNT)=TEXT
+"RTN","TMGSTUT2",253,0)
+        SET ARRAY(CMAXNODE)=COUNT
+"RTN","TMGSTUT2",254,0)
+        SET COUNT=COUNT+1
+"RTN","TMGSTUT2",255,0)
+        IF '(PARTB[DIVIDER) DO  GOTO C2ADN
+"RTN","TMGSTUT2",256,0)
+        . SET ARRAY(COUNT)=PARTB
+"RTN","TMGSTUT2",257,0)
+        . SET ARRAY(CMAXNODE)=COUNT
+"RTN","TMGSTUT2",258,0)
+        ELSE  DO  GOTO C2AL1
+"RTN","TMGSTUT2",259,0)
+        . SET TEXT=$GET(PARTB)
+"RTN","TMGSTUT2",260,0)
+        . SET PARTB=""
+"RTN","TMGSTUT2",261,0)
+C2ADN   QUIT
+"RTN","TMGSTUT2",262,0)
+        ;
+"RTN","TMGSTUT2",263,0)
+NEEDEDWS(S,SPECIALINDENT,INDENT) ;"NEEDED WHITE SPACE
+"RTN","TMGSTUT2",264,0)
+        ;"Scope: PRIVATE/local
+"RTN","TMGSTUT2",265,0)
+        ;"Purpose: Evaluate the line, and create the white space string
+"RTN","TMGSTUT2",266,0)
+        ;"        need for wrapped lines
+"RTN","TMGSTUT2",267,0)
+        ;"Input: s -- the string to eval.  i.e.
+"RTN","TMGSTUT2",268,0)
+        ;"                "  John is very happy today ... .. .. .. .."
+"RTN","TMGSTUT2",269,0)
+        ;"        or      "  1. John is very happy today ... .. .. .. .."
+"RTN","TMGSTUT2",270,0)
+        ;"        SPECIALINDENT -- See SplitLine() discussion
+"RTN","TMGSTUT2",271,0)
+        ;"        INDENT -- See SplitLine() discussion
+"RTN","TMGSTUT2",272,0)
+        NEW RESULT SET RESULT=""
+"RTN","TMGSTUT2",273,0)
+        IF $GET(S)="" GOTO NDWSDN
+"RTN","TMGSTUT2",274,0)
+        NEW WSNUM SET WSNUM=+$GET(INDENT,0)
+"RTN","TMGSTUT2",275,0)
+        SET WSNUM=WSNUM+$$NUMLWS(S)
+"RTN","TMGSTUT2",276,0)
+        ;
+"RTN","TMGSTUT2",277,0)
+        IF $GET(SPECIALINDENT)=1 DO
+"RTN","TMGSTUT2",278,0)
+        . NEW TEMPS,FIRSTWORD
+"RTN","TMGSTUT2",279,0)
+        . SET TEMPS=$$TRIM^XLFSTR(.S,"l")
+"RTN","TMGSTUT2",280,0)
+        . SET FIRSTWORD=$PIECE(TEMPS," ",1)
+"RTN","TMGSTUT2",281,0)
+        . IF (FIRSTWORD?.N1".")!(FIRSTWORD?1.4U1".") DO     ;"match for '#.' pattern
+"RTN","TMGSTUT2",282,0)
+        . . SET WSNUM=WSNUM+$LENGTH(FIRSTWORD)
+"RTN","TMGSTUT2",283,0)
+        . . SET TEMPS=$PIECE(TEMPS," ",2,9999)
+"RTN","TMGSTUT2",284,0)
+        . . SET WSNUM=WSNUM+$$NUMLWS(.TEMPS)+1
+"RTN","TMGSTUT2",285,0)
+        ;
+"RTN","TMGSTUT2",286,0)
+        SET RESULT=$$MAKEWS(WSNUM)
+"RTN","TMGSTUT2",287,0)
+NDWSDN  QUIT RESULT
+"RTN","TMGSTUT2",288,0)
+        ;
+"RTN","TMGSTUT2",289,0)
+NUMLWS(S)  ;"NUM LEFT WHITE SPACE
+"RTN","TMGSTUT2",290,0)
+        ;"Scope: PUBLIC FUNCTION
+"RTN","TMGSTUT2",291,0)
+        ;":Purpose: Count the num of white space characters on left side of the string
+"RTN","TMGSTUT2",292,0)
+        NEW RESULT SET RESULT=0
+"RTN","TMGSTUT2",293,0)
+        NEW I FOR I=1:1:$LENGTH(S) QUIT:$EXTRACT(S,I)'=" "  SET RESULT=RESULT+1
+"RTN","TMGSTUT2",294,0)
+        QUIT RESULT
+"RTN","TMGSTUT2",295,0)
+        ;
+"RTN","TMGSTUT2",296,0)
+MAKEWS(N)  ;"MAKE WHITE SPACE
+"RTN","TMGSTUT2",297,0)
+        ;"Scope: PUBLIC FUNCTION
+"RTN","TMGSTUT2",298,0)
+        ;"Purpose: Return a whitespace string that is n characters long
+"RTN","TMGSTUT2",299,0)
+        NEW RESULT SET RESULT=""
+"RTN","TMGSTUT2",300,0)
+        SET N=+$GET(N)
+"RTN","TMGSTUT2",301,0)
+        NEW I FOR I=1:1:N SET RESULT=RESULT_" "
+"RTN","TMGSTUT2",302,0)
+MWSDN   QUIT RESULT
+"RTN","TMGSTUT2",303,0)
+        ;
+"RTN","TMGTERM")
+0^27^B253183474
+"RTN","TMGTERM",1,0)
+TMGTERM  ;TMG/kst/Terminal interface (ANSI sequences) ;03/25/06, 7/17/12
+"RTN","TMGTERM",2,0)
+         ;;1.0;TMG-LIB;**1,17**;09/01/05;Build 23
+"RTN","TMGTERM",3,0)
+  ;
+"RTN","TMGTERM",4,0)
+  ;"Terminal interface
+"RTN","TMGTERM",5,0)
+  ;"ANSI Standard (X3.64) Control Sequences for Video Terminals and Peripherals
+"RTN","TMGTERM",6,0)
+  ;"      in alphabetic order by mnemonic
+"RTN","TMGTERM",7,0)
+  ;
+"RTN","TMGTERM",8,0)
+  ;"Terminal interface
+"RTN","TMGTERM",9,0)
+  ;"ANSI Standard (X3.64) Control Sequences for Video Terminals and Peripherals
+"RTN","TMGTERM",10,0)
+  ;"      in alphabetic order by mnemonic
+"RTN","TMGTERM",11,0)
+  ;
+"RTN","TMGTERM",12,0)
+  ;"CBT(PN)     ;CBT  Cursor Backward Tab  Esc [ PN Z
+"RTN","TMGTERM",13,0)
+  ;"CCH         ;Cancel Previous Character Esc T
+"RTN","TMGTERM",14,0)
+  ;"CHA(PN)     ;Cursor Horzntal Absolute  Esc [ PN G
+"RTN","TMGTERM",15,0)
+  ;"CHT(PN)     ;Cursor Horizontal Tab     Esc [ PN I
+"RTN","TMGTERM",16,0)
+  ;"CNL(PN)     ;Cursor Next Line          Esc [ PN E
+"RTN","TMGTERM",17,0)
+  ;"CPL(PN)     ;Cursor Preceding Line     Esc [ PN F
+"RTN","TMGTERM",18,0)
+  ;"CPR(PN,P2)  ;Cursor Position Report Esc [ PN  ; PN R     VT100
+"RTN","TMGTERM",19,0)
+  ;"CTC(PN)     ;Cursor Tab Control        Esc [ Ps W
+"RTN","TMGTERM",20,0)
+  ;"CUB(PN)     ;Cursor Backward           Esc [ PN D          VT100
+"RTN","TMGTERM",21,0)
+  ;"CUD(PN)     ;Cursor Down               Esc [ PN B          VT100
+"RTN","TMGTERM",22,0)
+  ;"CUF(PN)     ;Cursor Forward            Esc [ PN C          VT100
+"RTN","TMGTERM",23,0)
+  ;"CUP(X,Y)    ;Cursor Position        Esc [ PN  ; PN H     VT100
+"RTN","TMGTERM",24,0)
+  ;"HOME        ;Cursor Home               Esc [ H     ('home' is top left)
+"RTN","TMGTERM",25,0)
+  ;"CUU(PN)     ;Cursor Up                 Esc [ PN A          VT100
+"RTN","TMGTERM",26,0)
+  ;"CVT(PN)     ;Cursor Vertical Tab       Esc [ PN Y
+"RTN","TMGTERM",27,0)
+  ;"DCH(PN)     ;Delete Character          Esc [ PN P
+"RTN","TMGTERM",28,0)
+  ;"DL(PN)      ;Delete Line               Esc [ PN M
+"RTN","TMGTERM",29,0)
+  ;"EA(PN)      ;Erase in Area             Esc [ Ps O
+"RTN","TMGTERM",30,0)
+  ;"ECH(PN)     ;Erase Character           Esc [ PN X
+"RTN","TMGTERM",31,0)
+  ;"ED(PN)      ;Erase in Display          Esc [ Ps J         VT100
+"RTN","TMGTERM",32,0)
+  ;"EF(PN)      ;Erase in Field            Esc [ Ps N
+"RTN","TMGTERM",33,0)
+  ;"EL(PN)      ;Erase in Line             Esc [ Ps K         VT100
+"RTN","TMGTERM",34,0)
+  ;"EPA         ;End of Protected Area     Esc W
+"RTN","TMGTERM",35,0)
+  ;"ESA         ;End of Selected Area      Esc G
+"RTN","TMGTERM",36,0)
+  ;"FNT(PN,P2)  ;Font Selection            Esc [ PN  ; PN Space D
+"RTN","TMGTERM",37,0)
+  ;"GSM(PN,P2)  ;Graphic Size Modify       Esc [ PN  ; PN Space B
+"RTN","TMGTERM",38,0)
+  ;"GSS(PN)     ;Graphic Size Selection    Esc [ PN Space C
+"RTN","TMGTERM",39,0)
+  ;"HPA(PN)     ;Horz Position Absolute    Esc [ PN `
+"RTN","TMGTERM",40,0)
+  ;"HPR(PN)     ;Horz Position Relative    Esc [ PN a
+"RTN","TMGTERM",41,0)
+  ;"HTJ         ;Horz Tab w/Justification  Esc I
+"RTN","TMGTERM",42,0)
+  ;"HTS         ;Horizontal Tab Set        Esc H             VT100
+"RTN","TMGTERM",43,0)
+  ;"HVP(PN,P2)  ;Horz & Vertical Position  Esc [ PN  ; PN f  VT100
+"RTN","TMGTERM",44,0)
+  ;"ICH(PN)     ;Insert Character          Esc [ PN @
+"RTN","TMGTERM",45,0)
+  ;"IL(PN)      ;Insert Line               Esc [ PN L
+"RTN","TMGTERM",46,0)
+  ;"IND         ;Index                     Esc D           VT100
+"RTN","TMGTERM",47,0)
+  ;"NEL         ;Next Line                 Esc E           VT100
+"RTN","TMGTERM",48,0)
+  ;"NP(PN)      ;Next Page                 Esc [ PN U
+"RTN","TMGTERM",49,0)
+  ;"PP(PN)      ;Preceding Page            Esc [ PN V
+"RTN","TMGTERM",50,0)
+  ;"IS          ;Reset to Initial State    Esc c
+"RTN","TMGTERM",51,0)
+  ;"RM(PN)      ;Reset Mode                Esc [ Ps l     VT100
+"RTN","TMGTERM",52,0)
+  ;"SD(PN)      ;Scroll Down               Esc [ PN T
+"RTN","TMGTERM",53,0)
+  ;"SL(PN)      ;Scroll Left               Esc [ PN Space @
+"RTN","TMGTERM",54,0)
+  ;"SM(PN)      ;Select Mode               Esc [ Ps h     VT100
+"RTN","TMGTERM",55,0)
+  ;"SPA         ;Start of Protected Area   Esc V
+"RTN","TMGTERM",56,0)
+  ;"SPI(PN,P2)  ;Spacing Increment         Esc [ PN  ; PN Space G
+"RTN","TMGTERM",57,0)
+  ;"SR(PN)      ;Scroll Right              Esc [ PN Space A
+"RTN","TMGTERM",58,0)
+  ;"SA          ;Start of Selected Area    Esc F
+"RTN","TMGTERM",59,0)
+  ;"ST          ;String Terminator         Esc \
+"RTN","TMGTERM",60,0)
+  ;"SU(PN)      ;Scroll Up                 Esc [ PN S
+"RTN","TMGTERM",61,0)
+  ;"TBC(PN)     ;Tab Clear                 Esc [ Ps g        VT100
+"RTN","TMGTERM",62,0)
+  ;"VPA(PN)     ;Vert Position Absolute    Esc [ PN d
+"RTN","TMGTERM",63,0)
+  ;"VPR(PN)     ;Vert Position Relative    Esc [ PN e
+"RTN","TMGTERM",64,0)
+  ;"VCULOAD     ;Unsave Cursor                              ESC [ u
+"RTN","TMGTERM",65,0)
+  ;"VCUSAV2     ;Save Cursor & Attrs                        ESC 7
+"RTN","TMGTERM",66,0)
+  ;"VCULOAD2    ;Restore Cursor & Attrs                     ESC 8
+"RTN","TMGTERM",67,0)
+  ;
+"RTN","TMGTERM",68,0)
+  ;"VT100 specific calls
+"RTN","TMGTERM",69,0)
+  ;"--------------------
+"RTN","TMGTERM",70,0)
+  ;"VCEL        ;Erase from cursor to end of line           Esc [ 0 K    or Esc [ K
+"RTN","TMGTERM",71,0)
+  ;"VCBL        ;Erase from beginning of line to cursor     Esc [ 1 K
+"RTN","TMGTERM",72,0)
+  ;"VEL         ;Erase line containing cursor               Esc [ 2 K
+"RTN","TMGTERM",73,0)
+  ;"VCES        ;Erase from cursor to end of screen         Esc [ 0 J    or Esc [ J
+"RTN","TMGTERM",74,0)
+  ;"VCBS        ;Erase from beginning of screen to cursor   Esc [ 1 J
+"RTN","TMGTERM",75,0)
+  ;"VCS         ;Erase entire screen                        Esc [ 2 J
+"RTN","TMGTERM",76,0)
+  ;"VCUSAV      ;Save Cursor                                ESC [ s
+"RTN","TMGTERM",77,0)
+  ;"VTATRIB(n)  ;Set Text attributes    <ESC>[{attr1};...;{attrn}m
+"RTN","TMGTERM",78,0)
+  ;"VFGCOLOR(n);Set Text Foreground Color  <ESC>[{attr1};...;{attrn}m
+"RTN","TMGTERM",79,0)
+  ;"VBGCOLOR(n);Set Text Background Color  <ESC>[{attr1};...;{attrn}m
+"RTN","TMGTERM",80,0)
+  ;"VCOLORS(FG,BG)  ;Set Text Colors   <ESC>[{attr1};...;{attrn}m
+"RTN","TMGTERM",81,0)
+  ;"SETGBLCO  //Set Global Colors
+"RTN","TMGTERM",82,0)
+  ;"KILLGBLC  //Kill Global Colors
+"RTN","TMGTERM",83,0)
+  ;"DEMOCOLOR
+"RTN","TMGTERM",84,0)
+  ;"=====================================================
+"RTN","TMGTERM",85,0)
+  ;
+"RTN","TMGTERM",86,0)
+  ;
+"RTN","TMGTERM",87,0)
+ESCN(NUM,N2,CMD)  ;
+"RTN","TMGTERM",88,0)
+       NEW TEMPX,TEMPY
+"RTN","TMGTERM",89,0)
+       SET TEMPX=$X
+"RTN","TMGTERM",90,0)
+       SET TEMPY=$Y
+"RTN","TMGTERM",91,0)
+       SET $X=1  ;"ensure escape chars don't cause a wrap.
+"RTN","TMGTERM",92,0)
+       WRITE $CHAR(27,91)_NUM
+"RTN","TMGTERM",93,0)
+       IF $DATA(N2) WRITE ";"_N2
+"RTN","TMGTERM",94,0)
+       IF $DATA(CMD) WRITE CMD
+"RTN","TMGTERM",95,0)
+        ;"reset $X,$Y so that escape characters aren't counted for line wrapping
+"RTN","TMGTERM",96,0)
+       SET $X=TEMPX
+"RTN","TMGTERM",97,0)
+       SET $Y=TEMPY
+"RTN","TMGTERM",98,0)
+       QUIT
+"RTN","TMGTERM",99,0)
+  ; 
+"RTN","TMGTERM",100,0)
+CBT(PN)  ;"CBT  Cursor Backward Tab  Esc [ PN Z
+"RTN","TMGTERM",101,0)
+       DO ESCN(.PN,,"Z")
+"RTN","TMGTERM",102,0)
+       QUIT
+"RTN","TMGTERM",103,0)
+  ;
+"RTN","TMGTERM",104,0)
+CCH      ;"Cancel Previous Character Esc T
+"RTN","TMGTERM",105,0)
+       WRITE $CHAR(27)_"T"
+"RTN","TMGTERM",106,0)
+  ;
+"RTN","TMGTERM",107,0)
+CHA(PN)  ;"Cursor Horzntal Absolute  Esc [ PN G
+"RTN","TMGTERM",108,0)
+       DO ESCN(.PN,,"G")
+"RTN","TMGTERM",109,0)
+       SET $X=PN
+"RTN","TMGTERM",110,0)
+       QUIT
+"RTN","TMGTERM",111,0)
+  ;
+"RTN","TMGTERM",112,0)
+CHT(PN)  ;"Cursor Horizontal Tab     Esc [ PN I
+"RTN","TMGTERM",113,0)
+       DO ESCN(.PN,,"I") QUIT
+"RTN","TMGTERM",114,0)
+  ;
+"RTN","TMGTERM",115,0)
+CNL(PN)  ;"Cursor Next Line          Esc [ PN E
+"RTN","TMGTERM",116,0)
+       DO ESCN(.PN,,"E")
+"RTN","TMGTERM",117,0)
+       SET $Y=$Y+1
+"RTN","TMGTERM",118,0)
+       QUIT
+"RTN","TMGTERM",119,0)
+  ;
+"RTN","TMGTERM",120,0)
+CPL(PN)  ;"Cursor Preceding Line     Esc [ PN F
+"RTN","TMGTERM",121,0)
+       DO ESCN(.PN,,"F")
+"RTN","TMGTERM",122,0)
+       IF $Y>0 SET $Y=$Y-1
+"RTN","TMGTERM",123,0)
+       QUIT
+"RTN","TMGTERM",124,0)
+  ;
+"RTN","TMGTERM",125,0)
+CPR(PN,P2)  ;"Cursor Position Report Esc [ PN  ; PN R     VT100
+"RTN","TMGTERM",126,0)
+       DO ESCN(.PN,.P2,"R") QUIT
+"RTN","TMGTERM",127,0)
+  ;
+"RTN","TMGTERM",128,0)
+CTC(PN)  ;"Cursor Tab Control        Esc [ Ps W
+"RTN","TMGTERM",129,0)
+       DO ESCN(.PN,,"W") QUIT
+"RTN","TMGTERM",130,0)
+  ;
+"RTN","TMGTERM",131,0)
+CUB(PN)  ;"Cursor Backward           Esc [ PN D          VT100
+"RTN","TMGTERM",132,0)
+       DO ESCN(.PN,,"D")
+"RTN","TMGTERM",133,0)
+       SET $X=$X-1
+"RTN","TMGTERM",134,0)
+       QUIT
+"RTN","TMGTERM",135,0)
+  ;
+"RTN","TMGTERM",136,0)
+CUD(PN)  ;"Cursor Down               Esc [ PN B          VT100
+"RTN","TMGTERM",137,0)
+       DO ESCN(.PN,,"B")
+"RTN","TMGTERM",138,0)
+       SET $Y=$Y+1
+"RTN","TMGTERM",139,0)
+       QUIT
+"RTN","TMGTERM",140,0)
+  ;
+"RTN","TMGTERM",141,0)
+CUF(PN)  ;"Cursor Forward            Esc [ PN C          VT100
+"RTN","TMGTERM",142,0)
+       DO ESCN(.PN,,"C")
+"RTN","TMGTERM",143,0)
+       SET $X=$X+1
+"RTN","TMGTERM",144,0)
+       QUIT
+"RTN","TMGTERM",145,0)
+  ;
+"RTN","TMGTERM",146,0)
+CUP(X,Y)  ;"Cursor Position        Esc [ PN  ; PN H     VT100
+"RTN","TMGTERM",147,0)
+       DO ESCN(.Y,.X,"H")
+"RTN","TMGTERM",148,0)
+       SET $X=X
+"RTN","TMGTERM",149,0)
+       SET $Y=Y
+"RTN","TMGTERM",150,0)
+       QUIT
+"RTN","TMGTERM",151,0)
+  ;
+"RTN","TMGTERM",152,0)
+HOME     ;"Cursor Home               Esc [ H     ('home' is top left)
+"RTN","TMGTERM",153,0)
+       SET $X=1   ;"ensure characters below don't cause a wrap.
+"RTN","TMGTERM",154,0)
+       WRITE $CHAR(27,91)_"H"
+"RTN","TMGTERM",155,0)
+       SET $X=1   ;"now set $X to home value.
+"RTN","TMGTERM",156,0)
+       SET $Y=1
+"RTN","TMGTERM",157,0)
+       QUIT
+"RTN","TMGTERM",158,0)
+  ;
+"RTN","TMGTERM",159,0)
+CUU(PN)  ;"Cursor Up                 Esc [ PN A          VT100
+"RTN","TMGTERM",160,0)
+       DO ESCN(.PN,,"A")
+"RTN","TMGTERM",161,0)
+       SET $Y=$Y-1
+"RTN","TMGTERM",162,0)
+       QUIT
+"RTN","TMGTERM",163,0)
+  ;
+"RTN","TMGTERM",164,0)
+CVT(PN)  ;"Cursor Vertical Tab       Esc [ PN Y
+"RTN","TMGTERM",165,0)
+       DO ESCN(.PN,,"Y") QUIT
+"RTN","TMGTERM",166,0)
+  ;
+"RTN","TMGTERM",167,0)
+DCH(PN)  ;"Delete Character          Esc [ PN P
+"RTN","TMGTERM",168,0)
+       DO ESCN(.PN,,"P") QUIT
+"RTN","TMGTERM",169,0)
+  ;
+"RTN","TMGTERM",170,0)
+DL(PN)   ;"Delete Line               Esc [ PN M
+"RTN","TMGTERM",171,0)
+       DO ESCN(.PN,,"M") QUIT
+"RTN","TMGTERM",172,0)
+  ;
+"RTN","TMGTERM",173,0)
+EA(PN)   ;"Erase in Area             Esc [ Ps O
+"RTN","TMGTERM",174,0)
+       DO ESCN(.PN,,"O") QUIT
+"RTN","TMGTERM",175,0)
+  ;
+"RTN","TMGTERM",176,0)
+ECH(PN)  ;"Erase Character           Esc [ PN X
+"RTN","TMGTERM",177,0)
+       DO ESCN(.PN,,"X") QUIT
+"RTN","TMGTERM",178,0)
+  ;
+"RTN","TMGTERM",179,0)
+ED(PN)   ;"Erase in Display          Esc [ Ps J         VT100
+"RTN","TMGTERM",180,0)
+       DO ESCN(.PN,,"J") QUIT
+"RTN","TMGTERM",181,0)
+  ;
+"RTN","TMGTERM",182,0)
+EF(PN)   ;"Erase in Field            Esc [ Ps N
+"RTN","TMGTERM",183,0)
+       DO ESCN(.PN,,"N") QUIT
+"RTN","TMGTERM",184,0)
+  ;
+"RTN","TMGTERM",185,0)
+EL(PN)   ;"Erase in Line             Esc [ Ps K         VT100
+"RTN","TMGTERM",186,0)
+       DO ESCN(.PN,,"K") QUIT
+"RTN","TMGTERM",187,0)
+  ;
+"RTN","TMGTERM",188,0)
+EPA      ;"End of Protected Area     Esc W
+"RTN","TMGTERM",189,0)
+       WRITE $CHAR(27)_"W" QUIT
+"RTN","TMGTERM",190,0)
+  ;
+"RTN","TMGTERM",191,0)
+ESA      ;"End of Selected Area      Esc G
+"RTN","TMGTERM",192,0)
+       WRITE $CHAR(27)_"G" QUIT
+"RTN","TMGTERM",193,0)
+  ;
+"RTN","TMGTERM",194,0)
+FNT(PN,P2)  ;"Font Selection            Esc [ PN  ; PN Space D
+"RTN","TMGTERM",195,0)
+       DO ESCN(.PN,P2,"D") QUIT
+"RTN","TMGTERM",196,0)
+  ;
+"RTN","TMGTERM",197,0)
+GSM(PN,P2)  ;"Graphic Size Modify       Esc [ PN  ; PN Space B
+"RTN","TMGTERM",198,0)
+       DO ESCN(.PN,P2,"B") QUIT
+"RTN","TMGTERM",199,0)
+  ;
+"RTN","TMGTERM",200,0)
+GSS(PN)  ;"Graphic Size Selection    Esc [ PN Space C
+"RTN","TMGTERM",201,0)
+       DO ESCN(.PN,,"C") QUIT
+"RTN","TMGTERM",202,0)
+  ;
+"RTN","TMGTERM",203,0)
+HPA(PN)  ;"Horz Position Absolute    Esc [ PN `
+"RTN","TMGTERM",204,0)
+       DO ESCN(.PN,,"`") QUIT
+"RTN","TMGTERM",205,0)
+  ;
+"RTN","TMGTERM",206,0)
+HPR(PN)  ;"Horz Position Relative    Esc [ PN a
+"RTN","TMGTERM",207,0)
+       DO ESCN(.PN,,"a") QUIT
+"RTN","TMGTERM",208,0)
+  ;
+"RTN","TMGTERM",209,0)
+HTJ      ;"Horz Tab w/Justification  Esc I
+"RTN","TMGTERM",210,0)
+       WRITE $CHAR(27)_"I" QUIT
+"RTN","TMGTERM",211,0)
+  ;
+"RTN","TMGTERM",212,0)
+HTS      ;"Horizontal Tab Set        Esc H             VT100
+"RTN","TMGTERM",213,0)
+       WRITE $CHAR(27)_"H" QUIT
+"RTN","TMGTERM",214,0)
+  ;
+"RTN","TMGTERM",215,0)
+HVP(PN,P2)  ;"Horz & Vertical Position  Esc [ PN  ; PN f  VT100
+"RTN","TMGTERM",216,0)
+       DO ESCN(.PN,P2,"A") QUIT
+"RTN","TMGTERM",217,0)
+  ;
+"RTN","TMGTERM",218,0)
+ICH(PN)  ;"Insert Character          Esc [ PN @
+"RTN","TMGTERM",219,0)
+       DO ESCN(.PN,,"@") QUIT
+"RTN","TMGTERM",220,0)
+  ;
+"RTN","TMGTERM",221,0)
+IL(PN)   ;"Insert Line               Esc [ PN L
+"RTN","TMGTERM",222,0)
+       DO ESCN(.PN,,"L") QUIT
+"RTN","TMGTERM",223,0)
+  ;
+"RTN","TMGTERM",224,0)
+IND      ;"Index                     Esc D           VT100
+"RTN","TMGTERM",225,0)
+       WRITE $CHAR(27)_"D" QUIT
+"RTN","TMGTERM",226,0)
+  ;
+"RTN","TMGTERM",227,0)
+NEL      ;"Next Line                 Esc E           VT100
+"RTN","TMGTERM",228,0)
+       WRITE $CHAR(27)_"E" QUIT
+"RTN","TMGTERM",229,0)
+  ;
+"RTN","TMGTERM",230,0)
+NP(PN)   ;"Next Page                 Esc [ PN U
+"RTN","TMGTERM",231,0)
+       DO ESCN(.PN,,"U") QUIT
+"RTN","TMGTERM",232,0)
+  ;
+"RTN","TMGTERM",233,0)
+PP(PN)   ;"Preceding Page            Esc [ PN V
+"RTN","TMGTERM",234,0)
+       DO ESCN(.PN,,"V") QUIT
+"RTN","TMGTERM",235,0)
+  ;
+"RTN","TMGTERM",236,0)
+IS       ;"Reset to Initial State    Esc c
+"RTN","TMGTERM",237,0)
+       WRITE $CHAR(27)_"c" QUIT
+"RTN","TMGTERM",238,0)
+  ;
+"RTN","TMGTERM",239,0)
+RM(PN)   ;"Reset Mode                Esc [ Ps l     VT100
+"RTN","TMGTERM",240,0)
+       DO ESCN(.PN,,"l") QUIT
+"RTN","TMGTERM",241,0)
+  ;
+"RTN","TMGTERM",242,0)
+SD(PN)   ;"Scroll Down               Esc [ PN T
+"RTN","TMGTERM",243,0)
+       DO ESCN(.PN,,"T") QUIT
+"RTN","TMGTERM",244,0)
+  ;
+"RTN","TMGTERM",245,0)
+SL(PN)   ;"Scroll Left               Esc [ PN Space @
+"RTN","TMGTERM",246,0)
+       DO ESCN(.PN,," @") QUIT
+"RTN","TMGTERM",247,0)
+  ;
+"RTN","TMGTERM",248,0)
+SM(PN)   ;"Select Mode               Esc [ Ps h     VT100
+"RTN","TMGTERM",249,0)
+       DO ESCN(.PN,,"h") QUIT
+"RTN","TMGTERM",250,0)
+  ;
+"RTN","TMGTERM",251,0)
+SPA      ;"Start of Protected Area   Esc V
+"RTN","TMGTERM",252,0)
+       WRITE $CHAR(27)_"V" QUIT
+"RTN","TMGTERM",253,0)
+  ;
+"RTN","TMGTERM",254,0)
+SPI(PN,P2)  ;"Spacing Increment         Esc [ PN  ; PN Space G
+"RTN","TMGTERM",255,0)
+       DO ESCN(.PN,P2," G") QUIT
+"RTN","TMGTERM",256,0)
+  ;
+"RTN","TMGTERM",257,0)
+SR(PN)   ;"Scroll Right              Esc [ PN Space A
+"RTN","TMGTERM",258,0)
+       DO ESCN(.PN,," A") QUIT
+"RTN","TMGTERM",259,0)
+  ;
+"RTN","TMGTERM",260,0)
+SA       ;"Start of Selected Area    Esc F
+"RTN","TMGTERM",261,0)
+       WRITE $CHAR(27)_"F" QUIT
+"RTN","TMGTERM",262,0)
+  ;
+"RTN","TMGTERM",263,0)
+ST       ;"String Terminator         Esc \
+"RTN","TMGTERM",264,0)
+       WRITE $CHAR(27)_"\" QUIT
+"RTN","TMGTERM",265,0)
+  ;
+"RTN","TMGTERM",266,0)
+SU(PN)   ;"Scroll Up                 Esc [ PN S
+"RTN","TMGTERM",267,0)
+       DO ESCN(.PN,,"S") QUIT
+"RTN","TMGTERM",268,0)
+  ;
+"RTN","TMGTERM",269,0)
+TBC(PN)  ;"Tab Clear                 Esc [ Ps g        VT100
+"RTN","TMGTERM",270,0)
+       DO ESCN(.PN,,"g") QUIT
+"RTN","TMGTERM",271,0)
+  ;
+"RTN","TMGTERM",272,0)
+VPA(PN)  ;"Vert Position Absolute    Esc [ PN d
+"RTN","TMGTERM",273,0)
+       DO ESCN(.PN,,"d") QUIT
+"RTN","TMGTERM",274,0)
+  ;
+"RTN","TMGTERM",275,0)
+VPR(PN)  ;"Vert Position Relative    Esc [ PN e
+"RTN","TMGTERM",276,0)
+       DO ESCN(.PN,,"e") QUIT
+"RTN","TMGTERM",277,0)
+  ;
+"RTN","TMGTERM",278,0)
+VCULOAD  ;"Unsave Cursor                              ESC [ u
+"RTN","TMGTERM",279,0)
+       WRITE $CHAR(27,91)_"u" QUIT
+"RTN","TMGTERM",280,0)
+  ;
+"RTN","TMGTERM",281,0)
+VCUSAV2  ;"Save Cursor & Attrs                        ESC 7
+"RTN","TMGTERM",282,0)
+       WRITE $CHAR(27)_"7" QUIT
+"RTN","TMGTERM",283,0)
+  ;
+"RTN","TMGTERM",284,0)
+VCULOAD2  ;"Restore Cursor & Attrs                    ESC 8
+"RTN","TMGTERM",285,0)
+       WRITE $CHAR(27)_"8" QUIT
+"RTN","TMGTERM",286,0)
+  ;
+"RTN","TMGTERM",287,0)
+  ;"--------------------------------------------------------------
+"RTN","TMGTERM",288,0)
+  ;"VT100 specific calls
+"RTN","TMGTERM",289,0)
+  ;"Terminal interface
+"RTN","TMGTERM",290,0)
+  ;"--------------------------------------------------------------
+"RTN","TMGTERM",291,0)
+  ;
+"RTN","TMGTERM",292,0)
+VCEL     ;"Erase from cursor to end of line           Esc [ 0 K    or Esc [ K
+"RTN","TMGTERM",293,0)
+       DO ESCN("0",,"K") QUIT
+"RTN","TMGTERM",294,0)
+  ;
+"RTN","TMGTERM",295,0)
+VCBL     ;"Erase from beginning of line to cursor     Esc [ 1 K
+"RTN","TMGTERM",296,0)
+       DO ESCN("1",,"K") QUIT
+"RTN","TMGTERM",297,0)
+  ;
+"RTN","TMGTERM",298,0)
+VEL      ;"Erase line containing cursor               Esc [ 2 K
+"RTN","TMGTERM",299,0)
+       DO ESCN("2",,"K") QUIT
+"RTN","TMGTERM",300,0)
+  ;
+"RTN","TMGTERM",301,0)
+VCES     ;"Erase from cursor to end of screen         Esc [ 0 J    or Esc [ J
+"RTN","TMGTERM",302,0)
+       DO ESCN("0",,"J") QUIT
+"RTN","TMGTERM",303,0)
+  ;
+"RTN","TMGTERM",304,0)
+VCBS     ;"Erase from beginning of screen to cursor   Esc [ 1 J
+"RTN","TMGTERM",305,0)
+       DO ESCN("1",,"J") QUIT
+"RTN","TMGTERM",306,0)
+  ;
+"RTN","TMGTERM",307,0)
+VCS      ;"Erase entire screen                        Esc [ 2 J
+"RTN","TMGTERM",308,0)
+       DO ESCN("2",,"J") QUIT
+"RTN","TMGTERM",309,0)
+  ;
+"RTN","TMGTERM",310,0)
+VCUSAV   ;"Save Cursor                                ESC [ s
+"RTN","TMGTERM",311,0)
+       WRITE $CHAR(27,91)_"s" QUIT
+"RTN","TMGTERM",312,0)
+  ;
+"RTN","TMGTERM",313,0)
+  ;"VCULOAD  ;"Unsave Cursor                              ESC [ u
+"RTN","TMGTERM",314,0)
+  ;"       WRITE $CHAR(27,91)_"u" QUIT
+"RTN","TMGTERM",315,0)
+  ;
+"RTN","TMGTERM",316,0)
+  ;"VCUSAV2  ;"Save Cursor & Attrs                        ESC 7
+"RTN","TMGTERM",317,0)
+  ;"       WRITE $CHAR(27)_"7" QUIT
+"RTN","TMGTERM",318,0)
+  ;
+"RTN","TMGTERM",319,0)
+  ;"VCULOAD2  ;"Restore Cursor & Attrs                    ESC 8
+"RTN","TMGTERM",320,0)
+  ;"       WRITE $CHAR(27)_"8" QUIT
+"RTN","TMGTERM",321,0)
+  ;
+"RTN","TMGTERM",322,0)
+VTATRIB(N)  ;"Set Text attributes    <ESC>[{attr1};...;{attrn}m
+"RTN","TMGTERM",323,0)
+        ;"0-Reset all attributes
+"RTN","TMGTERM",324,0)
+        ;"1-Bright
+"RTN","TMGTERM",325,0)
+        ;"2-Dim
+"RTN","TMGTERM",326,0)
+        ;"4-Underscore
+"RTN","TMGTERM",327,0)
+        ;"5-Blink
+"RTN","TMGTERM",328,0)
+        ;"7-Reverse
+"RTN","TMGTERM",329,0)
+        ;"8-Hidden
+"RTN","TMGTERM",330,0)
+       DO ESCN(N,,"m") QUIT
+"RTN","TMGTERM",331,0)
+  ;
+"RTN","TMGTERM",332,0)
+VFGCOLOR(N)  ;"Set Text Foreground Color  <ESC>[{attr1};...;{attrn}m
+"RTN","TMGTERM",333,0)
+       ;"See note about colors in VCOLORS
+"RTN","TMGTERM",334,0)
+       DO VTATRIB(0)
+"RTN","TMGTERM",335,0)
+       IF N>7 DO
+"RTN","TMGTERM",336,0)
+       . DO VTATRIB(1)
+"RTN","TMGTERM",337,0)
+       . SET N=N-7
+"RTN","TMGTERM",338,0)
+       SET N=N+30
+"RTN","TMGTERM",339,0)
+       DO ESCN(N,,"m") QUIT
+"RTN","TMGTERM",340,0)
+  ;
+"RTN","TMGTERM",341,0)
+VBGCOLOR(N)  ;"Set Text Background Color  <ESC>[{attr1};...;{attrn}m
+"RTN","TMGTERM",342,0)
+       ;"See note about colors in VCOLORS
+"RTN","TMGTERM",343,0)
+       DO VTATRIB(0)
+"RTN","TMGTERM",344,0)
+       IF N>7 DO
+"RTN","TMGTERM",345,0)
+       . DO VTATRIB(1)
+"RTN","TMGTERM",346,0)
+       . SET N=N-7
+"RTN","TMGTERM",347,0)
+       SET N=N+40
+"RTN","TMGTERM",348,0)
+       DO ESCN(N,,"m") QUIT
+"RTN","TMGTERM",349,0)
+  ;
+"RTN","TMGTERM",350,0)
+VCOLORS(FG,BG)  ;Set Text Colors   <ESC>[{attr1};...;{attrn}m
+"RTN","TMGTERM",351,0)
+       ;"Note: 5/29/06  I don't know if the color numbers are working
+"RTN","TMGTERM",352,0)
+       ;"       correctly.  The best way to determine what the color should
+"RTN","TMGTERM",353,0)
+       ;"       be is to run DemoColor and pick the numbers wanted for desired colors
+"RTN","TMGTERM",354,0)
+       DO VTATRIB(0)
+"RTN","TMGTERM",355,0)
+       IF FG>7 DO
+"RTN","TMGTERM",356,0)
+       . DO VTATRIB(1)
+"RTN","TMGTERM",357,0)
+       . SET FG=FG-7
+"RTN","TMGTERM",358,0)
+       IF BG>7 DO
+"RTN","TMGTERM",359,0)
+       . DO VTATRIB(1)
+"RTN","TMGTERM",360,0)
+       . SET BG=BG-7
+"RTN","TMGTERM",361,0)
+        ;
+"RTN","TMGTERM",362,0)
+       SET FG=FG+30
+"RTN","TMGTERM",363,0)
+       SET BG=BG+40
+"RTN","TMGTERM",364,0)
+       DO ESCN(FG,BG,"m") QUIT
+"RTN","TMGTERM",365,0)
+       QUIT
+"RTN","TMGTERM",366,0)
+  ;
+"RTN","TMGTERM",367,0)
+SETGBLCO   ;"Set Global Colors 
+"RTN","TMGTERM",368,0)
+       SET TMGCOLBLACK=0
+"RTN","TMGTERM",369,0)
+       SET TMGCOLRED=1
+"RTN","TMGTERM",370,0)
+       SET TMGCOLGREEN=2
+"RTN","TMGTERM",371,0)
+       SET TMGCOLYELLOW=3
+"RTN","TMGTERM",372,0)
+       SET TMGCOLBLUE=4
+"RTN","TMGTERM",373,0)
+       SET TMGCOLMAGENTA=5
+"RTN","TMGTERM",374,0)
+       SET TMGCOLCYAN=6
+"RTN","TMGTERM",375,0)
+       SET TMGCOLGREY=7
+"RTN","TMGTERM",376,0)
+       ;
+"RTN","TMGTERM",377,0)
+       SET TMGCOLBRED=8
+"RTN","TMGTERM",378,0)
+       SET TMGCOLBGREEN=9
+"RTN","TMGTERM",379,0)
+       SET TMGCOLBYELLOW=10
+"RTN","TMGTERM",380,0)
+       SET TMGCOLBBLUE=11
+"RTN","TMGTERM",381,0)
+       SET TMGCOLBMAGENTA=12
+"RTN","TMGTERM",382,0)
+       SET TMGCOLBCYAN=13
+"RTN","TMGTERM",383,0)
+       SET TMGCOLBGREY=14,TMGCOLFGBWHITE=14
+"RTN","TMGTERM",384,0)
+       SET TMGCOLWHITE=15
+"RTN","TMGTERM",385,0)
+        ;
+"RTN","TMGTERM",386,0)
+       QUIT
+"RTN","TMGTERM",387,0)
+       ;
+"RTN","TMGTERM",388,0)
+KILLGBLC   ;"Kill Global Colors
+"RTN","TMGTERM",389,0)
+       KILL TMGCOLBLACK
+"RTN","TMGTERM",390,0)
+       KILL TMGCOLRED
+"RTN","TMGTERM",391,0)
+       KILL TMGCOLGREEN
+"RTN","TMGTERM",392,0)
+       KILL TMGCOLYELLOW
+"RTN","TMGTERM",393,0)
+       KILL TMGCOLBLUE
+"RTN","TMGTERM",394,0)
+       KILL TMGCOLMAGENTA
+"RTN","TMGTERM",395,0)
+       KILL TMGCOLCYAN
+"RTN","TMGTERM",396,0)
+       KILL TMGCOLGREY
+"RTN","TMGTERM",397,0)
+       ;
+"RTN","TMGTERM",398,0)
+       KILL TMGCOLBRED
+"RTN","TMGTERM",399,0)
+       KILL TMGCOLBGREEN
+"RTN","TMGTERM",400,0)
+       KILL TMGCOLBYELLOW
+"RTN","TMGTERM",401,0)
+       KILL TMGCOLBBLUE
+"RTN","TMGTERM",402,0)
+       KILL TMGCOLBMAGENTA
+"RTN","TMGTERM",403,0)
+       KILL TMGCOLBCYAN
+"RTN","TMGTERM",404,0)
+       KILL TMGCOLBGREY
+"RTN","TMGTERM",405,0)
+       KILL TMGCOLWHITE
+"RTN","TMGTERM",406,0)
+       KILL TMGCOLFGBWHITE
+"RTN","TMGTERM",407,0)
+       QUIT
+"RTN","TMGTERM",408,0)
+       ;
+"RTN","TMGTERM",409,0)
+COLORBOX(SETBG,SETFG)  ;
+"RTN","TMGTERM",410,0)
+       ;"Purpose: to write a grid on the screen, showing all the color combos
+"RTN","TMGTERM",411,0)
+       ;"Input: SETBG -- OPTIONAL.  If data sent, then ONLY that background will be shown.
+"RTN","TMGTERM",412,0)
+       ;"                            (i.e. for only picking a foreground color)
+"RTN","TMGTERM",413,0)
+       ;"       SETFG -- OPTIONAL.  If data sent, then only for picking background color
+"RTN","TMGTERM",414,0)
+       NEW FG,BG
+"RTN","TMGTERM",415,0)
+        ;"WRITE "SETBG=",$GET(SETBG),!
+"RTN","TMGTERM",416,0)
+        ;"WRITE "SETFG=",$GET(SETFG),!
+"RTN","TMGTERM",417,0)
+       IF $DATA(SETFG)#10=0 DO
+"RTN","TMGTERM",418,0)
+       . WRITE "FG:",?10
+"RTN","TMGTERM",419,0)
+       . FOR FG=0:1:15 DO
+"RTN","TMGTERM",420,0)
+       . . WRITE $$RJ^XLFSTR(FG,2)," "
+"RTN","TMGTERM",421,0)
+       . WRITE !
+"RTN","TMGTERM",422,0)
+        ;
+"RTN","TMGTERM",423,0)
+       NEW START,FINISH
+"RTN","TMGTERM",424,0)
+       SET START=0,FINISH=15
+"RTN","TMGTERM",425,0)
+       IF ($DATA(SETBG)#10=1) DO
+"RTN","TMGTERM",426,0)
+       . SET (START,FINISH)=SETBG
+"RTN","TMGTERM",427,0)
+       FOR BG=START:1:FINISH DO
+"RTN","TMGTERM",428,0)
+       . IF BG=0 WRITE "BG:"
+"RTN","TMGTERM",429,0)
+       . WRITE ?7,$$RJ^XLFSTR(BG,2),?10
+"RTN","TMGTERM",430,0)
+       . FOR FG=0:1:15 DO
+"RTN","TMGTERM",431,0)
+       . . DO VCOLORS(FG,BG)
+"RTN","TMGTERM",432,0)
+       . . IF $DATA(SETFG)#10=0 DO
+"RTN","TMGTERM",433,0)
+       . . . WRITE " X "
+"RTN","TMGTERM",434,0)
+       . . ELSE  DO
+"RTN","TMGTERM",435,0)
+       . . . WRITE "   "
+"RTN","TMGTERM",436,0)
+       . . DO VTATRIB(0)
+"RTN","TMGTERM",437,0)
+       . WRITE !
+"RTN","TMGTERM",438,0)
+       QUIT
+"RTN","TMGTERM",439,0)
+       ;
+"RTN","TMGTERM",440,0)
+PICK1COL(LABEL,INITVAL)   ;
+"RTN","TMGTERM",441,0)
+        ;"Purpose: prompt user to pick a color
+"RTN","TMGTERM",442,0)
+        ;"Input: LABEL -- Foreground or background
+"RTN","TMGTERM",443,0)
+        ;"       INITVAL.  Value to return if nothing selected.
+"RTN","TMGTERM",444,0)
+        ;"Results: returns value 0-15 if selected, or -1 if abort.
+"RTN","TMGTERM",445,0)
+       NEW RESULT
+"RTN","TMGTERM",446,0)
+       WRITE "Enter "_LABEL_" color number (0-15,^ to abort): "
+"RTN","TMGTERM",447,0)
+       READ RESULT:$GET(DTIME,3600),!
+"RTN","TMGTERM",448,0)
+       IF (RESULT="")!(+RESULT'=RESULT)!(+RESULT<0)!(+RESULT>15) SET RESULT=+$GET(INITVAL)
+"RTN","TMGTERM",449,0)
+       QUIT RESULT
+"RTN","TMGTERM",450,0)
+        ;
+"RTN","TMGTERM",451,0)
+PICKFGC(FG,BG)   ;
+"RTN","TMGTERM",452,0)
+        ;"Purpose: prompt user to pick a foreground color
+"RTN","TMGTERM",453,0)
+        ;"Input -- FG.  Value to return if nothing selected.
+"RTN","TMGTERM",454,0)
+        ;"Results: returns value 0-15 if selected, or -1 if abort.
+"RTN","TMGTERM",455,0)
+       DO COLORBOX(.BG)
+"RTN","TMGTERM",456,0)
+       NEW RESULT SET RESULT=$$PICK1COL("Foreground (FG)",.FG)
+"RTN","TMGTERM",457,0)
+       QUIT RESULT
+"RTN","TMGTERM",458,0)
+        ;
+"RTN","TMGTERM",459,0)
+PICKBGC(INITVAL)   ;
+"RTN","TMGTERM",460,0)
+        ;"Purpose: prompt user to pick a background color
+"RTN","TMGTERM",461,0)
+        ;"Input -- INITVAL.  Value to return if nothing selected.
+"RTN","TMGTERM",462,0)
+        ;"Results: returns value 0-15 if selected, or -1 if abort.
+"RTN","TMGTERM",463,0)
+       DO COLORBOX(,1)
+"RTN","TMGTERM",464,0)
+       NEW RESULT SET RESULT=$$PICK1COL("Background (BG)",.INITVAL)
+"RTN","TMGTERM",465,0)
+       QUIT RESULT
+"RTN","TMGTERM",466,0)
+        ;
+"RTN","TMGTERM",467,0)
+PICKCLRS(FG,BG)   ;
+"RTN","TMGTERM",468,0)
+        ;"Purpose: prompt user to pick a FG and BG colors
+"RTN","TMGTERM",469,0)
+        ;"Results: returns value 0-15
+"RTN","TMGTERM",470,0)
+       DO COLORBOX()
+"RTN","TMGTERM",471,0)
+       SET FG=$$PICK1COL("Foreground (FG)",.FG)
+"RTN","TMGTERM",472,0)
+       SET BG=$$PICK1COL("Background (BG)",.BG)
+"RTN","TMGTERM",473,0)
+       QUIT
+"RTN","TMGTERM",474,0)
+        ;
+"RTN","TMGTERM",475,0)
+DEMOCOLR   ;
+"RTN","TMGTERM",476,0)
+        ;"Purpose: to write a lines on the screen, showing all the color combos
+"RTN","TMGTERM",477,0)
+       DO VCUSAV2
+"RTN","TMGTERM",478,0)
+       NEW FG,BG
+"RTN","TMGTERM",479,0)
+       FOR BG=1:1:14 DO
+"RTN","TMGTERM",480,0)
+       . FOR FG=1:1:14 DO
+"RTN","TMGTERM",481,0)
+       . . DO VCOLORS(FG,BG)
+"RTN","TMGTERM",482,0)
+       . . WRITE "Text with background color #",BG," and foreground color #",FG
+"RTN","TMGTERM",483,0)
+       . . DO VTATRIB(0)
+"RTN","TMGTERM",484,0)
+       . . WRITE !
+"RTN","TMGTERM",485,0)
+       DO VCULOAD2
+"RTN","TMGTERM",486,0)
+       QUIT
+"RTN","TMGTIUO3")
+0^13^B266021056
+"RTN","TMGTIUO3",1,0)
+TMGTIUO3 ;TMG/kst-Text objects for use in CPRS ; 10/24/10, 7/17/12
+"RTN","TMGTIUO3",2,0)
+         ;;1.0;TMG-LIB;**1,17**;10/24/10;Build 23
+"RTN","TMGTIUO3",3,0)
+ ;
+"RTN","TMGTIUO3",4,0)
+ ;"Kevin Toppenberg MD
+"RTN","TMGTIUO3",5,0)
+ ;"(C) 10/2010
+"RTN","TMGTIUO3",6,0)
+ ;"Released under: GNU General Public License (GPL)
+"RTN","TMGTIUO3",7,0)
+ ;
+"RTN","TMGTIUO3",8,0)
+ ;" This is spill over code from TMGTIUOJ, to make that file size smaller.
+"RTN","TMGTIUO3",9,0)
+ ;"       
+"RTN","TMGTIUO3",10,0)
+ ;"=======================================================================
+"RTN","TMGTIUO3",11,0)
+ ;"PUBLIC FUNCTIONS
+"RTN","TMGTIUO3",12,0)
+ ;"=======================================================================
+"RTN","TMGTIUO3",13,0)
+ ;"$$AGEONDAT(DFN,REFDATE)  -- Returns age on a given date
+"RTN","TMGTIUO3",14,0)
+ ;
+"RTN","TMGTIUO3",15,0)
+ ;"=======================================================================
+"RTN","TMGTIUO3",16,0)
+ ;"PRIVATE FUNCTIONS
+"RTN","TMGTIUO3",17,0)
+ ;"=======================================================================
+"RTN","TMGTIUO3",18,0)
+ ;"ADDVITAL(RESULT,STR,LABEL,CURDT,NOTEDT,FORCESHOW) -- format and add a vital set, wrapping line if needed.
+"RTN","TMGTIUO3",19,0)
+ ;"ADDPCTLE(RESULT,TYPE,VALUE,PTAGE,GENDER) --add percentile of vital measurement, if possible.
+"RTN","TMGTIUO3",20,0)
+ ;"FORMATVT(RESULT,STR,LABEL,CURDT,NOTEDT) -- remove redundant text in formating Vitals
+"RTN","TMGTIUO3",21,0)
+ ;"DELIFOLD(LABEL,AGE,VALUE) --remove vitals that re too old to be relevent. e.g. pulse from 2 months ago.
+"RTN","TMGTIUO3",22,0)
+ ;"REMOVEDT(STR,DT) --remove a date-Time string, and return in DT
+"RTN","TMGTIUO3",23,0)
+ ;"$$REMOVTIM(DT) --remove the time from a date/time string
+"RTN","TMGTIUO3",24,0)
+ ;"$$FORMATHT(HEIGHTSTR,PTAGE) remove centimeters from patient's height for adults
+"RTN","TMGTIUO3",25,0)
+ ;"DATEDELT(REFDATE,DT) --  determine the number of days between REFDATE and DT
+"RTN","TMGTIUO3",26,0)
+ ;"TMGVISDT(TIU)  Return a string for date of visit
+"RTN","TMGTIUO3",27,0)
+ ;"PTAGE(DFN,NOTEDT) --return patient's AGE (in years) on date of note 
+"RTN","TMGTIUO3",28,0)
+ ;"HC(DFN,HC) --  Return formated head circumference reading 
+"RTN","TMGTIUO3",29,0)
+ ;"LASTHC(DFN) --Return the patient's last head circumference 
+"RTN","TMGTIUO3",30,0)
+ ;"FNAME(DFN) -- Return Patient's first name
+"RTN","TMGTIUO3",31,0)
+ ;"MNAME(DFN) -- Return Patient's middle name(s)
+"RTN","TMGTIUO3",32,0)
+ ;"LNAME(DFN)-- Return Patient's last name
+"RTN","TMGTIUO3",33,0)
+ ;"NICENAME(DFN) -- Return Patient's name format: Firstname Middlename Lastname
+"RTN","TMGTIUO3",34,0)
+ ;"PHONENUM(DFN) -- return the patient's phone number
+"RTN","TMGTIUO3",35,0)
+ ;"ENSURE(ARRAY,KEY,PIVOT,VALUE) --add one (empty) entry, if a value for this doesn't already exist.
+"RTN","TMGTIUO3",36,0)
+ ;"=======================================================================
+"RTN","TMGTIUO3",37,0)
+ ;"Dependancies : TMGGRC1, XLFSTR, ^%DT, XLFDT, TIULS, %DTC, DIQ TMGGRC2 TMGSTUT2,
+"RTN","TMGTIUO3",38,0)
+ ;"=======================================================================
+"RTN","TMGTIUO3",39,0)
+ ;
+"RTN","TMGTIUO3",40,0)
+ADDVITAL(RESULT,STR,LABEL,CURDT,NOTEDT,FORCESHOW,PTAGE,EXCLUDEARR) ;
+"RTN","TMGTIUO3",41,0)
+        ;"Purpose: To format and add a vital set, wrapping line if needed.
+"RTN","TMGTIUO3",42,0)
+        ;"Input: RESULT -- PASS BY REFERENCE .. the cumulative string
+"RTN","TMGTIUO3",43,0)
+        ;"         STR -- the string value result to add
+"RTN","TMGTIUO3",44,0)
+        ;"         LABEL -- the text label
+"RTN","TMGTIUO3",45,0)
+        ;"              Labels used: T, BP, R, P, Wt, Ht, HC, BMI,
+"RTN","TMGTIUO3",46,0)
+        ;"         CURDT -- the last DT string shown
+"RTN","TMGTIUO3",47,0)
+        ;"         NOTEDT -- [optional] DT string of date of note
+"RTN","TMGTIUO3",48,0)
+        ;"                        If provided, then the date of the vital sign must equal NOTEDT, or
+"RTN","TMGTIUO3",49,0)
+        ;"                        "" is returned (Unless FORCESHOW=1)
+"RTN","TMGTIUO3",50,0)
+        ;"         FORCESHOW -- [optional] 1: Will force a return result, if otherwise wouldn't be shown
+"RTN","TMGTIUO3",51,0)
+        ;"         PTAGE -- [optional], default is 99-- age in YRS of patient
+"RTN","TMGTIUO3",52,0)
+        ;"         EXCLUDEARR -- [optional].  PASS BY REFERENCE.  If a particular
+"RTN","TMGTIUO3",53,0)
+        ;"              vital is too old for inclusion, then this is array is filled 
+"RTN","TMGTIUO3",54,0)
+        ;"                e.g. EXCLUDEARR("T")=1
+"RTN","TMGTIUO3",55,0)
+        ;"Results: none (changes are passed back in result)
+"RTN","TMGTIUO3",56,0)
+        NEW TEMPS SET TEMPS=""
+"RTN","TMGTIUO3",57,0)
+        DO FORMATVT(.TEMPS,.STR,.LABEL,.CURDT,.NOTEDT,.FORCESHOW,.PTAGE,.EXCLUDEARR)
+"RTN","TMGTIUO3",58,0)
+        IF (TEMPS'="")&(RESULT'="") SET RESULT=RESULT_"; "
+"RTN","TMGTIUO3",59,0)
+        SET RESULT=RESULT_TEMPS
+"RTN","TMGTIUO3",60,0)
+        QUIT
+"RTN","TMGTIUO3",61,0)
+        ;
+"RTN","TMGTIUO3",62,0)
+ADDPCTLE(RESULT,TYPE,VALUE,PTAGE,GENDER) ;
+"RTN","TMGTIUO3",63,0)
+        ;"Purpose: To add percentile of vital measurement, if possible.
+"RTN","TMGTIUO3",64,0)
+        ;"Input:   RESULT -- PASS BY REFERENCE .. the cumulative string
+"RTN","TMGTIUO3",65,0)
+        ;"         TYPE -- the type of percentile to add: 'Ht','Wt','HC', 'WtLen'
+"RTN","TMGTIUO3",66,0)
+        ;"         VALUE -- the value of the vital sign, in metric
+"RTN","TMGTIUO3",67,0)
+        ;"         PTAGE -- The patients age *In Years*
+"RTN","TMGTIUO3",68,0)
+        ;"         gender -- must by 'M' or 'F'
+"RTN","TMGTIUO3",69,0)
+        ;"Results: none (changes are passed back in RESULT)
+"RTN","TMGTIUO3",70,0)
+        SET TYPE=$GET(TYPE)
+"RTN","TMGTIUO3",71,0)
+        SET VALUE=$GET(VALUE)
+"RTN","TMGTIUO3",72,0)
+        NEW TEMPS SET TEMPS=""
+"RTN","TMGTIUO3",73,0)
+        ;
+"RTN","TMGTIUO3",74,0)
+        IF TYPE="Ht" DO
+"RTN","TMGTIUO3",75,0)
+        . SET VALUE=$PIECE($PIECE(VALUE,"[",2),"]",1)
+"RTN","TMGTIUO3",76,0)
+        . SET VALUE=+VALUE
+"RTN","TMGTIUO3",77,0)
+        . SET TEMPS=$$LENPCTL^TMGGRC1(.PTAGE,.GENDER,VALUE)
+"RTN","TMGTIUO3",78,0)
+        ELSE  IF TYPE="Wt" DO
+"RTN","TMGTIUO3",79,0)
+        . SET VALUE=$PIECE($PIECE(VALUE,"[",2),"]",1)
+"RTN","TMGTIUO3",80,0)
+        . SET VALUE=+VALUE
+"RTN","TMGTIUO3",81,0)
+        . SET TEMPS=$$WTPCTL^TMGGRC1(.PTAGE,.GENDER,VALUE)
+"RTN","TMGTIUO3",82,0)
+        ELSE  IF TYPE="BMI" DO
+"RTN","TMGTIUO3",83,0)
+        . SET TEMPS=$$BMIPCTL^TMGGRC1(.PTAGE,.GENDER,VALUE)
+"RTN","TMGTIUO3",84,0)
+        ELSE  IF TYPE="HC" DO
+"RTN","TMGTIUO3",85,0)
+        . SET TEMPS=$$HCPCTL^TMGGRC1(.PTAGE,.GENDER,VALUE)
+"RTN","TMGTIUO3",86,0)
+        ELSE  IF TYPE="WtLen" DO
+"RTN","TMGTIUO3",87,0)
+        . SET TEMPS=$$WTLENPCT^TMGGRC1(.PTAGE,.GENDER,VALUE)
+"RTN","TMGTIUO3",88,0)
+        ;
+"RTN","TMGTIUO3",89,0)
+        ;"SET RESULT=$$ADDWRAP^TMGSTUTL(RESULT,TEMPS,60,INDENTSTR)        
+"RTN","TMGTIUO3",90,0)
+        IF (TEMPS'="")&(RESULT'="") SET RESULT=RESULT_", "
+"RTN","TMGTIUO3",91,0)
+        SET RESULT=RESULT_TEMPS ;                
+"RTN","TMGTIUO3",92,0)
+        QUIT
+"RTN","TMGTIUO3",93,0)
+        ;
+"RTN","TMGTIUO3",94,0)
+        ;
+"RTN","TMGTIUO3",95,0)
+FORMATVT(OUTS,STR,LABEL,CURDT,NOTEDT,FORCESHOW,PTAGE,EXCLUDEARR) ;"Format Vitals
+"RTN","TMGTIUO3",96,0)
+        ;"Purpose: To remove redundant text in formating Vitals
+"RTN","TMGTIUO3",97,0)
+        ;"Input:   OUTS -- PASS BY REFERENCE .. the cumulative string
+"RTN","TMGTIUO3",98,0)
+        ;"         STR -- the string value result to add
+"RTN","TMGTIUO3",99,0)
+        ;"         LABEL -- the text label
+"RTN","TMGTIUO3",100,0)
+        ;"              Labels used: T, BP, R, P, Wt, Ht, HC, BMI,
+"RTN","TMGTIUO3",101,0)
+        ;"         CURDT -- the last DT string shown
+"RTN","TMGTIUO3",102,0)
+        ;"         NOTEDT -- [optional] DT string of date of note
+"RTN","TMGTIUO3",103,0)
+        ;"                        If provided, then the date of the vital sign must equal NOTEDT, or
+"RTN","TMGTIUO3",104,0)
+        ;"                        "" is returned (Unless FORCESHOW=1)
+"RTN","TMGTIUO3",105,0)
+        ;"         FORCESHOW -- [optional] 1: Will force a return RESULT, if otherwise wouldn't be shown
+"RTN","TMGTIUO3",106,0)
+        ;"                      NOTE: this is older system.  New system excludes
+"RTN","TMGTIUO3",107,0)
+        ;"                      various vitals at various cutoffs. FORCESHOW doesn't override this.
+"RTN","TMGTIUO3",108,0)
+        ;"         PTAGE -- [optional], default is 99-- age in YRS of patient
+"RTN","TMGTIUO3",109,0)
+        ;"         EXCLUDEARR -- [optional].  PASS BY REFERENCE.  If a particular
+"RTN","TMGTIUO3",110,0)
+        ;"              vital is too old for inclusion, then this is array is filled 
+"RTN","TMGTIUO3",111,0)
+        ;"                e.g. EXCLUDEARR("T")=1
+"RTN","TMGTIUO3",112,0)
+        ;"Results: none (changes are passed back in RESULT)
+"RTN","TMGTIUO3",113,0)
+        ;
+"RTN","TMGTIUO3",114,0)
+        SET OUTS=$GET(OUTS)
+"RTN","TMGTIUO3",115,0)
+        NEW RESULT SET RESULT=""
+"RTN","TMGTIUO3",116,0)
+        SET PTAGE=+$GET(PTAGE,99)
+"RTN","TMGTIUO3",117,0)
+        IF $GET(STR)'="" DO
+"RTN","TMGTIUO3",118,0)
+        . NEW VITALDT SET VITALDT=""
+"RTN","TMGTIUO3",119,0)
+        . NEW DELTA
+"RTN","TMGTIUO3",120,0)
+        . SET STR=$$REMOVEDT(STR,.VITALDT)
+"RTN","TMGTIUO3",121,0)
+        . SET VITALDT=$$REMOVTIM(VITALDT)
+"RTN","TMGTIUO3",122,0)
+        . SET DELTA=$$DATEDELT(.NOTEDT,.VITALDT) QUIT:(DELTA<0)  ;"Returns #days
+"RTN","TMGTIUO3",123,0)
+        . IF (DELTA>0)&($GET(NOTEDT)'="")&($GET(FORCESHOW)'=1) QUIT  ;"If NOTEDT specified, don't allow delta>0
+"RTN","TMGTIUO3",124,0)
+        . IF (OUTS'="")&($EXTRACT(OUTS,$LENGTH(OUTS))'=$CHAR(9)) SET RESULT=RESULT_", "
+"RTN","TMGTIUO3",125,0)
+        . IF CURDT'=VITALDT DO
+"RTN","TMGTIUO3",126,0)
+        . . SET CURDT=VITALDT
+"RTN","TMGTIUO3",127,0)
+        . . IF (DELTA>0)&(VITALDT'="") DO
+"RTN","TMGTIUO3",128,0)
+        . . . IF (PTAGE>18)!(DELTA<32) DO  QUIT
+"RTN","TMGTIUO3",129,0)
+        . . . . IF $$DELIFOLD(LABEL,DELTA,.STR)=0 DO  QUIT
+"RTN","TMGTIUO3",130,0)
+        . . . . . SET RESULT=""
+"RTN","TMGTIUO3",131,0)
+        . . . . . SET EXCLUDEARR(LABEL)=1
+"RTN","TMGTIUO3",132,0)
+        . . . . SET RESULT=RESULT_"("_VITALDT_") "
+"RTN","TMGTIUO3",133,0)
+        . . . ELSE  DO
+"RTN","TMGTIUO3",134,0)
+        . . . . NEW AGESTR,AGEATVIT SET AGEATVIT=$$AGEONDAT(DFN,VITALDT)
+"RTN","TMGTIUO3",135,0)
+        . . . . IF AGEATVIT<2 SET AGESTR=$JUSTIFY(AGEATVIT/12,0,0)_" mo"
+"RTN","TMGTIUO3",136,0)
+        . . . . ELSE  SET AGESTR=$JUSTIFY(AGEATVIT,0,1)_" yr"
+"RTN","TMGTIUO3",137,0)
+        . . . . SET RESULT=RESULT_"("_VITALDT_" @ "_AGESTR_") "
+"RTN","TMGTIUO3",138,0)
+        . IF STR'="" SET RESULT=RESULT_LABEL_" "_STR
+"RTN","TMGTIUO3",139,0)
+        SET RESULT=$$TRIM^XLFSTR(RESULT)
+"RTN","TMGTIUO3",140,0)
+        SET OUTS=OUTS_RESULT
+"RTN","TMGTIUO3",141,0)
+FVDONE  QUIT
+"RTN","TMGTIUO3",142,0)
+        ;
+"RTN","TMGTIUO3",143,0)
+        ;
+"RTN","TMGTIUO3",144,0)
+DELIFOLD(LABEL,AGE,VALUE) ;"DELETE IF OLD
+"RTN","TMGTIUO3",145,0)
+        ;"Purpose: To remove vitals that re too old to be relevent. e.g. pulse from 2 months ago.
+"RTN","TMGTIUO3",146,0)
+        ;"         The relevent age will depend on the type of vital measurement
+"RTN","TMGTIUO3",147,0)
+        ;"Input: LABEL: the vitals label, used here as a TYPE
+"RTN","TMGTIUO3",148,0)
+        ;"              Labels used: T, BP, R, P, Wt, Ht, HC, BMI,
+"RTN","TMGTIUO3",149,0)
+        ;"       AGE:age of vital measurement, in DAYS
+"RTN","TMGTIUO3",150,0)
+        ;"       VALUE -- PASS BY REFERENCE.  Will be set to "" if too old
+"RTN","TMGTIUO3",151,0)
+        ;"Result: 1 if OK to show, 0 if too old.
+"RTN","TMGTIUO3",152,0)
+        NEW CUTOFF
+"RTN","TMGTIUO3",153,0)
+        SET CUTOFF("T")=2      ;"2 DAYS
+"RTN","TMGTIUO3",154,0)
+        SET CUTOFF("BP")=14    ;"1 WEEK
+"RTN","TMGTIUO3",155,0)
+        SET CUTOFF("R")=2      ;"2 DAYS
+"RTN","TMGTIUO3",156,0)
+        SET CUTOFF("P")=2      ;"2 DAYS
+"RTN","TMGTIUO3",157,0)
+        SET CUTOFF("Wt")=14    ;"2 WEEKS
+"RTN","TMGTIUO3",158,0)
+        SET CUTOFF("Ht")=9999  ;"(infinite)
+"RTN","TMGTIUO3",159,0)
+        SET CUTOFF("HC")=180   ;"6 MONTH
+"RTN","TMGTIUO3",160,0)
+        SET CUTOFF("BMI")=9999 ;"(infinite)
+"RTN","TMGTIUO3",161,0)
+        NEW RESULT SET RESULT=1
+"RTN","TMGTIUO3",162,0)
+        NEW ALLOWEDAGE SET ALLOWEDAGE=$GET(CUTOFF(LABEL),9999)
+"RTN","TMGTIUO3",163,0)
+        IF AGE>ALLOWEDAGE DO
+"RTN","TMGTIUO3",164,0)
+        . SET VALUE=""
+"RTN","TMGTIUO3",165,0)
+        . SET RESULT=0
+"RTN","TMGTIUO3",166,0)
+        QUIT RESULT
+"RTN","TMGTIUO3",167,0)
+        ;
+"RTN","TMGTIUO3",168,0)
+REMOVEDT(STR,DT)  ;
+"RTN","TMGTIUO3",169,0)
+        ;"Purpose: to remove a date-Time string, and return in DT
+"RTN","TMGTIUO3",170,0)
+        ;"    i.e. turn this:
+"RTN","TMGTIUO3",171,0)
+        ;"        127/56 (12/25/04 16:50)
+"RTN","TMGTIUO3",172,0)
+        ;"    into these:
+"RTN","TMGTIUO3",173,0)
+        ;"        '127/56'   and   '12/25/04 16:50'
+"RTN","TMGTIUO3",174,0)
+        ;"Input:  STR -- a string as above
+"RTN","TMGTIUO3",175,0)
+        ;"       DT -- [Optional] an OUT parameter... must PASS BY REFERENCE
+"RTN","TMGTIUO3",176,0)
+        ;"RESULT: returns input string with (date-time) removed
+"RTN","TMGTIUO3",177,0)
+        ;"        Date-Time is returned in DT if passed by reference.
+"RTN","TMGTIUO3",178,0)
+        ;
+"RTN","TMGTIUO3",179,0)
+        NEW RESULT SET RESULT=$GET(STR)
+"RTN","TMGTIUO3",180,0)
+        IF RESULT="" GOTO RDTDONE
+"RTN","TMGTIUO3",181,0)
+        ;
+"RTN","TMGTIUO3",182,0)
+        SET RESULT=$PIECE(STR,"(",1)
+"RTN","TMGTIUO3",183,0)
+        SET RESULT=$$TRIM^XLFSTR(RESULT)
+"RTN","TMGTIUO3",184,0)
+        SET DT=$PIECE(STR,"(",2)
+"RTN","TMGTIUO3",185,0)
+        SET DT=$PIECE(DT,")",1)
+"RTN","TMGTIUO3",186,0)
+        SET DT=$$TRIM^XLFSTR(DT)
+"RTN","TMGTIUO3",187,0)
+        ;
+"RTN","TMGTIUO3",188,0)
+RDTDONE QUIT RESULT
+"RTN","TMGTIUO3",189,0)
+        ;
+"RTN","TMGTIUO3",190,0)
+        ;
+"RTN","TMGTIUO3",191,0)
+REMOVTIM(DT) ;
+"RTN","TMGTIUO3",192,0)
+        ;"Purpose: to remove the time from a date/time string
+"RTN","TMGTIUO3",193,0)
+        ;"Input: DT -- the date/time string, i.e. '2/24/05 16:50'
+"RTN","TMGTIUO3",194,0)
+        ;"RESULT: returns just the date, i.e. '2/25/05'
+"RTN","TMGTIUO3",195,0)
+        NEW RESULT SET RESULT=$PIECE(DT," ",1)
+"RTN","TMGTIUO3",196,0)
+        QUIT RESULT
+"RTN","TMGTIUO3",197,0)
+        ;
+"RTN","TMGTIUO3",198,0)
+        ;
+"RTN","TMGTIUO3",199,0)
+FORMATHT(HEIGHTSTR,PTAGE)  ;
+"RTN","TMGTIUO3",200,0)
+        ;"Purpose: to remove centimeters from patient's height for adults
+"RTN","TMGTIUO3",201,0)
+        ;"Input: Ht, a height string, e.g. '74 in [154 cm] (1/1/1990)'
+"RTN","TMGTIUO3",202,0)
+        ;"       PTAGE, patient's age in years
+"RTN","TMGTIUO3",203,0)
+        ;"Result: returns patient height, with [154 cm] removed, if age > 16
+"RTN","TMGTIUO3",204,0)
+        NEW RESULT SET RESULT=$GET(HEIGHTSTR)
+"RTN","TMGTIUO3",205,0)
+        IF $GET(PTAGE)'<16 DO
+"RTN","TMGTIUO3",206,0)
+        . SET RESULT=$PIECE(HEIGHTSTR,"[",1)
+"RTN","TMGTIUO3",207,0)
+        . IF HEIGHTSTR["(" SET RESULT=RESULT_"("_$PIECE(HEIGHTSTR,"(",2,99)
+"RTN","TMGTIUO3",208,0)
+        QUIT RESULT
+"RTN","TMGTIUO3",209,0)
+        ;
+"RTN","TMGTIUO3",210,0)
+        ;
+"RTN","TMGTIUO3",211,0)
+DATEDELT(REFDATE,DT) ;
+"RTN","TMGTIUO3",212,0)
+        ;"Purpose: To determine the number of days between REFDATE and DT 
+"RTN","TMGTIUO3",213,0)
+        ;"                i.e. How many days DT was before REFDATE.
+"RTN","TMGTIUO3",214,0)
+        ;"Input:REFDATE -- a reference/baseline date/time string
+"RTN","TMGTIUO3",215,0)
+        ;"                if not supplied, Current date/time used as default.
+"RTN","TMGTIUO3",216,0)
+        ;"        DT -- a date/time string (i.e. '12/25/04 16:50')
+"RTN","TMGTIUO3",217,0)
+        ;"Result: Return number of days between DT and REFDATE
+"RTN","TMGTIUO3",218,0)
+        ;"        Positive numbers used when DT occured before current date
+"RTN","TMGTIUO3",219,0)
+        ;"        i.e. RESULT=REFDATE-DT
+"RTN","TMGTIUO3",220,0)
+        NEW INTREFDATE,INTDT  ;internal format of dates
+"RTN","TMGTIUO3",221,0)
+        NEW RESULT SET RESULT=0
+"RTN","TMGTIUO3",222,0)
+        SET X=DT DO ^%DT SET INTDT=Y         ;"Convert date into internal
+"RTN","TMGTIUO3",223,0)
+        IF $GET(REFDATE)="" SET INTREFDATE=$$DT^XLFDT
+"RTN","TMGTIUO3",224,0)
+        ELSE  SET X=REFDATE DO ^%DT SET INTREFDATE=Y   ;"Convert date into internal
+"RTN","TMGTIUO3",225,0)
+        SET RESULT=$$FMDIFF^XLFDT(INTREFDATE,INTDT)
+"RTN","TMGTIUO3",226,0)
+        ;
+"RTN","TMGTIUO3",227,0)
+        QUIT RESULT
+"RTN","TMGTIUO3",228,0)
+        ;
+"RTN","TMGTIUO3",229,0)
+        ;
+"RTN","TMGTIUO3",230,0)
+TMGVISDT(TIU)  ;" Visit date
+"RTN","TMGTIUO3",231,0)
+        ;"Purpose: Return a string for date of visit
+"RTN","TMGTIUO3",232,0)
+        ;"Note: This is based on the function VISDATE^TIULO1(TIU)
+"RTN","TMGTIUO3",233,0)
+        ;"        However, that function seemed to return the appointment date associated
+"RTN","TMGTIUO3",234,0)
+        ;"                with a note, rather than the specified date of the note
+"RTN","TMGTIUO3",235,0)
+        ;"        Also, this will return date only--not time.
+"RTN","TMGTIUO3",236,0)
+        ;"Input: TIU -- this is an array created by TIU system.  See documentation above.
+"RTN","TMGTIUO3",237,0)
+        ;"Output: returns RESULT
+"RTN","TMGTIUO3",238,0)
+        ;
+"RTN","TMGTIUO3",239,0)
+        N TIUX,TIUY
+"RTN","TMGTIUO3",240,0)
+        NEW RESULT
+"RTN","TMGTIUO3",241,0)
+        IF $GET(TIU("VISIT"))'="" DO
+"RTN","TMGTIUO3",242,0)
+        . SET RESULT=$PIECE(TIU("VISIT"),U,2)
+"RTN","TMGTIUO3",243,0)
+        ELSE  IF $GET(TIU("VSTR"))'="" DO
+"RTN","TMGTIUO3",244,0)
+        . SET RESULT=$PIECE(TIU("VSTR"),";",2)
+"RTN","TMGTIUO3",245,0)
+        ELSE  DO
+"RTN","TMGTIUO3",246,0)
+        . SET RESULT="(Visit Date Unknown)"
+"RTN","TMGTIUO3",247,0)
+        ;
+"RTN","TMGTIUO3",248,0)
+        IF +RESULT>0 DO
+"RTN","TMGTIUO3",249,0)
+        . SET RESULT=$$DATE^TIULS(RESULT,"MM/DD/YY HR:MIN")
+"RTN","TMGTIUO3",250,0)
+        . SET RESULT=$PIECE(RESULT," ",1)  ;"cut off time.
+"RTN","TMGTIUO3",251,0)
+        ;
+"RTN","TMGTIUO3",252,0)
+VDDONE  QUIT RESULT
+"RTN","TMGTIUO3",253,0)
+        ;
+"RTN","TMGTIUO3",254,0)
+        ;
+"RTN","TMGTIUO3",255,0)
+AGEONDAT(DFN,REFDATE) ;
+"RTN","TMGTIUO3",256,0)
+        ;"Purpose: return patient age on given date, in years
+"RTN","TMGTIUO3",257,0)
+        ;"Input: DFN -- Patient's IEN
+"RTN","TMGTIUO3",258,0)
+        ;"       REFDATE -- Date of reference, in FMDATE, or external form.
+"RTN","TMGTIUO3",259,0)
+        ;"Output: age, in YEARS.
+"RTN","TMGTIUO3",260,0)
+        NEW DOB SET DOB=$PIECE($GET(^DPT(DFN,0)),"^",3)
+"RTN","TMGTIUO3",261,0)
+        NEW RESULT SET RESULT=0
+"RTN","TMGTIUO3",262,0)
+        SET REFDATE=$GET(REFDATE)
+"RTN","TMGTIUO3",263,0)
+        IF +REFDATE'=REFDATE DO
+"RTN","TMGTIUO3",264,0)
+        . NEW %DT,X,Y
+"RTN","TMGTIUO3",265,0)
+        . SET X=REFDATE DO ^%DT SET REFDATE=Y
+"RTN","TMGTIUO3",266,0)
+        IF REFDATE'>0 GOTO AODDN
+"RTN","TMGTIUO3",267,0)
+        NEW X1 SET X1=REFDATE
+"RTN","TMGTIUO3",268,0)
+        NEW X2 SET X2=DOB
+"RTN","TMGTIUO3",269,0)
+        DO ^%DTC  ;"RETURNS X=X1-X2, in days
+"RTN","TMGTIUO3",270,0)
+        SET RESULT=X/365
+"RTN","TMGTIUO3",271,0)
+        IF RESULT>17 SET RESULT=RESULT\1 GOTO AODDN
+"RTN","TMGTIUO3",272,0)
+        IF RESULT>2 SET RESULT=+$JUSTIFY(X/365,0,1) GOTO AODDN
+"RTN","TMGTIUO3",273,0)
+        SET RESULT=+$JUSTIFY(X/365,0,2) GOTO AODDN
+"RTN","TMGTIUO3",274,0)
+AODDN   QUIT RESULT
+"RTN","TMGTIUO3",275,0)
+        ;
+"RTN","TMGTIUO3",276,0)
+        ;
+"RTN","TMGTIUO3",277,0)
+PTAGE(DFN,NOTEDT) ;
+"RTN","TMGTIUO3",278,0)
+        ;"Purpose: return patient's AGE (in years) on date of note (or current
+"RTN","TMGTIUO3",279,0)
+        ;"         date if date of note is empty)
+"RTN","TMGTIUO3",280,0)
+        ;"Input: DFN -- Patient IEN
+"RTN","TMGTIUO3",281,0)
+        ;"       NOTEDT -- Date of Note
+"RTN","TMGTIUO3",282,0)
+        ;"Output: results in years.
+"RTN","TMGTIUO3",283,0)
+        NEW PTAGE SET PTAGE=$$AGEONDAT(DFN,NOTEDT)
+"RTN","TMGTIUO3",284,0)
+        IF PTAGE=0 DO
+"RTN","TMGTIUO3",285,0)
+        . IF NOTEDT="" DO
+"RTN","TMGTIUO3",286,0)
+        . . NEW X DO NOW^%DTC
+"RTN","TMGTIUO3",287,0)
+        . . SET PTAGE=$$AGEONDAT(DFN,X)
+"RTN","TMGTIUO3",288,0)
+        . ELSE  DO
+"RTN","TMGTIUO3",289,0)
+        . . SET PTAGE=+$$GET1^DIQ(2,DFN_",",.033) ;"returns INTEGER yrs
+"RTN","TMGTIUO3",290,0)
+        . . IF PTAGE>17 QUIT
+"RTN","TMGTIUO3",291,0)
+        . . NEW DOB SET DOB=$PIECE($GET(^DPT(DFN,0)),"^",3)
+"RTN","TMGTIUO3",292,0)
+        . . NEW %,X,X1,X2,%Y
+"RTN","TMGTIUO3",293,0)
+        . . DO NOW^%DTC
+"RTN","TMGTIUO3",294,0)
+        . . SET X1=X ;"now
+"RTN","TMGTIUO3",295,0)
+        . . SET X2=DOB
+"RTN","TMGTIUO3",296,0)
+        . . DO ^%DTC  ;"RESULT out in X (days delta)
+"RTN","TMGTIUO3",297,0)
+        . . IF %Y=0 QUIT  ;"dates are unworkable
+"RTN","TMGTIUO3",298,0)
+        . . SET PTAGE=$JUSTIFY(X/365,0,4)
+"RTN","TMGTIUO3",299,0)
+        QUIT PTAGE
+"RTN","TMGTIUO3",300,0)
+        ;
+"RTN","TMGTIUO3",301,0)
+        ;
+"RTN","TMGTIUO3",302,0)
+HC(DFN,HC) ;
+"RTN","TMGTIUO3",303,0)
+        ;"Purpose: Return formatedd head circumference reading 
+"RTN","TMGTIUO3",304,0)
+        ;"Input: DFN -- The patient's IEN
+"RTN","TMGTIUO3",305,0)
+        ;"       HC -- PASS BY REFERENCE, an OUT PARAMETER.  Returns value in centimeters (cm)
+"RTN","TMGTIUO3",306,0)
+        ;"Result: Head circumference string, e.g. 123 cm (1/1/1980), or "" if invalid        
+"RTN","TMGTIUO3",307,0)
+        NEW RESULT SET RESULT="",HC=""
+"RTN","TMGTIUO3",308,0)
+        NEW HEADCIR SET HEADCIR=$$LASTHC(DFN)
+"RTN","TMGTIUO3",309,0)
+        IF HEADCIR="" GOTO HCDN
+"RTN","TMGTIUO3",310,0)
+        SET HC=$PIECE(HEADCIR,"^",3)
+"RTN","TMGTIUO3",311,0)
+        NEW DATEOFHC SET DATEOFHC=$PIECE(HEADCIR,"^",1)
+"RTN","TMGTIUO3",312,0)
+        SET RESULT=$PIECE(HEADCIR,"^",2)_" in ["_HC_"cm] ("_$$FMTE^XLFDT(DATEOFHC,"5D")_")" ;"OUTPUT MM/DD/YYYY
+"RTN","TMGTIUO3",313,0)
+HCDN    QUIT RESULT
+"RTN","TMGTIUO3",314,0)
+        ;
+"RTN","TMGTIUO3",315,0)
+        ;        
+"RTN","TMGTIUO3",316,0)
+LASTHC(DFN)   ;
+"RTN","TMGTIUO3",317,0)
+        ;"Purpose: Return the patient's last head circumference
+"RTN","TMGTIUO3",318,0)
+        ;"NOTE: this assumes that head circumference is store in CIRC/GIRTH vital type.
+"RTN","TMGTIUO3",319,0)
+        ;"Input: DFN -- Patient's DFN
+"RTN","TMGTIUO3",320,0)
+        ;"Output: none
+"RTN","TMGTIUO3",321,0)
+        ;"Results: FMDATE^VALUE(in)^VALUE(cm) or "" if invalid
+"RTN","TMGTIUO3",322,0)
+        NEW RESULT
+"RTN","TMGTIUO3",323,0)
+        NEW THISDT SET THISDT=9999999
+"RTN","TMGTIUO3",324,0)
+        NEW VITIEN SET VITIEN=+$ORDER(^GMRD(120.51,"B","CIRCUMFERENCE/GIRTH",0))
+"RTN","TMGTIUO3",325,0)
+        SET THISDT=$ORDER(^PXRMINDX(120.5,"PI",DFN,VITIEN,THISDT),-1)
+"RTN","TMGTIUO3",326,0)
+        IF THISDT'>0 SET RESULT="" GOTO GHCDN
+"RTN","TMGTIUO3",327,0)
+        NEW RECIEN SET RECIEN=0
+"RTN","TMGTIUO3",328,0)
+        SET RECIEN=+$ORDER(^PXRMINDX(120.5,"PI",DFN,VITIEN,THISDT,RECIEN))
+"RTN","TMGTIUO3",329,0)
+        NEW VALUE SET VALUE=$PIECE($GET(^GMR(120.5,RECIEN,0)),"^",8)
+"RTN","TMGTIUO3",330,0)
+        IF VALUE'>0 SET RESULT=""
+"RTN","TMGTIUO3",331,0)
+        ELSE  DO
+"RTN","TMGTIUO3",332,0)
+        . NEW METRICVAL SET METRICVAL=$$CVTMETRC^TMGGRC2C("CG",VALUE)
+"RTN","TMGTIUO3",333,0)
+        . SET THISDT=THISDT\1  ;"Trim off Time
+"RTN","TMGTIUO3",334,0)
+        . SET RESULT=THISDT_"^"_VALUE_"^"_$JUSTIFY(METRICVAL,0,1)
+"RTN","TMGTIUO3",335,0)
+GHCDN   QUIT RESULT
+"RTN","TMGTIUO3",336,0)
+        ;                
+"RTN","TMGTIUO3",337,0)
+FNAME(DFN)  ;
+"RTN","TMGTIUO3",338,0)
+        ;"Purpose: Return Patient's first name
+"RTN","TMGTIUO3",339,0)
+        ;"Input: DFN -- the patient's unique ID (record#)
+"RTN","TMGTIUO3",340,0)
+        ;"Output: returns RESULT
+"RTN","TMGTIUO3",341,0)
+        NEW NAME
+"RTN","TMGTIUO3",342,0)
+        SET NAME=$PIECE($GET(^DPT(DFN,0)),"^",1)
+"RTN","TMGTIUO3",343,0)
+        SET NAME=$PIECE(NAME,",",2)
+"RTN","TMGTIUO3",344,0)
+        SET NAME=$PIECE(NAME," ",1)
+"RTN","TMGTIUO3",345,0)
+        SET NAME=$$CAPWORDS^TMGSTUT2(NAME)
+"RTN","TMGTIUO3",346,0)
+        QUIT NAME
+"RTN","TMGTIUO3",347,0)
+        ;
+"RTN","TMGTIUO3",348,0)
+        ;
+"RTN","TMGTIUO3",349,0)
+MNAME(DFN) ;
+"RTN","TMGTIUO3",350,0)
+        ;"Purpose: Return Patient's middle name(s)
+"RTN","TMGTIUO3",351,0)
+        ;"Input: DFN -- the patient's unique ID (record#)
+"RTN","TMGTIUO3",352,0)
+        ;"Output: returns RESULT
+"RTN","TMGTIUO3",353,0)
+        NEW NAME
+"RTN","TMGTIUO3",354,0)
+        SET NAME=$PIECE($GET(^DPT(DFN,0)),"^",1)
+"RTN","TMGTIUO3",355,0)
+        SET NAME=$PIECE(NAME,",",2)
+"RTN","TMGTIUO3",356,0)
+        SET NAME=$PIECE(NAME," ",2,100)
+"RTN","TMGTIUO3",357,0)
+        SET NAME=$$CAPWORDS^TMGSTUT2(NAME)
+"RTN","TMGTIUO3",358,0)
+        QUIT NAME
+"RTN","TMGTIUO3",359,0)
+        ;
+"RTN","TMGTIUO3",360,0)
+        ;
+"RTN","TMGTIUO3",361,0)
+LNAME(DFN) ;
+"RTN","TMGTIUO3",362,0)
+        ;"Purpose: Return Patient's last name
+"RTN","TMGTIUO3",363,0)
+        ;"Input: DFN -- the patient's unique ID (record#)
+"RTN","TMGTIUO3",364,0)
+        ;"Output: returns RESULT
+"RTN","TMGTIUO3",365,0)
+        NEW NAME
+"RTN","TMGTIUO3",366,0)
+        SET NAME=$PIECE($GET(^DPT(DFN,0)),"^",1)
+"RTN","TMGTIUO3",367,0)
+        SET NAME=$PIECE(NAME,",",1)
+"RTN","TMGTIUO3",368,0)
+        SET NAME=$$CAPWORDS^TMGSTUT2(NAME)
+"RTN","TMGTIUO3",369,0)
+        QUIT NAME
+"RTN","TMGTIUO3",370,0)
+        ;
+"RTN","TMGTIUO3",371,0)
+        ;
+"RTN","TMGTIUO3",372,0)
+NICENAME(DFN) ;
+"RTN","TMGTIUO3",373,0)
+        ;"Purpose: Return Patient's name format: Firstname Middlename Lastname
+"RTN","TMGTIUO3",374,0)
+        ;"                      only the first letter of each name capitalized.
+"RTN","TMGTIUO3",375,0)
+        ;"Input: DFN -- the patient's unique ID (record#)
+"RTN","TMGTIUO3",376,0)
+        ;"Output: returns RESULT
+"RTN","TMGTIUO3",377,0)
+        NEW NAME
+"RTN","TMGTIUO3",378,0)
+        SET NAME=$PIECE($GET(^DPT(DFN,0)),"^",1)
+"RTN","TMGTIUO3",379,0)
+        SET NAME=$PIECE(NAME,",",2)_" "_$PIECE(NAME,",",1) ;"put first NAME first
+"RTN","TMGTIUO3",380,0)
+        SET NAME=$$CAPWORDS^TMGSTUT2(NAME)
+"RTN","TMGTIUO3",381,0)
+        QUIT NAME
+"RTN","TMGTIUO3",382,0)
+        ;
+"RTN","TMGTIUO3",383,0)
+        ;
+"RTN","TMGTIUO3",384,0)
+PHONENUM(DFN) ;
+"RTN","TMGTIUO3",385,0)
+        ;"Purpose: to return the patient's phone number
+"RTN","TMGTIUO3",386,0)
+        ;"Input: DFN -- the patient's unique ID (record#)
+"RTN","TMGTIUO3",387,0)
+        ;"Output: returns RESULT
+"RTN","TMGTIUO3",388,0)
+        NEW RESULT SET RESULT=""
+"RTN","TMGTIUO3",389,0)
+        SET DFN=+$GET(DFN)
+"RTN","TMGTIUO3",390,0)
+        IF DFN=0 GOTO PNDONE
+"RTN","TMGTIUO3",391,0)
+        SET RESULT=$$GET1^DIQ(2,DFN_",",.131)
+"RTN","TMGTIUO3",392,0)
+        SET RESULT=$TRANSLATE(RESULT," ","")
+"RTN","TMGTIUO3",393,0)
+        IF $LENGTH(RESULT)=10 DO
+"RTN","TMGTIUO3",394,0)
+        . NEW TEMP SET TEMP=RESULT
+"RTN","TMGTIUO3",395,0)
+        . SET RESULT="("_$EXTRACT(RESULT,1,3)_") "_$EXTRACT(RESULT,4,6)_"-"_$EXTRACT(RESULT,7,10)
+"RTN","TMGTIUO3",396,0)
+        ;
+"RTN","TMGTIUO3",397,0)
+        IF $LENGTH(RESULT)=7 DO
+"RTN","TMGTIUO3",398,0)
+        . NEW TEMP SET TEMP=RESULT
+"RTN","TMGTIUO3",399,0)
+        . SET RESULT=$EXTRACT(RESULT,1,3)_"-"_$EXTRACT(RESULT,4,7)
+"RTN","TMGTIUO3",400,0)
+        ;
+"RTN","TMGTIUO3",401,0)
+PNDONE  QUIT RESULT
+"RTN","TMGTIUO3",402,0)
+        ;
+"RTN","TMGTIUO3",403,0)
+        ;
+"RTN","TMGTIUO3",404,0)
+ ;"-------------------------------------------------------------
+"RTN","TMGTIUO3",405,0)
+ ;"-------------------------------------------------------------
+"RTN","TMGTIUO3",406,0)
+ENSURE(ARRAY,KEY,PIVOT,VALUE) ;
+"RTN","TMGTIUO3",407,0)
+        ;"Purpose: to add one (empty) entry, if a value for this doesn't already exist.
+"RTN","TMGTIUO3",408,0)
+        ;"Input: ARRAY.  Format as follows:
+"RTN","TMGTIUO3",409,0)
+        ;"          ARRAY("text line")=""
+"RTN","TMGTIUO3",410,0)
+        ;"          ARRAY("text line")=""
+"RTN","TMGTIUO3",411,0)
+        ;"          ARRAY("KEY-VALUE",KEYNAME)=VALUE
+"RTN","TMGTIUO3",412,0)
+        ;"          ARRAY("KEY-VALUE",KEYNAME,"LINE")=original line
+"RTN","TMGTIUO3",413,0)
+        ;"       KEY -- the name of the study
+"RTN","TMGTIUO3",414,0)
+        ;"       PIVOT -- ":", or "="  OPTIONAL.  Default = ":"
+"RTN","TMGTIUO3",415,0)
+        ;"       VALUE -- the description of the needed value.  OPTIONAL.
+"RTN","TMGTIUO3",416,0)
+        ;"              default value = '<no data>'
+"RTN","TMGTIUO3",417,0)
+        ;
+"RTN","TMGTIUO3",418,0)
+        SET PIVOT=$GET(PIVOT,":")
+"RTN","TMGTIUO3",419,0)
+        SET VALUE=$GET(VALUE,"<no data>")
+"RTN","TMGTIUO3",420,0)
+        IF $GET(KEY)="" GOTO AIADONE
+"RTN","TMGTIUO3",421,0)
+        NEW UPKEY SET UPKEY=$$UP^XLFSTR(KEY)
+"RTN","TMGTIUO3",422,0)
+        IF $DATA(ARRAY("KEY-VALUE",UPKEY))>0 GOTO AIADONE
+"RTN","TMGTIUO3",423,0)
+        ;
+"RTN","TMGTIUO3",424,0)
+        SET ARRAY("KEY-VALUE",UPKEY)=$GET(VALUE)
+"RTN","TMGTIUO3",425,0)
+        NEW LINE SET LINE="        "_$GET(KEY)_" "_$GET(PIVOT)_" "_$GET(VALUE)
+"RTN","TMGTIUO3",426,0)
+        SET ARRAY("KEY-VALUE",UPKEY,"LINE")=LINE
+"RTN","TMGTIUO3",427,0)
+        ;
+"RTN","TMGTIUO3",428,0)
+AIADONE QUIT
+"RTN","TMGTIUO3",429,0)
+        ;
+"RTN","TMGTIUO3",430,0)
+        ;
+"RTN","TMGTIUO4")
+0^14^B185545212
+"RTN","TMGTIUO4",1,0)
+TMGTIUO4 ;TMG/kst-Text objects for use in CPRS ; 7/20/12
+"RTN","TMGTIUO4",2,0)
+         ;;1.0;TMG-LIB;**1,17**;7/20/12;Build 23
+"RTN","TMGTIUO4",3,0)
+ ;
+"RTN","TMGTIUO4",4,0)
+ ;"Kevin Toppenberg MD
+"RTN","TMGTIUO4",5,0)
+ ;"(C) 10/2010
+"RTN","TMGTIUO4",6,0)
+ ;"Released under: GNU General Public License (GPL)
+"RTN","TMGTIUO4",7,0)
+ ;
+"RTN","TMGTIUO4",8,0)
+ ;" This is spill over code from TMGTIUOJ, to make that file size smaller.
+"RTN","TMGTIUO4",9,0)
+ ;"       
+"RTN","TMGTIUO4",10,0)
+ ;"=======================================================================
+"RTN","TMGTIUO4",11,0)
+ ;"PUBLIC FUNCTIONS
+"RTN","TMGTIUO4",12,0)
+ ;"=======================================================================
+"RTN","TMGTIUO4",13,0)
+ ;
+"RTN","TMGTIUO4",14,0)
+ ;"=======================================================================
+"RTN","TMGTIUO4",15,0)
+ ;"PRIVATE FUNCTIONS
+"RTN","TMGTIUO4",16,0)
+ ;"=======================================================================
+"RTN","TMGTIUO4",17,0)
+ ;"BMI(HT,WT,BMI,IDEALWTS) -- Calculate Body Mass Index
+"RTN","TMGTIUO4",18,0)
+ ;"BMICOMNT(BMI,PTAGE,IDEALWTS) -- provide comment on BMI
+"RTN","TMGTIUO4",19,0)
+ ;"WTTREND(DFN,TIU) -- return text showing patient's trend in change of weight.
+"RTN","TMGTIUO4",20,0)
+ ;"WTDELTA(DFN,TIU) -- return text showing patient's change in weight.
+"RTN","TMGTIUO4",21,0)
+ ;"GETLAST2(ARRAY,NTLAST,LAST) -- Returns last 2 values in array (as created by PRIORVIT)
+"RTN","TMGTIUO4",22,0)
+ ;"PRIORVIT(DFN,DATE,VITAL,ARRAY)  -- retrieve a list of prior vital entries for a patient
+"RTN","TMGTIUO4",23,0)
+ ;"GETSPECL(DFN,STARTMARKERS,ENDMARKERS,MONTHS,ARRAY,MODE,SPACES) -- return a block of text from notes for patient
+"RTN","TMGTIUO4",24,0)
+ ;"ARRAY2ST(ARRAY,SPACES) -- convert ARRAY (as created by GETSPECL) into one long string
+"RTN","TMGTIUO4",25,0)
+ ;"=======================================================================
+"RTN","TMGTIUO4",26,0)
+ ;"Dependancies :TMGTIUO3, TMGTIUO5, XLFSTR, %DT, %DTC  
+"RTN","TMGTIUO4",27,0)
+ ;"=======================================================================
+"RTN","TMGTIUO4",28,0)
+ ;
+"RTN","TMGTIUO4",29,0)
+BMI(HT,WT,BMI,IDEALWTS) ;
+"RTN","TMGTIUO4",30,0)
+        ;"Purpose: Calculate Body Mass Index
+"RTN","TMGTIUO4",31,0)
+        ;"Input: HT -- height string.  E.g. '60 in [152.4 cm] (05/08/2009 13:47)'
+"RTN","TMGTIUO4",32,0)
+        ;"       WT -- weight string   E.g. '160 lb [72.7 kg] (09/21/2010 11:06)'
+"RTN","TMGTIUO4",33,0)
+        ;"       BMI -- PASS BY REFERENCE, AN OUT PARAMETER.  Filled with BMI
+"RTN","TMGTIUO4",34,0)
+        ;"       IDEALWTS --PASS BY REFERENCE, AN OUT PARAMETER.  Filled with 'LowNormal^HighNormal'
+"RTN","TMGTIUO4",35,0)
+        ;"Output: BMI string.  E.g.  '32.5 (09/21/2010 11:06)', or '' if invalid
+"RTN","TMGTIUO4",36,0)
+        NEW RESULT SET RESULT=""
+"RTN","TMGTIUO4",37,0)
+        SET BMI=0,IDEALWTS=""
+"RTN","TMGTIUO4",38,0)
+        IF (WT'="")&(HT'="") DO
+"RTN","TMGTIUO4",39,0)
+        . NEW SWT,SHT,NWT,NHT,S1,WTDT,EWTDT,HTDT,EHTDT,BMIDT,EBMIDT,X,%DT
+"RTN","TMGTIUO4",40,0)
+        . SET EWTDT=$PIECE($PIECE($PIECE(WT,"(",2),")",1)," ",1) ;"WT date string
+"RTN","TMGTIUO4",41,0)
+        . SET EHTDT=$PIECE($PIECE($PIECE(HT,"(",2),")",1)," ",1) ;"HT date string
+"RTN","TMGTIUO4",42,0)
+        . SET X=EWTDT DO ^%DT SET WTDT=Y  ;"to FMFormat
+"RTN","TMGTIUO4",43,0)
+        . SET X=EHTDT DO ^%DT SET HTDT=Y  ;"to FMFormat
+"RTN","TMGTIUO4",44,0)
+        . IF HTDT<WTDT DO
+"RTN","TMGTIUO4",45,0)
+        . . SET EBMIDT=EHTDT
+"RTN","TMGTIUO4",46,0)
+        . . SET BMIDT=HTDT
+"RTN","TMGTIUO4",47,0)
+        . ELSE  DO
+"RTN","TMGTIUO4",48,0)
+        . . SET EBMIDT=EWTDT
+"RTN","TMGTIUO4",49,0)
+        . . SET BMIDT=WTDT
+"RTN","TMGTIUO4",50,0)
+        . SET SWT=$$REMOVEDT^TMGTIUO3(WT)
+"RTN","TMGTIUO4",51,0)
+        . SET SHT=$$REMOVEDT^TMGTIUO3(HT)
+"RTN","TMGTIUO4",52,0)
+        . SET S1=$PIECE(SWT,"[",2)  ;"convert '200 lb [91.2 kg]' --> '91.2 kg]'
+"RTN","TMGTIUO4",53,0)
+        . SET NWT=+$PIECE(S1," ",1) ;"convert '91.2 kg]' --> 91.2
+"RTN","TMGTIUO4",54,0)
+        . SET S1=$PIECE(SHT,"[",2)  ;"convert '56 in [130 cm]' --> '130 cm]'
+"RTN","TMGTIUO4",55,0)
+        . SET NHT=+$PIECE(S1," ",1) ;"convert '130 cm]' --> 130
+"RTN","TMGTIUO4",56,0)
+        . SET NHT=NHT/100 QUIT:(NHT=0)  ;"convert centimeters to meters
+"RTN","TMGTIUO4",57,0)
+        . NEW MSQR SET MSQR=(NHT*NHT)
+"RTN","TMGTIUO4",58,0)
+        . SET BMI=+$JUSTIFY(NWT/MSQR,0,1) QUIT:BMI=0
+"RTN","TMGTIUO4",59,0)
+        . NEW IDEALLB1,IDEALLB2
+"RTN","TMGTIUO4",60,0)
+        . SET IDEALLB1=((18.5*MSQR)*2.2)\1
+"RTN","TMGTIUO4",61,0)
+        . SET IDEALLB2=((25*MSQR)*2.2)\1
+"RTN","TMGTIUO4",62,0)
+        . SET IDEALWTS=IDEALLB1_"^"_IDEALLB2
+"RTN","TMGTIUO4",63,0)
+        . SET RESULT=BMI_" ("_EBMIDT_")"
+"RTN","TMGTIUO4",64,0)
+        QUIT RESULT
+"RTN","TMGTIUO4",65,0)
+        ;
+"RTN","TMGTIUO4",66,0)
+        ;
+"RTN","TMGTIUO4",67,0)
+BMICOMNT(BMI,PTAGE,IDEALWTS) ;"BMI COMMENT
+"RTN","TMGTIUO4",68,0)
+        ;"Purpose: provide comment on BMI
+"RTN","TMGTIUO4",69,0)
+        ;"Input: BMI -- numberical value of BMI
+"RTN","TMGTIUO4",70,0)
+        ;"       PTAGE -- AGE in years
+"RTN","TMGTIUO4",71,0)
+        ;"       IDEALWTS -- lowNormalLbs^HighNormalLbs
+"RTN","TMGTIUO4",72,0)
+        ;"Output: comment string
+"RTN","TMGTIUO4",73,0)
+        NEW RESULT
+"RTN","TMGTIUO4",74,0)
+        IF BMI<18.5 SET RESULT=" (<18.5 = ""UNDER-WT"")"
+"RTN","TMGTIUO4",75,0)
+        ELSE  IF BMI<25.01 SET RESULT=" (18.5-25 = ""HEALTHY"")"
+"RTN","TMGTIUO4",76,0)
+        ELSE  IF BMI<30.01 SET RESULT=" (25-30 = ""OVER-WT"")"
+"RTN","TMGTIUO4",77,0)
+        ELSE  IF BMI<40.01 SET RESULT=" (30-40 = ""OBESE"")"
+"RTN","TMGTIUO4",78,0)
+        ELSE  SET RESULT=" (>40 = ""VERY OBESE"")"
+"RTN","TMGTIUO4",79,0)
+        IF IDEALWTS'="" DO
+"RTN","TMGTIUO4",80,0)
+        . NEW IDEALLB1,IDEALLB2
+"RTN","TMGTIUO4",81,0)
+        . SET IDEALLB1=$PIECE(IDEALWTS,"^",1) QUIT:IDEALLB1=0
+"RTN","TMGTIUO4",82,0)
+        . SET IDEALLB2=$PIECE(IDEALWTS,"^",2) QUIT:IDEALLB2=0
+"RTN","TMGTIUO4",83,0)
+        . SET RESULT=RESULT_"; (Ideal Wt="_IDEALLB1_"-"_IDEALLB2_" lbs"
+"RTN","TMGTIUO4",84,0)
+        . IF (WT>IDEALLB2)&(PTAGE'<18) DO
+"RTN","TMGTIUO4",85,0)
+        . . SET RESULT=RESULT_"; "_(WT-IDEALLB2)_" lbs over weight); "
+"RTN","TMGTIUO4",86,0)
+        . ELSE  IF (WT<IDEALLB1)&(PTAGE'<18) DO
+"RTN","TMGTIUO4",87,0)
+        . . SET RESULT=RESULT_"; "_(IDEALLB1-WT)_" lbs under weight); "
+"RTN","TMGTIUO4",88,0)
+        . ELSE  DO
+"RTN","TMGTIUO4",89,0)
+        . . SET RESULT=RESULT_"); "
+"RTN","TMGTIUO4",90,0)
+        QUIT RESULT
+"RTN","TMGTIUO4",91,0)
+        ;
+"RTN","TMGTIUO4",92,0)
+WTTREND(DFN,TIU) ;
+"RTN","TMGTIUO4",93,0)
+        ;"Purpose: return text showing patient's trend in change of weight.
+"RTN","TMGTIUO4",94,0)
+        ;"         e.g. 215 <== 212 <== 256 <== 278
+"RTN","TMGTIUO4",95,0)
+        ;"Input: DFN=the Patient's IEN in file #2
+"RTN","TMGTIUO4",96,0)
+        ;"       TIU=PASS BY REFERENCE.  Should be an Array of TIU note info
+"RTN","TMGTIUO4",97,0)
+        ;"                               See documentation in VITALS^TMGTIUOJ(DFN,TIU)
+"RTN","TMGTIUO4",98,0)
+        ;"Results: Returns string describing changes in weight.
+"RTN","TMGTIUO4",99,0)
+        ;
+"RTN","TMGTIUO4",100,0)
+        NEW RESULT SET RESULT=""
+"RTN","TMGTIUO4",101,0)
+        NEW DATE SET DATE=$GET(TIU("EDT"))
+"RTN","TMGTIUO4",102,0)
+        IF +DATE'>0 DO  GOTO WTTRDONE
+"RTN","TMGTIUO4",103,0)
+        . SET RESULT="(No wts available)"
+"RTN","TMGTIUO4",104,0)
+        ;
+"RTN","TMGTIUO4",105,0)
+        NEW ARRAY
+"RTN","TMGTIUO4",106,0)
+        DO PRIORVIT(.DFN,DATE,"WEIGHT",.ARRAY)
+"RTN","TMGTIUO4",107,0)
+        ;
+"RTN","TMGTIUO4",108,0)
+        NEW DATE SET DATE=""
+"RTN","TMGTIUO4",109,0)
+        FOR  SET DATE=$ORDER(ARRAY(DATE),-1) QUIT:(+DATE'>0)  DO
+"RTN","TMGTIUO4",110,0)
+        . IF RESULT'="" SET RESULT=RESULT_" <== "
+"RTN","TMGTIUO4",111,0)
+        . SET RESULT=RESULT_$ORDER(ARRAY(DATE,""))
+"RTN","TMGTIUO4",112,0)
+        ;
+"RTN","TMGTIUO4",113,0)
+        SET RESULT="Wt trend: "_RESULT
+"RTN","TMGTIUO4",114,0)
+        ;
+"RTN","TMGTIUO4",115,0)
+WTTRDONE QUIT RESULT
+"RTN","TMGTIUO4",116,0)
+        ;
+"RTN","TMGTIUO4",117,0)
+        ;
+"RTN","TMGTIUO4",118,0)
+WTDELTA(DFN,TIU,NONULL) ;
+"RTN","TMGTIUO4",119,0)
+        ;"Purpose: return text showing patient's change in weight.
+"RTN","TMGTIUO4",120,0)
+        ;"Input: DFN=the Patient's IEN in file #2
+"RTN","TMGTIUO4",121,0)
+        ;"       TIU=PASS BY REFERENCE.  Should be an Array of TIU note info
+"RTN","TMGTIUO4",122,0)
+        ;"                               See documentation in VITALS(DFN,TIU)
+"RTN","TMGTIUO4",123,0)
+        ;"       NONULL -- optional.  Default=1.  If 0, no "?" returned
+"RTN","TMGTIUO4",124,0)
+        ;"Results: Returns string describing change in weight.
+"RTN","TMGTIUO4",125,0)
+        ;
+"RTN","TMGTIUO4",126,0)
+        NEW RESULT SET RESULT="Weight "
+"RTN","TMGTIUO4",127,0)
+        NEW DELTA
+"RTN","TMGTIUO4",128,0)
+        NEW DATE SET DATE=$GET(TIU("EDT"))  ;"Episode date
+"RTN","TMGTIUO4",129,0)
+        IF +DATE'>0 DO  GOTO WTDDONE
+"RTN","TMGTIUO4",130,0)
+        . IF +$GET(NONULL)=0 SET RESULT="" QUIT
+"RTN","TMGTIUO4",131,0)
+        . SET RESULT=RESULT_"change: ?"
+"RTN","TMGTIUO4",132,0)
+        ;
+"RTN","TMGTIUO4",133,0)
+        NEW ARRAY
+"RTN","TMGTIUO4",134,0)
+        DO PRIORVIT(.DFN,DATE,"WEIGHT",.ARRAY)
+"RTN","TMGTIUO4",135,0)
+        ;
+"RTN","TMGTIUO4",136,0)
+        NEW NTLAST,LAST
+"RTN","TMGTIUO4",137,0)
+        DO GETLAST2(.ARRAY,.NTLAST,.LAST)
+"RTN","TMGTIUO4",138,0)
+        SET LAST=+LAST
+"RTN","TMGTIUO4",139,0)
+        SET NTLAST=+NTLAST
+"RTN","TMGTIUO4",140,0)
+        IF NTLAST=0 SET RESULT="" GOTO WTDDONE
+"RTN","TMGTIUO4",141,0)
+        SET DELTA=LAST-NTLAST
+"RTN","TMGTIUO4",142,0)
+        IF DELTA>0 SET RESULT=RESULT_"up "_DELTA_" lbs. "
+"RTN","TMGTIUO4",143,0)
+        ELSE  IF DELTA<0 SET RESULT=RESULT_"down "_-DELTA_" lbs. "
+"RTN","TMGTIUO4",144,0)
+        ELSE  DO
+"RTN","TMGTIUO4",145,0)
+        . IF LAST=0 SET RESULT=RESULT_"change: ?" QUIT
+"RTN","TMGTIUO4",146,0)
+        . SET RESULT=RESULT_"unchanged. "
+"RTN","TMGTIUO4",147,0)
+        ;
+"RTN","TMGTIUO4",148,0)
+        IF (LAST>0)&(NTLAST>0) DO
+"RTN","TMGTIUO4",149,0)
+        . SET RESULT=RESULT_"("_LAST_" <== "_NTLAST_" prior wt)"
+"RTN","TMGTIUO4",150,0)
+        ;
+"RTN","TMGTIUO4",151,0)
+WTDDONE QUIT RESULT
+"RTN","TMGTIUO4",152,0)
+        ;
+"RTN","TMGTIUO4",153,0)
+        ;
+"RTN","TMGTIUO4",154,0)
+GETLAST2(ARRAY,NTLAST,LAST) ;
+"RTN","TMGTIUO4",155,0)
+        ;"Purpose: Returns last 2 values in array (as created by PRIORVIT)
+"RTN","TMGTIUO4",156,0)
+        ;"Input: ARRAY -- PASS BY REFERENCE.  Array as created by PRIORVIT
+"RTN","TMGTIUO4",157,0)
+        ;"          ARRAY(FMDATE,VALUE)=""
+"RTN","TMGTIUO4",158,0)
+        ;"          ARRAY(FMDATE,VALUE)=""
+"RTN","TMGTIUO4",159,0)
+        ;"       NTLAST --PASS BY REFERENCE, an OUT PARAMETER.
+"RTN","TMGTIUO4",160,0)
+        ;"                  Next-To-Last value in array list (sorted by ascending date)
+"RTN","TMGTIUO4",161,0)
+        ;"       LAST --  PASS BY REFERENCE, an OUT PARAMETER.
+"RTN","TMGTIUO4",162,0)
+        ;"                  Last value in array list (sorted by ascending date)
+"RTN","TMGTIUO4",163,0)
+        ;"Results: None
+"RTN","TMGTIUO4",164,0)
+        ;
+"RTN","TMGTIUO4",165,0)
+        NEW NTLASTDATE,LASTDATE
+"RTN","TMGTIUO4",166,0)
+        SET LASTDATE=""
+"RTN","TMGTIUO4",167,0)
+        SET LASTDATE=$ORDER(ARRAY(""),-1)
+"RTN","TMGTIUO4",168,0)
+        SET LAST=$ORDER(ARRAY(LASTDATE,""))
+"RTN","TMGTIUO4",169,0)
+        ;
+"RTN","TMGTIUO4",170,0)
+        SET NTLASTDATE=$ORDER(ARRAY(LASTDATE),-1)
+"RTN","TMGTIUO4",171,0)
+        SET NTLAST=$ORDER(ARRAY(NTLASTDATE,""))
+"RTN","TMGTIUO4",172,0)
+        ;
+"RTN","TMGTIUO4",173,0)
+        QUIT
+"RTN","TMGTIUO4",174,0)
+        ;
+"RTN","TMGTIUO4",175,0)
+        ;
+"RTN","TMGTIUO4",176,0)
+PRIORVIT(DFN,DATE,VITAL,ARRAY)  ;
+"RTN","TMGTIUO4",177,0)
+        ;"Purpose: To retrieve a list of prior vital entries for a patient
+"RTN","TMGTIUO4",178,0)
+        ;"         Note: entries up to *AND INCLUDING* the current day will be retrieved
+"RTN","TMGTIUO4",179,0)
+        ;"Input: DFN: the IEN of the patient, in file #2 (PATIENT)
+"RTN","TMGTIUO4",180,0)
+        ;"       DATE: Date (in FM format) of the current event.  Entries up to
+"RTN","TMGTIUO4",181,0)
+        ;"             AND INCLUDING this date will be retrieved.
+"RTN","TMGTIUO4",182,0)
+        ;"       VITAL: Vital to retrieve, GMRV VITAL TYPE file (#120.51)
+"RTN","TMGTIUO4",183,0)
+        ;"              Must be .01 value of a valid record
+"RTN","TMGTIUO4",184,0)
+        ;"              E.g. "ABDOMINAL GIRTH","BLOOD PRESSURE","HEIGHT", etc.
+"RTN","TMGTIUO4",185,0)
+        ;"       ARRAY: PASS BY REFERENCE, an OUT PARAMETER. Prior values killed.  Format as below.
+"RTN","TMGTIUO4",186,0)
+        ;"Output: ARRAY is filled as follows:
+"RTN","TMGTIUO4",187,0)
+        ;"          ARRAY(FMDATE,VALUE)=""
+"RTN","TMGTIUO4",188,0)
+        ;"          ARRAY(FMDATE,VALUE)=""
+"RTN","TMGTIUO4",189,0)
+        ;"        Or array will be empty if no values found.
+"RTN","TMGTIUO4",190,0)
+        ;"Result: None
+"RTN","TMGTIUO4",191,0)
+        SET DFN=+$GET(DFN)
+"RTN","TMGTIUO4",192,0)
+        IF DFN=0 GOTO GPVDONE
+"RTN","TMGTIUO4",193,0)
+        IF +$GET(DATE)=0 GOTO GPVDONE
+"RTN","TMGTIUO4",194,0)
+        IF $GET(VITAL)="" GOTO GPVDONE
+"RTN","TMGTIUO4",195,0)
+        NEW VITALTIEN
+"RTN","TMGTIUO4",196,0)
+        SET VITALTIEN=+$ORDER(^GMRD(120.51,"B",VITAL,""))
+"RTN","TMGTIUO4",197,0)
+        IF VITALTIEN'>0 GOTO GPVDONE
+"RTN","TMGTIUO4",198,0)
+        KILL ARRAY
+"RTN","TMGTIUO4",199,0)
+        ;
+"RTN","TMGTIUO4",200,0)
+        NEW IEN SET IEN=""
+"RTN","TMGTIUO4",201,0)
+        NEW X,X1,X2,%Y
+"RTN","TMGTIUO4",202,0)
+        FOR  SET IEN=$ORDER(^GMR(120.5,"C",DFN,IEN)) QUIT:(+IEN'>0)  DO
+"RTN","TMGTIUO4",203,0)
+        . NEW STR SET STR=$GET(^GMR(120.5,IEN,0))
+"RTN","TMGTIUO4",204,0)
+        . IF +$PIECE(STR,"^",3)'=VITALTIEN QUIT
+"RTN","TMGTIUO4",205,0)
+        . SET X1=DATE
+"RTN","TMGTIUO4",206,0)
+        . SET X2=+$PIECE(STR,"^",1)
+"RTN","TMGTIUO4",207,0)
+        . DO ^%DTC  ;"date delta
+"RTN","TMGTIUO4",208,0)
+        . IF %Y'=1 QUIT  ;"data unworkable
+"RTN","TMGTIUO4",209,0)
+        . IF X>-1 SET ARRAY(+$PIECE(STR,"^",1),+$PIECE(STR,"^",8))=""
+"RTN","TMGTIUO4",210,0)
+        ;
+"RTN","TMGTIUO4",211,0)
+GPVDONE QUIT
+"RTN","TMGTIUO4",212,0)
+        ;
+"RTN","TMGTIUO4",213,0)
+GETSPECL(DFN,STARTMARKERS,ENDMARKERS,MONTHS,ARRAY,MODE,SPACES) ;"GET SPECIAL
+"RTN","TMGTIUO4",214,0)
+        ;"Purpose: to return a block of text from notes for patient, starting with
+"RTN","TMGTIUO4",215,0)
+        ;"         STARTMARKERS, and ending with ENDMARKERS, searching backwards
+"RTN","TMGTIUO4",216,0)
+        ;"         within time period of 'MONTHS'.
+"RTN","TMGTIUO4",217,0)
+        ;"Input: DFN -- IEN of patient in PATIENT file.
+"RTN","TMGTIUO4",218,0)
+        ;"       STARTMARKERS -- the string to search for that indicates start of block
+"RTN","TMGTIUO4",219,0)
+        ;"       ENDMARKERS -- the string to search for that indicates the end of block.
+"RTN","TMGTIUO4",220,0)
+        ;"              NOTE: if ENDMARKERS="BLANK_LINE", then search is
+"RTN","TMGTIUO4",221,0)
+        ;"              ended when a blank line is encountered.
+"RTN","TMGTIUO4",222,0)
+        ;"       MONTHS -- Number of Months to search in.
+"RTN","TMGTIUO4",223,0)
+        ;"              E.g. 4 --> search in notes from last 4 months
+"RTN","TMGTIUO4",224,0)
+        ;"       ARRAY -- PASS BY REFERENCE. an OUT PARAMETER.  Old values killed. Format below
+"RTN","TMGTIUO4",225,0)
+        ;"       MODE: operation mode.  As follows:
+"RTN","TMGTIUO4",226,0)
+        ;"              1 = return only block from most recent match
+"RTN","TMGTIUO4",227,0)
+        ;"              2 = compile all.
+"RTN","TMGTIUO4",228,0)
+        ;"                  In this mode, the search is carried out from oldest to most
+"RTN","TMGTIUO4",229,0)
+        ;"                  recent, and newer blocks overlay older ones in a 'transparent'
+"RTN","TMGTIUO4",230,0)
+        ;"                  manner such that newer entries will overwrite older entries
+"RTN","TMGTIUO4",231,0)
+        ;"                  only for identical values.  For example:
+"RTN","TMGTIUO4",232,0)
+        ;"                  -- BLOCK --   <--- from date 1/1/1980
+"RTN","TMGTIUO4",233,0)
+        ;"                      TSH = 1.56
+"RTN","TMGTIUO4",234,0)
+        ;"                      LDL = 140
+"RTN","TMGTIUO4",235,0)
+        ;"                  -- END BLOCK --
+"RTN","TMGTIUO4",236,0)
+        ;"
+"RTN","TMGTIUO4",237,0)
+        ;"                  -- BLOCK --   <--- from date 2/1/1980
+"RTN","TMGTIUO4",238,0)
+        ;"                      LDL = 150
+"RTN","TMGTIUO4",239,0)
+        ;"                  -- END BLOCK --
+"RTN","TMGTIUO4",240,0)
+        ;"
+"RTN","TMGTIUO4",241,0)
+        ;"             The above two blocks will result in this final block
+"RTN","TMGTIUO4",242,0)
+        ;"                  -- BLOCK --
+"RTN","TMGTIUO4",243,0)
+        ;"                      TSH = 1.56
+"RTN","TMGTIUO4",244,0)
+        ;"                      LDL = 150   <--- this value overwrote older entry
+"RTN","TMGTIUO4",245,0)
+        ;"                  -- END BLOCK --
+"RTN","TMGTIUO4",246,0)
+        ;"
+"RTN","TMGTIUO4",247,0)
+        ;"              In this mode, only data that is in a LABEL <--> VALUE format
+"RTN","TMGTIUO4",248,0)
+        ;"                 will be checked for newer vs older entries.  All other
+"RTN","TMGTIUO4",249,0)
+        ;"                 lines will simply be included in one large summation block.
+"RTN","TMGTIUO4",250,0)
+        ;"              And the allowed format for LABEL <--> VALUE will be:
+"RTN","TMGTIUO4",251,0)
+        ;"                      Label = value      or
+"RTN","TMGTIUO4",252,0)
+        ;"                      Label : value
+"RTN","TMGTIUO4",253,0)
+        ;"       SPACES -- OPTIONAL.  Pass by reference. AN OUT PARAMETER.
+"RTN","TMGTIUO4",254,0)
+        ;"                      Fill with the space length that found tables are indented with.
+"RTN","TMGTIUO4",255,0)
+        ;"
+"RTN","TMGTIUO4",256,0)
+        ;"Output: ARRAY will be filled as follows:
+"RTN","TMGTIUO4",257,0)
+        ;"       ARRAY("text line")=""
+"RTN","TMGTIUO4",258,0)
+        ;"       ARRAY("text line")=""
+"RTN","TMGTIUO4",259,0)
+        ;"       ARRAY("KEY-VALUE",KEYName)=VALUE
+"RTN","TMGTIUO4",260,0)
+        ;"       ARRAY("KEY-VALUE",KEYName,"LINE")=original line
+"RTN","TMGTIUO4",261,0)
+        ;"Results: none
+"RTN","TMGTIUO4",262,0)
+        ;
+"RTN","TMGTIUO4",263,0)
+        NEW NOTESLIST
+"RTN","TMGTIUO4",264,0)
+        KILL ARRAY
+"RTN","TMGTIUO4",265,0)
+        SET DFN=+$GET(DFN)
+"RTN","TMGTIUO4",266,0)
+        IF DFN'>0 GOTO GSDONE
+"RTN","TMGTIUO4",267,0)
+        ;
+"RTN","TMGTIUO4",268,0)
+        NEW INCDAYS SET INCDAYS=+$GET(MONTHS)*30
+"RTN","TMGTIUO4",269,0)
+        DO GNOTELST^TMGTIUO5(DFN,.NOTESLIST,INCDAYS)
+"RTN","TMGTIUO4",270,0)
+        ;
+"RTN","TMGTIUO4",271,0)
+        NEW DIRECTION SET DIRECTION=1
+"RTN","TMGTIUO4",272,0)
+        IF MODE=1 SET DIRECTION=-1
+"RTN","TMGTIUO4",273,0)
+        NEW DONE SET DONE=0
+"RTN","TMGTIUO4",274,0)
+        NEW STARTTIME SET STARTTIME=""
+"RTN","TMGTIUO4",275,0)
+        FOR  SET STARTTIME=$ORDER(NOTESLIST(STARTTIME),DIRECTION) QUIT:(STARTTIME="")!DONE  DO
+"RTN","TMGTIUO4",276,0)
+        . NEW IEN8925 SET IEN8925=""
+"RTN","TMGTIUO4",277,0)
+        . FOR  SET IEN8925=$ORDER(NOTESLIST(STARTTIME,IEN8925),DIRECTION) QUIT:(+IEN8925'>0)!DONE  DO
+"RTN","TMGTIUO4",278,0)
+        . . NEW TEMPARRAY
+"RTN","TMGTIUO4",279,0)
+        . . IF $$XTRCTSPC^TMGTIUO5(IEN8925,.STARTMARKERS,.ENDMARKERS,.TEMPARRAY,.SPACES)=1 DO
+"RTN","TMGTIUO4",280,0)
+        . . . DO MERGEIN^TMGTIUO5(.TEMPARRAY,.ARRAY)
+"RTN","TMGTIUO4",281,0)
+        . . . IF MODE=1 SET DONE=1
+"RTN","TMGTIUO4",282,0)
+        ;
+"RTN","TMGTIUO4",283,0)
+GSDONE  QUIT
+"RTN","TMGTIUO4",284,0)
+        ;
+"RTN","TMGTIUO4",285,0)
+        ;
+"RTN","TMGTIUO4",286,0)
+ARRAY2ST(ARRAY,SPACES) ;
+"RTN","TMGTIUO4",287,0)
+        ;"Purpose: to convert ARRAY (as created by GETSPECL) into one long string
+"RTN","TMGTIUO4",288,0)
+        ;"Input: ARRAY.  Format as follows:
+"RTN","TMGTIUO4",289,0)
+        ;"         //kt old --> ARRAY("text line")=""
+"RTN","TMGTIUO4",290,0)
+        ;"         ARRAY(Seq#)="text line"
+"RTN","TMGTIUO4",291,0)
+        ;"         ARRAY(Seq#)="text line"
+"RTN","TMGTIUO4",292,0)
+        ;"         ARRAY("KEY-VALUE",KEYNAME)=VALUE
+"RTN","TMGTIUO4",293,0)
+        ;"         ARRAY("KEY-VALUE",KEYNAME,"LINE")=original line
+"RTN","TMGTIUO4",294,0)
+        ;"       SPACES : OPTIONAL.  Space to put before each added line.
+"RTN","TMGTIUO4",295,0)
+        NEW RESULT SET RESULT=""
+"RTN","TMGTIUO4",296,0)
+        NEW KEYNAME SET KEYNAME=""
+"RTN","TMGTIUO4",297,0)
+        SET SPACES=$GET(SPACES)
+"RTN","TMGTIUO4",298,0)
+        NEW TABLESPACE SET TABLESPACE=" "  ;"//kt need to figure how to have this work differently for text vs html
+"RTN","TMGTIUO4",299,0)
+        NEW SORTER
+"RTN","TMGTIUO4",300,0)
+        ;
+"RTN","TMGTIUO4",301,0)
+        FOR  SET KEYNAME=$ORDER(ARRAY("KEY-VALUE",KEYNAME)) QUIT:(KEYNAME="")  DO
+"RTN","TMGTIUO4",302,0)
+        . NEW LINE SET LINE=$$TRIM^XLFSTR($GET(ARRAY("KEY-VALUE",KEYNAME,"LINE")))
+"RTN","TMGTIUO4",303,0)
+        . IF LINE="" QUIT
+"RTN","TMGTIUO4",304,0)
+        . SET SORTER($$UP^XLFSTR(LINE))=LINE
+"RTN","TMGTIUO4",305,0)
+        KILL ARRAY("KEY-VALUE")
+"RTN","TMGTIUO4",306,0)
+        ;"Next, put standard lines
+"RTN","TMGTIUO4",307,0)
+        NEW I SET I=""
+"RTN","TMGTIUO4",308,0)
+        FOR  SET I=$ORDER(ARRAY(I)) QUIT:(I="")  DO
+"RTN","TMGTIUO4",309,0)
+        . NEW LINE SET LINE=$$TRIM^XLFSTR($GET(ARRAY(I))) QUIT:I=""
+"RTN","TMGTIUO4",310,0)
+        . IF LINE="" QUIT
+"RTN","TMGTIUO4",311,0)
+        . SET SORTER($$UP^XLFSTR(LINE))=LINE
+"RTN","TMGTIUO4",312,0)
+        ;"Now put in non-caps lines in CAP'd order
+"RTN","TMGTIUO4",313,0)
+        NEW LINE SET LINE=""
+"RTN","TMGTIUO4",314,0)
+        FOR  SET LINE=$ORDER(SORTER(LINE)) QUIT:LINE=""  DO
+"RTN","TMGTIUO4",315,0)
+        . NEW ONELINE SET ONELINE=$GET(SORTER(LINE))
+"RTN","TMGTIUO4",316,0)
+        . IF ONELINE="" QUIT
+"RTN","TMGTIUO4",317,0)
+        . IF RESULT'="" SET RESULT=RESULT_$CHAR(13)_$CHAR(10)
+"RTN","TMGTIUO4",318,0)
+        . SET RESULT=RESULT_SPACES_TABLESPACE_ONELINE
+"RTN","TMGTIUO4",319,0)
+        ;
+"RTN","TMGTIUO4",320,0)
+        ;""First, put in key-value lines
+"RTN","TMGTIUO4",321,0)
+        ;"FOR  SET KEYNAME=$ORDER(ARRAY("KEY-VALUE",KEYNAME)) QUIT:(KEYNAME="")  DO
+"RTN","TMGTIUO4",322,0)
+        ;". NEW LINE
+"RTN","TMGTIUO4",323,0)
+        ;". SET LINE=$GET(ARRAY("KEY-VALUE",KEYNAME,"LINE"))
+"RTN","TMGTIUO4",324,0)
+        ;". IF RESULT'="" SET RESULT=RESULT_$CHAR(13)_$CHAR(10)
+"RTN","TMGTIUO4",325,0)
+        ;". SET RESULT=RESULT_SPACES_TABLESPACE_LINE
+"RTN","TMGTIUO4",326,0)
+        ;"KILL ARRAY("KEY-VALUE")
+"RTN","TMGTIUO4",327,0)
+        ;"
+"RTN","TMGTIUO4",328,0)
+        ;""Next, put standard lines
+"RTN","TMGTIUO4",329,0)
+        ;"NEW I SET I=""
+"RTN","TMGTIUO4",330,0)
+        ;"FOR  SET I=$ORDER(ARRAY(I)) QUIT:(I="")  DO
+"RTN","TMGTIUO4",331,0)
+        ;". NEW LINE SET LINE=$GET(ARRAY(I)) QUIT:I=""
+"RTN","TMGTIUO4",332,0)
+        ;". IF RESULT'="" SET RESULT=RESULT_$CHAR(13)_$CHAR(10)
+"RTN","TMGTIUO4",333,0)
+        ;". SET RESULT=RESULT_SPACES_TABLESPACE_LINE
+"RTN","TMGTIUO4",334,0)
+        ;
+"RTN","TMGTIUO4",335,0)
+        QUIT RESULT
+"RTN","TMGTIUO4",336,0)
+        ;
+"RTN","TMGTIUO4",337,0)
+        ;
+"RTN","TMGTIUO5")
+0^15^B56372960
+"RTN","TMGTIUO5",1,0)
+TMGTIUO5 ;TMG/kst-Text objects for use in CPRS ; 7/20/12
+"RTN","TMGTIUO5",2,0)
+         ;;1.0;TMG-LIB;**1,17**;7/20/12;Build 23
+"RTN","TMGTIUO5",3,0)
+ ;
+"RTN","TMGTIUO5",4,0)
+ ;"Kevin Toppenberg MD
+"RTN","TMGTIUO5",5,0)
+ ;"(C) 10/2010
+"RTN","TMGTIUO5",6,0)
+ ;"Released under: GNU General Public License (GPL)
+"RTN","TMGTIUO5",7,0)
+ ;
+"RTN","TMGTIUO5",8,0)
+ ;" This is spill over code from TMGTIUOJ, to make that file size smaller.
+"RTN","TMGTIUO5",9,0)
+ ;"       
+"RTN","TMGTIUO5",10,0)
+ ;"=======================================================================
+"RTN","TMGTIUO5",11,0)
+ ;"PUBLIC FUNCTIONS
+"RTN","TMGTIUO5",12,0)
+ ;"=======================================================================
+"RTN","TMGTIUO5",13,0)
+ ;
+"RTN","TMGTIUO5",14,0)
+ ;"=======================================================================
+"RTN","TMGTIUO5",15,0)
+ ;"PRIVATE FUNCTIONS
+"RTN","TMGTIUO5",16,0)
+ ;"=======================================================================
+"RTN","TMGTIUO5",17,0)
+ ;"GNOTELST(DFN,LIST,INCDAYS) --Return a list of notes for patient in given time span
+"RTN","TMGTIUO5",18,0)
+ ;"XTRCTSPC(IEN8925,STARTMARKERS,ENDMARKERS,ARRAY,SPACES) -- scan the REPORT TEXT field in given document and return ...
+"RTN","TMGTIUO5",19,0)
+ ;"MERGEIN(PARTARRAY,MASTERARRAY) --combine PARTARRAY into MasterARRAY.
+"RTN","TMGTIUO5",20,0)
+ ;"=======================================================================
+"RTN","TMGTIUO5",21,0)
+ ;"Dependancies : %DTC TMGTHM1 XLFSTR
+"RTN","TMGTIUO5",22,0)
+ ;"=======================================================================
+"RTN","TMGTIUO5",23,0)
+GNOTELST(DFN,LIST,INCDAYS) ;"GET NOTE LIST
+"RTN","TMGTIUO5",24,0)
+        ;"Purpose: Return a list of notes for patient in given time span
+"RTN","TMGTIUO5",25,0)
+        ;"Input: DFN -- IEN in PATIENT file (the patient record number)
+"RTN","TMGTIUO5",26,0)
+        ;"       LIST -- PASS BY REFERENCE, an OUT PARAMETER. (Format below)
+"RTN","TMGTIUO5",27,0)
+        ;"       INCDAYS -- Number of DAYS to search in.
+"RTN","TMGTIUO5",28,0)
+        ;"              E.g. 4 --> get notes from last 4 days
+"RTN","TMGTIUO5",29,0)
+        ;"Output: LIST format:
+"RTN","TMGTIUO5",30,0)
+        ;"              LIST(FMTimeOfNote,IEN8925)=""
+"RTN","TMGTIUO5",31,0)
+        ;"              LIST(FMTimeOfNote,IEN8925)=""
+"RTN","TMGTIUO5",32,0)
+        ;"              LIST(FMTimeOfNote,IEN8925)=""
+"RTN","TMGTIUO5",33,0)
+        ;"        If no notes found, then array is left blank.  Prior entries KILLED
+"RTN","TMGTIUO5",34,0)
+        ;"Results: none
+"RTN","TMGTIUO5",35,0)
+        ;
+"RTN","TMGTIUO5",36,0)
+        KILL LIST
+"RTN","TMGTIUO5",37,0)
+        SET DFN=+$GET(DFN)
+"RTN","TMGTIUO5",38,0)
+        IF DFN'>0 GOTO GNLDONE
+"RTN","TMGTIUO5",39,0)
+        SET INCDAYS=+$GET(INCDAYS)
+"RTN","TMGTIUO5",40,0)
+        NEW TEMP
+"RTN","TMGTIUO5",41,0)
+        MERGE TEMP=^TIU(8925,"C",DFN)
+"RTN","TMGTIUO5",42,0)
+        SET IEN=""
+"RTN","TMGTIUO5",43,0)
+        FOR  SET IEN=$ORDER(TEMP(IEN)) QUIT:(IEN="")  DO
+"RTN","TMGTIUO5",44,0)
+        . NEW X,X1,X2,%Y,STARTDATE
+"RTN","TMGTIUO5",45,0)
+        . DO NOW^%DTC SET X1=X
+"RTN","TMGTIUO5",46,0)
+        . SET STARTDATE=$PIECE($GET(^TIU(8925,IEN,0)),"^",7)
+"RTN","TMGTIUO5",47,0)
+        . SET X2=STARTDATE
+"RTN","TMGTIUO5",48,0)
+        . DO ^%DTC ;"calculate X=X1-X2.  Returns #days between
+"RTN","TMGTIUO5",49,0)
+        . IF X>INCDAYS QUIT
+"RTN","TMGTIUO5",50,0)
+        . SET LIST(STARTDATE,IEN)=""
+"RTN","TMGTIUO5",51,0)
+        ;
+"RTN","TMGTIUO5",52,0)
+GNLDONE QUIT
+"RTN","TMGTIUO5",53,0)
+        ;
+"RTN","TMGTIUO5",54,0)
+        ;
+"RTN","TMGTIUO5",55,0)
+XTRCTSPC(IEN8925,STARTMARKERS,ENDMARKERS,ARRAY,SPACES) ;"EXTRACT SPECIAL
+"RTN","TMGTIUO5",56,0)
+        ;"Purpose: To scan the REPORT TEXT field in given document and return
+"RTN","TMGTIUO5",57,0)
+        ;"         paragraph of text that is started by STARTMARKERS, and ended by ENDMARKERS.
+"RTN","TMGTIUO5",58,0)
+        ;"         I.E. Search for a line that contains MARKERS.  Return that line and
+"RTN","TMGTIUO5",59,0)
+        ;"         all following lines until line found with ENDMARKERS, or
+"RTN","TMGTIUO5",60,0)
+        ;"         end of text.
+"RTN","TMGTIUO5",61,0)
+        ;"Input: IEN8925 -- IEN in file 8925 (TIU DOCUMENT)
+"RTN","TMGTIUO5",62,0)
+        ;"       STARTMARKERS -- the string to search for that indicates start of block
+"RTN","TMGTIUO5",63,0)
+        ;"       ENDMARKERS -- the string to search for that indicates the end of block.
+"RTN","TMGTIUO5",64,0)
+        ;"              NOTE: if ENDMARKERS="BLANK_LINE", then search is
+"RTN","TMGTIUO5",65,0)
+        ;"              ended when a blank line is encountered.
+"RTN","TMGTIUO5",66,0)
+        ;"       ARRAY -- PASS BY REFERENCE, an OUT PARAMETER.  Prior values killed.
+"RTN","TMGTIUO5",67,0)
+        ;"              Format:  ARRAY(0)=MaxLineCount
+"RTN","TMGTIUO5",68,0)
+        ;"                       ARRAY(1)="Text line 1"
+"RTN","TMGTIUO5",69,0)
+        ;"                       ARRAY(2)="Text line 2" ...
+"RTN","TMGTIUO5",70,0)
+        ;"       SPACES -- OPTIONAL.  Pass by reference. AN OUT PARAMETER.
+"RTN","TMGTIUO5",71,0)
+        ;"                      Fill with the space length that found tables are indented with.
+"RTN","TMGTIUO5",72,0)
+        ;"Result: 1 if data found, otherwise 0
+"RTN","TMGTIUO5",73,0)
+        ;
+"RTN","TMGTIUO5",74,0)
+        NEW RESULT SET RESULT=0
+"RTN","TMGTIUO5",75,0)
+        NEW ISHTML
+"RTN","TMGTIUO5",76,0)
+        KILL ARRAY
+"RTN","TMGTIUO5",77,0)
+        SET SPACES=""
+"RTN","TMGTIUO5",78,0)
+        SET IEN8925=+$GET(IEN8925)
+"RTN","TMGTIUO5",79,0)
+        IF IEN8925'>0 GOTO ESDONE
+"RTN","TMGTIUO5",80,0)
+        IF $DATA(^TIU(8925,IEN8925,"TEXT"))'>0 GOTO ESDONE
+"RTN","TMGTIUO5",81,0)
+        IF $GET(STARTMARKERS)="" GOTO ESDONE
+"RTN","TMGTIUO5",82,0)
+        IF $GET(ENDMARKERS)="" GOTO ESDONE
+"RTN","TMGTIUO5",83,0)
+        NEW REF SET REF=$NAME(^TIU(8925,IEN8925,"TEXT"))
+"RTN","TMGTIUO5",84,0)
+        NEW TEMPARRAY
+"RTN","TMGTIUO5",85,0)
+        NEW ISHTML SET ISHTML=$$ISHTML^TMGHTM1(IEN8925)
+"RTN","TMGTIUO5",86,0)
+        IF ISHTML DO
+"RTN","TMGTIUO5",87,0)
+        . MERGE TEMPARRAY=^TIU(8925,IEN8925,"TEXT")
+"RTN","TMGTIUO5",88,0)
+        . DO HTML2TXT^TMGHTM1(.TEMPARRAY)
+"RTN","TMGTIUO5",89,0)
+        . SET REF="TEMPARRAY"
+"RTN","TMGTIUO5",90,0)
+        NEW LINE,I,BLOCKFOUND,DONE
+"RTN","TMGTIUO5",91,0)
+        SET LINE=0,I=0,BLOCKFOUND=0,DONE=0
+"RTN","TMGTIUO5",92,0)
+        FOR  SET LINE=$ORDER(@REF@(LINE)) QUIT:(LINE="")!DONE  DO
+"RTN","TMGTIUO5",93,0)
+        . NEW LINES SET LINES=$GET(@REF@(LINE,0))
+"RTN","TMGTIUO5",94,0)
+        . IF (BLOCKFOUND=0) DO  QUIT  ;"don't include header line with output
+"RTN","TMGTIUO5",95,0)
+        . . IF LINES[STARTMARKERS DO
+"RTN","TMGTIUO5",96,0)
+        . . . SET BLOCKFOUND=1
+"RTN","TMGTIUO5",97,0)
+        . . . FOR  QUIT:$EXTRACT(LINES,1)'=" "  DO
+"RTN","TMGTIUO5",98,0)
+        . . . . SET SPACES=SPACES_" "
+"RTN","TMGTIUO5",99,0)
+        . . . . SET LINES=$EXTRACT(LINES,2,$LENGTH(LINES))
+"RTN","TMGTIUO5",100,0)
+        . IF (BLOCKFOUND=1) DO
+"RTN","TMGTIUO5",101,0)
+        . . SET I=I+1,ARRAY(0)=I
+"RTN","TMGTIUO5",102,0)
+        . . NEW S2 SET S2=$$TRIM^XLFSTR(LINES)
+"RTN","TMGTIUO5",103,0)
+        . . SET S2=$$TRIM^XLFSTR(S2,"LR",$CHAR(9))
+"RTN","TMGTIUO5",104,0)
+        . . SET ARRAY(I)=LINES
+"RTN","TMGTIUO5",105,0)
+        . . IF S2="" SET ARRAY(I)=S2
+"RTN","TMGTIUO5",106,0)
+        . . SET RESULT=1
+"RTN","TMGTIUO5",107,0)
+        . . IF (ENDMARKERS="BLANK_LINE")&(S2="") SET BLOCKFOUND=0,DONE=1 QUIT
+"RTN","TMGTIUO5",108,0)
+        . . IF LINES[ENDMARKERS SET BLOCKFOUND=0,DONE=1 QUIT  ;"include line with END marker
+"RTN","TMGTIUO5",109,0)
+        IF 'ISHTML SET SPACES=$CHAR(9)
+"RTN","TMGTIUO5",110,0)
+        ;
+"RTN","TMGTIUO5",111,0)
+ESDONE  QUIT RESULT
+"RTN","TMGTIUO5",112,0)
+        ;
+"RTN","TMGTIUO5",113,0)
+        ;
+"RTN","TMGTIUO5",114,0)
+        ; 
+"RTN","TMGTIUO5",115,0)
+MERGEIN(PARTARRAY,MASTERARRAY) ;"MERGE INTO
+"RTN","TMGTIUO5",116,0)
+        ;"Purpose: to combine PARTARRAY into MasterARRAY.
+"RTN","TMGTIUO5",117,0)
+        ;"Input: PARTARRAY -- PASS BY REFERENCE
+"RTN","TMGTIUO5",118,0)
+        ;"       MASTERARRAY -- PASS BY REFERENCE
+"RTN","TMGTIUO5",119,0)
+        ;"Note:  Arrays are combine in a 'transparent' manner such that newer entries
+"RTN","TMGTIUO5",120,0)
+        ;"       will overwrite older entries only for identical values.  For example:
+"RTN","TMGTIUO5",121,0)
+        ;"                  -- BLOCK --   <--- MasterArray
+"RTN","TMGTIUO5",122,0)
+        ;"                      TSH = 1.56
+"RTN","TMGTIUO5",123,0)
+        ;"                      LDL = 140
+"RTN","TMGTIUO5",124,0)
+        ;"                  -- END BLOCK --
+"RTN","TMGTIUO5",125,0)
+        ;"
+"RTN","TMGTIUO5",126,0)
+        ;"                  -- BLOCK --   <--- PARTArray
+"RTN","TMGTIUO5",127,0)
+        ;"                      LDL = 150
+"RTN","TMGTIUO5",128,0)
+        ;"                  -- END BLOCK --
+"RTN","TMGTIUO5",129,0)
+        ;"
+"RTN","TMGTIUO5",130,0)
+        ;"             The above two blocks will result in this final array
+"RTN","TMGTIUO5",131,0)
+        ;"                  -- BLOCK --
+"RTN","TMGTIUO5",132,0)
+        ;"                      TSH = 1.56
+"RTN","TMGTIUO5",133,0)
+        ;"                      LDL = 150   <--- this value overwrote older entry
+"RTN","TMGTIUO5",134,0)
+        ;"                  -- END BLOCK --
+"RTN","TMGTIUO5",135,0)
+        ;"
+"RTN","TMGTIUO5",136,0)
+        ;"              In this mode, only data that is in a LABEL <--> VALUE format
+"RTN","TMGTIUO5",137,0)
+        ;"                 will be checked for newer vs older entries.  All other
+"RTN","TMGTIUO5",138,0)
+        ;"                 lines will simply be included in one large summation block.
+"RTN","TMGTIUO5",139,0)
+        ;"              And the allowed format for LABEL <--> VALUE will be:
+"RTN","TMGTIUO5",140,0)
+        ;"                      Label = value      or
+"RTN","TMGTIUO5",141,0)
+        ;"                      Label : value
+"RTN","TMGTIUO5",142,0)
+        ;"
+"RTN","TMGTIUO5",143,0)
+        ;"Output: MasterARRAY will be filled as follows:
+"RTN","TMGTIUO5",144,0)
+        ;"       ARRAY(Seq#)="text line"
+"RTN","TMGTIUO5",145,0)
+        ;"       ARRAY(Seq#)="text line"
+"RTN","TMGTIUO5",146,0)
+        ;"       //kt old --> ARRAY("text line")=""
+"RTN","TMGTIUO5",147,0)
+        ;"       ARRAY("KEY-VALUE",KEYName)=VALUE
+"RTN","TMGTIUO5",148,0)
+        ;"       ARRAY("KEY-VALUE",KEYName,"LINE")=original line
+"RTN","TMGTIUO5",149,0)
+        ;
+"RTN","TMGTIUO5",150,0)
+        NEW SORTARRAY
+"RTN","TMGTIUO5",151,0)
+        NEW LINENUM SET LINENUM=0
+"RTN","TMGTIUO5",152,0)
+        ;"NOTE: I think PARTARRAY AND TEMPARRAY are supposed to be the same thing
+"RTN","TMGTIUO5",153,0)
+        ;"FIX!!!
+"RTN","TMGTIUO5",154,0)
+        FOR  SET LINENUM=$ORDER(TEMPARRAY(LINENUM)) QUIT:(+LINENUM'>0)  DO
+"RTN","TMGTIUO5",155,0)
+        . NEW LINE SET LINE=$GET(TEMPARRAY(LINENUM))
+"RTN","TMGTIUO5",156,0)
+        . IF (LINE["=")!(LINE[":") DO
+"RTN","TMGTIUO5",157,0)
+        . . NEW KEY,SHORTKEY,VALUE,PIVOT
+"RTN","TMGTIUO5",158,0)
+        . . IF LINE["=" SET PIVOT="="
+"RTN","TMGTIUO5",159,0)
+        . . ELSE  SET PIVOT=":"
+"RTN","TMGTIUO5",160,0)
+        . . SET KEY=$PIECE(LINE,PIVOT,1)
+"RTN","TMGTIUO5",161,0)
+        . . SET SHORTKEY=$$UP^XLFSTR($$TRIM^XLFSTR(KEY))
+"RTN","TMGTIUO5",162,0)
+        . . SET VALUE=$PIECE(LINE,PIVOT,2,999)
+"RTN","TMGTIUO5",163,0)
+        . . SET VALUE=$$TRIM^XLFSTR(VALUE) ;"//kt 7/14/12
+"RTN","TMGTIUO5",164,0)
+        . . SET ARRAY("KEY-VALUE",SHORTKEY)=VALUE
+"RTN","TMGTIUO5",165,0)
+        . . SET ARRAY("KEY-VALUE",SHORTKEY,"LINE")=LINE
+"RTN","TMGTIUO5",166,0)
+        . ELSE  DO
+"RTN","TMGTIUO5",167,0)
+        . . IF LINE="" QUIT
+"RTN","TMGTIUO5",168,0)
+        . . SET LINE=$$TRIM^XLFSTR(LINE)  ;"//kt 7/14/12
+"RTN","TMGTIUO5",169,0)
+        . . SET SORTARRAY($$UP^XLFSTR(LINE))=LINE ;"//kt 7/14/12
+"RTN","TMGTIUO5",170,0)
+        . . ;"SET ARRAY(LINE)=""
+"RTN","TMGTIUO5",171,0)
+        NEW ONELINE SET ONELINE=""
+"RTN","TMGTIUO5",172,0)
+        NEW I SET I=1
+"RTN","TMGTIUO5",173,0)
+        FOR  SET ONELINE=$ORDER(SORTARRAY(ONELINE)) Q:ONELINE=""  DO
+"RTN","TMGTIUO5",174,0)
+        . NEW LINE SET LINE=$GET(SORTARRAY(ONELINE))
+"RTN","TMGTIUO5",175,0)
+        . SET ARRAY(I)=LINE
+"RTN","TMGTIUO5",176,0)
+        . SET I=I+1
+"RTN","TMGTIUO5",177,0)
+        ;
+"RTN","TMGTIUO5",178,0)
+        QUIT
+"RTN","TMGTIUO5",179,0)
+        ;
+"RTN","TMGTIUO5",180,0)
+        ;
+"RTN","TMGTIUO6")
+0^16^B57083103
+"RTN","TMGTIUO6",1,0)
+TMGTIUO6 ;TMG/kst-Text objects for use in CPRS ; 7/20/12
+"RTN","TMGTIUO6",2,0)
+         ;;1.0;TMG-LIB;**1,17**;7/20/12;Build 23
+"RTN","TMGTIUO6",3,0)
+ ;
+"RTN","TMGTIUO6",4,0)
+ ;"Kevin Toppenberg MD
+"RTN","TMGTIUO6",5,0)
+ ;"(C) 10/2010
+"RTN","TMGTIUO6",6,0)
+ ;"Released under: GNU General Public License (GPL)
+"RTN","TMGTIUO6",7,0)
+ ;
+"RTN","TMGTIUO6",8,0)
+ ;" This is spill over code from TMGTIUOJ, to make that file size smaller.
+"RTN","TMGTIUO6",9,0)
+ ;"       
+"RTN","TMGTIUO6",10,0)
+ ;"=======================================================================
+"RTN","TMGTIUO6",11,0)
+ ;"PUBLIC FUNCTIONS
+"RTN","TMGTIUO6",12,0)
+ ;"=======================================================================
+"RTN","TMGTIUO6",13,0)
+ ;"GETTABL1(DFN,LABEL)--Entry point for TIU objects, to return a table comprised from 1 prior table.
+"RTN","TMGTIUO6",14,0)
+ ;"GETTABLX(DFN,LABEL) --Entry point for TIU objects, to return a table comprised from prior notes.
+"RTN","TMGTIUO6",15,0)
+ ;
+"RTN","TMGTIUO6",16,0)
+ ;"=======================================================================
+"RTN","TMGTIUO6",17,0)
+ ;"PRIVATE FUNCTIONS
+"RTN","TMGTIUO6",18,0)
+ ;"=======================================================================
+"RTN","TMGTIUO6",19,0)
+ ;"STUBRECS(DFN,ARRAY,LABEL)  -- add stubs for recommended studies to Array
+"RTN","TMGTIUO6",20,0)
+ ;"=======================================================================
+"RTN","TMGTIUO6",21,0)
+ ;"Dependancies : 
+"RTN","TMGTIUO6",22,0)
+ ;"=======================================================================
+"RTN","TMGTIUO6",23,0)
+STUBRECS(DFN,ARRAY,LABEL)  ;"STUB RECOMMENDATIONS
+"RTN","TMGTIUO6",24,0)
+        ;"Purpose: to add stubs for recommended studies to Array
+"RTN","TMGTIUO6",25,0)
+        ;"Get age from DFN
+"RTN","TMGTIUO6",26,0)
+        SET DFN=+$GET(DFN)
+"RTN","TMGTIUO6",27,0)
+        IF DFN=0 GOTO SRDONE
+"RTN","TMGTIUO6",28,0)
+        NEW AGE SET AGE=+$$GET1^DIQ(2,DFN,.033)
+"RTN","TMGTIUO6",29,0)
+        NEW SEX SET SEX=$$GET1^DIQ(2,DFN,.02)
+"RTN","TMGTIUO6",30,0)
+        NEW DOB SET DOB=$$GET1^DIQ(2,DFN,.03,"I")
+"RTN","TMGTIUO6",31,0)
+        ;
+"RTN","TMGTIUO6",32,0)
+        IF LABEL="[STUDIES]" DO
+"RTN","TMGTIUO6",33,0)
+        . IF (SEX="FEMALE") DO
+"RTN","TMGTIUO6",34,0)
+        . . IF (AGE>39) DO ENSURE^TMGTIUO3(.ARRAY,"Mammogram")
+"RTN","TMGTIUO6",35,0)
+        . . IF (AGE>59) DO ENSURE^TMGTIUO3(.ARRAY,"Bone Density")
+"RTN","TMGTIUO6",36,0)
+        . . IF (AGE>20) DO ENSURE^TMGTIUO3(.ARRAY,"Pap")
+"RTN","TMGTIUO6",37,0)
+        . . IF (AGE>8)&(AGE<27) DO ENSURE^TMGTIUO3(.ARRAY,"Gardasil",":","#1 <no data>; #2  <no data>; #3  <no data> ")
+"RTN","TMGTIUO6",38,0)
+        . IF (SEX="MALE") DO
+"RTN","TMGTIUO6",39,0)
+        . . ;"IF (AGE>49) DO ENSURE^TMGTIUO3(.ARRAY,"PSA")
+"RTN","TMGTIUO6",40,0)
+        . . IF (AGE>8)&(AGE<21) DO ENSURE^TMGTIUO3(.ARRAY,"Gardasil",":","#1 <no data>; #2  <no data>; #3  <no data> ")
+"RTN","TMGTIUO6",41,0)
+        . IF AGE>64 DO ENSURE^TMGTIUO3(.ARRAY,"Pneumovax")
+"RTN","TMGTIUO6",42,0)
+        . IF (DOB>2440101)&(DOB<2661231) DO ENSURE^TMGTIUO3(.ARRAY,"Hepatitis C screen")  ;"DOB of 1945 through 1965
+"RTN","TMGTIUO6",43,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Flu Vaccine")
+"RTN","TMGTIUO6",44,0)
+        . IF (AGE>18) DO ENSURE^TMGTIUO3(.ARRAY,"Advance Directives")
+"RTN","TMGTIUO6",45,0)
+        . ;"IF (AGE>49) DO ENSURE^TMGTIUO3(.ARRAY,"Td")
+"RTN","TMGTIUO6",46,0)
+        . IF (AGE>59) DO ENSURE^TMGTIUO3(.ARRAY,"Zostavax")
+"RTN","TMGTIUO6",47,0)
+        . IF (AGE>1)&(AGE<19) DO ENSURE^TMGTIUO3(.ARRAY,"MMR",":","#1 <no data>; #2  <no data>")
+"RTN","TMGTIUO6",48,0)
+        . IF (AGE>0)&(AGE<21) DO ENSURE^TMGTIUO3(.ARRAY,"Hep B",":","#1 <no data>; #2  <no data>; #3  <no data> ")
+"RTN","TMGTIUO6",49,0)
+        . IF (AGE>1)&(AGE<19) DO ENSURE^TMGTIUO3(.ARRAY,"Hep A",":","#1 <no data>; #2  <no data>")
+"RTN","TMGTIUO6",50,0)
+        . IF (AGE>1)&(AGE<21) DO ENSURE^TMGTIUO3(.ARRAY,"Varivax",":","#1 <no data>; #2  <no data>")
+"RTN","TMGTIUO6",51,0)
+        . IF (AGE>10)&(AGE<65) DO ENSURE^TMGTIUO3(.ARRAY,"TdaP / Td")
+"RTN","TMGTIUO6",52,0)
+        . IF (AGE>10)&(AGE<23) DO ENSURE^TMGTIUO3(.ARRAY,"MCV4 (Menactra) #1 <no data>; #2 <no data>")
+"RTN","TMGTIUO6",53,0)
+        . IF (AGE>50) DO ENSURE^TMGTIUO3(.ARRAY,"Colonoscopy")
+"RTN","TMGTIUO6",54,0)
+        ELSE  IF LABEL="[DIABETIC STUDIES]" DO
+"RTN","TMGTIUO6",55,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"HgbA1c","=")
+"RTN","TMGTIUO6",56,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Diabetic Eye Exam")
+"RTN","TMGTIUO6",57,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Urine Microalbumin")
+"RTN","TMGTIUO6",58,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Diabetic Foot Exam")
+"RTN","TMGTIUO6",59,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"EKG")
+"RTN","TMGTIUO6",60,0)
+        . IF (AGE>39) DO ENSURE^TMGTIUO3(.ARRAY,"Anti-platelet Rx")
+"RTN","TMGTIUO6",61,0)
+        . IF (AGE<60) DO ENSURE^TMGTIUO3(.ARRAY,"Hep-B vaccination")
+"RTN","TMGTIUO6",62,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Regimen")
+"RTN","TMGTIUO6",63,0)
+        ELSE  IF LABEL="[LIPIDS]" DO
+"RTN","TMGTIUO6",64,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Total Cholesterol","=")
+"RTN","TMGTIUO6",65,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"LDL Cholesterol","=")
+"RTN","TMGTIUO6",66,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"HDL Cholesterol","=")
+"RTN","TMGTIUO6",67,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Triglycerides","=")
+"RTN","TMGTIUO6",68,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Date of last lipid panel")
+"RTN","TMGTIUO6",69,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"LDL Goal")
+"RTN","TMGTIUO6",70,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Liver Enzymes")
+"RTN","TMGTIUO6",71,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Regimen")
+"RTN","TMGTIUO6",72,0)
+        ELSE  IF LABEL="[SOCIAL HX]" DO
+"RTN","TMGTIUO6",73,0)
+        . IF (AGE>13) DO ENSURE^TMGTIUO3(.ARRAY,"Tobacco")
+"RTN","TMGTIUO6",74,0)
+        . IF (AGE>13) DO ENSURE^TMGTIUO3(.ARRAY,"EtOH")
+"RTN","TMGTIUO6",75,0)
+        ELSE  IF LABEL="[THYROID]" DO
+"RTN","TMGTIUO6",76,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Date of last study")
+"RTN","TMGTIUO6",77,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"TSH","=")
+"RTN","TMGTIUO6",78,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Regimen")
+"RTN","TMGTIUO6",79,0)
+        ELSE  IF LABEL="[HYPERTENSION]" DO
+"RTN","TMGTIUO6",80,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Date of last electrolytes")
+"RTN","TMGTIUO6",81,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"EKG")
+"RTN","TMGTIUO6",82,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Med-1")
+"RTN","TMGTIUO6",83,0)
+        ELSE  IF LABEL="[ANEMIA]" DO
+"RTN","TMGTIUO6",84,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Hgb")
+"RTN","TMGTIUO6",85,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Serum Fe")
+"RTN","TMGTIUO6",86,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"TIBC")
+"RTN","TMGTIUO6",87,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"% Sat")
+"RTN","TMGTIUO6",88,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"B12")
+"RTN","TMGTIUO6",89,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Folate")
+"RTN","TMGTIUO6",90,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Workup")
+"RTN","TMGTIUO6",91,0)
+        ELSE  IF LABEL="[ASTHMA]" DO
+"RTN","TMGTIUO6",92,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Peak Flow Personal Best")
+"RTN","TMGTIUO6",93,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Meds")
+"RTN","TMGTIUO6",94,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Rescue Inhaler Freq")
+"RTN","TMGTIUO6",95,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Pneumovax")
+"RTN","TMGTIUO6",96,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Triggers")
+"RTN","TMGTIUO6",97,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Smoker")
+"RTN","TMGTIUO6",98,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Nocturnal Symptoms")
+"RTN","TMGTIUO6",99,0)
+        ELSE  IF LABEL="[COPD]" DO
+"RTN","TMGTIUO6",100,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Meds")
+"RTN","TMGTIUO6",101,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Rescue Inhaler Freq")
+"RTN","TMGTIUO6",102,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Pneumovax")
+"RTN","TMGTIUO6",103,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Pulmonologist")
+"RTN","TMGTIUO6",104,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Home O2")
+"RTN","TMGTIUO6",105,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"PFT Testing")
+"RTN","TMGTIUO6",106,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Tobacco Cessation Counselling")
+"RTN","TMGTIUO6",107,0)
+        ELSE  IF LABEL="[OSTEOPENIA/OSTEOPOROSIS]" DO
+"RTN","TMGTIUO6",108,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Bone Density")
+"RTN","TMGTIUO6",109,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"T-Score Spine/Hips")
+"RTN","TMGTIUO6",110,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Regimen")
+"RTN","TMGTIUO6",111,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Advised Calcium ~1500 mg & Vit-D 1000-2000 IU")
+"RTN","TMGTIUO6",112,0)
+        ELSE  IF LABEL="[CHF]" DO
+"RTN","TMGTIUO6",113,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Pneumovax")
+"RTN","TMGTIUO6",114,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Anti-platelet Rx")
+"RTN","TMGTIUO6",115,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Beta-blocker")
+"RTN","TMGTIUO6",116,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"ACE-I/ARB")
+"RTN","TMGTIUO6",117,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Diuretic")
+"RTN","TMGTIUO6",118,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Digoxin")
+"RTN","TMGTIUO6",119,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Cardiologist")
+"RTN","TMGTIUO6",120,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Last echocardiogram")
+"RTN","TMGTIUO6",121,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Educated about sodium intake")
+"RTN","TMGTIUO6",122,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"Dry Weight")
+"RTN","TMGTIUO6",123,0)
+        ELSE  IF LABEL="[MEDICATIONS]" DO
+"RTN","TMGTIUO6",124,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"*Source of information")
+"RTN","TMGTIUO6",125,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"*Reconciliation date")
+"RTN","TMGTIUO6",126,0)
+        . DO ENSURE^TMGTIUO3(.ARRAY,"*Allergies sync'd with ERx on date")
+"RTN","TMGTIUO6",127,0)
+        ;
+"RTN","TMGTIUO6",128,0)
+SRDONE  QUIT
+"RTN","TMGTIUO6",129,0)
+        ;
+"RTN","TMGTIUO6",130,0)
+        ;
+"RTN","TMGTIUO6",131,0)
+GETTABL1(DFN,LABEL) ;
+"RTN","TMGTIUO6",132,0)
+        ;"Purpose: A call point for TIU objects, to return a table comprised from 1 prior table.
+"RTN","TMGTIUO6",133,0)
+        ;"NOTE: This type of table just gets the *LAST* table found (not a compilation)
+"RTN","TMGTIUO6",134,0)
+GT1     NEW ARRAY,RESULT SET RESULT=""
+"RTN","TMGTIUO6",135,0)
+        IF $GET(LABEL)="" GOTO GT1DONE
+"RTN","TMGTIUO6",136,0)
+        NEW SPACES SET SPACES=""
+"RTN","TMGTIUO6",137,0)
+        DO GETSPECL^TMGTIUO4(DFN,LABEL,"BLANK_LINE",48,.ARRAY,1,.SPACES)  ;"mode 1 = only last table; 2=compile
+"RTN","TMGTIUO6",138,0)
+        ;"SET RESULT="     -- "_LABEL_" ---------"_$CHAR(13)_$CHAR(10)
+"RTN","TMGTIUO6",139,0)
+        SET RESULT=SPACES_"-- "_LABEL_" ---------"_$CHAR(13)_$CHAR(10)
+"RTN","TMGTIUO6",140,0)
+        DO STUBRECS(.DFN,.ARRAY,LABEL)
+"RTN","TMGTIUO6",141,0)
+        SET RESULT=RESULT_$$ARRAY2ST^TMGTIUO4(.ARRAY,.SPACES)
+"RTN","TMGTIUO6",142,0)
+GT1DONE QUIT RESULT
+"RTN","TMGTIUO6",143,0)
+        ;
+"RTN","TMGTIUO6",144,0)
+        ;
+"RTN","TMGTIUO6",145,0)
+GETTABLX(DFN,LABEL) ;
+"RTN","TMGTIUO6",146,0)
+        ;"Purpose: A call point for TIU objects, to return a table comprised from prior notes.
+"RTN","TMGTIUO6",147,0)
+        ;"NOTE: This compiles a table from all prior matching tables in date range.
+"RTN","TMGTIUO6",148,0)
+        ;
+"RTN","TMGTIUO6",149,0)
+        GOTO GT1 ;"<-- Hack to force TableX to really be a Table1 type table.
+"RTN","TMGTIUO6",150,0)
+        ;
+"RTN","TMGTIUO6",151,0)
+        ;"NEW ARRAY,RESULT SET RESULT=""
+"RTN","TMGTIUO6",152,0)
+        ;"IF $GET(LABEL)="" GOTO GTXDONE
+"RTN","TMGTIUO6",153,0)
+        ;"SET RESULT="     -- "_LABEL_" ---------"_$CHAR(13)_$CHAR(10)
+"RTN","TMGTIUO6",154,0)
+        ;"DO GETSPECL^TMGTIUO4(DFN,LABEL,"BLANK_LINE",13,.ARRAY,2)  ;"mode 1 = only last table; 2=compile
+"RTN","TMGTIUO6",155,0)
+        ;"DO STUBRECS(.DFN,.ARRAY,LABEL)
+"RTN","TMGTIUO6",156,0)
+        ;"SET RESULT=RESULT_$$ARRAY2ST^TMGTIUO4(.ARRAY)
+"RTN","TMGTIUO6",157,0)
+GTXDONE ;"QUIT RESULT
+"RTN","TMGTIUO6",158,0)
+        ;
+"RTN","TMGTIUOJ")
+0^12^B58140826
+"RTN","TMGTIUOJ",1,0)
+TMGTIUOJ ;TMG/kst-Text objects for use in CPRS ; 7/17/12
+"RTN","TMGTIUOJ",2,0)
+         ;;1.0;TMG-LIB;**1,17**;03/25/06;Build 23
+"RTN","TMGTIUOJ",3,0)
+ ;
+"RTN","TMGTIUOJ",4,0)
+ ;"Kevin Toppenberg MD
+"RTN","TMGTIUOJ",5,0)
+ ;"(C) 10/2010
+"RTN","TMGTIUOJ",6,0)
+ ;"Released under: GNU General Public License (GPL)
+"RTN","TMGTIUOJ",7,0)
+ ;
+"RTN","TMGTIUOJ",8,0)
+ ;"=======================================================================
+"RTN","TMGTIUOJ",9,0)
+ ;"TMG text objects
+"RTN","TMGTIUOJ",10,0)
+ ;"
+"RTN","TMGTIUOJ",11,0)
+ ;"These are bits of code that return text to be included in progress notes etc.
+"RTN","TMGTIUOJ",12,0)
+ ;"They are called when the user puts text like this in a note:
+"RTN","TMGTIUOJ",13,0)
+ ;"     ... Mrs. Jone's vitals today are |VITALS|, measured in the office...
+"RTN","TMGTIUOJ",14,0)
+ ;"     'VITALS' would be a TIU TEXT OBJECT, managed through menu option 
+"RTN","TMGTIUOJ",15,0)
+ ;"     TIUFJ CREATE OBJECTS MGR
+"RTN","TMGTIUOJ",16,0)
+ ;
+"RTN","TMGTIUOJ",17,0)
+ ;"=======================================================================
+"RTN","TMGTIUOJ",18,0)
+ ;"PUBLIC FUNCTIONS
+"RTN","TMGTIUOJ",19,0)
+ ;"=======================================================================
+"RTN","TMGTIUOJ",20,0)
+ ;"$$VITALS(DFN,.TIU)
+"RTN","TMGTIUOJ",21,0)
+ ;"$$ONEVITAL(DFN,.TIU,TYPE)
+"RTN","TMGTIUOJ",22,0)
+ ;"$$NICENAME(DFN)
+"RTN","TMGTIUOJ",23,0)
+ ;"$$FNAME(DFN)
+"RTN","TMGTIUOJ",24,0)
+ ;"$$MNAME(DFN)
+"RTN","TMGTIUOJ",25,0)
+ ;"$$LNAME(DFN)
+"RTN","TMGTIUOJ",26,0)
+ ;"$$PHONENUM(DFN)
+"RTN","TMGTIUOJ",27,0)
+ ;"$$GETTABLX(DFN,LABEL)
+"RTN","TMGTIUOJ",28,0)
+ ;"$$GETTABL1(DFN,LABEL) -- return a table from prior notes.
+"RTN","TMGTIUOJ",29,0)
+ ;"$$GETTABLX(DFN,LABEL) -- return a table compiled from prior notes.
+"RTN","TMGTIUOJ",30,0)
+ ;"=======================================================================
+"RTN","TMGTIUOJ",31,0)
+ ;"PRIVATE FUNCTIONS
+"RTN","TMGTIUOJ",32,0)
+ ;"=======================================================================
+"RTN","TMGTIUOJ",33,0)
+ ;
+"RTN","TMGTIUOJ",34,0)
+ ;"=======================================================================
+"RTN","TMGTIUOJ",35,0)
+ ;"Dependancies :  TMGSTUT2 TMGTIUO3 TMGTIUO4 TMGTIUO6
+"RTN","TMGTIUOJ",36,0)
+ ;"                TIUL01 XLFDT TIULO XLFSTR
+"RTN","TMGTIUOJ",37,0)
+ ;"=======================================================================
+"RTN","TMGTIUOJ",38,0)
+ ;
+"RTN","TMGTIUOJ",39,0)
+VITALS(DFN,TIU) ;
+"RTN","TMGTIUOJ",40,0)
+        ;"Purpose: Return a composite Vitals string
+"RTN","TMGTIUOJ",41,0)
+        ;"Input: DFN -- the patient's unique ID (record#)
+"RTN","TMGTIUOJ",42,0)
+        ;"       TIU -- See documentation below.
+"RTN","TMGTIUOJ",43,0)
+        ;"Output: returns RESULT
+"RTN","TMGTIUOJ",44,0)
+        QUIT $$ONEVITAL(.DFN,.TIU,"ALL")
+"RTN","TMGTIUOJ",45,0)
+        ;
+"RTN","TMGTIUOJ",46,0)
+ONEVITAL(DFN,TIU,TYPE)    ;
+"RTN","TMGTIUOJ",47,0)
+        ;"Purpose: From GETVITALS, except only returns a single vital specified by TYPE
+"RTN","TMGTIUOJ",48,0)
+        ;"Input: DFN -- the patient's unique ID (record#)
+"RTN","TMGTIUOJ",49,0)
+        ;"       TIU -- this is an array created by TIU system that
+"RTN","TMGTIUOJ",50,0)
+        ;"              contains information about the document being
+"RTN","TMGTIUOJ",51,0)
+        ;"              edited/created.  I believe it has this structure:
+"RTN","TMGTIUOJ",52,0)
+        ;"                  TIU("VSTR") = LOC;VDT;VTYP
+"RTN","TMGTIUOJ",53,0)
+        ;"                  TIU("VISIT") = Visit File IFN^date?
+"RTN","TMGTIUOJ",54,0)
+        ;"                  TIU("STOP") = mark to defer workload
+"RTN","TMGTIUOJ",55,0)
+        ;"                  TIU("TYPE")=1^title DA^title Name  i.e.:  1^128^OFFICE VISIT^OFFICE VISIT
+"RTN","TMGTIUOJ",56,0)
+        ;"                  TIU("SVC")=service, e.g. 'FAMILY PRACTICE'
+"RTN","TMGTIUOJ",57,0)
+        ;"                  TIU("EDT")=TIUEDT^DateStr  = event begin time: FMDate^DateStr
+"RTN","TMGTIUOJ",58,0)
+        ;"                  TIU("LDT")=TIULDT^DateStr  = event end time: FMDate^DateStr
+"RTN","TMGTIUOJ",59,0)
+        ;"                  TIU("VSTR")=LOC;VDT;VTYP  e.g. 'x;x;OFFICE VISIT'
+"RTN","TMGTIUOJ",60,0)
+        ;"                  TIU("VISIT")=Visit File IFN
+"RTN","TMGTIUOJ",61,0)
+        ;"                  TIU("LOC")=TIULOC
+"RTN","TMGTIUOJ",62,0)
+        ;"                  TIU("VLOC")=TIULOC
+"RTN","TMGTIUOJ",63,0)
+        ;"                  TIU("STOP")=0  ;0=FALSE, don't worry about stop codes.
+"RTN","TMGTIUOJ",64,0)
+        ;"      TYPE -- "Wt" - Returns the weight value
+"RTN","TMGTIUOJ",65,0)
+        ;"              "Ht" - Returns the height value
+"RTN","TMGTIUOJ",66,0)
+        ;"              "BMI" - Returns the BMI value
+"RTN","TMGTIUOJ",67,0)
+        ;"              "HC" - Returns the Head Circumference value
+"RTN","TMGTIUOJ",68,0)
+        ;"              "TEMP","BP","Pulse" -- usual values
+"RTN","TMGTIUOJ",69,0)
+        ;"              "ALL" - (Default value) Return all values
+"RTN","TMGTIUOJ",70,0)
+        ;"              or Combination, e.g. "WT,HT,HC"
+"RTN","TMGTIUOJ",71,0)
+        ;"Results: String with value units and percentile (if available) and date if not current date
+"RTN","TMGTIUOJ",72,0)
+        ;"Output: returns RESULT
+"RTN","TMGTIUOJ",73,0)
+        NEW DEBUG SET DEBUG=0
+"RTN","TMGTIUOJ",74,0)
+        IF DEBUG=1 DO
+"RTN","TMGTIUOJ",75,0)
+        . MERGE TIU=^TMG("TMP","RPC","VITALS^TMGTIUOJ","TIU")
+"RTN","TMGTIUOJ",76,0)
+        . MERGE DFN=^TMG("TMP","RPC","VITALS^TMGTIUOJ","DFN")
+"RTN","TMGTIUOJ",77,0)
+        KILL ^TMG("TMP","RPC","VITALS^TMGTIUOJ")
+"RTN","TMGTIUOJ",78,0)
+        MERGE ^TMG("TMP","RPC","VITALS^TMGTIUOJ","TIU")=TIU
+"RTN","TMGTIUOJ",79,0)
+        MERGE ^TMG("TMP","RPC","VITALS^TMGTIUOJ","DFN")=DFN
+"RTN","TMGTIUOJ",80,0)
+        SET TYPE=$GET(TYPE,"ALL")
+"RTN","TMGTIUOJ",81,0)
+        NEW RESULT SET RESULT=""
+"RTN","TMGTIUOJ",82,0)
+        NEW CURDT SET CURDT=""
+"RTN","TMGTIUOJ",83,0)
+        NEW NOTEDT SET NOTEDT=""
+"RTN","TMGTIUOJ",84,0)
+        NEW INDENTSTR SET INDENTSTR="          "
+"RTN","TMGTIUOJ",85,0)
+        SET DFN=+$GET(DFN)
+"RTN","TMGTIUOJ",86,0)
+        NEW GENDER SET GENDER=$PIECE($GET(^DPT(DFN,0)),"^",2)
+"RTN","TMGTIUOJ",87,0)
+        SET NOTEDT=$$VISDATE^TIULO1(.TIU) ;"Get date of current note (in MM/DD/YY HR:MIN)
+"RTN","TMGTIUOJ",88,0)
+        SET NOTEDT=$PIECE(NOTEDT," ",1)   ;"Drop time
+"RTN","TMGTIUOJ",89,0)
+        NEW X SET X=$$DT^XLFDT()
+"RTN","TMGTIUOJ",90,0)
+        IF X'=NOTEDT\1 DO
+"RTN","TMGTIUOJ",91,0)
+        . SET CURDT=$$FMTE^XLFDT(X,"5D") ;"Outputs MM/DD/YYYY
+"RTN","TMGTIUOJ",92,0)
+        . ;"SET RESULT=RESULT_"("_CURDT_") "
+"RTN","TMGTIUOJ",93,0)
+        ELSE  SET CURDT=NOTEDT
+"RTN","TMGTIUOJ",94,0)
+        ;
+"RTN","TMGTIUOJ",95,0)
+        NEW PTAGE SET PTAGE=$$PTAGE^TMGTIUO3(DFN,NOTEDT) ;
+"RTN","TMGTIUOJ",96,0)
+        NEW WT SET WT=$$WEIGHT^TIULO(DFN)
+"RTN","TMGTIUOJ",97,0)
+        NEW HT SET HT=$$HEIGHT^TIULO(DFN)
+"RTN","TMGTIUOJ",98,0)
+        ;
+"RTN","TMGTIUOJ",99,0)
+        NEW FORCESHOW SET FORCESHOW=$SELECT(TYPE="ALL":0,(1=1):1)
+"RTN","TMGTIUOJ",100,0)
+        NEW OLDEXCLD
+"RTN","TMGTIUOJ",101,0)
+        ;
+"RTN","TMGTIUOJ",102,0)
+        IF (TYPE["TEMP")!(TYPE="ALL") DO
+"RTN","TMGTIUOJ",103,0)
+        . DO ADDVITAL^TMGTIUO3(.RESULT,$$TEMP^TIULO(DFN),"T",.CURDT,.NOTEDT,FORCESHOW,,.OLDEXCLD)
+"RTN","TMGTIUOJ",104,0)
+        IF (TYPE["BP")!(TYPE="ALL") DO
+"RTN","TMGTIUOJ",105,0)
+        . DO ADDVITAL^TMGTIUO3(.RESULT,$$BP^TIULO(DFN),"BP",.CURDT,.NOTEDT,FORCESHOW,,.OLDEXCLD)
+"RTN","TMGTIUOJ",106,0)
+        IF (TYPE["RESP")!(TYPE="ALL") DO
+"RTN","TMGTIUOJ",107,0)
+        . DO ADDVITAL^TMGTIUO3(.RESULT,$$RESP^TIULO(DFN),"R",.CURDT,.NOTEDT,FORCESHOW,,.OLDEXCLD)
+"RTN","TMGTIUOJ",108,0)
+        IF (TYPE["Pulse")!(TYPE="ALL") DO
+"RTN","TMGTIUOJ",109,0)
+        . DO ADDVITAL^TMGTIUO3(.RESULT,$$PULSE^TIULO(DFN),"P",.CURDT,.NOTEDT,FORCESHOW,,.OLDEXCLD)
+"RTN","TMGTIUOJ",110,0)
+        IF (TYPE["WT")!(TYPE="ALL") DO
+"RTN","TMGTIUOJ",111,0)
+        . DO ADDVITAL^TMGTIUO3(.RESULT,WT,"Wt",.CURDT,.NOTEDT,1,PTAGE,.OLDEXCLD)
+"RTN","TMGTIUOJ",112,0)
+        . IF (PTAGE<18)&($GET(OLDEXCLD("Wt"))=0) DO ADDPCTLE^TMGTIUO3(.RESULT,"Wt",WT,PTAGE,GENDER)
+"RTN","TMGTIUOJ",113,0)
+        IF (TYPE["HT")!(TYPE="ALL") DO
+"RTN","TMGTIUOJ",114,0)
+        . NEW INCHHT SET INCHHT=$$FORMATHT^TMGTIUO3(HT,PTAGE)
+"RTN","TMGTIUOJ",115,0)
+        . DO ADDVITAL^TMGTIUO3(.RESULT,INCHHT,"Ht",.CURDT,.NOTEDT,1,PTAGE,.OLDEXCLD)
+"RTN","TMGTIUOJ",116,0)
+        . IF (PTAGE<18)&($GET(OLDEXCLD("Ht"))=0) DO ADDPCTLE^TMGTIUO3(.RESULT,"Ht",HT,PTAGE,GENDER)
+"RTN","TMGTIUOJ",117,0)
+        IF TYPE["HC" DO
+"RTN","TMGTIUOJ",118,0)
+        . NEW HC,HCSTR SET HCSTR=$$HC^TMGTIUO3(DFN,.HC)
+"RTN","TMGTIUOJ",119,0)
+        . DO ADDVITAL^TMGTIUO3(.RESULT,HC,"HC",.CURDT,.NOTEDT,1,PTAGE,.OLDEXCLD)
+"RTN","TMGTIUOJ",120,0)
+        . IF PTAGE<18 DO ADDPCTLE^TMGTIUO3(.RESULT,"HC",HC,PTAGE,GENDER)
+"RTN","TMGTIUOJ",121,0)
+        . IF RESULT="" SET RESULT="N/A"
+"RTN","TMGTIUOJ",122,0)
+        IF (TYPE["BMI")!(TYPE="ALL") DO
+"RTN","TMGTIUOJ",123,0)
+        . IF ($GET(OLDEXCLD("Ht"))=1)!($GET(OLDEXCLD("Wt"))=1) QUIT
+"RTN","TMGTIUOJ",124,0)
+        . NEW BMISTR,BMI,IDEALWTS
+"RTN","TMGTIUOJ",125,0)
+        . SET BMISTR=$$BMI^TMGTIUO4(HT,WT,.BMI,.IDEALWTS) QUIT:BMI=0  ;"Sets BMISTR and BMI
+"RTN","TMGTIUOJ",126,0)
+        . DO ADDVITAL^TMGTIUO3(.RESULT,BMISTR,"BMI",.CURDT,.NOTEDT,1,PTAGE,.OLDEXCLD)
+"RTN","TMGTIUOJ",127,0)
+        . IF PTAGE<18 DO ADDPCTLE^TMGTIUO3(.RESULT,"BMI",BMI,PTAGE,GENDER)
+"RTN","TMGTIUOJ",128,0)
+        . IF (PTAGE>17)&(TYPE="ALL") SET RESULT=RESULT_$$BMICOMNT^TMGTIUO4(BMI,PTAGE,IDEALWTS) ;"BMI COMMENT
+"RTN","TMGTIUOJ",129,0)
+        IF (TYPE["WT")!(TYPE="ALL") DO  ;"Wt done in two parts
+"RTN","TMGTIUOJ",130,0)
+        . IF $GET(OLDEXCLD("Wt"))=1 QUIT
+"RTN","TMGTIUOJ",131,0)
+        . NEW WTDELTA SET WTDELTA=$$WTDELTA^TMGTIUO4(DFN,.TIU,0)
+"RTN","TMGTIUOJ",132,0)
+        . IF WTDELTA="" QUIT
+"RTN","TMGTIUOJ",133,0)
+        . SET RESULT=RESULT_"; "_WTDELTA
+"RTN","TMGTIUOJ",134,0)
+        ;
+"RTN","TMGTIUOJ",135,0)
+        IF RESULT="" DO
+"RTN","TMGTIUOJ",136,0)
+        . SET RESULT="[See vital-signs documented in chart]"
+"RTN","TMGTIUOJ",137,0)
+        ELSE  DO
+"RTN","TMGTIUOJ",138,0)
+        . NEW OUTARRAY,I
+"RTN","TMGTIUOJ",139,0)
+        . NEW R2 SET R2=""
+"RTN","TMGTIUOJ",140,0)
+        . IF $$SPLITLN^TMGSTUT2(RESULT,.OUTARRAY,60,0,10,";")
+"RTN","TMGTIUOJ",141,0)
+        . SET I=0 FOR  SET I=$ORDER(OUTARRAY(I)) QUIT:(+I'>0)  DO
+"RTN","TMGTIUOJ",142,0)
+        . . IF R2'="" SET R2=R2_";"_$CHAR(13,10)
+"RTN","TMGTIUOJ",143,0)
+        . . SET R2=R2_OUTARRAY(I)
+"RTN","TMGTIUOJ",144,0)
+        . SET RESULT=$$TRIM^XLFSTR(R2,"l")
+"RTN","TMGTIUOJ",145,0)
+        QUIT RESULT
+"RTN","TMGTIUOJ",146,0)
+        ;
+"RTN","TMGTIUOJ",147,0)
+TMGVISDT(TIU)  ;" Visit date
+"RTN","TMGTIUOJ",148,0)
+        QUIT $$TMGVISDT^TMGTIUO3(.TIU)
+"RTN","TMGTIUOJ",149,0)
+        ;
+"RTN","TMGTIUOJ",150,0)
+FNAME(DFN)  ;
+"RTN","TMGTIUOJ",151,0)
+        QUIT $$FNAME^TMGTIUO3(DFN)
+"RTN","TMGTIUOJ",152,0)
+        ;
+"RTN","TMGTIUOJ",153,0)
+MNAME(DFN) ;
+"RTN","TMGTIUOJ",154,0)
+        QUIT $$MNAME^TMGTIUO3(DFN)
+"RTN","TMGTIUOJ",155,0)
+        ;
+"RTN","TMGTIUOJ",156,0)
+LNAME(DFN) ;
+"RTN","TMGTIUOJ",157,0)
+        QUIT $$LNAME^TMGTIUO3(DFN)
+"RTN","TMGTIUOJ",158,0)
+        ;
+"RTN","TMGTIUOJ",159,0)
+NICENAME(DFN) ;
+"RTN","TMGTIUOJ",160,0)
+        QUIT $$NICENAME^TMGTIUO3(DFN)
+"RTN","TMGTIUOJ",161,0)
+        ;
+"RTN","TMGTIUOJ",162,0)
+PHONENUM(DFN) ;
+"RTN","TMGTIUOJ",163,0)
+        QUIT $$PHONENUM^TMGTIUO3(DFN)
+"RTN","TMGTIUOJ",164,0)
+        ;
+"RTN","TMGTIUOJ",165,0)
+WTTREND(DFN,TIU) ;
+"RTN","TMGTIUOJ",166,0)
+        QUIT $$WTTREND^TMGTIUO4(DFN,.TIU)
+"RTN","TMGTIUOJ",167,0)
+        ;"Purpose: return text showing patient's trend in change of weight.
+"RTN","TMGTIUOJ",168,0)
+        ;
+"RTN","TMGTIUOJ",169,0)
+GETTABL1(DFN,LABEL) ;
+"RTN","TMGTIUOJ",170,0)
+        ;"Purpose: A call point for TIU objects, to return a table comprised from 1 prior table.
+"RTN","TMGTIUOJ",171,0)
+        QUIT $$GETTABL1^TMGTIUO6(DFN,LABEL)
+"RTN","TMGTIUOJ",172,0)
+        ;
+"RTN","TMGTIUOJ",173,0)
+GETTABLX(DFN,LABEL) ;
+"RTN","TMGTIUOJ",174,0)
+        ;"Purpose: A call point for TIU objects, to return a table comprised from prior notes.
+"RTN","TMGTIUOJ",175,0)
+        QUIT $$GETTABLX^TMGTIUO6(DFN,LABEL)
+"RTN","TMGTIUOJ",176,0)
+        ;
+"RTN","TMGTIUOJ",177,0)
+MEDLIST(RESULT,DFN)  ;
+"RTN","TMGTIUOJ",178,0)
+        ;"Purpose: RPC (TMG GET MED LIST) to return a patient's med list
+"RTN","TMGTIUOJ",179,0)
+ SET RESULT=$$GETTABLX(DFN,"MEDICATIONS")
+"RTN","TMGTIUOJ",180,0)
+ QUIT
+"RTN","TMGTIUOJ",181,0)
+        ;
+"RTN","TMGUSRI2")
+0^26^B308853482
+"RTN","TMGUSRI2",1,0)
+TMGUSRI2 ;TMG/kst/SACC-compliant USER INTERFACE API FUNCTIONS ;7/17/12
+"RTN","TMGUSRI2",2,0)
+         ;;1.0;TMG-LIB;**1,17**;07/17/12;Build 23
+"RTN","TMGUSRI2",3,0)
+ ;
+"RTN","TMGUSRI2",4,0)
+ ;"TMG USER INTERFACE API FUNCTIONS
+"RTN","TMGUSRI2",5,0)
+ ;"SACC-Compliant version
+"RTN","TMGUSRI2",6,0)
+ ;"Kevin Toppenberg MD
+"RTN","TMGUSRI2",7,0)
+ ;"GNU General Public License (GPL) applies
+"RTN","TMGUSRI2",8,0)
+ ;"7-17-12
+"RTN","TMGUSRI2",9,0)
+ ;
+"RTN","TMGUSRI2",10,0)
+ ;"NOTE: This will contain SACC-compliant versions of code from TMGUSRIF
+"RTN","TMGUSRI2",11,0)
+ ;"      If routine is not found here, the please migrate the code 
+"RTN","TMGUSRI2",12,0)
+ ;"=======================================================================
+"RTN","TMGUSRI2",13,0)
+ ;" API -- Public Functions.
+"RTN","TMGUSRI2",14,0)
+ ;"=======================================================================
+"RTN","TMGUSRI2",15,0)
+ ;"POPUPBOX(TMGHEADER,TMGTEXT,TMGWIDTH) -- Provide an easy text output box
+"RTN","TMGUSRI2",16,0)
+ ;"PUARRAY(TMGINDENTW,TMGWIDTH,TMGARRAY,TMGMODAL) -- Draw a box and display text
+"RTN","TMGUSRI2",17,0)
+ ;"PRESS2GO -- Provide a 'press key to continue' action
+"RTN","TMGUSRI2",18,0)
+ ;"KEYPRESD(WANTCH,WAITTIME)  -- Check for a keypress
+"RTN","TMGUSRI2",19,0)
+ ;"USRABORT(ABORTLABEL) -- Checks if user pressed ESC key.  If so, verify 
+"RTN","TMGUSRI2",20,0)
+ ;"PROGBAR(VALUE,LABEL,MIN,MAX,WIDTH,STARTTIME)  -- Animate a progress bar
+"RTN","TMGUSRI2",21,0)
+ ; 
+"RTN","TMGUSRI2",22,0)
+ ;"=======================================================================
+"RTN","TMGUSRI2",23,0)
+ ;"Private Functions
+"RTN","TMGUSRI2",24,0)
+ ;"=======================================================================
+"RTN","TMGUSRI2",25,0)
+ ;
+"RTN","TMGUSRI2",26,0)
+ ;"=======================================================================
+"RTN","TMGUSRI2",27,0)
+ ;"DEPENDENCIES: TMGSTUT2, TMGTERM
+"RTN","TMGUSRI2",28,0)
+ ;"=======================================================================
+"RTN","TMGUSRI2",29,0)
+ ;
+"RTN","TMGUSRI2",30,0)
+POPUPBOX(TMGHEADER,TMGTEXT,TMGWIDTH,TMGINDENT) ;
+"RTN","TMGUSRI2",31,0)
+        ;"PUBLIC FUNCTION
+"RTN","TMGUSRI2",32,0)
+        ;"Purpose: To provide easy text output box
+"RTN","TMGUSRI2",33,0)
+        ;"Input: TMGHEADER -- a short string for header
+"RTN","TMGUSRI2",34,0)
+        ;"       TMGTEXT - the text to display
+"RTN","TMGUSRI2",35,0)
+        ;"       [TMGWIDTH] -- optional width specifier. Value=0 same as not specified
+"RTN","TMGUSRI2",36,0)
+        ;"       (TMGINDENT) -- uses a var with global scope (if defined) for indent amount
+"RTN","TMGUSRI2",37,0)
+        ;"Note: If text width not specified, and TMGTEXT is <= 60,
+"RTN","TMGUSRI2",38,0)
+        ;"        then all will be put on one line.
+"RTN","TMGUSRI2",39,0)
+        ;"        Otherwise, width is set to 60, and text is wrapped.
+"RTN","TMGUSRI2",40,0)
+        ;"        Also, text of the message can contain "\n", which will be interpreted
+"RTN","TMGUSRI2",41,0)
+        ;"        as a new-line character.
+"RTN","TMGUSRI2",42,0)
+        ;"Result: none
+"RTN","TMGUSRI2",43,0)
+        ;
+"RTN","TMGUSRI2",44,0)
+        NEW TMGNEWLN SET TMGNEWLN="\n"
+"RTN","TMGUSRI2",45,0)
+        NEW TMGTEXTOUT
+"RTN","TMGUSRI2",46,0)
+        NEW TMGTEXTI SET TMGTEXTI=0
+"RTN","TMGUSRI2",47,0)
+        NEW TMGPARTB SET TMGPARTB=""
+"RTN","TMGUSRI2",48,0)
+        NEW TMGPARTB1 SET TMGPARTB1=""
+"RTN","TMGUSRI2",49,0)
+        SET TMGWIDTH=+$GET(TMGWIDTH,0)
+"RTN","TMGUSRI2",50,0)
+        ;
+"RTN","TMGUSRI2",51,0)
+        SET TMGTEXTOUT(TMGTEXTI)=TMGHEADER
+"RTN","TMGUSRI2",52,0)
+        SET TMGTEXTI=TMGTEXTI+1
+"RTN","TMGUSRI2",53,0)
+        ;
+"RTN","TMGUSRI2",54,0)
+        IF TMGWIDTH=0 DO
+"RTN","TMGUSRI2",55,0)
+        . NEW TMGHEADERBASED
+"RTN","TMGUSRI2",56,0)
+        . NEW TMGNUMLINES
+"RTN","TMGUSRI2",57,0)
+        . NEW TMGHLEN SET TMGHLEN=$LENGTH(TMGHEADER)+4
+"RTN","TMGUSRI2",58,0)
+        . NEW TMGTLEN SET TMGTLEN=$LENGTH(TMGTEXT)+4
+"RTN","TMGUSRI2",59,0)
+        . IF TMGTLEN>TMGHLEN DO
+"RTN","TMGUSRI2",60,0)
+        . . SET TMGWIDTH=TMGTLEN
+"RTN","TMGUSRI2",61,0)
+        . . SET TMGHEADERBASED=0
+"RTN","TMGUSRI2",62,0)
+        . ELSE  DO
+"RTN","TMGUSRI2",63,0)
+        . . SET TMGWIDTH=TMGHLEN
+"RTN","TMGUSRI2",64,0)
+        . . SET TMGHEADERBASED=1
+"RTN","TMGUSRI2",65,0)
+        . IF TMGWIDTH>75 SET TMGWIDTH=75
+"RTN","TMGUSRI2",66,0)
+        . SET TMGNUMLINES=TMGTLEN/TMGWIDTH
+"RTN","TMGUSRI2",67,0)
+        . IF TMGTLEN#TMGWIDTH>0 SET TMGNUMLINES=TMGNUMLINES+1
+"RTN","TMGUSRI2",68,0)
+        . IF (TMGNUMLINES>1)&(TMGHEADERBASED=0) DO
+"RTN","TMGUSRI2",69,0)
+        . . SET TMGWIDTH=(TMGTLEN\TMGNUMLINES)+4
+"RTN","TMGUSRI2",70,0)
+        . . IF TMGWIDTH<TMGHLEN SET TMGWIDTH=TMGHLEN
+"RTN","TMGUSRI2",71,0)
+        . IF TMGWIDTH>75 SET TMGWIDTH=75
+"RTN","TMGUSRI2",72,0)
+        ;
+"RTN","TMGUSRI2",73,0)
+PUWBL1 ;"Load string up into TMGTEXT array, to pass to PUARRAY
+"RTN","TMGUSRI2",74,0)
+        IF TMGTEXT[TMGNEWLN DO
+"RTN","TMGUSRI2",75,0)
+        . DO CLEAVSTR^TMGSTUT2(.TMGTEXT,TMGNEWLN,.TMGPARTB1)
+"RTN","TMGUSRI2",76,0)
+        DO SPLITSTR^TMGSTUT2(.TMGTEXT,(TMGWIDTH-4),.TMGPARTB)
+"RTN","TMGUSRI2",77,0)
+        SET TMGPARTB=TMGPARTB_TMGPARTB1 SET TMGPARTB1=""
+"RTN","TMGUSRI2",78,0)
+        SET TMGTEXTOUT(TMGTEXTI)=TMGTEXT
+"RTN","TMGUSRI2",79,0)
+        SET TMGTEXTI=TMGTEXTI+1
+"RTN","TMGUSRI2",80,0)
+        IF $LENGTH(TMGPARTB)>0 DO  GOTO PUWBL1
+"RTN","TMGUSRI2",81,0)
+        . SET TMGTEXT=TMGPARTB
+"RTN","TMGUSRI2",82,0)
+        . SET TMGPARTB=""
+"RTN","TMGUSRI2",83,0)
+        ;
+"RTN","TMGUSRI2",84,0)
+        DO PUARRAY(.TMGINDENT,TMGWIDTH,.TMGTEXTOUT)
+"RTN","TMGUSRI2",85,0)
+        QUIT
+"RTN","TMGUSRI2",86,0)
+        ;
+"RTN","TMGUSRI2",87,0)
+PUARRAY(TMGINDENTW,TMGWIDTH,TMGARRAY,TMGMODAL) ;
+"RTN","TMGUSRI2",88,0)
+        ;"PUBLIC FUNCTION
+"RTN","TMGUSRI2",89,0)
+        ;"Purpose: To draw a box, of specified TMGWIDTH, and display text
+"RTN","TMGUSRI2",90,0)
+        ;"Input: TMGINDENTW = width of indent amount (how far from left margin)
+"RTN","TMGUSRI2",91,0)
+        ;"        TMGWIDTH = desired width of box.
+"RTN","TMGUSRI2",92,0)
+        ;"        TMGHEADER = one line of text to put in header of popup box
+"RTN","TMGUSRI2",93,0)
+        ;"        TMGARRAY: an array in following format:
+"RTN","TMGUSRI2",94,0)
+        ;"                TMGARRAY(0)=TMGHEADER
+"RTN","TMGUSRI2",95,0)
+        ;"                TMGARRAY(1)=Text line 1
+"RTN","TMGUSRI2",96,0)
+        ;"                TMGARRAY(2)=Text line 2
+"RTN","TMGUSRI2",97,0)
+        ;"                ...
+"RTN","TMGUSRI2",98,0)
+        ;"                TMGARRAY(n)=Text line n
+"RTN","TMGUSRI2",99,0)
+        ;"        TMGMODAL - really only has meaning for those time when
+"RTN","TMGUSRI2",100,0)
+        ;"                box will be passed to GUI X dialog box.
+"RTN","TMGUSRI2",101,0)
+        ;"                TMGMODAL=1 means stays in foreground,
+"RTN","TMGUSRI2",102,0)
+        ;"                      0 means leave box up, continue script execution.
+"RTN","TMGUSRI2",103,0)
+        ;"Note: Text will be clipped to fit in box.
+"RTN","TMGUSRI2",104,0)
+        ;"Result: None
+"RTN","TMGUSRI2",105,0)
+        ;
+"RTN","TMGUSRI2",106,0)
+        NEW TMGCMODAL SET TMGCMODAL="MODAL"
+"RTN","TMGUSRI2",107,0)
+        SET TMGMODAL=$GET(TMGMODAL,TMGCMODAL)
+"RTN","TMGUSRI2",108,0)
+        NEW TMGHEADER
+"RTN","TMGUSRI2",109,0)
+        NEW TMGTEXT SET TMGTEXT=""
+"RTN","TMGUSRI2",110,0)
+        NEW INDEX,TMGI,S
+"RTN","TMGUSRI2",111,0)
+        ;
+"RTN","TMGUSRI2",112,0)
+        ;"Scan array for any needed data substitution i.e. {{...}}
+"RTN","TMGUSRI2",113,0)
+        NEW TMGTEMPRESULT
+"RTN","TMGUSRI2",114,0)
+        SET INDEX=$ORDER(TMGARRAY(""))
+"RTN","TMGUSRI2",115,0)
+        FOR  DO  QUIT:INDEX=""
+"RTN","TMGUSRI2",116,0)
+        . SET S=TMGARRAY(INDEX)
+"RTN","TMGUSRI2",117,0)
+        . ;"SET TMGTEMPRESULT=$$CheckSubstituteData(.S)  ;"Do any data lookup needed
+"RTN","TMGUSRI2",118,0)
+        . SET TMGARRAY(INDEX)=S
+"RTN","TMGUSRI2",119,0)
+        . SET INDEX=$ORDER(TMGARRAY(INDEX))
+"RTN","TMGUSRI2",120,0)
+        ;
+"RTN","TMGUSRI2",121,0)
+        SET TMGINDENTW=$GET(TMGINDENTW,1) ;"default indent=1
+"RTN","TMGUSRI2",122,0)
+        SET TMGHEADER=$GET(TMGARRAY(0)," ")
+"RTN","TMGUSRI2",123,0)
+        SET TMGWIDTH=$GET(TMGWIDTH,40)   ;"default=40
+"RTN","TMGUSRI2",124,0)
+        ;
+"RTN","TMGUSRI2",125,0)
+        WRITE !
+"RTN","TMGUSRI2",126,0)
+        ;"Draw top line
+"RTN","TMGUSRI2",127,0)
+        FOR TMGI=1:1:TMGINDENTW WRITE " "
+"RTN","TMGUSRI2",128,0)
+        WRITE "+"
+"RTN","TMGUSRI2",129,0)
+        FOR TMGI=1:1:(TMGWIDTH-2) WRITE "="
+"RTN","TMGUSRI2",130,0)
+        WRITE "+",!
+"RTN","TMGUSRI2",131,0)
+        ;
+"RTN","TMGUSRI2",132,0)
+        ;"Draw Header line
+"RTN","TMGUSRI2",133,0)
+        DO SETSTLEN^TMGSTUT2(.TMGHEADER,TMGWIDTH-4)
+"RTN","TMGUSRI2",134,0)
+        FOR TMGI=1:1:TMGINDENTW WRITE " "
+"RTN","TMGUSRI2",135,0)
+        WRITE "| ",TMGHEADER," |..",!
+"RTN","TMGUSRI2",136,0)
+        ;
+"RTN","TMGUSRI2",137,0)
+        ;"Draw divider line
+"RTN","TMGUSRI2",138,0)
+        FOR TMGI=1:1:TMGINDENTW WRITE " "
+"RTN","TMGUSRI2",139,0)
+        WRITE "+"
+"RTN","TMGUSRI2",140,0)
+        FOR TMGI=1:1:(TMGWIDTH-2) WRITE "-"
+"RTN","TMGUSRI2",141,0)
+        WRITE "+ :",!
+"RTN","TMGUSRI2",142,0)
+        ;
+"RTN","TMGUSRI2",143,0)
+        ;"Put out message
+"RTN","TMGUSRI2",144,0)
+        SET INDEX=$ORDER(TMGARRAY(0))
+"RTN","TMGUSRI2",145,0)
+PUBLOOP IF INDEX="" GOTO BTMLINE
+"RTN","TMGUSRI2",146,0)
+        SET S=$GET(TMGARRAY(INDEX)," ")
+"RTN","TMGUSRI2",147,0)
+        DO SETSTLEN^TMGSTUT2(.S,TMGWIDTH-4)
+"RTN","TMGUSRI2",148,0)
+        FOR TMGI=1:1:TMGINDENTW WRITE " "
+"RTN","TMGUSRI2",149,0)
+        WRITE "| ",S," | :",!
+"RTN","TMGUSRI2",150,0)
+        SET INDEX=$ORDER(TMGARRAY(INDEX))
+"RTN","TMGUSRI2",151,0)
+        GOTO PUBLOOP
+"RTN","TMGUSRI2",152,0)
+        ;
+"RTN","TMGUSRI2",153,0)
+BTMLINE ;"Draw Bottom line
+"RTN","TMGUSRI2",154,0)
+        FOR TMGI=1:1:TMGINDENTW WRITE " "
+"RTN","TMGUSRI2",155,0)
+        WRITE "+"
+"RTN","TMGUSRI2",156,0)
+        FOR TMGI=1:1:(TMGWIDTH-2) WRITE "="
+"RTN","TMGUSRI2",157,0)
+        WRITE "+ :",!
+"RTN","TMGUSRI2",158,0)
+        ;
+"RTN","TMGUSRI2",159,0)
+        ;"Draw bottom shaddow
+"RTN","TMGUSRI2",160,0)
+        FOR TMGI=1:1:TMGINDENTW WRITE " "
+"RTN","TMGUSRI2",161,0)
+        WRITE "  "
+"RTN","TMGUSRI2",162,0)
+        WRITE ":"
+"RTN","TMGUSRI2",163,0)
+        FOR TMGI=1:1:(TMGWIDTH-2) WRITE "."
+"RTN","TMGUSRI2",164,0)
+        WRITE ".",!
+"RTN","TMGUSRI2",165,0)
+        ;
+"RTN","TMGUSRI2",166,0)
+        WRITE !
+"RTN","TMGUSRI2",167,0)
+PUADONE QUIT
+"RTN","TMGUSRI2",168,0)
+        ;
+"RTN","TMGUSRI2",169,0)
+PRESS2GO ;"PRESS TO CONTINUE / PRESSTOCONT
+"RTN","TMGUSRI2",170,0)
+        ;"Purpose: to provide a 'press key to continue' action
+"RTN","TMGUSRI2",171,0)
+        ;"RESULT: none
+"RTN","TMGUSRI2",172,0)
+        ;"Output: will SET TMGPTCABORT=1 if user entered ^
+"RTN","TMGUSRI2",173,0)
+        NEW STR SET STR="----- Press Key To Continue -----"
+"RTN","TMGUSRI2",174,0)
+        NEW LENSTR SET LENSTR=$LENGTH(STR)
+"RTN","TMGUSRI2",175,0)
+        WRITE STR
+"RTN","TMGUSRI2",176,0)
+        NEW CH SET CH=$$KEYPRESD(0,240)
+"RTN","TMGUSRI2",177,0)
+        IF (CH=94) SET TMGPTCABORT=1  ;"set abort user entered ^
+"RTN","TMGUSRI2",178,0)
+        ELSE  KILL TMGPTCABORT
+"RTN","TMGUSRI2",179,0)
+        DO CUB^TMGTERM(LENSTR)
+"RTN","TMGUSRI2",180,0)
+        SET $X=$X-LENSTR
+"RTN","TMGUSRI2",181,0)
+        NEW I FOR I=1:1:LENSTR WRITE " "
+"RTN","TMGUSRI2",182,0)
+        DO CUB^TMGTERM(LENSTR)
+"RTN","TMGUSRI2",183,0)
+        SET $X=$X-LENSTR
+"RTN","TMGUSRI2",184,0)
+        ;"WRITE !
+"RTN","TMGUSRI2",185,0)
+        QUIT
+"RTN","TMGUSRI2",186,0)
+        ;
+"RTN","TMGUSRI2",187,0)
+KEYPRESD(WANTCH,WAITTIME)  ;
+"RTN","TMGUSRI2",188,0)
+        ;"Purpose: to check for a keypress
+"RTN","TMGUSRI2",189,0)
+        ;"Input: WANTCH -- OPTIONAL, if 1, then Character is returned, not ASCII value
+"RTN","TMGUSRI2",190,0)
+        ;"       WAITTIME -- OPTIONAL, default is 0 (immediate return)
+"RTN","TMGUSRI2",191,0)
+        ;"Result: ASCII value of key, if pressed, -1 otherwise ("" if WANTCH=1)
+"RTN","TMGUSRI2",192,0)
+        ;"Note: this does NOT wait for user to press key
+"RTN","TMGUSRI2",193,0)
+        NEW INITXGRT SET INITXGRT=($DATA(XGRT)'=0)
+"RTN","TMGUSRI2",194,0)
+        IF 'INITXGRT DO INITKB^XGF("*")
+"RTN","TMGUSRI2",195,0)
+        NEW TEMP SET TEMP=$$READ^XGF(1,+$GET(WAITTIME))
+"RTN","TMGUSRI2",196,0)
+        IF $GET(WANTCH)'=1 SET TEMP=$ASCII(TEMP)
+"RTN","TMGUSRI2",197,0)
+        IF 'INITXGRT DO RESETKB^XGF
+"RTN","TMGUSRI2",198,0)
+        QUIT TEMP
+"RTN","TMGUSRI2",199,0)
+        ;
+"RTN","TMGUSRI2",200,0)
+        ;"SET WAITTIME=$GET(WAITTIME,0)
+"RTN","TMGUSRI2",201,0)
+        ;"READ *TEMP:WAITTIME   //<--- NOT SACC COMPLIANT
+"RTN","TMGUSRI2",202,0)
+        ;"IF $GET(WANTCH)=1 SET TEMP=$CHAR(TEMP)
+"RTN","TMGUSRI2",203,0)
+        ;"QUIT TEMP
+"RTN","TMGUSRI2",204,0)
+        ;
+"RTN","TMGUSRI2",205,0)
+USRABORT(ABORTLABEL)  ;
+"RTN","TMGUSRI2",206,0)
+        ;"Purpose: Checks if user pressed ESC key.  If so, then ask if abort wanted
+"RTN","TMGUSRI2",207,0)
+        ;"Note: return is immediate.
+"RTN","TMGUSRI2",208,0)
+        ;"Returns: 1 if user aborted, 0 if not.
+"RTN","TMGUSRI2",209,0)
+        NEW RESULT SET RESULT=0
+"RTN","TMGUSRI2",210,0)
+        IF $$KEYPRESD=27 DO
+"RTN","TMGUSRI2",211,0)
+        . NEW % SET %=2
+"RTN","TMGUSRI2",212,0)
+        . WRITE !,"Abort"
+"RTN","TMGUSRI2",213,0)
+        . IF $GET(ABORTLABEL)'="" DO
+"RTN","TMGUSRI2",214,0)
+        . . WRITE " "_ABORTLABEL
+"RTN","TMGUSRI2",215,0)
+        . DO YN^DICN WRITE !
+"RTN","TMGUSRI2",216,0)
+        . SET RESULT=(%=1)
+"RTN","TMGUSRI2",217,0)
+        QUIT RESULT
+"RTN","TMGUSRI2",218,0)
+        ;
+"RTN","TMGUSRI2",219,0)
+PROGBAR(VALUE,LABEL,MIN,MAX,WIDTH,STARTTIME)  ;"ProgressBar
+"RTN","TMGUSRI2",220,0)
+        ;"Purpose: to draw a progress bar on a line of the screen
+"RTN","TMGUSRI2",221,0)
+        ;"Input:   VALUE -- the current value to graph out
+"RTN","TMGUSRI2",222,0)
+        ;"         LABEL -- OPTIONAL -- a label to describe progres.  Default="Progress"
+"RTN","TMGUSRI2",223,0)
+        ;"         MIN -- OPTIONAL -- the minimal number that value will be.  Default is 0
+"RTN","TMGUSRI2",224,0)
+        ;"                      if MAX=-1 and MIN=-1 then turn on spin mode (see below)
+"RTN","TMGUSRI2",225,0)
+        ;"         MAX -- OPTIONAL -- the max number that value will be. Default is 100
+"RTN","TMGUSRI2",226,0)
+        ;"                      if MAX=-1 and MIN=-1 then turn on spin mode (see below)
+"RTN","TMGUSRI2",227,0)
+        ;"         WIDTH -- OPTIONAL -- the number of characters that the progress bar
+"RTN","TMGUSRI2",228,0)
+        ;"                              will be in WIDTH.  Default is 70
+"RTN","TMGUSRI2",229,0)
+        ;"         STARTTIME -- OPTIONAL -- start time of process.  If provided, it will
+"RTN","TMGUSRI2",230,0)
+        ;"              be used to determine remaining time.  Format should be same as $H
+"RTN","TMGUSRI2",231,0)
+        ;"Note: will use global ^TMP("TMG","PROGRESS-BAR",$J)
+"RTN","TMGUSRI2",232,0)
+        ;"Note: bar will look like this:
+"RTN","TMGUSRI2",233,0)
+        ;"              Progress:  27%-------->|-----------------------------------| (Time)
+"RTN","TMGUSRI2",234,0)
+        ;"Note--Spin Mode: To show motion without knowing the max amount, a spin mode is needed.
+"RTN","TMGUSRI2",235,0)
+        ;"              Progress:  |-----<==>--------------------------------------|
+"RTN","TMGUSRI2",236,0)
+        ;"              And the bar will move back and forth.
+"RTN","TMGUSRI2",237,0)
+        ;"              In this mode, value is ignored and is thus optional.
+"RTN","TMGUSRI2",238,0)
+        ;"              To use this mode, set MAX=-1,MIN=-1
+"RTN","TMGUSRI2",239,0)
+        ;"Result: None
+"RTN","TMGUSRI2",240,0)
+        ;
+"RTN","TMGUSRI2",241,0)
+        ;"FYI -- The preexisting way to do this, from Dave Whitten
+"RTN","TMGUSRI2",242,0)
+        ;"
+"RTN","TMGUSRI2",243,0)
+        ;"Did you try using the already existing function to do this?
+"RTN","TMGUSRI2",244,0)
+        ;"ie: try out this 'mini program'
+"RTN","TMGUSRI2",245,0)
+        ;">; need to set up vars like DUZ,DTIME, IO, IO(0), etc.
+"RTN","TMGUSRI2",246,0)
+        ;" D INIT^XPDID
+"RTN","TMGUSRI2",247,0)
+        ;" S XPDIDTOT=100
+"RTN","TMGUSRI2",248,0)
+        ;" D TITLE^XPDID("hello world")
+"RTN","TMGUSRI2",249,0)
+        ;" D UPDATE^XPDID(50)
+"RTN","TMGUSRI2",250,0)
+        ;" F AJJ=90:1:100 D UPDATE^XPDID(I)
+"RTN","TMGUSRI2",251,0)
+        ;" D EXIT^XPDID()
+"RTN","TMGUSRI2",252,0)
+        ;"
+"RTN","TMGUSRI2",253,0)
+        ;"The XPDID routine does modify the scroll region and make the
+"RTN","TMGUSRI2",254,0)
+        ;"application seem a bit more "GUI"-like, by the way...
+"RTN","TMGUSRI2",255,0)
+        ;"
+"RTN","TMGUSRI2",256,0)
+        ;"David
+"RTN","TMGUSRI2",257,0)
+        ;
+"RTN","TMGUSRI2",258,0)
+        DO  ;"Turn off cursor display, to prevent flickering
+"RTN","TMGUSRI2",259,0)
+        . NEW $ETRAP SET $ETRAP=""
+"RTN","TMGUSRI2",260,0)
+        . XECUTE ^%ZOSF("TRMOFF")
+"RTN","TMGUSRI2",261,0)
+        ;
+"RTN","TMGUSRI2",262,0)
+        NEW PREMARK,TEMPI,POSTMARK,PCT
+"RTN","TMGUSRI2",263,0)
+        NEW REFCT SET REFCT=$NAME(^TMP("TMG","PROGRESS-BAR",$J))
+"RTN","TMGUSRI2",264,0)
+        SET MAX=+$GET(MAX,100),MIN=+$GET(MIN,0)
+"RTN","TMGUSRI2",265,0)
+        SET WIDTH=+$GET(WIDTH,70)
+"RTN","TMGUSRI2",266,0)
+        SET LABEL=$GET(LABEL,"Progress")
+"RTN","TMGUSRI2",267,0)
+        ;
+"RTN","TMGUSRI2",268,0)
+        NEW SPINMODE SET SPINMODE=((MAX=-1)&(MIN=-1))
+"RTN","TMGUSRI2",269,0)
+        IF SPINMODE GOTO SPIN1  ;"<-- skip all this for spin mode
+"RTN","TMGUSRI2",270,0)
+        ;
+"RTN","TMGUSRI2",271,0)
+        IF (MAX-MIN)=0 SET PCT=0
+"RTN","TMGUSRI2",272,0)
+        ELSE  SET PCT=(VALUE-MIN)/(MAX-MIN)
+"RTN","TMGUSRI2",273,0)
+        IF PCT>1 SET PCT=1
+"RTN","TMGUSRI2",274,0)
+        IF PCT<0 SET PCT=0
+"RTN","TMGUSRI2",275,0)
+        IF (PCT<1)&($GET(STARTTIME)="") SET STARTTIME=$H
+"RTN","TMGUSRI2",276,0)
+        ;
+"RTN","TMGUSRI2",277,0)
+        SET STARTTIME=$GET(STARTTIME)  ;" +$GET 61053,61748 --> 61053
+"RTN","TMGUSRI2",278,0)
+        ;
+"RTN","TMGUSRI2",279,0)
+        NEW BARBERPOLE SET BARBERPOLE=+$GET(@REFCT@("BARBER POLE"))
+"RTN","TMGUSRI2",280,0)
+        IF $GET(@REFCT@("BARBER POLE","LAST INC"))'=$H DO
+"RTN","TMGUSRI2",281,0)
+        . SET BARBERPOLE=(BARBERPOLE-1)#4
+"RTN","TMGUSRI2",282,0)
+        . SET @REFCT@("BARBER POLE")=BARBERPOLE ;"should be 0,1,2, or 3)
+"RTN","TMGUSRI2",283,0)
+        . SET @REFCT@("BARBER POLE","LAST INC")=$H
+"RTN","TMGUSRI2",284,0)
+        ;
+"RTN","TMGUSRI2",285,0)
+        NEW CURRATE SET CURRATE=""
+"RTN","TMGUSRI2",286,0)
+        IF $GET(@REFCT@("START-TIME"))=STARTTIME DO
+"RTN","TMGUSRI2",287,0)
+        . NEW INTERVAL SET INTERVAL=$GET(@REFCT@("SAMPLING","INTERVAL"),10)
+"RTN","TMGUSRI2",288,0)
+        . SET CURRATE=$GET(@REFCT@("LATEST-RATE"))
+"RTN","TMGUSRI2",289,0)
+        . NEW COUNT SET COUNT=$GET(@REFCT@("SAMPLING","COUNT"))+1
+"RTN","TMGUSRI2",290,0)
+        . IF COUNT#INTERVAL=0 DO
+"RTN","TMGUSRI2",291,0)
+        . . NEW DELTATIME,DELTAVAL
+"RTN","TMGUSRI2",292,0)
+        . . SET DELTATIME=$$HDIFF^XLFDT($H,$GET(@REFCT@("SAMPLING","REF-TIME")),2)
+"RTN","TMGUSRI2",293,0)
+        . . IF DELTATIME=0 SET INTERVAL=INTERVAL*2
+"RTN","TMGUSRI2",294,0)
+        . . ELSE  IF DELTATIME>1000 SET INTERVAL=INTERVAL\1.5
+"RTN","TMGUSRI2",295,0)
+        . . SET DELTAVAL=VALUE-$GET(@REFCT@("SAMPLING","VALUE COUNT"))
+"RTN","TMGUSRI2",296,0)
+        . . IF DELTAVAL>0 SET CURRATE=DELTATIME/DELTAVAL  ;"dT/dValue
+"RTN","TMGUSRI2",297,0)
+        . . ELSE  SET CURRATE=""
+"RTN","TMGUSRI2",298,0)
+        . . SET @REFCT@("LATEST-RATE")=CURRATE
+"RTN","TMGUSRI2",299,0)
+        . . SET @REFCT@("SAMPLING","REF-TIME")=$H
+"RTN","TMGUSRI2",300,0)
+        . . SET @REFCT@("SAMPLING","VALUE COUNT")=VALUE
+"RTN","TMGUSRI2",301,0)
+        . SET @REFCT@("SAMPLING","COUNT")=COUNT#INTERVAL
+"RTN","TMGUSRI2",302,0)
+        . SET @REFCT@("SAMPLING","INTERVAL")=INTERVAL
+"RTN","TMGUSRI2",303,0)
+        ELSE  DO
+"RTN","TMGUSRI2",304,0)
+        . KILL @REFCT
+"RTN","TMGUSRI2",305,0)
+        . SET @REFCT@("START-TIME")=STARTTIME
+"RTN","TMGUSRI2",306,0)
+        . SET @REFCT@("SAMPLING","COUNT")=0
+"RTN","TMGUSRI2",307,0)
+        . SET @REFCT@("SAMPLING","REF-TIME")=$H
+"RTN","TMGUSRI2",308,0)
+        . SET @REFCT@("SAMPLING","VALUE COUNT")=VALUE
+"RTN","TMGUSRI2",309,0)
+        ;
+"RTN","TMGUSRI2",310,0)
+        NEW TIMESTR SET TIMESTR="  "
+"RTN","TMGUSRI2",311,0)
+        NEW REMAININGTIME SET REMAININGTIME=""
+"RTN","TMGUSRI2",312,0)
+        NEW DELTA SET DELTA=0
+"RTN","TMGUSRI2",313,0)
+        ;
+"RTN","TMGUSRI2",314,0)
+        IF CURRATE'="" DO
+"RTN","TMGUSRI2",315,0)
+        . NEW REMAINVAL SET REMAINVAL=(MAX-VALUE)
+"RTN","TMGUSRI2",316,0)
+        . IF REMAINVAL'<0 DO
+"RTN","TMGUSRI2",317,0)
+        . . SET REMAININGTIME=CURRATE*REMAINVAL
+"RTN","TMGUSRI2",318,0)
+        . ELSE  DO
+"RTN","TMGUSRI2",319,0)
+        . . SET DELTA=-1,REMAININGTIME=$$HDIFF^XLFDT($H,STARTTIME,2)
+"RTN","TMGUSRI2",320,0)
+        ELSE  IF $DATA(STARTTIME) DO
+"RTN","TMGUSRI2",321,0)
+        . IF PCT=0 QUIT
+"RTN","TMGUSRI2",322,0)
+        . SET TIMESTR=""
+"RTN","TMGUSRI2",323,0)
+        . SET DELTA=$$HDIFF^XLFDT($H,STARTTIME,2)
+"RTN","TMGUSRI2",324,0)
+        . IF DELTA<0 SET REMAININGTIME=-DELTA ;"just report # sec's overrun.
+"RTN","TMGUSRI2",325,0)
+        . SET REMAININGTIME=DELTA*((1/PCT)-1)
+"RTN","TMGUSRI2",326,0)
+        ;
+"RTN","TMGUSRI2",327,0)
+        IF REMAININGTIME'="" DO
+"RTN","TMGUSRI2",328,0)
+        . NEW DAYS SET DAYS=REMAININGTIME\86400  ;"86400 sec per day.
+"RTN","TMGUSRI2",329,0)
+        . IF DAYS>5 SET TIMESTR="<Stalled>  " QUIT
+"RTN","TMGUSRI2",330,0)
+        . SET REMAININGTIME=REMAININGTIME#86400
+"RTN","TMGUSRI2",331,0)
+        . NEW HOURS SET HOURS=REMAININGTIME\3600  ;"3600 sec per hour
+"RTN","TMGUSRI2",332,0)
+        . SET REMAININGTIME=REMAININGTIME#3600
+"RTN","TMGUSRI2",333,0)
+        . NEW MINUTES SET MINUTES=REMAININGTIME\60  ;"60 sec per min
+"RTN","TMGUSRI2",334,0)
+        . NEW SECONDS SET SECONDS=(REMAININGTIME#60)\1
+"RTN","TMGUSRI2",335,0)
+        . IF DAYS>0 SET TIMESTR=TIMESTR_DAYS_"d, "
+"RTN","TMGUSRI2",336,0)
+        . IF HOURS>0 SET TIMESTR=TIMESTR_HOURS_"h:"
+"RTN","TMGUSRI2",337,0)
+        . IF (MIN=0)&(SECONDS=0) DO
+"RTN","TMGUSRI2",338,0)
+        . . SET TIMESTR="       "
+"RTN","TMGUSRI2",339,0)
+        . ELSE  DO
+"RTN","TMGUSRI2",340,0)
+        . . SET TIMESTR=TIMESTR_MINUTES_":"
+"RTN","TMGUSRI2",341,0)
+        . . IF SECONDS<10 SET TIMESTR=TIMESTR_"0"
+"RTN","TMGUSRI2",342,0)
+        . . SET TIMESTR=TIMESTR_SECONDS_"   "
+"RTN","TMGUSRI2",343,0)
+        . IF DELTA<0 SET TIMESTR="+"_TIMESTR ;"just report # sec's overrun.
+"RTN","TMGUSRI2",344,0)
+        ELSE  SET TIMESTR="?? Time"
+"RTN","TMGUSRI2",345,0)
+        ;
+"RTN","TMGUSRI2",346,0)
+        SET WIDTH=WIDTH-$LENGTH(LABEL)-($LENGTH(TIMESTR)+1)
+"RTN","TMGUSRI2",347,0)
+        SET PREMARK=(WIDTH*PCT)\1
+"RTN","TMGUSRI2",348,0)
+        SET POSTMARK=WIDTH-PREMARK
+"RTN","TMGUSRI2",349,0)
+        ;
+"RTN","TMGUSRI2",350,0)
+        IF (MAX-MIN)=0 SET PCT=0
+"RTN","TMGUSRI2",351,0)
+        ELSE  SET PCT=(VALUE-MIN)/(MAX-MIN)
+"RTN","TMGUSRI2",352,0)
+        IF PCT>1 SET PCT=1
+"RTN","TMGUSRI2",353,0)
+        IF PCT<0 SET PCT=0
+"RTN","TMGUSRI2",354,0)
+        IF (PCT<1)&($GET(STARTTIME)="") SET STARTTIME=$H
+"RTN","TMGUSRI2",355,0)
+        ;
+"RTN","TMGUSRI2",356,0)
+        WRITE LABEL,":"
+"RTN","TMGUSRI2",357,0)
+        IF PCT<1 WRITE " "
+"RTN","TMGUSRI2",358,0)
+        IF PCT<0.1 WRITE " "
+"RTN","TMGUSRI2",359,0)
+        WRITE (PCT*100)\1,"% "
+"RTN","TMGUSRI2",360,0)
+        FOR TEMPI=0:1:PREMARK-1 DO
+"RTN","TMGUSRI2",361,0)
+        . IF (BARBERPOLE+TEMPI)#4=0 WRITE "~"
+"RTN","TMGUSRI2",362,0)
+        . ELSE  WRITE "-"
+"RTN","TMGUSRI2",363,0)
+        WRITE ">|"
+"RTN","TMGUSRI2",364,0)
+        FOR TEMPI=1:1:(POSTMARK-1) WRITE "-"
+"RTN","TMGUSRI2",365,0)
+        IF POSTMARK>0 WRITE "| "
+"RTN","TMGUSRI2",366,0)
+        WRITE TIMESTR
+"RTN","TMGUSRI2",367,0)
+        ;
+"RTN","TMGUSRI2",368,0)
+        GOTO PBD1
+"RTN","TMGUSRI2",369,0)
+        ;
+"RTN","TMGUSRI2",370,0)
+SPIN1   NEW SPINBAR SET SPINBAR=+$GET(@REFCT@("SPIN BAR"))
+"RTN","TMGUSRI2",371,0)
+        NEW SPINDIRECTION SET SPINDIRECTION=+$GET(@REFCT@("SPIN BAR","DIR")) ;"1=forward, -1=backwards
+"RTN","TMGUSRI2",372,0)
+        IF SPINDIRECTION=0 SET SPINDIRECTION=1
+"RTN","TMGUSRI2",373,0)
+        SET SPINBAR=SPINBAR+SPINDIRECTION
+"RTN","TMGUSRI2",374,0)
+        IF SPINBAR>100 DO
+"RTN","TMGUSRI2",375,0)
+        . SET SPINDIRECTION=-1
+"RTN","TMGUSRI2",376,0)
+        . SET SPINBAR=100
+"RTN","TMGUSRI2",377,0)
+        IF SPINBAR<0 DO
+"RTN","TMGUSRI2",378,0)
+        . SET SPINDIRECTION=1
+"RTN","TMGUSRI2",379,0)
+        . SET SPINBAR=0
+"RTN","TMGUSRI2",380,0)
+        SET @REFCT@("SPIN BAR")=SPINBAR
+"RTN","TMGUSRI2",381,0)
+        SET @REFCT@("SPIN BAR","DIR")=SPINDIRECTION
+"RTN","TMGUSRI2",382,0)
+        SET @REFCT@("SPIN BAR","LAST INC")=$H
+"RTN","TMGUSRI2",383,0)
+        ;
+"RTN","TMGUSRI2",384,0)
+        NEW MARKER SET MARKER="<=>"
+"RTN","TMGUSRI2",385,0)
+        SET WIDTH=WIDTH-$LENGTH(LABEL)-$LENGTH(MARKER)
+"RTN","TMGUSRI2",386,0)
+        SET PCT=SPINBAR/100
+"RTN","TMGUSRI2",387,0)
+        SET PREMARK=(WIDTH*PCT)\1
+"RTN","TMGUSRI2",388,0)
+        SET POSTMARK=WIDTH-PREMARK
+"RTN","TMGUSRI2",389,0)
+        ;
+"RTN","TMGUSRI2",390,0)
+        WRITE LABEL," |"
+"RTN","TMGUSRI2",391,0)
+        FOR TEMPI=0:1:PREMARK-1 WRITE "-"
+"RTN","TMGUSRI2",392,0)
+        WRITE MARKER
+"RTN","TMGUSRI2",393,0)
+        FOR TEMPI=1:1:(POSTMARK-1) WRITE "-"
+"RTN","TMGUSRI2",394,0)
+        IF PCT<1 WRITE "-"
+"RTN","TMGUSRI2",395,0)
+        WRITE "|"
+"RTN","TMGUSRI2",396,0)
+        ;
+"RTN","TMGUSRI2",397,0)
+PBD1    ;"WRITE $CHAR(13) SET $X=0
+"RTN","TMGUSRI2",398,0)
+        WRITE !
+"RTN","TMGUSRI2",399,0)
+        DO CUU^TMGTERM(1)
+"RTN","TMGUSRI2",400,0)
+        ;
+"RTN","TMGUSRI2",401,0)
+PBDONE  DO  ;"Turn cursor display back on.
+"RTN","TMGUSRI2",402,0)
+        . ;"NEW $ETRAP SET $ETRAP=""
+"RTN","TMGUSRI2",403,0)
+        . ;"XECUTE ^%ZOSF("TRMON")
+"RTN","TMGUSRI2",404,0)
+        . ;"U $I:(TERMINATOR=$C(13,127))
+"RTN","TMGUSRI2",405,0)
+        ;
+"RTN","TMGUSRI2",406,0)
+        QUIT
+"RTN","TMGUSRI2",407,0)
+        ;
+"RTN","TMGUSRI2",408,0)
+MENU(OPTIONS,DEFCHOICE,USERRAW)  ;
+"RTN","TMGUSRI2",409,0)
+        ;"Purpose: to provide a simple menuing system
+"RTN","TMGUSRI2",410,0)
+        ;"Input:  OPTIONS -- PASS BY REFERENCE
+"RTN","TMGUSRI2",411,0)
+        ;"        Format:
+"RTN","TMGUSRI2",412,0)
+        ;"              OPTIONS(0)=Header Text   <--- optional, default is MENU
+"RTN","TMGUSRI2",413,0)
+        ;"              OPTIONS(0,n)=Additional lines of header Text   <--- optional
+"RTN","TMGUSRI2",414,0)
+        ;"              OPTIONS(DispNumber)=MenuText_$C(9)_ReturnValue <-- _$C(9)_ReturnValue OPTIONAL, default is DispNumber
+"RTN","TMGUSRI2",415,0)
+        ;"              OPTIONS(DispNumber)=MenuText_$C(9)_ReturnValue
+"RTN","TMGUSRI2",416,0)
+        ;"              OPTIONS(DispNumber)=MenuText_$C(9)_ReturnValue
+"RTN","TMGUSRI2",417,0)
+        ;"              OPTIONS(-1,"COLOR","FG")=foreground color  (optional)
+"RTN","TMGUSRI2",418,0)
+        ;"              OPTIONS(-1,"COLOR","BG")=foreground color  (optional)
+"RTN","TMGUSRI2",419,0)
+        ;"        DEFCHOICE: OPTIONAL, the default menu value
+"RTN","TMGUSRI2",420,0)
+        ;"        USERRAW : OPTIONAL, PASS BY REFERENCE, an OUT PARAMETER.  Returns users raw input
+"RTN","TMGUSRI2",421,0)
+        ;"Results: The selected ReturnValue (or DispNumber if no ReturnValue provided), or ^ for abort
+"RTN","TMGUSRI2",422,0)
+        NEW RESULT SET RESULT="^"
+"RTN","TMGUSRI2",423,0)
+        NEW S,FG,BG,HDREXTRA
+"RTN","TMGUSRI2",424,0)
+        NEW WIDTH SET WIDTH=50
+"RTN","TMGUSRI2",425,0)
+        NEW LINE SET $PIECE(LINE,"=",WIDTH+1)=""
+"RTN","TMGUSRI2",426,0)
+MNU1    IF $DATA(OPTIONS(-1,"COLOR")) DO
+"RTN","TMGUSRI2",427,0)
+        . SET FG=$GET(OPTIONS(-1,"COLOR","FG"),0)
+"RTN","TMGUSRI2",428,0)
+        . SET BG=$GET(OPTIONS(-1,"COLOR","BG"),1)
+"RTN","TMGUSRI2",429,0)
+        . DO VCOLORS^TMGTERM(FG,BG)
+"RTN","TMGUSRI2",430,0)
+        WRITE LINE,!
+"RTN","TMGUSRI2",431,0)
+        WRITE $GET(OPTIONS(0),"MENU"),$$PAD2POS^TMGSTUT2(WIDTH),!
+"RTN","TMGUSRI2",432,0)
+        SET HDREXTRA=0
+"RTN","TMGUSRI2",433,0)
+        FOR  SET HDREXTRA=$ORDER(OPTIONS(0,HDREXTRA)) QUIT:HDREXTRA=""  DO
+"RTN","TMGUSRI2",434,0)
+        . WRITE OPTIONS(0,HDREXTRA),$$PAD2POS^TMGSTUT2(WIDTH),!
+"RTN","TMGUSRI2",435,0)
+        WRITE LINE,!
+"RTN","TMGUSRI2",436,0)
+        WRITE "OPTIONS:",$$PAD2POS^TMGSTUT2(WIDTH),!
+"RTN","TMGUSRI2",437,0)
+        ;
+"RTN","TMGUSRI2",438,0)
+        NEW DISPNUMBER SET DISPNUMBER=$ORDER(OPTIONS(0))
+"RTN","TMGUSRI2",439,0)
+        IF DISPNUMBER'="" FOR  DO  QUIT:(DISPNUMBER="")
+"RTN","TMGUSRI2",440,0)
+        . SET S=$GET(OPTIONS(DISPNUMBER))
+"RTN","TMGUSRI2",441,0)
+        . WRITE $$RJ^XLFSTR(DISPNUMBER,4),".",$$PAD2POS^TMGSTUT2(6)
+"RTN","TMGUSRI2",442,0)
+        . IF $DATA(OPTIONS(DISPNUMBER,"COLOR")) DO
+"RTN","TMGUSRI2",443,0)
+        . . SET FG=$GET(OPTIONS(DISPNUMBER,"COLOR","FG"),0)
+"RTN","TMGUSRI2",444,0)
+        . . SET BG=$GET(OPTIONS(DISPNUMBER,"COLOR","BG"),1)
+"RTN","TMGUSRI2",445,0)
+        . . DO VCOLORS^TMGTERM(FG,BG)
+"RTN","TMGUSRI2",446,0)
+        . WRITE $PIECE(S,$CHAR(9),1),$$PAD2POS^TMGSTUT2(WIDTH-1)
+"RTN","TMGUSRI2",447,0)
+        . IF $DATA(OPTIONS(DISPNUMBER,"COLOR")) DO
+"RTN","TMGUSRI2",448,0)
+        . . DO VTATRIB^TMGTERM(0) ;"Reset colors
+"RTN","TMGUSRI2",449,0)
+        . WRITE " ",!
+"RTN","TMGUSRI2",450,0)
+        . SET DISPNUMBER=$ORDER(OPTIONS(DISPNUMBER))
+"RTN","TMGUSRI2",451,0)
+        ;
+"RTN","TMGUSRI2",452,0)
+        WRITE LINE,!
+"RTN","TMGUSRI2",453,0)
+        ;
+"RTN","TMGUSRI2",454,0)
+        SET DEFCHOICE=$GET(DEFCHOICE,"^")
+"RTN","TMGUSRI2",455,0)
+        NEW INPUT
+"RTN","TMGUSRI2",456,0)
+        WRITE "Enter selection (^ to abort): ",DEFCHOICE,"// "
+"RTN","TMGUSRI2",457,0)
+        READ INPUT:$GET(DTIME,3600),!
+"RTN","TMGUSRI2",458,0)
+        IF INPUT="" SET INPUT=DEFCHOICE
+"RTN","TMGUSRI2",459,0)
+        SET USERRAW=INPUT
+"RTN","TMGUSRI2",460,0)
+        IF INPUT="^" GOTO MNUDONE
+"RTN","TMGUSRI2",461,0)
+        ;
+"RTN","TMGUSRI2",462,0)
+        SET S=$GET(OPTIONS(INPUT))
+"RTN","TMGUSRI2",463,0)
+        IF S="" SET S=$GET(OPTIONS($$UP^XLFSTR(INPUT)))
+"RTN","TMGUSRI2",464,0)
+        ;"IF S="" WRITE "??",!! GOTO MNU1
+"RTN","TMGUSRI2",465,0)
+        SET RESULT=$PIECE(S,$CHAR(9),2)
+"RTN","TMGUSRI2",466,0)
+        IF RESULT="" SET RESULT=INPUT
+"RTN","TMGUSRI2",467,0)
+        ;
+"RTN","TMGUSRI2",468,0)
+MNUDONE IF $DATA(OPTIONS(-1,"COLOR")) DO VTATRIB^TMGTERM(0) ;"Reset colors
+"RTN","TMGUSRI2",469,0)
+        QUIT RESULT
+"SEC","^DD",8925.1,8925.1,.01,8.5)
+
+"SEC","^DIC",101.24,101.24,0,"AUDIT")
+@
+"SEC","^DIC",101.24,101.24,0,"DD")
+@
+"SEC","^DIC",101.24,101.24,0,"DEL")
+@
+"SEC","^DIC",101.24,101.24,0,"LAYGO")
+@
+"SEC","^DIC",101.24,101.24,0,"RD")
+ 
+"SEC","^DIC",101.24,101.24,0,"WR")
+@
+"SEC","^DIC",8925.1,8925.1,0,"AUDIT")
+@
+"SEC","^DIC",8925.1,8925.1,0,"DD")
+@
+"SEC","^DIC",8925.1,8925.1,0,"DEL")
+@
+"SEC","^DIC",8925.1,8925.1,0,"RD")
+@
+"SEC","^DIC",8925.1,8925.1,0,"WR")
+@
+"SEC","^DIC",22713,22713,0,"AUDIT")
+@
+"SEC","^DIC",22713,22713,0,"DD")
+@
+"SEC","^DIC",22713,22713,0,"DEL")
+@
+"SEC","^DIC",22713,22713,0,"LAYGO")
+@
+"SEC","^DIC",22713,22713,0,"RD")
+@
+"SEC","^DIC",22713,22713,0,"WR")
+@
+"VER")
+8.0^22.0
+"^DD",101.24,101.24,0)
+FIELD^^.47^40
+"^DD",101.24,101.24,0,"DDA")
+N
+"^DD",101.24,101.24,0,"DT")
+3051006
+"^DD",101.24,101.24,0,"ID",.23)
+W:$D(^(2)) "   ",$P(^(2),U,3)
+"^DD",101.24,101.24,0,"ID",.24)
+W:$D(^(2)) "   ",$P(^(2),U,4)
+"^DD",101.24,101.24,0,"IX","AC",101.24,.02)
+
+"^DD",101.24,101.24,0,"IX","B",101.24,.01)
+
+"^DD",101.24,101.24,0,"NM","OE/RR REPORT")
+
+"^DD",101.24,101.24,0,"PT",101.24,.18)
+
+"^DD",101.24,101.24,0,"PT",101.241,.01)
+
+"^DD",101.24,101.24,0,"VRPK")
+OR
+"^DD",101.24,101.24,.001,0)
+NUMBER^NJ5,0^^ ^K:+X'=X!(X>10000)!(X<1)!(X?.E1"."1N.N) X
+"^DD",101.24,101.24,.001,3)
+Type a Number between 1 and 10000, 0 Decimal Digits
+"^DD",101.24,101.24,.001,21,0)
+^^1^1^3000921^
+"^DD",101.24,101.24,.001,21,1,0)
+This is the Number field for the file.
+"^DD",101.24,101.24,.001,"DT")
+3000920
+"^DD",101.24,101.24,.01,0)
+NAME^RF^^0;1^K:$L(X)>30!($L(X)<3)!'(X'?1P.E) X
+"^DD",101.24,101.24,.01,1,0)
+^.1^^-1
+"^DD",101.24,101.24,.01,1,1,0)
+101.24^B
+"^DD",101.24,101.24,.01,1,1,1)
+S ^ORD(101.24,"B",$E(X,1,30),DA)=""
+"^DD",101.24,101.24,.01,1,1,2)
+K ^ORD(101.24,"B",$E(X,1,30),DA)
+"^DD",101.24,101.24,.01,3)
+Answer must be 3-30 characters in length.
+"^DD",101.24,101.24,.01,21,0)
+^^1^1^3000921^
+"^DD",101.24,101.24,.01,21,1,0)
+This is the Name of the report.
+"^DD",101.24,101.24,.01,"DT")
+3010510
+"^DD",101.24,101.24,.02,0)
+ID^RF^^0;2^K:$L(X)>10!($L(X)<1) X
+"^DD",101.24,101.24,.02,1,0)
+^.1
+"^DD",101.24,101.24,.02,1,1,0)
+101.24^AC
+"^DD",101.24,101.24,.02,1,1,1)
+S ^ORD(101.24,"AC",$E(X,1,30),DA)=""
+"^DD",101.24,101.24,.02,1,1,2)
+K ^ORD(101.24,"AC",$E(X,1,30),DA)
+"^DD",101.24,101.24,.02,1,1,"DT")
+3001005
+"^DD",101.24,101.24,.02,3)
+Answer must be 1-10 characters in length.
+"^DD",101.24,101.24,.02,21,0)
+^^4^4^3000921^
+"^DD",101.24,101.24,.02,21,1,0)
+This is the code that identifies the report.  Each tab in CPRS that
+"^DD",101.24,101.24,.02,21,2,0)
+uses reports looks for this ID in order to process the report.
+"^DD",101.24,101.24,.02,21,3,0)
+Each tab also uses a unique set of ID's.  An ID of 5 on the Reports
+"^DD",101.24,101.24,.02,21,4,0)
+Tab may not identify the same report on a different tab.
+"^DD",101.24,101.24,.02,"DT")
+3001005
+"^DD",101.24,101.24,.03,0)
+REMOTE^S^1:YES;2:REMOTE ONLY;^0;3^Q
+"^DD",101.24,101.24,.03,21,0)
+^^2^2^3000921^
+"^DD",101.24,101.24,.03,21,1,0)
+This field is used to identify which reports allow remote access through
+"^DD",101.24,101.24,.03,21,2,0)
+Remote Data Views.
+"^DD",101.24,101.24,.03,"DT")
+3050512
+"^DD",101.24,101.24,.04,0)
+QUALIFIER^S^1:HSType;2:DateTime;3:Imaging;4:NutrAssess;19:MedicineProcedure;39:ListView;5:HSComponent;6:HSWPComponent;28:Surgery;^0;4^Q
+"^DD",101.24,101.24,.04,21,0)
+^.001^2^2^3010531^^^
+"^DD",101.24,101.24,.04,21,1,0)
+This field identifies which qualifier to use when processing the report.
+"^DD",101.24,101.24,.04,21,2,0)
+Examples of qualifiers are HSType, DateTime, Imaging and NutrAssess.
+"^DD",101.24,101.24,.04,"DT")
+3011004
+"^DD",101.24,101.24,.05,0)
+ROUTINE^FI^^0;5^K:$L(X)>8!($L(X)<1) X
+"^DD",101.24,101.24,.05,3)
+Answer must be 1-8 characters in length.
+"^DD",101.24,101.24,.05,8.5)
+@
+"^DD",101.24,101.24,.05,9)
+@
+"^DD",101.24,101.24,.05,21,0)
+^.001^1^1^3001026^^^
+"^DD",101.24,101.24,.05,21,1,0)
+This is the routine that is invoked to produce the report.
+"^DD",101.24,101.24,.05,23,0)
+^.001^2^2^3001026^^
+"^DD",101.24,101.24,.05,23,1,0)
+The Labs Tab does not have a value for this field.  The CPRS executable
+"^DD",101.24,101.24,.05,23,2,0)
+calls separate RPC's for each report.
+"^DD",101.24,101.24,.05,"DT")
+3040126
+"^DD",101.24,101.24,.06,0)
+ENTRY POINT^FI^^0;6^K:$L(X)>8!($L(X)<1) X
+"^DD",101.24,101.24,.06,3)
+Answer must be 1-8 characters in length.
+"^DD",101.24,101.24,.06,8.5)
+@
+"^DD",101.24,101.24,.06,9)
+@
+"^DD",101.24,101.24,.06,21,0)
+^.001^2^2^3001026^^
+"^DD",101.24,101.24,.06,21,1,0)
+This is the entry point for the ROUTINE that is invoked to produce the
+"^DD",101.24,101.24,.06,21,2,0)
+report.
+"^DD",101.24,101.24,.06,23,0)
+^.001^2^2^3001026^^
+"^DD",101.24,101.24,.06,23,1,0)
+The Labs Tab does not have a value for this field.  The CPRS executable
+"^DD",101.24,101.24,.06,23,2,0)
+calls separate RPC's for each report.
+"^DD",101.24,101.24,.06,"DT")
+3040126
+"^DD",101.24,101.24,.07,0)
+CATEGORY^S^0:FIXED;1:FIXED W/DATE;2:FIXED W/HEADER;3:FIXED W/DATE&HEADER;4:SPECIALIZED;5:GRAPHIC;6:LISTVIEW;^0;7^Q
+"^DD",101.24,101.24,.07,3)
+Enter a category for this report
+"^DD",101.24,101.24,.07,21,0)
+^^2^2^3001004^
+"^DD",101.24,101.24,.07,21,1,0)
+This field puts reports into a category that is evaluated by the GUI
+"^DD",101.24,101.24,.07,21,2,0)
+when the report is processed.
+"^DD",101.24,101.24,.07,"DT")
+3010215
+"^DD",101.24,101.24,.08,0)
+TAB^S^R:REPORTS TAB;L:LABS TAB;C:COVER SHEET;CD:COVER SHEET DETAILS;^0;8^Q
+"^DD",101.24,101.24,.08,3)
+Enter the appropriate code for this report.
+"^DD",101.24,101.24,.08,21,0)
+^.001^1^1^3001003^^
+"^DD",101.24,101.24,.08,21,1,0)
+This fields identifies the appropriate tab for a report in CPRS.
+"^DD",101.24,101.24,.08,"DT")
+3001011
+"^DD",101.24,101.24,.09,0)
+MIXEDCASE^S^1:YES;^0;9^Q
+"^DD",101.24,101.24,.09,3)
+Enter YES to display the list in mixed case
+"^DD",101.24,101.24,.09,21,0)
+^^2^2^3001004^
+"^DD",101.24,101.24,.09,21,1,0)
+This is used in the cover sheet and is used to display the returned
+"^DD",101.24,101.24,.09,21,2,0)
+list in mixed case.
+"^DD",101.24,101.24,.09,"DT")
+3001004
+"^DD",101.24,101.24,.1,0)
+INVERT^S^1:YES;^0;10^Q
+"^DD",101.24,101.24,.1,3)
+Enter YES to have the returned list inverted.
+"^DD",101.24,101.24,.1,21,0)
+^^1^1^3001004^
+"^DD",101.24,101.24,.1,21,1,0)
+This field is used to invert a list of data returned in the Cover sheet
+"^DD",101.24,101.24,.1,"DT")
+3001004
+"^DD",101.24,101.24,.11,0)
+TEXT COLOR^S^Black:BLACK;Maroon:MAROON;Green:GREEN;Olive:OLIVE;Purple:PURPLE;Teal:TEAL;Red:RED;Lime:LIME;Yellow:YELLOW;Blue:BLUE;Fuchsia:FUCHSIA;Aqua:AQUA;^0;11^Q
+"^DD",101.24,101.24,.11,3)
+Enter the color for the text
+"^DD",101.24,101.24,.11,21,0)
+^^1^1^3001004^
+"^DD",101.24,101.24,.11,21,1,0)
+This field determines the text color for the returned data.
+"^DD",101.24,101.24,.11,"DT")
+3001004
+"^DD",101.24,101.24,.12,0)
+TYPE^S^R:REPORT;H:HTML;L:LISTMAN ONLY;S:SELECTION LIST;V:LISTVIEW;M:MENU;G:GRAPH;^0;12^Q
+"^DD",101.24,101.24,.12,3)
+Enter the type for this entry.
+"^DD",101.24,101.24,.12,21,0)
+^.001^1^1^3001017^^
+"^DD",101.24,101.24,.12,21,1,0)
+This field identifies the type for an entry.
+"^DD",101.24,101.24,.12,"DT")
+3041208
+"^DD",101.24,101.24,.13,0)
+RPC^P8994'^XWB(8994,^0;13^Q
+"^DD",101.24,101.24,.13,3)
+Select the RPC that produces this report.
+"^DD",101.24,101.24,.13,21,0)
+^^1^1^3001004^
+"^DD",101.24,101.24,.13,21,1,0)
+This is the RPC that is called inside the GUI to produce the report.
+"^DD",101.24,101.24,.13,"DT")
+3001004
+"^DD",101.24,101.24,.14,0)
+DATE FORMAT^S^D:DATE ONLY;T:DATE WITH TIME;^0;14^Q
+"^DD",101.24,101.24,.14,3)
+Enter the code for the desired date format.
+"^DD",101.24,101.24,.14,21,0)
+^^1^1^3001004^
+"^DD",101.24,101.24,.14,21,1,0)
+This field determines what kind of format to display date/time fields.
+"^DD",101.24,101.24,.14,"DT")
+3001004
+"^DD",101.24,101.24,.15,0)
+DATE PIECE^NJ2,0^^0;15^K:+X'=X!(X>15)!(X<1)!(X?.E1"."1N.N) X
+"^DD",101.24,101.24,.15,3)
+Type a Number between 1 and 15, 0 Decimal Digits
+"^DD",101.24,101.24,.15,21,0)
+^^2^2^3001004^
+"^DD",101.24,101.24,.15,21,1,0)
+This is used on the Cover Sheet to determine which piece the date field
+"^DD",101.24,101.24,.15,21,2,0)
+occupies.
+"^DD",101.24,101.24,.15,"DT")
+3001004
+"^DD",101.24,101.24,.16,0)
+TAB POSITIONS^F^^0;16^K:$L(X)>15!($L(X)<1) X
+"^DD",101.24,101.24,.16,3)
+Answer must be 1-15 characters in length.
+"^DD",101.24,101.24,.16,21,0)
+^^2^2^3001005^
+"^DD",101.24,101.24,.16,21,1,0)
+This is the value that will be used for the Tab property for the listbox
+"^DD",101.24,101.24,.16,21,2,0)
+associated with this report on the Cover Sheet.
+"^DD",101.24,101.24,.16,"DT")
+3001005
+"^DD",101.24,101.24,.17,0)
+PIECES^F^^0;17^K:$L(X)>20!($L(X)<1) X
+"^DD",101.24,101.24,.17,3)
+Answer must be 1-20 characters in length.
+"^DD",101.24,101.24,.17,21,0)
+^^2^2^3001011^
+"^DD",101.24,101.24,.17,21,1,0)
+This field is used by the Cover Sheet to determine what pieces of data
+"^DD",101.24,101.24,.17,21,2,0)
+to display in the listbox.
+"^DD",101.24,101.24,.17,"DT")
+3001011
+"^DD",101.24,101.24,.18,0)
+DETAIL REPORT^*P101.24'^ORD(101.24,^0;18^S DIC("S")="I $P(^(0),""^"",8)=""CD""" D ^DIC K DIC S DIC=DIE,X=+Y K:Y<0 X
+"^DD",101.24,101.24,.18,3)
+Enter the report to get the details for this report.
+"^DD",101.24,101.24,.18,12)
+Allow only Cover sheet detail type reports
+"^DD",101.24,101.24,.18,12.1)
+S DIC("S")="I $P(^(0),""^"",8)=""CD"""
+"^DD",101.24,101.24,.18,21,0)
+^^1^1^3001011^
+"^DD",101.24,101.24,.18,21,1,0)
+This field is used to get the details of an item on the cover sheet.
+"^DD",101.24,101.24,.18,"DT")
+3001011
+"^DD",101.24,101.24,.19,0)
+REPORT TAG^FI^^0;19^K:$L(X)>8!($L(X)<1) X
+"^DD",101.24,101.24,.19,3)
+Answer must be 1-8 characters in length.
+"^DD",101.24,101.24,.19,21,0)
+^.001^1^1^3010503^^
+"^DD",101.24,101.24,.19,21,1,0)
+This is the entry point tag for a report extract.
+"^DD",101.24,101.24,.19,"DT")
+3040126
+"^DD",101.24,101.24,.191,0)
+REPORT ROUTINE^FI^^0;20^K:$L(X)>8!($L(X)<3) X
+"^DD",101.24,101.24,.191,3)
+Answer must be 3-8 characters in length.
+"^DD",101.24,101.24,.191,21,0)
+^.001^1^1^3010503^^
+"^DD",101.24,101.24,.191,21,1,0)
+This is the routine associated with the REPORT TAG for report extracts.
+"^DD",101.24,101.24,.191,"DT")
+3040126
+"^DD",101.24,101.24,.192,0)
+REPORT COMPONENT^P142.1'^GMT(142.1,^0;21^Q
+"^DD",101.24,101.24,.192,21,0)
+^.001^1^1^3010503^^
+"^DD",101.24,101.24,.192,21,1,0)
+This is the report component associated with this report.
+"^DD",101.24,101.24,.192,"DT")
+3010503
+"^DD",101.24,101.24,.21,0)
+PARAM 1^F^^2;1^K:$L(X)>30!($L(X)<1) X
+"^DD",101.24,101.24,.21,3)
+Answer must be 1-30 characters in length.
+"^DD",101.24,101.24,.21,21,0)
+^^1^1^3001004^
+"^DD",101.24,101.24,.21,21,1,0)
+This is the 1st parameter passed to the RPC, if needed.
+"^DD",101.24,101.24,.21,"DT")
+3001004
+"^DD",101.24,101.24,.22,0)
+PARAM 2^F^^2;2^K:$L(X)>30!($L(X)<1) X
+"^DD",101.24,101.24,.22,3)
+Answer must be 1-30 characters in length.
+"^DD",101.24,101.24,.22,21,0)
+^^1^1^3001004^
+"^DD",101.24,101.24,.22,21,1,0)
+This is the 2nd parameter passed to the RPC, if needed.
+"^DD",101.24,101.24,.22,"DT")
+3001004
+"^DD",101.24,101.24,.23,0)
+HEADING^F^^2;3^K:$L(X)>75!($L(X)<1) X
+"^DD",101.24,101.24,.23,1,0)
+^.1^^0
+"^DD",101.24,101.24,.23,3)
+Answer must be 1-75 characters in length.
+"^DD",101.24,101.24,.23,21,0)
+^^1^1^3001031^
+"^DD",101.24,101.24,.23,21,1,0)
+This is the heading used on the Cover sheet for the list of items.
+"^DD",101.24,101.24,.23,"DT")
+3010510
+"^DD",101.24,101.24,.24,0)
+DESCRIPTIVE TEXT^RF^^2;4^K:$L(X)>55!($L(X)<2) X
+"^DD",101.24,101.24,.24,3)
+Answer must be 2-55 characters in length.
+"^DD",101.24,101.24,.24,21,0)
+^.001^2^2^3010510^^
+"^DD",101.24,101.24,.24,21,1,0)
+This is a more descriptive name than what might be included in the 
+"^DD",101.24,101.24,.24,21,2,0)
+NAME field.
+"^DD",101.24,101.24,.24,"DT")
+3010510
+"^DD",101.24,101.24,.25,0)
+NODE^F^^2;5^K:$L(X)>10!($L(X)<1) X
+"^DD",101.24,101.24,.25,3)
+Answer must be 1-10 characters in length.
+"^DD",101.24,101.24,.25,21,0)
+^^2^2^3001005^
+"^DD",101.24,101.24,.25,21,1,0)
+This is used by the Cover Sheet routines to define the node in the ^XTMP
+"^DD",101.24,101.24,.25,21,2,0)
+global to store the data.
+"^DD",101.24,101.24,.25,"DT")
+3001005
+"^DD",101.24,101.24,.26,0)
+PRINT TAG^FI^^2;6^K:$L(X)>8!($L(X)<1) X
+"^DD",101.24,101.24,.26,3)
+Answer must be 1-8 characters in length.
+"^DD",101.24,101.24,.26,21,0)
+^^2^2^3010614^
+"^DD",101.24,101.24,.26,21,1,0)
+This is the entry point tag used when printing reports that do their own
+"^DD",101.24,101.24,.26,21,2,0)
+Write statements.
+"^DD",101.24,101.24,.26,"DT")
+3040126
+"^DD",101.24,101.24,.27,0)
+PRINT ROUTINE^FI^^2;7^K:$L(X)>8!($L(X)<1) X
+"^DD",101.24,101.24,.27,3)
+Answer must be 1-8 characters in length.
+"^DD",101.24,101.24,.27,21,0)
+^^2^2^3010614^
+"^DD",101.24,101.24,.27,21,1,0)
+This is the entry point routine used when printing reports that do their own
+"^DD",101.24,101.24,.27,21,2,0)
+Write statements.
+"^DD",101.24,101.24,.27,"DT")
+3040126
+"^DD",101.24,101.24,.28,0)
+EXTRACT TAG^FI^^2;8^K:$L(X)>8!($L(X)<1) X
+"^DD",101.24,101.24,.28,3)
+Answer must be 1-8 characters in length.
+"^DD",101.24,101.24,.28,21,0)
+^^2^2^3010711^
+"^DD",101.24,101.24,.28,21,1,0)
+This is the entry point for the extract routine that pulls the data from
+"^DD",101.24,101.24,.28,21,2,0)
+package API's and/or package files.
+"^DD",101.24,101.24,.28,"DT")
+3051222
+"^DD",101.24,101.24,.29,0)
+EXTRACT ROUTINE^FI^^2;9^K:$L(X)>8!($L(X)<1) X
+"^DD",101.24,101.24,.29,3)
+Answer must be 1-8 characters in length.
+"^DD",101.24,101.24,.29,21,0)
+^^2^2^3010711^
+"^DD",101.24,101.24,.29,21,1,0)
+This is the extract routine that pulls data from package API's and/or
+"^DD",101.24,101.24,.29,21,2,0)
+package files.
+"^DD",101.24,101.24,.29,"DT")
+3040126
+"^DD",101.24,101.24,.41,0)
+SORT ORDER^F^^4;1^K:$L(X)>15!($L(X)<3)!'(X?1N1":"1N) X
+"^DD",101.24,101.24,.41,3)
+Answer must be 3-15 characters in length.
+"^DD",101.24,101.24,.41,21,0)
+^^6^6^3010717^
+"^DD",101.24,101.24,.41,21,1,0)
+This field is used when sorting columns of data on at grid within CPRS.
+"^DD",101.24,101.24,.41,21,2,0)
+It determines the sort order to be used in a multi-column sort.  The
+"^DD",101.24,101.24,.41,21,3,0)
+primary sort column is always the column header clicked on by the user.
+"^DD",101.24,101.24,.41,21,4,0)
+If this field has values in the form #:#, then a multi-column sort is
+"^DD",101.24,101.24,.41,21,5,0)
+done, using the column numbers identified in this field for the second
+"^DD",101.24,101.24,.41,21,6,0)
+and third level sorting.
+"^DD",101.24,101.24,.41,"DT")
+3010717
+"^DD",101.24,101.24,.42,0)
+MAXIMUM DAYS BACK^NJ4,0^^4;2^K:+X'=X!(X>9999)!(X<1)!(X?.E1"."1N.N) X
+"^DD",101.24,101.24,.42,3)
+Type a Number between 1 and 9999, 0 Decimal Digits
+"^DD",101.24,101.24,.42,21,0)
+^^1^1^3011004^
+"^DD",101.24,101.24,.42,21,1,0)
+This field restricts the report date range to the maximum value specified.
+"^DD",101.24,101.24,.42,"DT")
+3011004
+"^DD",101.24,101.24,.43,0)
+FHIE REPORT^F^^4;3^K:$L(X)>10!($L(X)<2) X
+"^DD",101.24,101.24,.43,3)
+Answer must be 2-10 characters in length.
+"^DD",101.24,101.24,.43,21,0)
+^.001^3^3^3040126^^^^
+"^DD",101.24,101.24,.43,21,1,0)
+This field identifies reports that are available through FHIE.
+"^DD",101.24,101.24,.43,21,2,0)
+The item in this field is the code for the report available through
+"^DD",101.24,101.24,.43,21,3,0)
+the FHIE server.
+"^DD",101.24,101.24,.43,23,0)
+^.001^3^3^3040126^^^^
+"^DD",101.24,101.24,.43,23,1,0)
+This field is not looked at by reports that have a 'listview' format.
+"^DD",101.24,101.24,.43,23,2,0)
+It is only used by straight text reports that go through the routine:
+"^DD",101.24,101.24,.43,23,3,0)
+  ORDV01
+"^DD",101.24,101.24,.43,"DT")
+3031008
+"^DD",101.24,101.24,.44,0)
+DIRECT^S^0:NO;1:YES;^4;4^Q
+"^DD",101.24,101.24,.44,3)
+ENTER YES TO MAKE DIRECT REMOTE DATA CALLS
+"^DD",101.24,101.24,.44,21,0)
+^^4^4^3050201^
+"^DD",101.24,101.24,.44,21,1,0)
+This field allows a report to make a direct remote data call to
+"^DD",101.24,101.24,.44,21,2,0)
+a remote site.  Use caution in setting this field to yes.  It has
+"^DD",101.24,101.24,.44,21,3,0)
+the effect of disabling CPRS until the remote call is finished, but
+"^DD",101.24,101.24,.44,21,4,0)
+also may speed up the query by bypassing taskman latency.
+"^DD",101.24,101.24,.44,"DT")
+3050201
+"^DD",101.24,101.24,.45,0)
+HDR REPORT^S^1:YES;^4;5^Q
+"^DD",101.24,101.24,.45,3)
+Enter 'YES' if this report comes from the HDR.
+"^DD",101.24,101.24,.45,21,0)
+^^1^1^3051006^
+"^DD",101.24,101.24,.45,21,1,0)
+This field flags reports that are generated from the HDR.
+"^DD",101.24,101.24,.45,"DT")
+3051006
+"^DD",101.24,101.24,.46,0)
+HDR ROUTINE^F^^4;6^K:$L(X)>8!($L(X)<1) X
+"^DD",101.24,101.24,.46,3)
+Answer must be 1-8 characters in length.
+"^DD",101.24,101.24,.46,21,0)
+^^1^1^3051006^
+"^DD",101.24,101.24,.46,21,1,0)
+This is the HDR routine that modifies HDR data for CPRS.
+"^DD",101.24,101.24,.46,"DT")
+3051006
+"^DD",101.24,101.24,.47,0)
+HDR ENTRY POINT^F^^4;7^K:$L(X)>8!($L(X)<1) X
+"^DD",101.24,101.24,.47,3)
+Answer must be 1-8 characters in length.
+"^DD",101.24,101.24,.47,21,0)
+^^1^1^3051006^
+"^DD",101.24,101.24,.47,21,1,0)
+This is the HDR entry point that modifies HDR data for CPRS.
+"^DD",101.24,101.24,.47,"DT")
+3051006
+"^DD",101.24,101.24,3,0)
+COLUMN HEADERS^101.243^^3;0
+"^DD",101.24,101.24,10,0)
+ITEM^101.241P^^10;0
+"^DD",101.24,101.241,0)
+ITEM SUB-FIELD^^.03^3
+"^DD",101.24,101.241,0,"DT")
+3010215
+"^DD",101.24,101.241,0,"IX","B",101.241,.01)
+
+"^DD",101.24,101.241,0,"NM","ITEM")
+
+"^DD",101.24,101.241,0,"UP")
+101.24
+"^DD",101.24,101.241,.01,0)
+ITEM^MP101.24^ORD(101.24,^0;1^Q
+"^DD",101.24,101.241,.01,1,0)
+^.1
+"^DD",101.24,101.241,.01,1,1,0)
+101.241^B
+"^DD",101.24,101.241,.01,1,1,1)
+S ^ORD(101.24,DA(1),10,"B",$E(X,1,30),DA)=""
+"^DD",101.24,101.241,.01,1,1,2)
+K ^ORD(101.24,DA(1),10,"B",$E(X,1,30),DA)
+"^DD",101.24,101.241,.01,3)
+
+"^DD",101.24,101.241,.01,21,0)
+^^1^1^3010215^
+"^DD",101.24,101.241,.01,21,1,0)
+This is used in building a treeview of reports for CPRS GUI.
+"^DD",101.24,101.241,.01,"DT")
+3010215
+"^DD",101.24,101.241,.02,0)
+HEADER TEXT^F^^0;2^K:$L(X)>30!($L(X)<1) X
+"^DD",101.24,101.241,.02,3)
+Answer must be 1-30 characters in length.
+"^DD",101.24,101.241,.02,21,0)
+^^1^1^3010215^
+"^DD",101.24,101.241,.02,21,1,0)
+This is the header to be used.
+"^DD",101.24,101.241,.02,"DT")
+3010215
+"^DD",101.24,101.241,.03,0)
+SEQUENCE^NJ7,1^^0;3^K:+X'=X!(X>99999)!(X<.1)!(X?.E1"."2N.N) X
+"^DD",101.24,101.241,.03,3)
+Type a Number between .1 and 99999, 1 Decimal Digit
+"^DD",101.24,101.241,.03,21,0)
+^^1^1^3010215^
+"^DD",101.24,101.241,.03,21,1,0)
+This is the sequence number for this report.
+"^DD",101.24,101.241,.03,"DT")
+3010215
+"^DD",101.24,101.243,0)
+COLUMN HEADERS SUB-FIELD^^1^11
+"^DD",101.24,101.243,0,"DT")
+3051006
+"^DD",101.24,101.243,0,"IX","B",101.243,.01)
+
+"^DD",101.24,101.243,0,"IX","C",101.243,.03)
+
+"^DD",101.24,101.243,0,"NM","COLUMN HEADERS")
+
+"^DD",101.24,101.243,0,"UP")
+101.24
+"^DD",101.24,101.243,.01,0)
+COLUMN HEADERS^MF^^0;1^K:$L(X)>60!($L(X)<1) X
+"^DD",101.24,101.243,.01,1,0)
+^.1
+"^DD",101.24,101.243,.01,1,1,0)
+101.243^B
+"^DD",101.24,101.243,.01,1,1,1)
+S ^ORD(101.24,DA(1),3,"B",$E(X,1,30),DA)=""
+"^DD",101.24,101.243,.01,1,1,2)
+K ^ORD(101.24,DA(1),3,"B",$E(X,1,30),DA)
+"^DD",101.24,101.243,.01,3)
+Answer must be 1-60 characters in length.
+"^DD",101.24,101.243,.01,21,0)
+^.001^1^1^3010709^^^^
+"^DD",101.24,101.243,.01,21,1,0)
+These are the column headings used on a report in ListView format.
+"^DD",101.24,101.243,.01,"DT")
+3010709
+"^DD",101.24,101.243,.02,0)
+VISIBLE^S^0:YES;1:NO;^0;2^Q
+"^DD",101.24,101.243,.02,3)
+Set this field to NO to hide the column.
+"^DD",101.24,101.243,.02,21,0)
+^^1^1^3010420^
+"^DD",101.24,101.243,.02,21,1,0)
+This field determines the visible property of the column.
+"^DD",101.24,101.243,.02,"DT")
+3010420
+"^DD",101.24,101.243,.03,0)
+SEQUENCE^NJ6,1^^0;3^K:+X'=X!(X>9999)!(X<.1)!(X?.E1"."2N.N) X
+"^DD",101.24,101.243,.03,1,0)
+^.1
+"^DD",101.24,101.243,.03,1,1,0)
+101.243^C
+"^DD",101.24,101.243,.03,1,1,1)
+S ^ORD(101.24,DA(1),3,"C",$E(X,1,30),DA)=""
+"^DD",101.24,101.243,.03,1,1,2)
+K ^ORD(101.24,DA(1),3,"C",$E(X,1,30),DA)
+"^DD",101.24,101.243,.03,1,1,"DT")
+3010321
+"^DD",101.24,101.243,.03,3)
+Type a Number between .1 and 9999, 1 Decimal Digit
+"^DD",101.24,101.243,.03,21,0)
+^^1^1^3010215^
+"^DD",101.24,101.243,.03,21,1,0)
+This is the sequence for the column header.
+"^DD",101.24,101.243,.03,"DT")
+3010321
+"^DD",101.24,101.243,.04,0)
+TYPE^S^0:SINGLE PIECE VALUE;1:WORD PROCESSING;^0;4^Q
+"^DD",101.24,101.243,.04,3)
+Enter '1' if the value of this column contains multiple lines of text.
+"^DD",101.24,101.243,.04,21,0)
+^^1^1^3010420^
+"^DD",101.24,101.243,.04,21,1,0)
+This field identifies columns that contain multiple lines of text.
+"^DD",101.24,101.243,.04,"DT")
+3010420
+"^DD",101.24,101.243,.05,0)
+INCLUDE ON DETAIL^S^0:NO;1:YES;^0;5^Q
+"^DD",101.24,101.243,.05,3)
+Enter YES to include this field in detailed report
+"^DD",101.24,101.243,.05,21,0)
+^.001^2^2^3010628^^^^
+"^DD",101.24,101.243,.05,21,1,0)
+This field is used to determine what data to include in the details of
+"^DD",101.24,101.243,.05,21,2,0)
+a report.
+"^DD",101.24,101.243,.05,"DT")
+3010628
+"^DD",101.24,101.243,.06,0)
+PRINT LENGTH^NJ2,0^^0;6^K:+X'=X!(X>20)!(X<1)!(X?.E1"."1N.N) X
+"^DD",101.24,101.243,.06,3)
+Type a Number between 1 and 20, 0 Decimal Digits
+"^DD",101.24,101.243,.06,21,0)
+^^1^1^3010628^
+"^DD",101.24,101.243,.06,21,1,0)
+This is the field length used when printing this column on a report.
+"^DD",101.24,101.243,.06,"DT")
+3010628
+"^DD",101.24,101.243,.07,0)
+INCLUDE ON PRINT^S^0:NO;1:YES;^0;7^Q
+"^DD",101.24,101.243,.07,21,0)
+^^2^2^3010628^
+"^DD",101.24,101.243,.07,21,1,0)
+This field determines which columns are included when a printout is
+"^DD",101.24,101.243,.07,21,2,0)
+requested.
+"^DD",101.24,101.243,.07,"DT")
+3010628
+"^DD",101.24,101.243,.08,0)
+PRINT TITLE^F^^0;8^K:$L(X)>20!($L(X)<1) X
+"^DD",101.24,101.243,.08,3)
+Answer must be 1-20 characters in length.
+"^DD",101.24,101.243,.08,21,0)
+^^1^1^3010628^
+"^DD",101.24,101.243,.08,21,1,0)
+This field is used when printing this field in lieu of the Column Header.
+"^DD",101.24,101.243,.08,"DT")
+3010628
+"^DD",101.24,101.243,.09,0)
+DATA TYPE^S^0:FREE TEXT;1:NUMERIC;2:DATE/TIME;^0;9^Q
+"^DD",101.24,101.243,.09,3)
+Enter the type of data that is in this column.
+"^DD",101.24,101.243,.09,21,0)
+^.001^3^3^3010718^^
+"^DD",101.24,101.243,.09,21,1,0)
+This is the data type of the column.  It is used when sorting columns.
+"^DD",101.24,101.243,.09,21,2,0)
+The default data type is 0 - FREE TEXT.  If no value is entered, it is
+"^DD",101.24,101.243,.09,21,3,0)
+assumed to be FREE TEXT.
+"^DD",101.24,101.243,.09,"DT")
+3010718
+"^DD",101.24,101.243,.1,0)
+WIDTH^NJ4,0^^0;10^K:+X'=X!(X>4000)!(X<-2)!(X?.E1"."1N.N) X
+"^DD",101.24,101.243,.1,3)
+Type a Number between -2 and 4000, 0 Decimal Digits
+"^DD",101.24,101.243,.1,21,0)
+^^5^5^3010727^
+"^DD",101.24,101.243,.1,21,1,0)
+This field is for the column width.  No value needs to be entered because
+"^DD",101.24,101.243,.1,21,2,0)
+the value is actually obtained from a User level parameter.  The field
+"^DD",101.24,101.243,.1,21,3,0)
+is defined here to reserve the 10 piece of this node so that future
+"^DD",101.24,101.243,.1,21,4,0)
+field definitions won't break the RPC used in CPRS to get column properties
+"^DD",101.24,101.243,.1,21,5,0)
+where the width is stored in the 10 piece.
+"^DD",101.24,101.243,.1,"DT")
+3010727
+"^DD",101.24,101.243,1,0)
+HDR MODIFIER^K^^1;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",101.24,101.243,1,3)
+This is Standard MUMPS code.
+"^DD",101.24,101.243,1,9)
+@
+"^DD",101.24,101.243,1,21,0)
+^^5^5^3051006^
+"^DD",101.24,101.243,1,21,1,0)
+This is code executed when HDR data needs to be modified.
+"^DD",101.24,101.243,1,21,2,0)
+When this field is executed, the variable ORX will have the value
+"^DD",101.24,101.243,1,21,3,0)
+passed in from the HDR.  If this value needs to be manipulated, set the
+"^DD",101.24,101.243,1,21,4,0)
+new value into ORX.  If the value is ignored (not to be displayed),
+"^DD",101.24,101.243,1,21,5,0)
+then set the value of ORX="-1-"
+"^DD",101.24,101.243,1,"DT")
+3051006
+"^DD",8925.1,8925.1,0)
+FIELD^^99^54
+"^DD",8925.1,8925.1,0,"DDA")
+N
+"^DD",8925.1,8925.1,0,"DT")
+2970227
+"^DD",8925.1,8925.1,0,"ID","W.04")
+W "   ",@("$P($P($C(59)_$S($D(^DD(8925.1,.04,0)):$P(^(0),U,3),1:0)_$E("_DIC_"Y,0),0),$C(59)_$P(^(0),U,4)_"":"",2),$C(59),1)")
+"^DD",8925.1,8925.1,0,"ID","W.1501")
+S %I=Y,Y=$S('$D(^(15)):"",$D(^TIU(8926.1,+$P(^(15),U,1),0))#2:$P(^(0),U,1),1:"") N DIERR S:$L(Y) Y=$$EXTERNAL^DILFD(8926.1,.01,"",Y,"DIERR") D:$L(Y) EN^DDIOL("Std Title: "_Y,"","!?6") S Y=%I K %I
+"^DD",8925.1,8925.1,0,"IX","AC",8925.1,.06)
+
+"^DD",8925.1,8925.1,0,"IX","ACL",8925.1,.01)
+
+"^DD",8925.1,8925.1,0,"IX","ACL02",8925.1,.02)
+
+"^DD",8925.1,8925.1,0,"IX","ACL03",8925.1,.03)
+
+"^DD",8925.1,8925.1,0,"IX","ACL07",8925.1,.07)
+
+"^DD",8925.1,8925.1,0,"IX","ACL1001",8925.14,.01)
+
+"^DD",8925.1,8925.1,0,"IX","AD",8925.14,.01)
+
+"^DD",8925.1,8925.1,0,"IX","ALOINC",8925.1,1501)
+
+"^DD",8925.1,8925.1,0,"IX","AM",8925.1,99)
+
+"^DD",8925.1,8925.1,0,"IX","AM1",8925.1,.03)
+
+"^DD",8925.1,8925.1,0,"IX","AMM",8925.14,.01)
+
+"^DD",8925.1,8925.1,0,"IX","AMM2",8925.14,2)
+
+"^DD",8925.1,8925.1,0,"IX","AMM3",8925.14,3)
+
+"^DD",8925.1,8925.1,0,"IX","AMM4",8925.14,4)
+
+"^DD",8925.1,8925.1,0,"IX","AP",8925.1,.05)
+
+"^DD",8925.1,8925.1,0,"IX","APOST",8925.1,.14)
+
+"^DD",8925.1,8925.1,0,"IX","AS",8925.1,.07)
+
+"^DD",8925.1,8925.1,0,"IX","AT",8925.1,.04)
+
+"^DD",8925.1,8925.1,0,"IX","B",8925.1,.01)
+
+"^DD",8925.1,8925.1,0,"IX","C",8925.1,.02)
+
+"^DD",8925.1,8925.1,0,"IX","D",8925.1,.03)
+
+"^DD",8925.1,8925.1,0,"IX","E",8925.1,.01)
+
+"^DD",8925.1,8925.1,0,"NM","TIU DOCUMENT DEFINITION")
+
+"^DD",8925.1,8925.1,0,"PT",26.11,.07)
+
+"^DD",8925.1,8925.1,0,"PT",26.15,.07)
+
+"^DD",8925.1,8925.1,0,"PT",142.14,.01)
+
+"^DD",8925.1,8925.1,0,"PT",702.01,.04)
+
+"^DD",8925.1,8925.1,0,"PT",703.91,.05)
+
+"^DD",8925.1,8925.1,0,"PT",783.9,.04)
+
+"^DD",8925.1,8925.1,0,"PT",783.9,.05)
+
+"^DD",8925.1,8925.1,0,"PT",783.9,.06)
+
+"^DD",8925.1,8925.1,0,"PT",2006.5841,6)
+
+"^DD",8925.1,8925.1,0,"PT",8925,.01)
+
+"^DD",8925.1,8925.1,0,"PT",8925,.04)
+
+"^DD",8925.1,8925.1,0,"PT",8925.14,.01)
+
+"^DD",8925.1,8925.1,0,"PT",8925.95,.01)
+
+"^DD",8925.1,8925.1,0,"PT",8925.98,.02)
+
+"^DD",8925.1,8925.1,0,"PT",8925.98,.03)
+
+"^DD",8925.1,8925.1,0,"PT",8925.9801,.01)
+
+"^DD",8925.1,8925.1,0,"PT",8927,.19)
+
+"^DD",8925.1,8925.1,0,"PT",8930.1,.01)
+
+"^DD",8925.1,8925.1,0,"VRPK")
+TEXT INTEGRATION UTILITIES
+"^DD",8925.1,8925.1,.01,0)
+NAME^RFX^^0;1^S:$L($T(^TIULS)) X=$$UPPER^TIULS(X) K:$L(X)>60!($L(X)<3)!'(X'?1P.E) X I $D(X),+$G(DA) K:$$BADNAP^TIUFLF1(X,+$G(DA)) X
+"^DD",8925.1,8925.1,.01,.1)
+
+"^DD",8925.1,8925.1,.01,1,0)
+^.1
+"^DD",8925.1,8925.1,.01,1,1,0)
+8925.1^B
+"^DD",8925.1,8925.1,.01,1,1,1)
+S ^TIU(8925.1,"B",$E(X,1,60),DA)=""
+"^DD",8925.1,8925.1,.01,1,1,2)
+K ^TIU(8925.1,"B",$E(X,1,60),DA)
+"^DD",8925.1,8925.1,.01,1,2,0)
+8925.1^E^KWIC
+"^DD",8925.1,8925.1,.01,1,2,1)
+S %1=1 F %=1:1:$L(X)+1 S I=$E(X,%) I "(,.?! '-/&:;)"[I S I=$E($E(X,%1,%-1),1,30),%1=%+1 I $L(I)>2,^DD("KWIC")'[I S ^TIU(8925.1,"E",I,DA)=""
+"^DD",8925.1,8925.1,.01,1,2,2)
+S %1=1 F %=1:1:$L(X)+1 S I=$E(X,%) I "(,.?! '-/&:;)"[I S I=$E($E(X,%1,%-1),1,30),%1=%+1 I $L(I)>2 K ^TIU(8925.1,"E",I,DA)
+"^DD",8925.1,8925.1,.01,1,2,"%D",0)
+^^2^2^2960302^
+"^DD",8925.1,8925.1,.01,1,2,"%D",1,0)
+This KWIK cross-reference on document name will allow look-up based on
+"^DD",8925.1,8925.1,.01,1,2,"%D",2,0)
+sub-names, etc.
+"^DD",8925.1,8925.1,.01,1,2,"DT")
+2960302
+"^DD",8925.1,8925.1,.01,1,3,0)
+8925.1^ACL^MUMPS
+"^DD",8925.1,8925.1,.01,1,3,1)
+D SACL^TIUDD1(X,.01)
+"^DD",8925.1,8925.1,.01,1,3,2)
+D KACL^TIUDD1(X,.01)
+"^DD",8925.1,8925.1,.01,1,3,"%D",0)
+^^7^7^3040831^
+"^DD",8925.1,8925.1,.01,1,3,"%D",1,0)
+This is a complex cross-reference on the .01 (NAME) field.  Its format
+"^DD",8925.1,8925.1,.01,1,3,"%D",2,0)
+will be as follows:
+"^DD",8925.1,8925.1,.01,1,3,"%D",3,0)
+ 
+"^DD",8925.1,8925.1,.01,1,3,"%D",4,0)
+   ^TIU(8925.1,"ACL",Parent document class IEN, Title NAME, Title IEN)=""
+"^DD",8925.1,8925.1,.01,1,3,"%D",5,0)
+ 
+"^DD",8925.1,8925.1,.01,1,3,"%D",6,0)
+The purpose of this cross-reference will be to help CPRS GUI perform 
+"^DD",8925.1,8925.1,.01,1,3,"%D",7,0)
+faster title look-ups by document class.
+"^DD",8925.1,8925.1,.01,1,3,"DT")
+2971016
+"^DD",8925.1,8925.1,.01,3)
+This is the technical name, 3-60 characters, not starting with punctuation.  If OBJECT, Name must be unique among all object Names, Abbreviations, and Print Names.
+"^DD",8925.1,8925.1,.01,4)
+D NAME^TIUFXHLX:$G(TIUFXNOD)["Add/Create"&($G(TIUFSTMP)="T")
+"^DD",8925.1,8925.1,.01,21,0)
+^^51^51^2980127^^^^
+"^DD",8925.1,8925.1,.01,21,1,0)
+The name of a Document Definition entry (.01 field) must be between 3
+"^DD",8925.1,8925.1,.01,21,2,0)
+and 60 characters long and may not begin with a punctuation character.
+"^DD",8925.1,8925.1,.01,21,3,0)
+Although names can be entered in any case, they are transformed to
+"^DD",8925.1,8925.1,.01,21,4,0)
+upper case before being stored.
+"^DD",8925.1,8925.1,.01,21,5,0)
+ 
+"^DD",8925.1,8925.1,.01,21,6,0)
+It functions as the Technical Name of the entry.  Some sites have put KWIC
+"^DD",8925.1,8925.1,.01,21,7,0)
+cross references on it to get, say, all Titles from a given Service.
+"^DD",8925.1,8925.1,.01,21,8,0)
+ 
+"^DD",8925.1,8925.1,.01,21,9,0)
+Name can be used when entering documents as the name of the Title being
+"^DD",8925.1,8925.1,.01,21,10,0)
+entered.  Print Name and Abbreviation will also be accepted.
+"^DD",8925.1,8925.1,.01,21,11,0)
+ 
+"^DD",8925.1,8925.1,.01,21,12,0)
+Since it is the Technical, .01 Name, the Document Definition Utility
+"^DD",8925.1,8925.1,.01,21,13,0)
+(TIUF) uses this name throughout.
+"^DD",8925.1,8925.1,.01,21,14,0)
+ 
+"^DD",8925.1,8925.1,.01,21,15,0)
+The .01 name differs from the Print Name, which appears in lists of
+"^DD",8925.1,8925.1,.01,21,16,0)
+documents and functions as the Title of the document.
+"^DD",8925.1,8925.1,.01,21,17,0)
+ 
+"^DD",8925.1,8925.1,.01,21,18,0)
+It also differs from Item Menu Text (1-20 characters), which is used when
+"^DD",8925.1,8925.1,.01,21,19,0)
+selecting documents from 3-COLUMN MENUS.
+"^DD",8925.1,8925.1,.01,21,20,0)
+ 
+"^DD",8925.1,8925.1,.01,21,21,0)
+The ORDER of names in TIUF options Edit Document Definitions and Create
+"^DD",8925.1,8925.1,.01,21,22,0)
+Document Definitions is by Item Sequence under the parent.  Order is
+"^DD",8925.1,8925.1,.01,21,23,0)
+alphabetic by Menu Text if an Item has no Item Sequence.
+"^DD",8925.1,8925.1,.01,21,24,0)
+ 
+"^DD",8925.1,8925.1,.01,21,25,0)
+When a new entry is added to file 8925.1, the Document Definition Utility
+"^DD",8925.1,8925.1,.01,21,26,0)
+(TIUF) enters the Name as the default Print Name.  The Print Name can be
+"^DD",8925.1,8925.1,.01,21,27,0)
+edited if a different Print Name is desired.
+"^DD",8925.1,8925.1,.01,21,28,0)
+ 
+"^DD",8925.1,8925.1,.01,21,29,0)
+File 8925.1 permits more than 1 entry with the same name as long as they
+"^DD",8925.1,8925.1,.01,21,30,0)
+don't have the same Type.  In that sense, NAMES are reusable.  However,
+"^DD",8925.1,8925.1,.01,21,31,0)
+ENTRIES are NOT reusable (except specially marked Components): an entry is
+"^DD",8925.1,8925.1,.01,21,32,0)
+NOT allowed to be an item under more than one parent unless it is a Shared
+"^DD",8925.1,8925.1,.01,21,33,0)
+Component.  (See Type Component.)
+"^DD",8925.1,8925.1,.01,21,34,0)
+ 
+"^DD",8925.1,8925.1,.01,21,35,0)
+Name is a BASIC Field.
+"^DD",8925.1,8925.1,.01,21,36,0)
+ 
+"^DD",8925.1,8925.1,.01,21,37,0)
+                               OBJECT Name 
+"^DD",8925.1,8925.1,.01,21,38,0)
+Object Names, like any other names are 3-60 characters, not starting with
+"^DD",8925.1,8925.1,.01,21,39,0)
+punctuation.  Sites may want to namespace object names, use the object
+"^DD",8925.1,8925.1,.01,21,40,0)
+Print Name as a more familiar name, and use object Abbreviation as a short
+"^DD",8925.1,8925.1,.01,21,41,0)
+name to embed in boilerplate text.  Unlike other Types, Object
+"^DD",8925.1,8925.1,.01,21,42,0)
+Abbreviation and Print Name as well as Name must be uppercase.
+"^DD",8925.1,8925.1,.01,21,43,0)
+ 
+"^DD",8925.1,8925.1,.01,21,44,0)
+Object Name, Abbreviation, or Print Name can be embedded in boilerplate
+"^DD",8925.1,8925.1,.01,21,45,0)
+text.  Since TIU must be able to determine from this which object is
+"^DD",8925.1,8925.1,.01,21,46,0)
+intended, object Names, Abbreviations, and Print Names must be unique.  In
+"^DD",8925.1,8925.1,.01,21,47,0)
+fact, an object Name must differ not only from every other object name,
+"^DD",8925.1,8925.1,.01,21,48,0)
+but also from every other object Abbreviation and from every other object
+"^DD",8925.1,8925.1,.01,21,49,0)
+Print Name.  Same for Abbreviations and Print Names.  For example, if some
+"^DD",8925.1,8925.1,.01,21,50,0)
+object has abbreviation 'CND', then 'CND' cannot be used for any other
+"^DD",8925.1,8925.1,.01,21,51,0)
+object Name, Abbreviation, or Print Name.
+"^DD",8925.1,8925.1,.01,"AUDIT")
+
+"^DD",8925.1,8925.1,.01,"DEL",.01,0)
+I 1
+"^DD",8925.1,8925.1,.01,"DT")
+3020107
+"^DD",8925.1,8925.1,.02,0)
+ABBREVIATION^FX^^0;2^K:X[""""!($A(X)=45) X I $D(X) K:$L(X)>4!($L(X)<2)!'(X?2.4A) X I $D(X),+$G(DA) K:($P(^TIU(8925.1,DA,0),U,4)="O")&('(X?2.4U)!'$D(TIUFPRIV)) X I $D(X),+$G(DA) K:$$BADNAP^TIUFLF1(X,DA) X
+"^DD",8925.1,8925.1,.02,1,0)
+^.1
+"^DD",8925.1,8925.1,.02,1,1,0)
+8925.1^C
+"^DD",8925.1,8925.1,.02,1,1,1)
+S ^TIU(8925.1,"C",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.1,.02,1,1,2)
+K ^TIU(8925.1,"C",$E(X,1,30),DA)
+"^DD",8925.1,8925.1,.02,1,1,"%D",0)
+^^2^2^2940711^
+"^DD",8925.1,8925.1,.02,1,1,"%D",1,0)
+This cross reference will be used by the router/filer to identify a given
+"^DD",8925.1,8925.1,.02,1,1,"%D",2,0)
+report type.
+"^DD",8925.1,8925.1,.02,1,1,"DT")
+2921020
+"^DD",8925.1,8925.1,.02,1,2,0)
+8925.1^ACL02^MUMPS
+"^DD",8925.1,8925.1,.02,1,2,1)
+D SACL^TIUDD1(X,.02)
+"^DD",8925.1,8925.1,.02,1,2,2)
+D KACL^TIUDD1(X,.02)
+"^DD",8925.1,8925.1,.02,1,2,"%D",0)
+^^2^2^3010417^
+"^DD",8925.1,8925.1,.02,1,2,"%D",1,0)
+This complex cross-reference by class and name will help optimize the
+"^DD",8925.1,8925.1,.02,1,2,"%D",2,0)
+title look-up for the GUI.
+"^DD",8925.1,8925.1,.02,1,2,"DT")
+3010417
+"^DD",8925.1,8925.1,.02,3)
+Enter from 2 to 4 letters.  If OBJECT, Abbreviation must be unique among all object Names, Abbreviations, and Print Names, and must be uppercase.
+"^DD",8925.1,8925.1,.02,21,0)
+^^3^3^2990504^^^^
+"^DD",8925.1,8925.1,.02,21,1,0)
+Abbreviation can be entered at the Title: prompt when entering a document.
+"^DD",8925.1,8925.1,.02,21,2,0)
+Since all Titles with that abbreviation will then be listed, Abbreviation
+"^DD",8925.1,8925.1,.02,21,3,0)
+can serve to group Titles.  BASIC Field.  For Objects, see NAME.
+"^DD",8925.1,8925.1,.02,"DT")
+3020107
+"^DD",8925.1,8925.1,.03,0)
+PRINT NAME^FX^^0;3^K:X[""""!($A(X)=45) X I $D(X) K:$L(X)>60!($L(X)<3) X I $D(X),+$G(DA) K:($P(^TIU(8925.1,DA,0),U,4)="O")&('(X?3.60UPN)!'$D(TIUFPRIV)) X I $D(X),+$G(DA) K:$$BADNAP^TIUFLF1(X,DA) X
+"^DD",8925.1,8925.1,.03,1,0)
+^.1
+"^DD",8925.1,8925.1,.03,1,1,0)
+8925.1^AM1^MUMPS
+"^DD",8925.1,8925.1,.03,1,1,1)
+D REDO^TIUDD
+"^DD",8925.1,8925.1,.03,1,1,2)
+D REDO^TIUDD
+"^DD",8925.1,8925.1,.03,1,1,"%D",0)
+^^2^2^2950911^^^
+"^DD",8925.1,8925.1,.03,1,1,"%D",1,0)
+This MUMPS-type cross-reference is used to update the TIMESTAMP on both
+"^DD",8925.1,8925.1,.03,1,1,"%D",2,0)
+the current document, and its parents, when its PRINT NAME changes.
+"^DD",8925.1,8925.1,.03,1,1,"DT")
+2940720
+"^DD",8925.1,8925.1,.03,1,2,0)
+8925.1^D
+"^DD",8925.1,8925.1,.03,1,2,1)
+S ^TIU(8925.1,"D",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.1,.03,1,2,2)
+K ^TIU(8925.1,"D",$E(X,1,30),DA)
+"^DD",8925.1,8925.1,.03,1,2,"%D",0)
+^^1^1^2950126^
+"^DD",8925.1,8925.1,.03,1,2,"%D",1,0)
+This REGULAR FileMan cross-reference by PRINT NAME will facilitate look-up.
+"^DD",8925.1,8925.1,.03,1,2,"DT")
+2950126
+"^DD",8925.1,8925.1,.03,1,3,0)
+8925.1^ACL03^MUMPS
+"^DD",8925.1,8925.1,.03,1,3,1)
+D SACL^TIUDD1(X,.03)
+"^DD",8925.1,8925.1,.03,1,3,2)
+D KACL^TIUDD1(X,.03)
+"^DD",8925.1,8925.1,.03,1,3,"%D",0)
+^^2^2^3010417^
+"^DD",8925.1,8925.1,.03,1,3,"%D",1,0)
+This complex cross-reference by class and name will help optimize the
+"^DD",8925.1,8925.1,.03,1,3,"%D",2,0)
+title look-up for the GUI.
+"^DD",8925.1,8925.1,.03,1,3,"DT")
+3010417
+"^DD",8925.1,8925.1,.03,3)
+Print Name is used in lists of documents and as document Title in the Patient Chart.  3-60 Characters.  If OBJECT, Print Name must be unique among object Names/Abbreviations/PrintNames, and uppercase.
+"^DD",8925.1,8925.1,.03,21,0)
+^^3^3^2990504^^^^
+"^DD",8925.1,8925.1,.03,21,1,0)
+Print Name is the name used in lists of documents.  For entries of Type
+"^DD",8925.1,8925.1,.03,21,2,0)
+Title, Print Name is used as the document Title in the Patient Chart.
+"^DD",8925.1,8925.1,.03,21,3,0)
+BASIC field.  For Objects, see NAME.
+"^DD",8925.1,8925.1,.03,"DT")
+3020107
+"^DD",8925.1,8925.1,.04,0)
+TYPE^RSX^CL:CLASS;DC:DOCUMENT CLASS;DOC:TITLE;CO:COMPONENT;O:OBJECT;^0;4^K:'$G(TIUFPRIV) X
+"^DD",8925.1,8925.1,.04,1,0)
+^.1
+"^DD",8925.1,8925.1,.04,1,1,0)
+8925.1^AT
+"^DD",8925.1,8925.1,.04,1,1,1)
+S ^TIU(8925.1,"AT",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.1,.04,1,1,2)
+K ^TIU(8925.1,"AT",$E(X,1,30),DA)
+"^DD",8925.1,8925.1,.04,1,1,3)
+Please don't delete!
+"^DD",8925.1,8925.1,.04,1,1,"%D",0)
+^^2^2^2950615^
+"^DD",8925.1,8925.1,.04,1,1,"%D",1,0)
+This regular cross reference is used for listing Document Definitions by
+"^DD",8925.1,8925.1,.04,1,1,"%D",2,0)
+Type.
+"^DD",8925.1,8925.1,.04,1,1,"DT")
+2950615
+"^DD",8925.1,8925.1,.04,3)
+Types Class and Document Class group documents.  Titles are used to enter documents.  Components are sections of documents.  Objects are M code for use in Boilerplate Text.
+"^DD",8925.1,8925.1,.04,4)
+
+"^DD",8925.1,8925.1,.04,21,0)
+^^99^99^2970521^^
+"^DD",8925.1,8925.1,.04,21,1,0)
+Type determines the nature of the entry and what sort of items the entry
+"^DD",8925.1,8925.1,.04,21,2,0)
+may have. There are 5 possible types:
+"^DD",8925.1,8925.1,.04,21,3,0)
+ 
+"^DD",8925.1,8925.1,.04,21,4,0)
+CL CLASS:  Classes group documents.
+"^DD",8925.1,8925.1,.04,21,5,0)
+ 
+"^DD",8925.1,8925.1,.04,21,6,0)
+Example: "Progress Notes" is a class with many kinds of progress notes
+"^DD",8925.1,8925.1,.04,21,7,0)
+under it.
+"^DD",8925.1,8925.1,.04,21,8,0)
+ 
+"^DD",8925.1,8925.1,.04,21,9,0)
+Classes may themselves be subdivided into items of Type Class or may have
+"^DD",8925.1,8925.1,.04,21,10,0)
+items of Type Document Class if no further Class subdivisions are desired.
+"^DD",8925.1,8925.1,.04,21,11,0)
+ 
+"^DD",8925.1,8925.1,.04,21,12,0)
+If a hierarchy deeper than Class-Document Class-Title is desired, Class is
+"^DD",8925.1,8925.1,.04,21,13,0)
+the place to insert another level into the hierarchy: Class-Class-Document
+"^DD",8925.1,8925.1,.04,21,14,0)
+Class-Title.
+"^DD",8925.1,8925.1,.04,21,15,0)
+ 
+"^DD",8925.1,8925.1,.04,21,16,0)
+Besides grouping documents, Classes also store behavior which is then
+"^DD",8925.1,8925.1,.04,21,17,0)
+inherited by lower level entries.
+"^DD",8925.1,8925.1,.04,21,18,0)
+ 
+"^DD",8925.1,8925.1,.04,21,19,0)
+DC DOCUMENT CLASS: Document Classes group documents.  Document Class is
+"^DD",8925.1,8925.1,.04,21,20,0)
+the lowest level of class, and has items of Type Title under it.
+"^DD",8925.1,8925.1,.04,21,21,0)
+ 
+"^DD",8925.1,8925.1,.04,21,22,0)
+Example: "Day Pass Note" could be a Document Class under class Progress
+"^DD",8925.1,8925.1,.04,21,23,0)
+Note.
+"^DD",8925.1,8925.1,.04,21,24,0)
+ 
+"^DD",8925.1,8925.1,.04,21,25,0)
+Document Classes also store behavior which is then inherited by lower
+"^DD",8925.1,8925.1,.04,21,26,0)
+entries.
+"^DD",8925.1,8925.1,.04,21,27,0)
+ 
+"^DD",8925.1,8925.1,.04,21,28,0)
+TL TITLE:  Titles are used to enter documents.  They store the behavior
+"^DD",8925.1,8925.1,.04,21,29,0)
+of the documents which use them.
+"^DD",8925.1,8925.1,.04,21,30,0)
+ 
+"^DD",8925.1,8925.1,.04,21,31,0)
+Titles may have predefined boilerplate ("Overprint") text.  They may have
+"^DD",8925.1,8925.1,.04,21,32,0)
+Components as items.  Boilerplate Text can have objects in it.
+"^DD",8925.1,8925.1,.04,21,33,0)
+ 
+"^DD",8925.1,8925.1,.04,21,34,0)
+Examples: "Routine Day Pass Note" could be a Title under document class
+"^DD",8925.1,8925.1,.04,21,35,0)
+Day Pass Note.  Another example might be "Exceptional Circumstances Day
+"^DD",8925.1,8925.1,.04,21,36,0)
+Pass Note."
+"^DD",8925.1,8925.1,.04,21,37,0)
+ 
+"^DD",8925.1,8925.1,.04,21,38,0)
+Titles store their own behavior.  They also inherit behavior from higher
+"^DD",8925.1,8925.1,.04,21,39,0)
+levels of the hierarchy.  However, behavior stored in the Title itself
+"^DD",8925.1,8925.1,.04,21,40,0)
+overrides inherited behavior.
+"^DD",8925.1,8925.1,.04,21,41,0)
+ 
+"^DD",8925.1,8925.1,.04,21,42,0)
+CO COMPONENT: Components are "sections" or "pieces" of documents.
+"^DD",8925.1,8925.1,.04,21,43,0)
+In the Hierarchy, Components are hung as items from Titles.
+"^DD",8925.1,8925.1,.04,21,44,0)
+ 
+"^DD",8925.1,8925.1,.04,21,45,0)
+Examples: "Reason for Pass" could be a component of Routine Day Pass Note.
+"^DD",8925.1,8925.1,.04,21,46,0)
+Subjective is a component of a SOAP Note.
+"^DD",8925.1,8925.1,.04,21,47,0)
+ 
+"^DD",8925.1,8925.1,.04,21,48,0)
+Components may have (sub)Components as items.  They may have Boilerplate
+"^DD",8925.1,8925.1,.04,21,49,0)
+Text.  Components may be designated Shared (see Field Description for
+"^DD",8925.1,8925.1,.04,21,50,0)
+Shared). Shared Components are shown in Document Definition Utility
+"^DD",8925.1,8925.1,.04,21,51,0)
+Displays as Type: 'CO S'.
+"^DD",8925.1,8925.1,.04,21,52,0)
+ 
+"^DD",8925.1,8925.1,.04,21,53,0)
+There are advantages and disadvantages in splitting a document up into
+"^DD",8925.1,8925.1,.04,21,54,0)
+separate components (rather than writing sections into the Boilerplate
+"^DD",8925.1,8925.1,.04,21,55,0)
+Text of the Title): Since Components are stored as separate file entries,
+"^DD",8925.1,8925.1,.04,21,56,0)
+they are inherently accessable and even 'moveable'. Using Fileman, sites
+"^DD",8925.1,8925.1,.04,21,57,0)
+can access components of documents the same way they can access documents
+"^DD",8925.1,8925.1,.04,21,58,0)
+for reports, etc.. Also, in the future, TIU may have options to move/copy
+"^DD",8925.1,8925.1,.04,21,59,0)
+certain components from one document into another.  The disadvantage is
+"^DD",8925.1,8925.1,.04,21,60,0)
+speed: Components make the structure more complex and therefore slow down
+"^DD",8925.1,8925.1,.04,21,61,0)
+processing.
+"^DD",8925.1,8925.1,.04,21,62,0)
+ 
+"^DD",8925.1,8925.1,.04,21,63,0)
+O OBJECT: Objects are names which may be embedded in the predefined
+"^DD",8925.1,8925.1,.04,21,64,0)
+boilerplate text of Titles. Example: 'PATIENT AGE'.  Objects are typed
+"^DD",8925.1,8925.1,.04,21,65,0)
+into the boilerplate text of a Title, enclosed by '|'s.  For example,
+"^DD",8925.1,8925.1,.04,21,66,0)
+suppose a Title has boilerplate text:
+"^DD",8925.1,8925.1,.04,21,67,0)
+ 
+"^DD",8925.1,8925.1,.04,21,68,0)
+        Patient is a healthy |PATIENT AGE| year old male ...
+"^DD",8925.1,8925.1,.04,21,69,0)
+ 
+"^DD",8925.1,8925.1,.04,21,70,0)
+Then a user who enters such a note for a patient known by the system to be
+"^DD",8925.1,8925.1,.04,21,71,0)
+56 years old would be presented with the text:
+"^DD",8925.1,8925.1,.04,21,72,0)
+ 
+"^DD",8925.1,8925.1,.04,21,73,0)
+        Patient is a healthy 56 year old male ...
+"^DD",8925.1,8925.1,.04,21,74,0)
+ 
+"^DD",8925.1,8925.1,.04,21,75,0)
+The user can then add to the text and or edit the text, including the age
+"^DD",8925.1,8925.1,.04,21,76,0)
+(56) of the patient.  From this point on, the patient age (56) is regular
+"^DD",8925.1,8925.1,.04,21,77,0)
+text and is not updated in this note.
+"^DD",8925.1,8925.1,.04,21,78,0)
+ 
+"^DD",8925.1,8925.1,.04,21,79,0)
+Objects must always have uppercase names, abbreviations, and print names.
+"^DD",8925.1,8925.1,.04,21,80,0)
+When embedding objects in boilerplate text, users may embed any of these
+"^DD",8925.1,8925.1,.04,21,81,0)
+three (name, abbreviation, print name) in boilerplate text, enclosed by
+"^DD",8925.1,8925.1,.04,21,82,0)
+'|'s.  Objects must always be embedded in uppercase.
+"^DD",8925.1,8925.1,.04,21,83,0)
+ 
+"^DD",8925.1,8925.1,.04,21,84,0)
+Objects are stored in the Document Definition File, but are not part of
+"^DD",8925.1,8925.1,.04,21,85,0)
+the Hierarchy.  They are accessible through the Option Create Objects.
+"^DD",8925.1,8925.1,.04,21,86,0)
+(They are also accessible through the Option Sort Document Definitions, by
+"^DD",8925.1,8925.1,.04,21,87,0)
+selecting Sort by Type and selecting Type Object.)
+"^DD",8925.1,8925.1,.04,21,88,0)
+ 
+"^DD",8925.1,8925.1,.04,21,89,0)
+TIU exports a small library of objects.  Sites can also create their own.
+"^DD",8925.1,8925.1,.04,21,90,0)
+ 
+"^DD",8925.1,8925.1,.04,21,91,0)
+Only an owner can edit an object and should do so only after consulting
+"^DD",8925.1,8925.1,.04,21,92,0)
+with others who use it.  The object must be inactive for editing.  It
+"^DD",8925.1,8925.1,.04,21,93,0)
+should be thoroughly tested.  See Object Status, under Status.
+"^DD",8925.1,8925.1,.04,21,94,0)
+ 
+"^DD",8925.1,8925.1,.04,21,95,0)
+Entries of type Object cannot be changed to any other type.  Entries of
+"^DD",8925.1,8925.1,.04,21,96,0)
+type Class, Document Class, Title, or Component cannot be changed to type
+"^DD",8925.1,8925.1,.04,21,97,0)
+Object.
+"^DD",8925.1,8925.1,.04,21,98,0)
+ 
+"^DD",8925.1,8925.1,.04,21,99,0)
+Type is a BASIC field.
+"^DD",8925.1,8925.1,.04,"DT")
+2970114
+"^DD",8925.1,8925.1,.05,0)
+PERSONAL OWNER^P200'X^VA(200,^0;5^Q
+"^DD",8925.1,8925.1,.05,1,0)
+^.1
+"^DD",8925.1,8925.1,.05,1,1,0)
+8925.1^AP
+"^DD",8925.1,8925.1,.05,1,1,1)
+S ^TIU(8925.1,"AP",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.1,.05,1,1,2)
+K ^TIU(8925.1,"AP",$E(X,1,30),DA)
+"^DD",8925.1,8925.1,.05,1,1,3)
+Please don't delete!
+"^DD",8925.1,8925.1,.05,1,1,"%D",0)
+^^2^2^2950615^
+"^DD",8925.1,8925.1,.05,1,1,"%D",1,0)
+This regular cross reference is used for listing Document Definitions by
+"^DD",8925.1,8925.1,.05,1,1,"%D",2,0)
+Personal Owner.
+"^DD",8925.1,8925.1,.05,1,1,"DT")
+2950615
+"^DD",8925.1,8925.1,.05,3)
+Enter Person who can edit entry.  If owned by Class rather than Person, delete Personal Owner by typing '@' at Personal Owner prompt, and then enter Class Owner.
+"^DD",8925.1,8925.1,.05,4)
+
+"^DD",8925.1,8925.1,.05,21,0)
+^^41^41^2970520^
+"^DD",8925.1,8925.1,.05,21,1,0)
+Document Definition Ownership has nothing to do with who can USE the entry
+"^DD",8925.1,8925.1,.05,21,2,0)
+to enter a document.  It determines responsibilty for the Document
+"^DD",8925.1,8925.1,.05,21,3,0)
+Definition itself.
+"^DD",8925.1,8925.1,.05,21,4,0)
+ 
+"^DD",8925.1,8925.1,.05,21,5,0)
+An entry can be EDITED by its owner. (The Manager menu permits override of
+"^DD",8925.1,8925.1,.05,21,6,0)
+ownership so that Ownership can be assigned to a clinician who can then
+"^DD",8925.1,8925.1,.05,21,7,0)
+fill in boilerplate text with the Clinician menu, while the Manager can
+"^DD",8925.1,8925.1,.05,21,8,0)
+still edit the entry, since there are many fields the clinician does not
+"^DD",8925.1,8925.1,.05,21,9,0)
+have access to.)  Exception: the Manager menu does NOT override ownership
+"^DD",8925.1,8925.1,.05,21,10,0)
+of Objects or of Shared Components.  Only owners can edit Objects and
+"^DD",8925.1,8925.1,.05,21,11,0)
+Shared Components, regardless of menu.
+"^DD",8925.1,8925.1,.05,21,12,0)
+ 
+"^DD",8925.1,8925.1,.05,21,13,0)
+If Title owner edits the boilerplate text of the Title, that person can
+"^DD",8925.1,8925.1,.05,21,14,0)
+edit the boilerplate text of all components of the Title as well, without
+"^DD",8925.1,8925.1,.05,21,15,0)
+regard to component ownership. In order to edit components individually,
+"^DD",8925.1,8925.1,.05,21,16,0)
+however, the user must own the component.  This allows users to assign
+"^DD",8925.1,8925.1,.05,21,17,0)
+ownership of components to different people, for example, for (future)
+"^DD",8925.1,8925.1,.05,21,18,0)
+multidisciplinary documents.
+"^DD",8925.1,8925.1,.05,21,19,0)
+ 
+"^DD",8925.1,8925.1,.05,21,20,0)
+A PERSONAL OWNER is a person who uniquely owns the entry. An entry may
+"^DD",8925.1,8925.1,.05,21,21,0)
+have a Personal Owner OR a Class Owner but not both. When entering a
+"^DD",8925.1,8925.1,.05,21,22,0)
+Personal Owner, be sure to delete any existing Class Owner.
+"^DD",8925.1,8925.1,.05,21,23,0)
+ 
+"^DD",8925.1,8925.1,.05,21,24,0)
+The Document Definition Utility TIUF uses the term 'Individual Owner'.
+"^DD",8925.1,8925.1,.05,21,25,0)
+Someone is an Individual Owner of an entry if s/he is the personal owner
+"^DD",8925.1,8925.1,.05,21,26,0)
+OR, if the entry is CLASS Owned, if s/he belongs to the Owner Class.
+"^DD",8925.1,8925.1,.05,21,27,0)
+ 
+"^DD",8925.1,8925.1,.05,21,28,0)
+The Document Definition Utility TIUF enters the user as the Personal Owner
+"^DD",8925.1,8925.1,.05,21,29,0)
+if a user enters a new entry without assigning ownership. This person can
+"^DD",8925.1,8925.1,.05,21,30,0)
+then reassign ownership if they choose.
+"^DD",8925.1,8925.1,.05,21,31,0)
+ 
+"^DD",8925.1,8925.1,.05,21,32,0)
+If the person responsible for an entry plays a role corresponding to a
+"^DD",8925.1,8925.1,.05,21,33,0)
+User Class, e.g. Clinical Coordinator, it may be more efficient to assign
+"^DD",8925.1,8925.1,.05,21,34,0)
+ownership to the class rather than to the person.  Owners are then
+"^DD",8925.1,8925.1,.05,21,35,0)
+automatically updated as the class is updated.
+"^DD",8925.1,8925.1,.05,21,36,0)
+ 
+"^DD",8925.1,8925.1,.05,21,37,0)
+Editing privilege is affected not only by Owner but also by Status, by
+"^DD",8925.1,8925.1,.05,21,38,0)
+Shared, by In Use, and by menu.  Manager menus, for example, provide
+"^DD",8925.1,8925.1,.05,21,39,0)
+fuller editing capabilities than Clinician menus.
+"^DD",8925.1,8925.1,.05,21,40,0)
+ 
+"^DD",8925.1,8925.1,.05,21,41,0)
+Personal Owner is a BASIC field.
+"^DD",8925.1,8925.1,.05,"DT")
+2961022
+"^DD",8925.1,8925.1,.06,0)
+CLASS OWNER^P8930'X^USR(8930,^0;6^Q
+"^DD",8925.1,8925.1,.06,1,0)
+^.1
+"^DD",8925.1,8925.1,.06,1,1,0)
+8925.1^AC
+"^DD",8925.1,8925.1,.06,1,1,1)
+S ^TIU(8925.1,"AC",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.1,.06,1,1,2)
+K ^TIU(8925.1,"AC",$E(X,1,30),DA)
+"^DD",8925.1,8925.1,.06,1,1,3)
+Please don't delete!
+"^DD",8925.1,8925.1,.06,1,1,"%D",0)
+^^2^2^2950615^
+"^DD",8925.1,8925.1,.06,1,1,"%D",1,0)
+This regular cross reference is used to list Document Definitions by Class
+"^DD",8925.1,8925.1,.06,1,1,"%D",2,0)
+Owner.
+"^DD",8925.1,8925.1,.06,1,1,"DT")
+2950615
+"^DD",8925.1,8925.1,.06,3)
+If owned by Class rather than by Person enter User Class whose members may edit entry.  If owned by Person, delete Class Owner by entering '@' at Class Owner prompt.
+"^DD",8925.1,8925.1,.06,4)
+
+"^DD",8925.1,8925.1,.06,21,0)
+^^31^31^2970227^
+"^DD",8925.1,8925.1,.06,21,1,0)
+Document Definition Ownership has nothing to do with who can USE the entry
+"^DD",8925.1,8925.1,.06,21,2,0)
+to enter a document.  It determines responsibility for the Document
+"^DD",8925.1,8925.1,.06,21,3,0)
+Definition itself.
+"^DD",8925.1,8925.1,.06,21,4,0)
+ 
+"^DD",8925.1,8925.1,.06,21,5,0)
+An entry can be EDITED by its owner.  (The Manager menu permits override
+"^DD",8925.1,8925.1,.06,21,6,0)
+of ownership so that ownership can be assigned to a clinician (person with
+"^DD",8925.1,8925.1,.06,21,7,0)
+Clinician Menu) who can then fill in boilerplate text, while the manager
+"^DD",8925.1,8925.1,.06,21,8,0)
+can still edit the entry, since there are many fields the clinician does
+"^DD",8925.1,8925.1,.06,21,9,0)
+not have access to.)  Exception: the Manager menu does NOT override
+"^DD",8925.1,8925.1,.06,21,10,0)
+ownership of Objects or of Shared Components.  These can ONLY be edited by
+"^DD",8925.1,8925.1,.06,21,11,0)
+an owner, regardless of menu.
+"^DD",8925.1,8925.1,.06,21,12,0)
+ 
+"^DD",8925.1,8925.1,.06,21,13,0)
+If a Title owner edits the boilerplate text of the Title, that person can
+"^DD",8925.1,8925.1,.06,21,14,0)
+edit the boilerplate text of all components of the title as well, without
+"^DD",8925.1,8925.1,.06,21,15,0)
+regard to component ownership.  However, the user must own the component
+"^DD",8925.1,8925.1,.06,21,16,0)
+in order to edit it individually, permitting separate ownership of
+"^DD",8925.1,8925.1,.06,21,17,0)
+components.
+"^DD",8925.1,8925.1,.06,21,18,0)
+ 
+"^DD",8925.1,8925.1,.06,21,19,0)
+A Class Owner is a User Class from the USR CLASS file whose members may
+"^DD",8925.1,8925.1,.06,21,20,0)
+edit the entry.  An entry may have a Personal OR a Class Owner (not both).
+"^DD",8925.1,8925.1,.06,21,21,0)
+The Document Definition Utility TIUF does not prompt for Class Owner if
+"^DD",8925.1,8925.1,.06,21,22,0)
+the entry has a Personal Owner.  To change to Class Owner, first delete
+"^DD",8925.1,8925.1,.06,21,23,0)
+the Personal Owner by entering '@' at the Personal Owner prompt.
+"^DD",8925.1,8925.1,.06,21,24,0)
+ 
+"^DD",8925.1,8925.1,.06,21,25,0)
+For new entries, users are prompted to enter the Class Owner Clinical
+"^DD",8925.1,8925.1,.06,21,26,0)
+Coordinator as the default.  To enter a different Class Owner, enter the
+"^DD",8925.1,8925.1,.06,21,27,0)
+appropriate class after the //'s.  If there are no //'s and the
+"^DD",8925.1,8925.1,.06,21,28,0)
+Replace...with editor is being used, enter ... to replace the whole
+"^DD",8925.1,8925.1,.06,21,29,0)
+class and then enter the appropriate class.
+"^DD",8925.1,8925.1,.06,21,30,0)
+ 
+"^DD",8925.1,8925.1,.06,21,31,0)
+Class Owner is a BASIC field.
+"^DD",8925.1,8925.1,.06,"DT")
+2961022
+"^DD",8925.1,8925.1,.07,0)
+STATUS^*P8925.6'X^TIU(8925.6,^0;7^K:'$G(TIUFPRIV) X Q:'$D(X)  S DIC("S")="I 1 X $$STATSCRN^TIUFLF5" D ^DIC K DIC S DIC=DIE,X=+Y K:Y<0 X
+"^DD",8925.1,8925.1,.07,1,0)
+^.1
+"^DD",8925.1,8925.1,.07,1,1,0)
+8925.1^AS
+"^DD",8925.1,8925.1,.07,1,1,1)
+S ^TIU(8925.1,"AS",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.1,.07,1,1,2)
+K ^TIU(8925.1,"AS",$E(X,1,30),DA)
+"^DD",8925.1,8925.1,.07,1,1,3)
+Please don't delete!
+"^DD",8925.1,8925.1,.07,1,1,"%D",0)
+^^2^2^2950615^
+"^DD",8925.1,8925.1,.07,1,1,"%D",1,0)
+This regular cross reference is used to list Document Definitions by
+"^DD",8925.1,8925.1,.07,1,1,"%D",2,0)
+Status.
+"^DD",8925.1,8925.1,.07,1,1,"DT")
+2950615
+"^DD",8925.1,8925.1,.07,1,2,0)
+8925.1^ACL07^MUMPS
+"^DD",8925.1,8925.1,.07,1,2,1)
+D SACL^TIUDD1(X,.07)
+"^DD",8925.1,8925.1,.07,1,2,2)
+D KACL^TIUDD1(X,.07)
+"^DD",8925.1,8925.1,.07,1,2,"%D",0)
+^^2^2^2971016^
+"^DD",8925.1,8925.1,.07,1,2,"%D",1,0)
+This MUMPS-type cross-reference on STATUS support the identification of
+"^DD",8925.1,8925.1,.07,1,2,"%D",2,0)
+Active and TEST Titles within a given class.
+"^DD",8925.1,8925.1,.07,1,2,"DT")
+2971016
+"^DD",8925.1,8925.1,.07,3)
+ Documents can be entered on ACTIVE Titles.  Only the Owner can enter a document on TEST Titles.  Only INACTIVE Document Definitions can be edited.
+"^DD",8925.1,8925.1,.07,4)
+
+"^DD",8925.1,8925.1,.07,12)
+STATSCRN limits Status to Status file entries that are appropriate for Document Definitions: Active, Inactive, and Test.
+"^DD",8925.1,8925.1,.07,12.1)
+S DIC("S")="I 1 X $$STATSCRN^TIUFLF5"
+"^DD",8925.1,8925.1,.07,21,0)
+^^183^183^2990225^^^
+"^DD",8925.1,8925.1,.07,21,1,0)
+Status provides a way of making Document Definitions 'Offline' to
+"^DD",8925.1,8925.1,.07,21,2,0)
+documents.  Document Definitions need to be 'Offline' if they are new and
+"^DD",8925.1,8925.1,.07,21,3,0)
+not ready for use, if they are being edited, or if they are retired from
+"^DD",8925.1,8925.1,.07,21,4,0)
+further use.
+"^DD",8925.1,8925.1,.07,21,5,0)
+ 
+"^DD",8925.1,8925.1,.07,21,6,0)
+Status is limited to those Statuses in the Status File which apply to
+"^DD",8925.1,8925.1,.07,21,7,0)
+Document Definitions: Inactive, Test, and Active. The Document Definition
+"^DD",8925.1,8925.1,.07,21,8,0)
+Utility TIUF further limits Statuses to those appropriate for the entry
+"^DD",8925.1,8925.1,.07,21,9,0)
+Type (see below), limits the Status of entries with Inactive ancestors to
+"^DD",8925.1,8925.1,.07,21,10,0)
+Inactive, and limits the Status of faulty entries to Inactive.
+"^DD",8925.1,8925.1,.07,21,11,0)
+ 
+"^DD",8925.1,8925.1,.07,21,12,0)
+Status applies to all Document Definitions, but its meaning and possible
+"^DD",8925.1,8925.1,.07,21,13,0)
+values vary somewhat with the Document Definition Type.  Exception: Shared
+"^DD",8925.1,8925.1,.07,21,14,0)
+Components: See COMPONENT STATUS, below.
+"^DD",8925.1,8925.1,.07,21,15,0)
+ 
+"^DD",8925.1,8925.1,.07,21,16,0)
+Status is a BASIC field.
+"^DD",8925.1,8925.1,.07,21,17,0)
+ 
+"^DD",8925.1,8925.1,.07,21,18,0)
+                                TITLE STATUS
+"^DD",8925.1,8925.1,.07,21,19,0)
+ 
+"^DD",8925.1,8925.1,.07,21,20,0)
+Status has its most basic meaning for Titles [Document Definitions of Type
+"^DD",8925.1,8925.1,.07,21,21,0)
+Title]:
+"^DD",8925.1,8925.1,.07,21,22,0)
+ 
+"^DD",8925.1,8925.1,.07,21,23,0)
+A Title can have Status Inactive, Test, or Active.  If it has Status
+"^DD",8925.1,8925.1,.07,21,24,0)
+Inactive, it cannot be used to enter documents (EXCEPT through the
+"^DD",8925.1,8925.1,.07,21,25,0)
+Try Action, which deletes the document when done). If it has Status
+"^DD",8925.1,8925.1,.07,21,26,0)
+Test, it can be used to enter documents only by its Owner. Titles should
+"^DD",8925.1,8925.1,.07,21,27,0)
+be tested (and Tried) using TEST PATIENTS ONLY.  If a Title has Status
+"^DD",8925.1,8925.1,.07,21,28,0)
+Active, it can be used to enter documents by any one with access and
+"^DD",8925.1,8925.1,.07,21,29,0)
+authorization.  
+"^DD",8925.1,8925.1,.07,21,30,0)
+ 
+"^DD",8925.1,8925.1,.07,21,31,0)
+                              *************** 
+"^DD",8925.1,8925.1,.07,21,32,0)
+NOTE on Availability of Titles for entering documents: 
+"^DD",8925.1,8925.1,.07,21,33,0)
+Although Status affects availability for entering documents, there are
+"^DD",8925.1,8925.1,.07,21,34,0)
+other factors which also affect availability: A Document Definition is not
+"^DD",8925.1,8925.1,.07,21,35,0)
+available to a given user for entering documents (excepting the Document
+"^DD",8925.1,8925.1,.07,21,36,0)
+Definition Utility Try Action) unless all of the following 3 criteria are
+"^DD",8925.1,8925.1,.07,21,37,0)
+met:
+"^DD",8925.1,8925.1,.07,21,38,0)
+ 
+"^DD",8925.1,8925.1,.07,21,39,0)
+  1) It is a Document Definition of Type Title.
+"^DD",8925.1,8925.1,.07,21,40,0)
+ 
+"^DD",8925.1,8925.1,.07,21,41,0)
+  2) It has Status Active or Test.  If it has Status Test, the user
+"^DD",8925.1,8925.1,.07,21,42,0)
+entering a document must own the Title.
+"^DD",8925.1,8925.1,.07,21,43,0)
+ 
+"^DD",8925.1,8925.1,.07,21,44,0)
+  3) If authorization for using the Title to enter documents is restricted
+"^DD",8925.1,8925.1,.07,21,45,0)
+by Business Rules, the user must be a member of the authorized user
+"^DD",8925.1,8925.1,.07,21,46,0)
+class.
+"^DD",8925.1,8925.1,.07,21,47,0)
+ 
+"^DD",8925.1,8925.1,.07,21,48,0)
+Unless these criteria are all met, users trying to enter documents will
+"^DD",8925.1,8925.1,.07,21,49,0)
+not SEE the Document Definition.  Therefore it is wise to warn users when
+"^DD",8925.1,8925.1,.07,21,50,0)
+taking definitions offline for edit, and/or to do so at nonpeak hours for
+"^DD",8925.1,8925.1,.07,21,51,0)
+entering documents.
+"^DD",8925.1,8925.1,.07,21,52,0)
+ 
+"^DD",8925.1,8925.1,.07,21,53,0)
+The above description applies to document entry BOTH manually through
+"^DD",8925.1,8925.1,.07,21,54,0)
+menu options AND via upload.  It does NOT apply to autoentry of documents
+"^DD",8925.1,8925.1,.07,21,55,0)
+via the TIU application interface.  Adverse Reaction/Allergy notes entered
+"^DD",8925.1,8925.1,.07,21,56,0)
+by the Allergy package are an example of such autoentry.  The TIU
+"^DD",8925.1,8925.1,.07,21,57,0)
+application interface for autoentering documents disregards Title status
+"^DD",8925.1,8925.1,.07,21,58,0)
+and Business Rules.
+"^DD",8925.1,8925.1,.07,21,59,0)
+                             *******************
+"^DD",8925.1,8925.1,.07,21,60,0)
+ 
+"^DD",8925.1,8925.1,.07,21,61,0)
+When being upgraded to Status Active or Test, a Title is examined for
+"^DD",8925.1,8925.1,.07,21,62,0)
+rudimentary completeness and must be judged OK before the upgrade takes
+"^DD",8925.1,8925.1,.07,21,63,0)
+place.  If desired, users can perform the same examination themselves by
+"^DD",8925.1,8925.1,.07,21,64,0)
+selecting action TRY.  For Titles, Action TRY also permits the user to
+"^DD",8925.1,8925.1,.07,21,65,0)
+enter a document on the entry.  The document is deleted immediately after
+"^DD",8925.1,8925.1,.07,21,66,0)
+the trial.
+"^DD",8925.1,8925.1,.07,21,67,0)
+ 
+"^DD",8925.1,8925.1,.07,21,68,0)
+Availability for entering documents is the central meaning of Status.
+"^DD",8925.1,8925.1,.07,21,69,0)
+However, Status also controls edit/deletion of Document Definitions:  A
+"^DD",8925.1,8925.1,.07,21,70,0)
+Title can be edited ONLY if it has Status Inactive, ensuring that no one
+"^DD",8925.1,8925.1,.07,21,71,0)
+is using it to enter a document while its behavior is changing.  Titles
+"^DD",8925.1,8925.1,.07,21,72,0)
+can be deleted only with Status Inactive.
+"^DD",8925.1,8925.1,.07,21,73,0)
+ 
+"^DD",8925.1,8925.1,.07,21,74,0)
+NOTE: Although Status affects Editing ability, it is not the only factor
+"^DD",8925.1,8925.1,.07,21,75,0)
+affecting editing:  If an entry is already IN USE by documents,
+"^DD",8925.1,8925.1,.07,21,76,0)
+editing/deletion is restricted to aspects which will not harm existing
+"^DD",8925.1,8925.1,.07,21,77,0)
+TIU documents.
+"^DD",8925.1,8925.1,.07,21,78,0)
+ 
+"^DD",8925.1,8925.1,.07,21,79,0)
+Components under a Title have the same status as the Title: When a Title's
+"^DD",8925.1,8925.1,.07,21,80,0)
+status is changed, the statuses of its descendant Components are
+"^DD",8925.1,8925.1,.07,21,81,0)
+automatically changed with it. (Shared Components are an exception: see
+"^DD",8925.1,8925.1,.07,21,82,0)
+COMPONENT STATUS, below.)
+"^DD",8925.1,8925.1,.07,21,83,0)
+ 
+"^DD",8925.1,8925.1,.07,21,84,0)
+                       CLASS/DOCUMENT CLASS STATUS
+"^DD",8925.1,8925.1,.07,21,85,0)
+ 
+"^DD",8925.1,8925.1,.07,21,86,0)
+A Document Definition of Type Class or Document Class can have Status
+"^DD",8925.1,8925.1,.07,21,87,0)
+Inactive or Active.  
+"^DD",8925.1,8925.1,.07,21,88,0)
+ 
+"^DD",8925.1,8925.1,.07,21,89,0)
+Basics for a Class or Document Class cannot be edited (except for Owner
+"^DD",8925.1,8925.1,.07,21,90,0)
+and Status) unless it is Inactive.  Since Inactivating a Class/Document
+"^DD",8925.1,8925.1,.07,21,91,0)
+Class automatically inactivates its descendants, this ensures that all
+"^DD",8925.1,8925.1,.07,21,92,0)
+Titles which inherit behavior from it are neither Active nor Test, and are
+"^DD",8925.1,8925.1,.07,21,93,0)
+thus 'Offline' while inherited behavior is edited.
+"^DD",8925.1,8925.1,.07,21,94,0)
+ 
+"^DD",8925.1,8925.1,.07,21,95,0)
+In contrast to Basics, the ability to add/edit ITEMS of a Class/Document
+"^DD",8925.1,8925.1,.07,21,96,0)
+Class depends on the Status of the item, not the parent: it is NOT
+"^DD",8925.1,8925.1,.07,21,97,0)
+necessary to Inactivate a Class such as Progress Notes in order to
+"^DD",8925.1,8925.1,.07,21,98,0)
+edit/add items.
+"^DD",8925.1,8925.1,.07,21,99,0)
+ 
+"^DD",8925.1,8925.1,.07,21,100,0)
+Activating a Class/Document Class differs from Inactivating the
+"^DD",8925.1,8925.1,.07,21,101,0)
+Class/Document Class: When a Class/Document Class is ACTIVATED, its
+"^DD",8925.1,8925.1,.07,21,102,0)
+descendants may have any Status which their Type permits: they are not
+"^DD",8925.1,8925.1,.07,21,103,0)
+REQUIRED to be Active. Hence, they are not automatically Activated when
+"^DD",8925.1,8925.1,.07,21,104,0)
+the parent is Activated.
+"^DD",8925.1,8925.1,.07,21,105,0)
+ 
+"^DD",8925.1,8925.1,.07,21,106,0)
+                            COMPONENT STATUS
+"^DD",8925.1,8925.1,.07,21,107,0)
+ 
+"^DD",8925.1,8925.1,.07,21,108,0)
+A Document Definition of Type Component has the same status as its parent:
+"^DD",8925.1,8925.1,.07,21,109,0)
+Its status can be changed only by changing the Status of its Parent, if it
+"^DD",8925.1,8925.1,.07,21,110,0)
+has one. Components without parents are always Inactive.
+"^DD",8925.1,8925.1,.07,21,111,0)
+ 
+"^DD",8925.1,8925.1,.07,21,112,0)
+NOTE: The above implies that Test or Active Titles cannot have Inactive
+"^DD",8925.1,8925.1,.07,21,113,0)
+Components.  In other words, Inactivating a Component is NOT a way of
+"^DD",8925.1,8925.1,.07,21,114,0)
+retiring it.  If a Component is no longer a useful section of a Title, it
+"^DD",8925.1,8925.1,.07,21,115,0)
+should be edited so as to make it useful, or it should be deleted AS AN
+"^DD",8925.1,8925.1,.07,21,116,0)
+ITEM from the Title of which it is a part.  As with all retired Document
+"^DD",8925.1,8925.1,.07,21,117,0)
+Definitions, it should NOT be deleted FROM THE FILE if it has been used by
+"^DD",8925.1,8925.1,.07,21,118,0)
+documents.
+"^DD",8925.1,8925.1,.07,21,119,0)
+ 
+"^DD",8925.1,8925.1,.07,21,120,0)
+Components can be edited only if they have status Inactive. This ensures
+"^DD",8925.1,8925.1,.07,21,121,0)
+that all Titles using them are offline while the components are being
+"^DD",8925.1,8925.1,.07,21,122,0)
+edited.
+"^DD",8925.1,8925.1,.07,21,123,0)
+ 
+"^DD",8925.1,8925.1,.07,21,124,0)
+Shared Components are a special case since they can have multiple parents.
+"^DD",8925.1,8925.1,.07,21,125,0)
+They DO NOT HAVE A STATUS. They can be edited only when all parent Titles
+"^DD",8925.1,8925.1,.07,21,126,0)
+have Status Inactive.  (The Detailed Display screen shows parents.)  This
+"^DD",8925.1,8925.1,.07,21,127,0)
+ensures that all parent Titles of Shared Components are offline while the
+"^DD",8925.1,8925.1,.07,21,128,0)
+component is being edited.  Edit of Shared Components is permitted only
+"^DD",8925.1,8925.1,.07,21,129,0)
+through the Option Sort Document Definitions.
+"^DD",8925.1,8925.1,.07,21,130,0)
+ 
+"^DD",8925.1,8925.1,.07,21,131,0)
+Edit of Shared Components is severely restricted by Ownership, since they
+"^DD",8925.1,8925.1,.07,21,132,0)
+may be used multiple times and across the site.  Even an Inactive Status
+"^DD",8925.1,8925.1,.07,21,133,0)
+does not permit a manager (person with Manager menu) to override ownership
+"^DD",8925.1,8925.1,.07,21,134,0)
+and edit a Shared Component they don't own.  See Shared Components, under
+"^DD",8925.1,8925.1,.07,21,135,0)
+Description of Type.  See Description of Shared.
+"^DD",8925.1,8925.1,.07,21,136,0)
+ 
+"^DD",8925.1,8925.1,.07,21,137,0)
+                               OBJECT STATUS
+"^DD",8925.1,8925.1,.07,21,138,0)
+ 
+"^DD",8925.1,8925.1,.07,21,139,0)
+Document Definitions of Type Object have Status Inactive or Active.
+"^DD",8925.1,8925.1,.07,21,140,0)
+ 
+"^DD",8925.1,8925.1,.07,21,141,0)
+Only ACTIVE objects function.  That is, if a user enters a document on a
+"^DD",8925.1,8925.1,.07,21,142,0)
+Title with boilerplate text containing an inactive object, the object
+"^DD",8925.1,8925.1,.07,21,143,0)
+doesn't do anything; the user sees the name of the object and an error
+"^DD",8925.1,8925.1,.07,21,144,0)
+message in place of the object data.
+"^DD",8925.1,8925.1,.07,21,145,0)
+ 
+"^DD",8925.1,8925.1,.07,21,146,0)
+Only ACTIVE objects should be embedded in boilerplate text.  Exception:
+"^DD",8925.1,8925.1,.07,21,147,0)
+owners who are creating/editing objects.  Others should NOT embed inactive
+"^DD",8925.1,8925.1,.07,21,148,0)
+objects in boilerplate text since they may not be ready for use and since
+"^DD",8925.1,8925.1,.07,21,149,0)
+they do not function when users enter documents against them. Titles whose
+"^DD",8925.1,8925.1,.07,21,150,0)
+boilerplate text contains inactive objects cannot be activated.  (This
+"^DD",8925.1,8925.1,.07,21,151,0)
+does NOT imply that active titles never have inactive objects embedded in
+"^DD",8925.1,8925.1,.07,21,152,0)
+them since users can, after a warning, inactivate objects even when they
+"^DD",8925.1,8925.1,.07,21,153,0)
+are embedded in active titles.)
+"^DD",8925.1,8925.1,.07,21,154,0)
+ 
+"^DD",8925.1,8925.1,.07,21,155,0)
+Only INACTIVE objects can be edited (and only by an owner).  Only an owner
+"^DD",8925.1,8925.1,.07,21,156,0)
+can activate/inactivate an object.  (Exception: if a user owns an object
+"^DD",8925.1,8925.1,.07,21,157,0)
+and edits the owner to someone else, the user is not prevented from going
+"^DD",8925.1,8925.1,.07,21,158,0)
+on to edit the status in the same edit session since they WERE the owner a
+"^DD",8925.1,8925.1,.07,21,159,0)
+few seconds ago.)  Active objects are assumed to be ready for use in any
+"^DD",8925.1,8925.1,.07,21,160,0)
+boilerplate text.
+"^DD",8925.1,8925.1,.07,21,161,0)
+ 
+"^DD",8925.1,8925.1,.07,21,162,0)
+Since the owner is essentially caretaker of the object for the entire
+"^DD",8925.1,8925.1,.07,21,163,0)
+site, the owner should consult with all who use it before editing it.  An
+"^DD",8925.1,8925.1,.07,21,164,0)
+object can be tested by embedding it in the boilerplate text of a Title
+"^DD",8925.1,8925.1,.07,21,165,0)
+and selecting action Try for the Title.  It need not have status Active
+"^DD",8925.1,8925.1,.07,21,166,0)
+for this testing (and SHOULD not have status Active until testing is
+"^DD",8925.1,8925.1,.07,21,167,0)
+complete).  Owners who inactivate objects for editing should make SURE to
+"^DD",8925.1,8925.1,.07,21,168,0)
+reactivate them if they are being used.
+"^DD",8925.1,8925.1,.07,21,169,0)
+ 
+"^DD",8925.1,8925.1,.07,21,170,0)
+Sites should either inactivate relevant Titles before editing objects or
+"^DD",8925.1,8925.1,.07,21,171,0)
+edit objects only when users are not likely to be ENTERING documents since
+"^DD",8925.1,8925.1,.07,21,172,0)
+Inactive objects do not function.
+"^DD",8925.1,8925.1,.07,21,173,0)
+ 
+"^DD",8925.1,8925.1,.07,21,174,0)
+If a site changes the name or behavior of an Object, it is up to the SITE
+"^DD",8925.1,8925.1,.07,21,175,0)
+to change the name wherever it has already been embedded in Boilerplate
+"^DD",8925.1,8925.1,.07,21,176,0)
+Text, and to inform users of the change.
+"^DD",8925.1,8925.1,.07,21,177,0)
+ 
+"^DD",8925.1,8925.1,.07,21,178,0)
+An object which is no longer wanted for future documents can be removed
+"^DD",8925.1,8925.1,.07,21,179,0)
+from the boilerplate text of all Titles and Components and then deleted
+"^DD",8925.1,8925.1,.07,21,180,0)
+from file 8925.1.  Only an owner can delete it.  All of the documents that
+"^DD",8925.1,8925.1,.07,21,181,0)
+used it have already got it in hard words so there is no need to keep it
+"^DD",8925.1,8925.1,.07,21,182,0)
+for their sake.  Old Objects should be edited so they are useful or
+"^DD",8925.1,8925.1,.07,21,183,0)
+deleted, not kept around forever as Inactive.
+"^DD",8925.1,8925.1,.07,"DT")
+2971016
+"^DD",8925.1,8925.1,.08,0)
+IN USE^CJ6^^ ; ^S X=$S($L($T(^TIUFLF)):$$DDEFUSED^TIUFLF(D0),1:"?")
+"^DD",8925.1,8925.1,.08,.1)
+
+"^DD",8925.1,8925.1,.08,9)
+^
+"^DD",8925.1,8925.1,.08,9.01)
+
+"^DD",8925.1,8925.1,.08,9.1)
+S X=$S($L($T(^TIUFLF)):$$DDEFUSED^TIUFLF(D0),1:"?")
+"^DD",8925.1,8925.1,.08,21,0)
+^^55^55^2970125^
+"^DD",8925.1,8925.1,.08,21,1,0)
+IN USE applies to all entries except those of Type Object.  It cannot be
+"^DD",8925.1,8925.1,.08,21,2,0)
+edited since it gets its value automatically.
+"^DD",8925.1,8925.1,.08,21,3,0)
+ 
+"^DD",8925.1,8925.1,.08,21,4,0)
+IN USE may have values 'Yes', 'No', or '?'.
+"^DD",8925.1,8925.1,.08,21,5,0)
+ 
+"^DD",8925.1,8925.1,.08,21,6,0)
+A Document Definition of Type Title or Component is In Use (Yes) if there
+"^DD",8925.1,8925.1,.08,21,7,0)
+are entries IN THE TIU DOCUMENT file which store it as their Document
+"^DD",8925.1,8925.1,.08,21,8,0)
+Definition.  If not, it is NOT used (No). 
+"^DD",8925.1,8925.1,.08,21,9,0)
+ 
+"^DD",8925.1,8925.1,.08,21,10,0)
+NOTE: It is possible for Document Definitions to be used by documents in
+"^DD",8925.1,8925.1,.08,21,11,0)
+files other than the TIU Document file and still be NOT In Use since In
+"^DD",8925.1,8925.1,.08,21,12,0)
+Use means in use by documents in the TIU Document Definition file. See
+"^DD",8925.1,8925.1,.08,21,13,0)
+Warning, below.
+"^DD",8925.1,8925.1,.08,21,14,0)
+ 
+"^DD",8925.1,8925.1,.08,21,15,0)
+A Document Definition of Type Class or Document Class is In Use (Yes) if
+"^DD",8925.1,8925.1,.08,21,16,0)
+it has children of Type Title which are In Use. That is, it is Used by
+"^DD",8925.1,8925.1,.08,21,17,0)
+Documents (Yes) if there are entries in the TIU Document file which
+"^DD",8925.1,8925.1,.08,21,18,0)
+inherit behavior from it. If not, it is NOT used (No).
+"^DD",8925.1,8925.1,.08,21,19,0)
+ 
+"^DD",8925.1,8925.1,.08,21,20,0)
+IN USE has value '?' for a Document Definition File entry if routine
+"^DD",8925.1,8925.1,.08,21,21,0)
+TIUFLF is missing or if the program encounters a nonexistent item and the
+"^DD",8925.1,8925.1,.08,21,22,0)
+entry is not In Use so far as the check has been able to go.
+"^DD",8925.1,8925.1,.08,21,23,0)
+ 
+"^DD",8925.1,8925.1,.08,21,24,0)
+Note: Since Shared Components can be items of more than one Title, a
+"^DD",8925.1,8925.1,.08,21,25,0)
+Shared Component may be In Use even when a particular parent Title is
+"^DD",8925.1,8925.1,.08,21,26,0)
+NOT In Use.  This simply means that it is also a Component of another
+"^DD",8925.1,8925.1,.08,21,27,0)
+Title which IS In Use.
+"^DD",8925.1,8925.1,.08,21,28,0)
+ 
+"^DD",8925.1,8925.1,.08,21,29,0)
+If IN USE has the explicit value 'No' for a particular Document Definition
+"^DD",8925.1,8925.1,.08,21,30,0)
+entry, the entry can be deleted by the Owner without harming documents IN
+"^DD",8925.1,8925.1,.08,21,31,0)
+TIU DOCUMENT FILE 8925. Deleting it will, however, orphan any descendant
+"^DD",8925.1,8925.1,.08,21,32,0)
+Document Definitions.
+"^DD",8925.1,8925.1,.08,21,33,0)
+ 
+"^DD",8925.1,8925.1,.08,21,34,0)
+WARNING: If a site is using TIU to upload documents into a file other than
+"^DD",8925.1,8925.1,.08,21,35,0)
+the TIU Document file, it may create Document Definition entries to store
+"^DD",8925.1,8925.1,.08,21,36,0)
+upload information.  For example, it may create an Operative Reports title
+"^DD",8925.1,8925.1,.08,21,37,0)
+containing instructions for uploading documents into the Surgery file.
+"^DD",8925.1,8925.1,.08,21,38,0)
+These document definitions will be orphans and will be NOT In Use, since
+"^DD",8925.1,8925.1,.08,21,39,0)
+documents using them are not stored in the TIU Document file. They must
+"^DD",8925.1,8925.1,.08,21,40,0)
+NOT be deleted from the Document Definition file.
+"^DD",8925.1,8925.1,.08,21,41,0)
+ 
+"^DD",8925.1,8925.1,.08,21,42,0)
+Note: Deleting Objects will not harm existing documents, but WILL HARM
+"^DD",8925.1,8925.1,.08,21,43,0)
+future documents if the Object is embedded in existing Document Definition
+"^DD",8925.1,8925.1,.08,21,44,0)
+Boilerplate Text.
+"^DD",8925.1,8925.1,.08,21,45,0)
+ 
+"^DD",8925.1,8925.1,.08,21,46,0)
+If IN USE has value 'Yes' or '?', the Document Definition Utility TIUF
+"^DD",8925.1,8925.1,.08,21,47,0)
+does not permit the entry to be deleted. Deleting the entry would cause
+"^DD",8925.1,8925.1,.08,21,48,0)
+documents in file 8925 not to function.  This is true even if the entry
+"^DD",8925.1,8925.1,.08,21,49,0)
+has status 'Inactive' and documents are no longer being written on the
+"^DD",8925.1,8925.1,.08,21,50,0)
+entry.
+"^DD",8925.1,8925.1,.08,21,51,0)
+ 
+"^DD",8925.1,8925.1,.08,21,52,0)
+Technical Note: A Document Definition of Type Title or Component is IN
+"^DD",8925.1,8925.1,.08,21,53,0)
+USE if and only if it appears in file 8925's 'B' Cross Reference.
+"^DD",8925.1,8925.1,.08,21,54,0)
+ 
+"^DD",8925.1,8925.1,.08,21,55,0)
+In Use is a BASIC field.
+"^DD",8925.1,8925.1,.08,"DT")
+2960618
+"^DD",8925.1,8925.1,.1,0)
+SHARED^SX^1:YES;0:NO;^0;10^K:'$G(TIUFPRIV) X
+"^DD",8925.1,8925.1,.1,.1)
+SHARED COMPONENT
+"^DD",8925.1,8925.1,.1,3)
+Enter Y for YES if this Component is intended for broad use across the site, i.e., it can be used more than once, and need not be owned by the user.
+"^DD",8925.1,8925.1,.1,21,0)
+^^48^48^2970220^
+"^DD",8925.1,8925.1,.1,21,1,0)
+Applies to entries of Type Component only.
+"^DD",8925.1,8925.1,.1,21,2,0)
+ 
+"^DD",8925.1,8925.1,.1,21,3,0)
+Document Definitions of Type Component may be designated SHARED by Owners
+"^DD",8925.1,8925.1,.1,21,4,0)
+who have the Manager menu. This means the Component can be an item under
+"^DD",8925.1,8925.1,.1,21,5,0)
+multiple parents, and any user who owns a Title can add it as an item.
+"^DD",8925.1,8925.1,.1,21,6,0)
+ 
+"^DD",8925.1,8925.1,.1,21,7,0)
+Shared Components are the ONLY members of the Document Definition
+"^DD",8925.1,8925.1,.1,21,8,0)
+hierarchy which can appear in more than one place in the hierarchy.
+"^DD",8925.1,8925.1,.1,21,9,0)
+(Objects can be used in multiple entries, but are not members of the
+"^DD",8925.1,8925.1,.1,21,10,0)
+hierarchy.)
+"^DD",8925.1,8925.1,.1,21,11,0)
+ 
+"^DD",8925.1,8925.1,.1,21,12,0)
+Shared Components are intended for broad use across the site.  An example
+"^DD",8925.1,8925.1,.1,21,13,0)
+might be a Privacy Act Component.  Since a Shared Component may be used in
+"^DD",8925.1,8925.1,.1,21,14,0)
+many different Document Definitions, its Owner is essentially caretaker
+"^DD",8925.1,8925.1,.1,21,15,0)
+for it, hospital wide, and must take into account all users before editing
+"^DD",8925.1,8925.1,.1,21,16,0)
+it.  Users who disagree with a proposed change can opt to create and use
+"^DD",8925.1,8925.1,.1,21,17,0)
+their own copy instead of using the Shared Component.
+"^DD",8925.1,8925.1,.1,21,18,0)
+ 
+"^DD",8925.1,8925.1,.1,21,19,0)
+Parents of a Shared Component are listed in the Detailed Display Screen.
+"^DD",8925.1,8925.1,.1,21,20,0)
+ 
+"^DD",8925.1,8925.1,.1,21,21,0)
+Shared Field values are 1 for YES and 0 for NO, with a default value of
+"^DD",8925.1,8925.1,.1,21,22,0)
+0 for NO if the field is empty.
+"^DD",8925.1,8925.1,.1,21,23,0)
+ 
+"^DD",8925.1,8925.1,.1,21,24,0)
+An entry may not be designated Shared unless it is of Type Component. Only
+"^DD",8925.1,8925.1,.1,21,25,0)
+a Manager (person with Manager menu) and only an Owner can designate a
+"^DD",8925.1,8925.1,.1,21,26,0)
+Component as Shared. Only an OWNER can edit it.  (Normally Managers can
+"^DD",8925.1,8925.1,.1,21,27,0)
+override ownership and edit entries.  Manager Options do NOT override
+"^DD",8925.1,8925.1,.1,21,28,0)
+Ownership for editing Shared Components).  Shared Components can only be
+"^DD",8925.1,8925.1,.1,21,29,0)
+edited from the Sort Document Definitions Option.
+"^DD",8925.1,8925.1,.1,21,30,0)
+ 
+"^DD",8925.1,8925.1,.1,21,31,0)
+Shared Components cannot be deleted.  If they do not have multiple
+"^DD",8925.1,8925.1,.1,21,32,0)
+parents, they can, however, be edited to NOT shared and THEN deleted,
+"^DD",8925.1,8925.1,.1,21,33,0)
+assuming they are not In Use by documents and the parent is Inactive.
+"^DD",8925.1,8925.1,.1,21,34,0)
+ 
+"^DD",8925.1,8925.1,.1,21,35,0)
+Shared Components do NOT HAVE a Status.  They can be edited only if all
+"^DD",8925.1,8925.1,.1,21,36,0)
+parent Titles are Inactive.  This ensures that parent Titles are offline
+"^DD",8925.1,8925.1,.1,21,37,0)
+for entering documents while their components are being edited.  Parents
+"^DD",8925.1,8925.1,.1,21,38,0)
+are listed on the Detailed Display Screen.
+"^DD",8925.1,8925.1,.1,21,39,0)
+ 
+"^DD",8925.1,8925.1,.1,21,40,0)
+If a Shared Component has subcomponents, they are automatically Shared,
+"^DD",8925.1,8925.1,.1,21,41,0)
+since they, with their parents, can be used in more than one place in the
+"^DD",8925.1,8925.1,.1,21,42,0)
+hierarchy.
+"^DD",8925.1,8925.1,.1,21,43,0)
+ 
+"^DD",8925.1,8925.1,.1,21,44,0)
+Sharing of Document Definitions other than Components is not permitted
+"^DD",8925.1,8925.1,.1,21,45,0)
+because it unduly restricts the owner's right to edit/delete the Document
+"^DD",8925.1,8925.1,.1,21,46,0)
+Definition and adds undue complexity to the Hierarchy.
+"^DD",8925.1,8925.1,.1,21,47,0)
+ 
+"^DD",8925.1,8925.1,.1,21,48,0)
+Shared is a BASIC field.
+"^DD",8925.1,8925.1,.1,"DT")
+2961022
+"^DD",8925.1,8925.1,.11,0)
+ORPHAN^CJ8^^ ; ^S X=$S($L($T(^TIUFLF4)):$$ORPHAN^TIUFLF4(D0,^TIU(8925.1,D0,0)),1:"?")
+"^DD",8925.1,8925.1,.11,9)
+^
+"^DD",8925.1,8925.1,.11,9.01)
+
+"^DD",8925.1,8925.1,.11,9.1)
+S X=$S($L($T(^TIUFLF4)):$$ORPHAN^TIUFLF4(D0,^TIU(8925.1,D0,0)),1:"?")
+"^DD",8925.1,8925.1,.11,21,0)
+^^57^57^2970220^
+"^DD",8925.1,8925.1,.11,21,1,0)
+Orphan applies to Document Definitions of all Types except Objects
+"^DD",8925.1,8925.1,.11,21,2,0)
+and Shared Components.
+"^DD",8925.1,8925.1,.11,21,3,0)
+ 
+"^DD",8925.1,8925.1,.11,21,4,0)
+Orphan is not editable since it gets its value automatically.
+"^DD",8925.1,8925.1,.11,21,5,0)
+ 
+"^DD",8925.1,8925.1,.11,21,6,0)
+Document Definitions are Orphans if they do not belong to the Clinical
+"^DD",8925.1,8925.1,.11,21,7,0)
+Documents Hierarchy, i.e., they cannot trace their ancestry all the way
+"^DD",8925.1,8925.1,.11,21,8,0)
+back to the Class Clinical Documents.  If an Orphan is not In Use, it
+"^DD",8925.1,8925.1,.11,21,9,0)
+may be "dead wood" which should be deleted from the file.  Orphans not In
+"^DD",8925.1,8925.1,.11,21,10,0)
+Use which SHOULD NOT BE DELETED include those being kept for later
+"^DD",8925.1,8925.1,.11,21,11,0)
+possible use, those temporarily orphaned in order to move them around in
+"^DD",8925.1,8925.1,.11,21,12,0)
+the hierarchy, and those used for uploading documents into files other
+"^DD",8925.1,8925.1,.11,21,13,0)
+than the TIU Document file.
+"^DD",8925.1,8925.1,.11,21,14,0)
+ 
+"^DD",8925.1,8925.1,.11,21,15,0)
+(Orphan does not apply to Objects since they don't ever belong to the
+"^DD",8925.1,8925.1,.11,21,16,0)
+hierarchy.  Orphan does not apply to Shared Components since they may
+"^DD",8925.1,8925.1,.11,21,17,0)
+have more than one line of ancestry.)
+"^DD",8925.1,8925.1,.11,21,18,0)
+ 
+"^DD",8925.1,8925.1,.11,21,19,0)
+Warning:  The DOCUMENT DEFINITION file may contain orphan entries which
+"^DD",8925.1,8925.1,.11,21,20,0)
+are not used by documents in the TIU Document file but which contain
+"^DD",8925.1,8925.1,.11,21,21,0)
+upload instructions for storing documents somewhere else.  For example, if
+"^DD",8925.1,8925.1,.11,21,22,0)
+a site is uploading Operative Reports into the Surgery file, there may be
+"^DD",8925.1,8925.1,.11,21,23,0)
+an orphan Operative Report Document Definition in the DOCUMENT DEFINITION
+"^DD",8925.1,8925.1,.11,21,24,0)
+file.  These should NOT be deleted just because they are orphans.  Such
+"^DD",8925.1,8925.1,.11,21,25,0)
+entries can be identified by edit/viewing them through the Sort Option
+"^DD",8925.1,8925.1,.11,21,26,0)
+and looking for Upload fields.
+"^DD",8925.1,8925.1,.11,21,27,0)
+ 
+"^DD",8925.1,8925.1,.11,21,28,0)
+NOTE: Orphan as used in the Document Definition Utility TIUF does NOT mean
+"^DD",8925.1,8925.1,.11,21,29,0)
+having no parents.  For example, suppose Exceptional Day Pass Note has
+"^DD",8925.1,8925.1,.11,21,30,0)
+parent Day Pass Note.  If Day Pass Note has no parent, then Exceptional
+"^DD",8925.1,8925.1,.11,21,31,0)
+Day Pass Note cannot trace its ancestry back to Clinical Documents and is
+"^DD",8925.1,8925.1,.11,21,32,0)
+an Orphan even though it has a parent.
+"^DD",8925.1,8925.1,.11,21,33,0)
+ 
+"^DD",8925.1,8925.1,.11,21,34,0)
+Orphans are invisible to TIU users and cannot be used to enter documents.
+"^DD",8925.1,8925.1,.11,21,35,0)
+ 
+"^DD",8925.1,8925.1,.11,21,36,0)
+When an item under a non-orphan is deleted as an item, it becomes an
+"^DD",8925.1,8925.1,.11,21,37,0)
+orphan along with all of its descendants.  TIUF, the Document Definition
+"^DD",8925.1,8925.1,.11,21,38,0)
+Utility, does not permit non-orphan Titles to become orphaned if they are
+"^DD",8925.1,8925.1,.11,21,39,0)
+In Use.  Titles already used but being retired from further use should
+"^DD",8925.1,8925.1,.11,21,40,0)
+be Inactivated, NOT orphaned.  Components are a different story;
+"^DD",8925.1,8925.1,.11,21,41,0)
+components being retired from further use can and should be orphaned
+"^DD",8925.1,8925.1,.11,21,42,0)
+(deleted as items from the Title).
+"^DD",8925.1,8925.1,.11,21,43,0)
+ 
+"^DD",8925.1,8925.1,.11,21,44,0)
+Reason: Titles inherit attributes and therefore require a complete
+"^DD",8925.1,8925.1,.11,21,45,0)
+ancestry in order to process existing documents.  Since components, on the
+"^DD",8925.1,8925.1,.11,21,46,0)
+other hand, do not inherit attributes, they do NOT require a complete
+"^DD",8925.1,8925.1,.11,21,47,0)
+ancestry to process existing documents (although they must remain in the
+"^DD",8925.1,8925.1,.11,21,48,0)
+file.)
+"^DD",8925.1,8925.1,.11,21,49,0)
+ 
+"^DD",8925.1,8925.1,.11,21,50,0)
+Since Orphans do not belong to the Hierarchy, they do NOT appear on the
+"^DD",8925.1,8925.1,.11,21,51,0)
+Edit Document Definitions Option.  They can be accessed through the Sort
+"^DD",8925.1,8925.1,.11,21,52,0)
+Document Definitions Option.
+"^DD",8925.1,8925.1,.11,21,53,0)
+ 
+"^DD",8925.1,8925.1,.11,21,54,0)
+The field Orphan may have values 'Yes', 'No', or '?'. Orphan has value '?'
+"^DD",8925.1,8925.1,.11,21,55,0)
+if there are technical errors making its value unknown.
+"^DD",8925.1,8925.1,.11,21,56,0)
+ 
+"^DD",8925.1,8925.1,.11,21,57,0)
+Orphan is a BASIC field.
+"^DD",8925.1,8925.1,.11,"DT")
+2960201
+"^DD",8925.1,8925.1,.12,0)
+HAS BOILTXT^CJ7^^ ; ^S TIUFBTXT=$S($L($T(^TIUFLF)):$$HASBOIL^TIUFLF(D0,^TIU(8925.1,D0,0)),1:"UNKNOWN"),X=$S(TIUFBTXT:"YES",TIUFBTXT=0:"NO",1:TIUFBTXT) K TIUFBTXT
+"^DD",8925.1,8925.1,.12,.1)
+HAS BOILERPLATE TEXT
+"^DD",8925.1,8925.1,.12,9)
+^
+"^DD",8925.1,8925.1,.12,9.01)
+
+"^DD",8925.1,8925.1,.12,9.1)
+S TIUFBTXT=$S($L($T(^TIUFLF)):$$HASBOIL^TIUFLF(D0,^TIU(8925.1,D0,0)),1:"UNKNOWN"),X=$S(TIUFBTXT:"YES",TIUFBTXT=0:"NO",1:TIUFBTXT) K TIUFBTXT
+"^DD",8925.1,8925.1,.12,21,0)
+^^3^3^2970128^
+"^DD",8925.1,8925.1,.12,21,1,0)
+Applies to Types Title and Component only.  Cannot be edited since value
+"^DD",8925.1,8925.1,.12,21,2,0)
+is automatic.  A Document Definition Has Boiltxt if it or its descendant
+"^DD",8925.1,8925.1,.12,21,3,0)
+Components have Boilerplate Text (Field 3).  BASIC field.
+"^DD",8925.1,8925.1,.12,"DT")
+2960118
+"^DD",8925.1,8925.1,.13,0)
+NATIONAL STANDARD^SX^1:YES;0:NO;^0;13^K:'$G(TIUFPRIV) X
+"^DD",8925.1,8925.1,.13,3)
+Enter YES if entry is Standard across the nation, i.e. sites mustn't edit
+"^DD",8925.1,8925.1,.13,4)
+
+"^DD",8925.1,8925.1,.13,21,0)
+^^47^47^2990223^
+"^DD",8925.1,8925.1,.13,21,1,0)
+Some Document Definitions, for example, CWAD's, are developed nationally
+"^DD",8925.1,8925.1,.13,21,2,0)
+and sent out as standardized entries across the nation.  TIU and other
+"^DD",8925.1,8925.1,.13,21,3,0)
+packages depend on their standard definition, and they must not be edited
+"^DD",8925.1,8925.1,.13,21,4,0)
+by sites but only by the persons who are nationally responsible for them.
+"^DD",8925.1,8925.1,.13,21,5,0)
+ 
+"^DD",8925.1,8925.1,.13,21,6,0)
+Such entries are marked NATIONAL STANDARD (field has value 1 for YES),
+"^DD",8925.1,8925.1,.13,21,7,0)
+which generally prevents sites from editing the entry.
+"^DD",8925.1,8925.1,.13,21,8,0)
+ 
+"^DD",8925.1,8925.1,.13,21,9,0)
+In two cases, sites are permitted to edit National Standard entries.  The
+"^DD",8925.1,8925.1,.13,21,10,0)
+first case concerns Titles.  Sites can edit Status and Abbreviation for
+"^DD",8925.1,8925.1,.13,21,11,0)
+National Titles.  Status INACTIVE for a National Title prevents manual and
+"^DD",8925.1,8925.1,.13,21,12,0)
+upload entry of documents for the Title, while continuing to permit
+"^DD",8925.1,8925.1,.13,21,13,0)
+automatic entry for the Title via the TIU application interface for new
+"^DD",8925.1,8925.1,.13,21,14,0)
+notes. (Example: Adverse Reaction/Allergy notes are automatically
+"^DD",8925.1,8925.1,.13,21,15,0)
+entered by the Allergy package.) Editing Abbreviation gives sites a means
+"^DD",8925.1,8925.1,.13,21,16,0)
+of grouping national titles with other National and non-National Titles as
+"^DD",8925.1,8925.1,.13,21,17,0)
+they please.
+"^DD",8925.1,8925.1,.13,21,18,0)
+ 
+"^DD",8925.1,8925.1,.13,21,19,0)
+The second case where edit of National entries is permitted concerns the
+"^DD",8925.1,8925.1,.13,21,20,0)
+Item Multiple:
+"^DD",8925.1,8925.1,.13,21,21,0)
+ 
+"^DD",8925.1,8925.1,.13,21,22,0)
+If a National Standard entry has Type Class or Document Class, sites can
+"^DD",8925.1,8925.1,.13,21,23,0)
+add/delete Nonnational items as they please, and can edit ALL items AS
+"^DD",8925.1,8925.1,.13,21,24,0)
+ITEMS (e.g. Item Sequence, etc.).  Sites CANNOT add/delete National items.
+"^DD",8925.1,8925.1,.13,21,25,0)
+ 
+"^DD",8925.1,8925.1,.13,21,26,0)
+If a National Standard entry has Type Title or Component, sites
+"^DD",8925.1,8925.1,.13,21,27,0)
+cannot add or delete items, but can still edit items AS ITEMS.
+"^DD",8925.1,8925.1,.13,21,28,0)
+ 
+"^DD",8925.1,8925.1,.13,21,29,0)
+Sites cannot add National Standard entries as Items to parents.  There is
+"^DD",8925.1,8925.1,.13,21,30,0)
+one exception: Sites can add National Shared Components to (nonnational)
+"^DD",8925.1,8925.1,.13,21,31,0)
+Titles if they wish.  Sites can delete National Standard Items from
+"^DD",8925.1,8925.1,.13,21,32,0)
+nonnational parents. (Unless there has been a mistake, such items will be
+"^DD",8925.1,8925.1,.13,21,33,0)
+limited to Shared Components only.)
+"^DD",8925.1,8925.1,.13,21,34,0)
+ 
+"^DD",8925.1,8925.1,.13,21,35,0)
+Field is NOT heritable.  If field has no value for an entry, value is 0 by
+"^DD",8925.1,8925.1,.13,21,36,0)
+default.  This means that entries created by sites are NOT National
+"^DD",8925.1,8925.1,.13,21,37,0)
+Standard.
+"^DD",8925.1,8925.1,.13,21,38,0)
+ 
+"^DD",8925.1,8925.1,.13,21,39,0)
+Technical Note:
+"^DD",8925.1,8925.1,.13,21,40,0)
+ 
+"^DD",8925.1,8925.1,.13,21,41,0)
+National entries (except for Shared Components) must have National
+"^DD",8925.1,8925.1,.13,21,42,0)
+ancestors:  if a National entry has a nonNational ancestor, the
+"^DD",8925.1,8925.1,.13,21,43,0)
+Document Definition Utility TIUF does not permit it to be activated.
+"^DD",8925.1,8925.1,.13,21,44,0)
+(Shared Components need not have National ancestors, and do not have a
+"^DD",8925.1,8925.1,.13,21,45,0)
+Status.)
+"^DD",8925.1,8925.1,.13,21,46,0)
+ 
+"^DD",8925.1,8925.1,.13,21,47,0)
+National Standard is a BASIC field.
+"^DD",8925.1,8925.1,.13,"DT")
+2970128
+"^DD",8925.1,8925.1,.14,0)
+POSTING INDICATOR^S^C:crisis note;W:warning;A:allergy/ADR;D:directive;^0;14^Q
+"^DD",8925.1,8925.1,.14,1,0)
+^.1
+"^DD",8925.1,8925.1,.14,1,1,0)
+8925.1^APOST
+"^DD",8925.1,8925.1,.14,1,1,1)
+S ^TIU(8925.1,"APOST",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.1,.14,1,1,2)
+K ^TIU(8925.1,"APOST",$E(X,1,30),DA)
+"^DD",8925.1,8925.1,.14,1,1,"%D",0)
+^^3^3^2970227^
+"^DD",8925.1,8925.1,.14,1,1,"%D",1,0)
+This REGULAR FileMan Cross-reference by Posting Indicator will help to
+"^DD",8925.1,8925.1,.14,1,1,"%D",2,0)
+identify which Document Classes are associated with each of the currently
+"^DD",8925.1,8925.1,.14,1,1,"%D",3,0)
+supported Posting Types.
+"^DD",8925.1,8925.1,.14,1,1,"DT")
+2970227
+"^DD",8925.1,8925.1,.14,3)
+Please choose an indicator corresponding to the Posting Type
+"^DD",8925.1,8925.1,.14,21,0)
+^^2^2^2970515^
+"^DD",8925.1,8925.1,.14,21,1,0)
+This field is used to help identify indicators of the Patient Posting Type
+"^DD",8925.1,8925.1,.14,21,2,0)
+to which the Document Definition should be ascribed.
+"^DD",8925.1,8925.1,.14,"DT")
+2970227
+"^DD",8925.1,8925.1,.15,0)
+PRF FLAG^CJ30^^ ; ^S X=$S($L($T(CFLDFLAG^TIUPRFL)):$$CFLDFLAG^TIUPRFL(D0),1:"?")
+"^DD",8925.1,8925.1,.15,.1)
+ASSOCIATED PATIENT RECORD FLAG
+"^DD",8925.1,8925.1,.15,9)
+^
+"^DD",8925.1,8925.1,.15,9.01)
+
+"^DD",8925.1,8925.1,.15,9.1)
+S X=$S($L($T(CFLDFLAG^TIUPRFL)):$$CFLDFLAG^TIUPRFL(D0),1:"?")
+"^DD",8925.1,8925.1,.15,21,0)
+^^14^14^3050405^
+"^DD",8925.1,8925.1,.15,21,1,0)
+PRF FLAG applies only to PRF titles. The PRF FLAG of a PRF title is the
+"^DD",8925.1,8925.1,.15,21,2,0)
+name of the Patient Record Flag associated with the title.  (Notes cannot
+"^DD",8925.1,8925.1,.15,21,3,0)
+be written using a PRF title unless the title is associated with a flag 
+"^DD",8925.1,8925.1,.15,21,4,0)
+and that flag is assigned to the given patient.)
+"^DD",8925.1,8925.1,.15,21,5,0)
+ 
+"^DD",8925.1,8925.1,.15,21,6,0)
+If the title is not associated with a flag or the associated flag cannot
+"^DD",8925.1,8925.1,.15,21,7,0)
+be found, the field has value "?".  If the Document Definition is not a
+"^DD",8925.1,8925.1,.15,21,8,0)
+title under Document Class PATIENT RECORD FLAG CAT I or PATIENT RECORD
+"^DD",8925.1,8925.1,.15,21,9,0)
+FLAG CAT II, the field has value NA for non-applicable.
+"^DD",8925.1,8925.1,.15,21,10,0)
+ 
+"^DD",8925.1,8925.1,.15,21,11,0)
+Technical Note: Flags and their associations with titles are stored in 
+"^DD",8925.1,8925.1,.15,21,12,0)
+file PRF LOCAL FLAG (#26.11) or in file PRF NATIONAL FLAG (#26.15).
+"^DD",8925.1,8925.1,.15,21,13,0)
+ 
+"^DD",8925.1,8925.1,.15,21,14,0)
+PRF FLAG is a BASIC field.
+"^DD",8925.1,8925.1,.15,"DT")
+3050405
+"^DD",8925.1,8925.1,1,0)
+UPLOAD DELIMITED ASCII HEADER^8925.11I^^ITEM;0
+"^DD",8925.1,8925.1,1,21,0)
+^^7^7^2970108^^
+"^DD",8925.1,8925.1,1,21,1,0)
+This multiple contains the upload record header format of the Document
+"^DD",8925.1,8925.1,1,21,2,0)
+Definition, to be used by the upload/router/filer when the preferred
+"^DD",8925.1,8925.1,1,21,3,0)
+header format is Delimited string (as opposed to captioned).
+"^DD",8925.1,8925.1,1,21,4,0)
+ 
+"^DD",8925.1,8925.1,1,21,5,0)
+Delimited string is useful only if the site has a way of automating
+"^DD",8925.1,8925.1,1,21,6,0)
+creation of upload record headers.  If they are being created by a human
+"^DD",8925.1,8925.1,1,21,7,0)
+transcriber, use Captioned Record Headers instead.
+"^DD",8925.1,8925.1,1,"DT")
+2960729
+"^DD",8925.1,8925.1,1.01,0)
+UPLOAD TARGET FILE^*P1'^DIC(^1;1^S DIC("S")="I $D(^DIC(+Y,""%"",""B"",""TIU""))" D ^DIC K DIC S DIC=DIE,X=+Y K:Y<0 X
+"^DD",8925.1,8925.1,1.01,3)
+Select the DHCP file in which the document will be stored.
+"^DD",8925.1,8925.1,1.01,12)
+Only files with the "TIU" application group may be selected.
+"^DD",8925.1,8925.1,1.01,12.1)
+S DIC("S")="I $D(^DIC(+Y,""%"",""B"",""TIU""))"
+"^DD",8925.1,8925.1,1.01,21,0)
+^^20^20^2970506^
+"^DD",8925.1,8925.1,1.01,21,1,0)
+                           -------------
+"^DD",8925.1,8925.1,1.01,21,2,0)
+NOTE ON UPLOAD:
+"^DD",8925.1,8925.1,1.01,21,3,0)
+Upload fields (Upload Target File, Laygo Allowed, Target Text Field
+"^DD",8925.1,8925.1,1.01,21,4,0)
+Subscript, Upload Look-Up Method, Upload Post-Filing Code, Upload Filing
+"^DD",8925.1,8925.1,1.01,21,5,0)
+Error Code, and multiple fields Upload Delimited ASCII Header and Upload
+"^DD",8925.1,8925.1,1.01,21,6,0)
+Captioned ASCII Header) apply to Document Definitions of Type Class,
+"^DD",8925.1,8925.1,1.01,21,7,0)
+Document Class, and Title.  Multiple fields Upload Delimited ASCII Header
+"^DD",8925.1,8925.1,1.01,21,8,0)
+and Upload Captioned ASCII Header are heritable AS A GROUP.  Do NOT set
+"^DD",8925.1,8925.1,1.01,21,9,0)
+partial information at a lower level; if you set ANY information at a
+"^DD",8925.1,8925.1,1.01,21,10,0)
+lower level, it should be COMPLETE.  For information on editing heritable
+"^DD",8925.1,8925.1,1.01,21,11,0)
+fields, see Technical field: Edit Template.
+"^DD",8925.1,8925.1,1.01,21,12,0)
+ 
+"^DD",8925.1,8925.1,1.01,21,13,0)
+TIUF, the Document Definition Utility does NOT display inherited Upload
+"^DD",8925.1,8925.1,1.01,21,14,0)
+information.  To see/edit existing upload information, edit/view at the
+"^DD",8925.1,8925.1,1.01,21,15,0)
+level it is set.
+"^DD",8925.1,8925.1,1.01,21,16,0)
+ 
+"^DD",8925.1,8925.1,1.01,21,17,0)
+                           --------------
+"^DD",8925.1,8925.1,1.01,21,18,0)
+The UPLOAD TARGET FILE is the VA FileMan file in which fixed-field header
+"^DD",8925.1,8925.1,1.01,21,19,0)
+information and associated text will be stored.  Only files which include
+"^DD",8925.1,8925.1,1.01,21,20,0)
+the TIU Application Group may be selected.
+"^DD",8925.1,8925.1,1.01,"DT")
+2960729
+"^DD",8925.1,8925.1,1.02,0)
+LAYGO ALLOWED^S^0:NO;1:YES;^1;2^Q
+"^DD",8925.1,8925.1,1.02,3)
+Please indicate whether new entries may be added to the TARGET FILE.
+"^DD",8925.1,8925.1,1.02,21,0)
+^^2^2^2970128^
+"^DD",8925.1,8925.1,1.02,21,1,0)
+This field indicates whether or not a new entry can be created in
+"^DD",8925.1,8925.1,1.02,21,2,0)
+the TARGET FILE for documents defined by this Document Definition.
+"^DD",8925.1,8925.1,1.02,"DT")
+2970128
+"^DD",8925.1,8925.1,1.03,0)
+TARGET TEXT FIELD SUBSCRIPT^F^^1;3^K:$L(X)>15!($L(X)<1) X
+"^DD",8925.1,8925.1,1.03,3)
+Select the Word-processing field in the target file.
+"^DD",8925.1,8925.1,1.03,21,0)
+^^2^2^2970620^^
+"^DD",8925.1,8925.1,1.03,21,1,0)
+This is the subscript of the word-processing field in the TARGET FILE, in
+"^DD",8925.1,8925.1,1.03,21,2,0)
+which the body of the narrative report will be stored.
+"^DD",8925.1,8925.1,1.03,"DT")
+2940331
+"^DD",8925.1,8925.1,1.04,0)
+BOILERPLATE ON UPLOAD ENABLED^S^0:NO;1:YES;^1;4^Q
+"^DD",8925.1,8925.1,1.04,3)
+Indicate whether boilerplate logic will be executed on upload
+"^DD",8925.1,8925.1,1.04,21,0)
+^^2^2^2961210^
+"^DD",8925.1,8925.1,1.04,21,1,0)
+This field determines whether the filer will attempt to execute
+"^DD",8925.1,8925.1,1.04,21,2,0)
+boilerplate logic for uploaded documents.  Not used in version 1.
+"^DD",8925.1,8925.1,1.04,"DT")
+2951016
+"^DD",8925.1,8925.1,2,0)
+UPLOAD CAPTIONED ASCII HEADER^8925.12A^^HEAD;0
+"^DD",8925.1,8925.1,2,21,0)
+^^11^11^2970506^^
+"^DD",8925.1,8925.1,2,21,1,0)
+This multiple contains the upload record header format of the Document
+"^DD",8925.1,8925.1,2,21,2,0)
+Definition, to be used by the upload/router/filer when the preferred
+"^DD",8925.1,8925.1,2,21,3,0)
+header format is captioned (as opposed to delimited string).
+"^DD",8925.1,8925.1,2,21,4,0)
+ 
+"^DD",8925.1,8925.1,2,21,5,0)
+Under captioned header format, header items are distinguished from each
+"^DD",8925.1,8925.1,2,21,6,0)
+other by captions such as SSN which are entered by the transcriber,
+"^DD",8925.1,8925.1,2,21,7,0)
+followed by the data.
+"^DD",8925.1,8925.1,2,21,8,0)
+ 
+"^DD",8925.1,8925.1,2,21,9,0)
+Use the captioned header format if documents are transcribed by a human
+"^DD",8925.1,8925.1,2,21,10,0)
+transcriber.  Delimited format is useful only if the site has some way of
+"^DD",8925.1,8925.1,2,21,11,0)
+automatically generating upload record headers.
+"^DD",8925.1,8925.1,2,"DT")
+2960729
+"^DD",8925.1,8925.1,3,0)
+BOILERPLATE TEXT^8925.13^^DFLT;0
+"^DD",8925.1,8925.1,3,"DT")
+2950421
+"^DD",8925.1,8925.1,3.02,0)
+OK TO DISTRIBUTE^S^1:YES;0:NO;^3;2^Q
+"^DD",8925.1,8925.1,3.02,3)
+Enter 1 for YES if entry should be included when this file is exported with data.  Enter 0 for NO or leave blank if entry is for local use only.
+"^DD",8925.1,8925.1,3.02,21,0)
+^^13^13^2970224^^
+"^DD",8925.1,8925.1,3.02,21,1,0)
+Presently applies only to National Programmers; does not appear on
+"^DD",8925.1,8925.1,3.02,21,2,0)
+Manager or Clinician Menus.
+"^DD",8925.1,8925.1,3.02,21,3,0)
+ 
+"^DD",8925.1,8925.1,3.02,21,4,0)
+If field is 1 for YES, then entry should be included for export.  If field
+"^DD",8925.1,8925.1,3.02,21,5,0)
+has no value or has value 0, entry should not be included for export.
+"^DD",8925.1,8925.1,3.02,21,6,0)
+ 
+"^DD",8925.1,8925.1,3.02,21,7,0)
+Since TIU is hierarchical, the entry's behavior depends on entries above
+"^DD",8925.1,8925.1,3.02,21,8,0)
+it in the hierarchy.  It is the responsibility of the exporter to make
+"^DD",8925.1,8925.1,3.02,21,9,0)
+sure all ancestors which are necessary for the proper behavior of an
+"^DD",8925.1,8925.1,3.02,21,10,0)
+exported entry are also exported with it (or are already present at sites
+"^DD",8925.1,8925.1,3.02,21,11,0)
+receiving the exported entries).
+"^DD",8925.1,8925.1,3.02,21,12,0)
+ 
+"^DD",8925.1,8925.1,3.02,21,13,0)
+Field is NOT heritable.  BASIC field.
+"^DD",8925.1,8925.1,3.02,"DT")
+2970128
+"^DD",8925.1,8925.1,3.03,0)
+SUPPRESS VISIT SELECTION^S^1:YES;0:NO;^3;3^Q
+"^DD",8925.1,8925.1,3.03,3)
+Enter 1 for YES ONLY IF this is an administrative note which creates its own historical visit.  You will NOT receive workload credit for such visits.
+"^DD",8925.1,8925.1,3.03,21,0)
+^^17^17^2970220^
+"^DD",8925.1,8925.1,3.03,21,1,0)
+Applies to entries of Type Class, Document Class, and Title.
+"^DD",8925.1,8925.1,3.03,21,2,0)
+ 
+"^DD",8925.1,8925.1,3.03,21,3,0)
+For most documents it is very important that the user entering a document
+"^DD",8925.1,8925.1,3.03,21,4,0)
+select the appropriate visit to link the document with.  However, 
+"^DD",8925.1,8925.1,3.03,21,5,0)
+certain administrative documents for outpatients have no particular visit
+"^DD",8925.1,8925.1,3.03,21,6,0)
+that they should be linked with.  For example, a clinician could have a
+"^DD",8925.1,8925.1,3.03,21,7,0)
+chance encounter with a patient in the corridor and want to document the
+"^DD",8925.1,8925.1,3.03,21,8,0)
+discussion, or a clinician could simply want to remind him/herself of
+"^DD",8925.1,8925.1,3.03,21,9,0)
+something for a given patient.  Documents for such purposes can be set to
+"^DD",8925.1,8925.1,3.03,21,10,0)
+automatically create their own historical visit when they are entered, so
+"^DD",8925.1,8925.1,3.03,21,11,0)
+that the user is not asked to select a visit.
+"^DD",8925.1,8925.1,3.03,21,12,0)
+ 
+"^DD",8925.1,8925.1,3.03,21,13,0)
+Warning:  Such documents DO NOT GIVE WORKLOAD CREDIT.
+"^DD",8925.1,8925.1,3.03,21,14,0)
+ 
+"^DD",8925.1,8925.1,3.03,21,15,0)
+Heritable.  BASIC field.  If field has no value and there is no value
+"^DD",8925.1,8925.1,3.03,21,16,0)
+to inherit, default value is NO.  For information on editing heritable
+"^DD",8925.1,8925.1,3.03,21,17,0)
+fields, see Technical Field Edit Template.
+"^DD",8925.1,8925.1,3.03,"DT")
+2970124
+"^DD",8925.1,8925.1,4,0)
+UPLOAD LOOK-UP METHOD^K^^4;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.1,4,3)
+Please enter the MUMPS code to be executed for record location.
+"^DD",8925.1,8925.1,4,9)
+@
+"^DD",8925.1,8925.1,4,21,0)
+^^12^12^2970107^^
+"^DD",8925.1,8925.1,4,21,1,0)
+Sometimes when an entry is uploaded into the target file, a new entry is
+"^DD",8925.1,8925.1,4,21,2,0)
+created for it.  However, in other cases such as for Operative Reports, or
+"^DD",8925.1,8925.1,4,21,3,0)
+for an addendum, the file entry already exists and must be looked-up and
+"^DD",8925.1,8925.1,4,21,4,0)
+edited.
+"^DD",8925.1,8925.1,4,21,5,0)
+ 
+"^DD",8925.1,8925.1,4,21,6,0)
+Look-Up Method is the MUMPS code invoked to perform such a look-up on the
+"^DD",8925.1,8925.1,4,21,7,0)
+target file.  If a look-up is necessary and this field is blank, a regular
+"^DD",8925.1,8925.1,4,21,8,0)
+DIC lookup is performed.  If the regular DIC lookup is not sufficient to
+"^DD",8925.1,8925.1,4,21,9,0)
+locate the appropriate entry, this field should contain the lookup.  It
+"^DD",8925.1,8925.1,4,21,10,0)
+should expect any look-up special variables named in the header fields as
+"^DD",8925.1,8925.1,4,21,11,0)
+input variables, and should return the variable Y in DIC-compatible format
+"^DD",8925.1,8925.1,4,21,12,0)
+(i.e., IEN^EXTERNAL VALUE[^1]).
+"^DD",8925.1,8925.1,4,"DT")
+2960729
+"^DD",8925.1,8925.1,4.1,0)
+COMMIT ACTION^K^^4.1;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.1,4.1,3)
+This is Standard MUMPS code.
+"^DD",8925.1,8925.1,4.1,9)
+@
+"^DD",8925.1,8925.1,4.1,21,0)
+^^3^3^2980122^
+"^DD",8925.1,8925.1,4.1,21,1,0)
+This M-Code is executed when the TIU document is "committed" to the
+"^DD",8925.1,8925.1,4.1,21,2,0)
+database (i.e., when the document is saved, and prior to release,
+"^DD",8925.1,8925.1,4.1,21,3,0)
+verification, or signature).  Heritable. TECHNICAL field.
+"^DD",8925.1,8925.1,4.1,"DT")
+2971126
+"^DD",8925.1,8925.1,4.2,0)
+RELEASE ACTION^K^^4.2;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.1,4.2,3)
+This is Standard MUMPS code.
+"^DD",8925.1,8925.1,4.2,9)
+@
+"^DD",8925.1,8925.1,4.2,21,0)
+^^2^2^2980126^^
+"^DD",8925.1,8925.1,4.2,21,1,0)
+This M-Code is executed upon Release of the document.  Heritable.
+"^DD",8925.1,8925.1,4.2,21,2,0)
+TECHNICAL field.
+"^DD",8925.1,8925.1,4.2,"DT")
+2971126
+"^DD",8925.1,8925.1,4.3,0)
+VERIFICATION ACTION^K^^4.3;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.1,4.3,3)
+This is Standard MUMPS code.
+"^DD",8925.1,8925.1,4.3,9)
+@
+"^DD",8925.1,8925.1,4.3,21,0)
+^^2^2^2980122^
+"^DD",8925.1,8925.1,4.3,21,1,0)
+This M-Code is executed upon Verification of the document.  Heritable.
+"^DD",8925.1,8925.1,4.3,21,2,0)
+TECHNICAL field.
+"^DD",8925.1,8925.1,4.3,"DT")
+2971126
+"^DD",8925.1,8925.1,4.4,0)
+DELETE ACTION^K^^4.4;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.1,4.4,3)
+This is Standard MUMPS code.
+"^DD",8925.1,8925.1,4.4,9)
+@
+"^DD",8925.1,8925.1,4.4,21,0)
+^^2^2^2980122^
+"^DD",8925.1,8925.1,4.4,21,1,0)
+This M-Code is executed upon Deletion of the document.  Heritable.
+"^DD",8925.1,8925.1,4.4,21,2,0)
+TECHNICAL field.
+"^DD",8925.1,8925.1,4.4,"DT")
+2971126
+"^DD",8925.1,8925.1,4.45,0)
+PACKAGE REASSIGNMENT ACTION^K^^4.45;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.1,4.45,3)
+This is Standard MUMPS code.
+"^DD",8925.1,8925.1,4.45,9)
+@
+"^DD",8925.1,8925.1,4.45,21,0)
+^^2^2^2980122^
+"^DD",8925.1,8925.1,4.45,21,1,0)
+This M-Code is executed when a document with a link to a client
+"^DD",8925.1,8925.1,4.45,21,2,0)
+application is Reassigned.  Heritable.  TECHNICAL field.
+"^DD",8925.1,8925.1,4.45,"DT")
+2971202
+"^DD",8925.1,8925.1,4.5,0)
+UPLOAD POST-FILING CODE^K^^4.5;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.1,4.5,3)
+This is Standard MUMPS code.
+"^DD",8925.1,8925.1,4.5,9)
+@
+"^DD",8925.1,8925.1,4.5,21,0)
+^^4^4^2970522^
+"^DD",8925.1,8925.1,4.5,21,1,0)
+This field specifies code to be executed following the successful filing
+"^DD",8925.1,8925.1,4.5,21,2,0)
+of an uploaded record. It may be used to send bulletins or alerts,
+"^DD",8925.1,8925.1,4.5,21,3,0)
+evaluate expected signers/cosigners, trigger events, update statuses, or
+"^DD",8925.1,8925.1,4.5,21,4,0)
+whatever the designer of the application deems appropriate.
+"^DD",8925.1,8925.1,4.5,"DT")
+2960729
+"^DD",8925.1,8925.1,4.6,0)
+ENTRY ACTION^KX^^4.6;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.1,4.6,3)
+This is Standard MUMPS code.
+"^DD",8925.1,8925.1,4.6,9)
+@
+"^DD",8925.1,8925.1,4.6,21,0)
+^^3^3^2980126^^
+"^DD",8925.1,8925.1,4.6,21,1,0)
+This M-Code is executed during the Entry/Editing of a document, after
+"^DD",8925.1,8925.1,4.6,21,2,0)
+selection of the Title, and prior to selection of the Patient. It may be
+"^DD",8925.1,8925.1,4.6,21,3,0)
+used to set up environmental variables, etc.  Heritable.  TECHNICAL field.
+"^DD",8925.1,8925.1,4.6,"DT")
+2961022
+"^DD",8925.1,8925.1,4.7,0)
+EXIT ACTION^KX^^4.7;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.1,4.7,3)
+This is Standard MUMPS code.
+"^DD",8925.1,8925.1,4.7,9)
+@
+"^DD",8925.1,8925.1,4.7,21,0)
+^^3^3^2980126^^
+"^DD",8925.1,8925.1,4.7,21,1,0)
+This M-Code is executed just prior to Exit from the entry/edit process
+"^DD",8925.1,8925.1,4.7,21,2,0)
+for a document.  It may be used to send alerts or bulletins, clean up
+"^DD",8925.1,8925.1,4.7,21,3,0)
+temporary global variables, etc.  Heritable.  TECHNICAL field.
+"^DD",8925.1,8925.1,4.7,"DT")
+2961022
+"^DD",8925.1,8925.1,4.8,0)
+UPLOAD FILING ERROR CODE^K^^4.8;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.1,4.8,.1)
+UPLOAD FILING ERROR RESOLUTION CODE
+"^DD",8925.1,8925.1,4.8,3)
+This is Standard MUMPS code.
+"^DD",8925.1,8925.1,4.8,9)
+@
+"^DD",8925.1,8925.1,4.8,21,0)
+^^6^6^2970106^
+"^DD",8925.1,8925.1,4.8,21,1,0)
+This MUMPS-type field specifies the code to be executed when the user
+"^DD",8925.1,8925.1,4.8,21,2,0)
+attempts to resolve a filing error.  Filing Errors may be resolved either
+"^DD",8925.1,8925.1,4.8,21,3,0)
+by responding to a Filing Error Alert or through the option to Review
+"^DD",8925.1,8925.1,4.8,21,4,0)
+Upload Events.  Typically, the code will offer the user an opportunity to
+"^DD",8925.1,8925.1,4.8,21,5,0)
+look up online information necessary to resolve the error (e.g.,
+"^DD",8925.1,8925.1,4.8,21,6,0)
+demographic, or case-related information).
+"^DD",8925.1,8925.1,4.8,"DT")
+2960729
+"^DD",8925.1,8925.1,4.9,0)
+POST-SIGNATURE CODE^K^^4.9;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.1,4.9,3)
+This is Standard MUMPS code.
+"^DD",8925.1,8925.1,4.9,9)
+@
+"^DD",8925.1,8925.1,4.9,21,0)
+^^2^2^2980126^^
+"^DD",8925.1,8925.1,4.9,21,1,0)
+This M-Code is executed following Signature (or Cosignature) of a TIU
+"^DD",8925.1,8925.1,4.9,21,2,0)
+document.  Heritable.  TECHNICAL field.
+"^DD",8925.1,8925.1,4.9,"DT")
+2971001
+"^DD",8925.1,8925.1,5,0)
+EDIT TEMPLATE^FX^^5;E1,245^K:$L(X)>60!($L(X)<2) X
+"^DD",8925.1,8925.1,5,3)
+Enter the name of the Input Template for documents defined by this entry.
+"^DD",8925.1,8925.1,5,4)
+D HELP1^TIUFXHLX(5)
+"^DD",8925.1,8925.1,5,9)
+@
+"^DD",8925.1,8925.1,5,21,0)
+^^19^19^2980126^^
+"^DD",8925.1,8925.1,5,21,1,0)
+Applies to Classes, Document Classes, Titles.  This is the Input Template
+"^DD",8925.1,8925.1,5,21,2,0)
+for Entering/Editing documents defined by this entry.  Template
+"^DD",8925.1,8925.1,5,21,3,0)
+includes fixed field information such as Patient, etc.  Enter Edit
+"^DD",8925.1,8925.1,5,21,4,0)
+Template in Format [TEMPLATE NAME], or as a "field-string" (e.g.,
+"^DD",8925.1,8925.1,5,21,5,0)
+.01;1;3;5).  Heritable.  TECHNICAL field.
+"^DD",8925.1,8925.1,5,21,6,0)
+ 
+"^DD",8925.1,8925.1,5,21,7,0)
+NOTE on editing heritable fields:
+"^DD",8925.1,8925.1,5,21,8,0)
+ 
+"^DD",8925.1,8925.1,5,21,9,0)
+When editing heritable fields, the user is presented with the EFFECTIVE
+"^DD",8925.1,8925.1,5,21,10,0)
+value of the field as the default (e.g. NO//).  This is the same as the
+"^DD",8925.1,8925.1,5,21,11,0)
+value shown in the display and is the field's own value if it has one, the
+"^DD",8925.1,8925.1,5,21,12,0)
+inherited value if the field does not have its own value, or the default
+"^DD",8925.1,8925.1,5,21,13,0)
+for the field if the field has neither its own nor an inherited value. If
+"^DD",8925.1,8925.1,5,21,14,0)
+the user accepts this default by pressing return, the value is made
+"^DD",8925.1,8925.1,5,21,15,0)
+explicit, i.e., entered into the field.  If a user does NOT want to make
+"^DD",8925.1,8925.1,5,21,16,0)
+the value explicit, the user should enter @, which leaves a blank field
+"^DD",8925.1,8925.1,5,21,17,0)
+blank.  If the user want to delete an explicit value, the user should
+"^DD",8925.1,8925.1,5,21,18,0)
+enter @, which deletes the field value, leaving TIU to use the effective
+"^DD",8925.1,8925.1,5,21,19,0)
+value for the field.
+"^DD",8925.1,8925.1,5,"DT")
+2961022
+"^DD",8925.1,8925.1,6,0)
+PRINT METHOD^KX^^6;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.1,6,3)
+Please enter the MUMPS code to be executed to print a record.
+"^DD",8925.1,8925.1,6,4)
+D HELP1^TIUFXHLX(6)
+"^DD",8925.1,8925.1,6,9)
+@
+"^DD",8925.1,8925.1,6,21,0)
+^^5^5^2980126^^
+"^DD",8925.1,8925.1,6,21,1,0)
+Applies to Types Class, Document Class, Title.  This M-Code is executed
+"^DD",8925.1,8925.1,6,21,2,0)
+when a document is Printed from the TIU List Manager screen (as opposed to
+"^DD",8925.1,8925.1,6,21,3,0)
+a separate print option which may have its own code.) Heritable. TECHNICAL
+"^DD",8925.1,8925.1,6,21,4,0)
+field.  For more information on editing heritable fields, see Technical
+"^DD",8925.1,8925.1,6,21,5,0)
+field Edit Template.
+"^DD",8925.1,8925.1,6,"DT")
+2961022
+"^DD",8925.1,8925.1,6.1,0)
+PRINT FORM HEADER^FX^^6.1;1^K:$L(X)>40!($L(X)<3) X
+"^DD",8925.1,8925.1,6.1,3)
+Answer must be 3-40 characters in length.
+"^DD",8925.1,8925.1,6.1,4)
+D HELP1^TIUFXHLX(6.1)
+"^DD",8925.1,8925.1,6.1,21,0)
+^^12^12^2970108^^
+"^DD",8925.1,8925.1,6.1,21,1,0)
+For basic information on Print Form Header see Technical field Allow
+"^DD",8925.1,8925.1,6.1,21,2,0)
+Custom Form Headers.
+"^DD",8925.1,8925.1,6.1,21,3,0)
+ 
+"^DD",8925.1,8925.1,6.1,21,4,0)
+The Print Form Header is the official medical record title of the document
+"^DD",8925.1,8925.1,6.1,21,5,0)
+which has been approved by the Medical Record Committee based on national
+"^DD",8925.1,8925.1,6.1,21,6,0)
+guidelines.
+"^DD",8925.1,8925.1,6.1,21,7,0)
+  
+"^DD",8925.1,8925.1,6.1,21,8,0)
+Examples:  Progress Notes, Physical Examination, History - Part 1, etc.
+"^DD",8925.1,8925.1,6.1,21,9,0)
+ 
+"^DD",8925.1,8925.1,6.1,21,10,0)
+This field is heritable with lower level values overriding higher ones AS
+"^DD",8925.1,8925.1,6.1,21,11,0)
+LONG AS the field is applicable.  See Allow Custom Form Headers.  Print
+"^DD",8925.1,8925.1,6.1,21,12,0)
+Form Header is a TECHNICAL field.
+"^DD",8925.1,8925.1,6.1,23,0)
+^^6^6^2970108^^^^
+"^DD",8925.1,8925.1,6.1,23,1,0)
+The narrative stored in this field will display as the form header of a
+"^DD",8925.1,8925.1,6.1,23,2,0)
+document. If entered at a CLASS level such as FORMS, all forms documents
+"^DD",8925.1,8925.1,6.1,23,3,0)
+will display entered header as the form header of the document.  If
+"^DD",8925.1,8925.1,6.1,23,4,0)
+the free text is entered at a lower level (i.e., TITLE), this form header
+"^DD",8925.1,8925.1,6.1,23,5,0)
+will override the one entered at the higher level and will be displayed on
+"^DD",8925.1,8925.1,6.1,23,6,0)
+the form.
+"^DD",8925.1,8925.1,6.1,"DT")
+2961022
+"^DD",8925.1,8925.1,6.12,0)
+PRINT FORM NUMBER^FX^^6.1;2^K:$L(X)>20!($L(X)<3) X
+"^DD",8925.1,8925.1,6.12,3)
+Answer must be 3-20 characters in length.
+"^DD",8925.1,8925.1,6.12,4)
+D HELP1^TIUFXHLX(6.12)
+"^DD",8925.1,8925.1,6.12,21,0)
+^^13^13^2970106^
+"^DD",8925.1,8925.1,6.12,21,1,0)
+For basic information on Print Form Number see Technical field Allow
+"^DD",8925.1,8925.1,6.12,21,2,0)
+Custom Form Headers.
+"^DD",8925.1,8925.1,6.12,21,3,0)
+ 
+"^DD",8925.1,8925.1,6.12,21,4,0)
+The Print Form Number is the official medical record form number of the
+"^DD",8925.1,8925.1,6.12,21,5,0)
+document which has been approved by the Medical Record Committee based
+"^DD",8925.1,8925.1,6.12,21,6,0)
+on national guidelines.
+"^DD",8925.1,8925.1,6.12,21,7,0)
+ 
+"^DD",8925.1,8925.1,6.12,21,8,0)
+Example:  Progress Note - Vice SF 509, Consult - SF 513, Physicial
+"^DD",8925.1,8925.1,6.12,21,9,0)
+Examination - SF 506.
+"^DD",8925.1,8925.1,6.12,21,10,0)
+ 
+"^DD",8925.1,8925.1,6.12,21,11,0)
+Field is heritable with lower level values overriding higher ones AS LONG
+"^DD",8925.1,8925.1,6.12,21,12,0)
+AS the field is applicable.  See field Allow Custom Form Headers.  Print
+"^DD",8925.1,8925.1,6.12,21,13,0)
+Form Header is a TECHNICAL field.
+"^DD",8925.1,8925.1,6.12,23,0)
+^^6^6^2970106^^^^
+"^DD",8925.1,8925.1,6.12,23,1,0)
+The free text stored in this field will be displayed as the form number of
+"^DD",8925.1,8925.1,6.12,23,2,0)
+a document.  If entered at a CLASS level such as Forms, all Forms
+"^DD",8925.1,8925.1,6.12,23,3,0)
+documents will display the entered value as the form number of the
+"^DD",8925.1,8925.1,6.12,23,4,0)
+document.  If the free text is entered at a lower level (i.e., TITLE),
+"^DD",8925.1,8925.1,6.12,23,5,0)
+this value will override the one entered at the higher level and will be
+"^DD",8925.1,8925.1,6.12,23,6,0)
+displayed on the form.
+"^DD",8925.1,8925.1,6.12,"DT")
+2961022
+"^DD",8925.1,8925.1,6.13,0)
+PRINT GROUP^NJ2,0X^^6.1;3^K:+X'=X!(X>10)!(X<1)!(X?.E1"."1N.N) X
+"^DD",8925.1,8925.1,6.13,3)
+Type a Number between 1 and 10, 0 Decimal Digits.  Enter ?? for help.
+"^DD",8925.1,8925.1,6.13,4)
+D HELP1^TIUFXHLX(6.13)
+"^DD",8925.1,8925.1,6.13,21,0)
+^^19^19^2970106^
+"^DD",8925.1,8925.1,6.13,21,1,0)
+For basic information on Print Group see Technical field Allow Custom Form
+"^DD",8925.1,8925.1,6.13,21,2,0)
+Headers.
+"^DD",8925.1,8925.1,6.13,21,3,0)
+ 
+"^DD",8925.1,8925.1,6.13,21,4,0)
+Print Group is an integer number which serves to group by print form
+"^DD",8925.1,8925.1,6.13,21,5,0)
+headers/numbers related documents that share a common print method; e.g.,
+"^DD",8925.1,8925.1,6.13,21,6,0)
+Progress Notes, H&P's, and other documents may share a common print
+"^DD",8925.1,8925.1,6.13,21,7,0)
+method, but have differing form headers/numbers and should each print in
+"^DD",8925.1,8925.1,6.13,21,8,0)
+their own, separate collation.  Specifying a common print group for
+"^DD",8925.1,8925.1,6.13,21,9,0)
+documents with the same headers/numbers (for example, Progress Notes have
+"^DD",8925.1,8925.1,6.13,21,10,0)
+Print Group 2, H&P's might have Print Group 7) causes such documents
+"^DD",8925.1,8925.1,6.13,21,11,0)
+from each print group to collate together when a mixed print is called
+"^DD",8925.1,8925.1,6.13,21,12,0)
+for.
+"^DD",8925.1,8925.1,6.13,21,13,0)
+ 
+"^DD",8925.1,8925.1,6.13,21,14,0)
+Since documents collate first by print method, then by print group, print
+"^DD",8925.1,8925.1,6.13,21,15,0)
+group is not necessary unless documents share a common print method.
+"^DD",8925.1,8925.1,6.13,21,16,0)
+ 
+"^DD",8925.1,8925.1,6.13,21,17,0)
+Print Group is heritable with lower level values overriding higher ones AS
+"^DD",8925.1,8925.1,6.13,21,18,0)
+LONG AS the field is applicable.  See Allow Custom Form Headers.  Print
+"^DD",8925.1,8925.1,6.13,21,19,0)
+Group is a TECHNICAL field.
+"^DD",8925.1,8925.1,6.13,"DT")
+2961022
+"^DD",8925.1,8925.1,6.14,0)
+ALLOW CUSTOM FORM HEADERS^SX^1:YES;0:NO;^6.1;4^Q
+"^DD",8925.1,8925.1,6.14,.1)
+ALLOW CUSTOM FORM HEADERS/NUMBERS AT LOWER LEVELS
+"^DD",8925.1,8925.1,6.14,3)
+May be set for Types CL and DC only.  Enter 1 for YES if descendent Titles can have individual (Custom) Form Headers/Numbers within their Document Class.  Otherwise enter 0.
+"^DD",8925.1,8925.1,6.14,4)
+D CUSTOM^TIUFXHLX
+"^DD",8925.1,8925.1,6.14,21,0)
+^^69^69^2980122^
+"^DD",8925.1,8925.1,6.14,21,1,0)
+Allow Custom Form Headers may be set for entries of Type Class or Document
+"^DD",8925.1,8925.1,6.14,21,2,0)
+Class and affects DESCENDANTS of the entry for which it is set.
+"^DD",8925.1,8925.1,6.14,21,3,0)
+ 
+"^DD",8925.1,8925.1,6.14,21,4,0)
+Information on Form Headers, Form Numbers, Print Group, and Allow Custom
+"^DD",8925.1,8925.1,6.14,21,5,0)
+Form Headers:
+"^DD",8925.1,8925.1,6.14,21,6,0)
+ 
+"^DD",8925.1,8925.1,6.14,21,7,0)
+Some clinical documents use Forms with Form Headers and Form Numbers, for
+"^DD",8925.1,8925.1,6.14,21,8,0)
+example, Progress Note Forms have Header 'Progress Notes' and Number 'Vice
+"^DD",8925.1,8925.1,6.14,21,9,0)
+SF 509.'
+"^DD",8925.1,8925.1,6.14,21,10,0)
+ 
+"^DD",8925.1,8925.1,6.14,21,11,0)
+The Owner of a Document Definition must decide whether all documents
+"^DD",8925.1,8925.1,6.14,21,12,0)
+descending from the entry will have the SAME Header/Number, or whether to
+"^DD",8925.1,8925.1,6.14,21,13,0)
+allow CUSTOM (varying) Headers/Numbers at lower levels.
+"^DD",8925.1,8925.1,6.14,21,14,0)
+ 
+"^DD",8925.1,8925.1,6.14,21,15,0)
+Allow Custom Headers holds the decision: If the field has value 0 for NO,
+"^DD",8925.1,8925.1,6.14,21,16,0)
+then ALL descendant documents use a COMMON Header/Number (or perhaps they
+"^DD",8925.1,8925.1,6.14,21,17,0)
+all use NO Header/Number); they also collate together in printouts.
+"^DD",8925.1,8925.1,6.14,21,18,0)
+ 
+"^DD",8925.1,8925.1,6.14,21,19,0)
+For example, Class Progress Notes does NOT Allow Custom Form Headers. This
+"^DD",8925.1,8925.1,6.14,21,20,0)
+means that ALL Progress Note Titles have the same header and the same form
+"^DD",8925.1,8925.1,6.14,21,21,0)
+number.  For Class Progress Notes, Field Print Form Header holds the
+"^DD",8925.1,8925.1,6.14,21,22,0)
+header 'Progress Notes', Field Print Form Number holds Form Number 'Vice
+"^DD",8925.1,8925.1,6.14,21,23,0)
+SF 509', and Field Print Group holds '2'.  Since Class Progress Notes does
+"^DD",8925.1,8925.1,6.14,21,24,0)
+not Allow Custom Form Headers,  these field values apply for ALL Progress
+"^DD",8925.1,8925.1,6.14,21,25,0)
+Note Titles.  That is, all Progress Notes have header 'Progress Notes',
+"^DD",8925.1,8925.1,6.14,21,26,0)
+Form Number 'Vice SF 509', and collate together in printouts.
+"^DD",8925.1,8925.1,6.14,21,27,0)
+ 
+"^DD",8925.1,8925.1,6.14,21,28,0)
+Field Allow Custom Field Headers also determines whether or not related
+"^DD",8925.1,8925.1,6.14,21,29,0)
+Fields Print Form Header, Print Form Number, Print Group, (and even Allow
+"^DD",8925.1,8925.1,6.14,21,30,0)
+Custom Field Headers) are applicable at lower levels.  If an entry at a
+"^DD",8925.1,8925.1,6.14,21,31,0)
+particular level DOES allow Custom Form Headers, then these related fields
+"^DD",8925.1,8925.1,6.14,21,32,0)
+DO APPLY to descendants at the next lower level.  If an entry at a
+"^DD",8925.1,8925.1,6.14,21,33,0)
+particular level DOES NOT allow Custom Form Headers, then ALL LOWER LEVELS
+"^DD",8925.1,8925.1,6.14,21,34,0)
+inherit the the prohibition, and the related fields DO NOT APPLY at ANY
+"^DD",8925.1,8925.1,6.14,21,35,0)
+lower levels.
+"^DD",8925.1,8925.1,6.14,21,36,0)
+  
+"^DD",8925.1,8925.1,6.14,21,37,0)
+Example: Since Class Progress Notes does NOT Allow Custom Form Headers,
+"^DD",8925.1,8925.1,6.14,21,38,0)
+fields Print Form Header, Print Form Number, Print Group, and Allow Custom
+"^DD",8925.1,8925.1,6.14,21,39,0)
+Field Headers DO NOT APPLY to Document Classes or Titles under Progress
+"^DD",8925.1,8925.1,6.14,21,40,0)
+Notes.  This means that Document Definitions for documents requiring
+"^DD",8925.1,8925.1,6.14,21,41,0)
+different Form Headers/Numbers must be placed under a separate line of
+"^DD",8925.1,8925.1,6.14,21,42,0)
+descent in the hierarchy; they cannot be under Progress Notes.
+"^DD",8925.1,8925.1,6.14,21,43,0)
+ 
+"^DD",8925.1,8925.1,6.14,21,44,0)
+Example: Class Clinical Documents, the Mother of all Document Definitions,
+"^DD",8925.1,8925.1,6.14,21,45,0)
+does not want to REQUIRE all Document Definitions under it to use one
+"^DD",8925.1,8925.1,6.14,21,46,0)
+common Header.  So Clinical Documents DOES Allow Custom Form Headers.
+"^DD",8925.1,8925.1,6.14,21,47,0)
+Classes/Document Classes UNDER CLinical Documents can decide for
+"^DD",8925.1,8925.1,6.14,21,48,0)
+themselves whether or not to Allow Custom Headers for their own Items.
+"^DD",8925.1,8925.1,6.14,21,49,0)
+ 
+"^DD",8925.1,8925.1,6.14,21,50,0)
+Example: Class DISCHARGE SUMMARY has only one Form Header and Number which
+"^DD",8925.1,8925.1,6.14,21,51,0)
+is used by all Discharge Summary documents. So Class Discharge Summary
+"^DD",8925.1,8925.1,6.14,21,52,0)
+does NOT Allow Custom Headers.
+"^DD",8925.1,8925.1,6.14,21,53,0)
+ 
+"^DD",8925.1,8925.1,6.14,21,54,0)
+Example: Class FORMS might contain miscellaneous documents, each using
+"^DD",8925.1,8925.1,6.14,21,55,0)
+a different Form with its own Form Header and Form Number.  So Class Forms
+"^DD",8925.1,8925.1,6.14,21,56,0)
+would Allow Custom Headers.
+"^DD",8925.1,8925.1,6.14,21,57,0)
+ 
+"^DD",8925.1,8925.1,6.14,21,58,0)
+Field Allow Custom Form Headers may be set for Document Definitions of
+"^DD",8925.1,8925.1,6.14,21,59,0)
+Type Class or Document Class only, and affects the DESCENDANTS of the
+"^DD",8925.1,8925.1,6.14,21,60,0)
+entry for which it is set.
+"^DD",8925.1,8925.1,6.14,21,61,0)
+ 
+"^DD",8925.1,8925.1,6.14,21,62,0)
+If a DOCUMENT CLASS Allows Custom Form Headers, then TIUF, the Document
+"^DD",8925.1,8925.1,6.14,21,63,0)
+Definition Utility, does not permit a descendant Title to be activated
+"^DD",8925.1,8925.1,6.14,21,64,0)
+unless fields Print Form Header, Print Form Number, and Print Group have a
+"^DD",8925.1,8925.1,6.14,21,65,0)
+value (of their own or inherited).  If NO Header, or Number is desired,
+"^DD",8925.1,8925.1,6.14,21,66,0)
+enter 'NONE'. If NO Print Group is desired, enter '0'.
+"^DD",8925.1,8925.1,6.14,21,67,0)
+ 
+"^DD",8925.1,8925.1,6.14,21,68,0)
+For information on editing heritable fields, see Technical field Edit
+"^DD",8925.1,8925.1,6.14,21,69,0)
+Template.
+"^DD",8925.1,8925.1,6.14,"DT")
+2970128
+"^DD",8925.1,8925.1,6.5,0)
+ON BROWSE EVENT^K^^6.5;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.1,6.5,3)
+This is Standard MUMPS code.
+"^DD",8925.1,8925.1,6.5,9)
+@
+"^DD",8925.1,8925.1,6.5,21,0)
+^^2^2^3010215^
+"^DD",8925.1,8925.1,6.5,21,1,0)
+This is MUMPS code which is invoked on browsing a document to fetch data
+"^DD",8925.1,8925.1,6.5,21,2,0)
+from the Requesting Package that will be included in the display.
+"^DD",8925.1,8925.1,6.5,"DT")
+3010215
+"^DD",8925.1,8925.1,6.51,0)
+ON RETRACT EVENT^K^^6.51;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.1,6.51,3)
+This is Standard MUMPS code.
+"^DD",8925.1,8925.1,6.51,9)
+@
+"^DD",8925.1,8925.1,6.51,21,0)
+^^2^2^3010301^
+"^DD",8925.1,8925.1,6.51,21,1,0)
+This is MUMPS code which is invoked on retraction of a document to perform
+"^DD",8925.1,8925.1,6.51,21,2,0)
+any processing task that the Requesting Package may require.
+"^DD",8925.1,8925.1,6.51,"DT")
+3010301
+"^DD",8925.1,8925.1,7,0)
+VISIT LINKAGE METHOD^KX^^7;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.1,7,3)
+Please enter the MUMPS code to be executed to establish Visit Linkage.
+"^DD",8925.1,8925.1,7,4)
+D HELP1^TIUFXHLX(7)
+"^DD",8925.1,8925.1,7,9)
+@
+"^DD",8925.1,8925.1,7,21,0)
+^^6^6^2980122^
+"^DD",8925.1,8925.1,7,21,1,0)
+Applies to Types Class, Document Class, Title.  This M-Code is executed to
+"^DD",8925.1,8925.1,7,21,2,0)
+establish Visit Linkage, usually displaying appropriate visits and
+"^DD",8925.1,8925.1,7,21,3,0)
+prompting the user to select the correct one.
+"^DD",8925.1,8925.1,7,21,4,0)
+ 
+"^DD",8925.1,8925.1,7,21,5,0)
+Heritable.  TECHNICAL Field.  For information on editing heritable fields,
+"^DD",8925.1,8925.1,7,21,6,0)
+see Technical Field Edit Template.
+"^DD",8925.1,8925.1,7,"DT")
+2961022
+"^DD",8925.1,8925.1,8,0)
+VALIDATION METHOD^KX^^8;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.1,8,3)
+Please enter the MUMPS code to be executed to validate the selection of patient and Visit/Admission.
+"^DD",8925.1,8925.1,8,4)
+D HELP1^TIUFXHLX(8)
+"^DD",8925.1,8925.1,8,9)
+@
+"^DD",8925.1,8925.1,8,21,0)
+^^7^7^2980126^^
+"^DD",8925.1,8925.1,8,21,1,0)
+Applies to Types Class, Document Class, Title.  This is the M-Code to be
+"^DD",8925.1,8925.1,8,21,2,0)
+invoked when Validating the visit and other fixed field information on a
+"^DD",8925.1,8925.1,8,21,3,0)
+record during entry/edit.  User is asked to OK or to correct the
+"^DD",8925.1,8925.1,8,21,4,0)
+information.
+"^DD",8925.1,8925.1,8,21,5,0)
+ 
+"^DD",8925.1,8925.1,8,21,6,0)
+Heritable.  TECHNICAL field.  For information on editing heritable fields,
+"^DD",8925.1,8925.1,8,21,7,0)
+see Technical field Edit Template.
+"^DD",8925.1,8925.1,8,"DT")
+2961022
+"^DD",8925.1,8925.1,9,0)
+OBJECT METHOD^KX^^9;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.1,9,3)
+This is Standard MUMPS code.
+"^DD",8925.1,8925.1,9,9)
+@
+"^DD",8925.1,8925.1,9,21,0)
+^^3^3^2980122^
+"^DD",8925.1,8925.1,9,21,1,0)
+Applies to Objects.  This M-Code is invoked when a document is entered
+"^DD",8925.1,8925.1,9,21,2,0)
+whose boilerplate text contains the object.  Extracted data are inserted
+"^DD",8925.1,8925.1,9,21,3,0)
+into document text.  Author then edits/adds to text.  TECHNICAL field.
+"^DD",8925.1,8925.1,9,"DT")
+2961022
+"^DD",8925.1,8925.1,10,0)
+ITEM^8925.14P^^10;0
+"^DD",8925.1,8925.1,11,0)
+STAT AUTO PRINT EVENT^8925.111SA^^11;0
+"^DD",8925.1,8925.1,11,21,0)
+^^35^35^2970220^
+"^DD",8925.1,8925.1,11,21,1,0)
+This parameter applies only to stat documents.
+"^DD",8925.1,8925.1,11,21,2,0)
+ 
+"^DD",8925.1,8925.1,11,21,3,0)
+This parameter determines at what stage(s) a document should be
+"^DD",8925.1,8925.1,11,21,4,0)
+automatically printed for chart, either singly when document is ready, or
+"^DD",8925.1,8925.1,11,21,5,0)
+in batch mode.
+"^DD",8925.1,8925.1,11,21,6,0)
+ 
+"^DD",8925.1,8925.1,11,21,7,0)
+Some documents will need to be printed for chart only when they are
+"^DD",8925.1,8925.1,11,21,8,0)
+complete, ie have obtained all expected signatures and cosignatures.
+"^DD",8925.1,8925.1,11,21,9,0)
+Others should perhaps be printed for chart at an earlier stage, allowing
+"^DD",8925.1,8925.1,11,21,10,0)
+earlier chart access, and then be reprinted when complete. Documents may
+"^DD",8925.1,8925.1,11,21,11,0)
+also need to be reprinted AFTER completion for certain events such as
+"^DD",8925.1,8925.1,11,21,12,0)
+amendment.
+"^DD",8925.1,8925.1,11,21,13,0)
+ 
+"^DD",8925.1,8925.1,11,21,14,0)
+Any event which should trigger auto printing of the document should be
+"^DD",8925.1,8925.1,11,21,15,0)
+entered as an auto print event.
+"^DD",8925.1,8925.1,11,21,16,0)
+ 
+"^DD",8925.1,8925.1,11,21,17,0)
+- SIGNED means firstline signature, as opposed to secondline cosignature.
+"^DD",8925.1,8925.1,11,21,18,0)
+- COSIGNED, OPTIONAL, INCOMPLETE means when an incomplete document obtains
+"^DD",8925.1,8925.1,11,21,19,0)
+an optional cosignature.
+"^DD",8925.1,8925.1,11,21,20,0)
+- COSIGNED, OPTIONAL, COMPLETED means when a previously completed
+"^DD",8925.1,8925.1,11,21,21,0)
+document obtains an optional cosignature, namely, a walkup.
+"^DD",8925.1,8925.1,11,21,22,0)
+- COMPLETED means when some event occurs that completes the document, for
+"^DD",8925.1,8925.1,11,21,23,0)
+example the document obtains its last expected optional cosignature.
+"^DD",8925.1,8925.1,11,21,24,0)
+ 
+"^DD",8925.1,8925.1,11,21,25,0)
+If one event occurs to a document and corresponds to two selected print
+"^DD",8925.1,8925.1,11,21,26,0)
+events (such as COMPLETED and COSIGNED OPTIONAL INCOMPLETE), the document
+"^DD",8925.1,8925.1,11,21,27,0)
+will only print once.
+"^DD",8925.1,8925.1,11,21,28,0)
+ 
+"^DD",8925.1,8925.1,11,21,29,0)
+If parameter is not entered and Document Definition has no ancestor to
+"^DD",8925.1,8925.1,11,21,30,0)
+inherit from, parameter assumes default value N for NONE.  If parameter is
+"^DD",8925.1,8925.1,11,21,31,0)
+not entered and Document Definition has a parent to inherit from, then
+"^DD",8925.1,8925.1,11,21,32,0)
+parameter assumes value (assumed or explicit) of parent print events. If
+"^DD",8925.1,8925.1,11,21,33,0)
+parameter is non applicable because Document Definition does not allow
+"^DD",8925.1,8925.1,11,21,34,0)
+stat documents, or because Document Definition does not allow auto
+"^DD",8925.1,8925.1,11,21,35,0)
+printing, enter N for NONE.
+"^DD",8925.1,8925.1,11,"DT")
+2940621
+"^DD",8925.1,8925.1,12,0)
+ROUTINE AUTO PRINT EVENT^8925.112SA^^12;0
+"^DD",8925.1,8925.1,12,21,0)
+^^5^5^2970220^
+"^DD",8925.1,8925.1,12,21,1,0)
+This parameter applies to routine (non-stat) documents only. Documents
+"^DD",8925.1,8925.1,12,21,2,0)
+whose Document Definitions do not allow stat documents are considered
+"^DD",8925.1,8925.1,12,21,3,0)
+routine.
+"^DD",8925.1,8925.1,12,21,4,0)
+ 
+"^DD",8925.1,8925.1,12,21,5,0)
+See parameter STAT AUTO PRINT EVENT for description.
+"^DD",8925.1,8925.1,13,0)
+PROCESSING STEPS^8925.113P^^13;0
+"^DD",8925.1,8925.1,13,21,0)
+^^3^3^2950216^^
+"^DD",8925.1,8925.1,13,21,1,0)
+This sub-file contains the optional and required steps for processing any 
+"^DD",8925.1,8925.1,13,21,2,0)
+document, along with the states (e.g., unverified -> unsigned) that a given
+"^DD",8925.1,8925.1,13,21,3,0)
+step (e.g., verification) moves the document between.
+"^DD",8925.1,8925.1,14,0)
+DIALOG^8925.114^^DIALOG;0
+"^DD",8925.1,8925.1,14,21,0)
+^^2^2^2950606^
+"^DD",8925.1,8925.1,14,21,1,0)
+This sub-file contains the data necessary to handle server-based definition 
+"^DD",8925.1,8925.1,14,21,2,0)
+for fixed-field data capture in TIU.
+"^DD",8925.1,8925.1,99,0)
+TIMESTAMP^F^^99;1^K:X[""""!($A(X)=45) X I $D(X) K:$L(X)>15!($L(X)<1) X
+"^DD",8925.1,8925.1,99,1,0)
+^.1
+"^DD",8925.1,8925.1,99,1,1,0)
+8925.1^AM^MUMPS
+"^DD",8925.1,8925.1,99,1,1,1)
+D SET^TIUDD
+"^DD",8925.1,8925.1,99,1,1,2)
+D KILL^TIUDD
+"^DD",8925.1,8925.1,99,1,1,"%D",0)
+^^2^2^2950911^^^
+"^DD",8925.1,8925.1,99,1,1,"%D",1,0)
+This cross-reference invokes menu compilation in ^XUTL("XQORM",
+"^DD",8925.1,8925.1,99,1,1,"%D",2,0)
+DA;TIU(8925.1, when the TIMESTAMP field is modified.
+"^DD",8925.1,8925.1,99,1,1,"DT")
+2940720
+"^DD",8925.1,8925.1,99,3)
+Answer must be 1-15 characters in length.
+"^DD",8925.1,8925.1,99,"DT")
+2940720
+"^DD",8925.1,8925.1,1501,0)
+VHA ENTERPRISE STANDARD TITLE^*P8926.1'^TIU(8926.1,^15;1^S DIC("S")="I '$$SCREEN^XTID(8926.1,"""",Y_"","")" D ^DIC K DIC S DIC=DIE,X=+Y K:Y<0 X
+"^DD",8925.1,8925.1,1501,1,0)
+^.1
+"^DD",8925.1,8925.1,1501,1,1,0)
+8925.1^ALOINC
+"^DD",8925.1,8925.1,1501,1,1,1)
+S ^TIU(8925.1,"ALOINC",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.1,1501,1,1,2)
+K ^TIU(8925.1,"ALOINC",$E(X,1,30),DA)
+"^DD",8925.1,8925.1,1501,1,1,3)
+** DO NOT DELETE **
+"^DD",8925.1,8925.1,1501,1,1,"%D",0)
+^^2^2^3070306^
+"^DD",8925.1,8925.1,1501,1,1,"%D",1,0)
+This REGULAR FileMan cross-reference will facilitate searching by VHA
+"^DD",8925.1,8925.1,1501,1,1,"%D",2,0)
+Enterprise Standard Titles.
+"^DD",8925.1,8925.1,1501,1,1,"DT")
+3070306
+"^DD",8925.1,8925.1,1501,3)
+Please identify the VHA Enterprise Title to which this local title should be mapped.
+"^DD",8925.1,8925.1,1501,12)
+Only ACTIVE Enterprise Titles may be selected.
+"^DD",8925.1,8925.1,1501,12.1)
+S DIC("S")="I '$$SCREEN^XTID(8926.1,"""",Y_"","")"
+"^DD",8925.1,8925.1,1501,21,0)
+^.001^2^2^3070321^^
+"^DD",8925.1,8925.1,1501,21,1,0)
+This reference to the VHA ENTERPRISE STANDARD TITLE FILE provides for the
+"^DD",8925.1,8925.1,1501,21,2,0)
+mapping of local titles to the Enterprise Standard Titles.
+"^DD",8925.1,8925.1,1501,"DT")
+3070321
+"^DD",8925.1,8925.1,1502,0)
+MAP ATTEMPTED^D^^15;2^S %DT="ESTX" D ^%DT S X=Y K:Y<1 X
+"^DD",8925.1,8925.1,1502,3)
+Enter the date/time at which mapping was attempted.
+"^DD",8925.1,8925.1,1502,21,0)
+^^2^2^3060301^
+"^DD",8925.1,8925.1,1502,21,1,0)
+This is the date/time at which the user attempted to map the Local Title 
+"^DD",8925.1,8925.1,1502,21,2,0)
+to a VHA Enterprise Title.
+"^DD",8925.1,8925.1,1502,"DT")
+3060301
+"^DD",8925.1,8925.1,1503,0)
+MAP ATTEMPTED BY^P200'^VA(200,^15;3^Q
+"^DD",8925.1,8925.1,1503,3)
+Specify the person who attempted to map the title.
+"^DD",8925.1,8925.1,1503,21,0)
+^^2^2^3060301^
+"^DD",8925.1,8925.1,1503,21,1,0)
+This is the person who attempted to map the Local Title to a VHA 
+"^DD",8925.1,8925.1,1503,21,2,0)
+Enterprise Title.
+"^DD",8925.1,8925.1,1503,"DT")
+3060301
+"^DD",8925.1,8925.11,0)
+UPLOAD DELIMITED ASCII HEADER SUB-FIELD^^1^8
+"^DD",8925.1,8925.11,0,"DT")
+2951004
+"^DD",8925.1,8925.11,0,"ID",.02)
+W "   ",$P(^(0),U,2)
+"^DD",8925.1,8925.11,0,"IX","B",8925.11,.01)
+
+"^DD",8925.1,8925.11,0,"IX","C",8925.11,.02)
+
+"^DD",8925.1,8925.11,0,"IX","D",8925.11,.03)
+
+"^DD",8925.1,8925.11,0,"IX","E",8925.11,.04)
+
+"^DD",8925.1,8925.11,0,"NM","UPLOAD DELIMITED ASCII HEADER")
+
+"^DD",8925.1,8925.11,0,"UP")
+8925.1
+"^DD",8925.1,8925.11,.01,0)
+HEADER PIECE^MNJ2,0X^^0;1^K:+X'=X!(X>30)!(X<1)!(X?.E1"."1N.N) X S:$D(X) DINUM=X
+"^DD",8925.1,8925.11,.01,1,0)
+^.1
+"^DD",8925.1,8925.11,.01,1,1,0)
+8925.11^B
+"^DD",8925.1,8925.11,.01,1,1,1)
+S ^TIU(8925.1,DA(1),"ITEM","B",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.11,.01,1,1,2)
+K ^TIU(8925.1,DA(1),"ITEM","B",$E(X,1,30),DA)
+"^DD",8925.1,8925.11,.01,3)
+Enter the delimiter-piece for the next header item.
+"^DD",8925.1,8925.11,.01,21,0)
+^^2^2^2970107^
+"^DD",8925.1,8925.11,.01,21,1,0)
+This is the number for this piece (item) of the header.  Start with
+"^DD",8925.1,8925.11,.01,21,2,0)
+number 1 for the first piece.
+"^DD",8925.1,8925.11,.01,"DT")
+2921021
+"^DD",8925.1,8925.11,.02,0)
+ITEM NAME^F^^0;2^K:$L(X)>30!($L(X)<2) X
+"^DD",8925.1,8925.11,.02,1,0)
+^.1
+"^DD",8925.1,8925.11,.02,1,1,0)
+8925.11^C
+"^DD",8925.1,8925.11,.02,1,1,1)
+S ^TIU(8925.1,DA(1),"ITEM","C",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.11,.02,1,1,2)
+K ^TIU(8925.1,DA(1),"ITEM","C",$E(X,1,30),DA)
+"^DD",8925.1,8925.11,.02,1,1,"%D",0)
+^^2^2^2921021^
+"^DD",8925.1,8925.11,.02,1,1,"%D",1,0)
+This REGULAR FileMan cross-reference on the ITEM NAME is used in the
+"^DD",8925.1,8925.11,.02,1,1,"%D",2,0)
+look-up and edit process.
+"^DD",8925.1,8925.11,.02,1,1,"DT")
+2920605
+"^DD",8925.1,8925.11,.02,3)
+Enter the name of the header item.
+"^DD",8925.1,8925.11,.02,21,0)
+^^2^2^2970107^
+"^DD",8925.1,8925.11,.02,21,1,0)
+This is the name of the item in the ASCII message header.  Item Name is
+"^DD",8925.1,8925.11,.02,21,2,0)
+used in help messages for the person dictating a document.
+"^DD",8925.1,8925.11,.02,"DT")
+2921021
+"^DD",8925.1,8925.11,.03,0)
+FIELD NUMBER^F^^0;3^K:X[""""!($A(X)=45) X I $D(X) K:$L(X)>10!($L(X)<1) X
+"^DD",8925.1,8925.11,.03,1,0)
+^.1
+"^DD",8925.1,8925.11,.03,1,1,0)
+8925.11^D
+"^DD",8925.1,8925.11,.03,1,1,1)
+S ^TIU(8925.1,DA(1),"ITEM","D",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.11,.03,1,1,2)
+K ^TIU(8925.1,DA(1),"ITEM","D",$E(X,1,30),DA)
+"^DD",8925.1,8925.11,.03,1,1,"%D",0)
+^^3^3^2921021^
+"^DD",8925.1,8925.11,.03,1,1,"%D",1,0)
+This REGULAR FileMan cross-reference by field number is used by the
+"^DD",8925.1,8925.11,.03,1,1,"%D",2,0)
+filer/router to identify header-pieces with field numbers in the target
+"^DD",8925.1,8925.11,.03,1,1,"%D",3,0)
+file.
+"^DD",8925.1,8925.11,.03,1,1,"DT")
+2921021
+"^DD",8925.1,8925.11,.03,3)
+Enter the FIELD # of the item in the target file.
+"^DD",8925.1,8925.11,.03,21,0)
+^^2^2^2970107^
+"^DD",8925.1,8925.11,.03,21,1,0)
+This is the field number in the target file which corresponds to this
+"^DD",8925.1,8925.11,.03,21,2,0)
+header item.
+"^DD",8925.1,8925.11,.03,"DT")
+2921021
+"^DD",8925.1,8925.11,.04,0)
+LOOKUP LOCAL VARIABLE NAME^F^^0;4^K:X[""""!($A(X)=45) X I $D(X) K:$L(X)>8!($L(X)<1)!'(X?1A1.7E) X
+"^DD",8925.1,8925.11,.04,1,0)
+^.1
+"^DD",8925.1,8925.11,.04,1,1,0)
+8925.11^E
+"^DD",8925.1,8925.11,.04,1,1,1)
+S ^TIU(8925.1,DA(1),"ITEM","E",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.11,.04,1,1,2)
+K ^TIU(8925.1,DA(1),"ITEM","E",$E(X,1,30),DA)
+"^DD",8925.1,8925.11,.04,1,1,"%D",0)
+^^3^3^2921109^
+"^DD",8925.1,8925.11,.04,1,1,"%D",1,0)
+This cross-reference is used by the router/filer to determine which pieces
+"^DD",8925.1,8925.11,.04,1,1,"%D",2,0)
+of the header should be set into special variables which may be required by
+"^DD",8925.1,8925.11,.04,1,1,"%D",3,0)
+the lookup routine.
+"^DD",8925.1,8925.11,.04,1,1,"DT")
+2921109
+"^DD",8925.1,8925.11,.04,3)
+Enter the required local variable into which this piece will be set.
+"^DD",8925.1,8925.11,.04,21,0)
+^^11^11^2970107^
+"^DD",8925.1,8925.11,.04,21,1,0)
+This field specifies the local variable name into which this piece of the
+"^DD",8925.1,8925.11,.04,21,2,0)
+message header will be set.  The local variable is used by the Look-Up
+"^DD",8925.1,8925.11,.04,21,3,0)
+Method.  For example, if this piece of the header is the patient social
+"^DD",8925.1,8925.11,.04,21,4,0)
+security number, the Lookup Local Variable Name might be TIUSSN.  The
+"^DD",8925.1,8925.11,.04,21,5,0)
+social security number as written by the transcriptionist is first
+"^DD",8925.1,8925.11,.04,21,6,0)
+transformed by any existing Transform Code, and then set into this
+"^DD",8925.1,8925.11,.04,21,7,0)
+variable (e.g. TIUSSN) for use in Look-Up Method code.
+"^DD",8925.1,8925.11,.04,21,8,0)
+ 
+"^DD",8925.1,8925.11,.04,21,9,0)
+Lookup Local Variable Name is necessary only if the information in this
+"^DD",8925.1,8925.11,.04,21,10,0)
+piece is required in order to look up the appropriate entry in the target
+"^DD",8925.1,8925.11,.04,21,11,0)
+file.
+"^DD",8925.1,8925.11,.04,"DT")
+2921109
+"^DD",8925.1,8925.11,.05,0)
+EXAMPLE ENTRY^F^^0;5^K:$L(X)>39!($L(X)<2) X
+"^DD",8925.1,8925.11,.05,3)
+Answer must be 2-39 characters in length.
+"^DD",8925.1,8925.11,.05,21,0)
+^^10^10^2970108^^
+"^DD",8925.1,8925.11,.05,21,1,0)
+This field is used to store sample data for this item in the form the
+"^DD",8925.1,8925.11,.05,21,2,0)
+transcriptionist is expected to use when transcribing it. For example, if
+"^DD",8925.1,8925.11,.05,21,3,0)
+a patient has Social Security Number 555-12-1212, and the transcriptionist
+"^DD",8925.1,8925.11,.05,21,4,0)
+is expected to write 555-12-1212, then an Example Entry should have the
+"^DD",8925.1,8925.11,.05,21,5,0)
+form 555-12-1212.
+"^DD",8925.1,8925.11,.05,21,6,0)
+ 
+"^DD",8925.1,8925.11,.05,21,7,0)
+The Transform Code, if it exists, then transforms the transcribed Social
+"^DD",8925.1,8925.11,.05,21,8,0)
+Security Number 555-12-1212 into the appropriate format for the target
+"^DD",8925.1,8925.11,.05,21,9,0)
+file before using the Social Security Number to look-up the appropriate
+"^DD",8925.1,8925.11,.05,21,10,0)
+target file entry and/or before entering it in the target file.
+"^DD",8925.1,8925.11,.05,"DT")
+2930224
+"^DD",8925.1,8925.11,.06,0)
+CLINICIAN MUST DICTATE^S^1:YES;0:NO;^0;6^Q
+"^DD",8925.1,8925.11,.06,3)
+Answer yes if this field needs to be dictated by the clinician
+"^DD",8925.1,8925.11,.06,21,0)
+^^5^5^2970108^
+"^DD",8925.1,8925.11,.06,21,1,0)
+States whether or not this piece of the header should be dictated by the
+"^DD",8925.1,8925.11,.06,21,2,0)
+Clinician.  Will be used by the Clinician Help routine to determine if
+"^DD",8925.1,8925.11,.06,21,3,0)
+this field should be shown as data that should be dictated.  (Some pieces
+"^DD",8925.1,8925.11,.06,21,4,0)
+can be entered by the transcriber without being dictated, such as the
+"^DD",8925.1,8925.11,.06,21,5,0)
+transcriber identification).
+"^DD",8925.1,8925.11,.06,"DT")
+2930423
+"^DD",8925.1,8925.11,.07,0)
+REQUIRED FIELD?^S^1:YES;0:NO;^0;7^Q
+"^DD",8925.1,8925.11,.07,3)
+Please indicate whether the field is required.
+"^DD",8925.1,8925.11,.07,21,0)
+^^5^5^2970108^
+"^DD",8925.1,8925.11,.07,21,1,0)
+This field is used to determine whether a given header piece is required
+"^DD",8925.1,8925.11,.07,21,2,0)
+by the application (e.g., Author and Attending Physician may be required
+"^DD",8925.1,8925.11,.07,21,3,0)
+for the ongoing processing of a Discharge Summary).  Records lacking
+"^DD",8925.1,8925.11,.07,21,4,0)
+required fields WILL be entered if possible into the target file but will
+"^DD",8925.1,8925.11,.07,21,5,0)
+generate Missing Field Error Alerts.
+"^DD",8925.1,8925.11,.07,"DT")
+2951004
+"^DD",8925.1,8925.11,1,0)
+TRANSFORM CODE^K^^1;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.11,1,3)
+This is Standard MUMPS code.
+"^DD",8925.1,8925.11,1,9)
+@
+"^DD",8925.1,8925.11,1,21,0)
+^^11^11^2970108^
+"^DD",8925.1,8925.11,1,21,1,0)
+This standard MUMPS code transforms the transcribed value of the header
+"^DD",8925.1,8925.11,1,21,2,0)
+piece into a format acceptable to FileMan (e.g., patient social security
+"^DD",8925.1,8925.11,1,21,3,0)
+number 555-12-1212 must be transformed to 555121212 or to whatever
+"^DD",8925.1,8925.11,1,21,4,0)
+(external) format FileMan accepts when a user edits the social security
+"^DD",8925.1,8925.11,1,21,5,0)
+number field in the target file).
+"^DD",8925.1,8925.11,1,21,6,0)
+ 
+"^DD",8925.1,8925.11,1,21,7,0)
+Field values are transformed before being set into Special Lookup
+"^DD",8925.1,8925.11,1,21,8,0)
+Variables and before being set into Target Text File Fields.
+"^DD",8925.1,8925.11,1,21,9,0)
+ 
+"^DD",8925.1,8925.11,1,21,10,0)
+Field is necessary only if transcribed piece is not in the format Fileman
+"^DD",8925.1,8925.11,1,21,11,0)
+accepts for the target file.
+"^DD",8925.1,8925.11,1,"DT")
+2930219
+"^DD",8925.1,8925.111,0)
+STAT AUTO PRINT EVENT SUB-FIELD^^.01^1
+"^DD",8925.1,8925.111,0,"DT")
+2940621
+"^DD",8925.1,8925.111,0,"IX","B",8925.111,.01)
+
+"^DD",8925.1,8925.111,0,"NM","STAT AUTO PRINT EVENT")
+
+"^DD",8925.1,8925.111,0,"UP")
+8925.1
+"^DD",8925.1,8925.111,.01,0)
+STAT AUTO PRINT EVENT^MS^N:NONE;T:TRANSCRIBED;R:RELEASED;V:VERIFIED;S:SIGNED;CSR:COSIGNED, REQUIRED;CSOINC:COSIGNED, OPTIONAL, INCOMPLETE;CSOCP:COSIGNED, OPTIONAL, COMPLETED;CP:COMLETED;AD:ADDENDUM ADDED;AM:AMENDED;^0;1^Q
+"^DD",8925.1,8925.111,.01,1,0)
+^.1
+"^DD",8925.1,8925.111,.01,1,1,0)
+8925.111^B
+"^DD",8925.1,8925.111,.01,1,1,1)
+S ^TIU(8925.1,DA(1),11,"B",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.111,.01,1,1,2)
+K ^TIU(8925.1,DA(1),11,"B",$E(X,1,30),DA)
+"^DD",8925.1,8925.111,.01,3)
+Enter every event which should trigger auto printing of document whenever the event occurs.
+"^DD",8925.1,8925.111,.01,"DT")
+2941027
+"^DD",8925.1,8925.112,0)
+ROUTINE AUTO PRINT EVENT SUB-FIELD^^.01^1
+"^DD",8925.1,8925.112,0,"DT")
+2940621
+"^DD",8925.1,8925.112,0,"IX","B",8925.112,.01)
+
+"^DD",8925.1,8925.112,0,"NM","ROUTINE AUTO PRINT EVENT")
+
+"^DD",8925.1,8925.112,0,"UP")
+8925.1
+"^DD",8925.1,8925.112,.01,0)
+ROUTINE AUTO PRINT EVENT^MS^N:NONE;T:TRANSCRIBED;R:RELEASED;V:VERIFIED;S:SIGNED;CSR:COSIGNED, REQUIRED;CSOINC:COSIGNED, OPTIONAL, INCOMPLETE;CP:COMPLETED;CSOCP:CONSIGNED, OPTIONAL, COMPLETED;AD:ADDENDUM ADDED;AM:AMENDED;^0;1^Q
+"^DD",8925.1,8925.112,.01,1,0)
+^.1
+"^DD",8925.1,8925.112,.01,1,1,0)
+8925.112^B
+"^DD",8925.1,8925.112,.01,1,1,1)
+S ^TIU(8925.1,DA(1),12,"B",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.112,.01,1,1,2)
+K ^TIU(8925.1,DA(1),12,"B",$E(X,1,30),DA)
+"^DD",8925.1,8925.112,.01,3)
+Enter an event which should trigger auto printing of routine documents.
+"^DD",8925.1,8925.112,.01,"DT")
+2940621
+"^DD",8925.1,8925.113,0)
+PROCESSING STEPS SUB-FIELD^^.05^5
+"^DD",8925.1,8925.113,0,"DT")
+2950216
+"^DD",8925.1,8925.113,0,"IX","B",8925.113,.01)
+
+"^DD",8925.1,8925.113,0,"NM","PROCESSING STEPS")
+
+"^DD",8925.1,8925.113,0,"UP")
+8925.1
+"^DD",8925.1,8925.113,.01,0)
+PROCESSING STEP^MP8930.8'^USR(8930.8,^0;1^Q
+"^DD",8925.1,8925.113,.01,1,0)
+^.1
+"^DD",8925.1,8925.113,.01,1,1,0)
+8925.113^B
+"^DD",8925.1,8925.113,.01,1,1,1)
+S ^TIU(8925.1,DA(1),13,"B",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.113,.01,1,1,2)
+K ^TIU(8925.1,DA(1),13,"B",$E(X,1,30),DA)
+"^DD",8925.1,8925.113,.01,3)
+Please indicate a step involved in processing this document.
+"^DD",8925.1,8925.113,.01,21,0)
+^^2^2^2950216^
+"^DD",8925.1,8925.113,.01,21,1,0)
+This is a step or action (e.g., verification) in the processing of a document
+"^DD",8925.1,8925.113,.01,21,2,0)
+that moves it from one state (e.g., unverified) to another (e.g., unsigned).
+"^DD",8925.1,8925.113,.01,"DT")
+2950216
+"^DD",8925.1,8925.113,.02,0)
+SEQUENCE^NJ3,0^^0;2^K:+X'=X!(X>999)!(X<0)!(X?.E1"."1N.N) X
+"^DD",8925.1,8925.113,.02,3)
+Indicate the order in processing this document where this step should occur.
+"^DD",8925.1,8925.113,.02,21,0)
+^^4^4^2950216^
+"^DD",8925.1,8925.113,.02,21,1,0)
+This is the serial sequence in the processing of the document in which the 
+"^DD",8925.1,8925.113,.02,21,2,0)
+current step should ordinarily occur.  This field is only necessary when the
+"^DD",8925.1,8925.113,.02,21,3,0)
+process in question must occur in a particular sequence (e.g., to insure
+"^DD",8925.1,8925.113,.02,21,4,0)
+that a document is always released from draft before it is verified).
+"^DD",8925.1,8925.113,.02,"DT")
+2950216
+"^DD",8925.1,8925.113,.03,0)
+REQUIRED?^S^1:REQUIRED;0:OPTIONAL;^0;3^Q
+"^DD",8925.1,8925.113,.03,3)
+Indicate whether the step is required or optional
+"^DD",8925.1,8925.113,.03,21,0)
+^^4^4^2950216^
+"^DD",8925.1,8925.113,.03,21,1,0)
+This field specifies whether the step is required or optional for completion
+"^DD",8925.1,8925.113,.03,21,2,0)
+of the document (e.g., Dictation and transcription is the typical means by
+"^DD",8925.1,8925.113,.03,21,3,0)
+which Discharge Summaries are acquired, but they may be entered directly by
+"^DD",8925.1,8925.113,.03,21,4,0)
+the provider, if preferred).
+"^DD",8925.1,8925.113,.03,"DT")
+2950216
+"^DD",8925.1,8925.113,.04,0)
+RESULTING STATUS^P8930.6'^USR(8930.6,^0;4^Q
+"^DD",8925.1,8925.113,.04,3)
+Indicate the status resulting from the step being taken.
+"^DD",8925.1,8925.113,.04,21,0)
+^^4^4^2950216^
+"^DD",8925.1,8925.113,.04,21,1,0)
+This is the status of the document following completion of the step in 
+"^DD",8925.1,8925.113,.04,21,2,0)
+question.  For instance, if a discharge summary is to be registered as
+"^DD",8925.1,8925.113,.04,21,3,0)
+unsigned following verification, this would be indicated in the RESULTING 
+"^DD",8925.1,8925.113,.04,21,4,0)
+STATUS field.
+"^DD",8925.1,8925.113,.04,"DT")
+2950216
+"^DD",8925.1,8925.113,.05,0)
+CONDITION TEXT^F^^0;5^K:$L(X)>40!($L(X)<3) X
+"^DD",8925.1,8925.113,.05,3)
+Condition under which the step will result in the status as indicated.
+"^DD",8925.1,8925.113,.05,"DT")
+2950216
+"^DD",8925.1,8925.114,0)
+DIALOG SUB-FIELD^^117^12
+"^DD",8925.1,8925.114,0,"DT")
+2951002
+"^DD",8925.1,8925.114,0,"IX","AS",8925.114,.03)
+
+"^DD",8925.1,8925.114,0,"IX","B",8925.114,.01)
+
+"^DD",8925.1,8925.114,0,"NM","DIALOG")
+
+"^DD",8925.1,8925.114,0,"UP")
+8925.1
+"^DD",8925.1,8925.114,.01,0)
+PROMPT^MF^^0;1^K:$L(X)>30!($L(X)<2) X
+"^DD",8925.1,8925.114,.01,1,0)
+^.1
+"^DD",8925.1,8925.114,.01,1,1,0)
+8925.114^B
+"^DD",8925.1,8925.114,.01,1,1,1)
+S ^TIU(8925.1,DA(1),"DIALOG","B",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.114,.01,1,1,2)
+K ^TIU(8925.1,DA(1),"DIALOG","B",$E(X,1,30),DA)
+"^DD",8925.1,8925.114,.01,3)
+Enter the caption with which the user will be prompted.
+"^DD",8925.1,8925.114,.01,21,0)
+^^2^2^2950606^^^
+"^DD",8925.1,8925.114,.01,21,1,0)
+This is the prompt with which the user will be presented during interactive 
+"^DD",8925.1,8925.114,.01,21,2,0)
+entry of the document.
+"^DD",8925.1,8925.114,.01,"DT")
+2950606
+"^DD",8925.1,8925.114,.02,0)
+ITEM NAME^F^^0;2^K:$L(X)>50!($L(X)<2) X
+"^DD",8925.1,8925.114,.02,3)
+Answer must be 2-50 characters in length.
+"^DD",8925.1,8925.114,.02,21,0)
+^^2^2^2950606^^
+"^DD",8925.1,8925.114,.02,21,1,0)
+This is a descriptive name for the datum which will help descibe the prompt 
+"^DD",8925.1,8925.114,.02,21,2,0)
+for the user.
+"^DD",8925.1,8925.114,.02,"DT")
+2950606
+"^DD",8925.1,8925.114,.03,0)
+SEQUENCE^NJ3,0^^0;3^K:+X'=X!(X>999)!(X<1)!(X?.E1"."1N.N) X
+"^DD",8925.1,8925.114,.03,1,0)
+^.1
+"^DD",8925.1,8925.114,.03,1,1,0)
+8925.114^AS
+"^DD",8925.1,8925.114,.03,1,1,1)
+S ^TIU(8925.1,DA(1),"DIALOG","AS",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.114,.03,1,1,2)
+K ^TIU(8925.1,DA(1),"DIALOG","AS",$E(X,1,30),DA)
+"^DD",8925.1,8925.114,.03,1,1,"%D",0)
+^^2^2^2950606^
+"^DD",8925.1,8925.114,.03,1,1,"%D",1,0)
+This REGULAR FileMan Cross-reference on the sequence sub-field of the
+"^DD",8925.1,8925.114,.03,1,1,"%D",2,0)
+Dialog Multiple will facilitate appropriate serialization of prompts.
+"^DD",8925.1,8925.114,.03,1,1,"DT")
+2950606
+"^DD",8925.1,8925.114,.03,3)
+Type a Number between 1 and 999, 0 Decimal Digits
+"^DD",8925.1,8925.114,.03,21,0)
+^^2^2^2950606^
+"^DD",8925.1,8925.114,.03,21,1,0)
+This is the sequence of the prompt within the dialog.  On the Windows Client 
+"^DD",8925.1,8925.114,.03,21,2,0)
+this will correspond with the Tab Order Property of the prompt.
+"^DD",8925.1,8925.114,.03,"DT")
+2950606
+"^DD",8925.1,8925.114,.04,0)
+FIELD^FX^^0;4^K:$L(X)>10!($L(X)<1)!(+X<0) X
+"^DD",8925.1,8925.114,.04,3)
+Enter the field in the TARGET FILE in which the response is to be stored.
+"^DD",8925.1,8925.114,.04,4)
+
+"^DD",8925.1,8925.114,.04,21,0)
+^^2^2^2970116^^
+"^DD",8925.1,8925.114,.04,21,1,0)
+This is the field in the target file in which the user's response will be 
+"^DD",8925.1,8925.114,.04,21,2,0)
+stored.
+"^DD",8925.1,8925.114,.04,"DT")
+2970116
+"^DD",8925.1,8925.114,.05,0)
+REQUIRED^S^1:YES;0:NO;^0;5^Q
+"^DD",8925.1,8925.114,.05,3)
+Indicate whether a response is required.
+"^DD",8925.1,8925.114,.05,21,0)
+^^2^2^2950607^
+"^DD",8925.1,8925.114,.05,21,1,0)
+Please indicate whether a response to this prompt is required, in order to 
+"^DD",8925.1,8925.114,.05,21,2,0)
+complete the dialog.
+"^DD",8925.1,8925.114,.05,"DT")
+2950607
+"^DD",8925.1,8925.114,.06,0)
+VISIBLE^S^0:NO;1:YES;^0;6^Q
+"^DD",8925.1,8925.114,.06,3)
+Indicate wheter the prompt will be visible to the user.
+"^DD",8925.1,8925.114,.06,21,0)
+^^2^2^2950607^
+"^DD",8925.1,8925.114,.06,21,1,0)
+This field specifies whether a given datum will be prompted for, or 
+"^DD",8925.1,8925.114,.06,21,2,0)
+"stuffed," based on execution of the SET METHOD for a given prompt.
+"^DD",8925.1,8925.114,.06,"DT")
+2950607
+"^DD",8925.1,8925.114,1,0)
+SET METHOD^K^^1;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.114,1,3)
+This is Standard MUMPS code.
+"^DD",8925.1,8925.114,1,9)
+@
+"^DD",8925.1,8925.114,1,21,0)
+^^5^5^2950607^^^
+"^DD",8925.1,8925.114,1,21,1,0)
+This is the mumps code for determining the default value of an interactive
+"^DD",8925.1,8925.114,1,21,2,0)
+("visible") prompt, and for setting the value to be non-interactively 
+"^DD",8925.1,8925.114,1,21,3,0)
+"stuffed" on invokation of an "invisible" prompt.  Regardless of the 
+"^DD",8925.1,8925.114,1,21,4,0)
+syntactic approach (e.g., subroutine or extrinsic function, the return
+"^DD",8925.1,8925.114,1,21,5,0)
+value of the method should be placed in the local varible X.
+"^DD",8925.1,8925.114,1,"DT")
+2950607
+"^DD",8925.1,8925.114,101,0)
+WINDOWS CONTROL^S^1:LongList;2:SimpleList;3:Edit;4:Memo;^W;1^Q
+"^DD",8925.1,8925.114,101,3)
+Enter the Windows control appropriate for this prompt
+"^DD",8925.1,8925.114,101,21,0)
+^^2^2^2950907^
+"^DD",8925.1,8925.114,101,21,1,0)
+Stores the type of Windows control necessary to get the data for this
+"^DD",8925.1,8925.114,101,21,2,0)
+prompt.
+"^DD",8925.1,8925.114,101,"DT")
+2950907
+"^DD",8925.1,8925.114,102,0)
+API NAME^F^^W;2^K:$L(X)>30!($L(X)<3) X
+"^DD",8925.1,8925.114,102,3)
+Answer must be 3-30 characters in length.
+"^DD",8925.1,8925.114,102,21,0)
+^^3^3^2950907^
+"^DD",8925.1,8925.114,102,21,1,0)
+This is the API that should be called by the broker when the control is
+"^DD",8925.1,8925.114,102,21,2,0)
+used.  How the API is used varies with the control.  Examples are:
+"^DD",8925.1,8925.114,102,21,3,0)
+filling list boxes, getting boilerplate text, etc.
+"^DD",8925.1,8925.114,102,"DT")
+2951002
+"^DD",8925.1,8925.114,103,0)
+API PARAMETER #1^F^^W;3^K:$L(X)>30!($L(X)<1) X
+"^DD",8925.1,8925.114,103,3)
+Answer must be 1-30 characters in length.
+"^DD",8925.1,8925.114,103,21,0)
+^^1^1^2950907^
+"^DD",8925.1,8925.114,103,21,1,0)
+A parameter that is used by the API may be stored here.
+"^DD",8925.1,8925.114,103,"DT")
+2950907
+"^DD",8925.1,8925.114,113,0)
+WINDOWS CONDITION^K^^W3;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.114,113,3)
+This is Standard MUMPS code.
+"^DD",8925.1,8925.114,113,9)
+@
+"^DD",8925.1,8925.114,113,21,0)
+^^3^3^2950907^
+"^DD",8925.1,8925.114,113,21,1,0)
+This is silent code which is executed when building the dialog for
+"^DD",8925.1,8925.114,113,21,2,0)
+Windows.  It identifies which prompts should be included in the dialog.
+"^DD",8925.1,8925.114,113,21,3,0)
+The condition should leave $T failse if the prompt should not be asked.
+"^DD",8925.1,8925.114,113,"DT")
+2950907
+"^DD",8925.1,8925.114,117,0)
+WINDOWS DEFAULT^K^^W7;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.114,117,3)
+This is Standard MUMPS code.
+"^DD",8925.1,8925.114,117,9)
+@
+"^DD",8925.1,8925.114,117,21,0)
+^^2^2^2950907^
+"^DD",8925.1,8925.114,117,21,1,0)
+This code should silently set the default value of a prompt when it is
+"^DD",8925.1,8925.114,117,21,2,0)
+selected.
+"^DD",8925.1,8925.114,117,"DT")
+2950907
+"^DD",8925.1,8925.12,0)
+UPLOAD CAPTIONED ASCII HEADER SUB-FIELD^^1^8
+"^DD",8925.1,8925.12,0,"DT")
+2951004
+"^DD",8925.1,8925.12,0,"IX","B",8925.12,.01)
+
+"^DD",8925.1,8925.12,0,"IX","C",8925.12,.02)
+
+"^DD",8925.1,8925.12,0,"IX","D",8925.12,.03)
+
+"^DD",8925.1,8925.12,0,"IX","E",8925.12,.04)
+
+"^DD",8925.1,8925.12,0,"NM","UPLOAD CAPTIONED ASCII HEADER")
+
+"^DD",8925.1,8925.12,0,"UP")
+8925.1
+"^DD",8925.1,8925.12,.01,0)
+CAPTION^MF^^0;1^K:$L(X)>40!($L(X)<2) X
+"^DD",8925.1,8925.12,.01,1,0)
+^.1
+"^DD",8925.1,8925.12,.01,1,1,0)
+8925.12^B
+"^DD",8925.1,8925.12,.01,1,1,1)
+S ^TIU(8925.1,DA(1),"HEAD","B",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.12,.01,1,1,2)
+K ^TIU(8925.1,DA(1),"HEAD","B",$E(X,1,30),DA)
+"^DD",8925.1,8925.12,.01,3)
+Answer must be 2-40 characters in length.
+"^DD",8925.1,8925.12,.01,21,0)
+^^7^7^2970108^
+"^DD",8925.1,8925.12,.01,21,1,0)
+NOTE: Users can choose between two possible kinds of Upload Record
+"^DD",8925.1,8925.12,.01,21,2,0)
+Headers: Captioned or Delimited.  Captioned headers should be used UNLESS
+"^DD",8925.1,8925.12,.01,21,3,0)
+the site has a way to generate upload headers automatically.
+"^DD",8925.1,8925.12,.01,21,4,0)
+ 
+"^DD",8925.1,8925.12,.01,21,5,0)
+CAPTION is the caption which the transcriber enters into the captioned
+"^DD",8925.1,8925.12,.01,21,6,0)
+upload record header immediately preceeding the item data.  It serves to
+"^DD",8925.1,8925.12,.01,21,7,0)
+distinguish one item of data from the next. Example: PATIENT NAME
+"^DD",8925.1,8925.12,.01,"DT")
+2930218
+"^DD",8925.1,8925.12,.02,0)
+ITEM NAME^F^^0;2^K:X[""""!($A(X)=45) X I $D(X) K:$L(X)>20!($L(X)<2) X
+"^DD",8925.1,8925.12,.02,1,0)
+^.1
+"^DD",8925.1,8925.12,.02,1,1,0)
+8925.12^C
+"^DD",8925.1,8925.12,.02,1,1,1)
+S ^TIU(8925.1,DA(1),"HEAD","C",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.12,.02,1,1,2)
+K ^TIU(8925.1,DA(1),"HEAD","C",$E(X,1,30),DA)
+"^DD",8925.1,8925.12,.02,1,1,"%D",0)
+^^2^2^2930122^
+"^DD",8925.1,8925.12,.02,1,1,"%D",1,0)
+This REGULAR FileMan cross-reference on the ITEM NAME is used in the look-up
+"^DD",8925.1,8925.12,.02,1,1,"%D",2,0)
+and filing processes.
+"^DD",8925.1,8925.12,.02,1,1,"DT")
+2930122
+"^DD",8925.1,8925.12,.02,3)
+Enter the name of the header item.
+"^DD",8925.1,8925.12,.02,21,0)
+^^2^2^2970108^
+"^DD",8925.1,8925.12,.02,21,1,0)
+This is the name of the item in the ASCII message header.  Item Name is
+"^DD",8925.1,8925.12,.02,21,2,0)
+used in help messages for the person dictating a document.
+"^DD",8925.1,8925.12,.02,"DT")
+2930122
+"^DD",8925.1,8925.12,.03,0)
+FIELD NUMBER^F^^0;3^K:X[""""!($A(X)=45) X I $D(X) K:$L(X)>10!($L(X)<1) X
+"^DD",8925.1,8925.12,.03,1,0)
+^.1
+"^DD",8925.1,8925.12,.03,1,1,0)
+8925.12^D
+"^DD",8925.1,8925.12,.03,1,1,1)
+S ^TIU(8925.1,DA(1),"HEAD","D",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.12,.03,1,1,2)
+K ^TIU(8925.1,DA(1),"HEAD","D",$E(X,1,30),DA)
+"^DD",8925.1,8925.12,.03,1,1,"%D",0)
+^^2^2^2930122^
+"^DD",8925.1,8925.12,.03,1,1,"%D",1,0)
+This REGULAR FileMan cross-reference is used by the filer router to identify
+"^DD",8925.1,8925.12,.03,1,1,"%D",2,0)
+header fields with field numbers in the target file.
+"^DD",8925.1,8925.12,.03,1,1,"DT")
+2930122
+"^DD",8925.1,8925.12,.03,3)
+Enter the FIELD # of the item in the target file.
+"^DD",8925.1,8925.12,.03,21,0)
+^^2^2^2970108^
+"^DD",8925.1,8925.12,.03,21,1,0)
+This is the FIELD # in the target file which corresponds to this header
+"^DD",8925.1,8925.12,.03,21,2,0)
+item and where this item of data will be stored.
+"^DD",8925.1,8925.12,.03,"DT")
+2930122
+"^DD",8925.1,8925.12,.04,0)
+LOOKUP LOCAL VARIABLE NAME^F^^0;4^K:X[""""!($A(X)=45) X I $D(X) K:$L(X)>8!($L(X)<1)!'(X?1A1.7E) X
+"^DD",8925.1,8925.12,.04,1,0)
+^.1
+"^DD",8925.1,8925.12,.04,1,1,0)
+8925.12^E
+"^DD",8925.1,8925.12,.04,1,1,1)
+S ^TIU(8925.1,DA(1),"HEAD","E",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.12,.04,1,1,2)
+K ^TIU(8925.1,DA(1),"HEAD","E",$E(X,1,30),DA)
+"^DD",8925.1,8925.12,.04,1,1,"%D",0)
+^^3^3^2930122^
+"^DD",8925.1,8925.12,.04,1,1,"%D",1,0)
+This REGULAR FileMan cross-reference is used by the router/filer to determine
+"^DD",8925.1,8925.12,.04,1,1,"%D",2,0)
+which fields of the header should be set into special variables which may be
+"^DD",8925.1,8925.12,.04,1,1,"%D",3,0)
+required by the lookup routine.
+"^DD",8925.1,8925.12,.04,1,1,"DT")
+2930122
+"^DD",8925.1,8925.12,.04,3)
+Enter the required local variable into which this item will be set.
+"^DD",8925.1,8925.12,.04,21,0)
+^^11^11^2970108^
+"^DD",8925.1,8925.12,.04,21,1,0)
+This field specifies the local variable name into which this item of the
+"^DD",8925.1,8925.12,.04,21,2,0)
+upload header will be set.  The local variable is used by the Look-Up
+"^DD",8925.1,8925.12,.04,21,3,0)
+Method.  For example, if this item of the header is the patient social
+"^DD",8925.1,8925.12,.04,21,4,0)
+security number, the Lookup Local Variable Name might be TIUSSN.  The
+"^DD",8925.1,8925.12,.04,21,5,0)
+social security number as written by the transcriptionist is first
+"^DD",8925.1,8925.12,.04,21,6,0)
+transformed by any existing Transform Code, and then set into this
+"^DD",8925.1,8925.12,.04,21,7,0)
+variable (e.g. TIUSSN) for use in Look-Up Method code.
+"^DD",8925.1,8925.12,.04,21,8,0)
+ 
+"^DD",8925.1,8925.12,.04,21,9,0)
+Lookup Local Variable Name is necessary only if the information in this
+"^DD",8925.1,8925.12,.04,21,10,0)
+piece is required in order to look up the appropriate entry in the target
+"^DD",8925.1,8925.12,.04,21,11,0)
+file.
+"^DD",8925.1,8925.12,.04,"DT")
+2930122
+"^DD",8925.1,8925.12,.05,0)
+EXAMPLE ENTRY^F^^0;5^K:$L(X)>80!($L(X)<2) X
+"^DD",8925.1,8925.12,.05,3)
+Answer must be 2-80 characters in length.
+"^DD",8925.1,8925.12,.05,21,0)
+^^9^9^2970108^
+"^DD",8925.1,8925.12,.05,21,1,0)
+This field is used to store sample data for this item in the form the
+"^DD",8925.1,8925.12,.05,21,2,0)
+transcriptionist is expected to use when transcribing it.  For example, if
+"^DD",8925.1,8925.12,.05,21,3,0)
+a patient has social security number 555-12-1212, and the transcriptionist
+"^DD",8925.1,8925.12,.05,21,4,0)
+is expected to write 555-12-1212, than an Example Entry should have the
+"^DD",8925.1,8925.12,.05,21,5,0)
+form 555-12-1212.
+"^DD",8925.1,8925.12,.05,21,6,0)
+ 
+"^DD",8925.1,8925.12,.05,21,7,0)
+The Upload needs to know the exact form the transcriptionist is expected
+"^DD",8925.1,8925.12,.05,21,8,0)
+to use in case it needs to transform it to make it acceptable to FileMan.
+"^DD",8925.1,8925.12,.05,21,9,0)
+In this case, the transcriptionist also needs to know the exact form.
+"^DD",8925.1,8925.12,.05,"DT")
+2930224
+"^DD",8925.1,8925.12,.06,0)
+CLINICIAN MUST DICTATE^S^1:YES;0:NO;^0;6^Q
+"^DD",8925.1,8925.12,.06,3)
+Answer yes if this field needs to be dictated by the clinician.
+"^DD",8925.1,8925.12,.06,21,0)
+^^5^5^2970108^
+"^DD",8925.1,8925.12,.06,21,1,0)
+States whether or not this item should be dictated by the Clinician.  Will
+"^DD",8925.1,8925.12,.06,21,2,0)
+be used by the Clinician Help routine to determine if this field should be
+"^DD",8925.1,8925.12,.06,21,3,0)
+shown as data that should be dictated.  (Some items can be entered by the
+"^DD",8925.1,8925.12,.06,21,4,0)
+transcriber without being dictated, such as the transcriber
+"^DD",8925.1,8925.12,.06,21,5,0)
+identification).
+"^DD",8925.1,8925.12,.06,"DT")
+2930423
+"^DD",8925.1,8925.12,.07,0)
+REQUIRED FIELD?^S^1:YES;0:NO;^0;7^Q
+"^DD",8925.1,8925.12,.07,3)
+Please indicate whether field is required by application.
+"^DD",8925.1,8925.12,.07,21,0)
+^^5^5^2970108^
+"^DD",8925.1,8925.12,.07,21,1,0)
+This field is used to determine whether a given header item is required
+"^DD",8925.1,8925.12,.07,21,2,0)
+by the application (e.g., Author and Attending Physician may be required
+"^DD",8925.1,8925.12,.07,21,3,0)
+for the ongoing processing of a Discharge Summary).  Records lacking
+"^DD",8925.1,8925.12,.07,21,4,0)
+required fields WILL be entered into the target file, if possible, but
+"^DD",8925.1,8925.12,.07,21,5,0)
+will generate Missing Field Error Alerts.
+"^DD",8925.1,8925.12,.07,"DT")
+2951004
+"^DD",8925.1,8925.12,1,0)
+TRANSFORM CODE^K^^1;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+"^DD",8925.1,8925.12,1,3)
+This is Standard MUMPS code.
+"^DD",8925.1,8925.12,1,9)
+@
+"^DD",8925.1,8925.12,1,21,0)
+^^11^11^2970108^
+"^DD",8925.1,8925.12,1,21,1,0)
+This standard MUMPS code transforms the transcribed value of the header
+"^DD",8925.1,8925.12,1,21,2,0)
+item into a format acceptable to FileMan (e.g., patient social security
+"^DD",8925.1,8925.12,1,21,3,0)
+number 555-12-1212 must be transformed to 555121212 or to whatever
+"^DD",8925.1,8925.12,1,21,4,0)
+(external) format FileMan accepts when a user edits the social security
+"^DD",8925.1,8925.12,1,21,5,0)
+number field in the target file).
+"^DD",8925.1,8925.12,1,21,6,0)
+ 
+"^DD",8925.1,8925.12,1,21,7,0)
+Field values are transformed before being set into Special Lookup
+"^DD",8925.1,8925.12,1,21,8,0)
+Variables and before being set into target file fields.
+"^DD",8925.1,8925.12,1,21,9,0)
+ 
+"^DD",8925.1,8925.12,1,21,10,0)
+Field is necessary only if transcribed item is not in the format Fileman
+"^DD",8925.1,8925.12,1,21,11,0)
+accepts for the target file.
+"^DD",8925.1,8925.12,1,"DT")
+2930219
+"^DD",8925.1,8925.13,0)
+BOILERPLATE TEXT SUB-FIELD^^.01^1
+"^DD",8925.1,8925.13,0,"NM","BOILERPLATE TEXT")
+
+"^DD",8925.1,8925.13,0,"UP")
+8925.1
+"^DD",8925.1,8925.13,.01,0)
+BOILERPLATE TEXT^WL^^0;1^Q
+"^DD",8925.1,8925.13,.01,3)
+Enter default Report Format
+"^DD",8925.1,8925.13,.01,21,0)
+^^51^51^2970506^
+"^DD",8925.1,8925.13,.01,21,1,0)
+Applies to Titles and Components.
+"^DD",8925.1,8925.13,.01,21,2,0)
+ 
+"^DD",8925.1,8925.13,.01,21,3,0)
+Site can preload the text field of a document with default text/default
+"^DD",8925.1,8925.13,.01,21,4,0)
+format/overprint data which is presented to the user when entering the
+"^DD",8925.1,8925.13,.01,21,5,0)
+document.  User can then edit and/or add to the boilerplate text.
+"^DD",8925.1,8925.13,.01,21,6,0)
+ 
+"^DD",8925.1,8925.13,.01,21,7,0)
+If document is formatted into columns, users entering documents should use
+"^DD",8925.1,8925.13,.01,21,8,0)
+replace mode rather than insert mode (or Find/RePlace Text) to preserve
+"^DD",8925.1,8925.13,.01,21,9,0)
+the columns.
+"^DD",8925.1,8925.13,.01,21,10,0)
+ 
+"^DD",8925.1,8925.13,.01,21,11,0)
+Boilerplate Text may be used as an alternative to components to split a
+"^DD",8925.1,8925.13,.01,21,12,0)
+document up into sections, but such sections are stored together and
+"^DD",8925.1,8925.13,.01,21,13,0)
+cannot be separately accessed the way components can.  See Type Component,
+"^DD",8925.1,8925.13,.01,21,14,0)
+under Basic field Type.
+"^DD",8925.1,8925.13,.01,21,15,0)
+ 
+"^DD",8925.1,8925.13,.01,21,16,0)
+Titles/Components must be inactive in order to edit boilerplate text.
+"^DD",8925.1,8925.13,.01,21,17,0)
+ 
+"^DD",8925.1,8925.13,.01,21,18,0)
+Boilerplate Text is the place to embed objects which go fetch data. For
+"^DD",8925.1,8925.13,.01,21,19,0)
+example, suppose a Title has boilerplate text:
+"^DD",8925.1,8925.13,.01,21,20,0)
+ 
+"^DD",8925.1,8925.13,.01,21,21,0)
+               Patient is a healthy |PATIENT AGE| year old male...
+"^DD",8925.1,8925.13,.01,21,22,0)
+ 
+"^DD",8925.1,8925.13,.01,21,23,0)
+Then a user who enters such a note for a patient known by the system to be
+"^DD",8925.1,8925.13,.01,21,24,0)
+56 years old would be presented with the text:
+"^DD",8925.1,8925.13,.01,21,25,0)
+ 
+"^DD",8925.1,8925.13,.01,21,26,0)
+               Patient is a healthy 56 year old male...
+"^DD",8925.1,8925.13,.01,21,27,0)
+ 
+"^DD",8925.1,8925.13,.01,21,28,0)
+The user can then add to the text and/or edit the text, including the age
+"^DD",8925.1,8925.13,.01,21,29,0)
+(56) of the patient.  From this point on, the patient age (56) is regular
+"^DD",8925.1,8925.13,.01,21,30,0)
+text and is not updated in this note.
+"^DD",8925.1,8925.13,.01,21,31,0)
+ 
+"^DD",8925.1,8925.13,.01,21,32,0)
+If a user enters a document when an embedded object is Inactive, the
+"^DD",8925.1,8925.13,.01,21,33,0)
+object does not function; the user sees the object name and an error
+"^DD",8925.1,8925.13,.01,21,34,0)
+message.  Similarly, if an object has been misspelled in the boilerplate
+"^DD",8925.1,8925.13,.01,21,35,0)
+text, or deleted from the file, or if the object name in the boilerplate
+"^DD",8925.1,8925.13,.01,21,36,0)
+text is not unique among objects, the object does not function.
+"^DD",8925.1,8925.13,.01,21,37,0)
+ 
+"^DD",8925.1,8925.13,.01,21,38,0)
+When embedding objects in boilerplate text, users should make sure the
+"^DD",8925.1,8925.13,.01,21,39,0)
+entire object name is on one line rather than split between two lines.
+"^DD",8925.1,8925.13,.01,21,40,0)
+Split names generate "NOT found" error messages.  Users must also allow
+"^DD",8925.1,8925.13,.01,21,41,0)
+enough white space in the boilerplate text for whatever data the object
+"^DD",8925.1,8925.13,.01,21,42,0)
+imports.  Users can check boilerplate text using action TRY.
+"^DD",8925.1,8925.13,.01,21,43,0)
+ 
+"^DD",8925.1,8925.13,.01,21,44,0)
+Any user who can edit boilerplate text can embed any object in it.
+"^DD",8925.1,8925.13,.01,21,45,0)
+However, except for object owners who are testing an object, USERS SHOULD
+"^DD",8925.1,8925.13,.01,21,46,0)
+EMBED ONLY ACTIVE OBJECTS in boilerplate text.  An object can be embedded
+"^DD",8925.1,8925.13,.01,21,47,0)
+in as many different Document Definitions as desired.
+"^DD",8925.1,8925.13,.01,21,48,0)
+ 
+"^DD",8925.1,8925.13,.01,21,49,0)
+A document with multiple components can have boilerplate text in the entry
+"^DD",8925.1,8925.13,.01,21,50,0)
+itself and/or in any component.  Boilerplate text in the entry itself
+"^DD",8925.1,8925.13,.01,21,51,0)
+appears first.
+"^DD",8925.1,8925.13,.01,"DT")
+2930305
+"^DD",8925.1,8925.14,0)
+ITEM SUB-FIELD^^4^4
+"^DD",8925.1,8925.14,0,"DT")
+2970212
+"^DD",8925.1,8925.14,0,"IX","AC",8925.14,3)
+
+"^DD",8925.1,8925.14,0,"IX","B",8925.14,.01)
+
+"^DD",8925.1,8925.14,0,"IX","C",8925.14,4)
+
+"^DD",8925.1,8925.14,0,"NM","ITEM")
+
+"^DD",8925.1,8925.14,0,"UP")
+8925.1
+"^DD",8925.1,8925.14,.01,0)
+ITEM^M*P8925.1'X^TIU(8925.1,^0;1^S DIC("S")="I $G(TIUFPRIV) X:$D(TIUFISCR) ""I Y=TIUFISCR""" D ^DIC K DIC S DIC=DIE,X=+Y K:Y<0 X
+"^DD",8925.1,8925.14,.01,1,0)
+^.1
+"^DD",8925.1,8925.14,.01,1,1,0)
+8925.14^B
+"^DD",8925.1,8925.14,.01,1,1,1)
+S ^TIU(8925.1,DA(1),10,"B",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.14,.01,1,1,2)
+K ^TIU(8925.1,DA(1),10,"B",$E(X,1,30),DA)
+"^DD",8925.1,8925.14,.01,1,2,0)
+8925.1^AD
+"^DD",8925.1,8925.14,.01,1,2,1)
+S ^TIU(8925.1,"AD",$E(X,1,30),DA(1),DA)=""
+"^DD",8925.1,8925.14,.01,1,2,2)
+K ^TIU(8925.1,"AD",$E(X,1,30),DA(1),DA)
+"^DD",8925.1,8925.14,.01,1,2,"%D",0)
+^^2^2^2940719^
+"^DD",8925.1,8925.14,.01,1,2,"%D",1,0)
+This cross-reference facilitates traversal from child to parent, up the
+"^DD",8925.1,8925.14,.01,1,2,"%D",2,0)
+class hierarchy.
+"^DD",8925.1,8925.14,.01,1,2,"DT")
+2940719
+"^DD",8925.1,8925.14,.01,1,3,0)
+8925.1^AMM^MUMPS
+"^DD",8925.1,8925.14,.01,1,3,1)
+D REDOX^TIUDD
+"^DD",8925.1,8925.14,.01,1,3,2)
+D REDOX^TIUDD
+"^DD",8925.1,8925.14,.01,1,3,"%D",0)
+^^2^2^2940720^^
+"^DD",8925.1,8925.14,.01,1,3,"%D",1,0)
+This MUMPS-type cross-reference will update the timestamp on the parent
+"^DD",8925.1,8925.14,.01,1,3,"%D",2,0)
+document when the ITEM, MNEMONIC, or SEQUENCE changes.
+"^DD",8925.1,8925.14,.01,1,3,"DT")
+2940720
+"^DD",8925.1,8925.14,.01,1,4,0)
+8925.1^ACL1001^MUMPS
+"^DD",8925.1,8925.14,.01,1,4,1)
+D SACL^TIUDD1(X,10.01)
+"^DD",8925.1,8925.14,.01,1,4,2)
+D KACL^TIUDD1(X,10.01)
+"^DD",8925.1,8925.14,.01,1,4,"%D",0)
+^^2^2^2971016^
+"^DD",8925.1,8925.14,.01,1,4,"%D",1,0)
+This MUMPS-type cross-reference by class and name will help to identify
+"^DD",8925.1,8925.14,.01,1,4,"%D",2,0)
+the titles within a given class.
+"^DD",8925.1,8925.14,.01,1,4,"DT")
+2971016
+"^DD",8925.1,8925.14,.01,3)
+ITEM must be a new or pre-existing Document Definition with appropriate Type which you own, which is not already an Item elsewhere.
+"^DD",8925.1,8925.14,.01,4)
+D NAME^TIUFXHLX
+"^DD",8925.1,8925.14,.01,12)
+See Technical Description.
+"^DD",8925.1,8925.14,.01,12.1)
+S DIC("S")="I $G(TIUFPRIV) X:$D(TIUFISCR) ""I Y=TIUFISCR"""
+"^DD",8925.1,8925.14,.01,21,0)
+^.001^6^6^3050125^^^^
+"^DD",8925.1,8925.14,.01,21,1,0)
+Items are themselves Document Definitions.  The Type of the parent entry
+"^DD",8925.1,8925.14,.01,21,2,0)
+determines what Types of items it has.  A parent entry of type Class has
+"^DD",8925.1,8925.14,.01,21,3,0)
+items of type Class or Document Class.  A Document Class entry has items
+"^DD",8925.1,8925.14,.01,21,4,0)
+of type Title.  If a Title entry has more than a single section, it has
+"^DD",8925.1,8925.14,.01,21,5,0)
+items of type Component.  Components may also be multi-section with items
+"^DD",8925.1,8925.14,.01,21,6,0)
+of type Component.  Objects do not have items.
+"^DD",8925.1,8925.14,.01,23,0)
+^.001^8^8^3050125^^^^
+"^DD",8925.1,8925.14,.01,23,1,0)
+The Item subfield of Item Field 10 in File 8925.1 is screened when using
+"^DD",8925.1,8925.14,.01,23,2,0)
+the TIUF Document Definition Utility to add items (i.e. when variable
+"^DD",8925.1,8925.14,.01,23,3,0)
+TIUFISCR is defined.  
+"^DD",8925.1,8925.14,.01,23,4,0)
+ 
+"^DD",8925.1,8925.14,.01,23,5,0)
+This screen is needed in ADDTEN^TIUFLF4, which noninteractively adds an
+"^DD",8925.1,8925.14,.01,23,6,0)
+item to the Item multiple.  The screen limits the lookup to the 8925.1 IFN
+"^DD",8925.1,8925.14,.01,23,7,0)
+of the item being added to the Item multiple.  Without the screen, the
+"^DD",8925.1,8925.14,.01,23,8,0)
+lookup fails when there are multiple 8925.1 entries of the same name.
+"^DD",8925.1,8925.14,.01,"DEL",.01,0)
+I 1
+"^DD",8925.1,8925.14,.01,"DT")
+2971016
+"^DD",8925.1,8925.14,2,0)
+MNEMONIC^F^^0;2^K:X[""""!($A(X)=45) X I $D(X) K:$L(X)>4!($L(X)<1) X
+"^DD",8925.1,8925.14,2,1,0)
+^.1
+"^DD",8925.1,8925.14,2,1,1,0)
+8925.1^AMM2^MUMPS
+"^DD",8925.1,8925.14,2,1,1,1)
+D REDOX^TIUDD
+"^DD",8925.1,8925.14,2,1,1,2)
+D REDOX^TIUDD
+"^DD",8925.1,8925.14,2,1,1,"%D",0)
+^^2^2^2961210^^^^
+"^DD",8925.1,8925.14,2,1,1,"%D",1,0)
+This MUMPS-type cross-reference will update the TIMESTAMP on the parent
+"^DD",8925.1,8925.14,2,1,1,"%D",2,0)
+document when either the ITEM, MNEMONIC, or SEQUENCE changes.
+"^DD",8925.1,8925.14,2,1,1,"DT")
+2940720
+"^DD",8925.1,8925.14,2,3)
+Mnemonic is a handle by which to select Classes/Document Classes from a menu.  Enter the Sequence number, or 1-4 letters, or nothing if you don't want mnemonics.
+"^DD",8925.1,8925.14,2,21,0)
+^^3^3^2970127^
+"^DD",8925.1,8925.14,2,21,1,0)
+Item Mnemonic is a handle by which to select Classes/Document Classes from
+"^DD",8925.1,8925.14,2,21,2,0)
+a menu. 1-4 characters long.  Mnemonic is usually numeric with the same
+"^DD",8925.1,8925.14,2,21,3,0)
+value as the Sequence.  Alpha mnemonics are permitted if preferred.
+"^DD",8925.1,8925.14,2,"DT")
+2940720
+"^DD",8925.1,8925.14,3,0)
+SEQUENCE^NJ6,2^^0;3^K:+X'=X!(X>999)!(X<.01)!(X?.E1"."3N.N) X
+"^DD",8925.1,8925.14,3,1,0)
+^.1
+"^DD",8925.1,8925.14,3,1,1,0)
+8925.1^AMM3^MUMPS
+"^DD",8925.1,8925.14,3,1,1,1)
+D REDOX^TIUDD
+"^DD",8925.1,8925.14,3,1,1,2)
+D REDOX^TIUDD
+"^DD",8925.1,8925.14,3,1,1,"%D",0)
+^^2^2^2940720^^
+"^DD",8925.1,8925.14,3,1,1,"%D",1,0)
+This MUMPS-type cross-reference will update the TIMESTAMP of the parent
+"^DD",8925.1,8925.14,3,1,1,"%D",2,0)
+document when the ITEM, MNEMONIC, or SEQUENCE change.
+"^DD",8925.1,8925.14,3,1,1,"DT")
+2940720
+"^DD",8925.1,8925.14,3,1,2,0)
+8925.14^AC
+"^DD",8925.1,8925.14,3,1,2,1)
+S ^TIU(8925.1,DA(1),10,"AC",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.14,3,1,2,2)
+K ^TIU(8925.1,DA(1),10,"AC",$E(X,1,30),DA)
+"^DD",8925.1,8925.14,3,1,2,3)
+Please don't delete!
+"^DD",8925.1,8925.14,3,1,2,"%D",0)
+^^2^2^2950412^^^
+"^DD",8925.1,8925.14,3,1,2,"%D",1,0)
+This REGULAR Fileman cross reference is used to list items by sequence
+"^DD",8925.1,8925.14,3,1,2,"%D",2,0)
+number.
+"^DD",8925.1,8925.14,3,1,2,"DT")
+2950410
+"^DD",8925.1,8925.14,3,3)
+Item Sequence determines display order under the parent.  For alphabetic order, do not enter sequences.  Sequence is between .01 and 999, 2 Decimal Digits.
+"^DD",8925.1,8925.14,3,21,0)
+^^3^3^2970102^^^
+"^DD",8925.1,8925.14,3,21,1,0)
+Item Sequence, if entered, determines item's order under its parent. If
+"^DD",8925.1,8925.14,3,21,2,0)
+items have no sequence, item order is alphabetic by item Menu Text.
+"^DD",8925.1,8925.14,3,21,3,0)
+Sequence must be between .01 and 999.
+"^DD",8925.1,8925.14,3,"DT")
+2961021
+"^DD",8925.1,8925.14,4,0)
+MENU TEXT^RFX^^0;4^K:X[""""!($A(X)=45)!($A(X)=32) X I $D(X) K:$L(X)>20!($L(X)<1) X I $D(X) K:$$UPPER^TIULS($E(X,1,3))="ALL" X
+"^DD",8925.1,8925.14,4,1,0)
+^.1
+"^DD",8925.1,8925.14,4,1,1,0)
+8925.1^AMM4^MUMPS
+"^DD",8925.1,8925.14,4,1,1,1)
+D REDOX^TIUDD
+"^DD",8925.1,8925.14,4,1,1,2)
+D REDOX^TIUDD
+"^DD",8925.1,8925.14,4,1,1,"%D",0)
+^^2^2^2940720^
+"^DD",8925.1,8925.14,4,1,1,"%D",1,0)
+This MUMPS-type cross-reference updates the TIMESTAMP on the parent
+"^DD",8925.1,8925.14,4,1,1,"%D",2,0)
+document when the DISPLAY NAME changes.
+"^DD",8925.1,8925.14,4,1,1,"DT")
+2940720
+"^DD",8925.1,8925.14,4,1,2,0)
+8925.14^C^MUMPS
+"^DD",8925.1,8925.14,4,1,2,1)
+S ^TIU(8925.1,DA(1),10,"C",$E(X,1,30),DA)=""
+"^DD",8925.1,8925.14,4,1,2,2)
+K ^TIU(8925.1,DA(1),10,"C",$E(X,1,30),DA)
+"^DD",8925.1,8925.14,4,1,2,"%D",0)
+^^3^3^2961210^^
+"^DD",8925.1,8925.14,4,1,2,"%D",1,0)
+This M cross reference could have been regular.  It is used to display
+"^DD",8925.1,8925.14,4,1,2,"%D",2,0)
+items with no sequence in alpha order by Menu Text.
+"^DD",8925.1,8925.14,4,1,2,"DT")
+2961210
+"^DD",8925.1,8925.14,4,3)
+This is the short name of the entry, used in 3 column menus.  1 to 20 characters.  Must not begin with 'All', or with a space.
+"^DD",8925.1,8925.14,4,4)
+
+"^DD",8925.1,8925.14,4,21,0)
+^^20^20^2990114^^
+"^DD",8925.1,8925.14,4,21,1,0)
+Item Menu Text is the short name users will see for Classes and Document
+"^DD",8925.1,8925.14,4,21,2,0)
+Classes when selecting them from 3-COLUMN MENUS.  Document Definitions are
+"^DD",8925.1,8925.14,4,21,3,0)
+selected from 3-column menus when viewing documents across many patients
+"^DD",8925.1,8925.14,4,21,4,0)
+and when viewing many kinds of documents at the same time (e.g. Progress
+"^DD",8925.1,8925.14,4,21,5,0)
+Notes and Discharge Summaries).
+"^DD",8925.1,8925.14,4,21,6,0)
+ 
+"^DD",8925.1,8925.14,4,21,7,0)
+To edit the Menu Text of a Document Definition, you must be viewing the
+"^DD",8925.1,8925.14,4,21,8,0)
+Document Definition as an ITEM of its PARENT. Select 'Detailed Display'
+"^DD",8925.1,8925.14,4,21,9,0)
+for the PARENT and then 'Items'.
+"^DD",8925.1,8925.14,4,21,10,0)
+ 
+"^DD",8925.1,8925.14,4,21,11,0)
+Menu Text has 1 - 20 characters. Menu Text must not begin with a space or
+"^DD",8925.1,8925.14,4,21,12,0)
+with 'All'.  The Document Definition Utility TIUF automatically sets the
+"^DD",8925.1,8925.14,4,21,13,0)
+Item Menu Text to the first 20 characters of the Item's Name when an entry
+"^DD",8925.1,8925.14,4,21,14,0)
+is first added as an item. (If an entry's Name begins with 'All' its Menu
+"^DD",8925.1,8925.14,4,21,15,0)
+Text is given 'AlX' as its first 3 characters.) The utility does NOT
+"^DD",8925.1,8925.14,4,21,16,0)
+update Menu Text if the entry Name is later changed, since this would
+"^DD",8925.1,8925.14,4,21,17,0)
+overwrite what a site may have carefully set up.  Menu Text is required.
+"^DD",8925.1,8925.14,4,21,18,0)
+ 
+"^DD",8925.1,8925.14,4,21,19,0)
+Menu Text can affect item order under a parent since order is alphabetic
+"^DD",8925.1,8925.14,4,21,20,0)
+by menu text if items do not have sequence numbers.
+"^DD",8925.1,8925.14,4,23,0)
+^^10^10^2990114^^^^
+"^DD",8925.1,8925.14,4,23,1,0)
+Menu Text cannot begin with 'All' because XQOR, the Unwinder Utility,
+"^DD",8925.1,8925.14,4,23,2,0)
+misinterprets it.  The result (for titles) is that when a user selects a
+"^DD",8925.1,8925.14,4,23,3,0)
+Document Class of titles to view from a three column menu, and one of the
+"^DD",8925.1,8925.14,4,23,4,0)
+titles has menu text starting with 'All,' then no documents are found for
+"^DD",8925.1,8925.14,4,23,5,0)
+titles AFTER the title starting with 'All', even though such documents may
+"^DD",8925.1,8925.14,4,23,6,0)
+exist.  Similar problems occur with types other than titles.
+"^DD",8925.1,8925.14,4,23,7,0)
+ 
+"^DD",8925.1,8925.14,4,23,8,0)
+Menu Text cannot begin with a space because such Menu Text cannot be used
+"^DD",8925.1,8925.14,4,23,9,0)
+to select the entry from a menu: if the space is left off, it is
+"^DD",8925.1,8925.14,4,23,10,0)
+questioned, and if the space is left in, it is still questioned.
+"^DD",8925.1,8925.14,4,"DT")
+2990121
+"^DD",22713,22713,0)
+FIELD^^.015^10
+"^DD",22713,22713,0,"DDA")
+N
+"^DD",22713,22713,0,"DT")
+3101006
+"^DD",22713,22713,0,"IX","B",22713,.01)
+
+"^DD",22713,22713,0,"IX","C",22713,.015)
+
+"^DD",22713,22713,0,"NM","TMG GROWTH CHARTS DATA")
+
+"^DD",22713,22713,.01,0)
+NAME^RFJ32^^0;1^K:$L(X)>32!($L(X)<3)!'(X'?1P.E) X
+"^DD",22713,22713,.01,1,0)
+^.1
+"^DD",22713,22713,.01,1,1,0)
+22713^B
+"^DD",22713,22713,.01,1,1,1)
+S ^TMG(22713,"B",$E(X,1,30),DA)=""
+"^DD",22713,22713,.01,1,1,2)
+K ^TMG(22713,"B",$E(X,1,30),DA)
+"^DD",22713,22713,.01,3)
+Answer must be 3-32 characters in length.
+"^DD",22713,22713,.01,10)
+01
+"^DD",22713,22713,.01,21,0)
+^^2^2^3101005^^
+"^DD",22713,22713,.01,21,1,0)
+This is the name of the data set:
+"^DD",22713,22713,.01,21,2,0)
+e.g. Weight-for-age
+"^DD",22713,22713,.01,"DT")
+3101006
+"^DD",22713,22713,.015,0)
+SHORT NAME^FJ10^^2;1^K:$L(X)>10!($L(X)<1) X
+"^DD",22713,22713,.015,1,0)
+^.1
+"^DD",22713,22713,.015,1,1,0)
+22713^C
+"^DD",22713,22713,.015,1,1,1)
+S ^TMG(22713,"C",$E(X,1,30),DA)=""
+"^DD",22713,22713,.015,1,1,2)
+K ^TMG(22713,"C",$E(X,1,30),DA)
+"^DD",22713,22713,.015,1,1,"DT")
+3101006
+"^DD",22713,22713,.015,3)
+Answer must be 1-10 characters in length.
+"^DD",22713,22713,.015,21,0)
+^^2^2^3101006^^
+"^DD",22713,22713,.015,21,1,0)
+This will be used to store just the shortened name,
+"^DD",22713,22713,.015,21,2,0)
+as named by the original CDC data table.
+"^DD",22713,22713,.015,"DT")
+3101006
+"^DD",22713,22713,.02,0)
+INPUT TITLE^FJ32^^0;2^K:$L(X)>32!($L(X)<3) X
+"^DD",22713,22713,.02,3)
+Answer must be 3-32 characters in length.
+"^DD",22713,22713,.02,10)
+02
+"^DD",22713,22713,.02,21,0)
+^^5^5^3101005^^
+"^DD",22713,22713,.02,21,1,0)
+This is the input variable.  
+"^DD",22713,22713,.02,21,2,0)
+
+"^DD",22713,22713,.02,21,3,0)
+For example, in a chart that is 'Head circumference (HC)
+"^DD",22713,22713,.02,21,4,0)
+by Age', then input variable will be age (and the output 
+"^DD",22713,22713,.02,21,5,0)
+variable would be HC.)
+"^DD",22713,22713,.02,"DT")
+3101005
+"^DD",22713,22713,.03,0)
+INPUT UNITS^FJ8^^0;3^K:$L(X)>8!($L(X)<1) X
+"^DD",22713,22713,.03,3)
+Answer must be 1-8 characters in length.
+"^DD",22713,22713,.03,10)
+03
+"^DD",22713,22713,.03,21,0)
+^^4^4^3101005^^
+"^DD",22713,22713,.03,21,1,0)
+This is the units of the variable.  E.g.
+"^DD",22713,22713,.03,21,2,0)
+KG for Kilograms
+"^DD",22713,22713,.03,21,3,0)
+CM for Centimeters.
+"^DD",22713,22713,.03,21,4,0)
+etc.
+"^DD",22713,22713,.03,"DT")
+3101006
+"^DD",22713,22713,.04,0)
+OUTPUT TITLE^FJ32^^0;4^K:$L(X)>32!($L(X)<3) X
+"^DD",22713,22713,.04,3)
+Answer must be 3-32 characters in length.
+"^DD",22713,22713,.04,10)
+04
+"^DD",22713,22713,.04,21,0)
+^^5^5^3101005^^
+"^DD",22713,22713,.04,21,1,0)
+This is the output variable.  
+"^DD",22713,22713,.04,21,2,0)
+
+"^DD",22713,22713,.04,21,3,0)
+For example, in a chart that is 'Head circumference (HC)
+"^DD",22713,22713,.04,21,4,0)
+by Age', then the output variable would be HC (and the
+"^DD",22713,22713,.04,21,5,0)
+input variable would be age.)
+"^DD",22713,22713,.04,"DT")
+3101005
+"^DD",22713,22713,.05,0)
+OUTPUT UNITS^FJ8^^0;5^K:$L(X)>8!($L(X)<1) X
+"^DD",22713,22713,.05,3)
+Answer must be 1-8 characters in length.
+"^DD",22713,22713,.05,10)
+05
+"^DD",22713,22713,.05,21,0)
+^^4^4^3101005^^
+"^DD",22713,22713,.05,21,1,0)
+This is the units of the output variable.
+"^DD",22713,22713,.05,21,2,0)
+E.g
+"^DD",22713,22713,.05,21,3,0)
+KG for Kilograms
+"^DD",22713,22713,.05,21,4,0)
+CM for Centimeters.
+"^DD",22713,22713,.05,"DT")
+3101006
+"^DD",22713,22713,.06,0)
+AGE RANGE^FJ8^^0;6^K:$L(X)>8!($L(X)<3) X
+"^DD",22713,22713,.06,3)
+Answer must be 3-8 char. E.g. 2-20Y or 0-36M
+"^DD",22713,22713,.06,10)
+06
+"^DD",22713,22713,.06,21,0)
+^^4^4^3101005^^
+"^DD",22713,22713,.06,21,1,0)
+This is the age range of the data set.
+"^DD",22713,22713,.06,21,2,0)
+Use this format:
+"^DD",22713,22713,.06,21,3,0)
+0-36M -- birth to 36 months
+"^DD",22713,22713,.06,21,4,0)
+2-20Y -- age 2 to 20 years
+"^DD",22713,22713,.06,"DT")
+3101005
+"^DD",22713,22713,.07,0)
+REFERENCE^FJ250^^1;1^K:$L(X)>250!($L(X)<3) X
+"^DD",22713,22713,.07,3)
+Answer must be 3-250 characters in length.
+"^DD",22713,22713,.07,10)
+10
+"^DD",22713,22713,.07,21,0)
+^^2^2^3101005^^
+"^DD",22713,22713,.07,21,1,0)
+This is the reference where the raw data may be
+"^DD",22713,22713,.07,21,2,0)
+downloaded from.
+"^DD",22713,22713,.07,"DT")
+3101005
+"^DD",22713,22713,1,0)
+DATA^22713.02A^^D;0
+"^DD",22713,22713,1,"DT")
+3101005
+"^DD",22713,22713.02,0)
+DATA SUB-FIELD^^.05^5
+"^DD",22713,22713.02,0,"DT")
+3101005
+"^DD",22713,22713.02,0,"IX","B",22713.02,.01)
+
+"^DD",22713,22713.02,0,"NM","DATA")
+
+"^DD",22713,22713.02,0,"UP")
+22713
+"^DD",22713,22713.02,.01,0)
+INPUT VALUE^FJ32^^0;1^K:$L(X)>32!($L(X)<1) X
+"^DD",22713,22713.02,.01,1,0)
+^.1
+"^DD",22713,22713.02,.01,1,1,0)
+22713.02^B
+"^DD",22713,22713.02,.01,1,1,1)
+S ^TMG(22713,DA(1),"D","B",$E(X,1,30),DA)=""
+"^DD",22713,22713.02,.01,1,1,2)
+K ^TMG(22713,DA(1),"D","B",$E(X,1,30),DA)
+"^DD",22713,22713.02,.01,3)
+Answer must be 1-32 characters in length.
+"^DD",22713,22713.02,.01,21,0)
+^^1^1^3101005^^
+"^DD",22713,22713.02,.01,21,1,0)
+This is the value of the Input Variable,
+"^DD",22713,22713.02,.01,"DT")
+3101005
+"^DD",22713,22713.02,.02,0)
+GENDER^S^M:MALE;F:FEMALE;^0;2^Q
+"^DD",22713,22713.02,.02,10)
+02
+"^DD",22713,22713.02,.02,"DT")
+3101005
+"^DD",22713,22713.02,.03,0)
+L PARAM^FJ16^^0;3^K:$L(X)>16!($L(X)<1) X
+"^DD",22713,22713.02,.03,3)
+Answer must be 1-16 characters in length.
+"^DD",22713,22713.02,.03,10)
+03
+"^DD",22713,22713.02,.03,21,0)
+^^3^3^3101005^^
+"^DD",22713,22713.02,.03,21,1,0)
+This is the L parameter.
+"^DD",22713,22713.02,.03,21,2,0)
+See file description for discussion of parameter
+"^DD",22713,22713.02,.03,21,3,0)
+use.
+"^DD",22713,22713.02,.03,"DT")
+3101005
+"^DD",22713,22713.02,.04,0)
+M PARAM^FJ16^^0;4^K:$L(X)>16!($L(X)<1) X
+"^DD",22713,22713.02,.04,3)
+Answer must be 1-16 characters in length.
+"^DD",22713,22713.02,.04,10)
+04
+"^DD",22713,22713.02,.04,21,0)
+^^2^2^3101005^^
+"^DD",22713,22713.02,.04,21,1,0)
+This is the M parameter.  See file description
+"^DD",22713,22713.02,.04,21,2,0)
+for discussion of the use of the parameter.
+"^DD",22713,22713.02,.04,"DT")
+3101005
+"^DD",22713,22713.02,.05,0)
+S PARAM^FJ16^^0;5^K:$L(X)>16!($L(X)<1) X
+"^DD",22713,22713.02,.05,3)
+Answer must be 1-16 characters in length.
+"^DD",22713,22713.02,.05,10)
+05
+"^DD",22713,22713.02,.05,21,0)
+^^2^2^3101005^^
+"^DD",22713,22713.02,.05,21,1,0)
+This is the S parameter.  See file description
+"^DD",22713,22713.02,.05,21,2,0)
+for discussion of use of the parameter.
+"^DD",22713,22713.02,.05,"DT")
+3101005
+"^DIC",101.24,101.24,0)
+OE/RR REPORT^101.24
+"^DIC",101.24,101.24,0,"GL")
+^ORD(101.24,
+"^DIC",101.24,101.24,"%",0)
+^1.005^^0
+"^DIC",101.24,101.24,"%D",0)
+^1.001^7^7^3020924^^^
+"^DIC",101.24,101.24,"%D",1,0)
+This file contains definitions and parameters used in various reports
+"^DIC",101.24,101.24,"%D",2,0)
+within CPRS.
+"^DIC",101.24,101.24,"%D",3,0)
+ 
+"^DIC",101.24,101.24,"%D",4,0)
+Entry numbers >1000 are reserved for national use.  Any local entries
+"^DIC",101.24,101.24,"%D",5,0)
+should be added to a number <1000.  If this convention is not followed,
+"^DIC",101.24,101.24,"%D",6,0)
+you run the risk of having your local entries overwritten by a patch
+"^DIC",101.24,101.24,"%D",7,0)
+or future release of CPRS.
+"^DIC",101.24,"B","OE/RR REPORT",101.24)
+
+"^DIC",8925.1,8925.1,0)
+TIU DOCUMENT DEFINITION^8925.1
+"^DIC",8925.1,8925.1,0,"GL")
+^TIU(8925.1,
+"^DIC",8925.1,8925.1,"%",0)
+^1.005^2^1
+"^DIC",8925.1,8925.1,"%",2,0)
+GMTS
+"^DIC",8925.1,8925.1,"%","B","GMTS",2)
+
+"^DIC",8925.1,8925.1,"%D",0)
+^^76^76^2970604^^^
+"^DIC",8925.1,8925.1,"%D",1,0)
+This file stores Document Definitions, which identify and define behavior
+"^DIC",8925.1,8925.1,"%D",2,0)
+for documents stored in the TIU DOCUMENTS FILE (#8925).  For consistency
+"^DIC",8925.1,8925.1,"%D",3,0)
+with the V-file schema, it may be viewed as the "Attribute Dictionary" for
+"^DIC",8925.1,8925.1,"%D",4,0)
+the Text Integration Utilities.
+"^DIC",8925.1,8925.1,"%D",5,0)
+ 
+"^DIC",8925.1,8925.1,"%D",6,0)
+It also stores Objects, which can be embedded in a Document Definition's
+"^DIC",8925.1,8925.1,"%D",7,0)
+Boilerplate Text (Overprint). Objects contain M code which gets a piece of
+"^DIC",8925.1,8925.1,"%D",8,0)
+data and inserts it in the document's Boilerplate Text when a document is
+"^DIC",8925.1,8925.1,"%D",9,0)
+entered.
+"^DIC",8925.1,8925.1,"%D",10,0)
+ 
+"^DIC",8925.1,8925.1,"%D",11,0)
+Warning: objects embedded in boilerplate text are looked up by multiple
+"^DIC",8925.1,8925.1,"%D",12,0)
+index (i.e. DIC(0) contains 'M'). Current code (see routine CHECK^TIUFLF3)
+"^DIC",8925.1,8925.1,"%D",13,0)
+checks all present indexes to make sure object names, abbreviations and
+"^DIC",8925.1,8925.1,"%D",14,0)
+print names are not ambiguous for this lookup. If new indexes are added,
+"^DIC",8925.1,8925.1,"%D",15,0)
+this code MUST BE UPDATED to check the new index as well.
+"^DIC",8925.1,8925.1,"%D",16,0)
+ 
+"^DIC",8925.1,8925.1,"%D",17,0)
+Some entries in this file are developed Nationally and exported across the
+"^DIC",8925.1,8925.1,"%D",18,0)
+country.  Others are created by local sites.  Entries in the first
+"^DIC",8925.1,8925.1,"%D",19,0)
+category are marked National Standard and are not editable by sites.
+"^DIC",8925.1,8925.1,"%D",20,0)
+ 
+"^DIC",8925.1,8925.1,"%D",21,0)
+This file does NOT allow multiple entries OF THE SAME TYPE with the same
+"^DIC",8925.1,8925.1,"%D",22,0)
+name.  That is, within a given Type, there are no duplicate names. (This
+"^DIC",8925.1,8925.1,"%D",23,0)
+refers to the .01 field, the Technical name of the entry.)
+"^DIC",8925.1,8925.1,"%D",24,0)
+ 
+"^DIC",8925.1,8925.1,"%D",25,0)
+This file does not allow a parent to have items with the same name, even
+"^DIC",8925.1,8925.1,"%D",26,0)
+if the items have different internal file numbers (i.e. are different file
+"^DIC",8925.1,8925.1,"%D",27,0)
+entries).  Again, this refers to the .01 Technical name of the entry.
+"^DIC",8925.1,8925.1,"%D",28,0)
+ 
+"^DIC",8925.1,8925.1,"%D",29,0)
+Because of ownership considerations, the file does NOT allow an entry to
+"^DIC",8925.1,8925.1,"%D",30,0)
+be an item under more than 1 parent.  If the same item is desired under
+"^DIC",8925.1,8925.1,"%D",31,0)
+more than 1 parent, the item must be copied into a new entry.  There is
+"^DIC",8925.1,8925.1,"%D",32,0)
+one exception:  Document Definitions of Type Component which have been
+"^DIC",8925.1,8925.1,"%D",33,0)
+marked Shared may have more than one parent.
+"^DIC",8925.1,8925.1,"%D",34,0)
+ 
+"^DIC",8925.1,8925.1,"%D",35,0)
+The Document Definition Utility TIUF categorizes certain fields as Basic,
+"^DIC",8925.1,8925.1,"%D",36,0)
+Technical, or Upload, and displays these fields together as a group when
+"^DIC",8925.1,8925.1,"%D",37,0)
+user edits or views a Document Definition. BASIC fields include Name,
+"^DIC",8925.1,8925.1,"%D",38,0)
+Abbreviation, Print Name, Type, Personal Owner, Class Owner, Status, In
+"^DIC",8925.1,8925.1,"%D",39,0)
+Use, Shared, Orphan, Has Boiltxt, National Standard, OK to Distribute, and
+"^DIC",8925.1,8925.1,"%D",40,0)
+Suppress Visit Selection. TECHNICAL fields include Entry Action, Exit
+"^DIC",8925.1,8925.1,"%D",41,0)
+Action, Edit Template, Print Method, Print Form Header, Print Form Number,
+"^DIC",8925.1,8925.1,"%D",42,0)
+Print Group, Allow Custom Form Headers, Visit Linkage Method, Validation
+"^DIC",8925.1,8925.1,"%D",43,0)
+Method, and Object Method. UPLOAD fields include Upload Target File, Laygo
+"^DIC",8925.1,8925.1,"%D",44,0)
+Allowed, Target Text Field Subscript, Upload Look-up Method, Upload
+"^DIC",8925.1,8925.1,"%D",45,0)
+Post-Filing Code, Upload Filing Error Code, and multiples Upload Captioned
+"^DIC",8925.1,8925.1,"%D",46,0)
+ASCII Header and Upload Delimited ASCII Header.
+"^DIC",8925.1,8925.1,"%D",47,0)
+ 
+"^DIC",8925.1,8925.1,"%D",48,0)
+The Document Definition file contains extensive, detailed field
+"^DIC",8925.1,8925.1,"%D",49,0)
+descriptions. Likewise, some protocols (File 101) used in TIU have
+"^DIC",8925.1,8925.1,"%D",50,0)
+extensive and careful descriptions in the Protocol file. Many of these
+"^DIC",8925.1,8925.1,"%D",51,0)
+descriptions are used in TIU for online help. If it becomes necessary for
+"^DIC",8925.1,8925.1,"%D",52,0)
+a national programmer to edit these descriptions, the programmer should
+"^DIC",8925.1,8925.1,"%D",53,0)
+check to make sure all online help is still displayed properly.
+"^DIC",8925.1,8925.1,"%D",54,0)
+ 
+"^DIC",8925.1,8925.1,"%D",55,0)
+Users are expected to use the Document Definition Utility TIUF to enter,
+"^DIC",8925.1,8925.1,"%D",56,0)
+edit, and delete file entries.  In fact, the file prohibits the deletion
+"^DIC",8925.1,8925.1,"%D",57,0)
+of entries through generic Fileman Options.  It also prohibits the edit
+"^DIC",8925.1,8925.1,"%D",58,0)
+through generic Fileman of a few critical fields: Type, Status, Shared,
+"^DIC",8925.1,8925.1,"%D",59,0)
+and National Standard.  Adding and Deleting (but not editing) Items is
+"^DIC",8925.1,8925.1,"%D",60,0)
+also prohibited through generic Fileman options.  Abbreviation and Print
+"^DIC",8925.1,8925.1,"%D",61,0)
+Name of OBJECTS cannot be edited through generic Fileman Options.
+"^DIC",8925.1,8925.1,"%D",62,0)
+ 
+"^DIC",8925.1,8925.1,"%D",63,0)
+This does NOT imply that it is SAFE to use generic Fileman to edit other
+"^DIC",8925.1,8925.1,"%D",64,0)
+fields.  Users are cautioned that edit through generic Fileman bypasses
+"^DIC",8925.1,8925.1,"%D",65,0)
+many safeguards built in to the Document Definition Utility and can create
+"^DIC",8925.1,8925.1,"%D",66,0)
+havoc unless the user THOROUGHLY UNDERSTANDS the File and its uses.
+"^DIC",8925.1,8925.1,"%D",67,0)
+ 
+"^DIC",8925.1,8925.1,"%D",68,0)
+If users find needs which are not met through TIUF, please communicate
+"^DIC",8925.1,8925.1,"%D",69,0)
+them to the TIU development team.
+"^DIC",8925.1,8925.1,"%D",70,0)
+                           
+"^DIC",8925.1,8925.1,"%D",71,0)
+                               *****************
+"^DIC",8925.1,8925.1,"%D",72,0)
+ 
+"^DIC",8925.1,8925.1,"%D",73,0)
+WARNING: Using generic Fileman options to edit entries can cause SERIOUS
+"^DIC",8925.1,8925.1,"%D",74,0)
+database problems.
+"^DIC",8925.1,8925.1,"%D",75,0)
+ 
+"^DIC",8925.1,8925.1,"%D",76,0)
+                               ****************
+"^DIC",8925.1,"B","TIU DOCUMENT DEFINITION",8925.1)
+
+"^DIC",22713,22713,0)
+TMG GROWTH CHARTS DATA^22713
+"^DIC",22713,22713,0,"GL")
+^TMG(22713,
+"^DIC",22713,22713,"%",0)
+^1.005^^
+"^DIC",22713,22713,"%D",0)
+^^96^96^3101006^^
+"^DIC",22713,22713,"%D",1,0)
+The purpose is to store the data needed to regenerate
+"^DIC",22713,22713,"%D",2,0)
+the various growth charts used in pediatric practice.
+"^DIC",22713,22713,"%D",3,0)
+======================================================
+"^DIC",22713,22713,"%D",4,0)
+FROM: Using CDC Growth charts.
+"^DIC",22713,22713,"%D",5,0)
+Downloaded from:
+"^DIC",22713,22713,"%D",6,0)
+http://www.cdc.gov/nchs/about/major/nhanes/growthcharts/datafiles.htm
+"^DIC",22713,22713,"%D",7,0)
+on 3/28/08
+"^DIC",22713,22713,"%D",8,0)
+------------------------------------------------------
+"^DIC",22713,22713,"%D",9,0)
+
+"^DIC",22713,22713,"%D",10,0)
+These data files contain the L, M, and S parameters needed to 
+"^DIC",22713,22713,"%D",11,0)
+generate exact percentiles and z-scores.
+"^DIC",22713,22713,"%D",12,0)
+
+"^DIC",22713,22713,"%D",13,0)
+Age is listed at the end point for the entire month; 
+"^DIC",22713,22713,"%D",14,0)
+for example, 1.99 months represents 1.0-1.99 months or 1.0 
+"^DIC",22713,22713,"%D",15,0)
+month up to but not including 2.0 months of age. The only 
+"^DIC",22713,22713,"%D",16,0)
+exception is birth, which represents the point at birth.  
+"^DIC",22713,22713,"%D",17,0)
+
+"^DIC",22713,22713,"%D",18,0)
+To obtain L, M, and S values at finer age or length/stature 
+"^DIC",22713,22713,"%D",19,0)
+intervals interpolation could be used. 
+"^DIC",22713,22713,"%D",20,0)
+
+"^DIC",22713,22713,"%D",21,0)
+The LMS parameters are the median (M), the generalized 
+"^DIC",22713,22713,"%D",22,0)
+coefficient of variation (S), and the power in the Box-Cox 
+"^DIC",22713,22713,"%D",23,0)
+transformation (L).
+"^DIC",22713,22713,"%D",24,0)
+ 
+"^DIC",22713,22713,"%D",25,0)
+To obtain the value (X) of a given physical measurement at 
+"^DIC",22713,22713,"%D",26,0)
+a particular z-score or percentile, use the following equation: 
+"^DIC",22713,22713,"%D",27,0)
+
+"^DIC",22713,22713,"%D",28,0)
+X = M (1 + LSZ)**(1/L) where L <> 0 
+"^DIC",22713,22713,"%D",29,0)
+Or 
+"^DIC",22713,22713,"%D",30,0)
+X = M exp(SZ) where L = 0 
+"^DIC",22713,22713,"%D",31,0)
+
+"^DIC",22713,22713,"%D",32,0)
+where the L, M, and S are the values from the appropriate 
+"^DIC",22713,22713,"%D",33,0)
+table corresponding to the age in months of the child 
+"^DIC",22713,22713,"%D",34,0)
+(** indicates an exponent, such that M(1+LSZ)**(1/L) means 
+"^DIC",22713,22713,"%D",35,0)
+raising (1+LSZ) to the (1/L)th power and then multiplying 
+"^DIC",22713,22713,"%D",36,0)
+the M; exp(X) is the exponentiation function, e to the power X).
+"^DIC",22713,22713,"%D",37,0)
+Z is the z-score that corresponds to the percentile.  
+"^DIC",22713,22713,"%D",38,0)
+
+"^DIC",22713,22713,"%D",39,0)
+Z-scores correspond exactly to percentiles, 
+"^DIC",22713,22713,"%D",40,0)
+e.g., z-scores give the following percentiles (%tile):
+"^DIC",22713,22713,"%D",41,0)
+
+"^DIC",22713,22713,"%D",42,0)
+ -1.881 -->  3rd %tile
+"^DIC",22713,22713,"%D",43,0)
+ -1.645 -->  5th %tile
+"^DIC",22713,22713,"%D",44,0)
+ -1.282 --> 10th %tile
+"^DIC",22713,22713,"%D",45,0)
+ -0.674 --> 25th %tile
+"^DIC",22713,22713,"%D",46,0)
+  0.000 --> 50th %tile
+"^DIC",22713,22713,"%D",47,0)
+  0.674 --> 75th %tile
+"^DIC",22713,22713,"%D",48,0)
+  1.036 --> 85th %tile
+"^DIC",22713,22713,"%D",49,0)
+  1.282 --> 90th %tile
+"^DIC",22713,22713,"%D",50,0)
+  1.645 --> 95th %tile
+"^DIC",22713,22713,"%D",51,0)
+  1.881 --> 97th %tile
+"^DIC",22713,22713,"%D",52,0)
+
+"^DIC",22713,22713,"%D",53,0)
+For example, to obtain the 5th percentile of weight-for-age 
+"^DIC",22713,22713,"%D",54,0)
+for a 9-month-old male, we would look up the L, M and S values 
+"^DIC",22713,22713,"%D",55,0)
+from the WTAGEINF table, which are L=-0.1600954, M=9.476500305, 
+"^DIC",22713,22713,"%D",56,0)
+and S=0.11218624. For the 5th percentile, we would use Z=-1.645. 
+"^DIC",22713,22713,"%D",57,0)
+Using the equation above, we calculate that the 5th percentile 
+"^DIC",22713,22713,"%D",58,0)
+is 7.90 kg. 
+"^DIC",22713,22713,"%D",59,0)
+
+"^DIC",22713,22713,"%D",60,0)
+To obtain the z-score (Z) and corresponding percentile for a 
+"^DIC",22713,22713,"%D",61,0)
+given measurement (X), use the following equation: 
+"^DIC",22713,22713,"%D",62,0)
+
+"^DIC",22713,22713,"%D",63,0)
+Z = [((X/M)**L) - 1] / LS  where L <> 0
+"^DIC",22713,22713,"%D",64,0)
+or 
+"^DIC",22713,22713,"%D",65,0)
+Z = ln(X/M)/S  where L=0 
+"^DIC",22713,22713,"%D",66,0)
+
+"^DIC",22713,22713,"%D",67,0)
+where X is the physical measurement (e.g. weight, length, 
+"^DIC",22713,22713,"%D",68,0)
+head circumference, stature or calculated BMI value) and L, M 
+"^DIC",22713,22713,"%D",69,0)
+and S are the values from the appropriate table corresponding 
+"^DIC",22713,22713,"%D",70,0)
+to the age in months of the child (or length/stature).  (X/M)**L 
+"^DIC",22713,22713,"%D",71,0)
+means raising the quantity (X/M) to the Lth power. 
+"^DIC",22713,22713,"%D",72,0)
+
+"^DIC",22713,22713,"%D",73,0)
+For example, to obtain the weight-for-age z-score of a 9-month-old 
+"^DIC",22713,22713,"%D",74,0)
+male who weighs 9.7 kg, we would look up the L, M and S values 
+"^DIC",22713,22713,"%D",75,0)
+from the WTAGEINF table, which are L=-0.1600954, M=9.476500305, 
+"^DIC",22713,22713,"%D",76,0)
+and S=0.11218624. Using the equation above, we calculate that the 
+"^DIC",22713,22713,"%D",77,0)
+z-score for this child is 0.207. This z-score corresponds to the 
+"^DIC",22713,22713,"%D",78,0)
+58th percentile. 
+"^DIC",22713,22713,"%D",79,0)
+
+"^DIC",22713,22713,"%D",80,0)
+Z-scores and corresponding percentiles can be obtained from 
+"^DIC",22713,22713,"%D",81,0)
+standard normal distribution tables found in statistics text books.  
+"^DIC",22713,22713,"%D",82,0)
+Standard normal tables can also be found on the internet by doing a 
+"^DIC",22713,22713,"%D",83,0)
+search on a "standard normal table."  In addition, many computer 
+"^DIC",22713,22713,"%D",84,0)
+programs have pre-existing functions that convert Z-scores to 
+"^DIC",22713,22713,"%D",85,0)
+percentiles and vice versa.  
+"^DIC",22713,22713,"%D",86,0)
+
+"^DIC",22713,22713,"%D",87,0)
+A modified LMS approach was used to develop these growth charts, to 
+"^DIC",22713,22713,"%D",88,0)
+read more about the technique and the SAS NLIN procedure used to 
+"^DIC",22713,22713,"%D",89,0)
+generate the parameters see: 
+"^DIC",22713,22713,"%D",90,0)
+
+"^DIC",22713,22713,"%D",91,0)
+--Box GE, Cox DR. An analysis of transformations. J Roy Stat Soc, Series B. 26:211-252, 1964. 
+"^DIC",22713,22713,"%D",92,0)
+--Cole TJ. The LMS method for constructing normalized growth standards. Eur J Clin Nutr. 44: 45-60, 1990 
+"^DIC",22713,22713,"%D",93,0)
+--Cole TJ. Fitting smoothed centile curves to reference data. J Royal Stat Soc. 151:385-418, 1988 
+"^DIC",22713,22713,"%D",94,0)
+--Kuczmarski RJ, Ogden CL, Guo, SS, et al. CDC growth charts for the United States: Methods and Development. Vital Health Stat; 11 (246) National Center for Health Statistics. 2002. 
+"^DIC",22713,22713,"%D",95,0)
+--SAS. SAS user's guide: statistics. Cary, NC: SAS Institute. 1988. 
+"^DIC",22713,22713,"%D",96,0)
+  
+"^DIC",22713,"B","TMG GROWTH CHARTS DATA",22713)
+
+**END**
+**END**
Index: /PGC/tags/TMG-PGC/TMG-1.0-17.TXT
===================================================================
--- /PGC/tags/TMG-PGC/TMG-1.0-17.TXT	(revision 1505)
+++ /PGC/tags/TMG-PGC/TMG-1.0-17.TXT	(revision 1505)
@@ -0,0 +1,159 @@
+$TXT Created by TOPPENBERG,KEVIN at FAMILY PHYSICANS OF GREENEVILLE (KIDS) on 11/22/10
+=============================================================================
+Run Date: 11/22/10		     Designation: TMG*1.0*17
+Package : TMG - FAMILY PHYSICANS OF GREENEVILLE  Priority: ROUTINE
+Version : 1       SEQ #17                       Status: Released
+=============================================================================
+
+Associated patches: None
+
+Subject:  1. Adds pediatric growth charts into an unmodified CPRS (as well as TMG-CPRS)
+	  2. Provides Text Objects to access percentiles for pediatric height, weight,
+               head circumference, and BMI
+
+Category:  New features in CPRS (all work in unmodified CPRS)
+
+Note: This is a replacement for TMG Kids patch Version 1.0  Seq 16. This includes an update of the
+      javascript library to version 2.3 and corrects a few bugs that existed in Seq 16 (e.g. Labels 
+      for tic marks on graphs and proper plotting of points).
+
+Description:
+============
+
+  1. PEDIATRIC GROWTH CHARTS:
+	After installation of this patch, graphic pediatric growth charts will be added as a 
+	report on the REPORTS tab in CPRS.  (This does NOT require TMG-CPRS to work.) It 
+	makes use of VA standard HTML type reports.  The internal text of the report includes
+	javascript code that graphs out pediatric patient data.  
+	NOTES:
+	-- For pediatric patients, both HEIGHT and LENGTH must be stored in the
+	   HEIGHT field.  For the purpose of these graphs, it has been assumed that for
+	   age < 2 yrs, that  "HEIGHT" is actually a length. (HEIGHT is a standing stature,
+	   while LENGTH is measured with patient laying flat on table.)
+	-- Head circumference measurements must be stored as a CIRC/GIRTH type vital.
+	-- To print out graphs, right click on the graph and select PRINT from the context
+	   menu.
+	-- We have paid the $99 license fee to the author of the javascript library, and
+	   the author (Josh Gebelein) has assured me that this covers all users of our 
+	   open source release.
+	-- We have tried to create installer code that inserts our growth charts report
+	   in a manner that does not disrupt other reports.  However, if a site has a 
+	   unforseen setup, then a CAC may have to edit this manually:
+		1. Navigate to Fileman menu option XPAR EDIT PARAMETER
+		2. Choose: ORWRP REPORT LIST
+		3. Move the entry for TMG GROWTH CHARTS to the appropriate section
+			for your site.
+
+  2. TEXT OBJECTS TO INCLUDE PERCENTILES
+	Text objects are smart objects that can be dropped into templates in CPRS.
+	When used, they contact the server and return appropriate information.  E.g.
+	|PHONE NUMBER| would return the patient's telephone number.
+
+	The following text objects have been created. They will include a percentile
+	for the measurements (the same percentile that would show up in a growth chart)
+
+        TMG PATIENT BMI                                                         
+        TMG PATIENT HC                                                          
+        TMG PATIENT WT  
+        TMG PATIENT HT   
+
+	E.g.  |TMG PATIENT HT|  resulted in this output 
+	(07/12/2010 @ 10.5 yr) Ht 53 in [134.6 cm], 13rd %tile
+	The date is only added when the vital measurement date is different from the 
+	note date.
+
+
+
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+  INSTALLATION INSTRUCTIONS:
+  ==========================
+  Users should be logged off the system.  
+  Note: the follow instructions were copied from another KIDS install and modified.  
+  There may be some discrepancies.
+
+  The following are instructions for those using the Packman method:
+  ------------------------------------------------------------------
+  1.  Use the INSTALL/CHECK MESSAGE option on the PackMan menu.
+
+  2.  Review your mapped set.  If any of the routines listed in the
+      ROUTINE SUMMARY section are mapped, they should be removed
+      from the mapped set at this time.
+
+  3.  From the Kernel Installation and Distribution System Menu, select
+      the Installation menu.
+
+  4.  From this menu, you may elect to use the following options
+      (when prompted for INSTALL NAME, enter TMG1-1.0-17:
+          a.  Backup a Transport Global
+          b.  Compare Transport Global to Current System
+          c.  Verify Checksums in Transport Global
+
+  5.  Use the Install Package(s) option and select the package TMG1-1.0-17
+
+  6.  When prompted 'Want KIDS to INHIBIT LOGONs during the install? YES//'
+      respond NO.
+
+  7.  When prompted 'Want to DISABLE Scheduled Options, Menu Options, and
+      Protocols? YES//', respond NO.
+
+  8.  If routines were unmapped as part of step 2, they should be returned
+      to the mapped set once the installation has run to completion.
+
+  9.  (See step 9 below)
+
+  The following are instructions for those loading the patch via Host File System:
+  ---------------------------------------------------------------------------------
+  1.  Navigate the menu option path to reach the Kernel Installation and Distribution
+      System Menu.  Or, the menu option XPD MAIN may be entered directly.
+
+  2.  Next, at the menu displaying:
+          Edits and Distribution ...
+          Utilities ...
+          Installation ...     <---------- pick this one.
+
+  3.  Next, at the menu displaying the options as below, choose each of the options
+      in a step-by-step fashion, in numerical order (i.e. 1, 2, 3 etc.)  Step #1 will
+      prompt the user to enter the file path on the host file system where the source
+      file is stored.  The filename to enter is TMG1-1.0-16.KIDS, but add the
+      appropriate path.  E.g. /tmp/TMG1-1.0-16.KIDS
+
+       1      Load a Distribution
+       2      Verify Checksums in Transport Global
+       3      Print Transport Global
+       4      Compare Transport Global to Current System
+       5      Backup a Transport Global
+       6      Install Package(s)
+              Restart Install of Package(s)
+              Unload a Distribution
+
+  4.  From this menu, you may elect to use the following options
+      (when prompted for INSTALL NAME, enter TMG*1.0*16
+          a.  Backup a Transport Global
+          b.  Compare Transport Global to Current System
+          c.  Verify Checksums in Transport Global
+
+  5.  Use the Install Package(s) option and select the package TMG*1.0*16
+
+  6.  When prompted 'Want KIDS to INHIBIT LOGONs during the install? YES//'
+      respond NO.
+
+  7.  When prompted 'Want to DISABLE Scheduled Options, Menu Options, and
+      Protocols? YES//', respond NO.
+
+  8.  If routines were unmapped as part of step 2, they should be returned
+      to the mapped set once the installation has run to completion.
+
+
+=============================================================================
+User Information:
+Entered By  : TOPPENBERG,KEVIN            Date Entered : 11/22/10
+Completed By: TOPPENBERG,KEVIN            Date Completed: 11/22/10
+Released By : TOPPENBERG,KEVIN            Date Released : 11/22/10
+=============================================================================
+
+Packman Mail Message:
+=====================
+
+$END TXT
