Initial Checking with all 820 MLMs
This commit is contained in:
@@ -0,0 +1,153 @@
|
||||
maintenance:
|
||||
|
||||
title: Form_Set_AdmitToInPatient_PlaceInObs ;;
|
||||
mlmname: Form_Set_AdmitToInPatient_PlaceInObs ;;
|
||||
arden: version 2.5;;
|
||||
version: 6.00;;
|
||||
institution: St. Clair Hospital ;;
|
||||
author: Shivprasad Jadhav;;
|
||||
specialist: Shubha Rai;;
|
||||
date: 2015-01-16;;
|
||||
validation: testing;;
|
||||
|
||||
library:
|
||||
purpose: Explanation to Change
|
||||
-----------------------------------------
|
||||
14-05-2015 - GMS - Created New
|
||||
|
||||
;;
|
||||
explanation: This will have an MLM that will pull the data as per the below format.
|
||||
Fall Risk Score = "4" (ED Triage Note) and
|
||||
Resistant Organism= "V" (Patient Info- Comments) (N= No Flag, V = VRE, M=MRSA, O= Other)
|
||||
;;
|
||||
keywords:
|
||||
;;
|
||||
citations:
|
||||
;;
|
||||
knowledge:
|
||||
type: data-driven;;
|
||||
data:
|
||||
|
||||
// This MLM is passed three arguments, of types
|
||||
// communication_type, form_type and client info object respectively.
|
||||
|
||||
(this_communication, // Communication object
|
||||
this_form, // Form object
|
||||
client_info_obj //Arden ClientInfo object
|
||||
) := argument;
|
||||
|
||||
|
||||
/*******************Make Changes To Spelling And Flags In This Section*******************/
|
||||
|
||||
log_execution_info := FALSE;
|
||||
error_message:="";
|
||||
|
||||
BaseMLM := MLM {{{SINGLE-QUOTE}}}FORM_OBSERVATION_ADT{{{SINGLE-QUOTE}}};
|
||||
this_communication,this_form := Call BaseMLM With this_communication,this_form,client_info_obj ;
|
||||
|
||||
// Assigns fields passed in the Form object to the Field object
|
||||
field_list:= this_form.fields;
|
||||
clientGuid := this_communication.ClientGUID;
|
||||
visitGuid := this_communication.ClientVisitGUID;
|
||||
chartGuid := this_communication.ChartGUID;
|
||||
|
||||
CallingEvent := this_communication.CallingEvent;
|
||||
CallingField := this_communication.CallingFieldName;
|
||||
|
||||
item_event := this_communication.itemevent;
|
||||
form_type := this_communication.formtype;
|
||||
|
||||
MRO_Risk_Status := last of ( field_list WHERE field_list.DataItemName = "Admit_free text"
|
||||
and field_list.Control_MultiFieldOccNum = 1);
|
||||
MRO_Risk_Status_Val := MRO_Risk_Status.Value;
|
||||
|
||||
|
||||
|
||||
|
||||
Ord_Doc := OBJECT [Obs_name, Obs_val , Obs_Doc ] ;
|
||||
Ord_vals1 := read as Ord_Doc { " select ocmi.Description, o.ValueText, cd.DocumentName "
|
||||
|| " from CV3ClientDocument cd with (nolock) "
|
||||
|| " join CV3ClientDocDetail cdd with (nolock) ON (cdd.ClientDocumentGUID = cd.GUID AND cdd.ClientGUID = cd.clientguid and cdd.active = 1) "
|
||||
|| " join CV3ObservationDocument od with (nolock)ON cdd.CLientDocumentGUID = od.OwnerGUID and od.active = 1 "
|
||||
|| " join CV3Observation o with (nolock) ON o.GUID = od.ObservationGUID "
|
||||
|| " join CV3ObsCatalogMasterItem ocmi with (nolock) on od.ObsMasterItemGUID = ocmi.GUID "
|
||||
|| " AND ocmi.Name in ({{{SINGLE-QUOTE}}}sch_edtriage_fallriskscore{{{SINGLE-QUOTE}}}) "
|
||||
|| " where cd.chartguid = " || chartGuid
|
||||
|| " and cd.clientguid = " || clientGuid
|
||||
|| " and cd.clientvisitguid = " || visitGuid
|
||||
|| " And cd.iscanceled = 0 "
|
||||
|| " and cd.DocumentName ={{{SINGLE-QUOTE}}}ED Triage Note{{{SINGLE-QUOTE}}} " };
|
||||
|
||||
/*Ord_Comment := OBJECT [Obs_name1, Obs_val1 , Obs_Doc1 ] ;
|
||||
Ord_vals2 := read as Ord_Comment { " Select cd.TypeCode, cd.Text, {{{SINGLE-QUOTE}}}Patient Info- Comments{{{SINGLE-QUOTE}}} As Doc "
|
||||
|| " from CV3CommentDeclaration cd With (Nolock) join cv3ClientVisit cv With (Nolock) "
|
||||
|| " On cd.ClientVisitGUID =cv.GUID And cd.ClientGUID=cv.ClientGUID And cd.ChartGUID=cv.ChartGUID And cd.TypeCode ={{{SINGLE-QUOTE}}}Resist Organism{{{SINGLE-QUOTE}}} "
|
||||
|| " where cv.chartguid = " || chartGuid
|
||||
|| " and cv.clientguid = " || clientGuid
|
||||
|| " and cv.GUID = " || SQL(visitGuid) || " " }; */
|
||||
|
||||
|
||||
Ord_Comment := OBJECT [Obs_name1, Obs_val1 , Obs_Doc1 ] ;
|
||||
Ord_vals2 := read as Ord_Comment { " Select cd.TypeCode, cd.Text, {{{SINGLE-QUOTE}}}Patient Info- Comments{{{SINGLE-QUOTE}}} As Doc "
|
||||
|| " from CV3CommentDeclaration cd "
|
||||
|| " where cd.clientguid = " || clientGuid
|
||||
|| " and cd.TypeCode = {{{SINGLE-QUOTE}}}Resist Organism{{{SINGLE-QUOTE}}} "
|
||||
|| " And cd.Status = {{{SINGLE-QUOTE}}}Active{{{SINGLE-QUOTE}}} " };
|
||||
|
||||
|
||||
|
||||
Ord_Orient := OBJECT [Obs_O_name, Obs_Conc_Val ] ;
|
||||
Ord_OrientVal := read as Ord_Orient { " SELECT Top 1 omi.name, Stuff(( Select {{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}+ oflv1.value "
|
||||
|| " from SCMObsFSListValues oflv1 Where oflv1.ClientGUID = oflv.ClientGUID And oflv1.ParentGUID= oflv.ParentGUID "
|
||||
|| " FOR XML PATH({{{SINGLE-QUOTE}}}{{{SINGLE-QUOTE}}}), TYPE).value({{{SINGLE-QUOTE}}}.{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}varchar(max){{{SINGLE-QUOTE}}}), 1, 1, {{{SINGLE-QUOTE}}}{{{SINGLE-QUOTE}}}) as {{{SINGLE-QUOTE}}}Value{{{SINGLE-QUOTE}}} "
|
||||
|| " FROM CV3ClientDocument cd WITH (NOLOCK) "
|
||||
|| " INNER JOIN cv3ClientVisit cv With (Nolock) ON cv.GUID = cd.ClientVisitGUID AND cv.chartguid = cd.ChartGUID And cv.clientguid = cd.ClientGUID And cd.iscanceled = 0 And cd.Active = 1 "
|
||||
|| " AND cd.DocumentName = {{{SINGLE-QUOTE}}}ED Triage Note{{{SINGLE-QUOTE}}} "
|
||||
|| " INNER JOIN SXACDObservationParameter OP WITH(NOLOCK) ON OP.ClientGUID = cd.ClientGUID AND OP.ChartGUID = cd.ChartGUID And op.OwnerGUID=cd.guid "
|
||||
|| " AND OP.PatCareDocGUID = cd.PatCareDocGUID AND OP.RecordedDtm = cd.AuthoredDtm "
|
||||
|| " INNER JOIN CV3ObsCatalogMasterItem omi WITH(NOLOCK) ON omi.GUID = op.ObsMasterItemGUID And omi.name in ({{{SINGLE-QUOTE}}}AS Orientation{{{SINGLE-QUOTE}}}) "
|
||||
|| " LEFT JOIN SCMObsFSListValues oflv WITH(NOLOCK) ON oflv.ParentGUID = op.ObservationDocumentGUID AND oflv.Active = 1 "
|
||||
|| " AND cd.ClientGUID = oflv.ClientGUID "
|
||||
|| " Where cv.GUID = " || SQL(visitGuid) || " And cv.clientguid = " || clientGuid || " And cv.chartguid = " || chartGuid
|
||||
|| " Group by cv.VisitIDCode, op.OwnerGUID, omi.name, oflv.GUID,oflv.value, oflv.ClientGUID , oflv.ParentGUID,cd.TouchedBy, cd.TouchedWhen "
|
||||
|| " ORDER BY cd.TouchedWhen Desc " };
|
||||
|
||||
TextString := "";
|
||||
|
||||
If Exists Ord_vals1 Then
|
||||
FOR a IN 1 SEQTO COUNT OF Ord_vals1 DO
|
||||
TextString := TextString || Ord_vals1.Obs_name[a] || "= " || Ord_vals1.Obs_val[a] ; //( " || Ord_vals1.Obs_Doc[a] || " ) ,\n" ;
|
||||
EndDo;
|
||||
If Exists Ord_vals2 Then TextString := TextString || " " ; EndIf;//TextString := TextString || " ,\n" ; EndIf;
|
||||
|
||||
Endif;
|
||||
|
||||
If Exists Ord_vals2 Then
|
||||
FOR a IN 1 SEQTO COUNT OF Ord_vals2 DO
|
||||
TextString := TextString || "MRO" || "= " || Ord_vals2.Obs_val1[a] ; // || " ( " || Ord_vals2.Obs_Doc1[a] || " ) " ;
|
||||
Enddo;
|
||||
If Exists Ord_OrientVal Then TextString := TextString || " " ; EndIf; //TextString := TextString || " ,\n" ; EndIf;
|
||||
Endif;
|
||||
|
||||
If Exists Ord_OrientVal Then
|
||||
FOR a IN 1 SEQTO COUNT OF Ord_OrientVal DO
|
||||
TextString := TextString || Ord_OrientVal.Obs_Conc_Val[a] ; // || " ( " || Ord_vals2.Obs_Doc1[a] || " ) " ;
|
||||
Enddo;
|
||||
Endif;
|
||||
|
||||
|
||||
|
||||
|
||||
MRO_Risk_Status.Value := TextString ;
|
||||
|
||||
;;
|
||||
priority: 50
|
||||
;;
|
||||
evoke:
|
||||
;;
|
||||
logic: conclude true;
|
||||
;;
|
||||
action: return this_communication, this_form;
|
||||
;;
|
||||
Urgency: 50;;
|
||||
end:
|
||||
Reference in New Issue
Block a user