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: