Files
St.Clair/MLMStripper/bin/Debug/DOC/DOC_SCH_AUTOSELECT_ANESTHESIA_INSTRUCTION.mlm

143 lines
6.0 KiB
Plaintext

maintenance:
title: DOC_SCH_AUTOSELECT_ANESTHESIA_INSTRUCTION ;;
mlmname: DOC_SCH_AUTOSELECT_ANESTHESIA_INSTRUCTION;;
arden: version 2.5;;
version: 1.00;;
institution: St.Clair Hospital ;;
author: Ankit Mistry ;;
specialist: ;;
date: 2017-08-23;;
validation: testing;;
library:
purpose:
When user select “You received IV Sedation or General Anesthesia, for next 24 hours:"
- It will auto select all the 4 options:
1) Have a responsible adult stay with you
2) Do not make important personal decisions or sign lega documents
3) No driving or operating dangerous machinery
4) No alcoholic beverages
When user de-select “You received IV Sedation or General Anesthesia, for next 24 hours:"
- It will auto de-select all the 4 options:
1) Have a responsible adult stay with you
2) Do not make important personal decisions or sign lega documents
3) No driving or operating dangerous machinery
4) No alcoholic beverages
;;
explanation:
Change History
;;
keywords:
;;
citations:
;;
knowledge:
type: data-driven;;
data:
(this_documentCommunication) := argument;
ST_OBS_A := "SCH OR_DIOS_GA MSSD";
ST_OBS_B := "SCH OR_DIOS_General Anesthesia";
ST_OBS_C := "SCH OR_DIOS_General Anesthesia PH";
//grab values we are interested in
/*DocumentName := this_documentCommunication.DocumentName ;
thisStructuredNoteDoc := this_documentCommunication.DocumentConfigurationObj;
thisParameters := thisStructuredNoteDoc.ParametersList;
thisObservations := thisStructuredNoteDoc.ChartedObservationsList;*/
(this_doc) := this_documentCommunication.DocumentConfigurationObj;
(this_ParametersList) := this_doc.ParametersList;
(this_parameters) := this_Doc.ParamatersList.records__;
(this_currentObs) := this_documentCommunication.CurrentObservationObj;
this_CurrentObsName := FIRST OF (this_parameters.Name WHERE this_parameters.ParameterGUID = this_currentObs.ParameterGUID);
this_CurrentListvalue := FIRST OF (this_currentObs.ValueObj.ListItemsList.Value WHERE this_currentObs.ValueObj.ListItemsList.IsSelected = TRUE);
this_ListValues := (this_currentObs.ValueObj.ListItemsList.Value WHERE this_currentObs.ValueObj.ListItemsList.IsSelected = TRUE);
this_ListValues_Unchecked := FIRST OF (this_currentObs.ValueObj.ListItemsList.Value WHERE this_currentObs.ValueObj.ListItemsList.IsSelected = FALSE);
this_ListValues_checked := FIRST OF (this_currentObs.ValueObj.ListItemsList.Value WHERE this_currentObs.ValueObj.ListItemsList.IsSelected = TRUE);
this_DocumentType := this_documentcommunication.DocumentType;
(this_ClientDocumentGUID) := this_Doc.ClientDocumentGUID;
this_ClientDocumentGUID := this_Doc.ClientDocumentGUID;
this_chartedObservationsList := this_Doc.ChartedObservationsList;
this_EventType := this_documentCommunication.EventType;
this_ClientGUID := this_documentCommunication.ClientGUID;
this_ChartGUID := this_documentCommunication.ChartGUID;
this_ConfigurationGUID := this_documentCommunication.ConfigurationGUID;
zz:= this_doc.ParametersList.Records__;
z1 := FIRST OF (zz WHERE zz.Name = ST_OBS_B);
zzz2 := FIRST OF (this_ParametersList.ParameterGUID WHERE this_ParametersList.Name = ST_OBS_B);
Rad_prm_Name := FIRST OF (this_ParametersList.Name WHERE this_ParametersList.Name = ST_OBS_B);
Rad_True := FIRST OF (this_currentObs.ValueObj.ListItemsList.Value WHERE this_currentObs.ParameterGUID = zzz2 AND this_currentObs.ValueObj.ListItemsList.IsSelected = TRUE);
Rad_False := FIRST OF (this_currentObs.ValueObj.ListItemsList.Value WHERE this_currentObs.ParameterGUID = zzz2 AND this_currentObs.ValueObj.ListItemsList.IsSelected = FALSE);
CALLED_DOM_MLM := MLM {{{SINGLE-QUOTE}}}CALLED_DOM_CCC{{{SINGLE-QUOTE}}};
SuggestedTextValue := "";
REPLACE_APPEND := "Replace";
Parm := OBJECT [ListValue, IsSelected];
Parms := ();
//break;
IF this_CurrentListvalue = "IV Sedation/General Anesthesia, for next 24 hours" AND EXISTS Rad_True THEN
ParmObj := NEW Parm WITH "Have a responsible adult stay with you", TRUE;
Parms := ParmObj;
ParmObj := NEW Parm WITH "Do not make important personal decisions or sign legal documents", TRUE;
Parms := Parms, ParmObj;
ParmObj := NEW Parm WITH "No driving or operating dangerous machinery", TRUE;
Parms := Parms, ParmObj;
ParmObj := NEW Parm WITH "No alcoholic beverages", TRUE;
Parms := Parms, ParmObj;
this_documentCommunication := CALL CALLED_DOM_MLM WITH (this_documentCommunication,ST_OBS_A , Parms, SuggestedTextValue, REPLACE_APPEND);
//break;
ELSEIF EXISTS this_ListValues_Unchecked THEN
ParmObj := NEW Parm WITH "IV Sedation/General Anesthesia, for next 24 hours" , FALSE;
//ParmObj := NEW Parm WITH "Have a responsible adult stay with you", FALSE;
Parms := ParmObj;
this_documentCommunication := CALL CALLED_DOM_MLM WITH (this_documentCommunication,ST_OBS_B , Parms, SuggestedTextValue, REPLACE_APPEND);
ENDIF;
IF Rad_prm_Name = "SCH OR_DIOS_General Anesthesia" AND EXISTS Rad_False THEN
ParmObj := NEW Parm WITH "Have a responsible adult stay with you" , FALSE;
Parms := ParmObj;
ParmObj := NEW Parm WITH "Do not make important personal decisions or sign legal documents", FALSE;
Parms := Parms, ParmObj;
ParmObj := NEW Parm WITH "No driving or operating dangerous machinery", FALSE;
Parms := Parms, ParmObj;
ParmObj := NEW Parm WITH "No alcoholic beverages", FALSE;
Parms := Parms, ParmObj;
//break;
this_documentCommunication := CALL CALLED_DOM_MLM WITH (this_documentCommunication,ST_OBS_A , Parms, SuggestedTextValue, REPLACE_APPEND);
ENDIF;
;;
priority: 50
;;
evoke:
;;
logic:
conclude true;
;;
action: return this_documentCommunication;
;;
Urgency: 50;;
end: