Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: EDPCTRL

EDPCTRL.m

Go to the documentation of this file.
  1. EDPCTRL ;SLC/KCM - Controller for ED Tracking ;5/23/13 11:19am
  1. ;;2.0;EMERGENCY DEPARTMENT;**6**;Feb 24, 2012;Build 200
  1. ;
  1. RPC(EDPXML,PARAMS,PARAMS2) ; Process request via RPC instead of CSP
  1. N X,REQ,EDPSITE,EDPUSER,EDPDBUG
  1. K EDPXML
  1. S EDPUSER=DUZ,EDPSITE=DUZ(2),EDPSTA=$$STA^XUAF4(DUZ(2))
  1. S X="" F S X=$O(PARAMS(X)) Q:X="" D
  1. . I $D(PARAMS(X))>9 M REQ(X)=PARAMS(X)
  1. . E S REQ(X,1)=PARAMS(X)
  1. S EDPDBUG=$$DEBUG^EDPCDBG($G(PARAMS("swfID")))
  1. I EDPDBUG D PUTREQ^EDPCDBG(EDPDBUG,.PARAMS)
  1. ;
  1. COMMON ; Come here for both CSP and RPC Mode
  1. ;
  1. N EDPFAIL,CMD
  1. S CMD=$G(REQ("command",1))
  1. ;
  1. ; switch on command
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; initUser
  1. ; return <user />
  1. ; <view />...
  1. I CMD="initUser" D G OUT
  1. . S AREA=$$VAL("area")
  1. . D SESS^EDPFAA,VIEWS^EDPFAA
  1. . D GETROLES^EDPBWS(EDPSITE,AREA)
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; matchPatients
  1. ; return <ptlk />...<ptlk />
  1. I CMD="matchPatients" D G OUT
  1. . D MATCH^EDPFPTL($$VAL("partial"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; getPatientChecks
  1. ; return <checks />
  1. ; <similar />
  1. ; <warning> </warning>
  1. ; <patientRecordFlags><flag> <text> </text></flag>...</patientRecordFlags>
  1. I CMD="getPatientChecks" D G OUT
  1. . D CHK^EDPFPTC($$VAL("area"),$$VAL("patient"),$$VAL("name"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; saveSecurityLog
  1. ; return <save />
  1. I CMD="saveSecurityLog" D G OUT
  1. . D LOG^EDPFPTC($$VAL("patient"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; getLexiconMatches
  1. ; return <items><item />...</items>
  1. I CMD="getLexiconMatches" D G OUT
  1. . D ICD^EDPFLEX($$VAL("text"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; initLogArea
  1. ; return <udp />
  1. ; <params disposition="" diagnosis="" delay="" delayMinutes="" />
  1. ; <logEntries><log />...</logEntries>
  1. I CMD="initLogArea" D G OUT
  1. . I $L($$VAL("logEntry")) S EDPFAIL=$$UPD^EDPLOG($$VAL("logEntry")) Q:$G(EDPFAIL)
  1. . D PARAM^EDPQAR($$VAL("area"))
  1. . D GET^EDPQLP($$VAL("area"),-1) ;-1 = force refresh
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; checkLogin -- OBSOLETE
  1. ; return <user />
  1. I CMD="checkLogin" D SESS^EDPFAA G OUT
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; refreshLogSelector
  1. ; return <logEntries><log />...</logEntries>
  1. I CMD="refreshLogSelector" D G OUT
  1. . D GET^EDPQLP($$VAL("area"),$$VAL("token"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; switchLogEntry
  1. ; return <udp />
  1. ; <logEntry>log fields...</logEntry>
  1. ; <choices>choice lists...</choices>
  1. I CMD="switchLogEntry" D G OUT
  1. . I $L($$VAL("logEntry")) S EDPFAIL=$$UPD^EDPLOG($$VAL("logEntry")) Q:$G(EDPFAIL)
  1. . ;D GET^EDPQLE($S($$VAL("logID"):$$VAL("logID"),1:$$VAL("logEntry")),$$VAL("choiceTS"))
  1. . D GET^EDPQLE($$VAL("logID"),$$VAL("choiceTS"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; saveLogEntry
  1. ; return <upd />
  1. I CMD="saveLogEntry" D G OUT
  1. . S EDPFAIL=$$UPD^EDPLOG($$VAL("logEntry"),"",$$VAL("restorePatient")) Q:$G(EDPFAIL)
  1. . ; get updated data after a save
  1. . ;D GET^EDPQLE($$VAL("logID"),$$VAL("choiceTS"))
  1. . N PAR,REC S PAR=$$VAL("logEntry") D NVPARSE^EDPX(.REC,PAR)
  1. . D GET^EDPQLE($$VAL^EDPLOG("id"),$$VAL("choiceTS"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; addPatientToLog
  1. ; return <upd />
  1. ; <add />
  1. ; <logEntry>log fields...</logEntry>
  1. ; <choices>choice lists...</choices>
  1. ; <logEntries><log />...</logEntries>
  1. I CMD="addPatientToLog" D G OUT
  1. . S EDPFAIL=$$ADD^EDPLOGA($$VAL("addPatient"),$$VAL("area"),$$VAL("localTime"),$$VAL("choiceTS"))
  1. . Q:$G(EDPFAIL)
  1. . D GET^EDPQLP($$VAL("area"),-1)
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; deleteStubEntry
  1. ; return <upd />
  1. I CMD="deleteStubEntry" D G OUT
  1. . D DEL^EDPLOGA($$VAL("area"),$$VAL("logID"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; removeLogEntry
  1. ; return <upd />
  1. ; <logEntries><log />...</logEntries>
  1. I CMD="removeLogEntry" D G OUT
  1. . D UPD^EDPLOG($$VAL("logEntry"),1) Q:$G(EDPFAIL)
  1. . D GET^EDPQLP($$VAL("area"),-1)
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; matchClosed
  1. ; return <visit />...
  1. I CMD="matchClosed" D G OUT
  1. . D CLOSED^EDPQLP($$VAL("area"),$$VAL("partial"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; loadConfiguration
  1. ; return <color><map />...</color>...
  1. ; <columnList><col />...</columnList>
  1. ; <colorMapList><colorMap><map />...</colorMapList>
  1. ; <beds><bed />...</beds>
  1. ; <params />
  1. ; <defaultRoomList><item />...</defaultRoomList>
  1. ; <displayWhen><when />...</displayWhen>
  1. ; <statusList><status />...</statusList>
  1. I CMD="loadConfiguration" D G OUT
  1. . D LOAD^EDPBCF($$VAL("area"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; loadBoardConfig
  1. ; return <spec><row /><col />...</spec>
  1. I CMD="loadBoardConfig" D G OUT
  1. . D LOADBRD^EDPBCF($$VAL("area"),$$VAL("boardID"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; saveConfigBoard
  1. ; return <save />
  1. I CMD="saveConfigBoard" D G OUT
  1. . D SAVEBRD^EDPBCF(.REQ) ; pass whole request for parsing
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; saveBedConfig
  1. ; return <save />
  1. I CMD="saveBedConfig" D G OUT
  1. . D SAVE^EDPBRM(.REQ,$$VAL("area")) ; pass whole request for parsing
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; saveColorConfig
  1. ; return <save />
  1. I CMD="saveColorConfig" D G OUT
  1. . D SAVE^EDPBCM(.REQ) ; pass whole request for parsing
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; loadSelectionConfig
  1. ; return <selectionName><code />....</selectionName>...
  1. I CMD="loadSelectionConfig" D G OUT
  1. . D LOAD^EDPBSL($$VAL("area"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; loadStaffConfig
  1. ; return providers, nurses, staff for area
  1. I CMD="loadStaffConfig" D G OUT
  1. . D LOAD^EDPBST($$VAL("area"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; saveStaffConfig
  1. ; return <save />
  1. I CMD="saveStaffConfig" D G OUT
  1. . D SAVE^EDPBST(.REQ) ; pass whole request for parsing
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; matchPersons
  1. ; return <per />...<per />
  1. I CMD="matchPersons" D G OUT
  1. . D MATCH^EDPFPER($$VAL("partial"),$$VAL("personType"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; saveParamConfig
  1. ; return <save />
  1. I CMD="saveParamConfig" D G OUT
  1. . D SAVE^EDPBPM($$VAL("area"),$$VAL("param"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; saveSelectionConfig
  1. ; return <save />
  1. I CMD="saveSelectionConfig" D G OUT
  1. . D SAVE^EDPBSL($$VAL("area"),.REQ)
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; getReport
  1. ; return <logEntries><log />...</logEntries>
  1. ; <averages><all /><not /><adm /></averages>
  1. ; <providers><md />...</providers>
  1. I CMD="getReport" D G OUT
  1. . D EN^EDPRPT($$VAL("start"),$$VAL("stop"),$$VAL("report"),$$VAL("id"),0,$$VAL("task"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; getCSV
  1. ; return TAB separated values for report
  1. I CMD="getCSV" D G OUT
  1. . N EDPCSV ; CSV mode uses EDPCSV instead of EDPXML
  1. . D EN^EDPRPT($$VAL("start"),$$VAL("stop"),$$VAL("report"),$$VAL("id"),1,$$VAL("task"))
  1. . M EDPXML=EDPCSV
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; getDetails
  1. I CMD="getDetails" D G OUT
  1. . D EN^EDPDTL($$VAL("logEntryId"),$$VAL("attribute"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; getVitals
  1. I CMD="getVitals" D G OUT
  1. . D GET^EDPVIT($$VAL("dfn"),$$VAL("start"),$$VAL("stop"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; saveVitals
  1. I CMD="saveVitals" D G OUT
  1. . D PUT^EDPVIT($$VAL("dfn"),$$VAL("vital"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; savePhoneNumbers
  1. I CMD="savePhoneNumbers" D G OUT
  1. . D PHONE^EDPUPD($$VAL("patient"),$$VAL("phone"),$$VAL("cell"),$$VAL("nokPhone"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; getLabOrderHistory
  1. I CMD="getLabOrderHistory" D G OUT
  1. . N EDPREQ M EDPREQ=REQ
  1. . I '$D(EDPREQ("order")) D ;find lab orders
  1. .. N LOG,I,N,X
  1. .. S LOG=$$VAL("id"),(I,N)=0 Q:LOG<1
  1. .. F S I=$O(^EDP(230,LOG,8,I)) Q:I<1 S X=$G(^(I,0)) I X,$P(X,U,2)="L" S N=N+1,EDPREQ("order",N)=+X
  1. . D LAB^EDPHIST(.EDPXML,.EDPREQ)
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; getMedEfficacy
  1. ; I CMD="getMedEfficacy" D G OUT
  1. ; . N EDPREQ M EDPREQ=REQ
  1. ; . D MEDHIST^VPRXML(.EDPXML,.EDPREQ)
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; saveClinicalEvent
  1. I CMD="saveClinicalEvent" D G OUT
  1. . N EDPREQ M EDPREQ=REQ
  1. . D EVENT^EDPUPD(.EDPREQ)
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; ackOrders
  1. I CMD="ackOrders" D G OUT
  1. . N EDPREQ M EDPREQ=REQ
  1. . D ACK^EDPUPD(.EDPREQ)
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; getLabs = return lab results
  1. I CMD="getLabs" D G OUT
  1. . D EN^EDPLAB(.EDPXML,.REQ)
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; getRoomBedSelections
  1. I CMD="getRoomBedSelections" D G OUT
  1. . N AREA,LOG,X3,CURBED
  1. . S AREA=$$VAL("area"),LOG=$$VAL("logEntryId")
  1. . S X3=$G(^EDP(230,+LOG,3)),CURBED=+$P(X3,U,4)_U_$P(X3,U,9)
  1. . D BEDS^EDPQLE
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; getChart
  1. ; I CMD="getChart" D G OUT
  1. ; . D ALL^VPRXML(.EDPXML,$$VAL("patient"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; loadWorksheet
  1. I CMD="loadWorksheet" D G OUT
  1. . D LOAD^EDPWS(.REQ) ;; need to create CTXT (patient, visit, etc.)
  1. ; --- OLD:
  1. I CMD="loadDefinition" D G OUT
  1. . D LOAD^EDPWS(0)
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; loadWorksheetConfig
  1. I CMD="loadWorksheetConfig" D G OUT
  1. . D LOADALL^EDPBWS($$VAL("area"),$$VAL("role"))
  1. ;
  1. ; ---------------------------------
  1. ; loadWorksheetList
  1. I CMD="loadWorksheetList" D G OUT
  1. . D LDWSLIST^EDPBWS(EDPSITE,$$VAL("area"),$$VAL("roleID"))
  1. ;
  1. ; ---------------------------------
  1. ; getWorksheet
  1. I CMD="getWorksheet" D G OUT
  1. . D GETWORKS^EDPBWS(EDPSITE,$$VAL("id"),.REQ,.EDPXML)
  1. ;
  1. ; ---------------------------------
  1. ; getSectionList
  1. I CMD="getSectionList" D G OUT
  1. . D GETSECTS^EDPBWS($$VAL("area"),.EDPXML,$$VAL("role"))
  1. ;
  1. ; ---------------------------------
  1. ; getSection
  1. ;I CMD="getSection" D G OUT
  1. ;. D GET1SEC^EDPBWS($$val("sectionID"))
  1. ; ---------------------------------
  1. ; getComponentList
  1. I CMD="getComponentList" D G OUT
  1. . D GETCMPTS^EDPBWS($$VAL("area"),.EDPXML,$$VAL("componentID"),$$VAL("role"))
  1. ; ---------------------------------
  1. ; saveWorksheetConfig
  1. I CMD="saveWorksheetConfig" D G OUT
  1. . ;D SAVEALL^EDPBWS(.REQ)
  1. . D SAVEWORK^EDPBWS(.PARAMS,.PARAMS2,EDPSITE,$$VAL("area"))
  1. ; ---------------------------------
  1. ; loadUserProfile
  1. I CMD="loadUserProfile" D G OUT
  1. . D BOOT^EDPFAA($$VAL("appName"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; getPatientPanel
  1. I CMD="getPatientPanel" D G OUT
  1. . D GET^EDPQDBS($$VAL("area"),$$VAL("board"))
  1. . D GET^EDPQPP($$VAL("area"),$$VAL("board"),-1)
  1. . D LISTS^EDPQPP($$VAL("area"))
  1. ;
  1. ; ---------------------------------
  1. ;
  1. ; else
  1. D XML^EDPX("<error msg='"_$$MSG^EDPX(2300010)_CMD_"' />")
  1. ; end switch
  1. ;
  1. OUT ; output the XML
  1. I EDPDBUG D PUTXML^EDPCDBG(EDPDBUG,.EDPXML)
  1. I $L($G(EDPHTTP)) D ; if in CSP mode
  1. . U EDPHTTP
  1. . W "<results>",!
  1. . N I S I=0 F S I=$O(EDPXML(I)) Q:'I W EDPXML(I),!
  1. . W "</results>",!
  1. K EDPHTTP
  1. END Q
  1. ;
  1. VAL(X) ; return value from request
  1. Q $G(REQ(X,1))