KIDS Distribution saved on Mar 31, 2010@18:16:06 TMG1*1.0*5 **KIDS**:TMG1*1.0*5^ **INSTALL NAME** TMG1*1.0*5 "BLD",7630,0) TMG1*1.0*5^^0^3100331^n "BLD",7630,1,0) ^^3^3^3100331^^ "BLD",7630,1,1,0) This patch provides server code for imaging "BLD",7630,1,2,0) functionality in TMG-CPRS. I provides RPC calls "BLD",7630,1,3,0) for uploading and downloading images from CPRS. "BLD",7630,4,0) ^9.64PA^^ "BLD",7630,6.3) 2 "BLD",7630,"KRN",0) ^9.67PA^8989.52^19 "BLD",7630,"KRN",.4,0) .4 "BLD",7630,"KRN",.401,0) .401 "BLD",7630,"KRN",.402,0) .402 "BLD",7630,"KRN",.403,0) .403 "BLD",7630,"KRN",.5,0) .5 "BLD",7630,"KRN",.84,0) .84 "BLD",7630,"KRN",3.6,0) 3.6 "BLD",7630,"KRN",3.8,0) 3.8 "BLD",7630,"KRN",9.2,0) 9.2 "BLD",7630,"KRN",9.8,0) 9.8 "BLD",7630,"KRN",9.8,"NM",0) ^9.68A^2^2 "BLD",7630,"KRN",9.8,"NM",1,0) TMGRPC1^^0^B224963 "BLD",7630,"KRN",9.8,"NM",2,0) TMGRPC1A^^0^B23521637 "BLD",7630,"KRN",9.8,"NM","B","TMGRPC1",1) "BLD",7630,"KRN",9.8,"NM","B","TMGRPC1A",2) "BLD",7630,"KRN",19,0) 19 "BLD",7630,"KRN",19,"NM",0) ^9.68A^1^1 "BLD",7630,"KRN",19,"NM",1,0) OR CPRS GUI CHART^^0 "BLD",7630,"KRN",19,"NM","B","OR CPRS GUI CHART",1) "BLD",7630,"KRN",19.1,0) 19.1 "BLD",7630,"KRN",101,0) 101 "BLD",7630,"KRN",409.61,0) 409.61 "BLD",7630,"KRN",771,0) 771 "BLD",7630,"KRN",870,0) 870 "BLD",7630,"KRN",8989.51,0) 8989.51 "BLD",7630,"KRN",8989.52,0) 8989.52 "BLD",7630,"KRN",8994,0) 8994 "BLD",7630,"KRN",8994,"NM",0) ^9.68A^16^16 "BLD",7630,"KRN",8994,"NM",1,0) TMG ADD PATIENT^^0 "BLD",7630,"KRN",8994,"NM",2,0) TMG AUTOSIGN TIU DOCUMENT^^0 "BLD",7630,"KRN",8994,"NM",3,0) TMG BARCODE DECODE^^0 "BLD",7630,"KRN",8994,"NM",4,0) TMG BARCODE ENCODE^^0 "BLD",7630,"KRN",8994,"NM",5,0) TMG CPRS GET URL LIST^^0 "BLD",7630,"KRN",8994,"NM",6,0) TMG DOWNLOAD FILE^^0 "BLD",7630,"KRN",8994,"NM",7,0) TMG DOWNLOAD FILE DROPBOX^^0 "BLD",7630,"KRN",8994,"NM",8,0) TMG GET BLANK TIU DOCUMENT^^0 "BLD",7630,"KRN",8994,"NM",9,0) TMG GET DFN^^0 "BLD",7630,"KRN",8994,"NM",10,0) TMG GET IMAGE LONG DESCRIPTION^^0 "BLD",7630,"KRN",8994,"NM",11,0) TMG GET PATIENT DEMOGRAPHICS^^0 "BLD",7630,"KRN",8994,"NM",12,0) TMG INIFILE GET^^0 "BLD",7630,"KRN",8994,"NM",13,0) TMG INIFILE SET^^0 "BLD",7630,"KRN",8994,"NM",14,0) TMG SET PATIENT DEMOGRAPHICS^^0 "BLD",7630,"KRN",8994,"NM",15,0) TMG UPLOAD FILE^^0 "BLD",7630,"KRN",8994,"NM",16,0) TMG UPLOAD FILE DROPBOX^^0 "BLD",7630,"KRN",8994,"NM","B","TMG ADD PATIENT",1) "BLD",7630,"KRN",8994,"NM","B","TMG AUTOSIGN TIU DOCUMENT",2) "BLD",7630,"KRN",8994,"NM","B","TMG BARCODE DECODE",3) "BLD",7630,"KRN",8994,"NM","B","TMG BARCODE ENCODE",4) "BLD",7630,"KRN",8994,"NM","B","TMG CPRS GET URL LIST",5) "BLD",7630,"KRN",8994,"NM","B","TMG DOWNLOAD FILE",6) "BLD",7630,"KRN",8994,"NM","B","TMG DOWNLOAD FILE DROPBOX",7) "BLD",7630,"KRN",8994,"NM","B","TMG GET BLANK TIU DOCUMENT",8) "BLD",7630,"KRN",8994,"NM","B","TMG GET DFN",9) "BLD",7630,"KRN",8994,"NM","B","TMG GET IMAGE LONG DESCRIPTION",10) "BLD",7630,"KRN",8994,"NM","B","TMG GET PATIENT DEMOGRAPHICS",11) "BLD",7630,"KRN",8994,"NM","B","TMG INIFILE GET",12) "BLD",7630,"KRN",8994,"NM","B","TMG INIFILE SET",13) "BLD",7630,"KRN",8994,"NM","B","TMG SET PATIENT DEMOGRAPHICS",14) "BLD",7630,"KRN",8994,"NM","B","TMG UPLOAD FILE",15) "BLD",7630,"KRN",8994,"NM","B","TMG UPLOAD FILE DROPBOX",16) "BLD",7630,"KRN","B",.4,.4) "BLD",7630,"KRN","B",.401,.401) "BLD",7630,"KRN","B",.402,.402) "BLD",7630,"KRN","B",.403,.403) "BLD",7630,"KRN","B",.5,.5) "BLD",7630,"KRN","B",.84,.84) "BLD",7630,"KRN","B",3.6,3.6) "BLD",7630,"KRN","B",3.8,3.8) "BLD",7630,"KRN","B",9.2,9.2) "BLD",7630,"KRN","B",9.8,9.8) "BLD",7630,"KRN","B",19,19) "BLD",7630,"KRN","B",19.1,19.1) "BLD",7630,"KRN","B",101,101) "BLD",7630,"KRN","B",409.61,409.61) "BLD",7630,"KRN","B",771,771) "BLD",7630,"KRN","B",870,870) "BLD",7630,"KRN","B",8989.51,8989.51) "BLD",7630,"KRN","B",8989.52,8989.52) "BLD",7630,"KRN","B",8994,8994) "BLD",7630,"PRET") "KRN",19,8552,-1) 0^1 "KRN",19,8552,0) OR CPRS GUI CHART^CPRSChart version 1.0.26.69^^B^^^^^^^^ "KRN",19,8552,1,0) ^19.06^2^2^3100324^^^^ "KRN",19,8552,1,1,0) This option is required by the Kernel Broker to give access to the "KRN",19,8552,1,2,0) RPCs used by the CPRS GUI (CPRSChart.EXE). "KRN",19,8552,3) "KRN",19,8552,20) "KRN",19,8552,99.1) 60722,37566 "KRN",19,8552,"RPC",0) ^19.05P^2071^2071 "KRN",19,8552,"RPC",1,0) GMRC LIST CONSULT REQUESTS "KRN",19,8552,"RPC",218,0) XWB GET VARIABLE VALUE "KRN",19,8552,"RPC",219,0) TIU AUTHORIZATION "KRN",19,8552,"RPC",220,0) TIU CAN CHANGE COSIGNER? "KRN",19,8552,"RPC",221,0) TIU CREATE ADDENDUM RECORD "KRN",19,8552,"RPC",222,0) TIU CREATE RECORD "KRN",19,8552,"RPC",223,0) TIU DELETE RECORD "KRN",19,8552,"RPC",224,0) TIU DETAILED DISPLAY "KRN",19,8552,"RPC",225,0) TIU DOCUMENTS BY CONTEXT "KRN",19,8552,"RPC",226,0) TIU GET ADDITIONAL SIGNERS "KRN",19,8552,"RPC",227,0) TIU GET ALERT INFO "KRN",19,8552,"RPC",228,0) TIU GET DOCUMENT PARAMETERS "KRN",19,8552,"RPC",229,0) TIU GET DS TITLES "KRN",19,8552,"RPC",230,0) TIU GET DS URGENCIES "KRN",19,8552,"RPC",231,0) TIU GET PERSONAL PREFERENCES "KRN",19,8552,"RPC",232,0) TIU GET PN TITLES "KRN",19,8552,"RPC",233,0) TIU GET RECORD TEXT "KRN",19,8552,"RPC",234,0) TIU IDENTIFY CONSULTS CLASS "KRN",19,8552,"RPC",235,0) TIU IS THIS A CONSULT? "KRN",19,8552,"RPC",236,0) TIU JUSTIFY DELETE? "KRN",19,8552,"RPC",237,0) TIU LOAD BOILERPLATE TEXT "KRN",19,8552,"RPC",238,0) TIU LOAD RECORD FOR EDIT "KRN",19,8552,"RPC",239,0) TIU LOCK RECORD "KRN",19,8552,"RPC",240,0) TIU LONG LIST CONSULT TITLES "KRN",19,8552,"RPC",241,0) TIU LONG LIST OF TITLES "KRN",19,8552,"RPC",242,0) TIU NOTES "KRN",19,8552,"RPC",243,0) TIU NOTES 16 BIT "KRN",19,8552,"RPC",244,0) TIU NOTES BY VISIT "KRN",19,8552,"RPC",245,0) TIU PERSONAL TITLE LIST "KRN",19,8552,"RPC",246,0) TIU PRINT RECORD "KRN",19,8552,"RPC",247,0) TIU REQUIRES COSIGNATURE "KRN",19,8552,"RPC",248,0) TIU SIGN RECORD "KRN",19,8552,"RPC",249,0) TIU SUMMARIES "KRN",19,8552,"RPC",250,0) TIU SUMMARIES BY VISIT "KRN",19,8552,"RPC",251,0) TIU UNLOCK RECORD "KRN",19,8552,"RPC",252,0) TIU UPDATE ADDITIONAL SIGNERS "KRN",19,8552,"RPC",253,0) TIU UPDATE RECORD "KRN",19,8552,"RPC",254,0) TIU WHICH SIGNATURE ACTION "KRN",19,8552,"RPC",1032,0) ORB DELETE ALERT "KRN",19,8552,"RPC",1033,0) ORB FOLLOW-UP ARRAY "KRN",19,8552,"RPC",1034,0) ORB FOLLOW-UP STRING "KRN",19,8552,"RPC",1035,0) ORB FOLLOW-UP TYPE "KRN",19,8552,"RPC",1036,0) ORB SORT METHOD "KRN",19,8552,"RPC",1037,0) ORK TRIGGER "KRN",19,8552,"RPC",1038,0) ORQ NULL LIST "KRN",19,8552,"RPC",1039,0) ORQOR DETAIL "KRN",19,8552,"RPC",1040,0) TIU TEMPLATE CHECK BOILERPLATE "KRN",19,8552,"RPC",1041,0) TIU TEMPLATE CREATE/MODIFY "KRN",19,8552,"RPC",1042,0) TIU TEMPLATE DELETE "KRN",19,8552,"RPC",1045,0) TIU TEMPLATE GETPROOT "KRN",19,8552,"RPC",1049,0) TIU TEMPLATE LISTOWNR "KRN",19,8552,"RPC",1050,0) TIU TEMPLATE SET ITEMS "KRN",19,8552,"RPC",1051,0) TIU GET LIST OF OBJECTS "KRN",19,8552,"RPC",1052,0) ORQOR LIST "KRN",19,8552,"RPC",1053,0) ORQORB SORT "KRN",19,8552,"RPC",1054,0) ORQPT ATTENDING/PRIMARY "KRN",19,8552,"RPC",1055,0) ORQPT CLINIC PATIENTS "KRN",19,8552,"RPC",1056,0) ORQPT CLINICS "KRN",19,8552,"RPC",1057,0) ORQPT DEFAULT LIST SOURCE "KRN",19,8552,"RPC",1058,0) ORQPT DEFAULT PATIENT LIST "KRN",19,8552,"RPC",1059,0) ORQPT PATIENT TEAM PROVIDERS "KRN",19,8552,"RPC",1060,0) ORQPT PROVIDER PATIENTS "KRN",19,8552,"RPC",1061,0) ORQPT PROVIDERS "KRN",19,8552,"RPC",1062,0) ORQPT SPECIALTIES "KRN",19,8552,"RPC",1063,0) ORQPT SPECIALTY PATIENTS "KRN",19,8552,"RPC",1064,0) ORQPT TEAM PATIENTS "KRN",19,8552,"RPC",1065,0) ORQPT TEAMS "KRN",19,8552,"RPC",1066,0) ORQPT WARD PATIENTS "KRN",19,8552,"RPC",1067,0) ORQPT WARDRMBED "KRN",19,8552,"RPC",1068,0) ORQPT WARDS "KRN",19,8552,"RPC",1069,0) ORQQAL DETAIL "KRN",19,8552,"RPC",1070,0) ORQQAL LIST "KRN",19,8552,"RPC",1071,0) ORQQAL LIST REPORT "KRN",19,8552,"RPC",1072,0) ORQQCN ADDCMT "KRN",19,8552,"RPC",1073,0) ORQQCN ADMIN COMPLETE "KRN",19,8552,"RPC",1074,0) ORQQCN DETAIL "KRN",19,8552,"RPC",1075,0) ORQQCN DISCONTINUE "KRN",19,8552,"RPC",1076,0) ORQQCN FIND CONSULT "KRN",19,8552,"RPC",1077,0) ORQQCN FORWARD "KRN",19,8552,"RPC",1078,0) ORQQCN GET CONSULT "KRN",19,8552,"RPC",1079,0) ORQQCN GET ORDER NUMBER "KRN",19,8552,"RPC",1080,0) ORQQCN GET PROC SVCS "KRN",19,8552,"RPC",1081,0) ORQQCN LIST "KRN",19,8552,"RPC",1082,0) ORQQCN LOAD FOR EDIT "KRN",19,8552,"RPC",1083,0) ORQQCN MED RESULTS "KRN",19,8552,"RPC",1084,0) ORQQCN PRINT SF513 "KRN",19,8552,"RPC",1085,0) ORQQCN RECEIVE "KRN",19,8552,"RPC",1086,0) ORQQCN RESUBMIT "KRN",19,8552,"RPC",1087,0) ORQQCN SET ACT MENUS "KRN",19,8552,"RPC",1088,0) ORQQCN SHOW SF513 "KRN",19,8552,"RPC",1089,0) ORQQCN SIGFIND "KRN",19,8552,"RPC",1090,0) ORQQCN STATUS "KRN",19,8552,"RPC",1091,0) ORQQCN SVCLIST "KRN",19,8552,"RPC",1092,0) ORQQCN SVCTREE "KRN",19,8552,"RPC",1093,0) ORQQCN URGENCIES "KRN",19,8552,"RPC",1094,0) ORQQCN2 GET CONTEXT "KRN",19,8552,"RPC",1095,0) ORQQCN2 SAVE CONTEXT "KRN",19,8552,"RPC",1096,0) ORQQLR DETAIL "KRN",19,8552,"RPC",1097,0) ORQQLR SEARCH RANGE INPT "KRN",19,8552,"RPC",1098,0) ORQQLR SEARCH RANGE OUTPT "KRN",19,8552,"RPC",1099,0) ORQQPL ADD SAVE "KRN",19,8552,"RPC",1100,0) ORQQPL AUDIT HIST "KRN",19,8552,"RPC",1101,0) ORQQPL CHECK DUP "KRN",19,8552,"RPC",1102,0) ORQQPL CLIN FILTER LIST "KRN",19,8552,"RPC",1103,0) ORQQPL CLIN SRCH "KRN",19,8552,"RPC",1104,0) ORQQPL DELETE "KRN",19,8552,"RPC",1105,0) ORQQPL DETAIL "KRN",19,8552,"RPC",1106,0) ORQQPL EDIT LOAD "KRN",19,8552,"RPC",1107,0) ORQQPL EDIT SAVE "KRN",19,8552,"RPC",1108,0) ORQQPL INACTIVATE "KRN",19,8552,"RPC",1109,0) ORQQPL INIT PT "KRN",19,8552,"RPC",1110,0) ORQQPL INIT USER "KRN",19,8552,"RPC",1111,0) ORQQPL LIST "KRN",19,8552,"RPC",1112,0) ORQQPL PROB COMMENTS "KRN",19,8552,"RPC",1113,0) ORQQPL PROBLEM LEX SEARCH "KRN",19,8552,"RPC",1114,0) ORQQPL PROBLEM LIST "KRN",19,8552,"RPC",1115,0) ORQQPL PROV FILTER LIST "KRN",19,8552,"RPC",1116,0) ORQQPL PROVIDER LIST "KRN",19,8552,"RPC",1117,0) ORQQPL REPLACE "KRN",19,8552,"RPC",1118,0) ORQQPL SAVEVIEW "KRN",19,8552,"RPC",1119,0) ORQQPL SERV FILTER LIST "KRN",19,8552,"RPC",1120,0) ORQQPL SRVC SRCH "KRN",19,8552,"RPC",1121,0) ORQQPL UPDATE "KRN",19,8552,"RPC",1122,0) ORQQPL USER PROB CATS "KRN",19,8552,"RPC",1123,0) ORQQPL USER PROB LIST "KRN",19,8552,"RPC",1124,0) ORQQPL VERIFY "KRN",19,8552,"RPC",1125,0) ORQQPP LIST "KRN",19,8552,"RPC",1126,0) ORQQPS DETAIL "KRN",19,8552,"RPC",1127,0) ORQQPS LIST "KRN",19,8552,"RPC",1133,0) ORQQPX REMINDER DETAIL "KRN",19,8552,"RPC",1135,0) ORQQPX REMINDERS LIST "KRN",19,8552,"RPC",1136,0) ORQQVI NOTEVIT "KRN",19,8552,"RPC",1137,0) ORQQVI VITALS "KRN",19,8552,"RPC",1138,0) ORQQVI VITALS FOR DATE RANGE "KRN",19,8552,"RPC",1139,0) ORQQVI1 DETAIL "KRN",19,8552,"RPC",1140,0) ORQQVI1 GRID "KRN",19,8552,"RPC",1141,0) ORQQVI2 VITALS HELP "KRN",19,8552,"RPC",1142,0) ORQQVI2 VITALS RATE CHECK "KRN",19,8552,"RPC",1144,0) ORQQVI2 VITALS VAL & STORE "KRN",19,8552,"RPC",1145,0) ORQQVI2 VITALS VALIDATE "KRN",19,8552,"RPC",1146,0) ORQQVI2 VITALS VALIDATE TYPE "KRN",19,8552,"RPC",1147,0) ORQQVS DETAIL NOTES "KRN",19,8552,"RPC",1148,0) ORQQVS DETAIL SUMMARY "KRN",19,8552,"RPC",1149,0) ORQQVS VISITS/APPTS "KRN",19,8552,"RPC",1150,0) ORQQXMB MAIL GROUPS "KRN",19,8552,"RPC",1151,0) ORQQXQA PATIENT "KRN",19,8552,"RPC",1152,0) ORQQXQA USER "KRN",19,8552,"RPC",1153,0) ORWCH LOADALL "KRN",19,8552,"RPC",1154,0) ORWCH LOADSIZ "KRN",19,8552,"RPC",1155,0) ORWCH SAVEALL "KRN",19,8552,"RPC",1156,0) ORWCH SAVESIZ "KRN",19,8552,"RPC",1157,0) ORWCS LIST OF CONSULT REPORTS "KRN",19,8552,"RPC",1158,0) ORWCS PRINT REPORT "KRN",19,8552,"RPC",1159,0) ORWCS REPORT TEXT "KRN",19,8552,"RPC",1160,0) ORWCV DTLVST "KRN",19,8552,"RPC",1161,0) ORWCV LAB "KRN",19,8552,"RPC",1162,0) ORWCV POLL "KRN",19,8552,"RPC",1163,0) ORWCV START "KRN",19,8552,"RPC",1164,0) ORWCV STOP "KRN",19,8552,"RPC",1165,0) ORWCV VST "KRN",19,8552,"RPC",1166,0) ORWD DEF "KRN",19,8552,"RPC",1167,0) ORWD DT "KRN",19,8552,"RPC",1168,0) ORWD FORMID "KRN",19,8552,"RPC",1169,0) ORWD GET4EDIT "KRN",19,8552,"RPC",1170,0) ORWD KEY "KRN",19,8552,"RPC",1171,0) ORWD OI "KRN",19,8552,"RPC",1172,0) ORWD PROVKEY "KRN",19,8552,"RPC",1173,0) ORWD SAVE "KRN",19,8552,"RPC",1174,0) ORWD SAVEACT "KRN",19,8552,"RPC",1175,0) ORWD SIGN "KRN",19,8552,"RPC",1176,0) ORWD VALIDACT "KRN",19,8552,"RPC",1177,0) ORWD1 PARAM "KRN",19,8552,"RPC",1178,0) ORWD1 PRINTGUI "KRN",19,8552,"RPC",1179,0) ORWD1 RVPRINT "KRN",19,8552,"RPC",1180,0) ORWD2 DEVINFO "KRN",19,8552,"RPC",1181,0) ORWD2 MANUAL "KRN",19,8552,"RPC",1182,0) ORWDAL32 ALLERGY MATCH "KRN",19,8552,"RPC",1183,0) ORWDAL32 DEF "KRN",19,8552,"RPC",1184,0) ORWDAL32 SYMPTOMS "KRN",19,8552,"RPC",1185,0) ORWDCN32 DEF "KRN",19,8552,"RPC",1186,0) ORWDCN32 ORDRMSG "KRN",19,8552,"RPC",1187,0) ORWDCN32 PROCEDURES "KRN",19,8552,"RPC",1188,0) ORWDCSLT DEF "KRN",19,8552,"RPC",1189,0) ORWDCSLT LOOK200 "KRN",19,8552,"RPC",1190,0) ORWDFH ADDLATE "KRN",19,8552,"RPC",1191,0) ORWDFH ATTR "KRN",19,8552,"RPC",1192,0) ORWDFH CURISO "KRN",19,8552,"RPC",1193,0) ORWDFH DIETS "KRN",19,8552,"RPC",1194,0) ORWDFH FINDTYP "KRN",19,8552,"RPC",1195,0) ORWDFH ISOIEN "KRN",19,8552,"RPC",1196,0) ORWDFH ISOLIST "KRN",19,8552,"RPC",1197,0) ORWDFH PARAM "KRN",19,8552,"RPC",1198,0) ORWDFH QTY2CC "KRN",19,8552,"RPC",1199,0) ORWDFH TFPROD "KRN",19,8552,"RPC",1200,0) ORWDFH TXT "KRN",19,8552,"RPC",1201,0) ORWDGX LOAD "KRN",19,8552,"RPC",1202,0) ORWDGX VMDEF "KRN",19,8552,"RPC",1203,0) ORWDLR ABBSPEC "KRN",19,8552,"RPC",1204,0) ORWDLR ALLSAMP "KRN",19,8552,"RPC",1205,0) ORWDLR DEF "KRN",19,8552,"RPC",1206,0) ORWDLR LOAD "KRN",19,8552,"RPC",1207,0) ORWDLR OIPARAM "KRN",19,8552,"RPC",1208,0) ORWDLR STOP "KRN",19,8552,"RPC",1209,0) ORWDLR32 ABBSPEC "KRN",19,8552,"RPC",1210,0) ORWDLR32 ALLSAMP "KRN",19,8552,"RPC",1211,0) ORWDLR32 ALLSPEC "KRN",19,8552,"RPC",1212,0) ORWDLR32 DEF "KRN",19,8552,"RPC",1213,0) ORWDLR32 IC DEFAULT "KRN",19,8552,"RPC",1214,0) ORWDLR32 IC VALID "KRN",19,8552,"RPC",1215,0) ORWDLR32 IMMED COLLECT "KRN",19,8552,"RPC",1216,0) ORWDLR32 LAB COLL TIME "KRN",19,8552,"RPC",1217,0) ORWDLR32 LOAD "KRN",19,8552,"RPC",1218,0) ORWDLR32 MAXDAYS "KRN",19,8552,"RPC",1219,0) ORWDLR32 ONE SAMPLE "KRN",19,8552,"RPC",1220,0) ORWDLR32 ONE SPECIMEN "KRN",19,8552,"RPC",1221,0) ORWDLR32 STOP "KRN",19,8552,"RPC",1222,0) ORWDOR VMSLCT "KRN",19,8552,"RPC",1227,0) ORWDPS32 ALLROUTE "KRN",19,8552,"RPC",1228,0) ORWDPS32 AUTH "KRN",19,8552,"RPC",1229,0) ORWDPS32 DLGSLCT "KRN",19,8552,"RPC",1230,0) ORWDPS32 DOSES "KRN",19,8552,"RPC",1231,0) ORWDPS32 DRUGMSG "KRN",19,8552,"RPC",1232,0) ORWDPS32 FORMALT "KRN",19,8552,"RPC",1233,0) ORWDPS32 ISSPLY "KRN",19,8552,"RPC",1234,0) ORWDPS32 IVAMT "KRN",19,8552,"RPC",1235,0) ORWDPS32 MEDISIV "KRN",19,8552,"RPC",1236,0) ORWDPS32 OISLCT "KRN",19,8552,"RPC",1237,0) ORWDPS32 SCSTS "KRN",19,8552,"RPC",1238,0) ORWDPS32 VALQTY "KRN",19,8552,"RPC",1239,0) ORWDPS32 VALRATE "KRN",19,8552,"RPC",1240,0) ORWDPS32 VALSCH "KRN",19,8552,"RPC",1241,0) ORWDRA DEF "KRN",19,8552,"RPC",1242,0) ORWDRA32 APPROVAL "KRN",19,8552,"RPC",1243,0) ORWDRA32 DEF "KRN",19,8552,"RPC",1244,0) ORWDRA32 IMTYPSEL "KRN",19,8552,"RPC",1245,0) ORWDRA32 ISOLATN "KRN",19,8552,"RPC",1246,0) ORWDRA32 LOCTYPE "KRN",19,8552,"RPC",1247,0) ORWDRA32 PROCMSG "KRN",19,8552,"RPC",1248,0) ORWDRA32 RADSRC "KRN",19,8552,"RPC",1249,0) ORWDRA32 RAORDITM "KRN",19,8552,"RPC",1250,0) ORWDX AGAIN "KRN",19,8552,"RPC",1251,0) ORWDX DGRP "KRN",19,8552,"RPC",1252,0) ORWDX DISMSG "KRN",19,8552,"RPC",1253,0) ORWDX DLGDEF "KRN",19,8552,"RPC",1254,0) ORWDX DLGID "KRN",19,8552,"RPC",1255,0) ORWDX DLGQUIK "KRN",19,8552,"RPC",1256,0) ORWDX FORMID "KRN",19,8552,"RPC",1257,0) ORWDX LOADRSP "KRN",19,8552,"RPC",1258,0) ORWDX LOCK "KRN",19,8552,"RPC",1259,0) ORWDX MSG "KRN",19,8552,"RPC",1260,0) ORWDX ORDITM "KRN",19,8552,"RPC",1261,0) ORWDX SAVE "KRN",19,8552,"RPC",1262,0) ORWDX SEND "KRN",19,8552,"RPC",1263,0) ORWDX SENDP "KRN",19,8552,"RPC",1264,0) ORWDX UNLOCK "KRN",19,8552,"RPC",1265,0) ORWDX WRLST "KRN",19,8552,"RPC",1266,0) ORWDXA ALERT "KRN",19,8552,"RPC",1267,0) ORWDXA COMPLETE "KRN",19,8552,"RPC",1268,0) ORWDXA DC "KRN",19,8552,"RPC",1269,0) ORWDXA DCREASON "KRN",19,8552,"RPC",1270,0) ORWDXA DCREQIEN "KRN",19,8552,"RPC",1271,0) ORWDXA FLAG "KRN",19,8552,"RPC",1272,0) ORWDXA FLAGTXT "KRN",19,8552,"RPC",1273,0) ORWDXA HOLD "KRN",19,8552,"RPC",1274,0) ORWDXA UNFLAG "KRN",19,8552,"RPC",1275,0) ORWDXA UNHOLD "KRN",19,8552,"RPC",1276,0) ORWDXA VALID "KRN",19,8552,"RPC",1277,0) ORWDXA VERIFY "KRN",19,8552,"RPC",1278,0) ORWDXA WCGET "KRN",19,8552,"RPC",1279,0) ORWDXA WCPUT "KRN",19,8552,"RPC",1280,0) ORWDXC ACCEPT "KRN",19,8552,"RPC",1281,0) ORWDXC DELAY "KRN",19,8552,"RPC",1282,0) ORWDXC DELORD "KRN",19,8552,"RPC",1283,0) ORWDXC DISPLAY "KRN",19,8552,"RPC",1284,0) ORWDXC FILLID "KRN",19,8552,"RPC",1285,0) ORWDXC ON "KRN",19,8552,"RPC",1286,0) ORWDXC SAVECHK "KRN",19,8552,"RPC",1287,0) ORWDXC SESSION "KRN",19,8552,"RPC",1288,0) ORWDXM AUTOACK "KRN",19,8552,"RPC",1289,0) ORWDXM DLGNAME "KRN",19,8552,"RPC",1290,0) ORWDXM FORMID "KRN",19,8552,"RPC",1291,0) ORWDXM LOADSET "KRN",19,8552,"RPC",1292,0) ORWDXM MENU "KRN",19,8552,"RPC",1293,0) ORWDXM MSTYLE "KRN",19,8552,"RPC",1294,0) ORWDXM PROMPTS "KRN",19,8552,"RPC",1295,0) ORWDXM1 BLDQRSP "KRN",19,8552,"RPC",1296,0) ORWDXM2 CLRRCL "KRN",19,8552,"RPC",1297,0) ORWDXQ DLGNAME "KRN",19,8552,"RPC",1298,0) ORWDXQ DLGSAVE "KRN",19,8552,"RPC",1299,0) ORWDXQ GETQLST "KRN",19,8552,"RPC",1300,0) ORWDXQ GETQNAM "KRN",19,8552,"RPC",1301,0) ORWDXQ PUTQLST "KRN",19,8552,"RPC",1302,0) ORWDXQ PUTQNAM "KRN",19,8552,"RPC",1303,0) ORWDXR ISREL "KRN",19,8552,"RPC",1304,0) ORWDXR RENEW "KRN",19,8552,"RPC",1305,0) ORWDXR RNWFLDS "KRN",19,8552,"RPC",1306,0) ORWGEPT CLINRNG "KRN",19,8552,"RPC",1307,0) ORWLR CUMULATIVE REPORT "KRN",19,8552,"RPC",1308,0) ORWLR CUMULATIVE SECTION "KRN",19,8552,"RPC",1309,0) ORWLR REPORT LISTS "KRN",19,8552,"RPC",1310,0) ORWLRR ALLTESTS "KRN",19,8552,"RPC",1311,0) ORWLRR ATESTS "KRN",19,8552,"RPC",1312,0) ORWLRR ATG "KRN",19,8552,"RPC",1313,0) ORWLRR ATOMICS "KRN",19,8552,"RPC",1314,0) ORWLRR CHART "KRN",19,8552,"RPC",1315,0) ORWLRR CHEMTEST "KRN",19,8552,"RPC",1316,0) ORWLRR GRID "KRN",19,8552,"RPC",1317,0) ORWLRR INTERIM "KRN",19,8552,"RPC",1318,0) ORWLRR INTERIMG "KRN",19,8552,"RPC",1319,0) ORWLRR INTERIMS "KRN",19,8552,"RPC",1320,0) ORWLRR MICRO "KRN",19,8552,"RPC",1321,0) ORWLRR NEWOLD "KRN",19,8552,"RPC",1322,0) ORWLRR PARAM "KRN",19,8552,"RPC",1323,0) ORWLRR SPEC "KRN",19,8552,"RPC",1324,0) ORWLRR TG "KRN",19,8552,"RPC",1325,0) ORWLRR USERS "KRN",19,8552,"RPC",1326,0) ORWLRR UTGA "KRN",19,8552,"RPC",1327,0) ORWLRR UTGD "KRN",19,8552,"RPC",1328,0) ORWLRR UTGR "KRN",19,8552,"RPC",1329,0) ORWMC PATIENT PROCEDURES "KRN",19,8552,"RPC",1330,0) ORWOR RESULT "KRN",19,8552,"RPC",1331,0) ORWOR SHEETS "KRN",19,8552,"RPC",1332,0) ORWOR TSALL "KRN",19,8552,"RPC",1333,0) ORWORB AUTOUNFLAG ORDERS "KRN",19,8552,"RPC",1334,0) ORWORB FASTUSER "KRN",19,8552,"RPC",1335,0) ORWORB GET TIU ALERT INFO "KRN",19,8552,"RPC",1336,0) ORWORB GETDATA "KRN",19,8552,"RPC",1337,0) ORWORB KILL UNSIG ORDERS ALERT "KRN",19,8552,"RPC",1339,0) ORWORDG ALLTREE "KRN",19,8552,"RPC",1340,0) ORWORDG GRPSEQB "KRN",19,8552,"RPC",1341,0) ORWORDG IEN "KRN",19,8552,"RPC",1342,0) ORWORDG MAPSEQ "KRN",19,8552,"RPC",1343,0) ORWORDG REVSTS "KRN",19,8552,"RPC",1344,0) ORWORR AGET "KRN",19,8552,"RPC",1345,0) ORWORR GET "KRN",19,8552,"RPC",1346,0) ORWORR GET4LST "KRN",19,8552,"RPC",1347,0) ORWORR GETBYIFN "KRN",19,8552,"RPC",1348,0) ORWORR GETTXT "KRN",19,8552,"RPC",1349,0) ORWPCE ACTIVE PROV "KRN",19,8552,"RPC",1350,0) ORWPCE ACTPROB "KRN",19,8552,"RPC",1351,0) ORWPCE CPTREQD "KRN",19,8552,"RPC",1352,0) ORWPCE DELETE "KRN",19,8552,"RPC",1353,0) ORWPCE DIAG "KRN",19,8552,"RPC",1354,0) ORWPCE GET EDUCATION TOPICS "KRN",19,8552,"RPC",1355,0) ORWPCE GET EXAM TYPE "KRN",19,8552,"RPC",1356,0) ORWPCE GET HEALTH FACTORS TY "KRN",19,8552,"RPC",1357,0) ORWPCE GET IMMUNIZATION TYPE "KRN",19,8552,"RPC",1358,0) ORWPCE GET SET OF CODES "KRN",19,8552,"RPC",1359,0) ORWPCE GET SKIN TEST TYPE "KRN",19,8552,"RPC",1360,0) ORWPCE GET TREATMENT TYPE "KRN",19,8552,"RPC",1361,0) ORWPCE HF "KRN",19,8552,"RPC",1362,0) ORWPCE IMM "KRN",19,8552,"RPC",1363,0) ORWPCE LEX "KRN",19,8552,"RPC",1364,0) ORWPCE LEXCODE "KRN",19,8552,"RPC",1366,0) ORWPCE NOTEVSTR "KRN",19,8552,"RPC",1367,0) ORWPCE PCE4NOTE "KRN",19,8552,"RPC",1368,0) ORWPCE PED "KRN",19,8552,"RPC",1369,0) ORWPCE PROC "KRN",19,8552,"RPC",1370,0) ORWPCE SAVE "KRN",19,8552,"RPC",1371,0) ORWPCE SCDIS "KRN",19,8552,"RPC",1372,0) ORWPCE SCSEL "KRN",19,8552,"RPC",1373,0) ORWPCE SK "KRN",19,8552,"RPC",1374,0) ORWPCE TRT "KRN",19,8552,"RPC",1375,0) ORWPCE VISIT "KRN",19,8552,"RPC",1376,0) ORWPCE XAM "KRN",19,8552,"RPC",1377,0) ORWPS ACTIVE "KRN",19,8552,"RPC",1378,0) ORWPS COVER "KRN",19,8552,"RPC",1379,0) ORWPS DETAIL "KRN",19,8552,"RPC",1380,0) ORWPS1 NEWDLG "KRN",19,8552,"RPC",1381,0) ORWPS1 PICKUP "KRN",19,8552,"RPC",1382,0) ORWPS1 REFILL "KRN",19,8552,"RPC",1383,0) ORWPT ADMITLST "KRN",19,8552,"RPC",1384,0) ORWPT APPTLST "KRN",19,8552,"RPC",1385,0) ORWPT CLINRNG "KRN",19,8552,"RPC",1386,0) ORWPT CWAD "KRN",19,8552,"RPC",1387,0) ORWPT DFLTSRC "KRN",19,8552,"RPC",1388,0) ORWPT DIEDON "KRN",19,8552,"RPC",1389,0) ORWPT DISCHARGE "KRN",19,8552,"RPC",1390,0) ORWPT ENCTITL "KRN",19,8552,"RPC",1391,0) ORWPT FULLSSN "KRN",19,8552,"RPC",1392,0) ORWPT ID INFO "KRN",19,8552,"RPC",1393,0) ORWPT LAST5 "KRN",19,8552,"RPC",1394,0) ORWPT LIST ALL "KRN",19,8552,"RPC",1395,0) ORWPT PTINQ "KRN",19,8552,"RPC",1396,0) ORWPT SAVDFLT "KRN",19,8552,"RPC",1397,0) ORWPT SELCHK "KRN",19,8552,"RPC",1398,0) ORWPT SELECT "KRN",19,8552,"RPC",1399,0) ORWPT SHARE "KRN",19,8552,"RPC",1400,0) ORWPT TOP "KRN",19,8552,"RPC",1401,0) ORWPT1 PCDETAIL "KRN",19,8552,"RPC",1402,0) ORWPT1 PRCARE "KRN",19,8552,"RPC",1403,0) ORWPT16 ADMITLST "KRN",19,8552,"RPC",1404,0) ORWPT16 APPTLST "KRN",19,8552,"RPC",1405,0) ORWPT16 DEMOG "KRN",19,8552,"RPC",1406,0) ORWPT16 GETVSIT "KRN",19,8552,"RPC",1407,0) ORWPT16 ID INFO "KRN",19,8552,"RPC",1408,0) ORWPT16 LIST ALL "KRN",19,8552,"RPC",1409,0) ORWPT16 LOOKUP "KRN",19,8552,"RPC",1410,0) ORWPT16 PSCNVT "KRN",19,8552,"RPC",1411,0) ORWRA DEFAULT EXAM SETTINGS "KRN",19,8552,"RPC",1412,0) ORWRA IMAGING EXAMS "KRN",19,8552,"RPC",1413,0) ORWRA PRINT REPORT "KRN",19,8552,"RPC",1414,0) ORWRA REPORT TEXT "KRN",19,8552,"RPC",1415,0) ORWRP PRINT LAB REPORTS "KRN",19,8552,"RPC",1416,0) ORWRP PRINT REPORT "KRN",19,8552,"RPC",1417,0) ORWRP REPORT LISTS "KRN",19,8552,"RPC",1418,0) ORWRP REPORT TEXT "KRN",19,8552,"RPC",1419,0) ORWRP1 LISTNUTR "KRN",19,8552,"RPC",1420,0) ORWRP16 REPORT LISTS "KRN",19,8552,"RPC",1421,0) ORWRP16 REPORT TEXT "KRN",19,8552,"RPC",1422,0) ORWTIU GET DCSUMM CONTEXT "KRN",19,8552,"RPC",1423,0) ORWTIU GET TIU CONTEXT "KRN",19,8552,"RPC",1424,0) ORWTIU SAVE DCSUMM CONTEXT "KRN",19,8552,"RPC",1425,0) ORWTIU SAVE TIU CONTEXT "KRN",19,8552,"RPC",1426,0) ORWU CLINLOC "KRN",19,8552,"RPC",1427,0) ORWU DEVICE "KRN",19,8552,"RPC",1428,0) ORWU DT "KRN",19,8552,"RPC",1429,0) ORWU EXTNAME "KRN",19,8552,"RPC",1430,0) ORWU GBLREF "KRN",19,8552,"RPC",1431,0) ORWU GENERIC "KRN",19,8552,"RPC",1432,0) ORWU HASKEY "KRN",19,8552,"RPC",1433,0) ORWU HOSPLOC "KRN",19,8552,"RPC",1434,0) ORWU INPLOC "KRN",19,8552,"RPC",1435,0) ORWU NEWPERS "KRN",19,8552,"RPC",1436,0) ORWU NPHASKEY "KRN",19,8552,"RPC",1437,0) ORWU PATCH "KRN",19,8552,"RPC",1438,0) ORWU TOOLMENU "KRN",19,8552,"RPC",1439,0) ORWU USERINFO "KRN",19,8552,"RPC",1440,0) ORWU VALDT "KRN",19,8552,"RPC",1441,0) ORWU VALIDSIG "KRN",19,8552,"RPC",1442,0) ORWU VERSRV "KRN",19,8552,"RPC",1443,0) ORWU16 DEVICE "KRN",19,8552,"RPC",1444,0) ORWU16 HOSPLOC "KRN",19,8552,"RPC",1445,0) ORWU16 NEWPERS "KRN",19,8552,"RPC",1446,0) ORWU16 USERINFO "KRN",19,8552,"RPC",1447,0) ORWU16 VALDT "KRN",19,8552,"RPC",1448,0) ORWU16 VALIDSIG "KRN",19,8552,"RPC",1449,0) ORWUH POPUP "KRN",19,8552,"RPC",1450,0) ORWUX SYMTAB "KRN",19,8552,"RPC",1451,0) ORWUXT LST "KRN",19,8552,"RPC",1452,0) ORWUXT REF "KRN",19,8552,"RPC",1453,0) ORWUXT VAL "KRN",19,8552,"RPC",1454,0) ORQQCN DEFAULT REQUEST REASON "KRN",19,8552,"RPC",1455,0) ORWDX LOCK ORDER "KRN",19,8552,"RPC",1456,0) ORWDX UNLOCK ORDER "KRN",19,8552,"RPC",1457,0) ORWDCN32 NEWDLG "KRN",19,8552,"RPC",1458,0) ORQQCN GET SERVICE IEN "KRN",19,8552,"RPC",1459,0) ORQQCN PROVDX "KRN",19,8552,"RPC",1460,0) TIU TEMPLATE ACCESS LEVEL "KRN",19,8552,"RPC",1461,0) TIU GET DOCUMENT TITLE "KRN",19,8552,"RPC",1462,0) ORWPT BYWARD "KRN",19,8552,"RPC",1463,0) ORQQPX GET HIST LOCATIONS "KRN",19,8552,"RPC",1464,0) ORQQPX NEW REMINDERS ACTIVE "KRN",19,8552,"RPC",1465,0) ORWPCE GET VISIT "KRN",19,8552,"RPC",1480,0) TIU GET REQUEST "KRN",19,8552,"RPC",1481,0) ORWORB KILL EXPIR MED ALERT "KRN",19,8552,"RPC",1482,0) DG CHK BS5 XREF ARRAY "KRN",19,8552,"RPC",1483,0) DG CHK BS5 XREF Y/N "KRN",19,8552,"RPC",1484,0) DG CHK PAT/DIV MEANS TEST "KRN",19,8552,"RPC",1485,0) DG SENSITIVE RECORD ACCESS "KRN",19,8552,"RPC",1486,0) DG SENSITIVE RECORD BULLETIN "KRN",19,8552,"RPC",1487,0) ORQQCN CANEDIT "KRN",19,8552,"RPC",1488,0) ORQQCN EDIT DEFAULT REASON "KRN",19,8552,"RPC",1489,0) ORQQCN SF513 WINDOWS PRINT "KRN",19,8552,"RPC",1490,0) ORWCIRN FACLIST "KRN",19,8552,"RPC",1491,0) ORWDLR32 GET LAB TIMES "KRN",19,8552,"RPC",1492,0) ORWPT LEGACY "KRN",19,8552,"RPC",1493,0) ORWRP GET DEFAULT PRINTER "KRN",19,8552,"RPC",1494,0) ORWRP PRINT WINDOWS REPORT "KRN",19,8552,"RPC",1495,0) ORWRP SAVE DEFAULT PRINTER "KRN",19,8552,"RPC",1496,0) ORWRP WINPRINT DEFAULT "KRN",19,8552,"RPC",1497,0) ORWRP WINPRINT LAB REPORTS "KRN",19,8552,"RPC",1498,0) ORWTIU WINPRINT NOTE "KRN",19,8552,"RPC",1500,0) ORWPCE GAFOK "KRN",19,8552,"RPC",1501,0) ORWPCE MHCLINIC "KRN",19,8552,"RPC",1502,0) ORWPCE LOADGAF "KRN",19,8552,"RPC",1503,0) ORWPCE SAVEGAF "KRN",19,8552,"RPC",1504,0) ORWPCE FORCE "KRN",19,8552,"RPC",1505,0) TIU GET DEFAULT PROVIDER "KRN",19,8552,"RPC",1506,0) TIU GET SITE PARAMETERS "KRN",19,8552,"RPC",1507,0) TIU IS USER A PROVIDER? "KRN",19,8552,"RPC",1508,0) ORWOR VWGET "KRN",19,8552,"RPC",1509,0) ORWOR VWSET "KRN",19,8552,"RPC",1510,0) ORWU PARAM "KRN",19,8552,"RPC",1511,0) ORWDOR LKSCRN "KRN",19,8552,"RPC",1512,0) ORWDOR VALNUM "KRN",19,8552,"RPC",1513,0) ORWDPS32 VALROUTE "KRN",19,8552,"RPC",1515,0) ORWORB UNSIG ORDERS FOLLOWUP "KRN",19,8552,"RPC",1516,0) ORWTIU GET LISTBOX ITEM "KRN",19,8552,"RPC",1517,0) ORWRP2 HS COMP FILES "KRN",19,8552,"RPC",1518,0) ORWRP2 HS COMPONENTS "KRN",19,8552,"RPC",1519,0) ORWRP2 HS FILE LOOKUP "KRN",19,8552,"RPC",1520,0) ORWRP2 HS REPORT TEXT "KRN",19,8552,"RPC",1521,0) ORWRP2 HS SUBITEMS "KRN",19,8552,"RPC",1522,0) ORWPCE HASCPT "KRN",19,8552,"RPC",1523,0) ORWPCE ASKPCE "KRN",19,8552,"RPC",1524,0) ORWPCE MHTESTOK "KRN",19,8552,"RPC",1525,0) ORWPCE GAFURL "KRN",19,8552,"RPC",1526,0) ORQQPXRM DIALOG PROMPTS "KRN",19,8552,"RPC",1527,0) ORQQPXRM EDUCATION SUBTOPICS "KRN",19,8552,"RPC",1528,0) ORQQPXRM EDUCATION SUMMARY "KRN",19,8552,"RPC",1529,0) ORQQPXRM EDUCATION TOPIC "KRN",19,8552,"RPC",1530,0) ORQQPXRM MENTAL HEALTH "KRN",19,8552,"RPC",1531,0) ORQQPXRM MENTAL HEALTH RESULTS "KRN",19,8552,"RPC",1532,0) ORQQPXRM MENTAL HEALTH SAVE "KRN",19,8552,"RPC",1533,0) ORQQPXRM PROGRESS NOTE HEADER "KRN",19,8552,"RPC",1534,0) ORQQPXRM REMINDER CATEGORIES "KRN",19,8552,"RPC",1535,0) ORQQPXRM REMINDER DETAIL "KRN",19,8552,"RPC",1536,0) ORQQPXRM REMINDER DIALOG "KRN",19,8552,"RPC",1537,0) ORQQPXRM REMINDER EVALUATION "KRN",19,8552,"RPC",1538,0) ORQQPXRM REMINDER INQUIRY "KRN",19,8552,"RPC",1539,0) ORQQPXRM REMINDER WEB "KRN",19,8552,"RPC",1540,0) ORQQPXRM REMINDERS APPLICABLE "KRN",19,8552,"RPC",1541,0) ORQQPXRM REMINDERS UNEVALUATED "KRN",19,8552,"RPC",1542,0) ORWLRR INFO "KRN",19,8552,"RPC",1543,0) TIU GET PRINT NAME "KRN",19,8552,"RPC",1544,0) TIU WAS THIS SAVED? "KRN",19,8552,"RPC",1545,0) ORWD1 COMLOC "KRN",19,8552,"RPC",1546,0) ORWD1 SIG4ANY "KRN",19,8552,"RPC",1547,0) ORWD1 SIG4ONE "KRN",19,8552,"RPC",1548,0) ORWOR UNSIGN "KRN",19,8552,"RPC",1549,0) ORWPT INPLOC "KRN",19,8552,"RPC",1553,0) ORQQCN2 GET PREREQUISITE "KRN",19,8552,"RPC",1554,0) ORQQCN2 SCHEDULE CONSULT "KRN",19,8552,"RPC",1555,0) YS GAF API "KRN",19,8552,"RPC",1556,0) TIU LONG LIST BOILERPLATED "KRN",19,8552,"RPC",1557,0) ORWDLR33 FUTURE LAB COLLECTS "KRN",19,8552,"RPC",1558,0) ORWRP PRINT REMOTE REPORT "KRN",19,8552,"RPC",1559,0) ORWRP PRINT WINDOWS REMOTE "KRN",19,8552,"RPC",1560,0) ORWRP PRINT LAB REMOTE "KRN",19,8552,"RPC",1561,0) ORWRP PRINT WINDOWS LAB REMOTE "KRN",19,8552,"RPC",1562,0) ORQQPXRM DIALOG ACTIVE "KRN",19,8552,"RPC",1563,0) ORWPCE MH TEST AUTHORIZED "KRN",19,8552,"RPC",1564,0) TIU GET BOILERPLATE "KRN",19,8552,"RPC",1565,0) ORWRP2 HS COMPONENT SUBS "KRN",19,8552,"RPC",1566,0) ORWCH SAVFONT "KRN",19,8552,"RPC",1567,0) ORWDLR33 LASTTIME "KRN",19,8552,"RPC",1568,0) ORWD1 SVONLY "KRN",19,8552,"RPC",1569,0) ORWPCE HASVISIT "KRN",19,8552,"RPC",1570,0) ORWPCE GETMOD "KRN",19,8552,"RPC",1571,0) ORWPCE CPTMODS "KRN",19,8552,"RPC",1572,0) XWB REMOTE CLEAR "KRN",19,8552,"RPC",1573,0) XWB REMOTE GETDATA "KRN",19,8552,"RPC",1574,0) XWB REMOTE RPC "KRN",19,8552,"RPC",1575,0) XWB REMOTE STATUS CHECK "KRN",19,8552,"RPC",1576,0) ORQQCN ASSIGNABLE MED RESULTS "KRN",19,8552,"RPC",1577,0) ORQQCN ATTACH MED RESULTS "KRN",19,8552,"RPC",1578,0) ORQQCN GET MED RESULT DETAILS "KRN",19,8552,"RPC",1579,0) ORQQCN REMOVABLE MED RESULTS "KRN",19,8552,"RPC",1580,0) ORQQCN REMOVE MED RESULTS "KRN",19,8552,"RPC",1581,0) ORQQCN SVC W/SYNONYMS "KRN",19,8552,"RPC",1582,0) ORWCV1 COVERSHEET LIST "KRN",19,8552,"RPC",1583,0) ORWORB KILL EXPIR OI ALERT "KRN",19,8552,"RPC",1584,0) ORWPCE GETSVC "KRN",19,8552,"RPC",1585,0) ORWRP LAB REPORT LISTS "KRN",19,8552,"RPC",1587,0) ORWTPN GETCLASS "KRN",19,8552,"RPC",1588,0) ORWTPN GETTC "KRN",19,8552,"RPC",1589,0) ORWTPO CSARNGD "KRN",19,8552,"RPC",1590,0) ORWTPO CSLABD "KRN",19,8552,"RPC",1591,0) ORWTPO GETTABS "KRN",19,8552,"RPC",1592,0) ORWTPP ADDLIST "KRN",19,8552,"RPC",1593,0) ORWTPP CHKSURR "KRN",19,8552,"RPC",1594,0) ORWTPP CLDAYS "KRN",19,8552,"RPC",1595,0) ORWTPP CLEARNOT "KRN",19,8552,"RPC",1596,0) ORWTPP CLRANGE "KRN",19,8552,"RPC",1597,0) ORWTPP CSARNG "KRN",19,8552,"RPC",1598,0) ORWTPP CSLAB "KRN",19,8552,"RPC",1599,0) ORWTPP DELLIST "KRN",19,8552,"RPC",1600,0) ORWTPP GETCOMBO "KRN",19,8552,"RPC",1601,0) ORWTPP GETCOS "KRN",19,8552,"RPC",1602,0) ORWTPP GETDCOS "KRN",19,8552,"RPC",1603,0) ORWTPP GETNOT "KRN",19,8552,"RPC",1604,0) ORWTPP GETNOTO "KRN",19,8552,"RPC",1605,0) ORWTPP GETOC "KRN",19,8552,"RPC",1606,0) ORWTPP GETOTHER "KRN",19,8552,"RPC",1607,0) ORWTPP GETREM "KRN",19,8552,"RPC",1608,0) ORWTPP GETSUB "KRN",19,8552,"RPC",1609,0) ORWTPP GETSURR "KRN",19,8552,"RPC",1610,0) ORWTPP GETTD "KRN",19,8552,"RPC",1611,0) ORWTPP GETTU "KRN",19,8552,"RPC",1612,0) ORWTPP LSDEF "KRN",19,8552,"RPC",1613,0) ORWTPP NEWLIST "KRN",19,8552,"RPC",1614,0) ORWTPP PLISTS "KRN",19,8552,"RPC",1615,0) ORWTPP PLTEAMS "KRN",19,8552,"RPC",1616,0) ORWTPP REMLIST "KRN",19,8552,"RPC",1617,0) ORWTPP SAVECD "KRN",19,8552,"RPC",1618,0) ORWTPP SAVECS "KRN",19,8552,"RPC",1619,0) ORWTPP SAVELIST "KRN",19,8552,"RPC",1620,0) ORWTPP SAVENOT "KRN",19,8552,"RPC",1621,0) ORWTPP SAVENOTO "KRN",19,8552,"RPC",1622,0) ORWTPP SAVEOC "KRN",19,8552,"RPC",1623,0) ORWTPP SAVEPLD "KRN",19,8552,"RPC",1624,0) ORWTPP SAVESURR "KRN",19,8552,"RPC",1625,0) ORWTPP SAVET "KRN",19,8552,"RPC",1626,0) ORWTPP SETCOMBO "KRN",19,8552,"RPC",1627,0) ORWTPP SETDCOS "KRN",19,8552,"RPC",1628,0) ORWTPP SETOTHER "KRN",19,8552,"RPC",1629,0) ORWTPP SETREM "KRN",19,8552,"RPC",1630,0) ORWTPP SETSUB "KRN",19,8552,"RPC",1631,0) ORWTPP SORTDEF "KRN",19,8552,"RPC",1632,0) ORWTPP TEAMS "KRN",19,8552,"RPC",1633,0) ORWTPT ATEAMS "KRN",19,8552,"RPC",1634,0) ORWTPT GETTEAM "KRN",19,8552,"RPC",1635,0) TIU TEMPLATE GET DEFAULTS "KRN",19,8552,"RPC",1636,0) TIU TEMPLATE GET DESCRIPTION "KRN",19,8552,"RPC",1637,0) TIU TEMPLATE SET DEFAULTS "KRN",19,8552,"RPC",1638,0) ORWTIU IDNOTES INSTALLED "KRN",19,8552,"RPC",1639,0) ORQQPX GET FOLDERS "KRN",19,8552,"RPC",1640,0) ORQQPX SET FOLDERS "KRN",19,8552,"RPC",1641,0) TIU FIELD CAN EDIT "KRN",19,8552,"RPC",1642,0) TIU FIELD DELETE "KRN",19,8552,"RPC",1643,0) TIU FIELD EXPORT "KRN",19,8552,"RPC",1644,0) TIU FIELD IMPORT "KRN",19,8552,"RPC",1645,0) TIU FIELD LIST "KRN",19,8552,"RPC",1646,0) TIU FIELD LOAD "KRN",19,8552,"RPC",1647,0) TIU FIELD LOAD BY IEN "KRN",19,8552,"RPC",1648,0) TIU FIELD LOCK "KRN",19,8552,"RPC",1649,0) TIU FIELD NAME IS UNIQUE "KRN",19,8552,"RPC",1650,0) TIU FIELD SAVE "KRN",19,8552,"RPC",1651,0) TIU FIELD UNLOCK "KRN",19,8552,"RPC",1652,0) ORWDPS1 CHK94 "KRN",19,8552,"RPC",1653,0) ORWDPS1 ODSLCT "KRN",19,8552,"RPC",1654,0) ORWDPS1 SCHALL "KRN",19,8552,"RPC",1655,0) ORWDPS2 ADMIN "KRN",19,8552,"RPC",1656,0) ORWDPS2 DAY2QTY "KRN",19,8552,"RPC",1657,0) ORWDPS2 OISLCT "KRN",19,8552,"RPC",1658,0) ORWDPS2 REQST "KRN",19,8552,"RPC",1659,0) ORWDX DGNM "KRN",19,8552,"RPC",1660,0) ORWUL FV4DG "KRN",19,8552,"RPC",1661,0) ORWUL FVIDX "KRN",19,8552,"RPC",1662,0) ORWUL FVSUB "KRN",19,8552,"RPC",1663,0) ORWUL QV4DG "KRN",19,8552,"RPC",1664,0) ORWUL QVIDX "KRN",19,8552,"RPC",1665,0) ORWUL QVSUB "KRN",19,8552,"RPC",1666,0) ORWDPS1 DFLTSPLY "KRN",19,8552,"RPC",1668,0) PXRM REMINDER DIALOG (TIU) "KRN",19,8552,"RPC",1669,0) ORWPCE ANYTIME "KRN",19,8552,"RPC",1670,0) ORQQPX GET DEF LOCATIONS "KRN",19,8552,"RPC",1671,0) ORWTPP GETIMG "KRN",19,8552,"RPC",1672,0) ORWTPP SETIMG "KRN",19,8552,"RPC",1673,0) ORWTPO GETIMGD "KRN",19,8552,"RPC",1674,0) ORQQPX REM INSERT AT CURSOR "KRN",19,8552,"RPC",1675,0) TIU REMINDER DIALOGS "KRN",19,8552,"RPC",1676,0) TIU REM DLG OK AS TEMPLATE "KRN",19,8552,"RPC",1677,0) ORWDPS2 MAXREF "KRN",19,8552,"RPC",1678,0) ORWDPS2 SCHREQ "KRN",19,8552,"RPC",1679,0) ORWRP COLUMN HEADERS "KRN",19,8552,"RPC",1680,0) TIU FIELD DOLMTEXT "KRN",19,8552,"RPC",1681,0) TIU TEMPLATE PERSONAL OBJECTS "KRN",19,8552,"RPC",1682,0) ORWPCE AUTO VISIT TYPE SELECT "KRN",19,8552,"RPC",1683,0) ORWDPS2 QTY2DAY "KRN",19,8552,"RPC",1684,0) ORWU HAS OPTION ACCESS "KRN",19,8552,"RPC",1685,0) TIU TEMPLATE LOCK "KRN",19,8552,"RPC",1686,0) ORQQPX LVREMLST "KRN",19,8552,"RPC",1687,0) ORQQPX NEW COVER SHEET ACTIVE "KRN",19,8552,"RPC",1688,0) ORQQPX NEW COVER SHEET REMS "KRN",19,8552,"RPC",1689,0) ORQQPX SAVELVL "KRN",19,8552,"RPC",1690,0) PXRM REMINDER CATEGORY "KRN",19,8552,"RPC",1691,0) PXRM REMINDERS AND CATEGORIES "KRN",19,8552,"RPC",1692,0) TIU DIV AND CLASS INFO "KRN",19,8552,"RPC",1693,0) TIU TEMPLATE GETBOIL "KRN",19,8552,"RPC",1694,0) TIU TEMPLATE GETITEMS "KRN",19,8552,"RPC",1695,0) TIU TEMPLATE GETROOTS "KRN",19,8552,"RPC",1696,0) TIU TEMPLATE GETTEXT "KRN",19,8552,"RPC",1697,0) TIU TEMPLATE ISEDITOR "KRN",19,8552,"RPC",1698,0) TIU TEMPLATE UNLOCK "KRN",19,8552,"RPC",1699,0) TIU USER CLASS LONG LIST "KRN",19,8552,"RPC",1700,0) ORWPCE ALWAYS CHECKOUT "KRN",19,8552,"RPC",1701,0) ORWPCE GET EXCLUDED "KRN",19,8552,"RPC",1702,0) ORWDPS1 FORMALT "KRN",19,8552,"RPC",1703,0) ORQPT DEFAULT LIST SORT "KRN",19,8552,"RPC",1704,0) ORWDPS1 DOSEALT "KRN",19,8552,"RPC",1705,0) ORWTPR OCDESC "KRN",19,8552,"RPC",1706,0) ORWTPR NOTDESC "KRN",19,8552,"RPC",1707,0) ORWDPS1 FAILDEA "KRN",19,8552,"RPC",1708,0) ORQPT DEFAULT CLINIC DATE RANG "KRN",19,8552,"RPC",1709,0) ORWTIU CANLINK "KRN",19,8552,"RPC",1710,0) TIU ID ATTACH ENTRY "KRN",19,8552,"RPC",1711,0) TIU ID CAN ATTACH "KRN",19,8552,"RPC",1712,0) TIU ID CAN RECEIVE "KRN",19,8552,"RPC",1713,0) TIU ID DETACH ENTRY "KRN",19,8552,"RPC",1714,0) ORWCOM GETOBJS "KRN",19,8552,"RPC",1715,0) ORWCOM DETAILS "KRN",19,8552,"RPC",1716,0) ORWCOM PTOBJ "KRN",19,8552,"RPC",1718,0) TIU TEMPLATE GETLINK "KRN",19,8552,"RPC",1719,0) TIU TEMPLATE ALL TITLES "KRN",19,8552,"RPC",1720,0) ORWSR LIST "KRN",19,8552,"RPC",1721,0) ORWSR SHOW SURG TAB "KRN",19,8552,"RPC",1722,0) ORWSR GET SURG CONTEXT "KRN",19,8552,"RPC",1723,0) ORWSR SAVE SURG CONTEXT "KRN",19,8552,"RPC",1724,0) ORWSR ONECASE "KRN",19,8552,"RPC",1727,0) ORWSR SHOW OPTOP WHEN SIGNING "KRN",19,8552,"RPC",1728,0) ORWSR IS NON-OR PROCEDURE "KRN",19,8552,"RPC",1729,0) ORWSR CASELIST "KRN",19,8552,"RPC",1730,0) ORQQCN GET PROC IEN "KRN",19,8552,"RPC",1731,0) ORWRP PRINT V REPORT "KRN",19,8552,"RPC",1732,0) ORWRP3 EXPAND COLUMNS "KRN",19,8552,"RPC",1733,0) ORWTPD ACTDF "KRN",19,8552,"RPC",1734,0) ORWTPD DELDFLT "KRN",19,8552,"RPC",1735,0) ORWTPD GETDFLT "KRN",19,8552,"RPC",1736,0) ORWTPD RSDFLT "KRN",19,8552,"RPC",1737,0) ORWTPD SUDF "KRN",19,8552,"RPC",1738,0) ORWTPD SUINDV "KRN",19,8552,"RPC",1739,0) ORWTPD GETSETS "KRN",19,8552,"RPC",1740,0) ORWCOM ORDEROBJ "KRN",19,8552,"RPC",1741,0) ORWRP2 COMPABV "KRN",19,8552,"RPC",1742,0) ORWRP2 GETLKUP "KRN",19,8552,"RPC",1743,0) ORWRP2 SAVLKUP "KRN",19,8552,"RPC",1744,0) ORWRP2 COMPDISP "KRN",19,8552,"RPC",1745,0) ORWPCE ISCLINIC "KRN",19,8552,"RPC",1746,0) ORWCH SAVECOL "KRN",19,8552,"RPC",1747,0) ORWSR RPTLIST "KRN",19,8552,"RPC",1748,0) ORQQPXRM MST UPDATE "KRN",19,8552,"RPC",1749,0) ORWMC PATIENT PROCEDURES1 "KRN",19,8552,"RPC",1750,0) ORWRA IMAGING EXAMS1 "KRN",19,8552,"RPC",1751,0) ORWRA REPORT TEXT1 "KRN",19,8552,"RPC",1752,0) ORWDPS4 CPINFO "KRN",19,8552,"RPC",1753,0) ORWDPS4 CPLST "KRN",19,8552,"RPC",1754,0) ORWORB KILL UNVER MEDS ALERT "KRN",19,8552,"RPC",1755,0) ORWORB KILL UNVER ORDERS ALERT "KRN",19,8552,"RPC",1756,0) ORWPCE HNCOK "KRN",19,8552,"RPC",1757,0) ORWPS MEDHIST "KRN",19,8552,"RPC",1758,0) TIU FIELD CHECK "KRN",19,8552,"RPC",1759,0) TIU FIELD LIST ADD "KRN",19,8552,"RPC",1760,0) TIU FIELD LIST IMPORT "KRN",19,8552,"RPC",1761,0) TIU SET DOCUMENT TEXT "KRN",19,8552,"RPC",1762,0) ORWDPS2 CHKPI "KRN",19,8552,"RPC",1763,0) ORWDXR GTORITM "KRN",19,8552,"RPC",1764,0) ORWDPS2 CHKGRP "KRN",19,8552,"RPC",1765,0) ORWDPS2 QOGRP "KRN",19,8552,"RPC",1766,0) ORWDXR GETPKG "KRN",19,8552,"RPC",1767,0) ORQPT MAKE RPL "KRN",19,8552,"RPC",1768,0) ORQPT READ RPL "KRN",19,8552,"RPC",1769,0) ORQPT KILL RPL "KRN",19,8552,"RPC",1770,0) ORWTIU GET SAVED CP FIELDS "KRN",19,8552,"RPC",1771,0) ORWDPS1 LOCPICK "KRN",19,8552,"RPC",1772,0) ORWPT LAST5 RPL "KRN",19,8552,"RPC",1773,0) ORWPT FULLSSN RPL "KRN",19,8552,"RPC",1774,0) ORWOR PKIUSE "KRN",19,8552,"RPC",1775,0) ORWOR1 SIG "KRN",19,8552,"RPC",1776,0) ORWOR1 CHKDIG "KRN",19,8552,"RPC",1777,0) ORWOR1 GETDTEXT "KRN",19,8552,"RPC",1778,0) ORWOR1 GETDSIG "KRN",19,8552,"RPC",1779,0) ORWTPD GETIMG "KRN",19,8552,"RPC",1780,0) OREVNTX1 PRMPTID "KRN",19,8552,"RPC",1781,0) ORECS01 CHKESSO "KRN",19,8552,"RPC",1782,0) ORECS01 VSITID "KRN",19,8552,"RPC",1784,0) OREVNTX LIST "KRN",19,8552,"RPC",1785,0) OREVNTX PAT "KRN",19,8552,"RPC",1786,0) OREVNTX1 GTEVT "KRN",19,8552,"RPC",1787,0) OREVNTX1 CPACT "KRN",19,8552,"RPC",1788,0) OREVNTX1 CURSPE "KRN",19,8552,"RPC",1789,0) OREVNTX1 CHGEVT "KRN",19,8552,"RPC",1790,0) OREVNTX1 DELPTEVT "KRN",19,8552,"RPC",1791,0) OREVNTX1 DFLTEVT "KRN",19,8552,"RPC",1792,0) OREVNTX ACTIVE "KRN",19,8552,"RPC",1793,0) OREVNTX1 PUTEVNT "KRN",19,8552,"RPC",1794,0) OREVNTX1 WRLSTED "KRN",19,8552,"RPC",1795,0) OREVNTX1 EVT "KRN",19,8552,"RPC",1796,0) OREVNTX1 NAME "KRN",19,8552,"RPC",1797,0) OREVNTX1 MATCH "KRN",19,8552,"RPC",1798,0) OREVNTX1 EMPTY "KRN",19,8552,"RPC",1799,0) OREVNTX1 EXISTS "KRN",19,8552,"RPC",1800,0) OREVNTX1 GTEVT1 "KRN",19,8552,"RPC",1801,0) OREVNTX1 DIV "KRN",19,8552,"RPC",1802,0) OREVNTX1 DIV1 "KRN",19,8552,"RPC",1803,0) OREVNTX1 LOC "KRN",19,8552,"RPC",1804,0) OREVNTX1 LOC1 "KRN",19,8552,"RPC",1805,0) ORWDX SENDED "KRN",19,8552,"RPC",1806,0) OREVNTX1 GETDLG "KRN",19,8552,"RPC",1807,0) ORECS01 ECPRINT "KRN",19,8552,"RPC",1811,0) ORECS01 ECRPT "KRN",19,8552,"RPC",1812,0) OREVNTX1 ISDCOD "KRN",19,8552,"RPC",1813,0) OREVNTX1 SETDFLT "KRN",19,8552,"RPC",1815,0) TIU IS THIS A CLINPROC? "KRN",19,8552,"RPC",1816,0) TIU IDENTIFY CLINPROC CLASS "KRN",19,8552,"RPC",1817,0) TIU LONG LIST CLINPROC TITLES "KRN",19,8552,"RPC",1819,0) ORWDPS1 HASOIPI "KRN",19,8552,"RPC",1821,0) OREVNTX1 DEFLTS "KRN",19,8552,"RPC",1822,0) OREVNTX1 MULTS "KRN",19,8552,"RPC",1823,0) OREVNTX1 DONE "KRN",19,8552,"RPC",1824,0) OREVNTX1 PROMPT IDS "KRN",19,8552,"RPC",1825,0) ORWCIRN CHECKLINK "KRN",19,8552,"RPC",1826,0) XWB DIRECT RPC "KRN",19,8552,"RPC",1827,0) ORWDPS1 HASROUTE "KRN",19,8552,"RPC",1828,0) ORQQCN UNRESOLVED "KRN",19,8552,"RPC",1829,0) OREVNTX1 DELDFLT "KRN",19,8552,"RPC",1830,0) ORWCH LDFONT "KRN",19,8552,"RPC",1831,0) ORWU1 NAMECVT "KRN",19,8552,"RPC",1832,0) OREVNTX1 DFLTDLG "KRN",19,8552,"RPC",1833,0) ORWDPS5 LESAPI "KRN",19,8552,"RPC",1834,0) ORWDPS5 LESGRP "KRN",19,8552,"RPC",1839,0) OREVNTX1 TYPEXT "KRN",19,8552,"RPC",1840,0) ORWORR RGET "KRN",19,8552,"RPC",1841,0) OREVNTX1 AUTHMREL "KRN",19,8552,"RPC",1842,0) OREVNTX1 HAVEPRT "KRN",19,8552,"RPC",1843,0) OREVNTX1 CMEVTS "KRN",19,8552,"RPC",1844,0) OREVNTX1 ODPTEVID "KRN",19,8552,"RPC",1845,0) ORWOR PKISITE "KRN",19,8552,"RPC",1846,0) OREVNTX1 COMP "KRN",19,8552,"RPC",1847,0) OREVNTX1 ISHDORD "KRN",19,8552,"RPC",1848,0) ORWDXR ORCPLX "KRN",19,8552,"RPC",1849,0) OREVNTX1 ISPASS "KRN",19,8552,"RPC",1850,0) OREVNTX1 ISPASS1 "KRN",19,8552,"RPC",1851,0) OREVNTX1 DLGIEN "KRN",19,8552,"RPC",1852,0) ORWDXR CANRN "KRN",19,8552,"RPC",1853,0) ORWDXR ISCPLX "KRN",19,8552,"RPC",1854,0) ORWDXA OFCPLX "KRN",19,8552,"RPC",1855,0) ORQQPX GET NOT PURPOSE "KRN",19,8552,"RPC",1856,0) ORWDPS1 IVDEA "KRN",19,8552,"RPC",1857,0) ORWDXR ISNOW "KRN",19,8552,"RPC",1858,0) ORRHCQ QRYITR "KRN",19,8552,"RPC",1859,0) OREVNTX1 GETSTS "KRN",19,8552,"RPC",1860,0) ORWU DEFAULT DIVISION "KRN",19,8552,"RPC",1861,0) ORWDXA ISACTOI "KRN",19,8552,"RPC",1862,0) ORECS01 SAVPATH "KRN",19,8552,"RPC",1863,0) ORWOR RESULT HISTORY "KRN",19,8552,"RPC",1864,0) XUS GET TOKEN "KRN",19,8552,"RPC",1865,0) ORQQPX IMMUN LIST "KRN",19,8552,"RPC",1866,0) XWB DEFERRED CLEARALL "KRN",19,8552,"RPC",1867,0) ORWOR1 SETDTEXT "KRN",19,8552,"RPC",1868,0) ORWOR1 GETDEA "KRN",19,8552,"RPC",1869,0) ORWOR1 GETDSCH "KRN",19,8552,"RPC",1870,0) ORWORB TEXT FOLLOWUP "KRN",19,8552,"RPC",1871,0) ORWU1 NEWLOC "KRN",19,8552,"RPC",1872,0) ORWPCE ACTIVE CODE "KRN",19,8552,"RPC",1873,0) ORQQPXRM GET WH LETTER TEXT "KRN",19,8552,"RPC",1874,0) ORQQPXRM GET WH LETTER TYPE "KRN",19,8552,"RPC",1875,0) ORQQPXRM GET WH PROC RESULT "KRN",19,8552,"RPC",1876,0) ORQQPXRM WOMEN HEALTH SAVE "KRN",19,8552,"RPC",1877,0) ORB FORWARD ALERT "KRN",19,8552,"RPC",1878,0) ORB RENEW ALERT "KRN",19,8552,"RPC",1879,0) ORPRF CLEAR "KRN",19,8552,"RPC",1880,0) ORPRF GETFLG "KRN",19,8552,"RPC",1881,0) ORPRF HASFLG "KRN",19,8552,"RPC",1882,0) ORWTPD GETOCM "KRN",19,8552,"RPC",1883,0) TIU ONE VISIT NOTE? "KRN",19,8552,"RPC",1884,0) VAFCTFU CONVERT ICN TO DFN "KRN",19,8552,"RPC",1885,0) ORIMO IMOLOC "KRN",19,8552,"RPC",1886,0) ORIMO IMOOD "KRN",19,8552,"RPC",1887,0) ORWDPS4 IPOD4OP "KRN",19,8552,"RPC",1888,0) ORWDPS4 UPDTDG "KRN",19,8552,"RPC",1889,0) TIU USER INACTIVE? "KRN",19,8552,"RPC",1890,0) ORWTPD PUTOCM "KRN",19,8552,"RPC",1891,0) ORWOR ACTION TEXT "KRN",19,8552,"RPC",1892,0) ORQQPXRM GEC DIALOG "KRN",19,8552,"RPC",1893,0) ORQQPXRM GET WH REPORT TEXT "KRN",19,8552,"RPC",1894,0) ORWDXR01 CANCHG "KRN",19,8552,"RPC",1895,0) ORWDXR01 SAVCHG "KRN",19,8552,"RPC",1896,0) TIU HAS AUTHOR SIGNED? "KRN",19,8552,"RPC",1897,0) ORQQPXRM CHECK REM VERSION "KRN",19,8552,"RPC",1898,0) ORQQPXRM GEC STATUS PROMPT "KRN",19,8552,"RPC",1899,0) ORQQPXRM GEC STATUS PROMPT "KRN",19,8552,"RPC",1900,0) ORWDAL32 SEND BULLETIN "KRN",19,8552,"RPC",1901,0) ORWDBA1 ORPKGTYP "KRN",19,8552,"RPC",1902,0) ORWDXR01 ISSPLY "KRN",19,8552,"RPC",1903,0) ORWDBA1 RCVORCI "KRN",19,8552,"RPC",1904,0) ORWPS REASON "KRN",19,8552,"RPC",1905,0) ORQQPXRM GEC FINISHED? "KRN",19,8552,"RPC",1906,0) ORWDXM3 ISUDQO "KRN",19,8552,"RPC",1908,0) ORWDBA1 SCLST "KRN",19,8552,"RPC",1909,0) ORWDXR01 OXDATA "KRN",19,8552,"RPC",1914,0) ORWDBA1 BASTATUS "KRN",19,8552,"RPC",1920,0) ORWORB SETSORT "KRN",19,8552,"RPC",1921,0) ORWORB GETSORT "KRN",19,8552,"RPC",1922,0) ORWOR EXPIRED "KRN",19,8552,"RPC",1928,0) ORECS01 GETDIV "KRN",19,8552,"RPC",1933,0) ORWTPD1 GETEFDAT "KRN",19,8552,"RPC",1934,0) ORWTPD1 GETEDATS "KRN",19,8552,"RPC",1935,0) ORWTPD1 PUTEDATS "KRN",19,8552,"RPC",1936,0) ORWTPD1 GETCSDEF "KRN",19,8552,"RPC",1937,0) ORWTPD1 GETCSRNG "KRN",19,8552,"RPC",1938,0) ORWTPD1 PUTCSRNG "KRN",19,8552,"RPC",1939,0) ORWTPD1 GETEAFL "KRN",19,8552,"RPC",1940,0) ORWDBA1 GETORDX "KRN",19,8552,"RPC",1941,0) ORWDBA3 HINTS "KRN",19,8552,"RPC",1942,0) ORWDAL32 LOAD FOR EDIT "KRN",19,8552,"RPC",1943,0) ORWDAL32 SAVE ALLERGY "KRN",19,8552,"RPC",1944,0) ORWDAL32 SITE PARAMS "KRN",19,8552,"RPC",1945,0) ORWPCE CXNOSHOW "KRN",19,8552,"RPC",1946,0) ORWDBA2 ADDPDL "KRN",19,8552,"RPC",1947,0) ORWDBA2 DELPDL "KRN",19,8552,"RPC",1948,0) ORWDBA2 GETDUDC "KRN",19,8552,"RPC",1949,0) ORWDBA2 GETPDL "KRN",19,8552,"RPC",1950,0) ORWDBA4 GETBAUSR "KRN",19,8552,"RPC",1951,0) ORWDBA4 GETTFCI "KRN",19,8552,"RPC",1952,0) ORWNSS NSSMSG "KRN",19,8552,"RPC",1953,0) ORWNSS QOSCH "KRN",19,8552,"RPC",1954,0) ORWNSS VALSCH "KRN",19,8552,"RPC",1955,0) ORWNSS CHKSCH "KRN",19,8552,"RPC",1956,0) ORWDPS4 ISUDIV "KRN",19,8552,"RPC",1957,0) ORWDPS32 AUTHNVA "KRN",19,8552,"RPC",1962,0) ORWTIU CHKTXT "KRN",19,8552,"RPC",1964,0) ORWDPS5 ISVTP "KRN",19,8552,"RPC",1965,0) TIU IS THIS A SURGERY? "KRN",19,8552,"RPC",1966,0) TIU IDENTIFY SURGERY CLASS "KRN",19,8552,"RPC",1967,0) TIU LONG LIST SURGERY TITLES "KRN",19,8552,"RPC",1968,0) TIU GET DOCUMENTS FOR REQUEST "KRN",19,8552,"RPC",1969,0) TIU SET ADMINISTRATIVE CLOSURE "KRN",19,8552,"RPC",1970,0) ORBCMA5 GETUDID "KRN",19,8552,"RPC",1973,0) ORIMO ISCLOC "KRN",19,8552,"RPC",1974,0) ORIMO ISIVQO "KRN",19,8552,"RPC",1975,0) ORWDBA7 GETIEN9 "KRN",19,8552,"RPC",1976,0) ORWGN GNLOC "KRN",19,8552,"RPC",1977,0) ORWGN AUTHUSR "KRN",19,8552,"RPC",1978,0) ORVAA VAA "KRN",19,8552,"RPC",1979,0) ORWCIRN VISTAWEB "KRN",19,8552,"RPC",1980,0) ORWCIRN WEBCH "KRN",19,8552,"RPC",1981,0) ORWDAL32 CLINUSER "KRN",19,8552,"RPC",1982,0) ORWDBA7 ISWITCH "KRN",19,8552,"RPC",1983,0) ORWDFH CURRENT MEALS "KRN",19,8552,"RPC",1984,0) ORWDFH NFSLOC READY "KRN",19,8552,"RPC",1985,0) ORWDFH OPDIETS "KRN",19,8552,"RPC",1986,0) ORWMHV MHV "KRN",19,8552,"RPC",1987,0) ORWPCE1 NONCOUNT "KRN",19,8552,"RPC",1988,0) ORWPFSS IS PFSS ACTIVE? "KRN",19,8552,"RPC",1989,0) GMV EXTRACT REC "KRN",19,8552,"RPC",1990,0) GMV MARK ERROR "KRN",19,8552,"RPC",1991,0) ORWDXVB COMPORD "KRN",19,8552,"RPC",1992,0) ORWDXVB GETALL "KRN",19,8552,"RPC",1993,0) ORWDXVB RAW "KRN",19,8552,"RPC",1994,0) ORWDXVB RESULTS "KRN",19,8552,"RPC",1995,0) ORWDXVB STATALOW "KRN",19,8552,"RPC",1996,0) ORWGRPC ALLITEMS "KRN",19,8552,"RPC",1997,0) ORWGRPC CLASS "KRN",19,8552,"RPC",1998,0) ORWGRPC DATEITEM "KRN",19,8552,"RPC",1999,0) ORWGRPC DELVIEWS "KRN",19,8552,"RPC",2000,0) ORWGRPC DETAILS "KRN",19,8552,"RPC",2001,0) ORWGRPC GETDATES "KRN",19,8552,"RPC",2002,0) ORWGRPC GETPREF "KRN",19,8552,"RPC",2003,0) ORWGRPC GETVIEWS "KRN",19,8552,"RPC",2004,0) ORWGRPC ITEMDATA "KRN",19,8552,"RPC",2005,0) ORWGRPC ITEMS "KRN",19,8552,"RPC",2006,0) ORWGRPC LOOKUP "KRN",19,8552,"RPC",2007,0) ORWGRPC PUBLIC "KRN",19,8552,"RPC",2008,0) ORWGRPC RPTPARAM "KRN",19,8552,"RPC",2009,0) ORWGRPC SETPREF "KRN",19,8552,"RPC",2010,0) ORWGRPC SETVIEWS "KRN",19,8552,"RPC",2011,0) ORWGRPC TESTSPEC "KRN",19,8552,"RPC",2012,0) ORWGRPC TYPES "KRN",19,8552,"RPC",2013,0) TIU GET DOCUMENT STATUS "KRN",19,8552,"RPC",2014,0) TIU GET PRF ACTIONS "KRN",19,8552,"RPC",2015,0) TIU ISPRF "KRN",19,8552,"RPC",2016,0) TIU LINK TO FLAG "KRN",19,8552,"RPC",2017,0) ORWGRPC DETAIL "KRN",19,8552,"RPC",2018,0) ORWU VERSION "KRN",19,8552,"RPC",2019,0) GMV ALLERGY "KRN",19,8552,"RPC",2020,0) ORWCIRN WEBADDR "KRN",19,8552,"RPC",2023,0) ORWGRPC TAX "KRN",19,8552,"RPC",2024,0) GMV DLL VERSION "KRN",19,8552,"RPC",2025,0) ORWDX CHANGE "KRN",19,8552,"RPC",2026,0) GMV ADD VM "KRN",19,8552,"RPC",2027,0) GMV CONVERT DATE "KRN",19,8552,"RPC",2028,0) GMV GET CATEGORY IEN "KRN",19,8552,"RPC",2029,0) GMV GET CURRENT TIME "KRN",19,8552,"RPC",2030,0) GMV GET VITAL TYPE IEN "KRN",19,8552,"RPC",2031,0) GMV LATEST VM "KRN",19,8552,"RPC",2032,0) GMV MANAGER "KRN",19,8552,"RPC",2033,0) GMV PARAMETER "KRN",19,8552,"RPC",2034,0) GMV USER "KRN",19,8552,"RPC",2035,0) GMV VITALS/CAT/QUAL "KRN",19,8552,"RPC",2036,0) GMV V/M ALLDATA "KRN",19,8552,"RPC",2037,0) TIU GET LINKED PRF NOTES "KRN",19,8552,"RPC",2038,0) TIU GET PRF TITLE "KRN",19,8552,"RPC",2039,0) ORWDX1 PATWARD "KRN",19,8552,"RPC",2040,0) ORWRP4 HDR MODIFY "KRN",19,8552,"RPC",2041,0) ORWDX1 STCHANGE "KRN",19,8552,"RPC",2042,0) ORWDX1 DCREN "KRN",19,8552,"RPC",2043,0) ORQQPXRM MHV "KRN",19,8552,"RPC",2044,0) ORWGRPC GETSIZE "KRN",19,8552,"RPC",2045,0) ORWGRPC SETSIZE "KRN",19,8552,"RPC",2046,0) GMV LOCATION SELECT "KRN",19,8552,"RPC",2047,0) ORWCIRN AUTORDV "KRN",19,8552,"RPC",2048,0) ORPRF TRIGGER POPUP "KRN",19,8552,"RPC",2049,0) ORWCIRN HDRON "KRN",19,8552,"RPC",2050,0) MAG4 REMOTE IMPORT "KRN",19,8552,"RPC",2051,0) ORWPT ENHANCED PATLOOKUP "KRN",19,8552,"RPC",2052,0) ORWPT OTHER-RADIOBUTTONS "KRN",19,8552,"RPC",2053,0) TMG ADD PATIENT "KRN",19,8552,"RPC",2054,0) TMG AUTOSIGN TIU DOCUMENT "KRN",19,8552,"RPC",2055,0) TMG BARCODE DECODE "KRN",19,8552,"RPC",2056,0) TMG BARCODE ENCODE "KRN",19,8552,"RPC",2057,0) TMG DOWNLOAD FILE "KRN",19,8552,"RPC",2058,0) TMG DOWNLOAD FILE DROPBOX "KRN",19,8552,"RPC",2059,0) TMG GET BLANK TIU DOCUMENT "KRN",19,8552,"RPC",2060,0) TMG GET DFN "KRN",19,8552,"RPC",2061,0) TMG GET IMAGE LONG DESCRIPTION "KRN",19,8552,"RPC",2062,0) TMG GET PATIENT DEMOGRAPHICS "KRN",19,8552,"RPC",2063,0) TMG SET PATIENT DEMOGRAPHICS "KRN",19,8552,"RPC",2064,0) TMG UPLOAD FILE "KRN",19,8552,"RPC",2065,0) TMG UPLOAD FILE DROPBOX "KRN",19,8552,"RPC",2066,0) TMG CPRS GET URL LIST "KRN",19,8552,"RPC",2067,0) MAG3 CPRS TIU NOTE "KRN",19,8552,"RPC",2068,0) MAG3 TIU IMAGE "KRN",19,8552,"RPC",2069,0) MAGGADDIMAGE "KRN",19,8552,"RPC",2070,0) TMG INIFILE GET "KRN",19,8552,"RPC",2071,0) TMG INIFILE SET "KRN",19,8552,"U") CPRSCHART VERSION 1.0.26.69 "KRN",8994,2381,-1) 0^6 "KRN",8994,2381,0) TMG DOWNLOAD FILE^DOWNLOAD^TMGRPC1^4^P^^^1^.5 "KRN",8994,2381,1,0) ^^5^5^3050926^^ "KRN",8994,2381,1,1,0) This RPC will be for requesting a file from the server. "KRN",8994,2381,1,2,0) "KRN",8994,2381,1,3,0) By tunneling file transfer through the RPCBroker, it allows the server to "KRN",8994,2381,1,4,0) control access to files. And it negates need to set up an independant ftp "KRN",8994,2381,1,5,0) or filesystem server etc. "KRN",8994,2381,2,0) ^8994.02A^2^2 "KRN",8994,2381,2,1,0) FNAME^1^256^1^2 "KRN",8994,2381,2,1,1,0) ^^8^8^3050902^^ "KRN",8994,2381,2,1,1,1,0) This should be the filename of the requested file. This needs to be in a "KRN",8994,2381,2,1,1,2,0) format that can be passed to the host filesystem. "KRN",8994,2381,2,1,1,3,0) "KRN",8994,2381,2,1,1,4,0) This should be only the filename (not including the path) "KRN",8994,2381,2,1,1,5,0) "KRN",8994,2381,2,1,1,6,0) For my implementation, I am planning for the server to pass a list of "KRN",8994,2381,2,1,1,7,0) available files to the client. The client can then pass these back one at "KRN",8994,2381,2,1,1,8,0) a time to get the actual file. "KRN",8994,2381,2,2,0) FPATH^1^256^1^1 "KRN",8994,2381,2,2,1,0) ^^2^2^3050926^^ "KRN",8994,2381,2,2,1,1,0) This should be the path up to, but not including, the filename, of the file "KRN",8994,2381,2,2,1,2,0) to be requested from the server. "KRN",8994,2381,2,"B","FNAME",1) "KRN",8994,2381,2,"B","FPATH",2) "KRN",8994,2381,2,"PARAMSEQ",1,2) "KRN",8994,2381,2,"PARAMSEQ",2,1) "KRN",8994,2381,3,0) ^8994.03^19^19^3050926^^^ "KRN",8994,2381,3,1,0) The return value will be an array, with each node containing 512 "KRN",8994,2381,3,2,0) bytes, encoded for ASCII transfer with a Base64 formula (an improvement "KRN",8994,2381,3,3,0) on UUENCODE functions) "KRN",8994,2381,3,4,0) "KRN",8994,2381,3,5,0) GREF(0)=1 <---- 1=valid 0=invalid (failure of load) "KRN",8994,2381,3,6,0) GREF(1)=";lakjsdasvoin;lkj32409u234,mnsdfoi239483....." "KRN",8994,2381,3,7,0) GREF(2)="987sdf,n09xc,/knm6flkhdgjkhsdo4ioidk,sdf....." "KRN",8994,2381,3,8,0) GREF(3)="asdoi,xmnsdkh98xd,.m3ddbdsgkhsdf=cxjkdgm ....." "KRN",8994,2381,3,9,0) ... "KRN",8994,2381,3,10,0) "KRN",8994,2381,3,11,0) Note: Here I am showing random ascii characters. But in actuality, each "KRN",8994,2381,3,12,0) position will hold only those characters used in the Base64 method. "KRN",8994,2381,3,13,0) "KRN",8994,2381,3,14,0) On the client RPCBroker end, the result will be stored in a TStringList, "KRN",8994,2381,3,15,0) with each line being stored in a separate index (i.e. Strings[i]) "KRN",8994,2381,3,16,0) "KRN",8994,2381,3,17,0) Notice that when saving on the client side, the zero node,GREF(0), is NOT "KRN",8994,2381,3,18,0) part of the file, and should be discarded or otherwise not included in the "KRN",8994,2381,3,19,0) save. "KRN",8994,2382,-1) 0^15 "KRN",8994,2382,0) TMG UPLOAD FILE^UPLOAD^TMGRPC1^1^P^^^1^.1 "KRN",8994,2382,1,0) ^8994.01^2^2^3050928^^^ "KRN",8994,2382,1,1,0) This function will accept a binary file uploaded to the server, encoded in a "KRN",8994,2382,1,2,0) BASE64 ascii encoding format. "KRN",8994,2382,2,0) ^8994.02A^4^4 "KRN",8994,2382,2,1,0) FPATH^1^1024^1^1 "KRN",8994,2382,2,1,1,0) ^8994.021^14^14^3050928^^^^ "KRN",8994,2382,2,1,1,1,0) This is the path to store the file into. Note that the server will store "KRN",8994,2382,2,1,1,2,0) all files relative to an internal (hidden) directory. Thus if the storage "KRN",8994,2382,2,1,1,3,0) location is specified to be: "KRN",8994,2382,2,1,1,4,0) /ZZ1/002/IMAGE0001.JPG "KRN",8994,2382,2,1,1,5,0) "KRN",8994,2382,2,1,1,6,0) then the actual storage location might actually be: "KRN",8994,2382,2,1,1,7,0) "KRN",8994,2382,2,1,1,8,0) /var/local/images/storage/ZZ1/002/IMAGE0001.JPG "KRN",8994,2382,2,1,1,9,0) "KRN",8994,2382,2,1,1,10,0) The internal (hidden) directory is stored in field #22700 (TMG PRIVATE "KRN",8994,2382,2,1,1,11,0) PHYSICAL REFERENCE) of file 2005.2 (NETWORK LOCATION) "KRN",8994,2382,2,1,1,12,0) "KRN",8994,2382,2,1,1,13,0) Which record of the NETWORK LOCATION file to use is specified as in the input "KRN",8994,2382,2,1,1,14,0) parameter LOCIEN for this RPC Call (TMG UPLOAD FILE) "KRN",8994,2382,2,2,0) FNAME^1^1024^1^2 "KRN",8994,2382,2,2,1,0) ^^1^1^3050928^^ "KRN",8994,2382,2,2,1,1,0) This is the name of the file to store. It should not include path elements. "KRN",8994,2382,2,3,0) LOCIEN^1^16^0^3 "KRN",8994,2382,2,3,1,0) ^^6^6^3050928^^ "KRN",8994,2382,2,3,1,1,0) This is the record number (IEN) from file 2005.2 (NETWORK LOCATION) that the "KRN",8994,2382,2,3,1,2,0) file will be uploaded to. "KRN",8994,2382,2,3,1,3,0) "KRN",8994,2382,2,3,1,4,0) This is required so that a relative root path can be obtained from custom "KRN",8994,2382,2,3,1,5,0) field 22700 (TMG PRIVATE PHYSICAL LOCATION). See also description of input "KRN",8994,2382,2,3,1,6,0) parameter FPATH. "KRN",8994,2382,2,4,0) ARRAY^2^^1^4 "KRN",8994,2382,2,4,1,0) ^^11^11^3050928^^ "KRN",8994,2382,2,4,1,1,0) This will be the array to store the uploaded data into. "KRN",8994,2382,2,4,1,2,0) For example: "KRN",8994,2382,2,4,1,3,0) "KRN",8994,2382,2,4,1,4,0) ARRAY(0)= "(ascii encoude data in BASE64 format)" "KRN",8994,2382,2,4,1,5,0) ARRAY(0)= "(ascii encoude data in BASE64 format)" "KRN",8994,2382,2,4,1,6,0) ARRAY(1)= "(ascii encoude data in BASE64 format)" "KRN",8994,2382,2,4,1,7,0) ARRAY(2)= "(ascii encoude data in BASE64 format)" "KRN",8994,2382,2,4,1,8,0) ARRAY(3)= "(ascii encoude data in BASE64 format)" "KRN",8994,2382,2,4,1,9,0) ARRAY(4)= "(ascii encoude data in BASE64 format)" "KRN",8994,2382,2,4,1,10,0) ARRAY(5)= "(ascii encoude data in BASE64 format)" "KRN",8994,2382,2,4,1,11,0) ARRAY(6)= "(ascii encoude data in BASE64 format)" "KRN",8994,2382,2,"B","ARRAY",4) "KRN",8994,2382,2,"B","FNAME",2) "KRN",8994,2382,2,"B","FPATH",1) "KRN",8994,2382,2,"B","LOCIEN",3) "KRN",8994,2382,2,"PARAMSEQ",1,1) "KRN",8994,2382,2,"PARAMSEQ",2,2) "KRN",8994,2382,2,"PARAMSEQ",3,3) "KRN",8994,2382,2,"PARAMSEQ",4,4) "KRN",8994,2383,-1) 0^10 "KRN",8994,2383,0) TMG GET IMAGE LONG DESCRIPTION^GETLONG^TMGRPC1^4^P^^^1^1 "KRN",8994,2383,1,0) ^8994.01^2^2^3051016^^^ "KRN",8994,2383,1,1,0) This RPC will return the LONG DESCRIPTION (field 11) from specified record "KRN",8994,2383,1,2,0) in IMAGE file. "KRN",8994,2383,2,0) ^8994.02A^1^1 "KRN",8994,2383,2,1,0) IMAGEIEN^1^6^1^1 "KRN",8994,2383,2,1,1,0) ^8994.021^3^3^3051016^^^ "KRN",8994,2383,2,1,1,1,0) This value should be the IEN for the record in question, from file IMAGE "KRN",8994,2383,2,1,1,2,0) (file 2005). If IEN references a non-existing record, then empty result "KRN",8994,2383,2,1,1,3,0) will be returned. "KRN",8994,2383,2,"B","IMAGEIEN",1) "KRN",8994,2383,2,"PARAMSEQ",1,1) "KRN",8994,2383,3,0) ^^18^18^3051016^^ "KRN",8994,2383,3,1,0) This will return the results from the WP field, number 11 (LONG DESCRIPTION) "KRN",8994,2383,3,2,0) from the IMAGE file (2005) "KRN",8994,2383,3,3,0) "KRN",8994,2383,3,4,0) The return format will be as follows: "KRN",8994,2383,3,5,0) Array(0)=WP header line. Format is: ^^MaxLine^MaxLine^FMDate/TimeStamp "KRN",8994,2383,3,6,0) Array(1)=WP Line 1 "KRN",8994,2383,3,7,0) Array(2)=WP LIne 2 "KRN",8994,2383,3,8,0) ... etc. "KRN",8994,2383,3,9,0) "KRN",8994,2383,3,10,0) In client, these results could be accesible as follows: "KRN",8994,2383,3,11,0) "KRN",8994,2383,3,12,0) RPCBroker.Results[0]=WP Header Line "KRN",8994,2383,3,13,0) RPCBroker.Results[1]=WP Line 1 "KRN",8994,2383,3,14,0) RPCBroker.Results[2]=WP Line 2 "KRN",8994,2383,3,15,0) ... etc. "KRN",8994,2383,3,16,0) "KRN",8994,2383,3,17,0) If there is no value for field 11, result will be: "KRN",8994,2383,3,18,0) Array(0)="" "KRN",8994,2384,-1) 0^9 "KRN",8994,2384,0) TMG GET DFN^GETDFN^TMGRPC1^1^P^0^^1^1 "KRN",8994,2384,1,0) ^8994.01^2^2^3070725^^^^ "KRN",8994,2384,1,1,0) Used by CPRS customization for looking up a patient, and returning "KRN",8994,2384,1,2,0) the DFN (IEN in PATIENT file). "KRN",8994,2384,2,0) ^8994.02A^9^9 "KRN",8994,2384,2,1,0) RECNUM^1^64^0^1 "KRN",8994,2384,2,1,1,0) ^^2^2^3070725^^ "KRN",8994,2384,2,1,1,1,0) This parameter is for a chart or account number in an independent PMS. "KRN",8994,2384,2,1,1,2,0) Optional parameter. "KRN",8994,2384,2,2,0) PMS^1^16^0^2 "KRN",8994,2384,2,2,1,0) ^^12^12^3070725^^ "KRN",8994,2384,2,2,1,1,0) This is a number indicating which PMS that the RECNUM parameter "KRN",8994,2384,2,2,1,2,0) refers to. "KRN",8994,2384,2,2,1,3,0) "KRN",8994,2384,2,2,1,4,0) Example inputs: "KRN",8994,2384,2,2,1,5,0) 1 <-- for TMG MEDIC ACCOUNT NUMBER "KRN",8994,2384,2,2,1,6,0) 2 <-- for SEQUEL ACCOUNT NUMBER "KRN",8994,2384,2,2,1,7,0) "KRN",8994,2384,2,2,1,8,0) Note: This is an 'optional' parameter, BUT if RECNUM parameter is supplied, "KRN",8994,2384,2,2,1,9,0) then this parameter must also be supplied, otherwise RecNum will be ignored. "KRN",8994,2384,2,2,1,10,0) "KRN",8994,2384,2,2,1,11,0) Note: Dealing with these numbers is hard coded into the RPC server code, "KRN",8994,2384,2,2,1,12,0) and adding additional PMS support must be coded into the calls. "KRN",8994,2384,2,3,0) LNAME^1^64^^3 "KRN",8994,2384,2,3,1,0) ^^1^1^3070725^^ "KRN",8994,2384,2,3,1,1,0) This is the patient's last name (i.e. family name) "KRN",8994,2384,2,4,0) FNAME^1^64^^4 "KRN",8994,2384,2,4,1,0) ^^1^1^3070725^^ "KRN",8994,2384,2,4,1,1,0) This is the patient's first (given) name. "KRN",8994,2384,2,5,0) MNAME^1^64^^5 "KRN",8994,2384,2,5,1,0) ^^1^1^3070725^^ "KRN",8994,2384,2,5,1,1,0) This is the patient's middle name, OR middle initial. "KRN",8994,2384,2,6,0) DOB^1^32^^6 "KRN",8994,2384,2,6,1,0) ^^2^2^3070725^^ "KRN",8994,2384,2,6,1,1,0) This is the patient's date of birth, in EXTERNAL (i.e. "KRN",8994,2384,2,6,1,2,0) user supplied) format. "KRN",8994,2384,2,7,0) SEX^1^1^^7 "KRN",8994,2384,2,7,1,0) ^^3^3^3070725^^ "KRN",8994,2384,2,7,1,1,0) This is the patient's sex. Should be: "KRN",8994,2384,2,7,1,2,0) M for male "KRN",8994,2384,2,7,1,3,0) F for female "KRN",8994,2384,2,8,0) SSNUM^1^9^^8 "KRN",8994,2384,2,8,1,0) ^^6^6^3070725^^ "KRN",8994,2384,2,8,1,1,0) This is the patient's Social Security Number (SS Num) "KRN",8994,2384,2,8,1,2,0) Should NOT include dashes. "KRN",8994,2384,2,8,1,3,0) "KRN",8994,2384,2,8,1,4,0) Example: "KRN",8994,2384,2,8,1,5,0) 123456789 "KRN",8994,2384,2,8,1,6,0) NOT: 123-45-6789 "KRN",8994,2384,2,9,0) AUTOADD^1^1^^9 "KRN",8994,2384,2,9,1,0) ^^6^6^3070725^^ "KRN",8994,2384,2,9,1,1,0) If this parameter value is 1, then patient will be automatically "KRN",8994,2384,2,9,1,2,0) registered if they are not found during lookup. "KRN",8994,2384,2,9,1,3,0) "KRN",8994,2384,2,9,1,4,0) Examples: "KRN",8994,2384,2,9,1,5,0) 1 <-- auto add if not found "KRN",8994,2384,2,9,1,6,0) 0 <-- don't auto add (default value) "KRN",8994,2384,2,"B","AUTOADD",9) "KRN",8994,2384,2,"B","DOB",6) "KRN",8994,2384,2,"B","FNAME",4) "KRN",8994,2384,2,"B","LNAME",3) "KRN",8994,2384,2,"B","MNAME",5) "KRN",8994,2384,2,"B","PMS",2) "KRN",8994,2384,2,"B","RECNUM",1) "KRN",8994,2384,2,"B","SEX",7) "KRN",8994,2384,2,"B","SSNUM",8) "KRN",8994,2384,2,"PARAMSEQ",1,1) "KRN",8994,2384,2,"PARAMSEQ",2,2) "KRN",8994,2384,2,"PARAMSEQ",3,3) "KRN",8994,2384,2,"PARAMSEQ",4,4) "KRN",8994,2384,2,"PARAMSEQ",5,5) "KRN",8994,2384,2,"PARAMSEQ",6,6) "KRN",8994,2384,2,"PARAMSEQ",7,7) "KRN",8994,2384,2,"PARAMSEQ",8,8) "KRN",8994,2384,2,"PARAMSEQ",9,9) "KRN",8994,2384,3,0) ^8994.03^1^1^3070725^^^^ "KRN",8994,2384,3,1,0) This will return the DFN (IEN in PATIENT file), or -1 if not found or error. "KRN",8994,2385,-1) 0^8 "KRN",8994,2385,0) TMG GET BLANK TIU DOCUMENT^BLANKTIU^TMGRPC1^1^P^0^^1^1 "KRN",8994,2385,1,0) ^8994.01^3^3^3070725^^ "KRN",8994,2385,1,1,0) This RPC call will be used to create a new record in file 8925 (TIU DOCUMENT) "KRN",8994,2385,1,2,0) that can be used for other purposes. "KRN",8994,2385,1,3,0) Note: This will be an UNSIGNED document that will later need to be signed. "KRN",8994,2385,2,0) ^8994.02A^5^5 "KRN",8994,2385,2,1,0) DFN^1^16^1^1 "KRN",8994,2385,2,1,1,0) ^^2^2^3070725^^ "KRN",8994,2385,2,1,1,1,0) This is the IEN in the PATIENT file. I.e. the record number of the patient "KRN",8994,2385,2,1,1,2,0) for which the note is being created. "KRN",8994,2385,2,2,0) PERSON^1^64^1^2 "KRN",8994,2385,2,2,1,0) ^^1^1^3070725^^ "KRN",8994,2385,2,2,1,1,0) This is the name of the provider of record for the new document. "KRN",8994,2385,2,3,0) LOC^1^64^1^3 "KRN",8994,2385,2,3,1,0) ^^3^3^3070725^^ "KRN",8994,2385,2,3,1,1,0) This is the location for the new document. Note this location should be the "KRN",8994,2385,2,3,1,2,0) name of a location named in the HOSPITAL LOCATION file (#44). That is, the "KRN",8994,2385,2,3,1,3,0) .01 field name, or perhaps the abbreviation for the location if defined. "KRN",8994,2385,2,4,0) DOS^1^32^1^4 "KRN",8994,2385,2,4,1,0) ^^1^1^3070725^^ "KRN",8994,2385,2,4,1,1,0) This is the Date of Service for the new document. "KRN",8994,2385,2,5,0) TITLE^1^64^1^5 "KRN",8994,2385,2,5,1,0) ^^4^4^3070725^^ "KRN",8994,2385,2,5,1,1,0) This is the title for the new note. "KRN",8994,2385,2,5,1,2,0) Note: This must be a title as defined in file 8925.1 (TIU DOCUMENT DEFINITION). "KRN",8994,2385,2,5,1,3,0) That is to say, the name of the .01 field, or perhaps any abbreviation "KRN",8994,2385,2,5,1,4,0) if defined. "KRN",8994,2385,2,"B","DFN",1) "KRN",8994,2385,2,"B","DOS",4) "KRN",8994,2385,2,"B","LOC",3) "KRN",8994,2385,2,"B","PERSON",2) "KRN",8994,2385,2,"B","TITLE",5) "KRN",8994,2385,2,"PARAMSEQ",1,1) "KRN",8994,2385,2,"PARAMSEQ",2,2) "KRN",8994,2385,2,"PARAMSEQ",3,3) "KRN",8994,2385,2,"PARAMSEQ",4,4) "KRN",8994,2385,2,"PARAMSEQ",5,5) "KRN",8994,2385,3,0) ^^1^1^3070725^^ "KRN",8994,2385,3,1,0) Returns the IEN (record number) of a new, blank note in file 8925 "KRN",8994,2386,-1) 0^2 "KRN",8994,2386,0) TMG AUTOSIGN TIU DOCUMENT^AUTOSIGN^TMGRPC1^2^P^0^^1^1 "KRN",8994,2386,1,0) ^^2^2^3070730^^ "KRN",8994,2386,1,1,0) This will allow the auto-signing of a document. It is designed to automatically "KRN",8994,2386,1,2,0) complete documents that are added to VistA via scanning. "KRN",8994,2386,2,0) ^8994.02A^1^1 "KRN",8994,2386,2,1,0) DOCIEN^1^16^1^1 "KRN",8994,2386,2,1,1,0) ^^1^1^3070730^^ "KRN",8994,2386,2,1,1,1,0) This is the IEN (internal entry number) of the document to be signed. "KRN",8994,2386,2,"B","DOCIEN",1) "KRN",8994,2386,2,"PARAMSEQ",1,1) "KRN",8994,2386,3,0) ^^3^3^3070730^^ "KRN",8994,2386,3,1,0) Return value is an array. "KRN",8994,2386,3,2,0) Array(0)=1 if success, or -1 if failure. "KRN",8994,2386,3,3,0) Errors are returned in Array("DIERR") "KRN",8994,2387,-1) 0^11 "KRN",8994,2387,0) TMG GET PATIENT DEMOGRAPHICS^DFNINFO^TMGRPC1^2^P^^^1^1 "KRN",8994,2387,1,0) ^^2^2^3070923^^ "KRN",8994,2387,1,1,0) This RPC calls returns patient demographic info in a formatted array. "KRN",8994,2387,1,2,0) See description of return parameter for details. "KRN",8994,2387,2,0) ^8994.02A^1^1 "KRN",8994,2387,2,1,0) DFN^1^^1^1 "KRN",8994,2387,2,1,1,0) ^^2^2^3070923^^ "KRN",8994,2387,2,1,1,1,0) This is the IEN (internal entry number), aka record number, "KRN",8994,2387,2,1,1,2,0) of the patient to get the demographics for. "KRN",8994,2387,2,"B","DFN",1) "KRN",8994,2387,2,"PARAMSEQ",1,1) "KRN",8994,2387,3,0) ^^49^49^3070923^^ "KRN",8994,2387,3,1,0) ;" The results are in format: KeyName=Value, "KRN",8994,2387,3,2,0) ;" There is no set order these will appear. "KRN",8994,2387,3,3,0) ;" Here are the KeyName names that will be provided. "KRN",8994,2387,3,4,0) ;" If the record has no value, then value will be empty "KRN",8994,2387,3,5,0) ;" "KRN",8994,2387,3,6,0) ;" IEN=record# "KRN",8994,2387,3,7,0) ;" COMBINED_NAME= "KRN",8994,2387,3,8,0) ;" LNAME= "KRN",8994,2387,3,9,0) ;" FNAME= "KRN",8994,2387,3,10,0) ;" MNAME= "KRN",8994,2387,3,11,0) ;" PREFIX= "KRN",8994,2387,3,12,0) ;" SUFFIX= "KRN",8994,2387,3,13,0) ;" DEGREE "KRN",8994,2387,3,14,0) ;" DOB= "KRN",8994,2387,3,15,0) ;" SEX= "KRN",8994,2387,3,16,0) ;" SS_NUM= "KRN",8994,2387,3,17,0) ;" ADDRESS_LINE_1= "KRN",8994,2387,3,18,0) ;" ADDRESS_LINE_2= "KRN",8994,2387,3,19,0) ;" ADDRESS_LINE_3= "KRN",8994,2387,3,20,0) ;" CITY= "KRN",8994,2387,3,21,0) ;" STATE= "KRN",8994,2387,3,22,0) ;" ZIP4= "KRN",8994,2387,3,23,0) ;" BAD_ADDRESS= "KRN",8994,2387,3,24,0) ;" TEMP_ADDRESS_LINE_1= "KRN",8994,2387,3,25,0) ;" TEMP_ADDRESS_LINE_2= "KRN",8994,2387,3,26,0) ;" TEMP_ADDRESS_LINE_3= "KRN",8994,2387,3,27,0) ;" TEMP_CITY= "KRN",8994,2387,3,28,0) ;" TEMP_STATE= "KRN",8994,2387,3,29,0) ;" TEMP_ZIP4= "KRN",8994,2387,3,30,0) ;" TEMP_STARTING_DATE= "KRN",8994,2387,3,31,0) ;" TEMP_ENDING_DATE= "KRN",8994,2387,3,32,0) ;" TEMP_ADDRESS_ACTIVE= "KRN",8994,2387,3,33,0) ;" CONF_ADDRESS_LINE_1= "KRN",8994,2387,3,34,0) ;" CONF_ADDRESS_LINE_2= "KRN",8994,2387,3,35,0) ;" CONF_ADDRESS_LINE_3= "KRN",8994,2387,3,36,0) ;" CONF_CITY= "KRN",8994,2387,3,37,0) ;" CONF_STATE= "KRN",8994,2387,3,38,0) ;" CONF_ZIP4= "KRN",8994,2387,3,39,0) ;" CONF_STARTING_DATE= "KRN",8994,2387,3,40,0) ;" CONF_ENDING_DATE= "KRN",8994,2387,3,41,0) ;" CONF_ADDRESS_ACTIVE= "KRN",8994,2387,3,42,0) ;" PHONE_RESIDENCE= "KRN",8994,2387,3,43,0) ;" PHONE_WORK= "KRN",8994,2387,3,44,0) ;" PHONE_CELL= "KRN",8994,2387,3,45,0) ;" PHONE_TEMP= "KRN",8994,2387,3,46,0) "KRN",8994,2387,3,47,0) ;"Note, for the following, there may be multiple entries. # is record number "KRN",8994,2387,3,48,0) ;" ALIAS # NAME "KRN",8994,2387,3,49,0) ;" ALIAS # SSN "KRN",8994,2388,-1) 0^14 "KRN",8994,2388,0) TMG SET PATIENT DEMOGRAPHICS^STPTINFO^TMGRPC1^1^P^^^1^1 "KRN",8994,2388,1,0) ^8994.01^1^1^3070926^^^ "KRN",8994,2388,1,1,0) This RPC is for setting basic demographics info for a patient. "KRN",8994,2388,2,0) ^8994.02A^2^2 "KRN",8994,2388,2,1,0) DFN^1^^1^1 "KRN",8994,2388,2,1,1,0) ^^1^1^3070926^^ "KRN",8994,2388,2,1,1,1,0) This DFN value is the IEN (internal entry number) of the patient in the PATIENT file. "KRN",8994,2388,2,2,0) INFO^2^^1^2 "KRN",8994,2388,2,2,1,0) ^^47^47^3070926^^ "KRN",8994,2388,2,2,1,1,0) This will be the data to set for the specified patient. "KRN",8994,2388,2,2,1,2,0) Demographics are passed in a Key=Value format: "KRN",8994,2388,2,2,1,3,0) "KRN",8994,2388,2,2,1,4,0) Here are the KeyName names that will be provided. "KRN",8994,2388,2,2,1,5,0) There is no set order these will appear. "KRN",8994,2388,2,2,1,6,0) If the record has no value, then value will be empty "KRN",8994,2388,2,2,1,7,0) If a record should be deleted, its value will be @ "KRN",8994,2388,2,2,1,8,0) INFO("COMBINED_NAME")= "KRN",8994,2388,2,2,1,9,0) INFO("PREFIX")= "KRN",8994,2388,2,2,1,10,0) INFO("SUFFIX")= "KRN",8994,2388,2,2,1,11,0) INFO("DEGREE")= "KRN",8994,2388,2,2,1,12,0) INFO("DOB")= "KRN",8994,2388,2,2,1,13,0) INFO("SEX")= "KRN",8994,2388,2,2,1,14,0) INFO("SS_NUM")= "KRN",8994,2388,2,2,1,15,0) INFO("ADDRESS_LINE_1")= "KRN",8994,2388,2,2,1,16,0) INFO("ADDRESS_LINE_2")= "KRN",8994,2388,2,2,1,17,0) INFO("ADDRESS_LINE_3")= "KRN",8994,2388,2,2,1,18,0) INFO("CITY")= "KRN",8994,2388,2,2,1,19,0) INFO("STATE")= "KRN",8994,2388,2,2,1,20,0) INFO("ZIP4")= "KRN",8994,2388,2,2,1,21,0) INFO("BAD_ADDRESS")= "KRN",8994,2388,2,2,1,22,0) INFO("TEMP_ADDRESS_LINE_1")= "KRN",8994,2388,2,2,1,23,0) INFO("TEMP_ADDRESS_LINE_2")= "KRN",8994,2388,2,2,1,24,0) INFO("TEMP_ADDRESS_LINE_3")= "KRN",8994,2388,2,2,1,25,0) INFO("TEMP_CITY")= "KRN",8994,2388,2,2,1,26,0) INFO("TEMP_STATE")= "KRN",8994,2388,2,2,1,27,0) INFO("TEMP_ZIP4")= "KRN",8994,2388,2,2,1,28,0) INFO("TEMP_STARTING_DATE")= "KRN",8994,2388,2,2,1,29,0) INFO("TEMP_ENDING_DATE")= "KRN",8994,2388,2,2,1,30,0) INFO("TEMP_ADDRESS_ACTIVE")= "KRN",8994,2388,2,2,1,31,0) INFO("CONF_ADDRESS_LINE_1")= "KRN",8994,2388,2,2,1,32,0) INFO("CONF_ADDRESS_LINE_2")= "KRN",8994,2388,2,2,1,33,0) INFO("CONF_ADDRESS_LINE_3")= "KRN",8994,2388,2,2,1,34,0) INFO("CONF_CITY")= "KRN",8994,2388,2,2,1,35,0) INFO("CONF_STATE")= "KRN",8994,2388,2,2,1,36,0) INFO("CONF_ZIP4")= "KRN",8994,2388,2,2,1,37,0) INFO("CONF_STARTING_DATE")= "KRN",8994,2388,2,2,1,38,0) INFO("CONF_ENDING_DATE")= "KRN",8994,2388,2,2,1,39,0) INFO("CONF_ADDRESS_ACTIVE")= "KRN",8994,2388,2,2,1,40,0) INFO("PHONE_RESIDENCE")= "KRN",8994,2388,2,2,1,41,0) INFO("PHONE_WORK")= "KRN",8994,2388,2,2,1,42,0) INFO("PHONE_CELL")= "KRN",8994,2388,2,2,1,43,0) INFO("PHONE_TEMP")= "KRN",8994,2388,2,2,1,44,0) Note, for the following, there may be multiple entries. # is record number "KRN",8994,2388,2,2,1,45,0) If a record should be added, it will be marked +1, +2 etc. "KRN",8994,2388,2,2,1,46,0) INFO("ALIAS # NAME")= "KRN",8994,2388,2,2,1,47,0) INFO("ALIAS # SSN")= "KRN",8994,2388,2,"B","DFN",1) "KRN",8994,2388,2,"B","INFO",2) "KRN",8994,2388,2,"PARAMSEQ",1,1) "KRN",8994,2388,2,"PARAMSEQ",2,2) "KRN",8994,2388,3,0) ^^4^4^3070926^^ "KRN",8994,2388,3,1,0) Return value will be: "KRN",8994,2388,3,2,0) 1 for success, or "KRN",8994,2388,3,3,0) -1^Message for failure "KRN",8994,2388,3,4,0) "KRN",8994,2389,-1) 0^1 "KRN",8994,2389,0) TMG ADD PATIENT^PTADD^TMGRPC1^1^^^^1 "KRN",8994,2389,1,0) ^8994.01^1^1^3071010^^^^ "KRN",8994,2389,1,1,0) This RPC is to add a patient. "KRN",8994,2389,2,0) ^8994.02A^1^1 "KRN",8994,2389,2,1,0) INFO^2^^1^1 "KRN",8994,2389,2,1,1,0) ^8994.021^12^12^3071010^^^^ "KRN",8994,2389,2,1,1,1,0) ;" INFO: Format as follows: "KRN",8994,2389,2,1,1,2,0) ;" The results are in format: INFO("KeyName")=Value, "KRN",8994,2389,2,1,1,3,0) ;" There is no set order these will appear. "KRN",8994,2389,2,1,1,4,0) ;" Here are the KeyName names that will be provided. "KRN",8994,2389,2,1,1,5,0) ;" If the record has no value, then value will be empty "KRN",8994,2389,2,1,1,6,0) ;" If a record should be deleted, its value will be @ "KRN",8994,2389,2,1,1,7,0) ;" INFO("COMBINED_NAME")= "KRN",8994,2389,2,1,1,8,0) ;" INFO("DOB")= "KRN",8994,2389,2,1,1,9,0) ;" INFO("SEX")= "KRN",8994,2389,2,1,1,10,0) ;" INFO("SS_NUM")= "KRN",8994,2389,2,1,1,11,0) ;" INFO("Veteran")= "KRN",8994,2389,2,1,1,12,0) ;" INFO("PtType")= "KRN",8994,2389,2,"B","INFO",1) "KRN",8994,2389,2,"PARAMSEQ",1,1) "KRN",8994,2389,3,0) ^8994.03^3^3^3071010^^^ "KRN",8994,2389,3,1,0) ;"Results: Results passed back in RESULT string: "KRN",8994,2389,3,2,0) ;" 1^DFN = success "KRN",8994,2389,3,3,0) ;" -1^Message = failure "KRN",8994,2390,-1) 0^4 "KRN",8994,2390,0) TMG BARCODE ENCODE^GETBARCD^TMGRPC1^4^P^^^1^1 "KRN",8994,2390,1,0) ^^17^17^3071227^^ "KRN",8994,2390,1,1,0) This RPC will be for requesting a barcode from the server. "KRN",8994,2390,1,2,0) This will return an image containing a DataMatrix 2D "KRN",8994,2390,1,3,0) barcode. "KRN",8994,2390,1,4,0) "KRN",8994,2390,1,5,0) It is dependent on a command to be installed on the "KRN",8994,2390,1,6,0) linux host server: libdtmx which may be installed "KRN",8994,2390,1,7,0) from www.sourceforge.org. See comments in TMGBARC.m for "KRN",8994,2390,1,8,0) details. "KRN",8994,2390,1,9,0) "KRN",8994,2390,1,10,0) If an image type of other than .png is desired then this "KRN",8994,2390,1,11,0) is dependent on "convert" utility being installed on the "KRN",8994,2390,1,12,0) linux host server. This is part of the linux ImageMagick "KRN",8994,2390,1,13,0) package. "KRN",8994,2390,1,14,0) "KRN",8994,2390,1,15,0) It will return the barcode in ascii armour encoding, which "KRN",8994,2390,1,16,0) must be decoded on the client side. This functionality is "KRN",8994,2390,1,17,0) the same as used for TMG UPLOAD and TMG DOWNLOAD of images. "KRN",8994,2390,2,0) ^8994.02A^2^2 "KRN",8994,2390,2,1,0) MESSAGE^1^1024^1^1 "KRN",8994,2390,2,1,1,0) ^^12^12^3071221^^ "KRN",8994,2390,2,1,1,1,0) This should be the message / text / numbers to be "KRN",8994,2390,2,1,1,2,0) encoded in the barcode. "KRN",8994,2390,2,1,1,3,0) "KRN",8994,2390,2,1,1,4,0) I have not explored the limits of what type of chars "KRN",8994,2390,2,1,1,5,0) can be stored in the barcode. I think that it does "KRN",8994,2390,2,1,1,6,0) NOT allow extended chars or control chars. "KRN",8994,2390,2,1,1,7,0) "KRN",8994,2390,2,1,1,8,0) I am also not sure of the allowed length. This can "KRN",8994,2390,2,1,1,9,0) be explored more later. With some bar code creators, "KRN",8994,2390,2,1,1,10,0) if the length exceeds the allowed chars for one 2D "KRN",8994,2390,2,1,1,11,0) square, then a second square is created beside the first "KRN",8994,2390,2,1,1,12,0) for the extra characters. "KRN",8994,2390,2,2,0) OPTION^2^^0^2 "KRN",8994,2390,2,2,1,0) ^^15^15^3071227^^ "KRN",8994,2390,2,2,1,1,0) This array may contain options: "KRN",8994,2390,2,2,1,2,0) "KRN",8994,2390,2,2,1,3,0) OPTION("IMAGE TYPE")=image type. "KRN",8994,2390,2,2,1,4,0) "KRN",8994,2390,2,2,1,5,0) Example "KRN",8994,2390,2,2,1,6,0) OPTION("IMAGE TYPE")="jpg" <-- image returned in jpg format "KRN",8994,2390,2,2,1,7,0) or "KRN",8994,2390,2,2,1,8,0) OPTION("IMAGE TYPE")="tiff" <-- image returned in tiff format "KRN",8994,2390,2,2,1,9,0) "KRN",8994,2390,2,2,1,10,0) Specified image type is NOT case sensitive. "KRN",8994,2390,2,2,1,11,0) "KRN",8994,2390,2,2,1,12,0) Allowed image types is determined by ImageMagick utility "KRN",8994,2390,2,2,1,13,0) 'convert' installed on host linux system. "KRN",8994,2390,2,2,1,14,0) "KRN",8994,2390,2,2,1,15,0) "KRN",8994,2390,2,"B","MESSAGE",1) "KRN",8994,2390,2,"B","OPTION",2) "KRN",8994,2390,2,"PARAMSEQ",1,1) "KRN",8994,2390,2,"PARAMSEQ",2,2) "KRN",8994,2390,3,0) ^^23^23^3071227^^ "KRN",8994,2390,3,1,0) By default, the returned image is the created barcode image in .png format. "KRN",8994,2390,3,2,0) See OPTION parameter regarding specifying other image formats. "KRN",8994,2390,3,3,0) "KRN",8994,2390,3,4,0) Regarding the data transfer itself: "KRN",8994,2390,3,5,0) The return value will be an array, with each node containing 512 "KRN",8994,2390,3,6,0) bytes, encoded for ASCII transfer with a Base64 formula (an improvement "KRN",8994,2390,3,7,0) on UUENCODE functions) "KRN",8994,2390,3,8,0) "KRN",8994,2390,3,9,0) GREF(0)=1 <---- 1=valid 0=invalid (failure of load) "KRN",8994,2390,3,10,0) GREF(1)=";lakjsdasvoin;lkj32409u234,mnsdfoi239483....." "KRN",8994,2390,3,11,0) GREF(2)="987sdf,n09xc,/knm6flkhdgjkhsdo4ioidk,sdf....." "KRN",8994,2390,3,12,0) GREF(3)="asdoi,xmnsdkh98xd,.m3ddbdsgkhsdf=cxjkdgm ....." "KRN",8994,2390,3,13,0) ... "KRN",8994,2390,3,14,0) "KRN",8994,2390,3,15,0) Note: Here I am showing random ascii characters. But in actuality, each "KRN",8994,2390,3,16,0) position will hold only those characters used in the Base64 method. "KRN",8994,2390,3,17,0) "KRN",8994,2390,3,18,0) On the client RPCBroker end, the result will be stored in a TStringList, "KRN",8994,2390,3,19,0) with each line being stored in a separate index (i.e. Strings[i]) "KRN",8994,2390,3,20,0) "KRN",8994,2390,3,21,0) Notice that when saving on the client side, the zero node,GREF(0), is NOT "KRN",8994,2390,3,22,0) part of the file, and should be discarded or otherwise not included in the "KRN",8994,2390,3,23,0) save. "KRN",8994,2391,-1) 0^3 "KRN",8994,2391,0) TMG BARCODE DECODE^DECODEBC^TMGRPC1^1^^^^1^1 "KRN",8994,2391,1,0) ^8994.01^5^5^3080102^^^^ "KRN",8994,2391,1,1,0) This function will return the text encoded inside "KRN",8994,2391,1,2,0) barcode stored on an image that is uploaded to "KRN",8994,2391,1,3,0) function. "KRN",8994,2391,1,4,0) "KRN",8994,2391,1,5,0) Barcode must be in DataMatrix format. "KRN",8994,2391,2,0) ^8994.02A^2^2 "KRN",8994,2391,2,1,0) ARRAY^2^^1^1 "KRN",8994,2391,2,1,1,0) ^^21^21^3071227^^ "KRN",8994,2391,2,1,1,1,0) This will be used for uploading the image that contains "KRN",8994,2391,2,1,1,2,0) the barcode for decoding. "KRN",8994,2391,2,1,1,3,0) "KRN",8994,2391,2,1,1,4,0) Default format for Image is a .png format. See OPTION "KRN",8994,2391,2,1,1,5,0) parameter for specifying Image to be in another format. "KRN",8994,2391,2,1,1,6,0) "KRN",8994,2391,2,1,1,7,0) Barcode should be a DataMatrix barcode. "KRN",8994,2391,2,1,1,8,0) "KRN",8994,2391,2,1,1,9,0) It is OK for the image to NOT contain a barcode. This "KRN",8994,2391,2,1,1,10,0) will cause a null value to be returned. "KRN",8994,2391,2,1,1,11,0) "KRN",8994,2391,2,1,1,12,0) Array Format: "KRN",8994,2391,2,1,1,13,0) For example: "KRN",8994,2391,2,1,1,14,0) ARRAY(0)= "(ascii encoude data in BASE64 format)" "KRN",8994,2391,2,1,1,15,0) ARRAY(0)= "(ascii encoude data in BASE64 format)" "KRN",8994,2391,2,1,1,16,0) ARRAY(1)= "(ascii encoude data in BASE64 format)" "KRN",8994,2391,2,1,1,17,0) ARRAY(2)= "(ascii encoude data in BASE64 format)" "KRN",8994,2391,2,1,1,18,0) ARRAY(3)= "(ascii encoude data in BASE64 format)" "KRN",8994,2391,2,1,1,19,0) ARRAY(4)= "(ascii encoude data in BASE64 format)" "KRN",8994,2391,2,1,1,20,0) ARRAY(5)= "(ascii encoude data in BASE64 format)" "KRN",8994,2391,2,1,1,21,0) ARRAY(6)= "(ascii encoude data in BASE64 format)" "KRN",8994,2391,2,2,0) IMGTYPE^1^^1^2 "KRN",8994,2391,2,2,1,0) ^^10^10^3080102^^ "KRN",8994,2391,2,2,1,1,0) This should be the type of the image held in ARRAY "KRN",8994,2391,2,2,1,2,0) "KRN",8994,2391,2,2,1,3,0) e.g. "jpg", or "JPG", or "tif" etc. "KRN",8994,2391,2,2,1,4,0) "KRN",8994,2391,2,2,1,5,0) NOTE: do not include the "." i.e. use "jpg", NOT ".jpg" "KRN",8994,2391,2,2,1,6,0) "KRN",8994,2391,2,2,1,7,0) Specified image type is NOT case sensitive. "KRN",8994,2391,2,2,1,8,0) "KRN",8994,2391,2,2,1,9,0) Allowed image types is determined by ImageMagick utility "KRN",8994,2391,2,2,1,10,0) 'convert' installed on host linux system. "KRN",8994,2391,2,"B","ARRAY",1) "KRN",8994,2391,2,"B","IMGTYPE",2) "KRN",8994,2391,2,"PARAMSEQ",1,1) "KRN",8994,2391,2,"PARAMSEQ",2,2) "KRN",8994,2391,3,0) ^8994.03^4^4^3080102^^^^ "KRN",8994,2391,3,1,0) Value to be returned will be: "KRN",8994,2391,3,2,0) "KRN",8994,2391,3,3,0) 1^Decoded Message "KRN",8994,2391,3,4,0) 0^Failure Message "KRN",8994,2392,-1) 0^7 "KRN",8994,2392,0) TMG DOWNLOAD FILE DROPBOX^DOWNDROP^TMGRPC1^1^^^^^1 "KRN",8994,2392,1,0) ^8994.01^3^3^3080131^^^ "KRN",8994,2392,1,1,0) This will cause a file to be transferred from the server's "KRN",8994,2392,1,2,0) private file storage location into the drop box location. "KRN",8994,2392,1,3,0) "KRN",8994,2392,2,0) ^8994.02A^3^3 "KRN",8994,2392,2,1,0) FPATH^1^128^1^1 "KRN",8994,2392,2,1,1,0) ^^26^26^3080131^^ "KRN",8994,2392,2,1,1,1,0) The file path up to, but not including, the filename. This "KRN",8994,2392,2,1,1,2,0) is the path that the file is stored at on the server, relative "KRN",8994,2392,2,1,1,3,0) to a private server path. "KRN",8994,2392,2,1,1,4,0) "KRN",8994,2392,2,1,1,5,0) It is NOT the location of the dropbox path. (That is stored in "KRN",8994,2392,2,1,1,6,0) field 22702 in file 2005.2) "KRN",8994,2392,2,1,1,7,0) "KRN",8994,2392,2,1,1,8,0) For security reasons, all path requests will be considered relative to a root path. "KRN",8994,2392,2,1,1,9,0) e.g. if user asks for /download/SomeFile.jpg, this function will retrieve: "KRN",8994,2392,2,1,1,10,0) /var/local/Dir1/Dir2/download/SomeFile.jpg "KRN",8994,2392,2,1,1,11,0) "KRN",8994,2392,2,1,1,12,0) This root path is found in custom field 22701 in file 2005.2 "KRN",8994,2392,2,1,1,13,0) Note Also: dropbox location is obtained from custom field 22702 in file 2005.2 "KRN",8994,2392,2,1,1,14,0) "KRN",8994,2392,2,1,1,15,0) So for input: "KRN",8994,2392,2,1,1,16,0) FPATH = /download/ "KRN",8994,2392,2,1,1,17,0) FNAME = SomeFile.jpg "KRN",8994,2392,2,1,1,18,0) "KRN",8994,2392,2,1,1,19,0) And configurations: "KRN",8994,2392,2,1,1,20,0) field 22701 = /var/local/Dir1/Dir2 "KRN",8994,2392,2,1,1,21,0) field 22702 = /mnt/WinServer/DropBox/ "KRN",8994,2392,2,1,1,22,0) "KRN",8994,2392,2,1,1,23,0) Then file: "KRN",8994,2392,2,1,1,24,0) /var/local/Dir1/dir2/download/SomeFile.jpg "KRN",8994,2392,2,1,1,25,0) will be moved to "KRN",8994,2392,2,1,1,26,0) /mnt/WinServer/DropBox/SomeFile.jpg "KRN",8994,2392,2,2,0) FNAME^1^128^1^2 "KRN",8994,2392,2,2,1,0) ^8994.021^3^3^3080131^^^ "KRN",8994,2392,2,2,1,1,0) This is the filename to be transferred, without any path "KRN",8994,2392,2,2,1,2,0) specifications. "KRN",8994,2392,2,2,1,3,0) See help for FNAME parameter for more details. "KRN",8994,2392,2,3,0) LOCIEN^1^16^0^3 "KRN",8994,2392,2,3,1,0) ^8994.021^13^13^3080131^^^ "KRN",8994,2392,2,3,1,1,0) [optional] -- "KRN",8994,2392,2,3,1,2,0) "KRN",8994,2392,2,3,1,3,0) This is the IEN from file 2005.2 (network location) to obtain "KRN",8994,2392,2,3,1,4,0) folder path and drive information from. "KRN",8994,2392,2,3,1,5,0) "KRN",8994,2392,2,3,1,6,0) Default value is 1 "KRN",8994,2392,2,3,1,7,0) "KRN",8994,2392,2,3,1,8,0) Note: For security reasons, all path requests will be considered relative to a root path. "KRN",8994,2392,2,3,1,9,0) e.g. if user asks for /download/SomeFile.jpg, this function will retrieve: "KRN",8994,2392,2,3,1,10,0) /var/local/Dir1/Dir2/download/SomeFile.jpg "KRN",8994,2392,2,3,1,11,0) This root path is found in custom field 22701 in file 2005.2 "KRN",8994,2392,2,3,1,12,0) Also: dropbox location is obtained from custom field 22702 in file 2005.2 "KRN",8994,2392,2,3,1,13,0) "KRN",8994,2392,2,"B","FNAME",2) "KRN",8994,2392,2,"B","FPATH",1) "KRN",8994,2392,2,"B","LOCIEN",3) "KRN",8994,2392,2,"PARAMSEQ",1,1) "KRN",8994,2392,2,"PARAMSEQ",2,2) "KRN",8994,2392,2,"PARAMSEQ",3,3) "KRN",8994,2392,3,0) ^8994.03^5^5^3080131^^^^ "KRN",8994,2392,3,1,0) Returns: "KRN",8994,2392,3,2,0) 1^Successful Download <-- file is ready in dropbox "KRN",8994,2392,3,3,0) or "KRN",8994,2392,3,4,0) 0^Error message "KRN",8994,2392,3,5,0) "KRN",8994,2393,-1) 0^16 "KRN",8994,2393,0) TMG UPLOAD FILE DROPBOX^UPLDDROP^TMGRPC1^1^^^^^1 "KRN",8994,2393,1,0) ^8994.01^3^3^3080131^^^ "KRN",8994,2393,1,1,0) This will cause a file to be transferred from the drop box "KRN",8994,2393,1,2,0) location into the server's private file storage location. "KRN",8994,2393,1,3,0) "KRN",8994,2393,2,0) ^8994.02A^3^3 "KRN",8994,2393,2,1,0) FPATH^1^128^1^1 "KRN",8994,2393,2,1,1,0) ^^29^29^3080131^^ "KRN",8994,2393,2,1,1,1,0) The file path up to, but not including, the filename. "KRN",8994,2393,2,1,1,2,0) "KRN",8994,2393,2,1,1,3,0) This is the path that the server is to store the file in, "KRN",8994,2393,2,1,1,4,0) relative to a private server path. "KRN",8994,2393,2,1,1,5,0) It is NOT the location of the dropbox path. (That is stored in "KRN",8994,2393,2,1,1,6,0) field 22702 in file 2005.2) "KRN",8994,2393,2,1,1,7,0) "KRN",8994,2393,2,1,1,8,0) For security reasons, all path requests will be considered "KRN",8994,2393,2,1,1,9,0) relative to a root path. "KRN",8994,2393,2,1,1,10,0) e.g. if user asks to store at /download/SomeFile.jpg, this "KRN",8994,2393,2,1,1,11,0) function will store the file at: "KRN",8994,2393,2,1,1,12,0) /var/local/Dir1/Dir2/download/SomeFile.jpg "KRN",8994,2393,2,1,1,13,0) "KRN",8994,2393,2,1,1,14,0) This root path is found in custom field 22701 in file 2005.2 "KRN",8994,2393,2,1,1,15,0) Note Also: dropbox location is obtained from custom field 22702 in file 2005.2 "KRN",8994,2393,2,1,1,16,0) "KRN",8994,2393,2,1,1,17,0) So for input: "KRN",8994,2393,2,1,1,18,0) FPATH = /download/ "KRN",8994,2393,2,1,1,19,0) FNAME = SomeFile.jpg "KRN",8994,2393,2,1,1,20,0) "KRN",8994,2393,2,1,1,21,0) And configurations: "KRN",8994,2393,2,1,1,22,0) field 22701 = /var/local/Dir1/Dir2 "KRN",8994,2393,2,1,1,23,0) field 22702 = /mnt/WinServer/DropBox/ "KRN",8994,2393,2,1,1,24,0) "KRN",8994,2393,2,1,1,25,0) "KRN",8994,2393,2,1,1,26,0) Then file: "KRN",8994,2393,2,1,1,27,0) /mnt/WinServer/DropBox/SomeFile.jpg <-- the drop box "KRN",8994,2393,2,1,1,28,0) will be moved to "KRN",8994,2393,2,1,1,29,0) /var/local/Dir1/dir2/download/SomeFile.jpg <--- the private store location "KRN",8994,2393,2,2,0) FNAME^1^128^1^2 "KRN",8994,2393,2,2,1,0) ^^4^4^3080131^^ "KRN",8994,2393,2,2,1,1,0) This is the filename to be transferred, without any path "KRN",8994,2393,2,2,1,2,0) specifications. "KRN",8994,2393,2,2,1,3,0) "KRN",8994,2393,2,2,1,4,0) See help for FNAME parameter for more details. "KRN",8994,2393,2,3,0) LOCIEN^1^16^0^3 "KRN",8994,2393,2,3,1,0) ^8994.021^12^12^3080131^^^ "KRN",8994,2393,2,3,1,1,0) [optional] -- "KRN",8994,2393,2,3,1,2,0) "KRN",8994,2393,2,3,1,3,0) This is the IEN from file 2005.2 (network location) to obtain "KRN",8994,2393,2,3,1,4,0) folder path and drive information from. "KRN",8994,2393,2,3,1,5,0) "KRN",8994,2393,2,3,1,6,0) Default value is 1 "KRN",8994,2393,2,3,1,7,0) "KRN",8994,2393,2,3,1,8,0) Note: For security reasons, all path requests will be considered relative to a root path. "KRN",8994,2393,2,3,1,9,0) e.g. if user asks for /download/SomeFile.jpg, this function will retrieve: "KRN",8994,2393,2,3,1,10,0) /var/local/Dir1/Dir2/download/SomeFile.jpg "KRN",8994,2393,2,3,1,11,0) This root path is found in custom field 22701 in file 2005.2 "KRN",8994,2393,2,3,1,12,0) Also: dropbox location is obtained from custom field 22702 in file 2005.2 "KRN",8994,2393,2,"B","FNAME",2) "KRN",8994,2393,2,"B","FPATH",1) "KRN",8994,2393,2,"B","LOCIEN",3) "KRN",8994,2393,2,"PARAMSEQ",1,1) "KRN",8994,2393,2,"PARAMSEQ",2,2) "KRN",8994,2393,2,"PARAMSEQ",3,3) "KRN",8994,2393,3,0) ^^4^4^3080131^^ "KRN",8994,2393,3,1,0) Results: "KRN",8994,2393,3,2,0) "KRN",8994,2393,3,3,0) 1^SuccessMessage <-- file uploaded from dropbox "KRN",8994,2393,3,4,0) 0^FailureMessage "KRN",8994,2394,-1) 0^5 "KRN",8994,2394,0) TMG CPRS GET URL LIST^GETURLS^TMGRPC1^2^P^^^1^1 "KRN",8994,2394,1,0) ^8994.01^2^2^3080618^^^^ "KRN",8994,2394,1,1,0) CPRS can call this to get a list of URL's to display from inside CPRS. "KRN",8994,2394,1,2,0) These URL's will be displayed inside custom tabs in CPRS. "KRN",8994,2394,2,0) ^8994.02A^^0 "KRN",8994,2394,3,0) ^8994.03^5^5^3080618^^^^ "KRN",8994,2394,3,1,0) Results are returned as follows: "KRN",8994,2394,3,2,0) RESULT(0)="1^Success" or "0^SomeErrorMessage" "KRN",8994,2394,3,3,0) RESULT(1)="CNN^www.cnn.com" ;display www.cnn.com on tab #1, named 'CNN' "KRN",8994,2394,3,4,0) RESULT(2)="^about:blank" ;display a blank page on tab #2, with name of '' "KRN",8994,2394,3,5,0) RESULT(3)="^" ;hide tab #3, with name of '' "KRN",8994,2497,-1) 0^13 "KRN",8994,2497,0) TMG INIFILE SET^SETINIVL^TMGRPC1A^1^P^^^1^1 "KRN",8994,2497,1,0) ^8994.01^17^17^3100211^^ "KRN",8994,2497,1,1,0) "KRN",8994,2497,1,2,0) This will allow server-side storage is client options, "KRN",8994,2497,1,3,0) similar to .ini files on Microsoft Windows programs. "KRN",8994,2497,1,4,0) "KRN",8994,2497,1,5,0) Purpose: To provide an entry point for a RPC call from a client. The client "KRN",8994,2497,1,6,0) will use this instead of TIniFile object in Delphi. "KRN",8994,2497,1,7,0) Note: Since all data are of type string in Mumps, this will work only with strings. "KRN",8994,2497,1,8,0) and type casting will have to take place in client. "KRN",8994,2497,1,9,0) Input: RESULT -- an OUT PARAMETER. See output below. "KRN",8994,2497,1,10,0) SECTION -- String of 'Section' to store setting in (corresponds to section in TIniFile) "KRN",8994,2497,1,11,0) KEY -- String of Key value. (corresponds to Ident/Key in TIniFile) "KRN",8994,2497,1,12,0) VALUE -- String of Value to set "KRN",8994,2497,1,13,0) Note: Data will be stored in: ^TMG("INIDATA",Section,Key,Vaue) "KRN",8994,2497,1,14,0) And because this is a shared resource, it is expected that the client will use "KRN",8994,2497,1,15,0) User.Name as the Section value. "KRN",8994,2497,1,16,0) Also, any prior value will be overwritten. "KRN",8994,2497,1,17,0) Output: Will return RESULT="1^Success", or -1^Error Message" "KRN",8994,2497,2,0) ^8994.02A^3^3 "KRN",8994,2497,2,1,0) SECTION^1^32^1^1 "KRN",8994,2497,2,1,1,0) ^^2^2^3100211^^ "KRN",8994,2497,2,1,1,1,0) String of 'Section' to store setting in "KRN",8994,2497,2,1,1,2,0) (corresponds to 'Section' in TIniFile) "KRN",8994,2497,2,2,0) KEY^1^32^1^2 "KRN",8994,2497,2,2,1,0) ^^1^1^3100211^^ "KRN",8994,2497,2,2,1,1,0) String of Key value. (corresponds to 'Ident'/'Key' in TIniFile) "KRN",8994,2497,2,3,0) VALUE^1^256^1^3 "KRN",8994,2497,2,3,1,0) ^^1^1^3100211^^ "KRN",8994,2497,2,3,1,1,0) String of Value to set "KRN",8994,2497,2,"B","KEY",2) "KRN",8994,2497,2,"B","SECTION",1) "KRN",8994,2497,2,"B","VALUE",3) "KRN",8994,2497,2,"PARAMSEQ",1,1) "KRN",8994,2497,2,"PARAMSEQ",2,2) "KRN",8994,2497,2,"PARAMSEQ",3,3) "KRN",8994,2497,3,0) ^^1^1^3100211^^ "KRN",8994,2497,3,1,0) Will return RESULT="1^Success", or -1^Error Message" "KRN",8994,2498,-1) 0^12 "KRN",8994,2498,0) TMG INIFILE GET^GETINIVL^TMGRPC1A^1^P^^^1^1 "KRN",8994,2498,1,0) ^8994.01^16^16^3100211^^^ "KRN",8994,2498,1,1,0) This will allow server-side storage is client options, "KRN",8994,2498,1,2,0) similar to .ini files on Microsoft Windows programs. "KRN",8994,2498,1,3,0) "KRN",8994,2498,1,4,0) Purpose: To provide an entry point for a RPC call from a client. The client "KRN",8994,2498,1,5,0) will use this instead of TIniFile object in Delphi. "KRN",8994,2498,1,6,0) Note: Since all data are of type string in Mumps, this will work only with strings. "KRN",8994,2498,1,7,0) and type casting will have to take place in client. "KRN",8994,2498,1,8,0) Input: RESULT -- an OUT PARAMETER. See output below "KRN",8994,2498,1,9,0) SECTION -- String of 'Section' to store setting in (corresponds to section in TIniFile) "KRN",8994,2498,1,10,0) KEY -- String of Key value. (corresponds to Ident/Key in TIniFile) "KRN",8994,2498,1,11,0) DEFAULT -- The value to be returned, if no value found. "KRN",8994,2498,1,12,0) Note: Data will be strored in: ^TMG("INIDATA",Section,Key,Vaue) "KRN",8994,2498,1,13,0) And because this is a shared resource, it is expected that the client will use "KRN",8994,2498,1,14,0) User.Name as the Section value. "KRN",8994,2498,1,15,0) Also, any prior value will be overwritten. "KRN",8994,2498,1,16,0) Output: Will return RESULT(0)="1^", or -1^Error Message" "KRN",8994,2498,2,0) ^8994.02A^3^3 "KRN",8994,2498,2,1,0) SECTION^1^32^1^1 "KRN",8994,2498,2,1,1,0) ^^3^3^3100211^^ "KRN",8994,2498,2,1,1,1,0) "KRN",8994,2498,2,1,1,2,0) String of 'Section' to store setting in "KRN",8994,2498,2,1,1,3,0) (corresponds to 'Section' in TIniFile) "KRN",8994,2498,2,2,0) KEY^1^32^1^2 "KRN",8994,2498,2,2,1,0) ^^2^2^3100211^^ "KRN",8994,2498,2,2,1,1,0) "KRN",8994,2498,2,2,1,2,0) String of Key value. (corresponds to 'Ident'/'Key' in TIniFile) "KRN",8994,2498,2,3,0) DEFAULT^1^256^0^3 "KRN",8994,2498,2,3,1,0) ^8994.021^1^1^3100211^^^ "KRN",8994,2498,2,3,1,1,0) The value to be returned, if no value found. "KRN",8994,2498,2,"B","DEFAULT",3) "KRN",8994,2498,2,"B","KEY",2) "KRN",8994,2498,2,"B","SECTION",1) "KRN",8994,2498,2,"PARAMSEQ",1,1) "KRN",8994,2498,2,"PARAMSEQ",2,2) "KRN",8994,2498,2,"PARAMSEQ",3,3) "KRN",8994,2498,3,0) ^8994.03^2^2^3100211^^^ "KRN",8994,2498,3,1,0) Will return RESULT="1^", or -1^Error Message" "KRN",8994,2498,3,2,0) is the desired value. "MBREQ") 0 "ORD",16,8994) 8994;16;1;;;;;;;RPCDEL^XPDIA1 "ORD",16,8994,0) REMOTE PROCEDURE "ORD",18,19) 19;18;;;OPT^XPDTA;OPTF1^XPDIA;OPTE1^XPDIA;OPTF2^XPDIA;;OPTDEL^XPDIA "ORD",18,19,0) OPTION "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") 2 "RTN","TMGRPC1") 0^1^B224963 "RTN","TMGRPC1",1,0) TMGRPC1 ;TMG/kst-RPC Functions ;03/25/06 "RTN","TMGRPC1",2,0) ;;1.0;TMG-LIB;**1**;08/18/09;Build 2 "RTN","TMGRPC1",3,0) "RTN","TMGRPC1",4,0) ;"TMG RPC FUNCTIONS "RTN","TMGRPC1",5,0) "RTN","TMGRPC1",6,0) ;"Kevin Toppenberg MD "RTN","TMGRPC1",7,0) ;"GNU General Public License (GPL) applies "RTN","TMGRPC1",8,0) ;"3/24/07 "RTN","TMGRPC1",9,0) "RTN","TMGRPC1",10,0) ;"======================================================================= "RTN","TMGRPC1",11,0) ;" RPC -- Public Functions. "RTN","TMGRPC1",12,0) ;"======================================================================= "RTN","TMGRPC1",13,0) ;"DOWNLOAD(GREF,FPATH,FNAME,LOCIEN) "RTN","TMGRPC1",14,0) ;"UPLOAD(RESULT,FPATH,FNAME,LOCIEN,ARRAY) "RTN","TMGRPC1",15,0) ;"DOWNDROP(RESULT,FPATH,FNAME,LOCIEN) -- Download drop box file "RTN","TMGRPC1",16,0) ;"UPLDDROP(RESULT,FPATH,FNAME,LOCIEN) -- Upload Dropbox File "RTN","TMGRPC1",17,0) ;"GETLONG(GREF,IMAGEIEN) "RTN","TMGRPC1",18,0) ;"GETDFN(RESULT,RECNUM,RECFIELD,LNAME,FNAME,MNAME,DOB,SEX,SSNUM) "RTN","TMGRPC1",19,0) ;"BLANKTIU(RESULT,DFN,PERSON,LOC,DOS,TITLE) "RTN","TMGRPC1",20,0) ;"AUTOSIGN(RESULT,DOCIEN) "RTN","TMGRPC1",21,0) ;"FNINFO(RESULT,DFN) -- GET PATIENT DEMOGRAPHICS "RTN","TMGRPC1",22,0) ;"PTADD(RESULT,INFO) -- ADD PATIENT "RTN","TMGRPC1",23,0) ;"STPTINFO(RESULT,DFN,INFO) -- SET PATIENT DEMOGRAPHICS "RTN","TMGRPC1",24,0) ;"GETURLS(RESULT) -- TMG CPRS GET URL LIST "RTN","TMGRPC1",25,0) "RTN","TMGRPC1",26,0) ;"======================================================================= "RTN","TMGRPC1",27,0) ;"PRIVATE API FUNCTIONS "RTN","TMGRPC1",28,0) ;"======================================================================= "RTN","TMGRPC1",29,0) ;"ENCODE(GRef,incSubscr,encodeFn) "RTN","TMGRPC1",30,0) ;"DECODE(GRef,incSubscr,decodeFn) "RTN","TMGRPC1",31,0) ;"$$HEXCODER(INPUT) ;"encode the input string. Currently using simple hex encoding/ "RTN","TMGRPC1",32,0) ;"$$B64CODER(INPUT) ;"encode the input string via UUENCODE (actually Base64) "RTN","TMGRPC1",33,0) ;"$$B64DECODER(INPUT) ;"encode the input string via UUDECODE (actually Base64) "RTN","TMGRPC1",34,0) "RTN","TMGRPC1",35,0) ;"======================================================================= "RTN","TMGRPC1",36,0) ;"======================================================================= "RTN","TMGRPC1",37,0) ;"Dependencies: "RTN","TMGRPC1",38,0) ;"TMGBINF "RTN","TMGRPC1",39,0) ;"TMGSTUTL "RTN","TMGRPC1",40,0) ;"RGUTUU "RTN","TMGRPC1",41,0) ;"======================================================================= "RTN","TMGRPC1",42,0) ;"======================================================================= "RTN","TMGRPC1",43,0) "RTN","TMGRPC1",44,0) DOWNLOAD(GREF,FPATH,FNAME,LOCIEN) "RTN","TMGRPC1",45,0) ;"SCOPE: Public "RTN","TMGRPC1",46,0) ;"Purpose: To provide an entry point for a RPC call from a client. The client "RTN","TMGRPC1",47,0) ;" will ask for a given file, and it will be passed back in the form "RTN","TMGRPC1",48,0) ;" of an array (in BASE64 ascii encoding) "RTN","TMGRPC1",49,0) ;"Input: GREF -- OUT PARAM -- the array to pass the result back in (PASSED BY REFERENCE) "RTN","TMGRPC1",50,0) ;" FPATH -- the file path up to, but not including, the filename "RTN","TMGRPC1",51,0) ;" Use '/' to NOT specify any subdirectory "RTN","TMGRPC1",52,0) ;" FNAME -- the name of the file to pass back "RTN","TMGRPC1",53,0) ;" LOCIEN-- [optional] -- the IEN from file 2005.2 (network location) to download from "RTN","TMGRPC1",54,0) ;" default value is 1 "RTN","TMGRPC1",55,0) ;" Note: For security reasons, all path requests will be considered relative to a root path. "RTN","TMGRPC1",56,0) ;" e.g. if user asks for /download/SomeFile.jpg, this function will retrieve: "RTN","TMGRPC1",57,0) ;" /var/local/Dir1/Dir2/download/SomeFile.jpg "RTN","TMGRPC1",58,0) ;" This root path is found in custom field 22701 in file 2005.2 "RTN","TMGRPC1",59,0) ;"Output: results are passed out in @GREF "RTN","TMGRPC1",60,0) ;" @GREF@(0)=success; 1=success, 0=failure "RTN","TMGRPC1",61,0) ;" @GREF@(1..xxx) = actual data "RTN","TMGRPC1",62,0) "RTN","TMGRPC1",63,0) set FPATH=$get(FPATH) "RTN","TMGRPC1",64,0) set FNAME=$get(FNAME) "RTN","TMGRPC1",65,0) set LOCIEN=$GET(LOCIEN,1) "RTN","TMGRPC1",66,0) "RTN","TMGRPC1",67,0) new PathRoot "RTN","TMGRPC1",68,0) set PathRoot=$piece($get(^MAG(2005.2,LOCIEN,22700)),"^",1) ;"NOTE: CUSTOM FIELD "RTN","TMGRPC1",69,0) "RTN","TMGRPC1",70,0) new NodeDiv "RTN","TMGRPC1",71,0) set NodeDiv=$piece($get(^MAG(2005.2,LOCIEN,22701),"/"),"^",1) ;"default is "/" NOTE: CUSTOM FIELD "RTN","TMGRPC1",72,0) "RTN","TMGRPC1",73,0) new EndRoot set EndRoot=$extract(PathRoot,$length(PathRoot)) "RTN","TMGRPC1",74,0) new StartPath set StartPath=$extract(FPATH,1) "RTN","TMGRPC1",75,0) "RTN","TMGRPC1",76,0) if (EndRoot=NodeDiv)&(StartPath=NodeDiv) do "RTN","TMGRPC1",77,0) . set FPATH=$extract(FPATH,2,1024) "RTN","TMGRPC1",78,0) else if (EndRoot'=NodeDiv)&(StartPath'=NodeDiv) do "RTN","TMGRPC1",79,0) . set PathRoot=PathRoot_NodeDiv "RTN","TMGRPC1",80,0) "RTN","TMGRPC1",81,0) set FPATH=PathRoot_FPATH "RTN","TMGRPC1",82,0) "RTN","TMGRPC1",83,0) set GREF="^TMP(""DOWNLOAD^TMGRPC1"","_$J_")" "RTN","TMGRPC1",84,0) "RTN","TMGRPC1",85,0) kill @GREF "RTN","TMGRPC1",86,0) set @GREF@(0)=$$BFTG^TMGBINF(.FPATH,.FNAME,$name(@GREF@(1)),3) "RTN","TMGRPC1",87,0) "RTN","TMGRPC1",88,0) do ENCODE($name(@GREF@(1)),3) "RTN","TMGRPC1",89,0) "RTN","TMGRPC1",90,0) quit "RTN","TMGRPC1",91,0) "RTN","TMGRPC1",92,0) "RTN","TMGRPC1",93,0) UPLOAD(RESULT,FPATH,FNAME,LOCIEN,ARRAY) "RTN","TMGRPC1",94,0) ;"SCOPE: Public "RTN","TMGRPC1",95,0) ;"RPC That calls this: TMG UPLOAD FILE "RTN","TMGRPC1",96,0) ;"Purpose: To provide an entry point for a RPC call from a client. The client "RTN","TMGRPC1",97,0) ;" will provide a file for upload (in BASE64 ascii encoding) "RTN","TMGRPC1",98,0) ;"Input: GREF -- OUT PARAM -- the array to pass the result back in (PASSED BY REFERENCE) "RTN","TMGRPC1",99,0) ;" FPATH -- the file path up to, but not including, the filename "RTN","TMGRPC1",100,0) ;" Use '/' to NOT specify any subdirectory "RTN","TMGRPC1",101,0) ;" FNAME -- the name of the file to pass back "RTN","TMGRPC1",102,0) ;" LOCIEN-- [optional] -- the IEN from file 2005.2 (network location) to upload to "RTN","TMGRPC1",103,0) ;" default value is 1 "RTN","TMGRPC1",104,0) ;" Note: For security reasons, all path requests will be considered relative to a root path. "RTN","TMGRPC1",105,0) ;" e.g. if user asks for /download/SomeFile.jpg, this function will retrieve: "RTN","TMGRPC1",106,0) ;" /var/local/Dir1/Dir2/download/SomeFile.jpg "RTN","TMGRPC1",107,0) ;" This root path is found in custom field 22701 in file 2005.2 "RTN","TMGRPC1",108,0) ;" ARRAY -- the array that will hold the file, in BASE64 ascii encoding "RTN","TMGRPC1",109,0) ;"Output: results are passed out in RESULT: 1^SuccessMessage or 0^FailureMessage "RTN","TMGRPC1",110,0) "RTN","TMGRPC1",111,0) new result "RTN","TMGRPC1",112,0) new resultMsg set resultMsg="1^Successful Upload" "RTN","TMGRPC1",113,0) "RTN","TMGRPC1",114,0) set ^TMP("UPLOAD^TMGRPC1",$J,"FPATH")=$GET(FPATH) "RTN","TMGRPC1",115,0) set ^TMP("UPLOAD^TMGRPC1",$J,"FNAME")=$GET(FNAME) "RTN","TMGRPC1",116,0) set ^TMP("UPLOAD^TMGRPC1",$J,"LOCIEN")=$GET(LOCIEN) "RTN","TMGRPC1",117,0) "RTN","TMGRPC1",118,0) if $data(ARRAY)=0 set resultMsg="0^No data received to upload" goto UpDone "RTN","TMGRPC1",119,0) set FPATH=$get(FPATH) "RTN","TMGRPC1",120,0) if FPATH="" set resultMsg="0^No file path received" goto UpDone "RTN","TMGRPC1",121,0) set FNAME=$get(FNAME) "RTN","TMGRPC1",122,0) if FNAME="" set resultMsg="0^No file name received" goto UpDone "RTN","TMGRPC1",123,0) set LOCIEN=$GET(LOCIEN,1); "RTN","TMGRPC1",124,0) new GREF "RTN","TMGRPC1",125,0) "RTN","TMGRPC1",126,0) new PathRoot "RTN","TMGRPC1",127,0) set PathRoot=$piece($get(^MAG(2005.2,LOCIEN,22700)),"^",1) "RTN","TMGRPC1",128,0) "RTN","TMGRPC1",129,0) new NodeDiv "RTN","TMGRPC1",130,0) set NodeDiv=$piece($get(^MAG(2005.2,LOCIEN,22701),"/"),"^",1) ;"default is "/" "RTN","TMGRPC1",131,0) "RTN","TMGRPC1",132,0) new EndRoot set EndRoot=$extract(PathRoot,$length(PathRoot)) "RTN","TMGRPC1",133,0) new StartPath set StartPath=$extract(FPATH,1) "RTN","TMGRPC1",134,0) if (EndRoot=NodeDiv)&(StartPath=NodeDiv) do "RTN","TMGRPC1",135,0) . set FPATH=$extract(FPATH,2,1024) "RTN","TMGRPC1",136,0) else if (EndRoot'=NodeDiv)&(StartPath'=NodeDiv) do "RTN","TMGRPC1",137,0) . set PathRoot=PathRoot_NodeDiv "RTN","TMGRPC1",138,0) "RTN","TMGRPC1",139,0) set FPATH=PathRoot_FPATH "RTN","TMGRPC1",140,0) "RTN","TMGRPC1",141,0) merge ^TMP("UPLOAD^TMGRPC1",$J,"ENCODED")=ARRAY ;"//TEMP "RTN","TMGRPC1",142,0) do DECODE("ARRAY(0)",1) "RTN","TMGRPC1",143,0) merge ^TMP("UPLOAD^TMGRPC1",$J,"DECODED")=ARRAY ;"//TEMP "RTN","TMGRPC1",144,0) "RTN","TMGRPC1",145,0) if $$GTBF^TMGBINF("ARRAY(0)",1,FPATH,FNAME)=0 do "RTN","TMGRPC1",146,0) . set resultMsg="0^Error while saving file" "RTN","TMGRPC1",147,0) "RTN","TMGRPC1",148,0) UpDone "RTN","TMGRPC1",149,0) set RESULT=resultMsg "RTN","TMGRPC1",150,0) quit "RTN","TMGRPC1",151,0) "RTN","TMGRPC1",152,0) "RTN","TMGRPC1",153,0) DOWNDROP(RESULT,FPATH,FNAME,LOCIEN) ;"i.e. Download drop box file "RTN","TMGRPC1",154,0) ;"SCOPE: Public "RTN","TMGRPC1",155,0) ;"RPC That calls this: TMG DOWNLOAD FILE DROPBOX "RTN","TMGRPC1",156,0) ;"Purpose: To provide an entry point for a RPC call from a client. The client "RTN","TMGRPC1",157,0) ;" will request for the file to be placed into in a 'dropbox' file "RTN","TMGRPC1",158,0) ;" location that both the client and server can access. File may be "RTN","TMGRPC1",159,0) ;" moved from there to its final destination by the client. "RTN","TMGRPC1",160,0) ;" This method alloows file-hiding ability on the server side. "RTN","TMGRPC1",161,0) ;"Input: RESULT -- OUT PARAM -- the array to pass the result back in (PASSED BY REFERENCE) "RTN","TMGRPC1",162,0) ;" FPATH -- the file path up to, but not including, the filename. This "RTN","TMGRPC1",163,0) ;" is the path that the file is stored at (relative to a root path, "RTN","TMGRPC1",164,0) ;" see comments below). It is NOT the path of the dropbox. "RTN","TMGRPC1",165,0) ;" Use '/' to NOT specify any subdirectory "RTN","TMGRPC1",166,0) ;" FNAME -- the name of the file to be uploaded. Note: This is also the "RTN","TMGRPC1",167,0) ;" name of the file to be put into the dropbox. It is the "RTN","TMGRPC1",168,0) ;" responsibility of the client to ensure that there is not already "RTN","TMGRPC1",169,0) ;" a similarly named file in the dropbox before requesting a file "RTN","TMGRPC1",170,0) ;" be put there. It is the responsibility of the client to delete "RTN","TMGRPC1",171,0) ;" the file from the drop box. "RTN","TMGRPC1",172,0) ;" LOCIEN-- [optional] -- the IEN from file 2005.2 (network location) to download from "RTN","TMGRPC1",173,0) ;" default value is 1 "RTN","TMGRPC1",174,0) ;" Note: For security reasons, all path requests will be considered relative to a root path. "RTN","TMGRPC1",175,0) ;" e.g. if user asks for /download/SomeFile.jpg, this function will retrieve: "RTN","TMGRPC1",176,0) ;" /var/local/Dir1/Dir2/download/SomeFile.jpg "RTN","TMGRPC1",177,0) ;" This root path is found in custom field 22701 in file 2005.2 "RTN","TMGRPC1",178,0) ;" Also: dropbox location is obtained from custom field 22702 in file 2005.2 "RTN","TMGRPC1",179,0) ;"NOTE RE DROPBOX: "RTN","TMGRPC1",180,0) ;" This system is designed for a system where by the server and the client have a "RTN","TMGRPC1",181,0) ;" shared filesystem, but the directory paths will be different. For example: "RTN","TMGRPC1",182,0) ;" Linux server has dropbox at: /mnt/WinServer/dropbox/ "RTN","TMGRPC1",183,0) ;" Windows Client has access to dropbox at: V:\Dropbox\ "RTN","TMGRPC1",184,0) "RTN","TMGRPC1",185,0) ;"Output: results are 1^Success^FileSize (in bytes), or 0^Error Message "RTN","TMGRPC1",186,0) "RTN","TMGRPC1",187,0) new resultMsg set resultMsg="1^Successful Download" "RTN","TMGRPC1",188,0) "RTN","TMGRPC1",189,0) set FPATH=$get(FPATH) "RTN","TMGRPC1",190,0) if FPATH="" set resultMsg="0^No file path received" goto DnDBxDone "RTN","TMGRPC1",191,0) set FNAME=$get(FNAME) "RTN","TMGRPC1",192,0) if FNAME="" set resultMsg="0^No file name received" goto DnDBxDone "RTN","TMGRPC1",193,0) set LOCIEN=$GET(LOCIEN,1); "RTN","TMGRPC1",194,0) new GREF "RTN","TMGRPC1",195,0) "RTN","TMGRPC1",196,0) new PathRoot "RTN","TMGRPC1",197,0) set PathRoot=$piece($get(^MAG(2005.2,LOCIEN,22700)),"^",1) "RTN","TMGRPC1",198,0) "RTN","TMGRPC1",199,0) new NodeDiv "RTN","TMGRPC1",200,0) set NodeDiv=$piece($get(^MAG(2005.2,LOCIEN,22701),"/"),"^",1) ;"default is "/" "RTN","TMGRPC1",201,0) "RTN","TMGRPC1",202,0) new DropBox "RTN","TMGRPC1",203,0) set DropBox=$piece($get(^MAG(2005.2,LOCIEN,22702)),"^",1) "RTN","TMGRPC1",204,0) if DropBox="" do goto UpDBxDone "RTN","TMGRPC1",205,0) . set resultMsg="0^Dropbox location not configured in file 2005.2, IEN "_LOCIEN_", field 22702" "RTN","TMGRPC1",206,0) ;"Ensure DropBox ends in a node divider "RTN","TMGRPC1",207,0) if $extract(DropBox,$length(DropBox))'=NodeDiv do "RTN","TMGRPC1",208,0) . set DropBox=DropBox_NodeDiv "RTN","TMGRPC1",209,0) "RTN","TMGRPC1",210,0) ;"Ensure PathRoot ends in a node divider "RTN","TMGRPC1",211,0) if $extract(PathRoot,$length(PathRoot))'=NodeDiv do "RTN","TMGRPC1",212,0) . set PathRoot=PathRoot_NodeDiv "RTN","TMGRPC1",213,0) "RTN","TMGRPC1",214,0) ;"Ensure Fpath does NOT start in a node divider "RTN","TMGRPC1",215,0) if $extract(FPATH,1)=NodeDiv do "RTN","TMGRPC1",216,0) . set FPATH=$extract(FPATH,2,1024) "RTN","TMGRPC1",217,0) "RTN","TMGRPC1",218,0) set FPATH=PathRoot_FPATH "RTN","TMGRPC1",219,0) "RTN","TMGRPC1",220,0) new SrcNamePath set SrcNamePath=FPATH_FNAME "RTN","TMGRPC1",221,0) ;"new DestNamePath set DestNamePath=DropBox_FNAME "RTN","TMGRPC1",222,0) "RTN","TMGRPC1",223,0) new moveResult "RTN","TMGRPC1",224,0) set moveResult=$$Copy^TMGKERNL(SrcNamePath,DropBox) "RTN","TMGRPC1",225,0) if moveResult>0 do "RTN","TMGRPC1",226,0) . set resultMsg="0^Move failed, returning OS error code: "_moveResult "RTN","TMGRPC1",227,0) else do "RTN","TMGRPC1",228,0) . set resultMsg=resultMsg_"^"_$$FileSize^TMGKERNL(SrcNamePath) "RTN","TMGRPC1",229,0) "RTN","TMGRPC1",230,0) DnDBxDone "RTN","TMGRPC1",231,0) set RESULT=resultMsg "RTN","TMGRPC1",232,0) quit "RTN","TMGRPC1",233,0) "RTN","TMGRPC1",234,0) "RTN","TMGRPC1",235,0) UPLDDROP(RESULT,FPATH,FNAME,LOCIEN) ;"i.e. Upload Dropbox File "RTN","TMGRPC1",236,0) ;"SCOPE: Public "RTN","TMGRPC1",237,0) ;"RPC That calls this: TMG UPLOAD FILE DROPBOX "RTN","TMGRPC1",238,0) ;"Purpose: To provide an entry point for a RPC call from a client. The client "RTN","TMGRPC1",239,0) ;" will put the file in a 'dropbox' file location that both the client "RTN","TMGRPC1",240,0) ;" and server can access. File will be moved from there to its final "RTN","TMGRPC1",241,0) ;" destination. This will provide file-hiding ability on the server side. "RTN","TMGRPC1",242,0) ;"Input: RESULT -- OUT PARAM -- the array to pass the result back in (PASSED BY REFERENCE) "RTN","TMGRPC1",243,0) ;" FPATH -- the file path up to, but not including, the filename. This "RTN","TMGRPC1",244,0) ;" is the path to store the file at. (relative to a root path, "RTN","TMGRPC1",245,0) ;" see comments below). It is NOT the path of the dropbox. "RTN","TMGRPC1",246,0) ;" Use '/' to NOT specify any subdirectory "RTN","TMGRPC1",247,0) ;" FNAME -- the name of the file to be uploaded. Note: This is also the "RTN","TMGRPC1",248,0) ;" name of the file to be pulled from the dropbox. It is the "RTN","TMGRPC1",249,0) ;" responsibility of the client to ensure that there is not already "RTN","TMGRPC1",250,0) ;" a similarly named file in the dropbox before depositing a file there. "RTN","TMGRPC1",251,0) ;" The server will remove the file from the dropbox, unless there is "RTN","TMGRPC1",252,0) ;" an error with the host OS (which will be returned as an error message) "RTN","TMGRPC1",253,0) ;" LOCIEN-- [optional] -- the IEN from file 2005.2 (network location) to upload to "RTN","TMGRPC1",254,0) ;" default value is 1 "RTN","TMGRPC1",255,0) ;" Note: For security reasons, all path requests will be considered relative to a root path. "RTN","TMGRPC1",256,0) ;" e.g. if user asks for /download/SomeFile.jpg, this function will retrieve: "RTN","TMGRPC1",257,0) ;" /var/local/Dir1/Dir2/download/SomeFile.jpg "RTN","TMGRPC1",258,0) ;" This root path is found in custom field 22700 in file 2005.2 "RTN","TMGRPC1",259,0) ;" Also: dropbox location is obtained from custom field 22702 in file 2005.2 "RTN","TMGRPC1",260,0) ;"NOTE RE DROPBOX: "RTN","TMGRPC1",261,0) ;" This system is designed for a system where by the server and the client have a "RTN","TMGRPC1",262,0) ;" shared filesystem, but the directory paths will be different. For example: "RTN","TMGRPC1",263,0) ;" Linux server has dropbox at: /mnt/WinServer/dropbox/ "RTN","TMGRPC1",264,0) ;" Windows Client has access to dropbox at: V:\Dropbox\ "RTN","TMGRPC1",265,0) "RTN","TMGRPC1",266,0) ;"Output: results are passed out in RESULT: "RTN","TMGRPC1",267,0) ;" 1^SuccessMessage or 0^FailureMessage "RTN","TMGRPC1",268,0) "RTN","TMGRPC1",269,0) new result "RTN","TMGRPC1",270,0) new resultMsg set resultMsg="1^Successful Upload" "RTN","TMGRPC1",271,0) "RTN","TMGRPC1",272,0) set FPATH=$get(FPATH) "RTN","TMGRPC1",273,0) if FPATH="" set resultMsg="0^No file path received" goto UpDBxDone "RTN","TMGRPC1",274,0) set FNAME=$get(FNAME) "RTN","TMGRPC1",275,0) if FNAME="" set resultMsg="0^No file name received" goto UpDBxDone "RTN","TMGRPC1",276,0) set LOCIEN=$GET(LOCIEN,1); "RTN","TMGRPC1",277,0) new GREF "RTN","TMGRPC1",278,0) "RTN","TMGRPC1",279,0) new PathRoot "RTN","TMGRPC1",280,0) set PathRoot=$piece($get(^MAG(2005.2,LOCIEN,22700)),"^",1) "RTN","TMGRPC1",281,0) "RTN","TMGRPC1",282,0) new NodeDiv "RTN","TMGRPC1",283,0) set NodeDiv=$piece($get(^MAG(2005.2,LOCIEN,22701),"/"),"^",1) ;"default is "/" "RTN","TMGRPC1",284,0) "RTN","TMGRPC1",285,0) new DropBox "RTN","TMGRPC1",286,0) set DropBox=$piece($get(^MAG(2005.2,LOCIEN,22702)),"^",1) "RTN","TMGRPC1",287,0) if DropBox="" do goto UpDBxDone "RTN","TMGRPC1",288,0) . set resultMsg="0^Dropbox location not configured in file 2005.2, IEN "_LOCIEN_", field 22702" "RTN","TMGRPC1",289,0) ;"Ensure DropBox ends in a node divider "RTN","TMGRPC1",290,0) if $extract(DropBox,$length(DropBox))'=NodeDiv do "RTN","TMGRPC1",291,0) . set DropBox=DropBox_NodeDiv "RTN","TMGRPC1",292,0) "RTN","TMGRPC1",293,0) ;"Ensure PathRoot ends in a node divider "RTN","TMGRPC1",294,0) if $extract(PathRoot,$length(PathRoot))'=NodeDiv do "RTN","TMGRPC1",295,0) . set PathRoot=PathRoot_NodeDiv "RTN","TMGRPC1",296,0) "RTN","TMGRPC1",297,0) ;"Ensure Fpath does NOT start in a node divider "RTN","TMGRPC1",298,0) if $extract(FPATH,1)=NodeDiv do "RTN","TMGRPC1",299,0) . set FPATH=$extract(FPATH,2,1024) "RTN","TMGRPC1",300,0) "RTN","TMGRPC1",301,0) set FPATH=PathRoot_FPATH "RTN","TMGRPC1",302,0) "RTN","TMGRPC1",303,0) new SrcNamePath,DestNamePath "RTN","TMGRPC1",304,0) set SrcNamePath=DropBox_FNAME "RTN","TMGRPC1",305,0) set DestNamePath=FPATH_FNAME "RTN","TMGRPC1",306,0) "RTN","TMGRPC1",307,0) new moveResult "RTN","TMGRPC1",308,0) set moveResult=$$Move^TMGKERNL(SrcNamePath,DestNamePath) "RTN","TMGRPC1",309,0) if moveResult>0 do "RTN","TMGRPC1",310,0) . set resultMsg="0^Move failed, returning OS error code: "_moveResult "RTN","TMGRPC1",311,0) "RTN","TMGRPC1",312,0) UpDBxDone "RTN","TMGRPC1",313,0) set RESULT=resultMsg "RTN","TMGRPC1",314,0) quit "RTN","TMGRPC1",315,0) "RTN","TMGRPC1",316,0) "RTN","TMGRPC1",317,0) ENCODE(GRef,incSubscr,encodeFn) "RTN","TMGRPC1",318,0) ;"Purpose: ENCODE a BINARY GLOBAL. "RTN","TMGRPC1",319,0) ;"Input: "RTN","TMGRPC1",320,0) ;" GRef-- Global reference of the SOURCE binary global array, in fully resolved "RTN","TMGRPC1",321,0) ;" (closed root) format. "RTN","TMGRPC1",322,0) ;" Note: "RTN","TMGRPC1",323,0) ;" At least one subscript must be numeric. This will be the incrementing "RTN","TMGRPC1",324,0) ;" subscript (i.e. the subscript that $$BIN2WP^TMGBINWP will increment "RTN","TMGRPC1",325,0) ;" to store each new global node). This subscript need not be the final "RTN","TMGRPC1",326,0) ;" subscript. For example, to load into a WORD PROCESSING field, the "RTN","TMGRPC1",327,0) ;" incrementing node is the second-to-last subscript; the final subscript "RTN","TMGRPC1",328,0) ;" is always zero. "RTN","TMGRPC1",329,0) ;" REQUIRED "RTN","TMGRPC1",330,0) ;" incSubscr-- (required) Identifies the incrementing subscript level, for the source global "RTN","TMGRPC1",331,0) ;" For example, if you pass ^TMP(115,1,1,0) as the global_ref parameter and "RTN","TMGRPC1",332,0) ;" pass 3 as the inc_subscr parameter, $$BIN2GBL will increment the third "RTN","TMGRPC1",333,0) ;" subscript, such as ^TMP(115,1,x), but will WRITE notes at the full global "RTN","TMGRPC1",334,0) ;" reference, such as ^TMP(115,1,x,0). "RTN","TMGRPC1",335,0) ;" REQUIRED "RTN","TMGRPC1",336,0) ;" encodeFn- (OPTIONAL) the name of a function that will encode a line of data. "RTN","TMGRPC1",337,0) ;" e.g. "CODER^ZZZCODER" or "LOCALCODER". The function should "RTN","TMGRPC1",338,0) ;" take one input variable (the line of raw binary data), and return a converted "RTN","TMGRPC1",339,0) ;" line. e.g. "RTN","TMGRPC1",340,0) ;" CODER(INPUT) "RTN","TMGRPC1",341,0) ;" ... ;"convert INPUT to RESULT "RTN","TMGRPC1",342,0) ;" QUIT RESULT "RTN","TMGRPC1",343,0) ;" default value is B64CODER^TMGRPC1 "RTN","TMGRPC1",344,0) ;" "RTN","TMGRPC1",345,0) ;"Output: @GRef is converted to encoded data "RTN","TMGRPC1",346,0) ;"Result: None "RTN","TMGRPC1",347,0) "RTN","TMGRPC1",348,0) if $get(GRef)="" goto EncodeDone "RTN","TMGRPC1",349,0) if $get(incSubscr)="" goto EncodeDone "RTN","TMGRPC1",350,0) "RTN","TMGRPC1",351,0) set encodeFn=$get(encodeFn,"B64CODER") "RTN","TMGRPC1",352,0) "RTN","TMGRPC1",353,0) new encoder "RTN","TMGRPC1",354,0) set encoder="set temp=$$"_encodeFn_"(.temp)" "RTN","TMGRPC1",355,0) "RTN","TMGRPC1",356,0) for do quit:(GRef="") "RTN","TMGRPC1",357,0) . new temp "RTN","TMGRPC1",358,0) . set temp=$get(@GRef) "RTN","TMGRPC1",359,0) . if temp="" set GRef="" quit "RTN","TMGRPC1",360,0) . xecute encoder ;"i.e. set temp=$$encoderFn(.temp) "RTN","TMGRPC1",361,0) . set @GRef=temp "RTN","TMGRPC1",362,0) . set GRef=$$NEXTNODE^TMGBINF(GRef,incSubscr,1,1) "RTN","TMGRPC1",363,0) "RTN","TMGRPC1",364,0) EncodeDone "RTN","TMGRPC1",365,0) quit "RTN","TMGRPC1",366,0) "RTN","TMGRPC1",367,0) "RTN","TMGRPC1",368,0) HEXCODER(INPUT) "RTN","TMGRPC1",369,0) ;"Purpose: to encode the input string. Currently using simple hex encoding/ "RTN","TMGRPC1",370,0) quit $$STRB2H^TMGSTUTL(.INPUT,0,1) "RTN","TMGRPC1",371,0) "RTN","TMGRPC1",372,0) "RTN","TMGRPC1",373,0) B64CODER(INPUT) "RTN","TMGRPC1",374,0) ;"Purpose: to encode the input string via UUENCODE (actually Base64) "RTN","TMGRPC1",375,0) quit $$ENCODE^RGUTUU(.INPUT) "RTN","TMGRPC1",376,0) "RTN","TMGRPC1",377,0) B64DECODER(INPUT) "RTN","TMGRPC1",378,0) ;"Purpose: to encode the input string via UUENCODE (actually Base64) "RTN","TMGRPC1",379,0) quit $$DECODE^RGUTUU(.INPUT) "RTN","TMGRPC1",380,0) "RTN","TMGRPC1",381,0) "RTN","TMGRPC1",382,0) DECODE(GRef,incSubscr,decodeFn) "RTN","TMGRPC1",383,0) ;"Purpose: ENCODE a BINARY GLOBAL. "RTN","TMGRPC1",384,0) ;"Input: "RTN","TMGRPC1",385,0) ;" GRef-- Global reference of the SOURCE binary global array, in fully resolved "RTN","TMGRPC1",386,0) ;" (closed root) format. "RTN","TMGRPC1",387,0) ;" Note: "RTN","TMGRPC1",388,0) ;" At least one subscript must be numeric. This will be the incrementing "RTN","TMGRPC1",389,0) ;" subscript (i.e. the subscript that $$BIN2WP^TMGBINWP will increment "RTN","TMGRPC1",390,0) ;" to store each new global node). This subscript need not be the final "RTN","TMGRPC1",391,0) ;" subscript. For example, to load into a WORD PROCESSING field, the "RTN","TMGRPC1",392,0) ;" incrementing node is the second-to-last subscript; the final subscript "RTN","TMGRPC1",393,0) ;" is always zero. "RTN","TMGRPC1",394,0) ;" REQUIRED "RTN","TMGRPC1",395,0) ;" incSubscr-- (required) Identifies the incrementing subscript level, for the source global "RTN","TMGRPC1",396,0) ;" For example, if you pass ^TMP(115,1,1,0) as the global_ref parameter and "RTN","TMGRPC1",397,0) ;" pass 3 as the inc_subscr parameter, $$BIN2GBL will increment the third "RTN","TMGRPC1",398,0) ;" subscript, such as ^TMP(115,1,x), but will WRITE notes at the full global "RTN","TMGRPC1",399,0) ;" reference, such as ^TMP(115,1,x,0). "RTN","TMGRPC1",400,0) ;" REQUIRED "RTN","TMGRPC1",401,0) ;" decodeFn- (OPTIONAL) the name of a function that will decode a line of data. "RTN","TMGRPC1",402,0) ;" e.g. "DECODER^ZZZCODER" or "DECODER". The function should take "RTN","TMGRPC1",403,0) ;" one input variable (the line of encoded data), and return a decoded line. e.g. "RTN","TMGRPC1",404,0) ;" DECODER(INPUT) "RTN","TMGRPC1",405,0) ;" ... ;"convert INPUT to RESULT "RTN","TMGRPC1",406,0) ;" QUIT RESULT "RTN","TMGRPC1",407,0) ;" default value is B64DECODER^TMGRPC1 "RTN","TMGRPC1",408,0) ;" "RTN","TMGRPC1",409,0) ;"Output: @GRef is converted to decoded data "RTN","TMGRPC1",410,0) ;"Result: None "RTN","TMGRPC1",411,0) "RTN","TMGRPC1",412,0) if $get(GRef)="" goto DecodeDone "RTN","TMGRPC1",413,0) if $get(incSubscr)="" goto DecodeDone "RTN","TMGRPC1",414,0) set decodeFn=$get(decodeFn,"B64DECODER") "RTN","TMGRPC1",415,0) "RTN","TMGRPC1",416,0) new decoder "RTN","TMGRPC1",417,0) set decoder="set temp=$$"_decodeFn_"(.temp)" "RTN","TMGRPC1",418,0) "RTN","TMGRPC1",419,0) for do quit:(GRef="") "RTN","TMGRPC1",420,0) . new temp "RTN","TMGRPC1",421,0) . set temp=$get(@GRef) "RTN","TMGRPC1",422,0) . if temp="" set GRef="" quit "RTN","TMGRPC1",423,0) . xecute decoder ;"i.e. set temp=$$decoderFn(.temp) "RTN","TMGRPC1",424,0) . set @GRef=temp "RTN","TMGRPC1",425,0) . set GRef=$$NEXTNODE^TMGBINF(GRef,incSubscr,1,1) "RTN","TMGRPC1",426,0) "RTN","TMGRPC1",427,0) DecodeDone "RTN","TMGRPC1",428,0) quit "RTN","TMGRPC1",429,0) "RTN","TMGRPC1",430,0) "RTN","TMGRPC1",431,0) GETLONG(GREF,IMAGEIEN) "RTN","TMGRPC1",432,0) ;"SCOPE: Public "RTN","TMGRPC1",433,0) ;"Purpose: To provide an entry point for a RPC call from a client. "RTN","TMGRPC1",434,0) ;" Will return results of field 11 (LONG DESCRIPTION) from file IMAGE(2005) "RTN","TMGRPC1",435,0) ;"Input: GREF -- OUT PARAM -- the array to pass the result back in (PASSED BY REFERENCE) "RTN","TMGRPC1",436,0) ;" IMAGEIEN-- The IEN (record number) from file 2005 (IMAGE) "RTN","TMGRPC1",437,0) ;"Output: results are passed out in @GREF "RTN","TMGRPC1",438,0) ;" @GREF@(0) = WP header line: format is: ^^MaxLine^MaxLine^TimeStamp(FM Date/Time Format) "RTN","TMGRPC1",439,0) ;" @GREF@(1) = WP line 1 "RTN","TMGRPC1",440,0) ;" @GREF@(2) = WP line 2 "RTN","TMGRPC1",441,0) ;" @GREF@(3) = WP line 3 "RTN","TMGRPC1",442,0) ;" @GREF@(4) = WP line 4 ... etc. "RTN","TMGRPC1",443,0) "RTN","TMGRPC1",444,0) set GREF="^TMP(""GETLONG^TMGRPC1"","_$J_")" "RTN","TMGRPC1",445,0) "RTN","TMGRPC1",446,0) kill @GREF "RTN","TMGRPC1",447,0) "RTN","TMGRPC1",448,0) new i,s,MaxLines,header "RTN","TMGRPC1",449,0) set header="" "RTN","TMGRPC1",450,0) if +$get(IMAGEIEN)>0 do "RTN","TMGRPC1",451,0) . set header=$get(^MAG(2005,IMAGEIEN,3,0)) ;"NOTE: Field 11 held in node 3;0 "RTN","TMGRPC1",452,0) set @GREF@(0)=header "RTN","TMGRPC1",453,0) set MaxLines=+$piece(header,"^",3) "RTN","TMGRPC1",454,0) for i=1:1:MaxLines do "RTN","TMGRPC1",455,0) . set @GREF@(i)=$get(^MAG(2005,IMAGEIEN,3,i,0)) "RTN","TMGRPC1",456,0) "RTN","TMGRPC1",457,0) quit "RTN","TMGRPC1",458,0) "RTN","TMGRPC1",459,0) "RTN","TMGRPC1",460,0) "RTN","TMGRPC1",461,0) GETDFN(RESULT,RECNUM,PMS,FNAME,LNAME,MNAME,DOB,SEX,SSNUM,AUTOADD) "RTN","TMGRPC1",462,0) ;"Purpose: This is a RPC entry point for looking up a patient. "RTN","TMGRPC1",463,0) ;"Input: "RTN","TMGRPC1",464,0) ;" RESULT -- an OUT PARAMETER "RTN","TMGRPC1",465,0) ;" RECNUM -- Record number from a PMS "RTN","TMGRPC1",466,0) ;" PMS -- Which PMS RECNUM refers to (1=Medic,2=Sequel,3=Paradigm) "RTN","TMGRPC1",467,0) ;" FNAME -- First Name "RTN","TMGRPC1",468,0) ;" LNAME -- Last name "RTN","TMGRPC1",469,0) ;" MNAME -- Middle Name or initial "RTN","TMGRPC1",470,0) ;" DOB -- Date of birth in EXTERNAL format "RTN","TMGRPC1",471,0) ;" SEX -- Patient sex: M or F "RTN","TMGRPC1",472,0) ;" SSNUM -- Social security number (digits only) "RTN","TMGRPC1",473,0) ;" AUTOADD -- Automatically register patient if needed (if value=1) "RTN","TMGRPC1",474,0) ;"Output: Patient may be added to database if AUTOADD=1 "RTN","TMGRPC1",475,0) ;"Results: Returns DFN (i.e. IEN in PATIENT file) or -1 if not found or error "RTN","TMGRPC1",476,0) "RTN","TMGRPC1",477,0) new Patient,TMGFREG "RTN","TMGRPC1",478,0) set RESULT=-1 ;"default to not found "RTN","TMGRPC1",479,0) "RTN","TMGRPC1",480,0) if $get(LNAME)'="" do "RTN","TMGRPC1",481,0) . set Patient("NAME")=$get(LNAME) "RTN","TMGRPC1",482,0) . if $get(FNAME)'="" set Patient("NAME")=Patient("NAME")_","_FNAME "RTN","TMGRPC1",483,0) . if $get(MNAME)'="" set Patient("NAME")=Patient("NAME")_" "_MNAME "RTN","TMGRPC1",484,0) set Patient("DOB")=$get(DOB) "RTN","TMGRPC1",485,0) set Patient("SEX")=$get(SEX) "RTN","TMGRPC1",486,0) set Patient("SSNUM")=$get(SSNUM) "RTN","TMGRPC1",487,0) test if $get(AUTOADD)=1 set TMGFREG=1 "RTN","TMGRPC1",488,0) "RTN","TMGRPC1",489,0) if $get(PMS)=1 set Patient("PATIENTNUM")=$get(RECNUM) ;" <-- Medic account number "RTN","TMGRPC1",490,0) if $get(PMS)=2 set Patient("SEQUELNUM")=$get(RECNUM) ;" <-- Sequel or other account number "RTN","TMGRPC1",491,0) if $get(PMS)=3 set Patient("PARADIGMNUM")=$get(RECNUM) ;" <-- Paradigm or other account number "RTN","TMGRPC1",492,0) "RTN","TMGRPC1",493,0) ;"temp "RTN","TMGRPC1",494,0) ;"merge ^TMG("TMP","GETDFN","KILLLATER")=Patient "RTN","TMGRPC1",495,0) ;"set ^TMG("TMP","GETDFN","KILLLATER","FNAME")=FNAME "RTN","TMGRPC1",496,0) ;"set ^TMG("TMP","GETDFN","KILLLATER","LNAME")=LNAME "RTN","TMGRPC1",497,0) ;"set ^TMG("TMP","GETDFN","KILLLATER","MNAME")=MNAME "RTN","TMGRPC1",498,0) "RTN","TMGRPC1",499,0) set RESULT=$$GetDFN^TMGGDFN(.Patient) "RTN","TMGRPC1",500,0) "RTN","TMGRPC1",501,0) quit "RTN","TMGRPC1",502,0) "RTN","TMGRPC1",503,0) "RTN","TMGRPC1",504,0) BLANKTIU(RESULT,DFN,PERSON,LOC,DOS,TITLE) "RTN","TMGRPC1",505,0) ;"Purpose: To create a new, blank TIU note and return it's IEN "RTN","TMGRPC1",506,0) ;"Input: DFN -- IEN in PATIENT file of patient "RTN","TMGRPC1",507,0) ;" PERSON -- Provider NAME "RTN","TMGRPC1",508,0) ;" LOC -- Location for new document "RTN","TMGRPC1",509,0) ;" DOS -- Date of Service "RTN","TMGRPC1",510,0) ;" TITLE -- Title of new document "RTN","TMGRPC1",511,0) ;"Results: IEN in file 8925 is returned in RESULT, "RTN","TMGRPC1",512,0) ;" or -1^ErrMsg1;ErrMsg2... if failure "RTN","TMGRPC1",513,0) ;"Note: This functionality probably duplicates that of RPC call: "RTN","TMGRPC1",514,0) ;" TIU CREATE NOTE -- found after writing this... "RTN","TMGRPC1",515,0) "RTN","TMGRPC1",516,0) new Document,Flag "RTN","TMGRPC1",517,0) "RTN","TMGRPC1",518,0) set Document("DFN")=DFN "RTN","TMGRPC1",519,0) set Document("PROVIDER IEN")=$$GetProvIEN^TMGPUTN0(PERSON) "RTN","TMGRPC1",520,0) set Document("LOCATION")=$get(LOC) "RTN","TMGRPC1",521,0) set Document("DATE")=$get(DOS) "RTN","TMGRPC1",522,0) set Document("TITLE")=$get(TITLE) "RTN","TMGRPC1",523,0) set Document("TRANSCRIPTIONIST")="" "RTN","TMGRPC1",524,0) set Document("CHARACTER COUNT - TRANSCRIPTIONIST'S")=0 "RTN","TMGRPC1",525,0) "RTN","TMGRPC1",526,0) set RESULT=$$PrepDoc^TMGPUTN0(.Document) "RTN","TMGRPC1",527,0) if +RESULT>0 do ;"change capture method from Upload (default) to RPC "RTN","TMGRPC1",528,0) . new TMGFDA,TMGMSG "RTN","TMGRPC1",529,0) . set TMGFDA(8925,RESULT_",",1303)="R" ;"1303 = capture method. "R" = RPC "RTN","TMGRPC1",530,0) . do FILE^DIE("E","TMGFDA","TMGMSG") ;"ignore any errors. "RTN","TMGRPC1",531,0) else do "RTN","TMGRPC1",532,0) . new i,ErrMsg set ErrMsg="" "RTN","TMGRPC1",533,0) . for i=1:1:+$get(Document("ERROR","NUM")) do "RTN","TMGRPC1",534,0) . . set ErrMsg=ErrMsg_$get(Document("ERROR",i))_" ||" "RTN","TMGRPC1",535,0) . if $data(Document("ERROR","FM INFO"))>0 do "RTN","TMGRPC1",536,0) . . new ref set ref="Document(""ERROR"",""FM INFO"")" "RTN","TMGRPC1",537,0) . . set ErrMsg=ErrMsg_"FILEMAN SAYS:" "RTN","TMGRPC1",538,0) . . for set ref=$query(@ref) quit:(ref="")!(ref'["FM INFO") do "RTN","TMGRPC1",539,0) . . . if ErrMsg'="" set ErrMsg=ErrMsg_" ||" "RTN","TMGRPC1",540,0) . . . set ErrMsg=ErrMsg_$piece(ref,"DIERR",2)_"="_$get(@ref) "RTN","TMGRPC1",541,0) . if ErrMsg="" set ErrMsg="Unknown error" "RTN","TMGRPC1",542,0) . set ErrMsg=$translate(ErrMsg,"^","@") "RTN","TMGRPC1",543,0) . set $piece(RESULT,"^",2)=ErrMsg "RTN","TMGRPC1",544,0) "RTN","TMGRPC1",545,0) ;"temp "RTN","TMGRPC1",546,0) merge ^TMG("TMP","BLANKTIU","RESULT")=RESULT "RTN","TMGRPC1",547,0) merge ^TMG("TMP","BLANKTIU","Document")=Document "RTN","TMGRPC1",548,0) "RTN","TMGRPC1",549,0) "RTN","TMGRPC1",550,0) quit "RTN","TMGRPC1",551,0) "RTN","TMGRPC1",552,0) "RTN","TMGRPC1",553,0) AUTOSIGN(RESULT,DOCIEN) "RTN","TMGRPC1",554,0) ;"Purpose: To automatically sign TIU note (8925). "RTN","TMGRPC1",555,0) ;"Input: DOCIEN -- the IEN in 8925 of the file to be automatically signed. "RTN","TMGRPC1",556,0) ;"Note: This function will not succeed unless field 1303 holds "R" "RTN","TMGRPC1",557,0) ;" and an Author found for note "RTN","TMGRPC1",558,0) ;"Results: Results passed back in RESULT(0) ARRAY "RTN","TMGRPC1",559,0) ;" -1 = failure. 1= success "RTN","TMGRPC1",560,0) ;" Any error message is passed back in RESULT("DIERR") "RTN","TMGRPC1",561,0) ;"Note: This differs from RPC CALL: TIU SIGN RECORD in that a signiture "RTN","TMGRPC1",562,0) ;" code is NOT required "RTN","TMGRPC1",563,0) "RTN","TMGRPC1",564,0) new TMGFDA,TMGMSG "RTN","TMGRPC1",565,0) new AuthorIEN,AuthorName "RTN","TMGRPC1",566,0) new CaptureMethod "RTN","TMGRPC1",567,0) "RTN","TMGRPC1",568,0) set DOCIEN=+$get(DOCIEN) "RTN","TMGRPC1",569,0) set RESULT=-1 ;"default to failure "RTN","TMGRPC1",570,0) "RTN","TMGRPC1",571,0) set CaptureMethod=$piece($get(^TIU(8925,DOCIEN,13)),"^",3) "RTN","TMGRPC1",572,0) if CaptureMethod'="R" do goto ASDone "RTN","TMGRPC1",573,0) . set RESULT("DIERR")="Unable to auto-sign. Upload-Method was not 'R'." "RTN","TMGRPC1",574,0) set AuthorIEN=$piece($get(^TIU(8925,DOCIEN,12)),"^",2) "RTN","TMGRPC1",575,0) if AuthorIEN'>0 do goto ASDone "RTN","TMGRPC1",576,0) . set RESULT("DIERR")="Unable to find author of document." "RTN","TMGRPC1",577,0) set AuthorName=$piece($get(^VA(200,AuthorIEN,0)),"^",1) "RTN","TMGRPC1",578,0) "RTN","TMGRPC1",579,0) set TMGFDA(8925,DOCIEN_",",.05)="COMPLETED" ;"field .05 = STATUS "RTN","TMGRPC1",580,0) set TMGFDA(8925,DOCIEN_",",1501)="NOW" ;"field 1501 = Signed date "RTN","TMGRPC1",581,0) set TMGFDA(8925,DOCIEN_",",1502)="`"_AuthorIEN ;"field 1502 = signed by "RTN","TMGRPC1",582,0) set TMGFDA(8925,DOCIEN_",",1503)=AuthorName ;"field 1503 = Signature block name "RTN","TMGRPC1",583,0) set TMGFDA(8925,DOCIEN_",",1504)="[Scanned image auto-signed]" ;"field 1504 = Signature block title "RTN","TMGRPC1",584,0) set TMGFDA(8925,DOCIEN_",",1505)="C" ;C=Chart ;"field 1505 = Signature mode "RTN","TMGRPC1",585,0) do FILE^DIE("E","TMGFDA","TMGMSG") "RTN","TMGRPC1",586,0) if $data(TMGMSG("DIERR")) do goto ASDone "RTN","TMGRPC1",587,0) . merge RESULT("DIERR")=TMGMSG("DIERR") "RTN","TMGRPC1",588,0) "RTN","TMGRPC1",589,0) set RESULT(0)=1 ;"set success if we got this far. "RTN","TMGRPC1",590,0) ASDone "RTN","TMGRPC1",591,0) quit "RTN","TMGRPC1",592,0) "RTN","TMGRPC1",593,0) "RTN","TMGRPC1",594,0) DFNINFO(RESULT,DFN) "RTN","TMGRPC1",595,0) ;"Purpose: To return array with demographcs details about patient "RTN","TMGRPC1",596,0) ;"Input: RESULT (this is the output array) "RTN","TMGRPC1",597,0) ;" DFN : The record number in file #2 of the patient to inquire about. "RTN","TMGRPC1",598,0) ;"Results: Results passed back in RESULT array. Format as follows: "RTN","TMGRPC1",599,0) ;" The results are in format: KeyName=Value, "RTN","TMGRPC1",600,0) ;" There is no set order these will appear. "RTN","TMGRPC1",601,0) ;" Here are the KeyName names that will be provided. "RTN","TMGRPC1",602,0) ;" If the record has no value, then value will be empty "RTN","TMGRPC1",603,0) ;" IEN=record# "RTN","TMGRPC1",604,0) ;" COMBINED_NAME= "RTN","TMGRPC1",605,0) ;" LNAME= "RTN","TMGRPC1",606,0) ;" FNAME= "RTN","TMGRPC1",607,0) ;" MNAME= "RTN","TMGRPC1",608,0) ;" PREFIX= "RTN","TMGRPC1",609,0) ;" SUFFIX= "RTN","TMGRPC1",610,0) ;" DEGREE "RTN","TMGRPC1",611,0) ;" DOB= "RTN","TMGRPC1",612,0) ;" SEX= "RTN","TMGRPC1",613,0) ;" SS_NUM= "RTN","TMGRPC1",614,0) ;" ADDRESS_LINE_1= "RTN","TMGRPC1",615,0) ;" ADDRESS_LINE_2= "RTN","TMGRPC1",616,0) ;" ADDRESS_LINE_3= "RTN","TMGRPC1",617,0) ;" CITY= "RTN","TMGRPC1",618,0) ;" STATE= "RTN","TMGRPC1",619,0) ;" ZIP4= "RTN","TMGRPC1",620,0) ;" BAD_ADDRESS= "RTN","TMGRPC1",621,0) ;" TEMP_ADDRESS_LINE_1= "RTN","TMGRPC1",622,0) ;" TEMP_ADDRESS_LINE_2= "RTN","TMGRPC1",623,0) ;" TEMP_ADDRESS_LINE_3= "RTN","TMGRPC1",624,0) ;" TEMP_CITY= "RTN","TMGRPC1",625,0) ;" TEMP_STATE= "RTN","TMGRPC1",626,0) ;" TEMP_ZIP4= "RTN","TMGRPC1",627,0) ;" TEMP_STARTING_DATE= "RTN","TMGRPC1",628,0) ;" TEMP_ENDING_DATE= "RTN","TMGRPC1",629,0) ;" TEMP_ADDRESS_ACTIVE= "RTN","TMGRPC1",630,0) ;" CONF_ADDRESS_LINE_1= "RTN","TMGRPC1",631,0) ;" CONF_ADDRESS_LINE_2= "RTN","TMGRPC1",632,0) ;" CONF_ADDRESS_LINE_3= "RTN","TMGRPC1",633,0) ;" CONF_CITY= "RTN","TMGRPC1",634,0) ;" CONF_STATE= "RTN","TMGRPC1",635,0) ;" CONF_ZIP4= "RTN","TMGRPC1",636,0) ;" CONF_STARTING_DATE= "RTN","TMGRPC1",637,0) ;" CONF_ENDING_DATE= "RTN","TMGRPC1",638,0) ;" CONF_ADDRESS_ACTIVE= "RTN","TMGRPC1",639,0) ;" PHONE_RESIDENCE= "RTN","TMGRPC1",640,0) ;" PHONE_WORK= "RTN","TMGRPC1",641,0) ;" PHONE_CELL= "RTN","TMGRPC1",642,0) ;" PHONE_TEMP= "RTN","TMGRPC1",643,0) "RTN","TMGRPC1",644,0) ;"Note, for the following, there may be multiple entries. # is record number "RTN","TMGRPC1",645,0) ;" ALIAS # NAME "RTN","TMGRPC1",646,0) ;" ALIAS # SSN "RTN","TMGRPC1",647,0) "RTN","TMGRPC1",648,0) new TMGFDA,TMGMSG,IENS "RTN","TMGRPC1",649,0) set IENS="" "RTN","TMGRPC1",650,0) new ptrParts set ptrParts=0 "RTN","TMGRPC1",651,0) set DFN=+$get(DFN) "RTN","TMGRPC1",652,0) if DFN>0 do "RTN","TMGRPC1",653,0) . set ptrParts=+$piece($get(^DPT(DFN,"NAME")),"^",1) ;"ptr to file #20, NAME COMPONENTS "RTN","TMGRPC1",654,0) . set IENS=DFN_"," "RTN","TMGRPC1",655,0) . do GETS^DIQ(2,IENS,"**","N","TMGFDA","TMGMSG") "RTN","TMGRPC1",656,0) "RTN","TMGRPC1",657,0) new line set line=0 "RTN","TMGRPC1",658,0) set RESULT(line)="IEN="_DFN set line=line+1 "RTN","TMGRPC1",659,0) set RESULT(line)="COMBINED_NAME="_$get(TMGFDA(2,IENS,.01)) set line=line+1 "RTN","TMGRPC1",660,0) new s set s="" "RTN","TMGRPC1",661,0) if ptrParts>0 set s=$get(^VA(20,ptrParts,1)) "RTN","TMGRPC1",662,0) set RESULT(line)="LNAME="_$piece(s,"^",1) set line=line+1 "RTN","TMGRPC1",663,0) set RESULT(line)="FNAME="_$piece(s,"^",2) set line=line+1 "RTN","TMGRPC1",664,0) set RESULT(line)="MNAME="_$piece(s,"^",3) set line=line+1 "RTN","TMGRPC1",665,0) set RESULT(line)="PREFIX="_$piece(s,"^",4) set line=line+1 "RTN","TMGRPC1",666,0) set RESULT(line)="SUFFIX="_$piece(s,"^",5) set line=line+1 "RTN","TMGRPC1",667,0) set RESULT(line)="DEGREE="_$piece(s,"^",5) set line=line+1 "RTN","TMGRPC1",668,0) set RESULT(line)="DOB="_$get(TMGFDA(2,IENS,.03)) set line=line+1 "RTN","TMGRPC1",669,0) set RESULT(line)="SEX="_$get(TMGFDA(2,IENS,.02)) set line=line+1 "RTN","TMGRPC1",670,0) set RESULT(line)="SS_NUM="_$get(TMGFDA(2,IENS,.09)) set line=line+1 "RTN","TMGRPC1",671,0) set RESULT(line)="EMAIL="_$get(TMGFDA(2,IENS,.133)) set line=line+1 "RTN","TMGRPC1",672,0) set RESULT(line)="ADDRESS_LINE_1="_$get(TMGFDA(2,IENS,.111)) set line=line+1 "RTN","TMGRPC1",673,0) set RESULT(line)="ADDRESS_LINE_2="_$get(TMGFDA(2,IENS,.112)) set line=line+1 "RTN","TMGRPC1",674,0) set RESULT(line)="ADDRESS_LINE_3="_$get(TMGFDA(2,IENS,.113)) set line=line+1 "RTN","TMGRPC1",675,0) set RESULT(line)="CITY="_$get(TMGFDA(2,IENS,.114)) set line=line+1 "RTN","TMGRPC1",676,0) set RESULT(line)="STATE="_$get(TMGFDA(2,IENS,.115)) set line=line+1 "RTN","TMGRPC1",677,0) if $get(TMGFDA(2,IENS,.1122))'="" do "RTN","TMGRPC1",678,0) . set RESULT(line)="ZIP4="_$get(TMGFDA(2,IENS,.1122)) set line=line+1 "RTN","TMGRPC1",679,0) else if $get(TMGFDA(2,IENS,.1116))'="" do "RTN","TMGRPC1",680,0) . set RESULT(line)="ZIP4="_$get(TMGFDA(2,IENS,.1116)) set line=line+1 "RTN","TMGRPC1",681,0) set RESULT(line)="BAD_ADDRESS="_$get(TMGFDA(2,IENS,.121)) set line=line+1 "RTN","TMGRPC1",682,0) set RESULT(line)="TEMP_ADDRESS_LINE_1="_$get(TMGFDA(2,IENS,.1211)) set line=line+1 "RTN","TMGRPC1",683,0) set RESULT(line)="TEMP_ADDRESS_LINE_2="_$get(TMGFDA(2,IENS,.1212)) set line=line+1 "RTN","TMGRPC1",684,0) set RESULT(line)="TEMP_ADDRESS_LINE_3="_$get(TMGFDA(2,IENS,.1213)) set line=line+1 "RTN","TMGRPC1",685,0) set RESULT(line)="TEMP_CITY="_$get(TMGFDA(2,IENS,.1214)) set line=line+1 "RTN","TMGRPC1",686,0) set RESULT(line)="TEMP_STATE="_$get(TMGFDA(2,IENS,.1215)) set line=line+1 "RTN","TMGRPC1",687,0) set RESULT(line)="TEMP_ZIP4="_$get(TMGFDA(2,IENS,.1216)) set line=line+1 "RTN","TMGRPC1",688,0) set RESULT(line)="TEMP_STARTING_DATE="_$get(TMGFDA(2,IENS,.1217)) set line=line+1 "RTN","TMGRPC1",689,0) set RESULT(line)="TEMP_ENDING_DATE="_$get(TMGFDA(2,IENS,.1218)) set line=line+1 "RTN","TMGRPC1",690,0) set RESULT(line)="TEMP_ADDRESS_ACTIVE="_$get(TMGFDA(2,IENS,.12105)) set line=line+1 "RTN","TMGRPC1",691,0) set RESULT(line)="CONF_ADDRESS_LINE_1="_$get(TMGFDA(2,IENS,.1411)) set line=line+1 "RTN","TMGRPC1",692,0) set RESULT(line)="CONF_ADDRESS_LINE_1="_$get(TMGFDA(2,IENS,.1412)) set line=line+1 "RTN","TMGRPC1",693,0) set RESULT(line)="CONF_ADDRESS_LINE_1="_$get(TMGFDA(2,IENS,.1413)) set line=line+1 "RTN","TMGRPC1",694,0) set RESULT(line)="CONF_CITY="_$get(TMGFDA(2,IENS,.1414)) set line=line+1 "RTN","TMGRPC1",695,0) set RESULT(line)="CONF_STATE="_$get(TMGFDA(2,IENS,.1415)) set line=line+1 "RTN","TMGRPC1",696,0) set RESULT(line)="CONF_ZIP4="_$get(TMGFDA(2,IENS,.1416)) set line=line+1 "RTN","TMGRPC1",697,0) set RESULT(line)="CONF_STARTING_DATE="_$get(TMGFDA(2,IENS,.1417)) set line=line+1 "RTN","TMGRPC1",698,0) set RESULT(line)="CONF_ENDING_DATE="_$get(TMGFDA(2,IENS,.1418)) set line=line+1 "RTN","TMGRPC1",699,0) set RESULT(line)="CONF_ADDRESS_ACTIVE="_$get(TMGFDA(2,IENS,.14105)) set line=line+1 "RTN","TMGRPC1",700,0) set RESULT(line)="PHONE_RESIDENCE="_$get(TMGFDA(2,IENS,.131)) set line=line+1 "RTN","TMGRPC1",701,0) set RESULT(line)="PHONE_WORK="_$get(TMGFDA(2,IENS,.132)) set line=line+1 "RTN","TMGRPC1",702,0) set RESULT(line)="PHONE_CELL="_$get(TMGFDA(2,IENS,.134)) set line=line+1 "RTN","TMGRPC1",703,0) set RESULT(line)="PHONE_TEMP="_$get(TMGFDA(2,IENS,.1219)) set line=line+1 "RTN","TMGRPC1",704,0) "RTN","TMGRPC1",705,0) ;"the GETS doesn't return ALIAS entries, so will do manually: "RTN","TMGRPC1",706,0) new Itr,IEN "RTN","TMGRPC1",707,0) set IEN=$$ItrInit^TMGITR(2.01,.Itr,DFN_",") "RTN","TMGRPC1",708,0) if IEN'="" for do quit:(+$$ItrNext^TMGITR(.Itr,.IEN)'>0) "RTN","TMGRPC1",709,0) . new s set s=$get(^DPT(DFN,.01,IEN,0)) "RTN","TMGRPC1",710,0) . if s="" quit "RTN","TMGRPC1",711,0) . set RESULT(line)="ALIAS "_IEN_" NAME="_$piece(s,"^",1) set line=line+1 "RTN","TMGRPC1",712,0) . set RESULT(line)="ALIAS "_IEN_" SSN="_$piece(s,"^",2) set line=line+1 "RTN","TMGRPC1",713,0) . ;"maybe later do something with NAME COMPONENTS in Alias. "RTN","TMGRPC1",714,0) "RTN","TMGRPC1",715,0) quit "RTN","TMGRPC1",716,0) "RTN","TMGRPC1",717,0) "RTN","TMGRPC1",718,0) STPTINFO(RESULT,DFN,INFO) ;" SET PATIENT INFO "RTN","TMGRPC1",719,0) ;"Purpose: To set demographcs details about patient "RTN","TMGRPC1",720,0) ;"Input: RESULT (this is the output array) "RTN","TMGRPC1",721,0) ;" DFN : The record number in file #2 of the patient to inquire about. "RTN","TMGRPC1",722,0) ;" INFO: Format as follows: "RTN","TMGRPC1",723,0) ;" The results are in format: INFO("KeyName")=Value, "RTN","TMGRPC1",724,0) ;" There is no set order these will appear. "RTN","TMGRPC1",725,0) ;" Here are the KeyName names that will be provided. "RTN","TMGRPC1",726,0) ;" If the record has no value, then value will be empty "RTN","TMGRPC1",727,0) ;" If a record should be deleted, its value will be @ "RTN","TMGRPC1",728,0) ;" INFO("COMBINED_NAME")= "RTN","TMGRPC1",729,0) ;" INFO("PREFIX")= "RTN","TMGRPC1",730,0) ;" INFO("SUFFIX")= "RTN","TMGRPC1",731,0) ;" INFO("DEGREE")= "RTN","TMGRPC1",732,0) ;" INFO("DOB")= "RTN","TMGRPC1",733,0) ;" INFO("SEX")= "RTN","TMGRPC1",734,0) ;" INFO("SS_NUM")= "RTN","TMGRPC1",735,0) ;" INFO("ADDRESS_LINE_1")= "RTN","TMGRPC1",736,0) ;" INFO("ADDRESS_LINE_2")= "RTN","TMGRPC1",737,0) ;" INFO("ADDRESS_LINE_3")= "RTN","TMGRPC1",738,0) ;" INFO("CITY")= "RTN","TMGRPC1",739,0) ;" INFO("STATE")= "RTN","TMGRPC1",740,0) ;" INFO("ZIP4")= "RTN","TMGRPC1",741,0) ;" INFO("BAD_ADDRESS")= "RTN","TMGRPC1",742,0) ;" INFO("TEMP_ADDRESS_LINE_1")= "RTN","TMGRPC1",743,0) ;" INFO("TEMP_ADDRESS_LINE_2")= "RTN","TMGRPC1",744,0) ;" INFO("TEMP_ADDRESS_LINE_3")= "RTN","TMGRPC1",745,0) ;" INFO("TEMP_CITY")= "RTN","TMGRPC1",746,0) ;" INFO("TEMP_STATE")= "RTN","TMGRPC1",747,0) ;" INFO("TEMP_ZIP4")= "RTN","TMGRPC1",748,0) ;" INFO("TEMP_STARTING_DATE")= "RTN","TMGRPC1",749,0) ;" INFO("TEMP_ENDING_DATE")= "RTN","TMGRPC1",750,0) ;" INFO("TEMP_ADDRESS_ACTIVE")= "RTN","TMGRPC1",751,0) ;" INFO("CONF_ADDRESS_LINE_1")= "RTN","TMGRPC1",752,0) ;" INFO("CONF_ADDRESS_LINE_2")= "RTN","TMGRPC1",753,0) ;" INFO("CONF_ADDRESS_LINE_3")= "RTN","TMGRPC1",754,0) ;" INFO("CONF_CITY")= "RTN","TMGRPC1",755,0) ;" INFO("CONF_STATE")= "RTN","TMGRPC1",756,0) ;" INFO("CONF_ZIP4")= "RTN","TMGRPC1",757,0) ;" INFO("CONF_STARTING_DATE")= "RTN","TMGRPC1",758,0) ;" INFO("CONF_ENDING_DATE")= "RTN","TMGRPC1",759,0) ;" INFO("CONF_ADDRESS_ACTIVE")= "RTN","TMGRPC1",760,0) ;" INFO("PHONE_RESIDENCE")= "RTN","TMGRPC1",761,0) ;" INFO("PHONE_WORK")= "RTN","TMGRPC1",762,0) ;" INFO("PHONE_CELL")= "RTN","TMGRPC1",763,0) ;" INFO("PHONE_TEMP")= "RTN","TMGRPC1",764,0) ;"Note, for the following, there may be multiple entries. # is record number "RTN","TMGRPC1",765,0) ;" If a record should be added, it will be marked +1, +2 etc. "RTN","TMGRPC1",766,0) ;" INFO("ALIAS # NAME")= "RTN","TMGRPC1",767,0) ;" INFO("ALIAS # SSN")= "RTN","TMGRPC1",768,0) ;" "RTN","TMGRPC1",769,0) ;"Results: Results passed back in RESULT string: "RTN","TMGRPC1",770,0) ;" 1 = success "RTN","TMGRPC1",771,0) ;" -1^Message = failure "RTN","TMGRPC1",772,0) "RTN","TMGRPC1",773,0) set RESULT=1 ;"default to success "RTN","TMGRPC1",774,0) "RTN","TMGRPC1",775,0) ;"kill ^TMG("TMP","RPC") "RTN","TMGRPC1",776,0) ;"merge ^TMG("TMP","RPC")=INFO ;"temp... remove later "RTN","TMGRPC1",777,0) "RTN","TMGRPC1",778,0) new TMGFDA,TMGMSG,IENS "RTN","TMGRPC1",779,0) set IENS=DFN_"," "RTN","TMGRPC1",780,0) new key set key="" "RTN","TMGRPC1",781,0) for set key=$order(INFO(key)) quit:(key="") do "RTN","TMGRPC1",782,0) . if key="COMBINED_NAME" set TMGFDA(2,IENS,.01)=INFO("COMBINED_NAME") "RTN","TMGRPC1",783,0) . else if +key=key set TMGFDA(2,IENS,key)=INFO(key) "RTN","TMGRPC1",784,0) . else if key="DOB" set TMGFDA(2,IENS,.03)=INFO("DOB") "RTN","TMGRPC1",785,0) . else if key="SEX" set TMGFDA(2,IENS,.02)=INFO("SEX") "RTN","TMGRPC1",786,0) . else if key="SS_NUM" set TMGFDA(2,IENS,.09)=INFO("SS_NUM") "RTN","TMGRPC1",787,0) . else if key="ADDRESS_LINE_1" set TMGFDA(2,IENS,.111)=INFO("ADDRESS_LINE_1") "RTN","TMGRPC1",788,0) . else if key="ADDRESS_LINE_2" set TMGFDA(2,IENS,.112)=INFO("ADDRESS_LINE_2") "RTN","TMGRPC1",789,0) . else if key="ADDRESS_LINE_3" set TMGFDA(2,IENS,.113)=INFO("ADDRESS_LINE_3") "RTN","TMGRPC1",790,0) . else if key="CITY" set TMGFDA(2,IENS,.114)=INFO("CITY") "RTN","TMGRPC1",791,0) . else if key="STATE" set TMGFDA(2,IENS,.115)=INFO("STATE") "RTN","TMGRPC1",792,0) . else if key="ZIP4" set TMGFDA(2,IENS,.1112)=INFO("ZIP4") "RTN","TMGRPC1",793,0) . else if key="BAD_ADDRESS" set TMGFDA(2,IENS,.121)=INFO("BAD_ADDRESS") "RTN","TMGRPC1",794,0) . else if key="TEMP_ADDRESS_LINE_1" set TMGFDA(2,IENS,.1211)=INFO("TEMP_ADDRESS_LINE_1") "RTN","TMGRPC1",795,0) . else if key="TEMP_ADDRESS_LINE_2" set TMGFDA(2,IENS,.1212)=INFO("TEMP_ADDRESS_LINE_2") "RTN","TMGRPC1",796,0) . else if key="TEMP_ADDRESS_LINE_3" set TMGFDA(2,IENS,.1213)=INFO("TEMP_ADDRESS_LINE_3") "RTN","TMGRPC1",797,0) . else if key="TEMP_CITY" set TMGFDA(2,IENS,.1214)=INFO("TEMP_CITY") "RTN","TMGRPC1",798,0) . else if key="TEMP_STATE" set TMGFDA(2,IENS,.1215)=INFO("TEMP_STATE") "RTN","TMGRPC1",799,0) . else if key="TEMP_ZIP4" set TMGFDA(2,IENS,.12112)=INFO("TEMP_ZIP4") "RTN","TMGRPC1",800,0) . else if key="TEMP_STARTING_DATE" set TMGFDA(2,IENS,.1217)=INFO("TEMP_STARTING_DATE") "RTN","TMGRPC1",801,0) . else if key="TEMP_ENDING_DATE" set TMGFDA(2,IENS,.1218)=INFO("TEMP_ENDING_DATE") "RTN","TMGRPC1",802,0) . else if key="TEMP_ADDRESS_ACTIVE" set TMGFDA(2,IENS,.12105)=INFO("TEMP_ADDRESS_ACTIVE") "RTN","TMGRPC1",803,0) . else if key="CONF_ADDRESS_LINE_1" set TMGFDA(2,IENS,.1411)=INFO("CONF_ADDRESS_LINE_1") "RTN","TMGRPC1",804,0) . else if key="CONF_ADDRESS_LINE_2" set TMGFDA(2,IENS,.1412)=INFO("CONF_ADDRESS_LINE_2") "RTN","TMGRPC1",805,0) . else if key="CONF_ADDRESS_LINE_3" set TMGFDA(2,IENS,.1413)=INFO("CONF_ADDRESS_LINE_3") "RTN","TMGRPC1",806,0) . else if key="CONF_CITY" set TMGFDA(2,IENS,.1414)=INFO("CONF_CITY") "RTN","TMGRPC1",807,0) . else if key="CONF_STATE" set TMGFDA(2,IENS,.1415)=INFO("CONF_STATE") "RTN","TMGRPC1",808,0) . else if key="CONF_ZIP" set TMGFDA(2,IENS,.1416)=INFO("CONF_ZIP") "RTN","TMGRPC1",809,0) . else if key="CONF_STARTING_DATE" set TMGFDA(2,IENS,.1417)=INFO("CONF_STARTING_DATE") "RTN","TMGRPC1",810,0) . else if key="CONF_ENDING_DATE" set TMGFDA(2,IENS,.1418)=INFO("CONF_ENDING_DATE") "RTN","TMGRPC1",811,0) . else if key="CONF_ADDRESS_ACTIVE" set TMGFDA(2,IENS,.14105)=INFO("CONF_ADDRESS_ACTIVE") "RTN","TMGRPC1",812,0) . else if key="PHONE_RESIDENCE" set TMGFDA(2,IENS,.131)=INFO("PHONE_RESIDENCE") "RTN","TMGRPC1",813,0) . else if key="PHONE_WORK" set TMGFDA(2,IENS,.132)=INFO("PHONE_WORK") "RTN","TMGRPC1",814,0) . else if key="PHONE_CELL" set TMGFDA(2,IENS,.134)=INFO("PHONE_CELL") "RTN","TMGRPC1",815,0) . else if key="PHONE_TEMP" set TMGFDA(2,IENS,.1219)=INFO("PHONE_TEMP") "RTN","TMGRPC1",816,0) . else if key="EMAIL" set TMGFDA(2,IENS,.133)=INFO("EMAIL") "RTN","TMGRPC1",817,0) "RTN","TMGRPC1",818,0) if $data(TMGFDA) do "RTN","TMGRPC1",819,0) . do FILE^DIE("EKST","TMGFDA","TMGMSG") "RTN","TMGRPC1",820,0) . if $data(TMGMSG("DIERR")) do "RTN","TMGRPC1",821,0) . . set RESULT="-1^Filing Error Occured: "_$get(TMGMSG("DIERR",1,"TEXT",1)) "RTN","TMGRPC1",822,0) . . ;"merge ^TMG("TMP","RPC","DIERR")=TMGMSG("DIERR") "RTN","TMGRPC1",823,0) . . ;"merge ^TMG("TMP","RPC","FDA")=TMGFDA "RTN","TMGRPC1",824,0) "RTN","TMGRPC1",825,0) ;"now file Alias info separately "RTN","TMGRPC1",826,0) if RESULT=1 do "RTN","TMGRPC1",827,0) . new tempArray,index,key2 "RTN","TMGRPC1",828,0) . new key set key="" "RTN","TMGRPC1",829,0) . for set key=$order(INFO(key)) quit:(key="") do "RTN","TMGRPC1",830,0) . . if key["ALIAS" do "RTN","TMGRPC1",831,0) . . . set index=$piece(key," ",2) quit:(index="") "RTN","TMGRPC1",832,0) . . . set key2=$piece(key," ",3) "RTN","TMGRPC1",833,0) . . . set tempArray(index,key2)=INFO(key) "RTN","TMGRPC1",834,0) . set index=0 for set index=$order(tempArray(index)) quit:(index="")!(RESULT'=1) do "RTN","TMGRPC1",835,0) . . new TMGFDA,TMGMSG,TMGIEN,newRec "RTN","TMGRPC1",836,0) . . set newRec=0 "RTN","TMGRPC1",837,0) . . set key="" for set key=$order(tempArray(index,key)) quit:(key="")!(RESULT'=1) do "RTN","TMGRPC1",838,0) . . . if key="NAME" set TMGFDA(2.01,index_","_DFN_",",.01)=$get(tempArray(index,"NAME")) "RTN","TMGRPC1",839,0) . . . if key="SSN" set TMGFDA(2.01,index_","_DFN_",",1)=$get(tempArray(index,"SSN")) "RTN","TMGRPC1",840,0) . . . if index["+" set newRec=1 "RTN","TMGRPC1",841,0) . . if $data(TMGFDA) do "RTN","TMGRPC1",842,0) . . . if newRec=0 do FILE^DIE("EKST","TMGFDA","TMGMSG") "RTN","TMGRPC1",843,0) . . . else do UPDATE^DIE("ES","TMGFDA","TMGIEN","TMGMSG") "RTN","TMGRPC1",844,0) . . if $data(TMGMSG("DIERR")) do "RTN","TMGRPC1",845,0) . . . set RESULT="-1^Filing Error Occured: "_$get(TMGMSG("DIERR",1,"TEXT",1)) "RTN","TMGRPC1",846,0) . . . ;"merge ^TMG("TMP","RPC","DIERR")=TMGMSG("DIERR") "RTN","TMGRPC1",847,0) . . . ;"merge ^TMG("TMP","RPC","FDA")=TMGFDA "RTN","TMGRPC1",848,0) "RTN","TMGRPC1",849,0) quit "RTN","TMGRPC1",850,0) "RTN","TMGRPC1",851,0) PTADD(RESULT,INFO) ;" ADD PATIENT "RTN","TMGRPC1",852,0) ;"Purpose: To add a patient "RTN","TMGRPC1",853,0) ;"Input: RESULT (this is the output array) "RTN","TMGRPC1",854,0) ;" "RTN","TMGRPC1",855,0) ;" INFO: Format as follows: "RTN","TMGRPC1",856,0) ;" The results are in format: INFO("KeyName")=Value, "RTN","TMGRPC1",857,0) ;" There is no set order these will appear. "RTN","TMGRPC1",858,0) ;" Here are the KeyName names that will be provided. "RTN","TMGRPC1",859,0) ;" If the record has no value, then value will be empty "RTN","TMGRPC1",860,0) ;" If a record should be deleted, its value will be @ "RTN","TMGRPC1",861,0) ;" INFO("COMBINED_NAME")= "RTN","TMGRPC1",862,0) ;" INFO("DOB")= "RTN","TMGRPC1",863,0) ;" INFO("SEX")= "RTN","TMGRPC1",864,0) ;" INFO("SS_NUM")= "RTN","TMGRPC1",865,0) ;" INFO("Veteran")= "RTN","TMGRPC1",866,0) ;" INFO("PtType")= "RTN","TMGRPC1",867,0) ;"Results: Results passed back in RESULT string: "RTN","TMGRPC1",868,0) ;" DFN = success "RTN","TMGRPC1",869,0) ;" -1^Message = failure "RTN","TMGRPC1",870,0) ;" 0^DFN = already exists "RTN","TMGRPC1",871,0) "RTN","TMGRPC1",872,0) set RESULT=1 ;"default to success "RTN","TMGRPC1",873,0) "RTN","TMGRPC1",874,0) kill ^TMG("TMP","RPC") "RTN","TMGRPC1",875,0) merge ^TMG("TMP","RPC")=INFO ;"temp... remove later "RTN","TMGRPC1",876,0) "RTN","TMGRPC1",877,0) new TMGFDA,TMGMSG,IENS,PATIENT,DFN,TMGFREG "RTN","TMGRPC1",878,0) ;" set IENS=DFN_"," "RTN","TMGRPC1",879,0) new key set key="" "RTN","TMGRPC1",880,0) for set key=$order(INFO(key)) quit:(key="") do "RTN","TMGRPC1",881,0) . if key="COMBINED_NAME" set PATIENT("NAME")=INFO("COMBINED_NAME") "RTN","TMGRPC1",882,0) . else if key="DOB" set PATIENT("DOB")=INFO("DOB") "RTN","TMGRPC1",883,0) . else if key="SEX" set PATIENT("SEX")=INFO("SEX") "RTN","TMGRPC1",884,0) . else if key="SS_NUM" set PATIENT("SSNUM")=INFO("SS_NUM") "RTN","TMGRPC1",885,0) . else if key="Veteran" set PATIENT("VETERAN")=INFO("Veteran") "RTN","TMGRPC1",886,0) . else if key="PtType" set PATIENT("PT_TYPE")=INFO("PtType") "RTN","TMGRPC1",887,0) set DFN=$$GetDFN^TMGGDFN(.PATIENT) "RTN","TMGRPC1",888,0) if DFN=-1 do "RTN","TMGRPC1",889,0) . new Entry,result,ErrMsg "RTN","TMGRPC1",890,0) . do Pat2Entry^TMGGDFN(.PATIENT,.Entry) "RTN","TMGRPC1",891,0) . set DFN=$$AddNewPt^TMGGDFN(.Entry,.ErrMsg) "RTN","TMGRPC1",892,0) . ;"set DFN=$$GetDFN^TMGGDFN(.PATIENT) "RTN","TMGRPC1",893,0) . if DFN'>0 do "RTN","TMGRPC1",894,0) . . set RESULT="-1^ERROR ADDING" ;"should use ErrMsg from above. Fix later "RTN","TMGRPC1",895,0) . . set RESULT=RESULT_". "_$$GetErrStr^TMGDEBUG(.ErrMsg) "RTN","TMGRPC1",896,0) . else do "RTN","TMGRPC1",897,0) .. set RESULT=DFN "RTN","TMGRPC1",898,0) else do "RTN","TMGRPC1",899,0) . set RESULT="0^"_DFN "RTN","TMGRPC1",900,0) "RTN","TMGRPC1",901,0) quit "RTN","TMGRPC1",902,0) "RTN","TMGRPC1",903,0) "RTN","TMGRPC1",904,0) GETBARCD(GREF,MESSAGE,OPTION) "RTN","TMGRPC1",905,0) ;"SCOPE: Public "RTN","TMGRPC1",906,0) ;"RPC that calls this: TMG BARCODE ENCODE "RTN","TMGRPC1",907,0) ;"Purpose: To provide an entry point for a RPC call from a client. "RTN","TMGRPC1",908,0) ;" A 2D DataMatrix Bar Code will be create and passed to client. "RTN","TMGRPC1",909,0) ;" It will not be stored on server "RTN","TMGRPC1",910,0) ;"Input: GREF -- OUT PARAM -- the array to pass the result back in (PASSED BY REFERENCE) "RTN","TMGRPC1",911,0) ;" MESSAGE-- The text to use to create the barcode "RTN","TMGRPC1",912,0) ;" OPTION -- Array that may hold optional settings, as follows: "RTN","TMGRPC1",913,0) ;" OPTION("IMAGE TYPE")="jpg" <-- if not specified, then default is "png" "RTN","TMGRPC1",914,0) ;"Output: results are passed out in @GREF "RTN","TMGRPC1",915,0) ;" @GREF@(0)=success; 1=success, 0=failure "RTN","TMGRPC1",916,0) ;" @GREF@(1..xxx) = actual data "RTN","TMGRPC1",917,0) "RTN","TMGRPC1",918,0) ;"NOTE: dmtxread must be installed on linux host. "RTN","TMGRPC1",919,0) ;" I found source code here: "RTN","TMGRPC1",920,0) ;" http://sourceforge.net/projects/libdmtx/ "RTN","TMGRPC1",921,0) ;" After installing (./configure --> make --> make install), I "RTN","TMGRPC1",922,0) ;" copied dmtxread and dmtxwrite, which were found in the "RTN","TMGRPC1",923,0) ;" (installdir)/util/dmtxread/.libs and (installdir)/util/dmtxwrite/.libs "RTN","TMGRPC1",924,0) ;" folders, into a folder on the system path. I chose /usr/bin/ "RTN","TMGRPC1",925,0) ;" Also, to achieve compile of above, I had to install required libs. "RTN","TMGRPC1",926,0) ;" See notes included with dmtx source code. "RTN","TMGRPC1",927,0) "RTN","TMGRPC1",928,0) new FileSpec "RTN","TMGRPC1",929,0) new file "RTN","TMGRPC1",930,0) new FName,FPath "RTN","TMGRPC1",931,0) "RTN","TMGRPC1",932,0) set GREF="^TMP(""GETBARCD^TMGRPC1"","_$J_")" "RTN","TMGRPC1",933,0) kill @GREF "RTN","TMGRPC1",934,0) set @GREF@(0)="" ;"default to failure "RTN","TMGRPC1",935,0) set MESSAGE=$get(MESSAGE) "RTN","TMGRPC1",936,0) if MESSAGE="" goto GBCDone "RTN","TMGRPC1",937,0) "RTN","TMGRPC1",938,0) ;"Create the barcode and get file name and path "RTN","TMGRPC1",939,0) set file=$$MAKEBC^TMGBARC(MESSAGE,.OPTION) "RTN","TMGRPC1",940,0) do SplitFNamePath^TMGIOUTL(file,.FPath,.FName,"/") "RTN","TMGRPC1",941,0) "RTN","TMGRPC1",942,0) ;"Load binary image into global array "RTN","TMGRPC1",943,0) set @GREF@(0)=$$BFTG^TMGBINF(.FPath,.FName,$name(@GREF@(1)),3) "RTN","TMGRPC1",944,0) "RTN","TMGRPC1",945,0) ;"convert binary data to ascii encoded data "RTN","TMGRPC1",946,0) do ENCODE($name(@GREF@(1)),3) "RTN","TMGRPC1",947,0) "RTN","TMGRPC1",948,0) ;"delete temp image file "RTN","TMGRPC1",949,0) do SplitFNamePath^TMGIOUTL(file,.FPath,.FName,"/") "RTN","TMGRPC1",950,0) set FileSpec(FName)="" "RTN","TMGRPC1",951,0) new temp set temp=$$DEL^%ZISH(FPath,"FileSpec") "RTN","TMGRPC1",952,0) "RTN","TMGRPC1",953,0) GBCDone "RTN","TMGRPC1",954,0) quit "RTN","TMGRPC1",955,0) "RTN","TMGRPC1",956,0) "RTN","TMGRPC1",957,0) DECODEBC(RESULT,ARRAY,IMGTYPE) "RTN","TMGRPC1",958,0) ;"SCOPE: Public "RTN","TMGRPC1",959,0) ;"RPC that calls this: TMG BARCODE DECODE "RTN","TMGRPC1",960,0) ;"Purpose: To provide an entry point for a RPC call from a client. The client "RTN","TMGRPC1",961,0) ;" will upload an image file (.png format only) of a barcode (Datamatrix "RTN","TMGRPC1",962,0) ;" format) for decoding. Decoded message is passed back. "RTN","TMGRPC1",963,0) ;"Input: RESULT -- an OUT PARAMETER. See output below. "RTN","TMGRPC1",964,0) ;" ARRAY -- the array that will hold the image file, in BASE64 ascii encoding "RTN","TMGRPC1",965,0) ;" IMGTYPE -- Image type, e.g. "jpg" (Note: don't include any '.') "RTN","TMGRPC1",966,0) ;"Output: results are passed out in RESULT: 1^Decoded Message or 0^FailureMessage "RTN","TMGRPC1",967,0) "RTN","TMGRPC1",968,0) ;"NOTE: dmtxread must be installed on linux host. "RTN","TMGRPC1",969,0) ;" I found source code here: "RTN","TMGRPC1",970,0) ;" http://sourceforge.net/projects/libdmtx/ "RTN","TMGRPC1",971,0) ;" After installing (./configure --> make --> make install), I "RTN","TMGRPC1",972,0) ;" copied dmtxread and dmtxwrite, which were found in the "RTN","TMGRPC1",973,0) ;" (installdir)/util/dmtxread/.libs and (installdir)/util/dmtxwrite/.libs "RTN","TMGRPC1",974,0) ;" folders, into a folder on the system path. I chose /usr/bin/ "RTN","TMGRPC1",975,0) ;" Also, to achieve compile of above, I had to install required libs. "RTN","TMGRPC1",976,0) ;" See notes included with dmtx source code. "RTN","TMGRPC1",977,0) ;"NOTE: if image types other than .png will be uploaded, then the linux host "RTN","TMGRPC1",978,0) ;" must have ImageMagick utility 'convert' installed for conversion "RTN","TMGRPC1",979,0) ;" between image types. "RTN","TMGRPC1",980,0) "RTN","TMGRPC1",981,0) kill ^TMG("TMP","BARCODE") "RTN","TMGRPC1",982,0) ;"set ^TMG("TMP","BARCODE","LOG")=1 ;"temp "RTN","TMGRPC1",983,0) "RTN","TMGRPC1",984,0) ;"new Stack do GetStackInfo^TMGIDE2(.Stack) "RTN","TMGRPC1",985,0) ;"merge ^TMG("TMP","BARCODE","STACK")=Stack "RTN","TMGRPC1",986,0) "RTN","TMGRPC1",987,0) new resultMsg "RTN","TMGRPC1",988,0) if $data(ARRAY)=0 set resultMsg="0^No image data received to decode" goto DBCDone "RTN","TMGRPC1",989,0) "RTN","TMGRPC1",990,0) new imageType set imageType=$$LOW^XLFSTR($get(IMGTYPE)) "RTN","TMGRPC1",991,0) if imageType="" set resultMsg="0^Image type not specified" goto DBCDone "RTN","TMGRPC1",992,0) "RTN","TMGRPC1",993,0) new imageFName set imageFName="/tmp/barcode."_imageType "RTN","TMGRPC1",994,0) set imageFName=$$UNIQUE^%ZISUTL(imageFName) "RTN","TMGRPC1",995,0) new FName,FPath,FileSpec "RTN","TMGRPC1",996,0) do SplitFNamePath^TMGIOUTL(imageFName,.FPath,.FName,"/") "RTN","TMGRPC1",997,0) set FileSpec(FName)="" "RTN","TMGRPC1",998,0) "RTN","TMGRPC1",999,0) ;"temp... "RTN","TMGRPC1",1000,0) ;"merge ^TMG("TMP","BARCODE","DATA")=ARRAY "RTN","TMGRPC1",1001,0) ;"merge ^TMG("TMP","BARCODE","IMGTYPE")=IMGTYPE "RTN","TMGRPC1",1002,0) "RTN","TMGRPC1",1003,0) ;"set ^TMG("TMP","BARCODE","LOG")=2 ;"temp "RTN","TMGRPC1",1004,0) ;"Remove BASE64 ascii encoding "RTN","TMGRPC1",1005,0) do DECODE("ARRAY(0)",1) "RTN","TMGRPC1",1006,0) "RTN","TMGRPC1",1007,0) ;"set ^TMG("TMP","BARCODE","LOG")=3 ;"temp "RTN","TMGRPC1",1008,0) ;"set ^TMG("TMP","BARCODE","LOG","Orig file: "_FPath_FName)="" "RTN","TMGRPC1",1009,0) "RTN","TMGRPC1",1010,0) ;"Save to host file system "RTN","TMGRPC1",1011,0) if $$GTBF^TMGBINF("ARRAY(0)",1,FPath,FName)=0 do goto DBCDone "RTN","TMGRPC1",1012,0) . set resultMsg="0^Error while saving file to HFS" "RTN","TMGRPC1",1013,0) "RTN","TMGRPC1",1014,0) ;"set ^TMG("TMP","BARCODE","LOG")=4 ;"temp "RTN","TMGRPC1",1015,0) "RTN","TMGRPC1",1016,0) ;"convert image file to .png format, if needed "RTN","TMGRPC1",1017,0) if imageType'="png" do "RTN","TMGRPC1",1018,0) . set imageFName=$$Convert^TMGKERNL(imageFName,"png") "RTN","TMGRPC1",1019,0) . if imageFName="" do quit "RTN","TMGRPC1",1020,0) . . set resultMsg="0^Error while converting image from ."_imageType_" to .png format." "RTN","TMGRPC1",1021,0) . do SplitFNamePath^TMGIOUTL(imageFName,.FPath,.FName,"/") "RTN","TMGRPC1",1022,0) . set FileSpec(FName)="" "RTN","TMGRPC1",1023,0) if imageFName="" goto DBCDone "RTN","TMGRPC1",1024,0) "RTN","TMGRPC1",1025,0) ;"set ^TMG("TMP","BARCODE","LOG")=5 ;"temp "RTN","TMGRPC1",1026,0) "RTN","TMGRPC1",1027,0) ;"Decode the barcode.png image "RTN","TMGRPC1",1028,0) new result set result=$$READBC^TMGBARC(imageFName) "RTN","TMGRPC1",1029,0) if result'="" set resultMsg="1^"_result "RTN","TMGRPC1",1030,0) else set resultMsg="0^Unable to Decode Image" "RTN","TMGRPC1",1031,0) "RTN","TMGRPC1",1032,0) ;"delete temp image file "RTN","TMGRPC1",1033,0) ;"temp REMOVE COMMENTS LATER TO DELETE FILE. !!!!! "RTN","TMGRPC1",1034,0) ;"set result=$$DEL^%ZISH(FPath,"FileSpec") "RTN","TMGRPC1",1035,0) "RTN","TMGRPC1",1036,0) DBCDone "RTN","TMGRPC1",1037,0) ;"set ^TMG("TMP","BARCODE","LOG")=6 ;"temp "RTN","TMGRPC1",1038,0) "RTN","TMGRPC1",1039,0) set RESULT=resultMsg "RTN","TMGRPC1",1040,0) quit "RTN","TMGRPC1",1041,0) "RTN","TMGRPC1",1042,0) ;"-------------------- "RTN","TMGRPC1",1043,0) GETURLS(RESULT) "RTN","TMGRPC1",1044,0) ;"SCOPE: Public "RTN","TMGRPC1",1045,0) ;"RPC that calls this: TMG CPRS GET URL LIST "RTN","TMGRPC1",1046,0) ;"Purpose: To provide an entry point for a RPC call from a client. The client "RTN","TMGRPC1",1047,0) ;" will request URLs to display in custom tabs inside CPRS, in an "RTN","TMGRPC1",1048,0) ;" imbedded web browser "RTN","TMGRPC1",1049,0) ;"Input: RESULT -- an OUT PARAMETER. See output below. "RTN","TMGRPC1",1050,0) ;"Output: results are passed out in RESULT: "RTN","TMGRPC1",1051,0) ;" RESULT(0)="1^Success" or "0^SomeFailureMessage" "RTN","TMGRPC1",1052,0) ;" RESULT(1)="Name1^URL#1" ; shows URL#1 in tab #1, named 'Name1' "RTN","TMGRPC1",1053,0) ;" RESULT(2)="Name2^URL#2" ; etc. "RTN","TMGRPC1",1054,0) ;" RESULT(3)="Name3^URL#3" "RTN","TMGRPC1",1055,0) ;" "RTN","TMGRPC1",1056,0) ;" E.g. RESULT(1)="cnn^www.cnn.com" "RTN","TMGRPC1",1057,0) ;" RESULT(2)="INFO^192.168.0.1/home.html" "RTN","TMGRPC1",1058,0) ;" "RTN","TMGRPC1",1059,0) ;" The number of allowed tabs is determined by code in CPRS "RTN","TMGRPC1",1060,0) ;" Reference to tab numbers > specified in CPRS will be ignored by CPRS "RTN","TMGRPC1",1061,0) ;" If a web tab is NOT specified, then the page previously "RTN","TMGRPC1",1062,0) ;" displayed will be left in place. It will not be cleared. "RTN","TMGRPC1",1063,0) ;" To clear a given page, a url of "about:blank" will cause a "RTN","TMGRPC1",1064,0) ;" blank page to be displayed. e.g. "RTN","TMGRPC1",1065,0) ;" RESULT(3)="^about:blank" "RTN","TMGRPC1",1066,0) ;" To HIDE a tab on CPRS use this: "RTN","TMGRPC1",1067,0) ;" RESULT(3)="^" ;triggers tab #3 to be hidden "RTN","TMGRPC1",1068,0) ;" To have the browser remain UNCHANGED use this: "RTN","TMGRPC1",1069,0) ;" RESULT(3)="^" ;triggers tab #3 to remain unchanged. "RTN","TMGRPC1",1070,0) ;" Note: the rationale for this is that the web tab may have info "RTN","TMGRPC1",1071,0) ;" that should not be refreshed when the patient info is refreshed "RTN","TMGRPC1",1072,0) ;" i.e. the user may have navigated somewhere, and doesn't want "RTN","TMGRPC1",1073,0) ;" to loose their location. "RTN","TMGRPC1",1074,0) ;" --to be implemented. "RTN","TMGRPC1",1075,0) ;" Note: The other way to do this, as above, is to simply have NO "RTN","TMGRPC1",1076,0) ;" entry for a given tab. I.e. don't have any value for RESULT(3) "RTN","TMGRPC1",1077,0) ;" --already implemented. "RTN","TMGRPC1",1078,0) ;"Notice to others: Below is where code should be added to return "RTN","TMGRPC1",1079,0) ;" proper URL's to CPRS. This will be called whenever a new patient "RTN","TMGRPC1",1080,0) ;" is opened, or a Refresh Information is requested. "RTN","TMGRPC1",1081,0) ;" FYI, 'DFN' should be defined as a globally-scoped variable that can be used "RTN","TMGRPC1",1082,0) ;" to pass back URLS specific for a given patient. "RTN","TMGRPC1",1083,0) "RTN","TMGRPC1",1084,0) set RESULT(0)="1^Success" "RTN","TMGRPC1",1085,0) ;"set RESULT(1)="Yahoo^www.yahoo.com" "RTN","TMGRPC1",1086,0) ;"set RESULT(2)="(x)^about:blank" "RTN","TMGRPC1",1087,0) ;"set RESULT(3)="^" "RTN","TMGRPC1",1088,0) "RTN","TMGRPC1",1089,0) ;"kill RESULT "RTN","TMGRPC1",1090,0) ;"merge RESULT=^TMG("TMP","URLS") ;"TEMP!!! "RTN","TMGRPC1",1091,0) "RTN","TMGRPC1",1092,0) quit "RTN","TMGRPC1",1093,0) "RTN","TMGRPC1",1094,0) ; "RTN","TMGRPC1A") 0^2^B23521637 "RTN","TMGRPC1A",1,0) TMGRPC1A ;TMG/kst-RPC Functions ;2/11/10 "RTN","TMGRPC1A",2,0) ;;1.0;TMG-LIB;**1**;2/11/10;Build 2 "RTN","TMGRPC1A",3,0) ; "RTN","TMGRPC1A",4,0) ;"TMG RPC FUNCTIONS "RTN","TMGRPC1A",5,0) ; "RTN","TMGRPC1A",6,0) ;"Copyright Kevin Toppenberg MD "RTN","TMGRPC1A",7,0) ;"Released under GNU General Public License (GPL) "RTN","TMGRPC1A",8,0) ;" "RTN","TMGRPC1A",9,0) ;"======================================================================= "RTN","TMGRPC1A",10,0) ;" RPC -- Public Functions. "RTN","TMGRPC1A",11,0) ;"======================================================================= "RTN","TMGRPC1A",12,0) ;"SETINIVL(RESULT,SECTION,KEY,VALUE) ;Entry point for TMG INIFILE SET "RTN","TMGRPC1A",13,0) ;"GETINIVL(RESULT,SECTION,KEY,DEFAULT) ;Entry point for TMG INIFILE GET "RTN","TMGRPC1A",14,0) ; "RTN","TMGRPC1A",15,0) ;"======================================================================= "RTN","TMGRPC1A",16,0) ;"PRIVATE API FUNCTIONS "RTN","TMGRPC1A",17,0) ;"======================================================================= "RTN","TMGRPC1A",18,0) ; "RTN","TMGRPC1A",19,0) ;"======================================================================= "RTN","TMGRPC1A",20,0) ;"======================================================================= "RTN","TMGRPC1A",21,0) ;"Dependencies: "RTN","TMGRPC1A",22,0) ;" DIC, TMGDEBUG "RTN","TMGRPC1A",23,0) ;"======================================================================= "RTN","TMGRPC1A",24,0) ;"======================================================================= "RTN","TMGRPC1A",25,0) ; "RTN","TMGRPC1A",26,0) SETINIVL(RESULT,SECTION,KEY,VALUE) ; "RTN","TMGRPC1A",27,0) ;"SCOPE: Public "RTN","TMGRPC1A",28,0) ;"RPC that calls this: TMG INIFILE SET "RTN","TMGRPC1A",29,0) ;"Purpose: To provide an entry point for a RPC call from a client. The client "RTN","TMGRPC1A",30,0) ;" will use this instead of TIniFile object in Delphi. "RTN","TMGRPC1A",31,0) ;" Note: Since all data are of type string in Mumps, this will work only with strings. "RTN","TMGRPC1A",32,0) ;" and type casting will have to take place in client. "RTN","TMGRPC1A",33,0) ;"Input: RESULT -- an OUT PARAMETER. See output below. "RTN","TMGRPC1A",34,0) ;" SECTION -- String of 'Section' to store setting in (corresponds to section in TIniFile) "RTN","TMGRPC1A",35,0) ;" KEY -- String of Key value. (corresponds to Ident/Key in TIniFile) "RTN","TMGRPC1A",36,0) ;" VALUE -- String of Value to set "RTN","TMGRPC1A",37,0) ;"Note: Because this is a shared resource, it is expected that the client will use "RTN","TMGRPC1A",38,0) ;" User.Name as the Section value. "RTN","TMGRPC1A",39,0) ;" Also, any prior value will be overwritten. "RTN","TMGRPC1A",40,0) ;"Output: Will return RESULT="1^Success", or -1^Error Message" "RTN","TMGRPC1A",41,0) SET RESULT="1^Success" "RTN","TMGRPC1A",42,0) IF $GET(SECTION)="" SET RESULT="-1^No value passed for SECTION" QUIT "RTN","TMGRPC1A",43,0) IF $GET(KEY)="" SET RESULT="-1^No value passed for KEY" QUIT "RTN","TMGRPC1A",44,0) SET VALUE=$GET(VALUE) "RTN","TMGRPC1A",45,0) NEW X,Y,DIC,IEN,IEN2 "RTN","TMGRPC1A",46,0) SET DIC=22710,DIC(0)="L" ;"Add SECTION & KEY if not previously present. "RTN","TMGRPC1A",47,0) SET X=SECTION "RTN","TMGRPC1A",48,0) DO ^DIC SET IEN=+Y "RTN","TMGRPC1A",49,0) IF IEN'>0 SET RESULT="-1^Error establishing SECTION: ["_SECTION_"]" QUIT "RTN","TMGRPC1A",50,0) SET DIC(1)=IEN,DIC="^TMG(22710,"_IEN_",1," "RTN","TMGRPC1A",51,0) SET X=KEY "RTN","TMGRPC1A",52,0) DO ^DIC SET IEN2=+Y "RTN","TMGRPC1A",53,0) IF IEN2'>0 SET RESULT="-1^Error establishing KEY: ["_KEY_"]" QUIT "RTN","TMGRPC1A",54,0) NEW TMGFDA,TMGMSG "RTN","TMGRPC1A",55,0) IF VALUE="" SET VALUE="@" "RTN","TMGRPC1A",56,0) SET TMGFDA(22710.01,IEN2_","_IEN_",",1)=VALUE "RTN","TMGRPC1A",57,0) DO FILE^DIE("E","TMGFDA","TMGMSG") "RTN","TMGRPC1A",58,0) IF $DATA(TMGMSG("DIERR")) DO QUIT "RTN","TMGRPC1A",59,0) . SET RESULT="-1^"_$$GetErrStr^TMGDEBUG(.TMGMSG) "RTN","TMGRPC1A",60,0) QUIT "RTN","TMGRPC1A",61,0) ; "RTN","TMGRPC1A",62,0) ; "RTN","TMGRPC1A",63,0) GETINIVL(RESULT,SECTION,KEY,DEFAULT) ; "RTN","TMGRPC1A",64,0) ;"SCOPE: Public "RTN","TMGRPC1A",65,0) ;"RPC that calls this: TMG INIFILE GET "RTN","TMGRPC1A",66,0) ;"Purpose: To provide an entry point for a RPC call from a client. The client "RTN","TMGRPC1A",67,0) ;" will use this instead of TIniFile object in Delphi. "RTN","TMGRPC1A",68,0) ;" Note: Since all data are of type string in Mumps, this will work only with strings. "RTN","TMGRPC1A",69,0) ;" and type casting will have to take place in client. "RTN","TMGRPC1A",70,0) ;"Input: RESULT -- an OUT PARAMETER. See output below. "RTN","TMGRPC1A",71,0) ;" SECTION -- String of 'Section' to store setting in (corresponds to section in TIniFile) "RTN","TMGRPC1A",72,0) ;" KEY -- String of Key value. (corresponds to Ident/Key in TIniFile) "RTN","TMGRPC1A",73,0) ;" DEFAULT -- The value to be returned, if no value found. "RTN","TMGRPC1A",74,0) ;"Note: Because this is a shared resource, it is expected that the client will use "RTN","TMGRPC1A",75,0) ;" User.Name as the Section value. "RTN","TMGRPC1A",76,0) ;" Also, any prior value will be overwritten. "RTN","TMGRPC1A",77,0) ;"Output: Will return RESULT="1^", or -1^Error Message" "RTN","TMGRPC1A",78,0) IF $GET(SECTION)="" SET RESULT="-1^No value passed for SECTION" QUIT "RTN","TMGRPC1A",79,0) IF $GET(KEY)="" SET RESULT="-1^No value passed for KEY" QUIT "RTN","TMGRPC1A",80,0) SET DEFAULT=$GET(DEFAULT) "RTN","TMGRPC1A",81,0) NEW X,Y,DIC,IEN,IEN2 "RTN","TMGRPC1A",82,0) SET DIC=22710,X=SECTION "RTN","TMGRPC1A",83,0) DO ^DIC SET IEN=+Y "RTN","TMGRPC1A",84,0) IF IEN'>0 SET RESULT="1^"_DEFAULT QUIT "RTN","TMGRPC1A",85,0) SET DA(1)=IEN,DIC="^TMG(22710,"_IEN_",1," "RTN","TMGRPC1A",86,0) SET X=KEY "RTN","TMGRPC1A",87,0) DO ^DIC SET IEN2=+Y "RTN","TMGRPC1A",88,0) IF IEN2'>0 SET RESULT="1^"_DEFAULT QUIT "RTN","TMGRPC1A",89,0) NEW VALUE SET VALUE=$GET(^TMG(22710,IEN,1,IEN2,1),DEFAULT) "RTN","TMGRPC1A",90,0) IF VALUE'=DEFAULT SET VALUE=$PIECE(VALUE,"^",1) "RTN","TMGRPC1A",91,0) SET RESULT="1^"_VALUE "RTN","TMGRPC1A",92,0) QUIT "RTN","TMGRPC1A",93,0) ; "RTN","TMGRPC1A",94,0) ; "RTN","TMGRPC1A",95,0) CONVERT "RTN","TMGRPC1A",96,0) ;"Purpose: A temp function to convert between the old storage method and the new. "RTN","TMGRPC1A",97,0) ;"Data was stored in: ^TMG("INIDATA",Section,Key,Vaue) "RTN","TMGRPC1A",98,0) NEW SECTION,KEY,VALUE "RTN","TMGRPC1A",99,0) SET SECTION="" "RTN","TMGRPC1A",100,0) FOR SET SECTION=$ORDER(^TMG("INIDATA",SECTION)) QUIT:(SECTION="") DO "RTN","TMGRPC1A",101,0) . SET KEY="" "RTN","TMGRPC1A",102,0) . FOR SET KEY=$ORDER(^TMG("INIDATA",SECTION,KEY)) QUIT:(KEY="") DO "RTN","TMGRPC1A",103,0) . . SET VALUE=$GET(^TMG("INIDATA",SECTION,KEY)) "RTN","TMGRPC1A",104,0) . . NEW RESULT "RTN","TMGRPC1A",105,0) . . DO SETINIVL(.RESULT,SECTION,KEY,VALUE) ; "RTN","TMGRPC1A",106,0) . . IF +RESULT>0 KILL ^TMG("INIDATA",SECTION,KEY) QUIT "RTN","TMGRPC1A",107,0) . . WRITE "Error trying to store SECTION=",SECTION,"; KEY=",KEY,"; VALUE=",VALUE,! "RTN","TMGRPC1A",108,0) . . WRITE " -- ",$PIECE(RESULT,"^",2),! "RTN","TMGRPC1A",109,0) QUIT "RTN","TMGRPC1A",110,0) ; "RTN","TMGRPC1A",111,0) ; "RTN","TMGRPC1A",112,0) INSTALL ; "RTN","TMGRPC1A",113,0) ;"Purpose: to add the RPC's to the OPTION record OR CPRS GUI CHART "RTN","TMGRPC1A",114,0) NEW DIC,X,Y,DA "RTN","TMGRPC1A",115,0) SET DIC="^DIC(19,",DIC(0)="M" "RTN","TMGRPC1A",116,0) SET X="OR CPRS GUI CHART" "RTN","TMGRPC1A",117,0) DO ^DIC "RTN","TMGRPC1A",118,0) IF +Y'>0 DO QUIT "RTN","TMGRPC1A",119,0) . WRITE "ERROR. Unable to find [OR CPRS GUI CHART] in file OPTION (#19)",! "RTN","TMGRPC1A",120,0) . NEW TEMP READ "Press [ENTER] to continue...",TEMP:($GET(DTIME,3600)) "RTN","TMGRPC1A",121,0) . WRITE ! "RTN","TMGRPC1A",122,0) SET DA(1)=+Y "RTN","TMGRPC1A",123,0) SET DIC=DIC_DA(1)_",""RPC""," "RTN","TMGRPC1A",124,0) SET DIC(0)="ML" ;"LAYGO --> add entry if not found "RTN","TMGRPC1A",125,0) SET X="TMG INIFILE GET" "RTN","TMGRPC1A",126,0) DO ^DIC "RTN","TMGRPC1A",127,0) IF +Y'>0 DO "RTN","TMGRPC1A",128,0) . WRITE "ERROR. Unable to add or find TMG INIFILE GET for subfile RPC in record",! "RTN","TMGRPC1A",129,0) . WRITE "OR CPRS GUI CHART in file OPTION (#19)",! "RTN","TMGRPC1A",130,0) . NEW TEMP READ "Press [ENTER] to continue...",TEMP:($GET(DTIME,3600)) "RTN","TMGRPC1A",131,0) . WRITE ! "RTN","TMGRPC1A",132,0) SET X="TMG INIFILE SET" "RTN","TMGRPC1A",133,0) DO ^DIC "RTN","TMGRPC1A",134,0) IF +Y'>0 DO "RTN","TMGRPC1A",135,0) . WRITE "ERROR. Unable to add or find TMG INIFILE SET for subfile RPC in record",! "RTN","TMGRPC1A",136,0) . WRITE "OR CPRS GUI CHART in file OPTION (#19)",! "RTN","TMGRPC1A",137,0) . NEW TEMP READ "Press [ENTER] to continue...",TEMP:($GET(DTIME,3600)) "RTN","TMGRPC1A",138,0) . WRITE ! "RTN","TMGRPC1A",139,0) QUIT "RTN","TMGRPC1A",140,0) ; "VER") 8.0^22.0 **END** **END**