EMERGENCY Released SD*5.3*784 SEQ #634 Extracted from mail message **KIDS**:SD*5.3*784^ **INSTALL NAME** SD*5.3*784 "BLD",12267,0) SD*5.3*784^SCHEDULING^0^3210519^y "BLD",12267,1,0) ^^19^19^3210505^ "BLD",12267,1,1,0) "BLD",12267,1,2,0) "BLD",12267,1,3,0) For tracking purposes, please add component and note the associated Jira "BLD",12267,1,4,0) task(s) out to the right on the same line. "BLD",12267,1,5,0) "BLD",12267,1,6,0) FILES: "BLD",12267,1,7,0) Added new MAX RECS ACCUMULATED (#5) field in SDEC SETTINGS (#409.98) "BLD",12267,1,8,0) file: VSE-552 "BLD",12267,1,9,0) "BLD",12267,1,10,0) ROUTINES: "BLD",12267,1,11,0) SDEC1: VSE-554, VSE-555, VSE-556 "BLD",12267,1,12,0) SDECAR4: VSE-554 "BLD",12267,1,13,0) SDECVVS: "BLD",12267,1,14,0) "BLD",12267,1,15,0) OPTIONS: "BLD",12267,1,16,0) SDECRPC: VSE-554, VSE-555, VSE-556 "BLD",12267,1,17,0) "BLD",12267,1,18,0) REMOTE PROCEDURES: "BLD",12267,1,19,0) SDEC PATIENT APP REQ GET: VSE-554 "BLD",12267,4,0) ^9.64PA^409.98^1 "BLD",12267,4,409.98,0) 409.98 "BLD",12267,4,409.98,2,0) ^9.641^409.98^1 "BLD",12267,4,409.98,2,409.98,0) SDEC SETTINGS (File-top level) "BLD",12267,4,409.98,2,409.98,1,0) ^9.6411^5^1 "BLD",12267,4,409.98,2,409.98,1,5,0) MAX RECS ACCUMULATED "BLD",12267,4,409.98,222) y^y^p^^^^n^^n "BLD",12267,4,409.98,224) "BLD",12267,4,"APDD",409.98,409.98) "BLD",12267,4,"APDD",409.98,409.98,5) "BLD",12267,4,"B",409.98,409.98) "BLD",12267,6) 8^ "BLD",12267,6.3) 8 "BLD",12267,"ABPKG") n "BLD",12267,"INIT") SDEC784P "BLD",12267,"KRN",0) ^9.67PA^1.5^24 "BLD",12267,"KRN",.4,0) .4 "BLD",12267,"KRN",.4,"NM",0) ^9.68A^^ "BLD",12267,"KRN",.401,0) .401 "BLD",12267,"KRN",.402,0) .402 "BLD",12267,"KRN",.403,0) .403 "BLD",12267,"KRN",.5,0) .5 "BLD",12267,"KRN",.84,0) .84 "BLD",12267,"KRN",1.5,0) 1.5 "BLD",12267,"KRN",1.6,0) 1.6 "BLD",12267,"KRN",1.61,0) 1.61 "BLD",12267,"KRN",1.62,0) 1.62 "BLD",12267,"KRN",3.6,0) 3.6 "BLD",12267,"KRN",3.8,0) 3.8 "BLD",12267,"KRN",9.2,0) 9.2 "BLD",12267,"KRN",9.8,0) 9.8 "BLD",12267,"KRN",9.8,"NM",0) ^9.68A^8^8 "BLD",12267,"KRN",9.8,"NM",1,0) SDEC51B^^0^B26110756 "BLD",12267,"KRN",9.8,"NM",2,0) SDEC52C^^0^B16825874 "BLD",12267,"KRN",9.8,"NM",3,0) SDEC1^^0^B7644254 "BLD",12267,"KRN",9.8,"NM",4,0) SDECAR4^^0^B108530298 "BLD",12267,"KRN",9.8,"NM",5,0) SDECIDX^^0^B64015130 "BLD",12267,"KRN",9.8,"NM",6,0) SDECCONSJSON^^0^B19916985 "BLD",12267,"KRN",9.8,"NM",7,0) SDEC52CJSON^^0^B14945210 "BLD",12267,"KRN",9.8,"NM",8,0) SDECVVS^^0^B26993565 "BLD",12267,"KRN",9.8,"NM","B","SDEC1",3) "BLD",12267,"KRN",9.8,"NM","B","SDEC51B",1) "BLD",12267,"KRN",9.8,"NM","B","SDEC52C",2) "BLD",12267,"KRN",9.8,"NM","B","SDEC52CJSON",7) "BLD",12267,"KRN",9.8,"NM","B","SDECAR4",4) "BLD",12267,"KRN",9.8,"NM","B","SDECCONSJSON",6) "BLD",12267,"KRN",9.8,"NM","B","SDECIDX",5) "BLD",12267,"KRN",9.8,"NM","B","SDECVVS",8) "BLD",12267,"KRN",19,0) 19 "BLD",12267,"KRN",19,"NM",0) ^9.68A^1^1 "BLD",12267,"KRN",19,"NM",1,0) SDECRPC^^0 "BLD",12267,"KRN",19,"NM","B","SDECRPC",1) "BLD",12267,"KRN",19.1,0) 19.1 "BLD",12267,"KRN",101,0) 101 "BLD",12267,"KRN",409.61,0) 409.61 "BLD",12267,"KRN",771,0) 771 "BLD",12267,"KRN",779.2,0) 779.2 "BLD",12267,"KRN",870,0) 870 "BLD",12267,"KRN",8989.51,0) 8989.51 "BLD",12267,"KRN",8989.52,0) 8989.52 "BLD",12267,"KRN",8989.52,"NM",0) ^9.68A^^ "BLD",12267,"KRN",8994,0) 8994 "BLD",12267,"KRN",8994,"NM",0) ^9.68A^10^8 "BLD",12267,"KRN",8994,"NM",1,0) SDECRMG RMG^^0 "BLD",12267,"KRN",8994,"NM",2,0) SDEC GET PATIENT CONSULTS^^0 "BLD",12267,"KRN",8994,"NM",4,0) SDEC GET PATIENT RECALLS^^0 "BLD",12267,"KRN",8994,"NM",6,0) SDEC GET PATIENT CONSULTS JSON^^0 "BLD",12267,"KRN",8994,"NM",7,0) SDEC GET PATIENT APPT REQ JSON^^0 "BLD",12267,"KRN",8994,"NM",8,0) SDEC GET PATIENT APPT REQ^^0 "BLD",12267,"KRN",8994,"NM",9,0) SDEC GET PATIENT RECALLS JSON^^0 "BLD",12267,"KRN",8994,"NM",10,0) SDEC GET ICN^^0 "BLD",12267,"KRN",8994,"NM","B","SDEC GET ICN",10) "BLD",12267,"KRN",8994,"NM","B","SDEC GET PATIENT APPT REQ",8) "BLD",12267,"KRN",8994,"NM","B","SDEC GET PATIENT APPT REQ JSON",7) "BLD",12267,"KRN",8994,"NM","B","SDEC GET PATIENT CONSULTS",2) "BLD",12267,"KRN",8994,"NM","B","SDEC GET PATIENT CONSULTS JSON",6) "BLD",12267,"KRN",8994,"NM","B","SDEC GET PATIENT RECALLS",4) "BLD",12267,"KRN",8994,"NM","B","SDEC GET PATIENT RECALLS JSON",9) "BLD",12267,"KRN",8994,"NM","B","SDECRMG RMG",1) "BLD",12267,"KRN","B",.4,.4) "BLD",12267,"KRN","B",.401,.401) "BLD",12267,"KRN","B",.402,.402) "BLD",12267,"KRN","B",.403,.403) "BLD",12267,"KRN","B",.5,.5) "BLD",12267,"KRN","B",.84,.84) "BLD",12267,"KRN","B",1.5,1.5) "BLD",12267,"KRN","B",1.6,1.6) "BLD",12267,"KRN","B",1.61,1.61) "BLD",12267,"KRN","B",1.62,1.62) "BLD",12267,"KRN","B",3.6,3.6) "BLD",12267,"KRN","B",3.8,3.8) "BLD",12267,"KRN","B",9.2,9.2) "BLD",12267,"KRN","B",9.8,9.8) "BLD",12267,"KRN","B",19,19) "BLD",12267,"KRN","B",19.1,19.1) "BLD",12267,"KRN","B",101,101) "BLD",12267,"KRN","B",409.61,409.61) "BLD",12267,"KRN","B",771,771) "BLD",12267,"KRN","B",779.2,779.2) "BLD",12267,"KRN","B",870,870) "BLD",12267,"KRN","B",8989.51,8989.51) "BLD",12267,"KRN","B",8989.52,8989.52) "BLD",12267,"KRN","B",8994,8994) "BLD",12267,"QUES",0) ^9.62^^ "BLD",12267,"REQB",0) ^9.611^2^2 "BLD",12267,"REQB",1,0) SD*5.3*781^1 "BLD",12267,"REQB",2,0) SD*5.3*694^1 "BLD",12267,"REQB","B","SD*5.3*694",2) "BLD",12267,"REQB","B","SD*5.3*781",1) "FIA",409.98) SDEC SETTINGS "FIA",409.98,0) ^SDEC(409.98, "FIA",409.98,0,0) 409.98 "FIA",409.98,0,1) y^y^p^^^^n^^n "FIA",409.98,0,10) "FIA",409.98,0,11) "FIA",409.98,0,"RLRO") "FIA",409.98,0,"VR") 5.3^SD "FIA",409.98,409.98) 1 "FIA",409.98,409.98,5) "INIT") SDEC784P "KRN",19,2922543,-1) 0^1 "KRN",19,2922543,0) SDECRPC^CLINICAL SCHEDULING PROCEDURE CALLS^^B^^^^^^^^SCHEDULING^y "KRN",19,2922543,1,0) ^19.06^2^2^3210518^^^^ "KRN",19,2922543,1,1,0) This option hosts RPCs in the SDEC namespace. CLINICAL SCHEDULING users "KRN",19,2922543,1,2,0) must have access to this option in order to use CLINICAL SCHEDULING. "KRN",19,2922543,99.1) 65786,56468 "KRN",19,2922543,"RPC",0) ^19.05P^238^235 "KRN",19,2922543,"RPC",1,0) SDEC ACCGPTYG "KRN",19,2922543,"RPC",2,0) SDEC ACCGROUP "KRN",19,2922543,"RPC",3,0) SDEC ACCTYPE "KRN",19,2922543,"RPC",4,0) SDEC ADDACCG "KRN",19,2922543,"RPC",5,0) SDEC ADDACCTY "KRN",19,2922543,"RPC",6,0) SDEC ADDAGI "KRN",19,2922543,"RPC",7,0) SDEC ADDRES "KRN",19,2922543,"RPC",8,0) SDEC ADDRESU "KRN",19,2922543,"RPC",9,0) SDEC ADDRG "KRN",19,2922543,"RPC",10,0) SDEC ADDRGI "KRN",19,2922543,"RPC",12,0) SDEC APBLKOV "KRN",19,2922543,"RPC",13,0) SDEC APPADD "KRN",19,2922543,"RPC",13,1) "KRN",19,2922543,"RPC",14,0) SDEC APPDEL "KRN",19,2922543,"RPC",16,0) SDEC APPTLETR "KRN",19,2922543,"RPC",17,0) SDEC APPTYPES "KRN",19,2922543,"RPC",18,0) SDEC AVADD "KRN",19,2922543,"RPC",19,0) SDEC AVDEL "KRN",19,2922543,"RPC",20,0) SDEC AVDELDT "KRN",19,2922543,"RPC",21,0) SDEC CANCKOUT "KRN",19,2922543,"RPC",22,0) SDEC CANREAS "KRN",19,2922543,"RPC",23,0) SDEC CHECKIN "KRN",19,2922543,"RPC",24,0) SDEC CHECKOUT "KRN",19,2922543,"RPC",25,0) SDEC CLINALL "KRN",19,2922543,"RPC",27,0) SDEC CLINDIS "KRN",19,2922543,"RPC",28,0) SDEC CLINDISW "KRN",19,2922543,"RPC",29,0) SDEC CLINLET "KRN",19,2922543,"RPC",30,0) SDEC CLINLETW "KRN",19,2922543,"RPC",31,0) SDEC CLINPROV "KRN",19,2922543,"RPC",32,0) SDEC CLINSET "KRN",19,2922543,"RPC",33,0) SDEC CLINSTOP "KRN",19,2922543,"RPC",34,0) SDEC COPYAPPT "KRN",19,2922543,"RPC",35,0) SDEC CPCANC "KRN",19,2922543,"RPC",36,0) SDEC CPSTAT "KRN",19,2922543,"RPC",37,0) SDEC CRSCHED "KRN",19,2922543,"RPC",38,0) SDEC CSLOTSCH "KRN",19,2922543,"RPC",39,0) SDEC CURFACG "KRN",19,2922543,"RPC",40,0) SDEC CVARAPPT "KRN",19,2922543,"RPC",41,0) SDEC DELAG "KRN",19,2922543,"RPC",42,0) SDEC DELAGI "KRN",19,2922543,"RPC",43,0) SDEC DELRESGP "KRN",19,2922543,"RPC",44,0) SDEC DELRGI "KRN",19,2922543,"RPC",45,0) SDEC DELRU "KRN",19,2922543,"RPC",46,0) SDEC EDITAPPT "KRN",19,2922543,"RPC",47,0) SDEC EHRPT "KRN",19,2922543,"RPC",48,0) SDEC GETFAC "KRN",19,2922543,"RPC",49,0) SDEC GETREGA "KRN",19,2922543,"RPC",50,0) SDEC HLTHSUMM "KRN",19,2922543,"RPC",51,0) SDEC HOLIDAY "KRN",19,2922543,"RPC",52,0) SDEC HOSPLOC "KRN",19,2922543,"RPC",53,0) SDEC IMHERE "KRN",19,2922543,"RPC",54,0) SDEC NEWPERS "KRN",19,2922543,"RPC",55,0) SDEC NOSHOPAT "KRN",19,2922543,"RPC",56,0) SDEC NOSHOW "KRN",19,2922543,"RPC",57,0) SDEC OVBOOK "KRN",19,2922543,"RPC",58,0) SDEC PATAPPTD "KRN",19,2922543,"RPC",59,0) SDEC PATAPPTH "KRN",19,2922543,"RPC",60,0) SDEC PROVALL "KRN",19,2922543,"RPC",61,0) SDEC PROVCLIN "KRN",19,2922543,"RPC",62,0) SDEC PTLOOKRS "KRN",19,2922543,"RPC",63,0) SDEC PWH "KRN",19,2922543,"RPC",64,0) SDEC RAISEVNT "KRN",19,2922543,"RPC",66,0) SDEC REBKLIST "KRN",19,2922543,"RPC",67,0) SDEC REBKNEXT "KRN",19,2922543,"RPC",68,0) SDEC REGEVENT "KRN",19,2922543,"RPC",69,0) SDEC RESGPUSR "KRN",19,2922543,"RPC",70,0) SDEC RESGRPUS "KRN",19,2922543,"RPC",71,0) SDEC RESLETRF "KRN",19,2922543,"RPC",72,0) SDEC RESLETRS "KRN",19,2922543,"RPC",73,0) SDEC RESOURCE "KRN",19,2922543,"RPC",74,0) SDEC RESUSER "KRN",19,2922543,"RPC",75,0) SDEC SCHUSR "KRN",19,2922543,"RPC",76,0) SDEC SEARCHAV "KRN",19,2922543,"RPC",77,0) SDEC SETFAC "KRN",19,2922543,"RPC",78,0) SDEC SETRBOOK "KRN",19,2922543,"RPC",79,0) SDEC SPACEBAR "KRN",19,2922543,"RPC",80,0) SDEC SUSRINFO "KRN",19,2922543,"RPC",81,0) SDEC SVSPALL "KRN",19,2922543,"RPC",82,0) SDEC SYSSTAT "KRN",19,2922543,"RPC",83,0) SDEC TPBLKOV "KRN",19,2922543,"RPC",85,0) SDEC UNREGEV "KRN",19,2922543,"RPC",86,0) SDEC WAITLIST "KRN",19,2922543,"RPC",87,0) SDEC WLCLOSE "KRN",19,2922543,"RPC",88,0) SDEC WLGET "KRN",19,2922543,"RPC",89,0) SDEC WLSET "KRN",19,2922543,"RPC",90,0) SDEC PREFGET "KRN",19,2922543,"RPC",91,0) SDEC PREFGETV "KRN",19,2922543,"RPC",92,0) SDEC PREFSET "KRN",19,2922543,"RPC",93,0) SDEC FAPPTGET "KRN",19,2922543,"RPC",94,0) SDEC RECAPGET "KRN",19,2922543,"RPC",95,0) SDEC RECDSET "KRN",19,2922543,"RPC",96,0) SDEC RECGET "KRN",19,2922543,"RPC",97,0) SDEC RECPRGET "KRN",19,2922543,"RPC",98,0) SDEC RECSET "KRN",19,2922543,"RPC",99,0) SDEC REQGET "KRN",19,2922543,"RPC",100,0) SDEC PCSTGET "KRN",19,2922543,"RPC",101,0) SDEC PCST2GET "KRN",19,2922543,"RPC",102,0) SDEC PCSGET "KRN",19,2922543,"RPC",103,0) SDEC PTSET "KRN",19,2922543,"RPC",104,0) SDEC PTINQ "KRN",19,2922543,"RPC",106,0) SDEC SUMMAGET "KRN",19,2922543,"RPC",107,0) SDEC APPIDGET "KRN",19,2922543,"RPC",108,0) SDEC FACLIST "KRN",19,2922543,"RPC",109,0) SDEC CGET "KRN",19,2922543,"RPC",110,0) SDEC ETHGET "KRN",19,2922543,"RPC",111,0) SDEC ETHCMGET "KRN",19,2922543,"RPC",112,0) SDEC RACEGET "KRN",19,2922543,"RPC",113,0) SDEC REP1GET "KRN",19,2922543,"RPC",114,0) SDEC WLPCSET "KRN",19,2922543,"RPC",115,0) SDEC APPSDGET "KRN",19,2922543,"RPC",116,0) SDEC WLOPEN "KRN",19,2922543,"RPC",117,0) SDEC ARCLOSE "KRN",19,2922543,"RPC",118,0) SDEC ARDGET "KRN",19,2922543,"RPC",119,0) SDEC ARGET "KRN",19,2922543,"RPC",120,0) SDEC ARMRTGET "KRN",19,2922543,"RPC",121,0) SDEC ARMRTSET "KRN",19,2922543,"RPC",122,0) SDEC AROPEN "KRN",19,2922543,"RPC",123,0) SDEC ARPCSET "KRN",19,2922543,"RPC",124,0) SDEC ARSET "KRN",19,2922543,"RPC",125,0) SDEC HIDE "KRN",19,2922543,"RPC",126,0) SDEC PRIV "KRN",19,2922543,"RPC",127,0) SDEC WLHIDE "KRN",19,2922543,"RPC",128,0) SDECAR ARAPPT "KRN",19,2922543,"RPC",129,0) SDECAR ARMRTC "KRN",19,2922543,"RPC",130,0) SDECDEV DEVICE "KRN",19,2922543,"RPC",131,0) SDECDIS DISABIL "KRN",19,2922543,"RPC",132,0) SDECIDX GETREC "KRN",19,2922543,"RPC",133,0) SDECIDX RECCNT "KRN",19,2922543,"RPC",134,0) SDECLK LOCK "KRN",19,2922543,"RPC",135,0) SDECLK UNLOCK "KRN",19,2922543,"RPC",136,0) SDECLOC PRIVLOC "KRN",19,2922543,"RPC",137,0) SDECLOC UPDPRIV "KRN",19,2922543,"RPC",138,0) SDECRMG RECCNT "KRN",19,2922543,"RPC",139,0) SDECRMG RMG "KRN",19,2922543,"RPC",140,0) SDECRMG2 URGENCY "KRN",19,2922543,"RPC",141,0) DG SENSITIVE RECORD ACCESS "KRN",19,2922543,"RPC",142,0) DG CHK BS5 XREF ARRAY "KRN",19,2922543,"RPC",143,0) ORPRF HASFLG "KRN",19,2922543,"RPC",144,0) ORPRF GETFLG "KRN",19,2922543,"RPC",145,0) ORWPT DIEDON "KRN",19,2922543,"RPC",146,0) ORWPT ID INFO "KRN",19,2922543,"RPC",147,0) ORWPT LAST5 "KRN",19,2922543,"RPC",148,0) ORWPT LAST5 RPL "KRN",19,2922543,"RPC",149,0) ORWU USERINFO "KRN",19,2922543,"RPC",150,0) SD VSE FILTER RPC "KRN",19,2922543,"RPC",151,0) SD VSE REPORT RPC "KRN",19,2922543,"RPC",152,0) SDEC APPSLOTS "KRN",19,2922543,"RPC",154,0) SDEC NETLOC "KRN",19,2922543,"RPC",155,0) SDEC NOAVAIL "KRN",19,2922543,"RPC",156,0) SDECAPP GETYPE "KRN",19,2922543,"RPC",157,0) SDECAR ARMULT "KRN",19,2922543,"RPC",158,0) SDECAR AUDITGET "KRN",19,2922543,"RPC",159,0) SDECCAP CAN "KRN",19,2922543,"RPC",160,0) SDECCAP GET "KRN",19,2922543,"RPC",161,0) SDECCAP SET "KRN",19,2922543,"RPC",162,0) SDECWL AUDITGET "KRN",19,2922543,"RPC",163,0) ROR LIST STATES "KRN",19,2922543,"RPC",164,0) XUS SIGNON SETUP "KRN",19,2922543,"RPC",165,0) XUS GET VISITOR "KRN",19,2922543,"RPC",166,0) XUS SET VISITOR "KRN",19,2922543,"RPC",167,0) XUS AV CODE "KRN",19,2922543,"RPC",168,0) SDEC01 CLINICS "KRN",19,2922543,"RPC",169,0) SDEC57 OBM "KRN",19,2922543,"RPC",170,0) SDECAR3 AREDIT "KRN",19,2922543,"RPC",171,0) SDECDEM MARITAL "KRN",19,2922543,"RPC",172,0) SDECDEM RELIGION "KRN",19,2922543,"RPC",173,0) SDECDEM ZIPLINK "KRN",19,2922543,"RPC",174,0) SDECDEV DEV "KRN",19,2922543,"RPC",175,0) SDECDEV PRINT "KRN",19,2922543,"RPC",176,0) SDECRMGP GETRMGUP "KRN",19,2922543,"RPC",177,0) SDECRMGP PUTRMGUP "KRN",19,2922543,"RPC",178,0) SDECU4 GETFONT "KRN",19,2922543,"RPC",179,0) SDECU4 PUTFONT "KRN",19,2922543,"RPC",180,0) ORWU CLINLOC "KRN",19,2922543,"RPC",181,0) XUS GET USER INFO "KRN",19,2922543,"RPC",182,0) XUS GET CCOW TOKEN "KRN",19,2922543,"RPC",183,0) ORWPT SHARE "KRN",19,2922543,"RPC",184,0) ORWPT TOP "KRN",19,2922543,"RPC",185,0) DG SENSITIVE RECORD BULLETIN "KRN",19,2922543,"RPC",186,0) SDEC EP CLASSIFICATION "KRN",19,2922543,"RPC",187,0) SDEC EP CPT "KRN",19,2922543,"RPC",188,0) SDEC EP DEMOGRAPHICS "KRN",19,2922543,"RPC",189,0) SDEC EP DIAGNOSIS "KRN",19,2922543,"RPC",190,0) SDEC EP EVENT LOG "KRN",19,2922543,"RPC",191,0) SDEC EP PROVIDER "KRN",19,2922543,"RPC",192,0) SDEC EP PT INFO "KRN",19,2922543,"RPC",193,0) SDEC EP STOP CODE "KRN",19,2922543,"RPC",194,0) SDEC EP WAIT TIME "KRN",19,2922543,"RPC",195,0) SDEC APPT STATUS "KRN",19,2922543,"RPC",196,0) SDEC ELIGIBILITY "KRN",19,2922543,"RPC",197,0) SDEC CONTACT DISPLAY "KRN",19,2922543,"RPC",198,0) SDEC CONTACT MULTI-DISPLAY "KRN",19,2922543,"RPC",199,0) SDEC CONTACT NEW "KRN",19,2922543,"RPC",200,0) SDEC CONTACT SEQUENCE "KRN",19,2922543,"RPC",201,0) SDEC CONTACT STOP CODE "KRN",19,2922543,"RPC",202,0) SDEC CONTACT UPDATE "KRN",19,2922543,"RPC",203,0) SDEC GETPRER "KRN",19,2922543,"RPC",204,0) SDEC ELIG RETURN "KRN",19,2922543,"RPC",205,0) SDEC BOOKHLDY "KRN",19,2922543,"RPC",206,0) SDECAR1 ARGUID "KRN",19,2922543,"RPC",207,0) SDECSTNG HELPLINK "KRN",19,2922543,"RPC",208,0) XWB GET VARIABLE VALUE "KRN",19,2922543,"RPC",209,0) SDEC RESCE "KRN",19,2922543,"RPC",210,0) SDEC SUMMGET2 "KRN",19,2922543,"RPC",211,0) SDEC CANCMT "KRN",19,2922543,"RPC",212,0) SDEC VVC_APPT "KRN",19,2922543,"RPC",213,0) ORQQCN DETAIL "KRN",19,2922543,"RPC",214,0) SDEC CLINIC GROUP LOOKUP "KRN",19,2922543,"RPC",215,0) SDEC CLINIC GROUP RETURN "KRN",19,2922543,"RPC",216,0) SDEC GETWLIEN "KRN",19,2922543,"RPC",217,0) SDEC CONTACT DISPLAY SINGLE "KRN",19,2922543,"RPC",218,0) SDEC CONTACT SEQUENCE SINGLE "KRN",19,2922543,"RPC",219,0) SDEC GETVVSMAKEINFO "KRN",19,2922543,"RPC",220,0) SDEC SEARCH VVS PROVIDERS "KRN",19,2922543,"RPC",221,0) SDEC SPACEBAR VVS PRO "KRN",19,2922543,"RPC",225,0) SDEC VVS GET ID "KRN",19,2922543,"RPC",226,0) SDEC VVS DELETE ID "KRN",19,2922543,"RPC",227,0) SDEC VVS SAVE ID "KRN",19,2922543,"RPC",229,0) SDEC GET PATIENT APPT REQ "KRN",19,2922543,"RPC",230,0) SDEC GET PATIENT CONSULTS JSON "KRN",19,2922543,"RPC",231,0) SDEC GET PATIENT CONSULTS "KRN",19,2922543,"RPC",232,0) SDEC GET PATIENT RECALLS "KRN",19,2922543,"RPC",233,0) SDEC GET PATIENT APPT REQ JSON "KRN",19,2922543,"RPC",234,0) SDEC GET PATIENT RECALLS JSON "KRN",19,2922543,"RPC",238,0) SDEC GET ICN "KRN",19,2922543,"U") CLINICAL SCHEDULING PROCEDURE "KRN",8994,5086,-1) 0^1 "KRN",8994,5086,0) SDECRMG RMG^RMG^SDECRMG^4^R^0^^0 "KRN",8994,5086,1,0) ^^6^6^3210422^ "KRN",8994,5086,1,1,0) This RPC returns data from the ^XTMP("SDECIDX",$J,"XREF" global. "KRN",8994,5086,1,2,0) This call uses the filter and sort arrays passed in to return data in the "KRN",8994,5086,1,3,0) desired format. This call returns a list of items by a key. "KRN",8994,5086,1,4,0) "KRN",8994,5086,1,5,0) Per SD*5.3*784, MAX RECS ACCUMULATED (#5) field has been added and Input "KRN",8994,5086,1,6,0) Parameters were defined to match the routine input parameters. "KRN",8994,5086,2,0) ^8994.02A^6^6 "KRN",8994,5086,2,1,0) MAXREC^1^^^1 "KRN",8994,5086,2,1,1,0) ^^1^1^3150420^ "KRN",8994,5086,2,1,1,1,0) MAXIMUM number of records to return. The default is 25 if left blank. "KRN",8994,5086,2,2,0) LASTSUB^1^^^2 "KRN",8994,5086,2,2,1,0) ^^4^4^3150420^ "KRN",8994,5086,2,2,1,1,0) This parameter would contain the key of the last record processed. "KRN",8994,5086,2,2,1,2,0) If this parameter is included, the routine will retrieve the next MAXREC "KRN",8994,5086,2,2,1,3,0) number of items from the previous filter/sort request and will not "KRN",8994,5086,2,2,1,4,0) initiate a new search. "KRN",8994,5086,2,3,0) FILTER^2^^^3 "KRN",8994,5086,2,3,1,0) ^^11^11^3150420^ "KRN",8994,5086,2,3,1,1,0) This parameter will contain the filter data. Filters can be in any order "KRN",8994,5086,2,3,1,2,0) and in any number. "KRN",8994,5086,2,3,1,3,0) "KRN",8994,5086,2,3,1,4,0) It has 2 pieces to each entry. The first piece is the type and the second "KRN",8994,5086,2,3,1,5,0) piece is the value. Below are examples "KRN",8994,5086,2,3,1,6,0) FILTER(1)=WAITTIME^>=90 "KRN",8994,5086,2,3,1,7,0) FILTER(2)=REQUESTTYPE^E~C "KRN",8994,5086,2,3,1,8,0) FILTER(3)=PRIORITYGROUP^GROUP 1~GROUP 2 Clinics is a list of clinics in "KRN",8994,5086,2,3,1,9,0) EXTERNAL FORMAT "KRN",8994,5086,2,3,1,10,0) Origination date and desired date are list of dates in EXTERNAL format "KRN",8994,5086,2,3,1,11,0) PatientName is a list of internal DFNS "KRN",8994,5086,2,4,0) SORT^2^^^4 "KRN",8994,5086,2,4,1,0) ^^11^11^3150420^ "KRN",8994,5086,2,4,1,1,0) The sort array tells how to return the requested data. "KRN",8994,5086,2,4,1,2,0) Sort can be any number and in any order. "KRN",8994,5086,2,4,1,3,0) "KRN",8994,5086,2,4,1,4,0) SORT(1)=WAITTIME "KRN",8994,5086,2,4,1,5,0) SORT(2)=REQUESTTYPE "KRN",8994,5086,2,4,1,6,0) SORT(3)=PRIORITYGROUP "KRN",8994,5086,2,4,1,7,0) SORT(4)=DESIREDDATE "KRN",8994,5086,2,4,1,8,0) SORT(5)=ORIGINATIONDATE "KRN",8994,5086,2,4,1,9,0) SORT(6)=CLINICS "KRN",8994,5086,2,4,1,10,0) SORT(7)=PATIENTNAME "KRN",8994,5086,2,4,1,11,0) SORT(8)=SCVISIT "KRN",8994,5086,2,5,0) MGIENS^1^999^0^5 "KRN",8994,5086,2,5,1,0) ^^7^7^3210408^ "KRN",8994,5086,2,5,1,1,0) List of IENs separated by pipe | to be sorted to the top of the return "KRN",8994,5086,2,5,1,2,0) each IEN needs to be prefaced by the request "KRN",8994,5086,2,5,1,3,0) type initial: "KRN",8994,5086,2,5,1,4,0) A = APPT A123 "KRN",8994,5086,2,5,1,5,0) E = EWL E123 "KRN",8994,5086,2,5,1,6,0) C = Consult C123 ;not implemented "KRN",8994,5086,2,5,1,7,0) R = Recall R123 ;not implemented "KRN",8994,5086,2,6,0) SDMAX^1^10^^6 "KRN",8994,5086,2,6,1,0) ^8994.021^1^1^3210422^^ "KRN",8994,5086,2,6,1,1,0) Max records allowed to be accumulated. "KRN",8994,5086,2,"B","FILTER",3) "KRN",8994,5086,2,"B","LASTSUB",2) "KRN",8994,5086,2,"B","MAXREC",1) "KRN",8994,5086,2,"B","MGIENS",5) "KRN",8994,5086,2,"B","SDMAX",6) "KRN",8994,5086,2,"B","SORT",4) "KRN",8994,5086,2,"PARAMSEQ",1,1) "KRN",8994,5086,2,"PARAMSEQ",2,2) "KRN",8994,5086,2,"PARAMSEQ",3,3) "KRN",8994,5086,2,"PARAMSEQ",4,4) "KRN",8994,5086,2,"PARAMSEQ",5,5) "KRN",8994,5086,2,"PARAMSEQ",6,6) "KRN",8994,5086,3,0) ^8994.03^34^34^3210422^^^ "KRN",8994,5086,3,1,0) ^TMP("SDECRMG",7628,0)="T00030TYPE^T00030IEN^T00030KEY"_$c(30) "KRN",8994,5086,3,2,0) ^TMP("SDECRMG",7628,1)="E^119^0|0|3141102|3140919|119"_$c(30) "KRN",8994,5086,3,3,0) ^TMP("SDECRMG",7628,2)="E^69^0|1|3140924|3140905|69"_$c(30) "KRN",8994,5086,3,4,0) FILTER(4)=DESIREDDATE^02/20/2015~03/01/2015 "KRN",8994,5086,3,5,0) FILTER(5)=ORIGINATIONDATE^11/23/2014~11/24/2014~11/25/2014 "KRN",8994,5086,3,6,0) FILTER(6)=CLINICS^CARDIOLOGY CLINIC~FAMILY PRACTICE "KRN",8994,5086,3,7,0) FILTER(7)=PATIENTNAME^15~23~100 "KRN",8994,5086,3,8,0) FILTER(8)=SCVISIT^False "KRN",8994,5086,3,9,0) "KRN",8994,5086,3,10,0) Waittime is a set of codes: <30,30-60,60-90,>=90,all "KRN",8994,5086,3,11,0) Priority group is a set of codes NULL, GROUP 1 - GROUP 7 "KRN",8994,5086,3,12,0) Request type is a set of codes E(wait list),A(Appt request),R(recall "KRN",8994,5086,3,13,0) list),C(consult) "KRN",8994,5086,3,14,0) SCVisit is true/false "KRN",8994,5086,3,15,0) ^TMP("SDECRMG",7628,3)="E^148^0|1|3141003|3140929|148"_$c(30) "KRN",8994,5086,3,16,0) ^TMP("SDECRMG",7628,4)="E^187^0|1|3141008|3141008|187"_$c(30) "KRN",8994,5086,3,17,0) ^TMP("SDECRMG",7628,5)="E^143^0|1|3141009|3140925|143"_$c(30) "KRN",8994,5086,3,18,0) ^TMP("SDECRMG",7628,6)="E^181^0|1|3141009|3141008|181"_$c(30) "KRN",8994,5086,3,19,0) ^TMP("SDECRMG",7628,7)="R^78^0|1|3141016|3141014|78"_$c(30) "KRN",8994,5086,3,20,0) ^TMP("SDECRMG",7628,8)="E^205^0|1|3141017|3141014|205"_$c(30) "KRN",8994,5086,3,21,0) ^TMP("SDECRMG",7628,9)="E^207^0|1|3141017|3141014|207"_$c(30) "KRN",8994,5086,3,22,0) ^TMP("SDECRMG",7628,10)="E^192^0|1|3141023|3141010|192"_$c(30) "KRN",8994,5086,3,23,0) ^TMP("SDECRMG",7628,11)="R^47^0|1|3141023|3141010|47"_$c(30) "KRN",8994,5086,3,24,0) ^TMP("SDECRMG",7628,12)="E^199^0|1|3141023|3141013|199"_$c(30) "KRN",8994,5086,3,25,0) ^TMP("SDECRMG",7628,13)="R^67^0|1|3141023|3141014|67"_$c(30) "KRN",8994,5086,3,26,0) ^TMP("SDECRMG",7628,14)="R^64^0|1|3141024|3141014|64"_$c(30) "KRN",8994,5086,3,27,0) ^TMP("SDECRMG",7628,15)="R^114^0|1|3141028|114"_$c(30) "KRN",8994,5086,3,28,0) ^TMP("SDECRMG",7628,16)="R^60^0|1|3141029|3141014|60"_$c(30) "KRN",8994,5086,3,29,0) ^TMP("SDECRMG",7628,17)="R^94^0|1|3141029|3141020|94"_$c(30) "KRN",8994,5086,3,30,0) ^TMP("SDECRMG",7628,18)="E^159^0|1|3141030|3141002|159"_$c(30) "KRN",8994,5086,3,31,0) "KRN",8994,5086,3,32,0) The first piece is the request type (E,R,A,C) "KRN",8994,5086,3,33,0) The second piece is the IEN of the request type "KRN",8994,5086,3,34,0) The 3rd piece is the KEY to retrieving further data "KRN",8994,5753,-1) 0^2 "KRN",8994,5753,0) SDEC GET PATIENT CONSULTS^CONSLIST^SDEC1^4^R "KRN",8994,5753,1,0) ^8994.01^2^2^3210413^ "KRN",8994,5753,1,1,0) This RPC returns a global array of output parameters for all consults "KRN",8994,5753,1,2,0) with a CPRS STATUS of "ACTIVE" or "PENDING". "KRN",8994,5753,2,0) ^8994.02A^1^1 "KRN",8994,5753,2,1,0) PATIENT DFN^1^^1^1 "KRN",8994,5753,2,1,1,0) ^^1^1^3210413^ "KRN",8994,5753,2,1,1,1,0) Patient data file number (DFN) from PATIENT (#2) file. "KRN",8994,5753,2,"B","PATIENT DFN",1) "KRN",8994,5753,2,"PARAMSEQ",1,1) "KRN",8994,5753,3,0) ^^20^20^3210415^ "KRN",8994,5753,3,1,0) List of consults in ACTIVE or PENDING CPRS STATUS. Data is delimited by "KRN",8994,5753,3,2,0) carat (^). "KRN",8994,5753,3,3,0) Field List: "KRN",8994,5753,3,4,0) (1) Internal IEN "KRN",8994,5753,3,5,0) (2) Request Type "KRN",8994,5753,3,6,0) (3) File Entry Date "KRN",8994,5753,3,7,0) (4) To Service/Specialty "KRN",8994,5753,3,8,0) (5) Clinic IEN "KRN",8994,5753,3,9,0) (6) Clinic Name "KRN",8994,5753,3,10,0) (7) Date of Request "KRN",8994,5753,3,11,0) (8) URGENCY name or Earliest date "KRN",8994,5753,3,12,0) (9) Provider IEN "KRN",8994,5753,3,13,0) (10) Provider Name "KRN",8994,5753,3,14,0) (11) Service Rendered as in or outpatient "KRN",8994,5753,3,15,0) (12) Associated Stop Code "KRN",8994,5753,3,16,0) (13) Prohibited Clinic Flag "KRN",8994,5753,3,17,0) (14) Clinic indicated Date "KRN",8994,5753,3,18,0) (15) # of Phone contacts "KRN",8994,5753,3,19,0) (16) Date of Last Letter "KRN",8994,5753,3,20,0) (17) Covid Priority "KRN",8994,5754,-1) 0^8 "KRN",8994,5754,0) SDEC GET PATIENT APPT REQ^ARGETPAT^SDEC1^4^R^^^0 "KRN",8994,5754,1,0) ^8994.01^2^2^3210415^^^ "KRN",8994,5754,1,1,0) Get appointment request details. This is similar to SDEC ARGET but it "KRN",8994,5754,1,2,0) only returns Appt request specific data. "KRN",8994,5754,2,0) ^8994.02A^1^1 "KRN",8994,5754,2,1,0) DFN^1^^1^1 "KRN",8994,5754,2,1,1,0) ^8994.021^1^1^3210414^^ "KRN",8994,5754,2,1,1,1,0) Patient ID pointer to PATIENT File (#2) "KRN",8994,5754,2,"B","DFN",1) "KRN",8994,5754,2,"PARAMSEQ",1,1) "KRN",8994,5754,3,0) ^^83^83^3210414^ "KRN",8994,5754,3,1,0) 1 Patient "KRN",8994,5754,3,2,0) [I] FILE: 409.85 FIELD: .01 "KRN",8994,5754,3,3,0) 2 Appt request IEN "KRN",8994,5754,3,4,0) Calculated / Derived "KRN",8994,5754,3,5,0) 3 CREATE DATE "KRN",8994,5754,3,6,0) [I] FILE: 409.85 FIELD: 1 "KRN",8994,5754,3,7,0) 4 INSTITUTION "KRN",8994,5754,3,8,0) [I] FILE: 409.85 FIELD: 2 "KRN",8994,5754,3,9,0) 5 INSTITUTION "KRN",8994,5754,3,10,0) [E] FILE: 409.85 FIELD: 2 "KRN",8994,5754,3,11,0) 6 REQUEST TYPE "KRN",8994,5754,3,12,0) [I] FILE: 409.85 FIELD: 4 "KRN",8994,5754,3,13,0) 7 REQ SPECIFIC CLINIC "KRN",8994,5754,3,14,0) [I] FILE: 409.85 FIELD: 8 "KRN",8994,5754,3,15,0) 8 REQ SPECIFIC CLINIC "KRN",8994,5754,3,16,0) [E] FILE: 409.85 FIELD: 8 "KRN",8994,5754,3,17,0) 9 ORIGINATING USER "KRN",8994,5754,3,18,0) [I] FILE: 409.85 FIELD: 9 "KRN",8994,5754,3,19,0) 10 ORIGINATING USER "KRN",8994,5754,3,20,0) [E] FILE: 409.85 FIELD: 9 "KRN",8994,5754,3,21,0) 11 PRIORITY "KRN",8994,5754,3,22,0) [I] FILE: 409.85 FIELD: 10 "KRN",8994,5754,3,23,0) 12 REQUESTED BY "KRN",8994,5754,3,24,0) [I] FILE: 409.85 FIELD: 11 "KRN",8994,5754,3,25,0) 13 PROVIDER "KRN",8994,5754,3,26,0) [I] FILE: 409.85 FIELD: 12 "KRN",8994,5754,3,27,0) 14 PROVIDER "KRN",8994,5754,3,28,0) [E] FILE: 409.85 FIELD: 12 "KRN",8994,5754,3,29,0) 15 CID/PREFERRED DATE OF APPT "KRN",8994,5754,3,30,0) [I] FILE: 409.85 FIELD: 22 "KRN",8994,5754,3,31,0) 16 COMMENTS "KRN",8994,5754,3,32,0) [I] FILE: 409.85 FIELD: 25 "KRN",8994,5754,3,33,0) 17 ENROLLMENT PRIORITY "KRN",8994,5754,3,34,0) [E] FILE: 409.85 FIELD: 10.5 "KRN",8994,5754,3,35,0) 18 MULTIPLE APPOINTMENT RTC "KRN",8994,5754,3,36,0) [E] FILE: 409.85 FIELD: 41 "KRN",8994,5754,3,37,0) 19 MULT APPT RTC INTERVAL "KRN",8994,5754,3,38,0) [E] FILE: 409.85 FIELD: 42 "KRN",8994,5754,3,39,0) 20 MULT APPT NUMBER "KRN",8994,5754,3,40,0) [E] FILE: 409.85 FIELD: 43 "KRN",8994,5754,3,41,0) 21 Count of MULTI return to clinic SUB FILE 2 "KRN",8994,5754,3,42,0) Calculated / Derived "KRN",8994,5754,3,43,0) Date entered - I - FIELD .01 "KRN",8994,5754,3,44,0) Entered by user - I - FIELD 2 "KRN",8994,5754,3,45,0) Entered by user - E - FIELD 2 "KRN",8994,5754,3,46,0) Action - E - FIELD 3 "KRN",8994,5754,3,47,0) Patient phone - E - FIELD 4 "KRN",8994,5754,3,48,0) 22 DATE DISPOSITIONED "KRN",8994,5754,3,49,0) [E] FILE: 409.85 FIELD: 19 "KRN",8994,5754,3,50,0) 23 DISPOSITIONED BY "KRN",8994,5754,3,51,0) [I] FILE: 409.85 FIELD: 20 "KRN",8994,5754,3,52,0) 24 DISPOSITIONED BY "KRN",8994,5754,3,53,0) [E] FILE: 409.85 FIELD: 20 "KRN",8994,5754,3,54,0) 25 SERVICE CONNECTED PRIORITY "KRN",8994,5754,3,55,0) [E] FILE: 409.85 FIELD: 15 "KRN",8994,5754,3,56,0) 26 DATE/TIME ENTERED "KRN",8994,5754,3,57,0) [E] FILE: 409.85 FIELD: 9.5 "KRN",8994,5754,3,58,0) 27 LIST OF DATES ??? "KRN",8994,5754,3,59,0) Calculated / Derived "KRN",8994,5754,3,60,0) 28 REQ SERVICE/SPECIALTY "KRN",8994,5754,3,61,0) [I] FILE: 409.85 FIELD: 8.5 "KRN",8994,5754,3,62,0) 29 REQ SERVICE/SPECIALTY "KRN",8994,5754,3,63,0) [E] FILE: 409.85 FIELD: 8.5 "KRN",8994,5754,3,64,0) 30 Appt schedule info (date, clerk) "KRN",8994,5754,3,65,0) Scheduled data of appt - I - FIELD 13 "KRN",8994,5754,3,66,0) Appt clerk - I - FIELD 13.7 "KRN",8994,5754,3,67,0) Appt clerk - E - FIELD 13.7 "KRN",8994,5754,3,68,0) 31 Count of MRTCs SUB FILE 2 "KRN",8994,5754,3,69,0) Calculated / Derived "KRN",8994,5754,3,70,0) 32 REQ APPOINTMENT TYPE "KRN",8994,5754,3,71,0) [I] FILE: 409.85 FIELD: 8.7 "KRN",8994,5754,3,72,0) 33 Patient Status "KRN",8994,5754,3,73,0) [E] FILE: 409.85 FIELD: .02 "KRN",8994,5754,3,74,0) 34 MULTI appt request (Parent) "KRN",8994,5754,3,75,0) Calculated / Derived "KRN",8994,5754,3,76,0) 35 MULTI appt requests (Child) "KRN",8994,5754,3,77,0) Calculated / Derived "KRN",8994,5754,3,78,0) 36 PARENT REQUEST "KRN",8994,5754,3,79,0) [I] FILE: 409.85 FIELD: 43.8 "KRN",8994,5754,3,80,0) 37 Number of calls "KRN",8994,5754,3,81,0) Calculated / Derived "KRN",8994,5754,3,82,0) 38 Date of last letter sent "KRN",8994,5754,3,83,0) Calculated / Derived "KRN",8994,5755,-1) 0^4 "KRN",8994,5755,0) SDEC GET PATIENT RECALLS^RECGET^SDEC1^4^R^0^^0 "KRN",8994,5755,1,0) ^8994.01^1^1^3210421^^^ "KRN",8994,5755,1,1,0) GET entries from the RECALL REMINDERS file 403.5 for a given Patient "KRN",8994,5755,2,0) ^8994.02A^1^1 "KRN",8994,5755,2,1,0) DFN^1^32000^1^1 "KRN",8994,5755,2,1,1,0) ^^1^1^3210413^ "KRN",8994,5755,2,1,1,1,0) Pointer to PATIENT file 2 "KRN",8994,5755,2,"B","DFN",1) "KRN",8994,5755,2,"PARAMSEQ",1,1) "KRN",8994,5756,-1) 0^6 "KRN",8994,5756,0) SDEC GET PATIENT CONSULTS JSON^JSONCONSLIST^SDEC1^2^R "KRN",8994,5756,1,0) ^8994.01^1^1^3210415^^ "KRN",8994,5756,1,1,0) RPC returns Patient Consults using JSON "KRN",8994,5756,2,0) ^8994.02A^1^1 "KRN",8994,5756,2,1,0) DFN^1^^1^1 "KRN",8994,5756,2,1,1,0) ^8994.021^1^1^3210415^^ "KRN",8994,5756,2,1,1,1,0) Data File Number (DFN) of PATIENT (#2) File "KRN",8994,5756,2,"B","DFN",1) "KRN",8994,5756,2,"PARAMSEQ",1,1) "KRN",8994,5756,3,0) ^^19^19^3210415^ "KRN",8994,5756,3,1,0) Returns all ACTIVE and PENDING CONSULTS for a patient in JSON format: "KRN",8994,5756,3,2,0) Return values include: "KRN",8994,5756,3,3,0) "KRN",8994,5756,3,4,0) Consult IEN "KRN",8994,5756,3,5,0) Request Type "KRN",8994,5756,3,6,0) File Entry Date "KRN",8994,5756,3,7,0) To Service "KRN",8994,5756,3,8,0) Clinic IEN "KRN",8994,5756,3,9,0) Clinic Name "KRN",8994,5756,3,10,0) Date of Request "KRN",8994,5756,3,11,0) Urgency or Earliest Date "KRN",8994,5756,3,12,0) Provider IEN "KRN",8994,5756,3,13,0) Provider Name "KRN",8994,5756,3,14,0) Service Rendered As "KRN",8994,5756,3,15,0) Prohibited Clinic Flag "KRN",8994,5756,3,16,0) Clinic Indicated Date "KRN",8994,5756,3,17,0) Number of Phone Contact "KRN",8994,5756,3,18,0) Date of Last Letter "KRN",8994,5756,3,19,0) Covid Priority "KRN",8994,5757,-1) 0^7 "KRN",8994,5757,0) SDEC GET PATIENT APPT REQ JSON^ARGETPATJSON^SDEC1^2^R^^^0 "KRN",8994,5757,1,0) ^8994.01^2^2^3210420^^ "KRN",8994,5757,1,1,0) Get appointment request details. This is similar to SDEC ARGET but it "KRN",8994,5757,1,2,0) only returns Appt request specific data in JSON format.d- "KRN",8994,5757,2,0) ^8994.02A^1^1 "KRN",8994,5757,2,1,0) DFN^1^^1^1 "KRN",8994,5757,2,1,1,0) ^8994.021^1^1^3210420^^ "KRN",8994,5757,2,1,1,1,0) Patient ID pointer to PATIENT File (#2) "KRN",8994,5757,2,"B","DFN",1) "KRN",8994,5757,2,"PARAMSEQ",1,1) "KRN",8994,5757,3,0) ^^73^73^3210420^ "KRN",8994,5757,3,1,0) Data is returned in JSON format. Below are the JSON property names and "KRN",8994,5757,3,2,0) the source (File & Field) of the data. "KRN",8994,5757,3,3,0) "KRN",8994,5757,3,4,0) PatientStatusE "KRN",8994,5757,3,5,0) [E] FILE: 409.85 FIELD: .02 "KRN",8994,5757,3,6,0) CreateDateI "KRN",8994,5757,3,7,0) [I] FILE: 409.85 FIELD: 1 "KRN",8994,5757,3,8,0) InstitutionE "KRN",8994,5757,3,9,0) [E] FILE: 409.85 FIELD: 2 "KRN",8994,5757,3,10,0) RequestTypeI "KRN",8994,5757,3,11,0) [I] FILE: 409.85 FIELD: 4 "KRN",8994,5757,3,12,0) ReqSpecificClinicE "KRN",8994,5757,3,13,0) [E] FILE: 409.85 FIELD: 8 "KRN",8994,5757,3,14,0) ReqServiceSpecialtyE "KRN",8994,5757,3,15,0) [E] FILE: 409.85 FIELD: 8.5 "KRN",8994,5757,3,16,0) ReqAppointmentTypeI "KRN",8994,5757,3,17,0) [I] FILE: 409.85 FIELD: 8.7 "KRN",8994,5757,3,18,0) OriginatingUserE "KRN",8994,5757,3,19,0) [E] FILE: 409.85 FIELD: 9 "KRN",8994,5757,3,20,0) DateTimeEnteredE "KRN",8994,5757,3,21,0) [E] FILE: 409.85 FIELD: 9.5 "KRN",8994,5757,3,22,0) PriorityI "KRN",8994,5757,3,23,0) [I] FILE: 409.85 FIELD: 10 "KRN",8994,5757,3,24,0) EnrollmentPriorityE "KRN",8994,5757,3,25,0) [E] FILE: 409.85 FIELD: 10.5 "KRN",8994,5757,3,26,0) RequestedByI "KRN",8994,5757,3,27,0) [I] FILE: 409.85 FIELD: 11 "KRN",8994,5757,3,28,0) ProviderE "KRN",8994,5757,3,29,0) [E] FILE: 409.85 FIELD: 12 "KRN",8994,5757,3,30,0) ScheduledDateOfApptI "KRN",8994,5757,3,31,0) [I] FILE: 409.85 FIELD: 13 "KRN",8994,5757,3,32,0) ApptClerkE "KRN",8994,5757,3,33,0) [E] FILE: 409.85 FIELD: 13.7 "KRN",8994,5757,3,34,0) ServiceConnectedPriorityE "KRN",8994,5757,3,35,0) [E] FILE: 409.85 FIELD: 15 "KRN",8994,5757,3,36,0) DateDispositionedE "KRN",8994,5757,3,37,0) [E] FILE: 409.85 FIELD: 19 "KRN",8994,5757,3,38,0) DispositionedByE "KRN",8994,5757,3,39,0) [E] FILE: 409.85 FIELD: 20 "KRN",8994,5757,3,40,0) CidPreferredDateOfApptI "KRN",8994,5757,3,41,0) [I] FILE: 409.85 FIELD: 22 "KRN",8994,5757,3,42,0) CommentsI "KRN",8994,5757,3,43,0) [I] FILE: 409.85 FIELD: 25 "KRN",8994,5757,3,44,0) MultipleAppointmentRTCE "KRN",8994,5757,3,45,0) [E] FILE: 409.85 FIELD: 41 "KRN",8994,5757,3,46,0) MultApptRTCIntervalE "KRN",8994,5757,3,47,0) [E] FILE: 409.85 FIELD: 42 "KRN",8994,5757,3,48,0) MultApptNumberE "KRN",8994,5757,3,49,0) [E] FILE: 409.85 FIELD: 43 "KRN",8994,5757,3,50,0) ParentRequestI "KRN",8994,5757,3,51,0) [I] FILE: 409.85 FIELD: 43.8 "KRN",8994,5757,3,52,0) DateEnteredI "KRN",8994,5757,3,53,0) [I] FILE: 409.85 SUB: 44 FIELD: .01 "KRN",8994,5757,3,54,0) EnteredByUserE "KRN",8994,5757,3,55,0) [E] FILE: 409.85 SUB: 44 FIELD: 2 "KRN",8994,5757,3,56,0) ActionE "KRN",8994,5757,3,57,0) [E] FILE: 409.85 SUB: 44 FIELD: 3 "KRN",8994,5757,3,58,0) PatientPhoneE "KRN",8994,5757,3,59,0) [E] FILE: 409.85 SUB: 44 FIELD: 4 "KRN",8994,5757,3,60,0) ApptReqIEN "KRN",8994,5757,3,61,0) Calculated / Derived "KRN",8994,5757,3,62,0) CountOfRtcsFromSubFile433 "KRN",8994,5757,3,63,0) Calculated / Derived "KRN",8994,5757,3,64,0) DateOfLastLetterSent "KRN",8994,5757,3,65,0) Calculated / Derived "KRN",8994,5757,3,66,0) ListOfRpcDates "KRN",8994,5757,3,67,0) Calculated / Derived "KRN",8994,5757,3,68,0) MultiApptRequestsChild "KRN",8994,5757,3,69,0) Calculated / Derived "KRN",8994,5757,3,70,0) MultiApptRequestsParent "KRN",8994,5757,3,71,0) Calculated / Derived "KRN",8994,5757,3,72,0) NumberOfCalls "KRN",8994,5757,3,73,0) Calculated / Derived "KRN",8994,5758,-1) 0^9 "KRN",8994,5758,0) SDEC GET PATIENT RECALLS JSON^RECGETJSON^SDEC1^4^R^0^^0 "KRN",8994,5758,1,0) ^8994.01^1^1^3210421^ "KRN",8994,5758,1,1,0) Returns all OPEN recalls associated with a patient in JSON format "KRN",8994,5758,2,0) ^8994.02A^1^1 "KRN",8994,5758,2,1,0) DFN^1^32000^1^1 "KRN",8994,5758,2,1,1,0) ^^1^1^3210421^ "KRN",8994,5758,2,1,1,1,0) Pointer to PATIENT file 2 "KRN",8994,5758,2,"B","DFN",1) "KRN",8994,5758,2,"PARAMSEQ",1,1) "KRN",8994,5759,-1) 0^10 "KRN",8994,5759,0) SDEC GET ICN^GETPATIENTICN^SDEC1^1^R^^^^1 "KRN",8994,5759,1,0) ^^1^1^3210504^ "KRN",8994,5759,1,1,0) RETURNS PATIENT ICN "KRN",8994,5759,2,0) ^8994.02A^1^1 "KRN",8994,5759,2,1,0) PATIENT IEN (DFN)^1^25^1^1 "KRN",8994,5759,2,"B","PATIENT IEN (DFN)",1) "KRN",8994,5759,2,"PARAMSEQ",1,1) "MBREQ") 0 "ORD",16,8994) 8994;16;1;;;;RPCE1^XPDIA1;;;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 "PKG",16,-1) 1^1 "PKG",16,0) SCHEDULING^SD^APPOINTMENTS,PROFILES,LETTERS,AMIS REPORTS "PKG",16,22,0) ^9.49I^1^1 "PKG",16,22,1,0) 5.3^2930813^2930930 "PKG",16,22,1,"PAH",1,0) 784^3210519^520881801 "PKG",16,22,1,"PAH",1,1,0) ^^19^19^3210519 "PKG",16,22,1,"PAH",1,1,1,0) "PKG",16,22,1,"PAH",1,1,2,0) "PKG",16,22,1,"PAH",1,1,3,0) For tracking purposes, please add component and note the associated Jira "PKG",16,22,1,"PAH",1,1,4,0) task(s) out to the right on the same line. "PKG",16,22,1,"PAH",1,1,5,0) "PKG",16,22,1,"PAH",1,1,6,0) FILES: "PKG",16,22,1,"PAH",1,1,7,0) Added new MAX RECS ACCUMULATED (#5) field in SDEC SETTINGS (#409.98) "PKG",16,22,1,"PAH",1,1,8,0) file: VSE-552 "PKG",16,22,1,"PAH",1,1,9,0) "PKG",16,22,1,"PAH",1,1,10,0) ROUTINES: "PKG",16,22,1,"PAH",1,1,11,0) SDEC1: VSE-554, VSE-555, VSE-556 "PKG",16,22,1,"PAH",1,1,12,0) SDECAR4: VSE-554 "PKG",16,22,1,"PAH",1,1,13,0) SDECVVS: "PKG",16,22,1,"PAH",1,1,14,0) "PKG",16,22,1,"PAH",1,1,15,0) OPTIONS: "PKG",16,22,1,"PAH",1,1,16,0) SDECRPC: VSE-554, VSE-555, VSE-556 "PKG",16,22,1,"PAH",1,1,17,0) "PKG",16,22,1,"PAH",1,1,18,0) REMOTE PROCEDURES: "PKG",16,22,1,"PAH",1,1,19,0) SDEC PATIENT APP REQ GET: VSE-554 "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") 9 "RTN","SDEC1") 0^3^B7644254^B5210857 "RTN","SDEC1",1,0) SDEC1 ;ALB/LAB - VISTA SCHEDULING RPCS ;Apr 13, 2021@12:43 "RTN","SDEC1",2,0) ;;5.3;Scheduling;**774,781,784**;Aug 13, 1993;Build 8 "RTN","SDEC1",3,0) ; "RTN","SDEC1",4,0) ARGETPAT(RET,DFN) ;RPC: SDEC PATIENT APPT REQ GET "RTN","SDEC1",5,0) D ARGETPAT^SDECAR4(.RET,DFN) Q "RTN","SDEC1",6,0) ARGETPATJSON(RET,DFN) ;RPC: SDEC APPT REQ GET PATIENT JSON "RTN","SDEC1",7,0) D ARGETPATJSON^SDECAR4(.RET,DFN) Q "RTN","SDEC1",8,0) CONSLIST(SDECY,DFN) ;EP SDEC GET PATIENT CONSULTS "RTN","SDEC1",9,0) D CONSLIST^SDEC51B(.SDECY,DFN) Q ;Return a list of ACTIVE or PENDING CONSULTS for patient "RTN","SDEC1",10,0) CLGRPLK(SDECY,SRCHAR) ;EP SDEC CLINIC GROUP LOOKUP "RTN","SDEC1",11,0) D CLGRPLK^SDEC63(.SDECY,SRCHAR) Q "RTN","SDEC1",12,0) DISMULT(RTT,CIEN) ; RPC: SDEC CONTACT MULTI-DISPLAY "RTN","SDEC1",13,0) D DISMULT^SDECCON(.RTT,CIEN) Q "RTN","SDEC1",14,0) DELETEVVSID(RETURN,DFN,RESOURCE,APPTDATETIME) ;This RPC deletes Video Visit ID from SDEC APPOINTMENT(#409.84) file "RTN","SDEC1",15,0) D DELETEVVSID^SDECVVS(.RETURN,DFN,RESOURCE,APPTDATETIME) Q "RTN","SDEC1",16,0) DISPLAY(RTU,DFN,CLN,PDT,REQT,SER) ; RPC: SDEC CONTACT DISPLAY "RTN","SDEC1",17,0) D DISPLAY^SDECCON(.RTU,DFN,CLN,PDT,REQT,SER) Q "RTN","SDEC1",18,0) DISPLAY1(RTU,REQT,RIEN) ; RPC: SDEC CONTACT DISPLAY SINGLE "RTN","SDEC1",19,0) D DISPLAY1^SDECCON(.RTU,REQT,RIEN) Q ; RPC: SDEC CONTACT DISPLAY SINGLE "RTN","SDEC1",20,0) GETPATIENTICN(RETURN,PATIENTIEN) ;GET PATIENT ICN FROM PATIENT IEN (DFN) "RTN","SDEC1",21,0) D GETPATIENTICN^SDECVVS(.RETURN,PATIENTIEN) Q "RTN","SDEC1",22,0) GETSTC(RET,CLIEN) ; RPC: SDEC CONTACT STOP CODE "RTN","SDEC1",23,0) D GETSTC^SDECCON(.RET,CLIEN) Q "RTN","SDEC1",24,0) GETSPACEBARPRO(VVSPRORETURN) ;SPACEBAR RETURN LAST PROVIDER "RTN","SDEC1",25,0) D GETSPACEBARPRO^SDECVVS(.VVSPRORETURN) Q "RTN","SDEC1",26,0) GETVVSMAKEINFO(VVSMAKEINFO,PATIENTIEN,CLINICIEN) ;GET INFO TO MAKE A VIDEO VISIT WEB SERVICE (VVS) CALL "RTN","SDEC1",27,0) D GETVVSMAKEINFO^SDECVVS(.VVSMAKEINFO,PATIENTIEN,CLINICIEN) Q "RTN","SDEC1",28,0) GETWLIEN(RET,APPTIEN) ; "RTN","SDEC1",29,0) D GETWLIEN^SDEC63(.RET,APPTIEN) Q "RTN","SDEC1",30,0) GETVVSID(RETURN,DFN,RESOURCE,APPTDATETIME) ;This RPC returns the Video Visit Service (VVS) ID. "RTN","SDEC1",31,0) D GETVVSID^SDECVVS(.RETURN,DFN,RESOURCE,APPTDATETIME) Q "RTN","SDEC1",32,0) JSONCONSLIST(SDEC,DFN) ;EP RPC: SDEC GET PATIENT CONSULTS JSON "RTN","SDEC1",33,0) D JSONCONSLIST^SDECCONSJSON(.SDEC,DFN) Q "RTN","SDEC1",34,0) NEW(RET,DFN,CLI,DTP,REQT,SRV,DTCON,CONT,COM,DTENT,RIEN) ; RPC: SDEC CONTACT NEW "RTN","SDEC1",35,0) D NEW^SDECCON(.RET,DFN,CLI,DTP,REQT,SRV,DTCON,CONT,COM,DTENT,RIEN) Q "RTN","SDEC1",36,0) RECGET(SDECY,DFN) ;This RPC returns all open recall requests associated with a patient in a delimited string "RTN","SDEC1",37,0) D RECGET^SDEC52C(.SDECY,DFN) Q "RTN","SDEC1",38,0) RECGETJSON(SDECY,DFN) ; This RPC returns all open recall requests associated with a paitnet in JSON format "RTN","SDEC1",39,0) D RECGETJSON^SDEC52CJSON(.SDECY,DFN) Q "RTN","SDEC1",40,0) RESGRP(SDECY,SDECDUZ,GRPIEN) ;EP SDEC CLINIC GROUP RETURN "RTN","SDEC1",41,0) D RESGRP^SDEC63(.SDECY,SDECDUZ,GRPIEN) Q "RTN","SDEC1",42,0) SAVEVVSID(RETURN,DFN,RESOURCE,APPT,VVSID) ;This RPC saves the VVS appointment ID in the SDEC APPOINTMENT file "RTN","SDEC1",43,0) D SAVEVVSID^SDECVVS(.RETURN,DFN,RESOURCE,APPT,VVSID) Q "RTN","SDEC1",44,0) SEQ(RE1,DF1,CL1,PDATE,RTYPE,SRR) ; RPC: SDEC CONTACT SEQUENCE "RTN","SDEC1",45,0) D SEQ^SDECCON(.RE1,DF1,CL1,PDATE,RTYPE,SRR) Q "RTN","SDEC1",46,0) SEQ1(RTU,REQT,RIEN) ; RPC: SDEC CONTACT SEQUENCE SINGLE "RTN","SDEC1",47,0) D SEQ1^SDECCON(.RTU,REQT,RIEN) Q "RTN","SDEC1",48,0) UPDATE(RTT,IEN,CONDT,CTYPE,COMM,DTEN) ; RPC: SDEC CONTACT UPDATE "RTN","SDEC1",49,0) D UPDATE^SDECCON(.RTT,IEN,CONDT,CTYPE,COMM,DTEN) Q "RTN","SDEC1",50,0) VVSPROSEARCH(VVSPROVIDERS,SEARCHSTRING) ;SEARCH PROVIDERS & GET DATA TO MAKE VIDEO VISIT SERVICE (VVS) APPT "RTN","SDEC1",51,0) D VVSPROSEARCH^SDECVVS(.VVSPROVIDERS,SEARCHSTRING) Q "RTN","SDEC1",52,0) ; "RTN","SDEC1",53,0) Q "RTN","SDEC51B") 0^1^B26110756^n/a "RTN","SDEC51B",1,0) SDEC51B ;ALB/LAB,ANU - VISTA SCHEDULING RPCS ;APR 12, 2021@14:39 "RTN","SDEC51B",2,0) ;;5.3;Scheduling;**784**;Aug 13, 1993;Build 8 "RTN","SDEC51B",3,0) ; "RTN","SDEC51B",4,0) ; Documented API's and Integration Agreements "RTN","SDEC51B",5,0) ; ------------------------------------------- "RTN","SDEC51B",6,0) ; 4837 GMR(123 "RTN","SDEC51B",7,0) ; 4557 GMR(123.5 "RTN","SDEC51B",8,0) ; 6185 GMR(123 "RTN","SDEC51B",9,0) ; 2056 $$GETS^DIQ,$$GETS1^DIQ "RTN","SDEC51B",10,0) ; 2638 ORD(100.01 "RTN","SDEC51B",11,0) Q "RTN","SDEC51B",12,0) ; "RTN","SDEC51B",13,0) CONSLIST(SDECY,DFN) ;Return a list of ACTIVE or PENDING CONSULTS for patient "RTN","SDEC51B",14,0) ;INPUT - DFN (Date File Number) Pointer to PATIENT (#2) File. "RTN","SDEC51B",15,0) ;RETURN PARMETER: "RTN","SDEC51B",16,0) ; List of consults in ACTIVE or PENDING CPRS STATUS. Data is delimited by "RTN","SDEC51B",17,0) ; carat (^). "RTN","SDEC51B",18,0) ; Field List: "RTN","SDEC51B",19,0) ; (1) Internal IEN "RTN","SDEC51B",20,0) ; (2) Request Type "RTN","SDEC51B",21,0) ; (3) File Entry Date "RTN","SDEC51B",22,0) ; (4) To Service/Specialty "RTN","SDEC51B",23,0) ; (5) Clinic IEN "RTN","SDEC51B",24,0) ; (6) Clinic Name "RTN","SDEC51B",25,0) ; (7) Date of Request "RTN","SDEC51B",26,0) ; (8) URGENCY name or Earliest date "RTN","SDEC51B",27,0) ; (9) Provider IEN "RTN","SDEC51B",28,0) ; (10) Provider Name "RTN","SDEC51B",29,0) ; (11) Service Rendered as in or outpatient "RTN","SDEC51B",30,0) ; (12) Request processing activity "RTN","SDEC51B",31,0) ; (13) Associated Stop Code "RTN","SDEC51B",32,0) ; (14) Prohibited Clinic Flag "RTN","SDEC51B",33,0) ; (15) Clinic indicated Date "RTN","SDEC51B",34,0) ; (16) # of Phone contacts "RTN","SDEC51B",35,0) ; (17) Date of Last Letter "RTN","SDEC51B",36,0) ; (18) Covid Priority "RTN","SDEC51B",37,0) ; "RTN","SDEC51B",38,0) N ACTIVE,PENDING,ERRPOP,ERRMSG,SDECI,SDTMP "RTN","SDEC51B",39,0) S SDECI=$G(SDECI,0) "RTN","SDEC51B",40,0) D INIT "RTN","SDEC51B",41,0) D VALIDATE "RTN","SDEC51B",42,0) I ERRPOP D ERR1^SDECERR(-1,ERRMSG,.SDECI,SDECY) Q "RTN","SDEC51B",43,0) D SELCONS ;select "open" consults "RTN","SDEC51B",44,0) D EXIT "RTN","SDEC51B",45,0) Q "RTN","SDEC51B",46,0) ; "RTN","SDEC51B",47,0) INIT ; "RTN","SDEC51B",48,0) K ^TMP("SDEC51B",$J) "RTN","SDEC51B",49,0) S SDECY="^TMP(""SDEC51B"","_$J_")" "RTN","SDEC51B",50,0) S ACTIVE=$O(^ORD(100.01,"B","ACTIVE",0)) "RTN","SDEC51B",51,0) S PENDING=$O(^ORD(100.01,"B","PENDING",0)) "RTN","SDEC51B",52,0) S ERRPOP=0,SDECI=0,ERRMSG="" "RTN","SDEC51B",53,0) ; data header "RTN","SDEC51B",54,0) D HDR "RTN","SDEC51B",55,0) Q "RTN","SDEC51B",56,0) ; "RTN","SDEC51B",57,0) VALIDATE ; "RTN","SDEC51B",58,0) ;*Add validation of DFN "RTN","SDEC51B",59,0) I '(+DFN) D "RTN","SDEC51B",60,0) .;create error message - DFN required "RTN","SDEC51B",61,0) .S ERRMSG="DFN required. " "RTN","SDEC51B",62,0) .S ERRPOP=1 "RTN","SDEC51B",63,0) I '$D(^DPT(DFN,0)) D "RTN","SDEC51B",64,0) .;create error - Invalid DFN "RTN","SDEC51B",65,0) .S ERRMSG="Invalid DFN" "RTN","SDEC51B",66,0) .S ERRPOP=1 "RTN","SDEC51B",67,0) Q "RTN","SDEC51B",68,0) ; "RTN","SDEC51B",69,0) HDR ;Get the header information "RTN","SDEC51B",70,0) ; "RTN","SDEC51B",71,0) ; Consult IEN^Request Type^ORIGDT^TO Service^CLINIEN^CLINNAME^Date of Request "RTN","SDEC51B",72,0) ; Prio^Provider IEN^Provider Name^Service Rendered As "RTN","SDEC51B",73,0) ; Req_Proc_Act^Stop^PRHBLOC^Earliest "RTN","SDEC51B",74,0) ; CPHONE^CLET^Covid_Priority "RTN","SDEC51B",75,0) ; 1 2 3 4 "RTN","SDEC51B",76,0) S SDTMP="T00020CONSULTIEN^T00020REQTYPE^T00020ORIGDT^T00030TO_SERVICE" "RTN","SDEC51B",77,0) ; 5 6 7 8 "RTN","SDEC51B",78,0) S SDTMP=SDTMP_"^T00010CLINIEN^T00030CLINNAME^T00030DATE_OF_REQUEST^T00030PRIO" "RTN","SDEC51B",79,0) ; 9 10 11 "RTN","SDEC51B",80,0) S SDTMP=SDTMP_"^T00030PROVIEN^T00030PROVNAME^T00030SERVICE_RENDERED_AS" "RTN","SDEC51B",81,0) ; 12 13 14 15 16 1 "RTN","SDEC51B",82,0) S SDTMP=SDTMP_"^T00100STOP^T00030PRHBLOC^T00030EARLIEST^T00030CPHONE^T00030CLET^T00030COVID_PRIORITY" "RTN","SDEC51B",83,0) S @SDECY@(SDECI)=SDTMP_$C(30) "RTN","SDEC51B",84,0) Q "RTN","SDEC51B",85,0) SELCONS ;selection all open consults - those consults in PENDING and ACTIVE status "RTN","SDEC51B",86,0) N SDCONSID,CPRSSTAT,SDURGEN,SDREQTYPE,STOP,SIEN,SDTOSVC,PRHBLOC,COVPRIORITY,IFCSTAT "RTN","SDEC51B",87,0) N SDORIGDT,SDTOSVC,SDTOSVCI,SDCLIEN,SDCLNAME,SDDOREQ,SDPRIO,SDPRIEN,SDPRNAME,SDSRA,SDCOMM,SDSTOP "RTN","SDEC51B",88,0) N SDCONLET,SDCONTACT,SDEARLI,SDLET "RTN","SDEC51B",89,0) S SDCONSID="" "RTN","SDEC51B",90,0) F S SDCONSID=$O(^GMR(123,"F",DFN,SDCONSID)) Q:SDCONSID="" D "RTN","SDEC51B",91,0) .S CPRSSTAT=$$GET1^DIQ(123,SDCONSID,8,"I") "RTN","SDEC51B",92,0) .S IFCSTAT=$$GET1^DIQ(123,SDCONSID,.125,"I") "RTN","SDEC51B",93,0) .I (IFCSTAT'="P")&((CPRSSTAT=ACTIVE)!(CPRSSTAT=PENDING)) D "RTN","SDEC51B",94,0) ..D ASSIGNINFO "RTN","SDEC51B",95,0) ..D BLDREC "RTN","SDEC51B",96,0) ; "RTN","SDEC51B",97,0) Q "RTN","SDEC51B",98,0) ; "RTN","SDEC51B",99,0) ASSIGNINFO ; "RTN","SDEC51B",100,0) K SDCONSARR,SDARRERR "RTN","SDEC51B",101,0) D GETS^DIQ(123,SDCONSID,".01;.05;1;2;3;5;10;13;14;17","IE","SDCONSARR","SDARRERR") "RTN","SDEC51B",102,0) S SDORIGDT=$G(SDCONSARR(123,SDCONSID_",",.01,"I")) "RTN","SDEC51B",103,0) S SDTOSVC=$G(SDCONSARR(123,SDCONSID_",",1,"E")) "RTN","SDEC51B",104,0) S SDTOSVCI=$G(SDCONSARR(123,SDCONSID_",",1,"I")) "RTN","SDEC51B",105,0) S SDCLIEN=$G(SDCONSARR(123,SDCONSID_",",2,"I")) S:SDCLIEN="" SDCLIEN=$G(SDCONSARR(123,SDCONSID_",",.05,"I")) "RTN","SDEC51B",106,0) S SDCLNAME=$G(SDCONSARR(123,SDCONSID_",",2,"E")) S:SDCLNAME="" SDCLNAME=$G(SDCONSARR(123,SDCONSID_",",.05)) "RTN","SDEC51B",107,0) S SDDOREQ=$G(SDCONSARR(123,SDCONSID_",",3,"I")) "RTN","SDEC51B",108,0) S SDREQTYPE=$G(SDCONSARR(123,SDCONSID_",",13,"E")) "RTN","SDEC51B",109,0) S SDPRIO=$$PRIO^SDEC51A(SDCONSID) "RTN","SDEC51B",110,0) S SDPRIEN=$G(SDCONSARR(123,SDCONSID_",",10,"I")) "RTN","SDEC51B",111,0) S SDPRNAME=$G(SDCONSARR(123,SDCONSID_",",10,"E")) "RTN","SDEC51B",112,0) S SDSRA=$G(SDCONSARR(123,SDCONSID_",",14,"E")) "RTN","SDEC51B",113,0) S SDEARLI=$G(SDCONSARR(123,SDCONSID_",",17,"I")) "RTN","SDEC51B",114,0) S SDSTOP="",STOP="" "RTN","SDEC51B",115,0) I +SDTOSVCI D "RTN","SDEC51B",116,0) .S SIEN=0 F S SIEN=$O(^GMR(123.5,SDTOSVCI,688,SIEN)) Q:'+SIEN D "RTN","SDEC51B",117,0) ..S STOP=$$GET1^DIQ(123.5688,SIEN_","_SDTOSVCI_",",.01,"I") ;ICR 4557 "RTN","SDEC51B",118,0) ..I SDSTOP="" S SDSTOP=STOP "RTN","SDEC51B",119,0) ..E S SDSTOP=SDSTOP_"|"_STOP "RTN","SDEC51B",120,0) S PRHBLOC=$S($$GET1^DIQ(44,+SDCLIEN_",",2500,"I")="Y":1,1:0) "RTN","SDEC51B",121,0) S SDCONLET=$$CALLCON^SDECAR1A(DFN,SDCONSID) ; SDECALL_U_SDECLET # OF CALLS MADE^DATE LAST LETTER SENT "RTN","SDEC51B",122,0) S SDCONTACT=$P(SDCONLET,U,1) "RTN","SDEC51B",123,0) S SDLET=$P(SDCONLET,U,2) "RTN","SDEC51B",124,0) S COVPRIORITY=$$PRIORITY^SDEC51(SDCONSID) ; Get covid priority "RTN","SDEC51B",125,0) Q "RTN","SDEC51B",126,0) ; "RTN","SDEC51B",127,0) BLDREC ;build consult record "RTN","SDEC51B",128,0) ; "RTN","SDEC51B",129,0) ; Consult IEN^Request Type^ORIGDT^TO Service^CLINIEN^CLINNAME^Date of Request "RTN","SDEC51B",130,0) S SDTMP=SDCONSID_U_SDREQTYPE_U_SDORIGDT_U_SDTOSVC_U_SDCLIEN_U_SDCLNAME_U_SDDOREQ "RTN","SDEC51B",131,0) ; Prio^Provider IEN^Provider Name^Service Rendered As "RTN","SDEC51B",132,0) S SDTMP=SDTMP_U_SDPRIO_U_SDPRIEN_U_SDPRNAME_U_SDSRA "RTN","SDEC51B",133,0) ; Req_Proc_Act^Stop^PRHBLOC^Earliest "RTN","SDEC51B",134,0) S SDTMP=SDTMP_U_SDSTOP_U_PRHBLOC_U_SDEARLI "RTN","SDEC51B",135,0) ; CPHONE^CLET^Covid_Priority "RTN","SDEC51B",136,0) S SDTMP=SDTMP_U_SDCONTACT_U_SDLET_U_COVPRIORITY "RTN","SDEC51B",137,0) S SDECI=SDECI+1 S ^TMP("SDEC51B",$J,SDECI)=SDTMP_$C(30) "RTN","SDEC51B",138,0) Q "RTN","SDEC51B",139,0) ; "RTN","SDEC51B",140,0) EXIT ; "RTN","SDEC51B",141,0) I SDECI=0 D "RTN","SDEC51B",142,0) . S SDECI=SDECI+1 "RTN","SDEC51B",143,0) . S ^TMP("SDEC51B",$J,SDECI)=0_$C(30) "RTN","SDEC51B",144,0) S ^TMP("SDEC51B",$J,SDECI)=^TMP("SDEC51B",$J,SDECI)_$C(31) "RTN","SDEC51B",145,0) Q "RTN","SDEC51B",146,0) ; "RTN","SDEC52C") 0^2^B16825874^n/a "RTN","SDEC52C",1,0) SDEC52C ;ALB/BLB - VISTA SCHEDULING RPCS ;APR 14, 2021@10:48 "RTN","SDEC52C",2,0) ;;5.3;Scheduling;**784**;Aug 13, 1993;Build 8 "RTN","SDEC52C",3,0) ; "RTN","SDEC52C",4,0) ;Reference is made to ICR #10035 "RTN","SDEC52C",5,0) Q "RTN","SDEC52C",6,0) ; "RTN","SDEC52C",7,0) RECGET(SDECY,DFN) ;Return a list of OPEN recall appointment types for patient "RTN","SDEC52C",8,0) ;INPUT - DFN (Date File Number) Pointer to PATIENT (#2) File. "RTN","SDEC52C",9,0) ;RETURN PARMETER: "RTN","SDEC52C",10,0) ;List of recalls associated with a given patient "RTN","SDEC52C",11,0) ;Data is delimited by carat (^). "RTN","SDEC52C",12,0) ; Field List: "RTN","SDEC52C",13,0) ; (1) Internal IEN "RTN","SDEC52C",14,0) ; (2) Accession # "RTN","SDEC52C",15,0) ; (3) Comment "RTN","SDEC52C",16,0) ; (4) Fast/Non-Fasting "RTN","SDEC52C",17,0) ; (5) Test/App "RTN","SDEC52C",18,0) ; (6) Provider IEN "RTN","SDEC52C",19,0) ; (7) Provider Name "RTN","SDEC52C",20,0) ; (8) Clinic IEN "RTN","SDEC52C",21,0) ; (9) Clinic Name "RTN","SDEC52C",22,0) ; (10) Length of Appointment "RTN","SDEC52C",23,0) ; (11) Recall Date "RTN","SDEC52C",24,0) ; (12) Recall Date (Per Patient) "RTN","SDEC52C",25,0) ; (13) Date Reminder Sent "RTN","SDEC52C",26,0) ; (14) Second Print "RTN","SDEC52C",27,0) ; (15) Date/Time Recall Added "RTN","SDEC52C",28,0) ; (16) GAF Score "RTN","SDEC52C",29,0) ; (17) Patient Sensitive & Record Access Checks "RTN","SDEC52C",30,0) ; (18) Similar Patient Data "RTN","SDEC52C",31,0) ; (19) Number of Call Attempts "RTN","SDEC52C",32,0) ; (20) Recall Reminders Letter Date "RTN","SDEC52C",33,0) ; "RTN","SDEC52C",34,0) N ERR,IEN,NUM,F,IENS,ACCESION,COMM,FASTING,RRAPPTYP,RRPROVIEN,PROVNAME,CLINIEN,SDTMP,NUM,SDECI "RTN","SDEC52C",35,0) N CLINNAME,APPTLEN,DATE,DATE1,DAPTDT,DATE2,DATE3,MSGTYP,GAF,SENSITIVE,SIMILAR,SDREC,CPHONE,CLET "RTN","SDEC52C",36,0) D INIT ; initialize variables/ build header "RTN","SDEC52C",37,0) I '$D(^DPT(DFN,0)) S NUM=NUM+1 D NODATA("PATIENT") Q ; send error and quit if patient does not exist "RTN","SDEC52C",38,0) I '$D(^SD(403.5,"B",DFN)) S NUM=NUM+1 D NODATA("RECALL") Q ; send error and quit if patient has no entry in the RECALL REMINDERS File (403.5) "RTN","SDEC52C",39,0) F S IEN=$O(^SD(403.5,"B",DFN,IEN)) Q:IEN="" D "RTN","SDEC52C",40,0) .D RECDATA(DFN,IEN) ; build out recall data "RTN","SDEC52C",41,0) .D PATDATA(DFN,IEN) ; build out required patient data "RTN","SDEC52C",42,0) .D BUILDER ; build return "RTN","SDEC52C",43,0) S ^TMP("SDEC52C",$J,"RECGET",NUM)=^TMP("SDEC52C",$J,"RECGET",NUM)_$C(31) "RTN","SDEC52C",44,0) Q "RTN","SDEC52C",45,0) BUILDER ; "RTN","SDEC52C",46,0) S NUM=NUM+1 "RTN","SDEC52C",47,0) S SDTMP=IEN_U_ACCESION_U_COMM_U_FASTING_U_RRAPPTYP_U_RRPROVIEN_U_PROVNAME_U_CLINIEN_U_CLINNAME_U_APPTLEN_U_DATE_U_DATE1 "RTN","SDEC52C",48,0) ; internal IEN^accession^comment^fast/nonfasting^test/app^provider IEN^provider name^clinic IEN^clinic name^length of appt^recall date^recall date(per patient) "RTN","SDEC52C",49,0) S SDTMP=SDTMP_U_DAPTDT_U_DATE2_U_DATE3_U_GAF_U_SENSITIVE_U_SIMILAR_U_CPHONE_U_CLET "RTN","SDEC52C",50,0) ; date reminder sent^second print^date/time recall added^GAF score^patient sensitive^similar patient data^# call attempts^recall reminders letter date "RTN","SDEC52C",51,0) S ^TMP("SDEC52C",$J,"RECGET",NUM)=SDTMP_$C(30) "RTN","SDEC52C",52,0) Q "RTN","SDEC52C",53,0) INIT ; "RTN","SDEC52C",54,0) S DFN=$G(DFN) "RTN","SDEC52C",55,0) S ERR=0,IEN=0,NUM=0 "RTN","SDEC52C",56,0) S SDECY="^TMP(""SDEC52C"","_$J_",""RECGET"")" "RTN","SDEC52C",57,0) K ^TMP("SDEC52C",$J,"RECGET") "RTN","SDEC52C",58,0) S SDTMP="T00030IEN^T00030ACCESION^T00030COMM^T00030FASTING^T00030RRAPPTYP^T00030RRPROVIEN" "RTN","SDEC52C",59,0) S SDTMP=SDTMP_"^T00030PROVNAME^T00030CLINIEN^T00030CLINNAME^T00030APPTLEN^T00030DATE" "RTN","SDEC52C",60,0) S SDTMP=SDTMP_"^T00030DATE1^T00030DAPTDT^T00030DATE2^T00030DATE3^T00030GAF^T00030SENSITIVE" "RTN","SDEC52C",61,0) S SDTMP=SDTMP_"^T00030SIMILAR^T00030CPHONE^T00030CLET" "RTN","SDEC52C",62,0) S ^TMP("SDEC52C",$J,"RECGET",NUM)=SDTMP_$C(30) "RTN","SDEC52C",63,0) Q "RTN","SDEC52C",64,0) RECDATA(DFN,IEN) ; "RTN","SDEC52C",65,0) N RECARY "RTN","SDEC52C",66,0) D GETS^DIQ(403.5,IEN,"**","IE","RECARY","SDMSG") "RTN","SDEC52C",67,0) S F=403.5 "RTN","SDEC52C",68,0) S IENS=IEN_"," "RTN","SDEC52C",69,0) S ACCESION=$G(RECARY(F,IENS,2,"E")) "RTN","SDEC52C",70,0) S COMM=$G(RECARY(F,IENS,2.5,"E")) "RTN","SDEC52C",71,0) S FASTING=$G(RECARY(F,IENS,2.6,"I")) "RTN","SDEC52C",72,0) S RRAPPTYP=$G(RECARY(F,IENS,3,"I")) "RTN","SDEC52C",73,0) S RRPROVIEN=$G(RECARY(F,IENS,4,"I")) "RTN","SDEC52C",74,0) S PROVNAME=$G(RECARY(F,IENS,4,"E")) "RTN","SDEC52C",75,0) S CLINIEN=$G(RECARY(F,IENS,4.5,"I")) "RTN","SDEC52C",76,0) S CLINNAME=$G(RECARY(F,IENS,4.5,"E")) "RTN","SDEC52C",77,0) S APPTLEN=$G(RECARY(F,IENS,4.7,"E")) "RTN","SDEC52C",78,0) S DATE=$G(RECARY(F,IENS,5,"I")) S DATE=$$FMTE^XLFDT(DATE) "RTN","SDEC52C",79,0) S DATE1=$G(RECARY(F,IENS,5.5,"I")) S DATE1=$$FMTE^XLFDT(DATE1) "RTN","SDEC52C",80,0) S DAPTDT=$G(RECARY(F,IENS,6,"I")) S DAPTDT=$$FMTE^XLFDT(DAPTDT) "RTN","SDEC52C",81,0) S DATE2=$G(RECARY(F,IENS,8,"I")) S DATE2=$$FMTE^XLFDT(DATE2) "RTN","SDEC52C",82,0) S DATE3=$G(RECARY(403.5,IENS,7.5,"E")) S DATE3=$$FMTE^XLFDT(DATE3) "RTN","SDEC52C",83,0) Q "RTN","SDEC52C",84,0) PATDATA(DFN,IEN) ; "RTN","SDEC52C",85,0) S GAF=$$GAF^SDECU2(DFN) "RTN","SDEC52C",86,0) S SENSITIVE=$$PTSEC^SDECUTL(DFN) "RTN","SDEC52C",87,0) S SIMILAR=$$SIM^SDECU3(DFN) "RTN","SDEC52C",88,0) S SDREC=$$RECALL^SDECAR1A(DFN,IEN),CPHONE=$P(SDREC,U),CLET=$P(SDREC,U,2) "RTN","SDEC52C",89,0) Q "RTN","SDEC52C",90,0) NODATA(MSGTYP) ;differentiate between error messages based on NO recall data, patient data, invalid recall IEN, and invalid patient DFN "RTN","SDEC52C",91,0) I MSGTYP="RECALL" D ERR1^SDECERR(-1,"No recall associated with this patient.",NUM,SDECY) Q "RTN","SDEC52C",92,0) ; checking for entry in recall reminder file "RTN","SDEC52C",93,0) I MSGTYP="PATIENT" D ERR1^SDECERR(-1,"Invalid Patient ID.",NUM,SDECY) Q "RTN","SDEC52C",94,0) ; checking for entry in patient file "RTN","SDEC52C",95,0) Q "RTN","SDEC52CJSON") 0^7^B14945210^n/a "RTN","SDEC52CJSON",1,0) SDEC52CJSON ;ALB/BLB - VISTA SCHEDULING RPCS ;APR 14, 2021@10:48 "RTN","SDEC52CJSON",2,0) ;;5.3;Scheduling;**784**;Aug 13, 1993;Build 8 "RTN","SDEC52CJSON",3,0) ; "RTN","SDEC52CJSON",4,0) ;Reference is made to ICR #10035 "RTN","SDEC52CJSON",5,0) Q "RTN","SDEC52CJSON",6,0) ; "RTN","SDEC52CJSON",7,0) RECGETJSON(SDECY,DFN) ;Return a list of OPEN recall appointment types for patient "RTN","SDEC52CJSON",8,0) ;INPUT - DFN (Date File Number) Pointer to PATIENT (#2) File. "RTN","SDEC52CJSON",9,0) ;RETURN PARMETER: "RTN","SDEC52CJSON",10,0) ;List of recalls associated with a given patient "RTN","SDEC52CJSON",11,0) ;Data is delimited by carat (^). "RTN","SDEC52CJSON",12,0) ; Field List: "RTN","SDEC52CJSON",13,0) ; (1) Internal IEN "RTN","SDEC52CJSON",14,0) ; (2) Accession # "RTN","SDEC52CJSON",15,0) ; (3) Comment "RTN","SDEC52CJSON",16,0) ; (4) Fast/Non-Fasting "RTN","SDEC52CJSON",17,0) ; (5) Test/App "RTN","SDEC52CJSON",18,0) ; (6) Provider IEN "RTN","SDEC52CJSON",19,0) ; (7) Provider Name "RTN","SDEC52CJSON",20,0) ; (8) Clinic IEN "RTN","SDEC52CJSON",21,0) ; (9) Clinic Name "RTN","SDEC52CJSON",22,0) ; (10) Length of Appointment "RTN","SDEC52CJSON",23,0) ; (11) Recall Date "RTN","SDEC52CJSON",24,0) ; (12) Recall Date (Per Patient) "RTN","SDEC52CJSON",25,0) ; (13) Date Reminder Sent "RTN","SDEC52CJSON",26,0) ; (14) Second Print "RTN","SDEC52CJSON",27,0) ; (15) Date/Time Recall Added "RTN","SDEC52CJSON",28,0) ; (16) GAF Score "RTN","SDEC52CJSON",29,0) ; (17) Patient Sensitive & Record Access Checks "RTN","SDEC52CJSON",30,0) ; (18) Similar Patient Data "RTN","SDEC52CJSON",31,0) ; (19) Number of Call Attempts "RTN","SDEC52CJSON",32,0) ; (20) Recall Reminders Letter Date "RTN","SDEC52CJSON",33,0) ; "RTN","SDEC52CJSON",34,0) N SDRECALL,IEN,NUM,ERR,IENS "RTN","SDEC52CJSON",35,0) S DFN=$G(DFN) "RTN","SDEC52CJSON",36,0) S ERR=0,IEN=0,NUM=0 "RTN","SDEC52CJSON",37,0) ;S SDECY="^TMP(""SDEC52CJSON"","_$J_",""RECGETJSON"")" "RTN","SDEC52CJSON",38,0) ;K ^TMP("SDEC52CJSON",$J,"RECGETJSON") "RTN","SDEC52CJSON",39,0) I '$D(^DPT(DFN,0)) S NUM=NUM+1 D NODATA("PATIENT") Q "RTN","SDEC52CJSON",40,0) I '$D(^SD(403.5,"B",DFN)) S NUM=NUM+1 D NODATA("RECALL") Q "RTN","SDEC52CJSON",41,0) F S IEN=$O(^SD(403.5,"B",DFN,IEN)) Q:IEN="" D "RTN","SDEC52CJSON",42,0) .S NUM=NUM+1 "RTN","SDEC52CJSON",43,0) .D RECDATA(DFN,IEN) "RTN","SDEC52CJSON",44,0) .D PATDATA(DFN,IEN) "RTN","SDEC52CJSON",45,0) .D BUILDER "RTN","SDEC52CJSON",46,0) Q "RTN","SDEC52CJSON",47,0) RECDATA(DFN,IEN) ; "RTN","SDEC52CJSON",48,0) N F,DAPTDT,DATE,DATE1,DATE2,DATE3,RECARY "RTN","SDEC52CJSON",49,0) D GETS^DIQ(403.5,IEN,"**","IE","RECARY","SDMSG") "RTN","SDEC52CJSON",50,0) S F=403.5 "RTN","SDEC52CJSON",51,0) S IENS=IEN_"," "RTN","SDEC52CJSON",52,0) S SDRECALL("Recall",NUM,"Recall IEN")=IEN "RTN","SDEC52CJSON",53,0) S SDRECALL("Recall",NUM,"Accession #")=$G(RECARY(F,IENS,2,"E")) "RTN","SDEC52CJSON",54,0) S SDRECALL("Recall",NUM,"Comment")=$G(RECARY(F,IENS,2.5,"E")) "RTN","SDEC52CJSON",55,0) S SDRECALL("Recall",NUM,"Fasting/Non-Fasting")=$G(RECARY(F,IENS,2.6,"I")) "RTN","SDEC52CJSON",56,0) S SDRECALL("Recall",NUM,"Test/App.")=$G(RECARY(F,IENS,3,"I")) "RTN","SDEC52CJSON",57,0) S SDRECALL("Recall",NUM,"Provider IEN")=$G(RECARY(F,IENS,4,"I")) "RTN","SDEC52CJSON",58,0) S SDRECALL("Recall",NUM,"Provider Name")=$G(RECARY(F,IENS,4,"E")) "RTN","SDEC52CJSON",59,0) S SDRECALL("Recall",NUM,"Clinic IEN")=$G(RECARY(F,IENS,4.5,"I")) "RTN","SDEC52CJSON",60,0) S SDRECALL("Recall",NUM,"Clinic Name")=$G(RECARY(F,IENS,4.5,"E")) "RTN","SDEC52CJSON",61,0) S SDRECALL("Recall",NUM,"Appointment Length")=$G(RECARY(F,IENS,4.7,"E")) "RTN","SDEC52CJSON",62,0) S DATE=$G(RECARY(F,IENS,5,"I")) S DATE=$$FMTE^XLFDT(DATE) "RTN","SDEC52CJSON",63,0) S DATE1=$G(RECARY(F,IENS,5.5,"I")) S DATE1=$$FMTE^XLFDT(DATE1) "RTN","SDEC52CJSON",64,0) S DAPTDT=$G(RECARY(F,IENS,6,"I")) S DAPTDT=$$FMTE^XLFDT(DAPTDT) "RTN","SDEC52CJSON",65,0) S DATE2=$G(RECARY(F,IENS,8,"I")) S DATE2=$$FMTE^XLFDT(DATE2) "RTN","SDEC52CJSON",66,0) S DATE3=$G(RECARY(403.5,IENS,7.5,"E")) S DATE3=$$FMTE^XLFDT(DATE3) "RTN","SDEC52CJSON",67,0) S SDRECALL("Recall",NUM,"Recall Date")=DATE "RTN","SDEC52CJSON",68,0) S SDRECALL("Recall",NUM,"Recall Date (Per Patient")=DATE1 "RTN","SDEC52CJSON",69,0) S SDRECALL("Recall",NUM,"Date Reminder Sent")=DAPTDT "RTN","SDEC52CJSON",70,0) S SDRECALL("Recall",NUM,"Second Print")=DATE2 "RTN","SDEC52CJSON",71,0) S SDRECALL("Recall",NUM,"Date/Time Recall Added")=DATE3 "RTN","SDEC52CJSON",72,0) Q "RTN","SDEC52CJSON",73,0) PATDATA(DFN,IEN) ; "RTN","SDEC52CJSON",74,0) N SDREC "RTN","SDEC52CJSON",75,0) S SDRECALL("Recall",NUM,"GAF Score")=$$GAF^SDECU2(DFN) "RTN","SDEC52CJSON",76,0) S SDRECALL("Recall",NUM,"Patient Sensitive & Record Access Checks")=$$PTSEC^SDECUTL(DFN) "RTN","SDEC52CJSON",77,0) S SDRECALL("Recall",NUM,"Similar Patient Data")=$$SIM^SDECU3(DFN) "RTN","SDEC52CJSON",78,0) S SDREC=$$RECALL^SDECAR1A(DFN,IEN) "RTN","SDEC52CJSON",79,0) S SDRECALL("Recall",NUM,"Number of Call Attemps")=$P(SDREC,U) "RTN","SDEC52CJSON",80,0) S SDRECALL("Recall",NUM,"Recall Reminders Letter Date")=$P(SDREC,U,2) "RTN","SDEC52CJSON",81,0) Q "RTN","SDEC52CJSON",82,0) BUILDER ; "RTN","SDEC52CJSON",83,0) D ENCODE^XLFJSON("SDRECALL","SDECY","ERR") "RTN","SDEC52CJSON",84,0) Q "RTN","SDEC52CJSON",85,0) NODATA(MSGTYP) ;differentiate between error messages based on NO recall data, patient data, invalid recall IEN, and invalid patient DFN "RTN","SDEC52CJSON",86,0) I MSGTYP="RECALL" S SDRECALL("Recall",NUM,"Error")="No recall associated with this patient." D BUILDER Q "RTN","SDEC52CJSON",87,0) ; checking for entry in recall reminder file "RTN","SDEC52CJSON",88,0) I MSGTYP="PATIENT" S SDRECALL("Recall",NUM,"Error")="Invalid Patient ID." D BUILDER Q "RTN","SDEC52CJSON",89,0) ; checking for entry in patient file "RTN","SDEC52CJSON",90,0) Q "RTN","SDEC784P") 0^^B1887940^n/a "RTN","SDEC784P",1,0) SDEC784P ;ALB/DR/MGD/LEG - SD*5.3*784 Post Init Routine ; Apr 08, 2021@13:20 "RTN","SDEC784P",2,0) ;;5.3;SCHEDULING;**784**;AUG 13, 1993;Build 8 "RTN","SDEC784P",3,0) ; "RTN","SDEC784P",4,0) FIND ;FIND THE IEN FOR "VS GUI NATIONAL" "RTN","SDEC784P",5,0) N SDECDA,SDECDA1 "RTN","SDEC784P",6,0) W !!?3,"Updating SDEC SETTINGS file (#409.98)",!! "RTN","SDEC784P",7,0) S SDECDA=0,SDECDA=$O(^SDEC(409.98,"B","VS GUI NATIONAL",SDECDA)) G:$G(SDECDA)="" NOFIND "RTN","SDEC784P",8,0) D VERSION ;update GUI version number and date "RTN","SDEC784P",9,0) Q "RTN","SDEC784P",10,0) VERSION ;SET THE NEW VERSION UPDATE IN SDEC SETTING FILE #409.98 TO 1.7.5 "RTN","SDEC784P",11,0) S DA=SDECDA,DIE=409.98,DR="2///1.7.6;3///"_DT D ^DIE ;update VS GUI NATIONAL "RTN","SDEC784P",12,0) K DIE,DR,DA "RTN","SDEC784P",13,0) S SDECDA1=0,SDECDA1=$O(^SDEC(409.98,"B","VS GUI LOCAL",SDECDA1)) Q:$G(SDECDA1)="" ;get DA for the VS GUI LOCAL "RTN","SDEC784P",14,0) S DA=SDECDA1,DIE=409.98,DR="2///1.7.6;3///"_DT D ^DIE ;update VS GUI LOCAL "RTN","SDEC784P",15,0) K DIE,DR,DA "RTN","SDEC784P",16,0) Q "RTN","SDEC784P",17,0) ; "RTN","SDEC784P",18,0) NOFIND ;"VS GUI NATIONAL" NOT FOUND "RTN","SDEC784P",19,0) W !!?3,"VS GUI NATIONAL not found in the SDEC SETTINGS file (#409.98)" "RTN","SDEC784P",20,0) Q "RTN","SDECAR4") 0^4^B108530298^n/a "RTN","SDECAR4",1,0) SDECAR4 ;ALB/TAW - VISTA SCHEDULING RPCS ;April 14, 2021@10:55 "RTN","SDECAR4",2,0) ;;5.3;Scheduling;**784**;Aug 13, 1993;Build 8 "RTN","SDECAR4",3,0) ;;Per VHA Directive 2004-038, this routine should not be modified "RTN","SDECAR4",4,0) ; Reference to VALIDATE^SDECAR4 in ICR #10035 "RTN","SDECAR4",5,0) ; "RTN","SDECAR4",6,0) Q "RTN","SDECAR4",7,0) ; "RTN","SDECAR4",8,0) ; Get SDEC APPOINTMENT REQUEST for all entries in the user's Institution "RTN","SDECAR4",9,0) ; where the Current Status is not C(losed). "RTN","SDECAR4",10,0) ; "RTN","SDECAR4",11,0) ; This RPC differs from SDEC ARGET in that only appointment specific data is returned. "RTN","SDECAR4",12,0) ; "RTN","SDECAR4",13,0) ; The ARGETPAT and ARGETPATJSON entry points must must be kept in sync when passing in "RTN","SDECAR4",14,0) ; new parameters "RTN","SDECAR4",15,0) ; "RTN","SDECAR4",16,0) ARGETPATJSON(RET,DFN) ;Entry point to return JSON "RTN","SDECAR4",17,0) N FILT,APPT,ERR,JSON "RTN","SDECAR4",18,0) D JSONEP "RTN","SDECAR4",19,0) K RET "RTN","SDECAR4",20,0) S RET(1)="" "RTN","SDECAR4",21,0) D ENCODE^XLFJSON("APPT","RET","ERR") "RTN","SDECAR4",22,0) K ^TMP("SDECAR4",$J) "RTN","SDECAR4",23,0) Q "RTN","SDECAR4",24,0) ; "RTN","SDECAR4",25,0) ARGETPAT(RET,DFN) ;Appt Req GET. "RTN","SDECAR4",26,0) ; SDEC PATIENT APP REQ GET (5702) "RTN","SDECAR4",27,0) ; ARGETPAT^SDEC1 "RTN","SDECAR4",28,0) ; "RTN","SDECAR4",29,0) ; RPC Description: "RTN","SDECAR4",30,0) ; Get appointment request details. This is similar to SDEC ARGET but it "RTN","SDECAR4",31,0) ; only returns Appt request specific data. "RTN","SDECAR4",32,0) ; "RTN","SDECAR4",33,0) ; INPUT "RTN","SDECAR4",34,0) ; DFN : [R] Patient ID pointer to PATIENT File (#2) "RTN","SDECAR4",35,0) ; "RTN","SDECAR4",36,0) ; OUTPUT "RTN","SDECAR4",37,0) ; See RPC file "RTN","SDECAR4",38,0) ; "RTN","SDECAR4",39,0) N FILE,APPT "RTN","SDECAR4",40,0) ; "RTN","SDECAR4",41,0) JSONEP ; "RTN","SDECAR4",42,0) ; "RTN","SDECAR4",43,0) D INIT(.RET,.FILT),HDR "RTN","SDECAR4",44,0) I $$VALIDATE(.RET,.FILT)=0 D EXIT Q "RTN","SDECAR4",45,0) D PROCESS(.RET,.FILT) "RTN","SDECAR4",46,0) D EXIT "RTN","SDECAR4",47,0) Q "RTN","SDECAR4",48,0) ; "RTN","SDECAR4",49,0) INIT(RET,FILT) ; Initalize any process specific variables "RTN","SDECAR4",50,0) ; "RTN","SDECAR4",51,0) N VAOSUSR "RTN","SDECAR4",52,0) S RET="^TMP(""SDECAR4"","_$J_")" "RTN","SDECAR4",53,0) K ^TMP("SDECAR4",$J) "RTN","SDECAR4",54,0) S FILT("SKIP STAT","C")="" ;Exclude closed requests "RTN","SDECAR4",55,0) S FILT("INDEX")="DFN^"_$G(DFN) "RTN","SDECAR4",56,0) Q "RTN","SDECAR4",57,0) ; "RTN","SDECAR4",58,0) VALIDATE(RET,FILT) ;Validata input params "RTN","SDECAR4",59,0) N VALID,DFN,COUNT "RTN","SDECAR4",60,0) S VALID=1 ;Assume all is good "RTN","SDECAR4",61,0) S COUNT=0 "RTN","SDECAR4",62,0) ; "RTN","SDECAR4",63,0) S DFN=$P(FILT("INDEX"),"^",2) "RTN","SDECAR4",64,0) I +DFN=0 S VALID=0 "RTN","SDECAR4",65,0) I +DFN>0,'$D(^DPT(DFN,0)) S VALID=0 ;This is a valid DFN "RTN","SDECAR4",66,0) I 'VALID D ERR1^SDECERR(-1,"Invalid Patient ID.",.COUNT,.RET) S APPT("Error",1,"Invalid Patient ID.")="" "RTN","SDECAR4",67,0) ; "RTN","SDECAR4",68,0) Q VALID "RTN","SDECAR4",69,0) ; "RTN","SDECAR4",70,0) PROCESS(RET,FILT) ; Loop over primary index "RTN","SDECAR4",71,0) N ARIEN,FNUM,COUNT "RTN","SDECAR4",72,0) S FNUM=$$FNUM^SDECAR,COUNT=0 "RTN","SDECAR4",73,0) ; "RTN","SDECAR4",74,0) S ARIEN=0 "RTN","SDECAR4",75,0) F S ARIEN=$O(^SDEC(409.85,"B",+DFN,ARIEN)) Q:ARIEN'>0 D ONEPAT(.RET,ARIEN,.COUNT,.FILT,FNUM) "RTN","SDECAR4",76,0) Q "RTN","SDECAR4",77,0) ; "RTN","SDECAR4",78,0) ONEPAT(RET,ARIEN,COUNT,FILT,FNUM) ; Process one patient "RTN","SDECAR4",79,0) N ARDATA,ARMSG "RTN","SDECAR4",80,0) I $$VALIDIEN(.FILT,FNUM)=0 Q ;Is this aapt request one that we are looking for "RTN","SDECAR4",81,0) D GETS^DIQ(FNUM,ARIEN,"**","IE","ARDATA","ARMSG") ;Get data for all field for this appt req "RTN","SDECAR4",82,0) D:$D(ARDATA)>1 BUILDREC(.RET,ARIEN,.COUNT,.ARDATA,FNUM) "RTN","SDECAR4",83,0) Q "RTN","SDECAR4",84,0) ; "RTN","SDECAR4",85,0) VALIDIEN(FILT,FNUM) ;Validate the appointment request "RTN","SDECAR4",86,0) N VALID,ARSTAT "RTN","SDECAR4",87,0) S VALID=1 ;Assume this is a good record "RTN","SDECAR4",88,0) ; Is status for this request on the skip list "RTN","SDECAR4",89,0) I $D(FILT("SKIP STAT")) D "RTN","SDECAR4",90,0) .S ARSTAT=$$GET1^DIQ(409.85,ARIEN_",",23,"I") "RTN","SDECAR4",91,0) .I ARSTAT'="",$D(FILT("SKIP STAT",ARSTAT)) S VALID=0 "RTN","SDECAR4",92,0) I VALID,$$GET1^DIQ(409.85,ARIEN_",",.01,"I")="" S VALID=0 ;Missing DFN "RTN","SDECAR4",93,0) Q VALID "RTN","SDECAR4",94,0) ; "RTN","SDECAR4",95,0) BUILDREC(RET,ARIEN,COUNT,ARDATA,FNUM) ; Build an output record "RTN","SDECAR4",96,0) N ARSTAT,DFN,SDPS,SDCLY,ARORIGDT,SDI,STR,SDCL,CALLLETTER,I,X,VAR,SUBCNT "RTN","SDECAR4",97,0) N ARINST,ARINSTNM,ARTYPE,VAOSGUID,ARSTOP,ARSTOPN,ARCLIEN,ARCLNAME,APPTYPE,ARUSER,ARUSRNM "RTN","SDECAR4",98,0) N AREDT,ARPRIO,ARENPRI,ARREQBY,ARPROV,ARPROVNM,ARSDOA,ARSDOA,ARDAM,ARCLERK,ARCLERKN,ARASD,ARSDOA "RTN","SDECAR4",99,0) N ARCLERK,ARCLERKN,ARDAM,ARSVCCON,ARDAPTDT,ARCOMM,ARMAR,ARMAI,ARMAN,ARPC,ARDISPD,ARDISPU,ARDISPUN "RTN","SDECAR4",100,0) N APPTPTRS,CHILDREN,ARMRTC,SDPARENT,SDMTRC "RTN","SDECAR4",101,0) S ARORIGDT=ARDATA(FNUM,ARIEN_",",1,"I") "RTN","SDECAR4",102,0) S ARSTAT=ARDATA(FNUM,ARIEN_",",23,"I") "RTN","SDECAR4",103,0) S DFN=ARDATA(FNUM,ARIEN_",",.01,"I") "RTN","SDECAR4",104,0) S SDPS=ARDATA(FNUM,ARIEN_",",.02,"E") "RTN","SDECAR4",105,0) S SDCL=ARDATA(FNUM,ARIEN_",",8,"I") "RTN","SDECAR4",106,0) S ARINST=ARDATA(FNUM,ARIEN_",",2,"I") "RTN","SDECAR4",107,0) S ARINSTNM=ARDATA(FNUM,ARIEN_",",2,"E") "RTN","SDECAR4",108,0) S ARTYPE=ARDATA(FNUM,ARIEN_",",4,"I") "RTN","SDECAR4",109,0) S ARCLIEN=ARDATA(FNUM,ARIEN_",",8,"I") "RTN","SDECAR4",110,0) S ARSTOP=ARDATA(FNUM,ARIEN_",",8.5,"I") "RTN","SDECAR4",111,0) S ARSTOPN=ARDATA(FNUM,ARIEN_",",8.5,"E") "RTN","SDECAR4",112,0) S ARCLNAME=ARDATA(FNUM,ARIEN_",",8,"E") "RTN","SDECAR4",113,0) S APPTYPE=ARDATA(FNUM,ARIEN_",",8.7,"I") "RTN","SDECAR4",114,0) S ARUSER=ARDATA(FNUM,ARIEN_",",9,"I") "RTN","SDECAR4",115,0) S ARUSRNM=ARDATA(FNUM,ARIEN_",",9,"E") "RTN","SDECAR4",116,0) S AREDT=$G(ARDATA(FNUM,ARIEN_",",9.5,"E")) ;53 "RTN","SDECAR4",117,0) S ARPRIO=ARDATA(FNUM,ARIEN_",",10,"I") "RTN","SDECAR4",118,0) S ARENPRI=ARDATA(FNUM,ARIEN_",",10.5,"E") ;msc/sat "RTN","SDECAR4",119,0) S ARREQBY=ARDATA(FNUM,ARIEN_",",11,"I") "RTN","SDECAR4",120,0) S ARPROV=ARDATA(FNUM,ARIEN_",",12,"I") "RTN","SDECAR4",121,0) S ARPROVNM=ARDATA(FNUM,ARIEN_",",12,"E") "RTN","SDECAR4",122,0) S ARSDOA=ARDATA(FNUM,ARIEN_",",13,"I") ;scheduled date of appt "RTN","SDECAR4",123,0) ; Change date/time conversion so midnight is handled properly. wtc/pwc 694 1/7/2020 "RTN","SDECAR4",124,0) ; "RTN","SDECAR4",125,0) S ARSDOA=$$FMTONET^SDECDATE(ARSDOA,"N") ; "RTN","SDECAR4",126,0) S ARDAM=ARDATA(FNUM,ARIEN_",",13.1,"E") ;date appt. made "RTN","SDECAR4",127,0) S ARCLERK=ARDATA(FNUM,ARIEN_",",13.7,"I") ;appt clerk ien "RTN","SDECAR4",128,0) S ARCLERKN=ARDATA(FNUM,ARIEN_",",13.7,"E") ;appt clerk name "RTN","SDECAR4",129,0) S ARASD="" "RTN","SDECAR4",130,0) S:ARSDOA'="" $P(ARASD,"~~",1)=ARSDOA "RTN","SDECAR4",131,0) S:ARCLERK'="" $P(ARASD,"~~",12)=ARCLERK "RTN","SDECAR4",132,0) S:ARCLERKN'="" $P(ARASD,"~~",13)=ARCLERKN "RTN","SDECAR4",133,0) S:ARDAM'="" $P(ARASD,"~~",17)=ARDAM "RTN","SDECAR4",134,0) S ARSVCCON=ARDATA(FNUM,ARIEN_",",15,"E") "RTN","SDECAR4",135,0) S ARDAPTDT=ARDATA(FNUM,ARIEN_",",22,"I") "RTN","SDECAR4",136,0) S ARCOMM=ARDATA(FNUM,ARIEN_",",25,"I") "RTN","SDECAR4",137,0) S ARMAR=ARDATA(409.85,ARIEN_",",41,"E") "RTN","SDECAR4",138,0) S ARMAI=ARDATA(409.85,ARIEN_",",42,"E") "RTN","SDECAR4",139,0) S ARMAN=ARDATA(409.85,ARIEN_",",43,"E") "RTN","SDECAR4",140,0) S ARPC=$$WLPC^SDECAR1A(.ARDATA,ARIEN) "RTN","SDECAR4",141,0) S ARDISPD=ARDATA(FNUM,ARIEN_",",19,"E") "RTN","SDECAR4",142,0) S ARDISPU=ARDATA(FNUM,ARIEN_",",20,"I") "RTN","SDECAR4",143,0) S ARDISPUN=ARDATA(FNUM,ARIEN_",",20,"E") "RTN","SDECAR4",144,0) S APPTPTRS=$$GETAPPTS^SDECAR1A(ARIEN) "RTN","SDECAR4",145,0) S CHILDREN=$$CHILDREN^SDECAR1A(ARIEN) "RTN","SDECAR4",146,0) S ARMRTC=$$MRTC^SDECAR(ARIEN) "RTN","SDECAR4",147,0) S SDPARENT=ARDATA(FNUM,ARIEN_",",43.8,"I") "RTN","SDECAR4",148,0) ;Build string of RTC dates "RTN","SDECAR4",149,0) S (SDI,SDMTRC)="" "RTN","SDECAR4",150,0) F S SDI=$O(ARDATA(409.851,SDI)) Q:SDI="" S SDMTRC=$S(SDMTRC'="":SDMTRC_"|",1:"")_ARDATA(409.851,SDI,.01,"E") "RTN","SDECAR4",151,0) ; 1 2 3 4 5 6 "RTN","SDECAR4",152,0) S STR=DFN_U_ARIEN_U_ARORIGDT_U_ARINST_U_ARINSTNM_U_ARTYPE "RTN","SDECAR4",153,0) ; 7 8 9 10 11 12 13 "RTN","SDECAR4",154,0) S STR=STR_U_ARCLIEN_U_ARCLNAME_U_ARUSER_U_ARUSRNM_U_ARPRIO_U_ARREQBY_U_ARPROV "RTN","SDECAR4",155,0) ; 14 15 16 17 18 19 20 "RTN","SDECAR4",156,0) S STR=STR_U_ARPROVNM_U_ARDAPTDT_U_ARCOMM_U_ARENPRI_U_ARMAR_U_ARMAI_U_ARMAN "RTN","SDECAR4",157,0) ; 21 22 23 24 25 "RTN","SDECAR4",158,0) S STR=STR_U_ARPC_U_ARDISPD_U_ARDISPU_U_ARDISPUN_U_ARSVCCON "RTN","SDECAR4",159,0) ; 26 27 28 29 30 "RTN","SDECAR4",160,0) S STR=STR_U_AREDT_U_SDMTRC_U_ARSTOP_U_ARSTOPN_U_ARASD "RTN","SDECAR4",161,0) ; 31 32 33 34 35 36 "RTN","SDECAR4",162,0) S STR=STR_U_ARMRTC_U_APPTYPE_U_SDPS_U_APPTPTRS_U_CHILDREN_U_SDPARENT "RTN","SDECAR4",163,0) ;# OF CALLS MADE AND DATE LAST LETTER SENT "RTN","SDECAR4",164,0) S CALLLETTER=$$CALLET^SDECAR1A(DFN,ARIEN) "RTN","SDECAR4",165,0) S STR=STR_U_CALLLETTER "RTN","SDECAR4",166,0) ; "RTN","SDECAR4",167,0) S COUNT=COUNT+1 "RTN","SDECAR4",168,0) S ^TMP("SDECAR4",$J,COUNT)=STR_$C(30) "RTN","SDECAR4",169,0) ; "RTN","SDECAR4",170,0) S APPT("Appt Req",COUNT,"ApptReqIEN")=ARIEN "RTN","SDECAR4",171,0) S APPT("Appt Req",COUNT,"CreateDateI")=ARORIGDT "RTN","SDECAR4",172,0) S APPT("Appt Req",COUNT,"InstitutionI")=ARINST "RTN","SDECAR4",173,0) S APPT("Appt Req",COUNT,"InstitutionE")=ARINSTNM "RTN","SDECAR4",174,0) S APPT("Appt Req",COUNT,"RequestTypeI")=ARTYPE "RTN","SDECAR4",175,0) S APPT("Appt Req",COUNT,"ReqSpecificClinicI")=ARCLIEN "RTN","SDECAR4",176,0) S APPT("Appt Req",COUNT,"ReqSpecificClinicE")=ARCLNAME "RTN","SDECAR4",177,0) S APPT("Appt Req",COUNT,"OriginatingUserI")=ARUSER "RTN","SDECAR4",178,0) S APPT("Appt Req",COUNT,"OriginatingUserE")=ARUSRNM "RTN","SDECAR4",179,0) S APPT("Appt Req",COUNT,"PriorityI")=ARPRIO "RTN","SDECAR4",180,0) S APPT("Appt Req",COUNT,"RequestedByI")=ARREQBY "RTN","SDECAR4",181,0) S APPT("Appt Req",COUNT,"ProviderI")=ARPROV "RTN","SDECAR4",182,0) S APPT("Appt Req",COUNT,"ProviderE")=ARPROVNM "RTN","SDECAR4",183,0) S APPT("Appt Req",COUNT,"Cid/preferredDateOfApptI")=ARDAPTDT "RTN","SDECAR4",184,0) S APPT("Appt Req",COUNT,"CommentsI")=ARCOMM "RTN","SDECAR4",185,0) S APPT("Appt Req",COUNT,"EnrollmentPriorityE")=ARENPRI "RTN","SDECAR4",186,0) S APPT("Appt Req",COUNT,"MultipleAppointmentRtcE")=ARMAR "RTN","SDECAR4",187,0) S APPT("Appt Req",COUNT,"MultApptRtcIntervalE")=ARMAI "RTN","SDECAR4",188,0) S APPT("Appt Req",COUNT,"MultApptNumberE")=ARMAN "RTN","SDECAR4",189,0) S SUBCNT=0 "RTN","SDECAR4",190,0) F I=1:1:$L(ARPC,"::") D "RTN","SDECAR4",191,0) .S VAR=$P(ARPC,"::",I) "RTN","SDECAR4",192,0) .Q:VAR="" "RTN","SDECAR4",193,0) .S SUBCNT=SUBCNT+1 "RTN","SDECAR4",194,0) .S APPT("Appt Req",COUNT,"PatientContact",SUBCNT,"DateEnteredI")=$P(VAR,"~~",1) "RTN","SDECAR4",195,0) .S APPT("Appt Req",COUNT,"PatientContact",SUBCNT,"EnteredByUserI")=$P(VAR,"~~",2) "RTN","SDECAR4",196,0) .S APPT("Appt Req",COUNT,"PatientContact",SUBCNT,"EnteredByUserE")=$P(VAR,"~~",3) "RTN","SDECAR4",197,0) .S APPT("Appt Req",COUNT,"PatientContact",SUBCNT,"ActionE")=$P(VAR,"~~",4) "RTN","SDECAR4",198,0) .S APPT("Appt Req",COUNT,"PatientContact",SUBCNT,"PatientPhoneE")=$P(VAR,"~~",5) "RTN","SDECAR4",199,0) .Q "RTN","SDECAR4",200,0) S APPT("Appt Req",COUNT,"DateDispositionedE")=ARDISPD "RTN","SDECAR4",201,0) S APPT("Appt Req",COUNT,"DispositionedByI")=ARDISPU "RTN","SDECAR4",202,0) S APPT("Appt Req",COUNT,"DispositionedByE")=ARDISPUN "RTN","SDECAR4",203,0) S APPT("Appt Req",COUNT,"ServiceConnectedPriorityE")=ARSVCCON "RTN","SDECAR4",204,0) S APPT("Appt Req",COUNT,"Date/timeEnteredE")=AREDT "RTN","SDECAR4",205,0) S SUBCNT=0 "RTN","SDECAR4",206,0) F I=1:1:$L(SDMTRC,"|") D "RTN","SDECAR4",207,0) .S:$P(SDMTRC,"|",I)'="" APPT("Appt Req",COUNT,"ListOfRpcDates",$I(SUBCNT))=$P(SDMTRC,"|",I) "RTN","SDECAR4",208,0) S APPT("Appt Req",COUNT,"ReqService/specialtyI")=ARSTOP "RTN","SDECAR4",209,0) S APPT("Appt Req",COUNT,"ReqService/specialtyE")=ARSTOPN "RTN","SDECAR4",210,0) S APPT("Appt Req",COUNT,"ScheduledDateOfApptI")=ARSDOA "RTN","SDECAR4",211,0) S APPT("Appt Req",COUNT,"ApptClerkI")=ARCLERK "RTN","SDECAR4",212,0) S APPT("Appt Req",COUNT,"ApptClerkE")=ARCLERKN "RTN","SDECAR4",213,0) S APPT("Appt Req",COUNT,"DateApptMadeE")=ARDAM "RTN","SDECAR4",214,0) S APPT("Appt Req",COUNT,"CountOfRTCs")=ARMRTC ;Count of nodes in 43.3 sub file "RTN","SDECAR4",215,0) S APPT("Appt Req",COUNT,"ReqAppointmentTypeI")=APPTYPE "RTN","SDECAR4",216,0) S APPT("Appt Req",COUNT,"PatientStatusE")=SDPS "RTN","SDECAR4",217,0) S SUBCNT=0 "RTN","SDECAR4",218,0) F I=1:1:$L(APPTPTRS,"|") D "RTN","SDECAR4",219,0) .S VAR=$P(APPTPTRS,"|",I) "RTN","SDECAR4",220,0) .S:VAR'="" APPT("Appt Req",COUNT,"MultiApptRequestsParentI",$I(SUBCNT),"ARIEN")=VAR "RTN","SDECAR4",221,0) S SUBCNT=0 "RTN","SDECAR4",222,0) F I=1:1:$L(CHILDREN,"|") D "RTN","SDECAR4",223,0) .S VAR=$P(CHILDREN,"|",I) "RTN","SDECAR4",224,0) .S:VAR'="" APPT("Appt Req",COUNT,"MultiApptRequestsChildI",$I(SUBCNT),"ARIEN")=VAR "RTN","SDECAR4",225,0) S APPT("Appt Req",COUNT,"ParentRequestI")=SDPARENT "RTN","SDECAR4",226,0) S APPT("Appt Req",COUNT,"NumberOfCalls")=$P(CALLLETTER,"^",2) "RTN","SDECAR4",227,0) S APPT("Appt Req",COUNT,"DateOfLastLetterSent")=$P(CALLLETTER,"^",2) "RTN","SDECAR4",228,0) Q "RTN","SDECAR4",229,0) HDR ; "RTN","SDECAR4",230,0) N SDRTMP "RTN","SDECAR4",231,0) S SDRTMP="T00030DFN^I00010IEN^D00030ORIGDT" "RTN","SDECAR4",232,0) ; 4 5 6 7 8 "RTN","SDECAR4",233,0) S SDRTMP=SDRTMP_"^T00030INSTIEN^T00030INSTNAME^T00030TYPE^T00030CLINIEN^T00030CLINNAME" "RTN","SDECAR4",234,0) ; 9 10 11 12 13 14 "RTN","SDECAR4",235,0) S SDRTMP=SDRTMP_"^T00030USERIEN^T00030USERNAME^T00030PRIO^T00030REQBY^T00030PROVIEN^T00030PROVNAME" "RTN","SDECAR4",236,0) ; 15 16 17 "RTN","SDECAR4",237,0) S SDRTMP=SDRTMP_"^T00030DAPTDT^T00250COMM^T00030ENROLLMENT_PRIORITY" "RTN","SDECAR4",238,0) ; 18 19 20 "RTN","SDECAR4",239,0) S SDRTMP=SDRTMP_"^T00010MULTIPLE APPOINTMENT RTC^T00010MULT APPT RTC INTERVAL^T00010MULT APPT NUMBER" "RTN","SDECAR4",240,0) ; 21 22 23 24 25 "RTN","SDECAR4",241,0) S SDRTMP=SDRTMP_"^T00100PCONTACT^T00030ARDISPD^T00030ARDISPU^T00030ARDISPUN^T00030WLSVCCON" "RTN","SDECAR4",242,0) ; 26 27 28 29 30 "RTN","SDECAR4",243,0) S SDRTMP=SDRTMP_"^T00030DATE^T00030MTRCDATES^T00030STOPIEN^T00030STOPNAME^T00250APPT_SCHED_DATE" "RTN","SDECAR4",244,0) ; 31 32 33 34 35 36 "RTN","SDECAR4",245,0) S SDRTMP=SDRTMP_"^T00030MRTCCOUNT^T00030APPTYPE^T00030EESTAT^T00030APPTPTRS^T00250CHILDREN^T00030SDPARENT" "RTN","SDECAR4",246,0) S SDRTMP=SDRTMP_"^T00030CPHONE^T00030CLET" "RTN","SDECAR4",247,0) S @RET@(0)=SDRTMP_$C(30) "RTN","SDECAR4",248,0) Q "RTN","SDECAR4",249,0) ; "RTN","SDECAR4",250,0) EXIT(RET) ; Any special logic needed for a successful completion "RTN","SDECAR4",251,0) N SDTMP,COUNT "RTN","SDECAR4",252,0) S COUNT=$O(^TMP("SDECAR4",$J,""),-1) "RTN","SDECAR4",253,0) I COUNT="" S ^TMP("SDECAR4",$J,1)=0,COUNT=1,APPT("Error",1,"No records found")="" ;No records to return "RTN","SDECAR4",254,0) S SDTMP=^TMP("SDECAR4",$J,COUNT) "RTN","SDECAR4",255,0) S SDTMP=$P(SDTMP,$C(30),1) "RTN","SDECAR4",256,0) S ^TMP("SDECAR4",$J,COUNT)=SDTMP_$C(30,31) "RTN","SDECAR4",257,0) Q "RTN","SDECCONSJSON") 0^6^B19916985^n/a "RTN","SDECCONSJSON",1,0) SDECCONSJSON ;ALB/LAB,ANU - VISTA SCHEDULING RPCS ;APR 12, 2021@14:39 "RTN","SDECCONSJSON",2,0) ;;5.3;Scheduling;**784**;Aug 13, 1993;Build 8 "RTN","SDECCONSJSON",3,0) ; "RTN","SDECCONSJSON",4,0) ; Documented API's and Integration Agreements "RTN","SDECCONSJSON",5,0) ; ------------------------------------------- "RTN","SDECCONSJSON",6,0) ; 4837 GMR(123 "RTN","SDECCONSJSON",7,0) ; 4557 GMR(123.5 "RTN","SDECCONSJSON",8,0) ; 6185 GMR(123 "RTN","SDECCONSJSON",9,0) ; 2056 $$GETS^DIQ,$$GETS1^DIQ "RTN","SDECCONSJSON",10,0) ; 2638 ORD(100.01 "RTN","SDECCONSJSON",11,0) Q "RTN","SDECCONSJSON",12,0) ; "RTN","SDECCONSJSON",13,0) JSONCONSLIST(SDCONJSON,DFN) ;Return a list of ACTIVE or PENDING CONSULTS for patient "RTN","SDECCONSJSON",14,0) ;INPUT - DFN (Date File Number) Pointer to PATIENT (#2) File. "RTN","SDECCONSJSON",15,0) ;RETURN PARMETER: "RTN","SDECCONSJSON",16,0) ; List of consults in ACTIVE or PENDING CPRS STATUS. Data is delimited by "RTN","SDECCONSJSON",17,0) ; carat (^). "RTN","SDECCONSJSON",18,0) ; Field List: "RTN","SDECCONSJSON",19,0) N ACTIVE,PENDING,ERRPOP,ERRMSG,SDECI,SDTMP,SDCONSREC "RTN","SDECCONSJSON",20,0) S SDECI=$G(SDECI,0) "RTN","SDECCONSJSON",21,0) D INIT "RTN","SDECCONSJSON",22,0) D VALIDATE "RTN","SDECCONSJSON",23,0) I ERRPOP D BLDJSON Q "RTN","SDECCONSJSON",24,0) D JSONSELCONS ;select "open" consults "RTN","SDECCONSJSON",25,0) Q "RTN","SDECCONSJSON",26,0) ; "RTN","SDECCONSJSON",27,0) INIT ; initialize values needed "RTN","SDECCONSJSON",28,0) S ACTIVE=$O(^ORD(100.01,"B","ACTIVE",0)) "RTN","SDECCONSJSON",29,0) S PENDING=$O(^ORD(100.01,"B","PENDING",0)) "RTN","SDECCONSJSON",30,0) S ERRPOP=0,SDECI=0,ERRMSG="" "RTN","SDECCONSJSON",31,0) Q "RTN","SDECCONSJSON",32,0) ; "RTN","SDECCONSJSON",33,0) VALIDATE ; validate incoming pararamters "RTN","SDECCONSJSON",34,0) ;*Add validation of DFN "RTN","SDECCONSJSON",35,0) I '(+DFN) D "RTN","SDECCONSJSON",36,0) .;create error message - DFN required "RTN","SDECCONSJSON",37,0) .S ERRMSG="DFN required. " "RTN","SDECCONSJSON",38,0) .S ERRPOP=1 "RTN","SDECCONSJSON",39,0) I '$D(^DPT(DFN,0)) D "RTN","SDECCONSJSON",40,0) .;create error - Invalid DFN "RTN","SDECCONSJSON",41,0) .S ERRMSG="Invalid DFN" "RTN","SDECCONSJSON",42,0) .S ERRPOP=1 "RTN","SDECCONSJSON",43,0) S:ERRPOP SDCONSREC("Consult",SDECI,"Error")=ERRMSG "RTN","SDECCONSJSON",44,0) Q "RTN","SDECCONSJSON",45,0) ; "RTN","SDECCONSJSON",46,0) JSONSELCONS ;selection all open consults - those consults in PENDING and ACTIVE status "RTN","SDECCONSJSON",47,0) N SDCONSID,CPRSSTAT,IFCSTAT,CPRSSTAT "RTN","SDECCONSJSON",48,0) S SDCONSID="" "RTN","SDECCONSJSON",49,0) F S SDCONSID=$O(^GMR(123,"F",DFN,SDCONSID)) Q:SDCONSID="" D "RTN","SDECCONSJSON",50,0) .S CPRSSTAT=$$GET1^DIQ(123,SDCONSID,8,"I") "RTN","SDECCONSJSON",51,0) .S IFCSTAT=$$GET1^DIQ(123,SDCONSID,.125,"I") "RTN","SDECCONSJSON",52,0) .I (IFCSTAT'="P")&((CPRSSTAT=ACTIVE)!(CPRSSTAT=PENDING)) D "RTN","SDECCONSJSON",53,0) ..D BLDCONSULTREC "RTN","SDECCONSJSON",54,0) D BLDJSON "RTN","SDECCONSJSON",55,0) K SDCONSARR "RTN","SDECCONSJSON",56,0) Q "RTN","SDECCONSJSON",57,0) ; "RTN","SDECCONSJSON",58,0) BLDCONSULTREC ;Build a consult record for every consult "RTN","SDECCONSJSON",59,0) N SDCLIEN,SDCLNAME,SDCONLET,SDSTOP,STOP,SIEN,SDTOSVCI,SDCONSARR "RTN","SDECCONSJSON",60,0) K SDCONSARR,SDARRERR "RTN","SDECCONSJSON",61,0) D GETS^DIQ(123,SDCONSID,".01;.05;1;2;3;5;10;13;14;17","IE","SDCONSARR","SDARRERR") "RTN","SDECCONSJSON",62,0) S SDECI=SDECI+1 "RTN","SDECCONSJSON",63,0) S SDCONSREC("Consult",SDECI,"Consult IEN")=SDCONSID "RTN","SDECCONSJSON",64,0) S SDCONSREC("Consult",SDECI,"Request Type")=$G(SDCONSARR(123,SDCONSID_",",13,"E")) "RTN","SDECCONSJSON",65,0) S SDCONSREC("Consult",SDECI,"File Entry Date")=$G(SDCONSARR(123,SDCONSID_",",.01,"I")) "RTN","SDECCONSJSON",66,0) S SDCONSREC("Consult",SDECI,"To Service")=$G(SDCONSARR(123,SDCONSID_",",1,"E")) "RTN","SDECCONSJSON",67,0) ;Need explanation of why for clinic ien and name "RTN","SDECCONSJSON",68,0) S SDCLIEN=$G(SDCONSARR(123,SDCONSID_",",2,"I")) S:SDCLIEN="" SDCLIEN=$G(SDCONSARR(123,SDCONSID_",",.05,"I")) "RTN","SDECCONSJSON",69,0) S SDCLNAME=$G(SDCONSARR(123,SDCONSID_",",2,"E")) S:SDCLNAME="" SDCLNAME=$G(SDCONSARR(123,SDCONSID_",",.05)) "RTN","SDECCONSJSON",70,0) S SDCONSREC("Consult",SDECI,"Clinic IEN")=SDCLIEN "RTN","SDECCONSJSON",71,0) S SDCONSREC("Consult",SDECI,"Clinic Name")=SDCLNAME "RTN","SDECCONSJSON",72,0) S SDCONSREC("Consult",SDECI,"Date of Request")=$G(SDCONSARR(123,SDCONSID_",",3,"I")) "RTN","SDECCONSJSON",73,0) S SDCONSREC("Consult",SDECI,"Urgency or Earliest Date")=$$PRIO^SDEC51A(SDCONSID) "RTN","SDECCONSJSON",74,0) S SDCONSREC("Consult",SDECI,"Provider IEN")=$G(SDCONSARR(123,SDCONSID_",",10,"I")) "RTN","SDECCONSJSON",75,0) S SDCONSREC("Consult",SDECI,"Provider Name")=$G(SDCONSARR(123,SDCONSID_",",10,"E")) "RTN","SDECCONSJSON",76,0) S SDCONSREC("Consult",SDECI,"Service Rendered As")=$G(SDCONSARR(123,SDCONSID_",",14,"E")) "RTN","SDECCONSJSON",77,0) S SDCONSREC("Consult",SDECI,"Prohibited Clinic Flag")=$S($$GET1^DIQ(44,+SDCLIEN_",",2500,"I")="Y":1,1:0) "RTN","SDECCONSJSON",78,0) S SDCONSREC("Consult",SDECI,"Clinic Indicated Date")=$G(SDCONSARR(123,SDCONSID_",",17,"I")) "RTN","SDECCONSJSON",79,0) S SDCONLET=$$CALLCON^SDECAR1A(DFN,SDCONSID) ; # OF CALLS MADE^DATE LAST LETTER SENT "RTN","SDECCONSJSON",80,0) S SDCONSREC("Consult",SDECI,"Number of Phone Contact")=$P(SDCONLET,U,1) "RTN","SDECCONSJSON",81,0) S SDCONSREC("Consult",SDECI,"Date of Last Letter")=$P(SDCONLET,U,2) "RTN","SDECCONSJSON",82,0) S SDCONSREC("Consult",SDECI,"Covid Priority")=$$PRIORITY^SDEC51(SDCONSID) ; Get covid priority "RTN","SDECCONSJSON",83,0) ;build stop code list "RTN","SDECCONSJSON",84,0) S SDSTOP="",STOP="" "RTN","SDECCONSJSON",85,0) S SDTOSVCI=$G(SDCONSARR(123,SDCONSID_",",1,"I")) "RTN","SDECCONSJSON",86,0) I +SDTOSVCI D "RTN","SDECCONSJSON",87,0) .S SIEN=0 F S SIEN=$O(^GMR(123.5,SDTOSVCI,688,SIEN)) Q:'+SIEN D "RTN","SDECCONSJSON",88,0) ..S STOP=$$GET1^DIQ(123.5688,SIEN_","_SDTOSVCI_",",.01,"I") ;ICR 4557 "RTN","SDECCONSJSON",89,0) ..I SDSTOP="" S SDSTOP=STOP "RTN","SDECCONSJSON",90,0) ..E S SDSTOP=SDSTOP_"|"_STOP "RTN","SDECCONSJSON",91,0) S SDCONSREC("Consult",SDECI,"Associate Stop Code")=SDSTOP "RTN","SDECCONSJSON",92,0) Q "RTN","SDECCONSJSON",93,0) ; "RTN","SDECCONSJSON",94,0) BLDJSON ; "RTN","SDECCONSJSON",95,0) D ENCODE^XLFJSON("SDCONSREC","SDCONJSON","ERR") "RTN","SDECCONSJSON",96,0) Q "RTN","SDECCONSJSON",97,0) ; "RTN","SDECIDX") 0^5^B64015130^B55476726 "RTN","SDECIDX",1,0) SDECIDX ;ALB/SAT,WTC - VISTA SCHEDULING RPCS ;Feb 12, 2020@15:22 "RTN","SDECIDX",2,0) ;;5.3;Scheduling;**627,642,658,665,694,784**;Aug 13, 1993;Build 8 "RTN","SDECIDX",3,0) ; "RTN","SDECIDX",4,0) ; The following entry point causes the ^XTMP("SDEC","IDX" global "RTN","SDECIDX",5,0) ; to be rebuilt based on the scheduling of the SDEC BUILD IDX option. "RTN","SDECIDX",6,0) ENTRY ; When executed, the following actions will occur: "RTN","SDECIDX",7,0) ; - purge existing ^XTMP("SDEC","IDX" data "RTN","SDECIDX",8,0) ; - Loop through files 123, 403.5, 409.3, and 409.85 and placing content "RTN","SDECIDX",9,0) ; into the XTMP global for retrieval by the SDECIDX GET RPC call. "RTN","SDECIDX",10,0) ; "RTN","SDECIDX",11,0) D PURGE "RTN","SDECIDX",12,0) D BUILD "RTN","SDECIDX",13,0) Q "RTN","SDECIDX",14,0) ; "RTN","SDECIDX",15,0) PURGE ;EP- Delete the content of the global and set zero node "RTN","SDECIDX",16,0) ; "RTN","SDECIDX",17,0) K ^XTMP("SDEC","IDX") "RTN","SDECIDX",18,0) S ^XTMP("SDEC",0)=$$FMADD^XLFDT(DT,7)_U_$$DT^XLFDT "RTN","SDECIDX",19,0) Q "RTN","SDECIDX",20,0) ; "RTN","SDECIDX",21,0) BUILD ;EP- Generate content "RTN","SDECIDX",22,0) ; "RTN","SDECIDX",23,0) N FILE,CNT,DLM,SDMAX "RTN","SDECIDX",24,0) S SDMAX=$$GET1^DIQ(409.98,1_",",5) ;784 "RTN","SDECIDX",25,0) S:'(+SDMAX) SDMAX=200 ;784 "RTN","SDECIDX",26,0) S CNT=0 ;alb/sat 658 "RTN","SDECIDX",27,0) S DLM="|" "RTN","SDECIDX",28,0) F LP=123,403.5,409.3,409.85 D "RTN","SDECIDX",29,0) .D BLD(LP) "RTN","SDECIDX",30,0) D SETNODEC(CNT) "RTN","SDECIDX",31,0) Q "RTN","SDECIDX",32,0) ; "RTN","SDECIDX",33,0) BLD(FIL) ;EP- "RTN","SDECIDX",34,0) I FIL=123 D Q "RTN","SDECIDX",35,0) .D BLD123 "RTN","SDECIDX",36,0) E I FIL=403.5 D Q "RTN","SDECIDX",37,0) .D BLD4035 "RTN","SDECIDX",38,0) E I FIL=409.3 D Q "RTN","SDECIDX",39,0) .D BLD4093 "RTN","SDECIDX",40,0) E I FIL=409.85 D Q "RTN","SDECIDX",41,0) .D BLD40985 "RTN","SDECIDX",42,0) Q "RTN","SDECIDX",43,0) ; "RTN","SDECIDX",44,0) BLD123 ;EP- REQUEST/CONSULTATION (C) "RTN","SDECIDX",45,0) Q:'$$TEST("REQGET^SDEC51") "RTN","SDECIDX",46,0) ;Key stored in 4Oth piece "RTN","SDECIDX",47,0) ;SVCCONN - 27th piece "RTN","SDECIDX",48,0) ;SVCCONNP - 28th piece "RTN","SDECIDX",49,0) ;WLSVCCON - no value use "" "RTN","SDECIDX",50,0) ;Desired DATE - no value use 0 "RTN","SDECIDX",51,0) ;Origination Date - ORIGDT - 2nd piece "RTN","SDECIDX",52,0) ;Priority Group (PRIGRP header)- 24th piece "RTN","SDECIDX",53,0) N LP,NOD,NODRMG,GBL,SDSUB,SVCP "RTN","SDECIDX",54,0) N SDECY,SDECY1,SDBEG,SDEND,MAXREC,LASTSUB,SORTSTR "RTN","SDECIDX",55,0) S GBL="~GMR(123," "RTN","SDECIDX",56,0) D RMG^SDECRMG(.SDECY,9999999,,"REQUESTTYPE^C|WAITTIME^>=90|ALL^C",,,SDMAX) ;784 changed 200 to SDMAX "RTN","SDECIDX",57,0) S LP=0 F S LP=$O(@SDECY@(LP)) Q:LP'>0 D "RTN","SDECIDX",58,0) .S NODRMG=@SDECY@(LP) "RTN","SDECIDX",59,0) .D REQGET^SDEC(.SDECY1,,,,,$P(NODRMG,U,2)) "RTN","SDECIDX",60,0) .D SETNODEP(GBL,$G(@SDECY1@(0))) "RTN","SDECIDX",61,0) .S NOD=@SDECY1@(1) "RTN","SDECIDX",62,0) .S SORTSTR=$P(NODRMG,U,3) "RTN","SDECIDX",63,0) .D SETNODE(SORTSTR,GBL_DLM_$$PC(NOD,1)_DLM_"C",NOD,40) "RTN","SDECIDX",64,0) .I $P(NOD,U,8)'="" D "RTN","SDECIDX",65,0) ..K SDSUB "RTN","SDECIDX",66,0) ..S SDSUB($P(NOD,U,8))="" "RTN","SDECIDX",67,0) ..D SETXREF("C","E",.SDSUB,$P(NOD,U,1)) "RTN","SDECIDX",68,0) .K @SDECY1 "RTN","SDECIDX",69,0) K @SDECY "RTN","SDECIDX",70,0) Q "RTN","SDECIDX",71,0) BLD4035 ;EP- RECALL REMINDERS (R) "RTN","SDECIDX",72,0) Q:'$$TEST("RECGET^SDEC52") "RTN","SDECIDX",73,0) ;Key stored in 42nd piece "RTN","SDECIDX",74,0) ;SVCCONN - 28th piece "RTN","SDECIDX",75,0) ;SVCCONNP - 29th piece "RTN","SDECIDX",76,0) ;WLSVCCON - no value use "" "RTN","SDECIDX",77,0) ;Desired DATE - 19th piece - External format "RTN","SDECIDX",78,0) ;Origination Date - ORIGDT - 32nd piece "RTN","SDECIDX",79,0) ;Priority Group (PRIGRP header)- 25th piece "RTN","SDECIDX",80,0) N LP,NOD,NODRMG,GBL,SVCP,SORTSTR "RTN","SDECIDX",81,0) N SDECY,SDECY1,DFN,SDBEG,SDEND,MAXREC,LASTSUB "RTN","SDECIDX",82,0) S GBL="~SD(403.5," "RTN","SDECIDX",83,0) D RMG^SDECRMG(.SDECY,9999999,,"REQUESTTYPE^R|WAITTIME^>=90",,,SDMAX) ;784 changed 200 to SDMAX "RTN","SDECIDX",84,0) S LP=0 F S LP=$O(@SDECY@(LP)) Q:LP'>0 D "RTN","SDECIDX",85,0) .S NODRMG=@SDECY@(LP) "RTN","SDECIDX",86,0) .D RECGET^SDEC(.SDECY1,,,,,,$P(NODRMG,U,2)) "RTN","SDECIDX",87,0) .D SETNODEP(GBL,@SDECY1@(0)) "RTN","SDECIDX",88,0) .S NOD=@SDECY1@(1) "RTN","SDECIDX",89,0) .S SORTSTR=$P(NODRMG,U,3) "RTN","SDECIDX",90,0) .D SETNODE(SORTSTR,GBL_DLM_$$PC(NOD,1)_DLM_"R",NOD,42) "RTN","SDECIDX",91,0) .K @SDECY1 "RTN","SDECIDX",92,0) K @SDECY "RTN","SDECIDX",93,0) Q "RTN","SDECIDX",94,0) BLD4093 ;EP- SD WAIT LIST (E) "RTN","SDECIDX",95,0) Q:'$$TEST("WLGET^SDECWL1") "RTN","SDECIDX",96,0) ;Key stored in 56th piece "RTN","SDECIDX",97,0) ;SVCCONN - 36th piece "RTN","SDECIDX",98,0) ;SVCCONNP - 37th piece "RTN","SDECIDX",99,0) ;Desired DATE - 24th piece "RTN","SDECIDX",100,0) ;Origination Date - ORIGDT - 8th piece "RTN","SDECIDX",101,0) ;Enrollment Priority Group (PRIGRP header) - 33rd piece "RTN","SDECIDX",102,0) ;WLSVCCON - 44th piece "RTN","SDECIDX",103,0) N LP,NOD,NODRMG,GBL,SCPRI,SVCP "RTN","SDECIDX",104,0) N SDECY,SDECY1,MAXREC,SDBEG,SDEND,DFN,LASTSUB,SORTSTR "RTN","SDECIDX",105,0) S GBL="~SDWL(409.3," "RTN","SDECIDX",106,0) D RMG^SDECRMG(.SDECY,9999999,,"REQUESTTYPE^E|WAITTIME^>=90",,,SDMAX) ;784 changed 200 to SDMAX "RTN","SDECIDX",107,0) S LP=0 F S LP=$O(@SDECY@(LP)) Q:LP'>0 D "RTN","SDECIDX",108,0) .S NODRMG=@SDECY@(LP) "RTN","SDECIDX",109,0) .D WLGET^SDEC(.SDECY1,$P(NODRMG,U,2)) "RTN","SDECIDX",110,0) .D SETNODEP(GBL,$G(@SDECY1@(0))) "RTN","SDECIDX",111,0) .S NOD=@SDECY1@(1) "RTN","SDECIDX",112,0) .S SORTSTR=$P(NODRMG,U,3) "RTN","SDECIDX",113,0) .D SETNODE(SORTSTR,GBL_DLM_$$PC(NOD,7)_DLM_"E",NOD,56) "RTN","SDECIDX",114,0) .K @SDECY1 "RTN","SDECIDX",115,0) K @SDECY "RTN","SDECIDX",116,0) Q "RTN","SDECIDX",117,0) BLD40985 ;EP- SDEC APPT REQUEST (A) "RTN","SDECIDX",118,0) Q:'$$TEST("ARGET^SDECAR1") "RTN","SDECIDX",119,0) ;Key stored in 56th piece "RTN","SDECIDX",120,0) ;SVCCONN - 29th piece "RTN","SDECIDX",121,0) ;SVCCONNP - 30th piece "RTN","SDECIDX",122,0) ;Desired DATE - 20th piece "RTN","SDECIDX",123,0) ;Origination Date - ORIGDT - 8th piece "RTN","SDECIDX",124,0) ;Priority Group (PRIGRP header) - 26th piece "RTN","SDECIDX",125,0) ;WLSVCCON = 37th piece "RTN","SDECIDX",126,0) N LP,NOD,NODRMG,GBL,SVCP,SORTSTR "RTN","SDECIDX",127,0) N SDECY,SDECY1,DFN,MAXREC,LASTSUB,ARIEN1,SDBEG,SDEND "RTN","SDECIDX",128,0) S GBL="~SDEC(409.85," "RTN","SDECIDX",129,0) D RMG^SDECRMG(.SDECY,9999999,,"REQUESTTYPE^A|WAITTIME^>=90",,,SDMAX) ;784 changed 200 to SDMAX "RTN","SDECIDX",130,0) S LP=0 F S LP=$O(@SDECY@(LP)) Q:LP'>0 D "RTN","SDECIDX",131,0) .S NODRMG=@SDECY@(LP) "RTN","SDECIDX",132,0) .D ARGET^SDEC(.SDECY1,$P(NODRMG,U,2)) "RTN","SDECIDX",133,0) .D SETNODEP(GBL,$G(@SDECY1@(0))) "RTN","SDECIDX",134,0) .S NOD=@SDECY1@(1) "RTN","SDECIDX",135,0) .S SORTSTR=$P(NODRMG,U,3) "RTN","SDECIDX",136,0) .D SETNODE(SORTSTR,GBL_DLM_$$PC(NOD,7)_DLM_"A",NOD,56) "RTN","SDECIDX",137,0) .K @SDECY1 "RTN","SDECIDX",138,0) K @SDECY "RTN","SDECIDX",139,0) Q "RTN","SDECIDX",140,0) ; "RTN","SDECIDX",141,0) SETNODE(S1,S3,VAL,KEYP) ;EP- "RTN","SDECIDX",142,0) ; S1 - Sort String "RTN","SDECIDX",143,0) ; S2 - not used "RTN","SDECIDX",144,0) ; S3 - GBL | IEN | ACER "RTN","SDECIDX",145,0) ; VAL - "RTN","SDECIDX",146,0) ; KEYP - "RTN","SDECIDX",147,0) Q:'$L($D(S1))!'$L($D(S3)) "RTN","SDECIDX",148,0) N KEY "RTN","SDECIDX",149,0) S KEY=S1_DLM_S3 "RTN","SDECIDX",150,0) S CNT=$G(CNT)+1 "RTN","SDECIDX",151,0) S VAL=$P(VAL,$C(30)) "RTN","SDECIDX",152,0) S:$G(KEYP) $P(VAL,U,KEYP)=KEY "RTN","SDECIDX",153,0) S ^XTMP("SDEC","IDX","XREF1",S1,0,S3)=CNT "RTN","SDECIDX",154,0) S ^XTMP("SDEC","IDX","DATA",CNT)=$G(VAL) "RTN","SDECIDX",155,0) S ^XTMP("SDEC","IDX","XREF2",KEY)=CNT "RTN","SDECIDX",156,0) Q "RTN","SDECIDX",157,0) ; "RTN","SDECIDX",158,0) SETXREF(S4,S5,DX,DA,VAL) ;request type specific xref for 1 entry "RTN","SDECIDX",159,0) ; S4 = request type A C E or R "RTN","SDECIDX",160,0) ; S5 = xref subscript "RTN","SDECIDX",161,0) ; .DX = array of subscripts "RTN","SDECIDX",162,0) ; DA = pointer to request type "RTN","SDECIDX",163,0) ; VAL = value to set xref to; default to "" "RTN","SDECIDX",164,0) N SDI,SDSUB "RTN","SDECIDX",165,0) S VAL=$G(VAL) "RTN","SDECIDX",166,0) S SDSUB="" "RTN","SDECIDX",167,0) S SDI="" F S SDI=$O(DX(SDI)) Q:SDI="" D "RTN","SDECIDX",168,0) .S SDSUB=$S(SDSUB'="":SDSUB_",",1:"")_SDI "RTN","SDECIDX",169,0) S ^XTMP("SDEC","IDX","XREF"_S4,S5,SDSUB,DA)=VAL "RTN","SDECIDX",170,0) Q "RTN","SDECIDX",171,0) ; "RTN","SDECIDX",172,0) SETNODEC(CNT) ;EP- "RTN","SDECIDX",173,0) S ^XTMP("SDEC","IDX","COUNT")=$G(CNT) "RTN","SDECIDX",174,0) Q "RTN","SDECIDX",175,0) ; "RTN","SDECIDX",176,0) SETNODEP(GBL,VAL) ;EP- "RTN","SDECIDX",177,0) Q:'$L($D(GBL)) "RTN","SDECIDX",178,0) S ^XTMP("SDEC","IDX","PATTERNS",GBL)=$P($G(VAL),$C(30)) "RTN","SDECIDX",179,0) Q "RTN","SDECIDX",180,0) ; "RTN","SDECIDX",181,0) PC(VAL,PIECE,DLM) ;EP- "RTN","SDECIDX",182,0) S DLM=$G(DLM,U) "RTN","SDECIDX",183,0) Q $P($G(VAL),DLM,+$G(PIECE)) "RTN","SDECIDX",184,0) ; "RTN","SDECIDX",185,0) ; Test for tag/routine "RTN","SDECIDX",186,0) TEST(X) ;EP "RTN","SDECIDX",187,0) N Z "RTN","SDECIDX",188,0) S:X[U Z=$P(X,U),X=$P(X,U,2) "RTN","SDECIDX",189,0) Q:'$L(X)!(X'?.1"%"1.AN) 0 "RTN","SDECIDX",190,0) X ^%ZOSF("TEST") "RTN","SDECIDX",191,0) Q $S('$T:0,$G(Z)="":1,Z'?.1"%"1.AN:0,1:$T(@Z^@X)'="") "RTN","SDECIDX",192,0) ; "RTN","SDECIDX",193,0) ; The GETREC entry point is called by the SDECIDX GETREC RPC. "RTN","SDECIDX",194,0) ; Input: LASTREC - (optional) holds the key to the last call and when passed "RTN","SDECIDX",195,0) ; the next bolus of data will start with the "RTN","SDECIDX",196,0) ; following record. "RTN","SDECIDX",197,0) ; MAXREC - (optional) returns 25 records by default "RTN","SDECIDX",198,0) ; STYLE - (optional) (D)ata (default) or (R)ecord pointer. "RTN","SDECIDX",199,0) ; (D)ata returns data in the format specific to the file "RTN","SDECIDX",200,0) ; (R)ecord returns the Type^IEN of the Type file "RTN","SDECIDX",201,0) ; "RTN","SDECIDX",202,0) GETREC(DATA,LASTREC,MAXREC,STYLE) ;EP- "RTN","SDECIDX",203,0) N LP,REC,IDX,CNT,DLM "RTN","SDECIDX",204,0) S DLM="|" "RTN","SDECIDX",205,0) S DATA=$$TMPGBL "RTN","SDECIDX",206,0) S LASTREC=$G(LASTREC,"") "RTN","SDECIDX",207,0) S MAXREC=$G(MAXREC,25) "RTN","SDECIDX",208,0) S STYLE=$G(STYLE,"D") "RTN","SDECIDX",209,0) S CNT=0 "RTN","SDECIDX",210,0) I STYLE="D" D "RTN","SDECIDX",211,0) .S LP=LASTREC F S LP=$O(^XTMP("SDEC","IDX","XREF2",LP)) Q:LP="" D Q:((CNT\2)=MAXREC) "RTN","SDECIDX",212,0) ..S REC=^(LP) "RTN","SDECIDX",213,0) ..I $$PC(LP,8,DLM)="R",'$D(^SD(403.5,$$PC(LP,7,DLM),0)) Q ;record has been moved to RECALL REMINDERS REMOVED "RTN","SDECIDX",214,0) ..I $$PC(LP,8,DLM)="C",$$REQCHK^SDEC51("",$$PC(LP,7,DLM)) Q ;record has an activity scheduled or has been cancelled "RTN","SDECIDX",215,0) ..I $$PC(LP,8,DLM)="E",$$GET1^DIQ(409.3,$$PC(LP,7,DLM),23,"I")="C" Q ;alb/sat 665 - record is closed "RTN","SDECIDX",216,0) ..I $$PC(LP,8,DLM)="A",$$GET1^DIQ(409.85,$$PC(LP,7,DLM),23,"I")="C" Q ;alb/sat 665 - record is closed "RTN","SDECIDX",217,0) ..S REC=$P(^XTMP("SDEC","IDX","DATA",REC),$C(30)) "RTN","SDECIDX",218,0) ..S CNT=CNT+1 "RTN","SDECIDX",219,0) ..S @DATA@(CNT)=$G(^XTMP("SDEC","IDX","PATTERNS",$P(LP,DLM,6)))_$C(30) "RTN","SDECIDX",220,0) ..S CNT=CNT+1 "RTN","SDECIDX",221,0) ..S @DATA@(CNT)=REC_$C(30) "RTN","SDECIDX",222,0) E I STYLE="R" D "RTN","SDECIDX",223,0) . ; "RTN","SDECIDX",224,0) . ; Set up to filter out VETERAN requests if user does not have the key. wtc/mbs 694 7/24/2018 "RTN","SDECIDX",225,0) . ; "RTN","SDECIDX",226,0) . N VAOSUSR ; "RTN","SDECIDX",227,0) . D OWNSKEY^XUSRB(.VAOSUSR,"SDECZ REQUEST") ; "RTN","SDECIDX",228,0) . ; "RTN","SDECIDX",229,0) .S @DATA@(0)="T00030TYPE^T00030IEN^T00030KEY"_$C(30) "RTN","SDECIDX",230,0) .S LP=LASTREC F S LP=$O(^XTMP("SDEC","IDX","XREF2",LP)) Q:LP="" D Q:(CNT=MAXREC) "RTN","SDECIDX",231,0) ..I $$PC(LP,8,DLM)="R",'$D(^SD(403.5,$$PC(LP,7,DLM),0)) Q ;record has been moved to RECALL REMINDERS REMOVED "RTN","SDECIDX",232,0) ..I $$PC(LP,8,DLM)="C",$$REQCHK^SDEC51("",$$PC(LP,7,DLM)) Q ;record has an activity scheduled or has been cancelled "RTN","SDECIDX",233,0) ..I $$PC(LP,8,DLM)="E",$$GET1^DIQ(409.3,$$PC(LP,7,DLM),23,"I")="C" Q ;alb/sat 665 - record is closed "RTN","SDECIDX",234,0) ..I $$PC(LP,8,DLM)="A",$$GET1^DIQ(409.85,$$PC(LP,7,DLM),23,"I")="C" Q ;alb/sat 665 - record is closed "RTN","SDECIDX",235,0) .. ; "RTN","SDECIDX",236,0) .. ; Exclude VETERAN requests if user does not have the key. wtc/mbs 694 7/24/2018 "RTN","SDECIDX",237,0) .. ; "RTN","SDECIDX",238,0) .. I $$PC(LP,8,DLM)="A",$$GET1^DIQ(409.85,$$PC(LP,7,DLM),4,"I")="VETERAN",'$G(VAOSUSR(0)) Q ;MBS - vaos record and user doesn't have key "RTN","SDECIDX",239,0) .. ; "RTN","SDECIDX",240,0) ..S CNT=CNT+1 "RTN","SDECIDX",241,0) ..S @DATA@(CNT)=$$PC(LP,8,DLM)_U_$$PC(LP,7,DLM)_U_LP_$C(30) "RTN","SDECIDX",242,0) S @DATA@(CNT)=$P(@DATA@(CNT),$C(30))_$C(30,31) "RTN","SDECIDX",243,0) Q "RTN","SDECIDX",244,0) ; "RTN","SDECIDX",245,0) TMPGBL() ;EP- "RTN","SDECIDX",246,0) K ^TMP("SDECIDX",$J) Q $NA(^($J)) "RTN","SDECIDX",247,0) ; Convert external dates to FileMan format "RTN","SDECIDX",248,0) CVTDT(VAL) ;EP- "RTN","SDECIDX",249,0) D DT^DILF(,VAL,.VAL) "RTN","SDECIDX",250,0) Q VAL "RTN","SDECIDX",251,0) ; Returns inverse date value "RTN","SDECIDX",252,0) INVDT(VAL) ;EP- "RTN","SDECIDX",253,0) Q:(VAL<1) VAL "RTN","SDECIDX",254,0) Q (9999999.9999-VAL) "RTN","SDECIDX",255,0) RECCNT(DATA) ;EP- "RTN","SDECIDX",256,0) S DATA=+$G(^XTMP("SDEC","IDX","COUNT")) "RTN","SDECIDX",257,0) Q "RTN","SDECVVS") 0^8^B26993565^B27259080 "RTN","SDECVVS",1,0) SDECVVS ;ALB/RJT SDEC AND VIDEO VISIT SERVICE (VVS) INTEGRATION ;Mar 31, 2021@09:59 "RTN","SDECVVS",2,0) ;;5.3;Scheduling;**781,784**;;Build 8 "RTN","SDECVVS",3,0) Q "RTN","SDECVVS",4,0) ; "RTN","SDECVVS",5,0) GETVVSMAKEINFO(VVSMAKEINFO,PATIENTIEN,CLINICIEN) ;GET INFO TO MAKE A VIDEO VISIT WEB SERVICE (VVS) CALL "RTN","SDECVVS",6,0) ;S BASERETURN="-1" "RTN","SDECVVS",7,0) Q:PATIENTIEN="" "RTN","SDECVVS",8,0) Q:CLINICIEN="" "RTN","SDECVVS",9,0) S (VVSPATIENT,VVSPROVIDER,PROVIDERINFO,VVSSYSTEMINFO)="" "RTN","SDECVVS",10,0) ; "RTN","SDECVVS",11,0) D GETVVSPATIENT(.VVSPATIENT,PATIENTIEN) "RTN","SDECVVS",12,0) D GETDPROIEN(.VVSPROVIDER,CLINICIEN) "RTN","SDECVVS",13,0) D GETPROINFO(.PROVIDERINFO,PROVIDERIEN) "RTN","SDECVVS",14,0) D GETSYSTEMINFO(.VVSSYSTEMINFO) "RTN","SDECVVS",15,0) D GETVVSINFO(.VVSMAKEINFO,VVSPATIENT,VVSPROVIDER,VVSSYSTEMINFO) "RTN","SDECVVS",16,0) ; "RTN","SDECVVS",17,0) K PATINFO,PROVIDERIEN,PROVIDERINFO,VVSSYSTEMINFO "RTN","SDECVVS",18,0) Q "RTN","SDECVVS",19,0) ; "RTN","SDECVVS",20,0) GETSPACEBARPRO(VVSPRORETURN) ; "RTN","SDECVVS",21,0) N PROVIDERIEN "RTN","SDECVVS",22,0) I $D(^TMP(DUZ,"SDECPROIEN")) D "RTN","SDECVVS",23,0) .S PROVIDERIEN=^TMP(DUZ,"SDECPROIEN") "RTN","SDECVVS",24,0) .D GETPROINFO(.VVSPRORETURN,PROVIDERIEN) "RTN","SDECVVS",25,0) Q "RTN","SDECVVS",26,0) ; "RTN","SDECVVS",27,0) VVSPROSEARCH(VVSPROVIDERS,SEARCHSTRING) ;SEARCH PROVIDERS AND GET DATA NEEDED TO MAKE VIDEO VISIT SERVICE (VVS) APPOINTMENT "RTN","SDECVVS",28,0) S VVSPROVIDERS="-1" "RTN","SDECVVS",29,0) Q:$L(SEARCHSTRING)<2 "RTN","SDECVVS",30,0) N PROVIDERIEN,VVSPROVIDER,PROVIDERNAME,STRINGLENGTH "RTN","SDECVVS",31,0) S (PROVIDERNAME,PROVIDERIEN)="" "RTN","SDECVVS",32,0) S STRINGLENGTH=$L(SEARCHSTRING) "RTN","SDECVVS",33,0) F S PROVIDERNAME=$O(^VA(200,"B",PROVIDERNAME)) Q:PROVIDERNAME="" D "RTN","SDECVVS",34,0) .I $E(PROVIDERNAME,1,STRINGLENGTH)=SEARCHSTRING D "RTN","SDECVVS",35,0) ..S PROVIDERIEN=$O(^VA(200,"B",PROVIDERNAME,PROVIDERIEN)) Q:PROVIDERIEN="" D "RTN","SDECVVS",36,0) ...I $$GET1^DIQ(200,PROVIDERIEN,7,"I")'=1 D "RTN","SDECVVS",37,0) ....I $$GET1^DIQ(200,PROVIDERIEN,53.5)'="" D "RTN","SDECVVS",38,0) .....D GETPROINFO(.VVSPROVIDER,PROVIDERIEN) "RTN","SDECVVS",39,0) .....I VVSPROVIDER'="" D "RTN","SDECVVS",40,0) ......I VVSPROVIDERS="-1" S VVSPROVIDERS="" "RTN","SDECVVS",41,0) ......S VVSPROVIDERS=VVSPROVIDERS_"|"_VVSPROVIDER "RTN","SDECVVS",42,0) Q "RTN","SDECVVS",43,0) ; "RTN","SDECVVS",44,0) GETVVSPATIENT(RETURN,PATIENTIEN) ;GET VIDEO VISIT SERVICE (VVS) PATIENT "RTN","SDECVVS",45,0) Q:PATIENTIEN="" "RTN","SDECVVS",46,0) N NAME,LASTNAME,FIRSTNAME,DOB,SSN,EMAIL,HOMEPHONE,CELLPHONE,ICN "RTN","SDECVVS",47,0) S NAME=$$GET1^DIQ(2,PATIENTIEN,.01) "RTN","SDECVVS",48,0) S LASTNAME=$P(NAME,",",1) "RTN","SDECVVS",49,0) S FIRSTNAME=$P($P(NAME,",",2)," ",1) "RTN","SDECVVS",50,0) S DOB=$$GET1^DIQ(2,PATIENTIEN,.03) "RTN","SDECVVS",51,0) S SSN=$$GET1^DIQ(2,PATIENTIEN,.09) "RTN","SDECVVS",52,0) S EMAIL=$$GET1^DIQ(2,PATIENTIEN,.133) "RTN","SDECVVS",53,0) S HOMEPHONE=$$GET1^DIQ(2,PATIENTIEN,.131) "RTN","SDECVVS",54,0) S CELLPHONE=$$GET1^DIQ(2,PATIENTIEN,.134) "RTN","SDECVVS",55,0) S ICN=$$GETICN^MPIF001(PATIENTIEN) "RTN","SDECVVS",56,0) S RETURN=PATIENTIEN_"^"_DOB_"^"_FIRSTNAME_"^"_LASTNAME_"^"_SSN_"^"_EMAIL_"^"_HOMEPHONE_"^"_CELLPHONE_"^"_ICN "RTN","SDECVVS",57,0) Q "RTN","SDECVVS",58,0) ; "RTN","SDECVVS",59,0) GETDPROIEN(RETURN,CLINICIEN) ;GET THE IEN FOR THE DEFAULT PROVIDER ASSIGNED TO A CLINIC "RTN","SDECVVS",60,0) Q:CLINICIEN="" "RTN","SDECVVS",61,0) S PROVIDERIEN="" "RTN","SDECVVS",62,0) S PROVIDERIEN=$$GET1^DIQ(44,CLINICIEN,16,"I") "RTN","SDECVVS",63,0) S RETURN=PROVIDERIEN "RTN","SDECVVS",64,0) Q "RTN","SDECVVS",65,0) ; "RTN","SDECVVS",66,0) GETPROINFO(RETURN,PROVIDERIEN) ;GET PROVIDER INFO REQUIRED TO MAKE VIDEO VISIT SERVICE (VVS) CALL "RTN","SDECVVS",67,0) Q:PROVIDERIEN="" "RTN","SDECVVS",68,0) N NAME,EMAIL,CELL "RTN","SDECVVS",69,0) S NAME=$$GET1^DIQ(200,PROVIDERIEN,.01) "RTN","SDECVVS",70,0) S EMAIL=$$GET1^DIQ(200,PROVIDERIEN,.151) "RTN","SDECVVS",71,0) S CELL=$$GET1^DIQ(200,PROVIDERIEN,.133) "RTN","SDECVVS",72,0) S RETURN=PROVIDERIEN_"^"_NAME_"^"_EMAIL_"^"_CELL "RTN","SDECVVS",73,0) S ^TMP(DUZ,"SDECPROIEN")=PROVIDERIEN "RTN","SDECVVS",74,0) Q "RTN","SDECVVS",75,0) ; "RTN","SDECVVS",76,0) GETSYSTEMINFO(RETURN) ;GET SYSTEM INFO NEED TO CALL MAKE VIDEO VISIT SERVICE (VVS) CALL "RTN","SDECVVS",77,0) N FACILITYSITECODE,FACILITYNAME,SYSTEMTIMEZONE "RTN","SDECVVS",78,0) S FACILITYSITECODE=DUZ(2) "RTN","SDECVVS",79,0) S FACILITYNAME=$$GET1^DIQ(4,FACILITYSITECODE,.01) "RTN","SDECVVS",80,0) S SYSTEMTIMEZONE=$$GET1^DIQ(4,FACILITYSITECODE,800) "RTN","SDECVVS",81,0) S RETURN=FACILITYSITECODE_"^"_FACILITYNAME_"^"_SYSTEMTIMEZONE "RTN","SDECVVS",82,0) Q "RTN","SDECVVS",83,0) ; "RTN","SDECVVS",84,0) GETVVSINFO(RETURN,VVSPATIENT,VVSPROVIDER,VVSSYSTEMINFO) ;GET RPC: "SDEC GETVVSBASE" RETURN "RTN","SDECVVS",85,0) S RETURN="" "RTN","SDECVVS",86,0) S RETURN=VVSPATIENT_"|"_VVSPROVIDER_"|"_VVSSYSTEMINFO "RTN","SDECVVS",87,0) Q "RTN","SDECVVS",88,0) SAVEVVSID(RETURN,DFN,CLINIC,APPT,VVSID) ;Save VVS ID in the SDEC APPOINTMENT file "RTN","SDECVVS",89,0) S RETURN=0 "RTN","SDECVVS",90,0) Q:DFN="" "RTN","SDECVVS",91,0) Q:CLINIC="" "RTN","SDECVVS",92,0) Q:APPT="" "RTN","SDECVVS",93,0) Q:VVSID="" "RTN","SDECVVS",94,0) ; "RTN","SDECVVS",95,0) N IEN40984,REC40984,IEN44,RESOURCEIEN,APPTDATETIME,RESOURCE "RTN","SDECVVS",96,0) ; "RTN","SDECVVS",97,0) S APPTDATETIME=$$NETTOFM^SDECDATE(APPT,"Y","N") "RTN","SDECVVS",98,0) ; "RTN","SDECVVS",99,0) S IEN40984="" F S IEN40984=$O(^SDEC(409.84,"CPAT",DFN,IEN40984)) Q:IEN40984="" D "RTN","SDECVVS",100,0) .S RESOURCEIEN="" S RESOURCEIEN=$$GET1^DIQ(409.84,IEN40984,.07,"I") D "RTN","SDECVVS",101,0) ..S RESOURCE=$$GET1^DIQ(409.831,RESOURCEIEN,.04,"I") "RTN","SDECVVS",102,0) ..Q:CLINIC'=RESOURCE "RTN","SDECVVS",103,0) ..Q:APPTDATETIME'=$$GET1^DIQ(409.84,IEN40984,.01,"I") "RTN","SDECVVS",104,0) ..D UPDATEVVS "RTN","SDECVVS",105,0) ..S RETURN=1 "RTN","SDECVVS",106,0) ..Q "RTN","SDECVVS",107,0) Q "RTN","SDECVVS",108,0) UPDATEVVS ; "RTN","SDECVVS",109,0) S DIE="^SDEC(409.84,",DA=IEN40984,DR="2///"_VVSID D ^DIE "RTN","SDECVVS",110,0) K DIE,DA,DR "RTN","SDECVVS",111,0) Q "RTN","SDECVVS",112,0) ; "RTN","SDECVVS",113,0) GETVVSID(RETURN,DFN,RESOURCE,APPTDATETIME) ;Return the VVS ID from the SDEC APPOINTMENT file "RTN","SDECVVS",114,0) S RETURN=0 "RTN","SDECVVS",115,0) Q:DFN="" "RTN","SDECVVS",116,0) Q:RESOURCE="" "RTN","SDECVVS",117,0) Q:APPTDATETIME="" "RTN","SDECVVS",118,0) ; "RTN","SDECVVS",119,0) N IEN40984,REC40984,IEN44,RESOURCEIEN,APPT "RTN","SDECVVS",120,0) ; "RTN","SDECVVS",121,0) S APPT=$$NETTOFM^SDECDATE(APPTDATETIME,"Y","N") "RTN","SDECVVS",122,0) ; "RTN","SDECVVS",123,0) S IEN40984="" F S IEN40984=$O(^SDEC(409.84,"CPAT",DFN,IEN40984)) Q:IEN40984="" D "RTN","SDECVVS",124,0) .S RESOURCEIEN="" S RESOURCEIEN=$$GET1^DIQ(409.84,IEN40984,.07,"I") D "RTN","SDECVVS",125,0) ..Q:RESOURCEIEN'=RESOURCE "RTN","SDECVVS",126,0) ..Q:APPT'=$$GET1^DIQ(409.84,IEN40984,.01,"I") "RTN","SDECVVS",127,0) ..S RETURN=$$GET1^DIQ(409.84,IEN40984,2) "RTN","SDECVVS",128,0) ..Q "RTN","SDECVVS",129,0) Q "RTN","SDECVVS",130,0) ; "RTN","SDECVVS",131,0) DELETEVVSID(RETURN,DFN,RESOURCE,APPTDATETIME) ;Delete the VVS ID from the SDEC APPOINTMENT file "RTN","SDECVVS",132,0) S RETURN=0 "RTN","SDECVVS",133,0) Q:'$G(DFN) "RTN","SDECVVS",134,0) Q:'$G(RESOURCE) "RTN","SDECVVS",135,0) Q:APPTDATETIME="" "RTN","SDECVVS",136,0) ; "RTN","SDECVVS",137,0) N IEN40984,IEN44,RESOURCEIEN,APPT "RTN","SDECVVS",138,0) ; "RTN","SDECVVS",139,0) S APPT=$$NETTOFM^SDECDATE(APPTDATETIME,"Y","N") "RTN","SDECVVS",140,0) ; "RTN","SDECVVS",141,0) S IEN40984="" F S IEN40984=$O(^SDEC(409.84,"CPAT",DFN,IEN40984)) Q:IEN40984="" D "RTN","SDECVVS",142,0) .S RESOURCEIEN="" S RESOURCEIEN=$$GET1^DIQ(409.84,IEN40984,.07,"I") D "RTN","SDECVVS",143,0) ..Q:RESOURCEIEN'=RESOURCE "RTN","SDECVVS",144,0) ..Q:APPT'=$$GET1^DIQ(409.84,IEN40984,.01,"I") "RTN","SDECVVS",145,0) ..D DELVVSID "RTN","SDECVVS",146,0) ..S RETURN=1 "RTN","SDECVVS",147,0) ..Q "RTN","SDECVVS",148,0) Q "RTN","SDECVVS",149,0) DELVVSID ; "RTN","SDECVVS",150,0) S DIE=409.84,DA=IEN40984,DR="2///@" "RTN","SDECVVS",151,0) D ^DIE "RTN","SDECVVS",152,0) K DIE,DA,DR "RTN","SDECVVS",153,0) Q "RTN","SDECVVS",154,0) GETPATIENTICN(RETURN,PATIENTIEN) ;GET PATIENT ICN FROM PATIENT IEN (DFN) "RTN","SDECVVS",155,0) Q:PATIENTIEN="" "RTN","SDECVVS",156,0) S RETURN=$$GETICN^MPIF001(PATIENTIEN) "RTN","SDECVVS",157,0) Q "VER") 8.0^22.2 "^DD",409.98,409.98,5,0) MAX RECS ACCUMULATED^NJ3,0^^0;5^K:+X'=X!(X>999)!(X<1)!(X?.E1"."1N.N) X "^DD",409.98,409.98,5,3) Type a number between 1 and 999, 0 decimal digits. "^DD",409.98,409.98,5,21,0) ^.001^2^2^3210409^^^^ "^DD",409.98,409.98,5,21,1,0) This field represents the MAX number of ACCUMULATED Records allowed to be "^DD",409.98,409.98,5,21,2,0) returned. "^DD",409.98,409.98,5,23,0) ^^4^4^3210409^ "^DD",409.98,409.98,5,23,1,0) The MAX RECS ACCUMULATED value can be passed into the SDECRMG RMG RPC. If "^DD",409.98,409.98,5,23,2,0) the value is null, then the default value comes from the MAX RECS "^DD",409.98,409.98,5,23,3,0) ACCUMULATED (#5) field in the SDEC SETTINGS (#409.98) file, and if that "^DD",409.98,409.98,5,23,4,0) field is null then the default value is 200. "^DD",409.98,409.98,5,"DT") 3210408 "BLD",12267,6) ^634 **END** **END**