SunwaveEMR Notes
Basic Flow:
dart file (71) → HttpRequest → src/main/java/com/sunwave/emr/server/Processor.java Lookup Process Listener form “map” 1451 → Concrete object of src/main/java/com/sunwave/emr/server/ProcessorListener.java 1 of 544 processors. → Database call with json object using either DAO (211) or pre-parestatment (257 Processors) or nsql (71). Note good number use 2 or more.
Script Code for analysis (The output files have been attached):
mvn clean
find . -name "*.dart" | xargs grep -i prepare | cut -d ':' -f 1 | sort -u | wc -l
find . -name "*Processor*.java" | xargs grep -i prepare | cut -d ':' -f 1 | sort -u | wc -l
find . -name "*Processor*.java" | xargs grep -i prepare | cut -d ':' -f 1 | sort -u > ../PrepareStmt.txt
find . -name "*Processor*.java" | xargs grep -i dao | cut -d ':' -f 1 | sort -u > ../DaoList.txt
find . -name "*Processor*.java" | xargs grep -i nosql | cut -d ':' -f 1 | sort -u > ../NosqlList.txt
Endpoints:
Dashboard Trace:
Login
Trace:
src/main/webapp/loginform.jsp - Init JSP Page
Login Fail
Trace:
aa
Display Dashboard:
Trace:
Normal Paths for Dashboard:
Tomcat coyoteReqquest Strings:
R( /SunwaveEMR/Processor/validate2fa/) -src/main/webapp/SunwaveClient/build/web/out_of_band.dart:validate2fa(L43) - Builds
SunwaveEMR/Processor/validate2fa/?method=check_required
string to call src/main/java/com/sunwave/emr/server/Processor.java:validateSSO
(L1199) Get Parent Clinic id from sw_clinic table query using src/main/java/com/sunwave/emr/report/ReportProcessor.java:toJSONArrayOfJSONObject(L817) call src/main/java/com/sunwave/emr/server/Processor.java:checkDevice
(L1272) → if not using “sunwave-admin” validate againstsw_authorized_device
database.R( /SunwaveEMR/Processor/validateDevice/) - call src/main/java/com/sunwave/emr/server/Processor.java:
checkDevice
(L1272) → if not using “sunwave-admin” validate againstsw_authorized_device
database.R( /SunwaveEMR/Processor/clinicStatus/) - src/main/java/com/sunwave/emr/server/Processor.javasrc/main/java/com/sunwave/emr/clinic/ClinicStatus.java:goGet (L128) call: src/main/java/com/sunwave/emr/clinic/ClinicStatus.java:processGET(L16) → getClinicStatus(L82) get
active_flag,modified
fromsw_clinic
R( /SunwaveEMR/Processor/levelOfCare/)
R( /SunwaveEMR/Processor/userProfile/)
R( /SunwaveEMR/Processor/urgentAlert/)
R( /SunwaveEMR/Processor/clinicStatus/)
R( /SunwaveEMR/Processor/serviceFacilityProcessor/)
R( /SunwaveEMR/Processor/signatureRolesForUser/)
R( /SunwaveEMR/Processor/funnelReportProcessor/)
R( /SunwaveEMR/Processor/teamQueueProcessor/)
R( /SunwaveEMR/Processor/approveNarcoticsOrder/)
R( /SunwaveEMR/Processor/approvedActionOrderProcessor/)
R( /SunwaveEMR/Processor/userPicture/)
R( /SunwaveEMR/Processor/signatureRolesForUser/)
R( /SunwaveEMR/Processor/readyForReview/)
Tomcat Timer coyoteRequests:
R( /SunwaveEMR/Processor/urgentAlert/)
R( /SunwaveEMR/Processor/waveReminder/)
If the debug session takes to long or the user is on slow processor revalidate the requirest: src/main/java/com/sunwave/emr/server/util/PrepareSession.java:loadHttpSession(L63) - creates Session Id based on Clinic Id “CLINC_505798998” L1253 creates the JSON object for the validate query.
Dashboard Notes/Questions:
Check Production logs for the string:
>>>>>>>>>> SLOW PROCESSOR:
Should we have an agent watch for this and alert us?Navigation/Display done via Tomcat Coyote Requests see Index of /tomcat-8.5-doc/api/org/apache/coyote