86 lines
2.7 KiB
Plaintext
86 lines
2.7 KiB
Plaintext
maintenance:
|
|
|
|
title: BMI Checking;;
|
|
mlmname: DOC_FUNC_BMI_Check;;
|
|
arden: version 5.0;;
|
|
version: 2.00;;
|
|
institution: St.Clair Hospital;;
|
|
author: Teresa Spicuzza;;
|
|
specialist: ;;
|
|
date: 2011-06-28;;
|
|
validation: testing;;
|
|
|
|
library:
|
|
purpose:
|
|
;;
|
|
explanation:
|
|
Change history
|
|
|
|
06.28.2011 TS Created
|
|
01.30.2012 DW Optimized for FP1
|
|
|
|
;;
|
|
keywords:
|
|
;;
|
|
knowledge:
|
|
type: data-driven;;
|
|
data:
|
|
|
|
//Message box
|
|
standard_libs := mlm {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}};
|
|
include standard_libs;
|
|
|
|
using "ObjectsPlusXA.SCM.Forms";
|
|
using namespace "ObjectsPlusXA.SunriseClinicalManager.Forms";
|
|
|
|
|
|
// Receive arguments from the structured note
|
|
(thisDocumentCommunication) := argument;
|
|
// Get the user, charte, client and visit GUIDs
|
|
userGuid := thisDocumentCommunication.UserGUID;
|
|
clientGuid := thisDocumentCommunication.ClientGUID;
|
|
clientvisitGuid := thisDocumentCommunication.ClientVisitGUID;
|
|
chartGuid := thisDocumentCommunication.ChartGUID;
|
|
|
|
/* Get the current user{{{SINGLE-QUOTE}}}s occupation*/
|
|
UserCode := read last
|
|
{"Select occupationcode "
|
|
||" From cv3user "
|
|
||" Where Guid = " || SQL(userguid) };
|
|
|
|
|
|
// Chart Observation Section
|
|
|
|
IF thisdocumentCommunication.EventType ="DocumentOpening" and usercode is in ("RN", "LPN", "CNA", "PCA", "GN", "IT") then
|
|
|
|
BMIvaluetext, obsname := read last {"Select o.ValueText, oci.name from CV3ClientDocumentcur cd "
|
|
|| " join CV3ClientDocDetailcur cdd on (cdd.ClientDocumentGUID = cd.GUID AND cdd.ClientGUID = " || SQL(ClientGuid) || ") "
|
|
|| " join CV3ObservationDocumentcur od on cdd.CLientDocumentGUID = od.OwnerGUID and od.active = 1 "
|
|
|| " join CV3ObsCatalogMasterItem on od.ObsMasterItemGUID = CV3ObsCatalogMasterItem.GUID "
|
|
|| " join CV3Observationcur o on o.GUID = od.ObservationGUID "
|
|
|| " LEFT OUTER JOIN CV3User u ON o.UserGUID = u.GUID "
|
|
|| " join cv3obscatalogitem oci on oci.guid = o.obsitemguid and oci.name = {{{SINGLE-QUOTE}}}SCH_vs_BMI{{{SINGLE-QUOTE}}} "
|
|
|| " where cd.clientguid = " || SQL(ClientGuid) || " and cd.chartguid = " || SQL(ChartGuid)
|
|
|| " and o.ValueText is not null "
|
|
|| " order by cd.authoreddtm asc " };
|
|
|
|
If BMIvaluetext is null then
|
|
msg:= "This patient does not have a documented BMI."
|
|
|| "\n\nPlease document the patient{{{SINGLE-QUOTE}}}s Height/Length and Admission/Current Weight in the same time column to calculate the BMI.";
|
|
|
|
dialogResult := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with msg,"Alert","OK" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
|
|
endif;
|
|
|
|
endif;
|
|
|
|
|
|
;;
|
|
evoke:
|
|
;;
|
|
logic: conclude true;
|
|
;;
|
|
action: return thisDocumentCommunication;
|
|
;;
|
|
Urgency: 50;;
|
|
end:
|