1 | <?xml version="1.0" encoding="utf-8"?>
|
---|
2 | <!-- LogEntryEditor.mxml -->
|
---|
3 |
|
---|
4 | <mx:VBox
|
---|
5 | xmlns:mx="http://www.adobe.com/2006/mxml"
|
---|
6 | xmlns:widget="gov.va.med.edp.widget.*"
|
---|
7 | xmlns:log="gov.va.med.edp.view.log.*"
|
---|
8 | xmlns:accessibility="flash.accessibility.*"
|
---|
9 | currentState="{model.logEntryViewState}"
|
---|
10 | keyDown="keyHandler(event)" >
|
---|
11 |
|
---|
12 | <mx:states>
|
---|
13 | <mx:State name="Message" enterState="initMessageState()" >
|
---|
14 | <mx:RemoveChild target="{patientBar}" />
|
---|
15 | <mx:RemoveChild target="{entryForm}" />
|
---|
16 | <mx:RemoveChild target="{btnArea}" />
|
---|
17 | <mx:AddChild>
|
---|
18 | <mx:Canvas id="msgArea" width="100%" height="100%" >
|
---|
19 | <mx:TextArea
|
---|
20 | id="txtMsg"
|
---|
21 | accessibilityProperties="{accMsg}"
|
---|
22 | text="{model.logEdit.message}"
|
---|
23 | tabIndex="99"
|
---|
24 | restrict="*~_"
|
---|
25 | horizontalCenter="0" verticalCenter="0" textAlign="center"
|
---|
26 | styleName="accessibleControlLabel" />
|
---|
27 | </mx:Canvas>
|
---|
28 | </mx:AddChild>
|
---|
29 | </mx:State>
|
---|
30 | <mx:State name="EditClosed" enterState="initEditState()" >
|
---|
31 | <mx:AddChild relativeTo="{entryForm}" position="after">
|
---|
32 | <log:DiagnosesFreeText width="100%" paddingBottom="18" />
|
---|
33 | </mx:AddChild>
|
---|
34 | </mx:State>
|
---|
35 | <mx:State name="EditClosedCoded" enterState="initEditState()" >
|
---|
36 | <mx:AddChild relativeTo="{entryForm}" position="after">
|
---|
37 | <log:DiagnosesCoded width="100%" paddingBottom="18" />
|
---|
38 | </mx:AddChild>
|
---|
39 | </mx:State>
|
---|
40 | <mx:State name="SignIn" enterState="initEditState()" >
|
---|
41 | <mx:RemoveChild target="{longComplaintItem}" />
|
---|
42 | <mx:RemoveChild target="{acuityItem}" />
|
---|
43 | <mx:RemoveChild target="{clinicItem}" />
|
---|
44 | <mx:RemoveChild target="{statusItem}" />
|
---|
45 | <mx:RemoveChild target="{providerItem}" />
|
---|
46 | <mx:RemoveChild target="{residentItem}" />
|
---|
47 | <mx:RemoveChild target="{nurseItem}" />
|
---|
48 | <mx:RemoveChild target="{commentItem}" />
|
---|
49 | <mx:RemoveChild target="{dispositionItem}" />
|
---|
50 | <mx:RemoveChild target="{delayItem}" />
|
---|
51 | <mx:RemoveChild target="{timeInItem}" />
|
---|
52 | <mx:RemoveChild target="{timeOutItem}" />
|
---|
53 | </mx:State>
|
---|
54 | <mx:State name="Triage" enterState="initEditState()">
|
---|
55 | <mx:RemoveChild target="{commentItem}" />
|
---|
56 | <mx:RemoveChild target="{dispositionItem}" />
|
---|
57 | <mx:RemoveChild target="{delayItem}" />
|
---|
58 | <mx:RemoveChild target="{timeInItem}" />
|
---|
59 | <mx:RemoveChild target="{timeOutItem}" />
|
---|
60 | </mx:State>
|
---|
61 | <mx:State name="Update" enterState="initEditState()" >
|
---|
62 | <mx:RemoveChild target="{complaintItem}" />
|
---|
63 | <mx:RemoveChild target="{longComplaintItem}" />
|
---|
64 | <mx:RemoveChild target="{acuityItem}" />
|
---|
65 | <mx:RemoveChild target="{clinicItem}" />
|
---|
66 | <mx:RemoveChild target="{arrivalItem}" />
|
---|
67 | <mx:RemoveChild target="{dispositionItem}" />
|
---|
68 | <mx:RemoveChild target="{delayItem}" />
|
---|
69 | <mx:RemoveChild target="{timeInItem}" />
|
---|
70 | <mx:RemoveChild target="{timeOutItem}" />
|
---|
71 | </mx:State>
|
---|
72 | <mx:State name="UpdateNoRes" basedOn="Update" enterState="initEditState()" >
|
---|
73 | <mx:RemoveChild target="{residentItem}" />
|
---|
74 | </mx:State>
|
---|
75 | <mx:State name="DispDelay" enterState="initEditState()" >
|
---|
76 | <mx:RemoveChild target="{complaintItem}" />
|
---|
77 | <mx:RemoveChild target="{longComplaintItem}" />
|
---|
78 | <mx:RemoveChild target="{acuityItem}" />
|
---|
79 | <mx:RemoveChild target="{clinicItem}" />
|
---|
80 | <mx:RemoveChild target="{arrivalItem}" />
|
---|
81 | <mx:RemoveChild target="{nurseItem}" />
|
---|
82 | <mx:RemoveChild target="{commentItem}" />
|
---|
83 | <mx:RemoveChild target="{timeInItem}" />
|
---|
84 | <mx:RemoveChild target="{timeOutItem}" />
|
---|
85 | <mx:AddChild relativeTo="{entryForm}" position="after" creationPolicy="all">
|
---|
86 | <log:DiagnosesFreeText id="diagnosesFreeText" width="100%" paddingBottom="18" />
|
---|
87 | </mx:AddChild>
|
---|
88 | <mx:AddChild relativeTo="{btnArea}" position="firstChild" >
|
---|
89 | <mx:Button
|
---|
90 | label="Save & Remove from Board"
|
---|
91 | enabled="{model.logEdit.entry.removeReady}"
|
---|
92 | click="removeEntry()" tabIndex="1899"/>
|
---|
93 | </mx:AddChild>
|
---|
94 | </mx:State>
|
---|
95 | <mx:State name="DispDelayCoded" basedOn="DispDelay" enterState="initEditState()" >
|
---|
96 | <mx:RemoveChild target="{diagnosesFreeText}" />
|
---|
97 | <mx:AddChild relativeTo="{entryForm}" position="after" creationPolicy="all">
|
---|
98 | <log:DiagnosesCoded id="diagnosesCoded" width="100%" paddingBottom="18" />
|
---|
99 | </mx:AddChild>
|
---|
100 | </mx:State>
|
---|
101 | </mx:states>
|
---|
102 |
|
---|
103 | <mx:Script>
|
---|
104 | <![CDATA[
|
---|
105 | import gov.va.med.edp.util.AccessibilityTools;
|
---|
106 | import gov.va.med.edp.pt.demog.model.MatchingPatientsModel;
|
---|
107 | import gov.va.med.edp.pt.demog.model.PatientChecksModel;
|
---|
108 | import gov.va.med.edp.pt.demog.IPatientChecksController;
|
---|
109 | import gov.va.med.edp.widget.InfoDialog;
|
---|
110 | import mx.controls.TextArea;
|
---|
111 | import gov.va.med.edp.control.RemoveLogEntryEvent;
|
---|
112 | import gov.va.med.edp.vo.LogEntryVO;
|
---|
113 | import mx.validators.Validator;
|
---|
114 |
|
---|
115 | import gov.va.med.edp.control.TrackingEvent;
|
---|
116 | import gov.va.med.edp.model.TrackingModelLocator;
|
---|
117 | import gov.va.med.edp.util.ChangeWatcher;
|
---|
118 |
|
---|
119 | [Bindable]
|
---|
120 | public var ptChecksController:IPatientChecksController;
|
---|
121 |
|
---|
122 | [Bindable]
|
---|
123 | public var patientChecksModel:PatientChecksModel;
|
---|
124 |
|
---|
125 | [Bindable]
|
---|
126 | private var model: TrackingModelLocator = TrackingModelLocator.getInstance();
|
---|
127 |
|
---|
128 | [Bindable]
|
---|
129 | private var _showDelay: Boolean = false; // shows delay if edit closed or server rejects due to delay missing
|
---|
130 |
|
---|
131 | private var _validators: Array;
|
---|
132 | private var _txtMsg: TextArea;
|
---|
133 |
|
---|
134 | private function initMessageState(): void
|
---|
135 | {
|
---|
136 | if (AccessibilityTools.isAccessibilityActive()) {
|
---|
137 | callLater(txtMsg.setFocus);
|
---|
138 | } else {
|
---|
139 | txtMsg.editable = false;
|
---|
140 | }
|
---|
141 | }
|
---|
142 |
|
---|
143 | private function initEditState(): void
|
---|
144 | {
|
---|
145 | // reCalc Widths
|
---|
146 | var item: FormItem;
|
---|
147 | var minWidth: int = 30;
|
---|
148 | var newWidth: int;
|
---|
149 |
|
---|
150 | for (var i: int = 0; i < entryForm.numChildren; i++) {
|
---|
151 | item = entryForm.getChildAt(i) as FormItem;
|
---|
152 | newWidth = item.measureText(item.label + "M").width;
|
---|
153 | if (newWidth > minWidth) {
|
---|
154 | minWidth = newWidth;
|
---|
155 | }
|
---|
156 | }
|
---|
157 | entryForm.setStyle("labelWidth", minWidth);
|
---|
158 |
|
---|
159 | // set up validators
|
---|
160 | switch (model.appViewState) {
|
---|
161 | case TrackingModelLocator.VIEW_APP_SIGN_IN:
|
---|
162 | _validators = [complaintValid, bedValid];
|
---|
163 | break;
|
---|
164 | case TrackingModelLocator.VIEW_APP_TRIAGE:
|
---|
165 | _validators = [complaintValid, bedValid, acuityValid, clinicValid];
|
---|
166 | break;
|
---|
167 | case TrackingModelLocator.VIEW_APP_EDIT_CLOSED:
|
---|
168 | _validators = [complaintValid, bedValid, acuityValid, providerValid];
|
---|
169 | if (model.logEditParams.requireDisposition) {
|
---|
170 | _validators.push(dispositionValid)
|
---|
171 | };
|
---|
172 | if (model.logEditParams.requireDelay) {
|
---|
173 | _validators.push(delayValid)
|
---|
174 | };
|
---|
175 | _showDelay = true; // always show delay prompt for edit closed
|
---|
176 | break;
|
---|
177 | default:
|
---|
178 | _validators = [];
|
---|
179 | break;
|
---|
180 | }
|
---|
181 | if (model.logEdit.entry != null) {
|
---|
182 | // must call later to give a chance for the bound controls to get set
|
---|
183 | this.callLater(validateOnLoad);
|
---|
184 | }
|
---|
185 | }
|
---|
186 |
|
---|
187 | private function saveIfValid(): void
|
---|
188 | {
|
---|
189 | var results: Array = Validator.validateAll(_validators);
|
---|
190 |
|
---|
191 | if (results.length == 0) {
|
---|
192 | // save record if validators passed
|
---|
193 | var e: TrackingEvent = new TrackingEvent(TrackingEvent.EVENT_SAVE_LOG_ENTRY);
|
---|
194 | e.dispatch();
|
---|
195 | } else {
|
---|
196 | var msg: String = "The following must be satisfied before saving:\n";
|
---|
197 | for (var i: int = 0; i < results.length; i++) {
|
---|
198 | msg += results[i].target.source.id + "\n";
|
---|
199 | }
|
---|
200 | InfoDialog.show(msg);
|
---|
201 | if (msg.indexOf("delay") > -1) {
|
---|
202 | _showDelay = true;
|
---|
203 | }
|
---|
204 | }
|
---|
205 | }
|
---|
206 |
|
---|
207 | public function cancelEdit(): void
|
---|
208 | {
|
---|
209 | if (model.logEdit.entry.isStub) {
|
---|
210 | var eDelete: TrackingEvent = new TrackingEvent(TrackingEvent.EVENT_DELETE_STUB_ENTRY);
|
---|
211 | eDelete.dispatch();
|
---|
212 | } else {
|
---|
213 | var eCancel: TrackingEvent = new TrackingEvent(TrackingEvent.EVENT_CANCEL_EDIT);
|
---|
214 | eCancel.dispatch();
|
---|
215 | }
|
---|
216 | }
|
---|
217 |
|
---|
218 | private function removeEntry(): void
|
---|
219 | {
|
---|
220 | var removeEvent: RemoveLogEntryEvent =
|
---|
221 | new RemoveLogEntryEvent(RemoveLogEntryEvent.EVENT_REMOVE_LOG_ENTRY);
|
---|
222 | removeEvent.dispatch();
|
---|
223 | }
|
---|
224 |
|
---|
225 | private function set currentEntry(entry: LogEntryVO): void
|
---|
226 | {
|
---|
227 | if (entry == null) return;
|
---|
228 |
|
---|
229 | //make sure that outTS is disabled for the patients that are still active.
|
---|
230 | //This could potentially mess up data for the active listed patients on the board
|
---|
231 | //if someone assigned them an outTS while they still haven't been discharged..
|
---|
232 | if (!entry.closed) {
|
---|
233 | outTS.selectedDate = null;
|
---|
234 | outTS.enabled = false;
|
---|
235 | outTS.toolTip = "The patient needs to be discharged first to make this field active."
|
---|
236 | } else {
|
---|
237 | outTS.enabled = true;
|
---|
238 | outTS.toolTip = "";
|
---|
239 | }
|
---|
240 | // init _showDelay to false unless we're in edit closed
|
---|
241 | // (usually the model will say whether we need delay reason
|
---|
242 | _showDelay = (model.appViewState == TrackingModelLocator.VIEW_APP_EDIT_CLOSED);
|
---|
243 |
|
---|
244 | if (model.logEditParams.promptClinics && (entry.visit == 0)) {
|
---|
245 | clinicItem.visible = true;
|
---|
246 | clinicItem.includeInLayout = true;
|
---|
247 | } else {
|
---|
248 | clinicItem.visible = false;
|
---|
249 | clinicItem.includeInLayout = false;
|
---|
250 | }
|
---|
251 | }
|
---|
252 |
|
---|
253 | private function set patientSelectionComplete(isDone: Boolean): void
|
---|
254 | {
|
---|
255 | if (isDone) {
|
---|
256 | // get JAWS to the first prompt after adding a new patient
|
---|
257 | //this.callLater(complaint.setFocus);
|
---|
258 | this.callLater(complaint.setFocus);
|
---|
259 | //var fi: FormItem = entryForm.getChildAt(0) as FormItem;
|
---|
260 | //trace("first child", fi.tabChildren);
|
---|
261 | }
|
---|
262 | }
|
---|
263 |
|
---|
264 | private function validateOnLoad(): void
|
---|
265 | {
|
---|
266 | // must set the errorString to null to get the red border to reset
|
---|
267 | complaint.errorString = "";
|
---|
268 | longComplaint.errorString = "";
|
---|
269 | comment.errorString = "";
|
---|
270 | bed.errorString = "";
|
---|
271 | acuity.errorString = ""
|
---|
272 | provider.errorString = "";
|
---|
273 | disposition.errorString = "";
|
---|
274 | delay.errorString = "";
|
---|
275 | clinic.errorString = "";
|
---|
276 | Validator.validateAll(_validators);
|
---|
277 | }
|
---|
278 |
|
---|
279 | private function keyHandler(e:KeyboardEvent): void
|
---|
280 | {
|
---|
281 | if (e.keyCode == Keyboard.ESCAPE) {
|
---|
282 | cancelEdit();
|
---|
283 | }
|
---|
284 | }
|
---|
285 | ]]>
|
---|
286 | </mx:Script>
|
---|
287 |
|
---|
288 | <log:PatientHeaderBar id="patientBar" width="100%" ptChecksController="{ptChecksController}"
|
---|
289 | patientChecksModel="{patientChecksModel}"/>
|
---|
290 |
|
---|
291 | <mx:Form id="entryForm" width="100%">
|
---|
292 |
|
---|
293 | <mx:FormItem
|
---|
294 | id="complaintItem"
|
---|
295 | label="Complaint for Display Board"
|
---|
296 | width="100%" >
|
---|
297 | <mx:Canvas width="100%">
|
---|
298 | <mx:TextInput
|
---|
299 | id="complaint"
|
---|
300 | text="{model.logEdit.entry.complaint}"
|
---|
301 | change="ChangeWatcher.changeField(event)"
|
---|
302 | left="0" right="0"
|
---|
303 | styleName="formField" tabIndex="1100"/>
|
---|
304 | </mx:Canvas>
|
---|
305 | </mx:FormItem>
|
---|
306 |
|
---|
307 | <mx:FormItem
|
---|
308 | id="longComplaintItem"
|
---|
309 | label="Long Complaint (optional)"
|
---|
310 | width="100%" >
|
---|
311 | <mx:Canvas width="100%" >
|
---|
312 | <mx:TextInput
|
---|
313 | id="longComplaint"
|
---|
314 | text="{model.logEdit.entry.longComplaint}"
|
---|
315 | change="ChangeWatcher.changeField(event)"
|
---|
316 | left="0" right="0"
|
---|
317 | styleName="formField" tabIndex="1101"/>
|
---|
318 | </mx:Canvas>
|
---|
319 | </mx:FormItem>
|
---|
320 |
|
---|
321 | <mx:FormItem
|
---|
322 | id="bedItem" width="100%"
|
---|
323 | label="Room / Area" >
|
---|
324 | <widget:ValueComboBox
|
---|
325 | id="bed"
|
---|
326 | dataProvider="{model.logEdit.beds}"
|
---|
327 | value="{model.logEdit.entry.bed}"
|
---|
328 | change="ChangeWatcher.changeField(event)"
|
---|
329 | rowCount="20"
|
---|
330 | styleName="formField" tabIndex="1102"/>
|
---|
331 | </mx:FormItem>
|
---|
332 |
|
---|
333 | <mx:FormItem
|
---|
334 | id="acuityItem" width="100%"
|
---|
335 | label="Acuity" >
|
---|
336 | <widget:ValueComboBox
|
---|
337 | id="acuity"
|
---|
338 | dataProvider="{model.logEdit.acuities}"
|
---|
339 | value="{model.logEdit.entry.acuity}"
|
---|
340 | change="ChangeWatcher.changeField(event)"
|
---|
341 | rowCount="{model.logEdit.acuities.length}"
|
---|
342 | styleName="formField" tabIndex="1103"/>
|
---|
343 | </mx:FormItem>
|
---|
344 |
|
---|
345 | <mx:FormItem
|
---|
346 | id="statusItem" width="100%"
|
---|
347 | label="Status" >
|
---|
348 | <widget:ValueComboBox
|
---|
349 | id="status"
|
---|
350 | dataProvider="{model.logEdit.statuses}"
|
---|
351 | value="{model.logEdit.entry.status}"
|
---|
352 | change="ChangeWatcher.changeField(event)"
|
---|
353 | rowCount="{model.logEdit.statuses.length}"
|
---|
354 | styleName="formField" tabIndex="1104"/>
|
---|
355 | </mx:FormItem>
|
---|
356 |
|
---|
357 | <mx:FormItem
|
---|
358 | id="providerItem" width="100%"
|
---|
359 | label="Provider" >
|
---|
360 | <widget:ValueComboBox
|
---|
361 | id="provider"
|
---|
362 | dataProvider="{model.logEdit.providers}"
|
---|
363 | value="{model.logEdit.entry.provider}"
|
---|
364 | change="ChangeWatcher.changeField(event)"
|
---|
365 | rowCount="12"
|
---|
366 | styleName="formField" tabIndex="1105"/>
|
---|
367 | </mx:FormItem>
|
---|
368 |
|
---|
369 | <mx:FormItem
|
---|
370 | id="residentItem" width="100%"
|
---|
371 | label="Resident" >
|
---|
372 | <widget:ValueComboBox
|
---|
373 | id="resident"
|
---|
374 | dataProvider="{model.logEdit.residents}"
|
---|
375 | value="{model.logEdit.entry.resident}"
|
---|
376 | change="ChangeWatcher.changeField(event)"
|
---|
377 | rowCount="12"
|
---|
378 | styleName="formField" tabIndex="1106"/>
|
---|
379 | </mx:FormItem>
|
---|
380 |
|
---|
381 | <mx:FormItem
|
---|
382 | id="nurseItem" width="100%"
|
---|
383 | label="Nurse" >
|
---|
384 | <widget:ValueComboBox
|
---|
385 | id="nurse"
|
---|
386 | dataProvider="{model.logEdit.nurses}"
|
---|
387 | value="{model.logEdit.entry.nurse}"
|
---|
388 | change="ChangeWatcher.changeField(event)"
|
---|
389 | rowCount="12"
|
---|
390 | styleName="formField" tabIndex="1107"/>
|
---|
391 | </mx:FormItem>
|
---|
392 |
|
---|
393 | <mx:FormItem
|
---|
394 | id="commentItem"
|
---|
395 | label="Comments"
|
---|
396 | width="100%" >
|
---|
397 | <mx:Canvas width="100%">
|
---|
398 | <mx:TextInput
|
---|
399 | id="comment"
|
---|
400 | text="{model.logEdit.entry.comment}"
|
---|
401 | change="ChangeWatcher.changeField(event)"
|
---|
402 | right="0" left="0"
|
---|
403 | styleName="formField" tabIndex="1108"/>
|
---|
404 | </mx:Canvas>
|
---|
405 | </mx:FormItem>
|
---|
406 |
|
---|
407 | <mx:FormItem
|
---|
408 | id="arrivalItem" width="100%"
|
---|
409 | label="Source" >
|
---|
410 | <widget:ValueComboBox
|
---|
411 | id="arrival"
|
---|
412 | dataProvider="{model.logEdit.arrivals}"
|
---|
413 | value="{model.logEdit.entry.arrival}"
|
---|
414 | change="ChangeWatcher.changeField(event)"
|
---|
415 | rowCount="{model.logEdit.arrivals.length}"
|
---|
416 | styleName="formField" tabIndex="1109"/>
|
---|
417 | </mx:FormItem>
|
---|
418 |
|
---|
419 | <mx:FormItem
|
---|
420 | id="clinicItem" width="100%"
|
---|
421 | label="Clinic" >
|
---|
422 | <widget:ValueComboBox
|
---|
423 | id="clinic"
|
---|
424 | dataProvider="{model.logEdit.clinics}"
|
---|
425 | value="{model.logEdit.entry.clinic}"
|
---|
426 | change="ChangeWatcher.changeField(event)"
|
---|
427 | rowCount="{model.logEdit.clinics.length}"
|
---|
428 | styleName="formField" tabIndex="1110"/>
|
---|
429 | </mx:FormItem>
|
---|
430 |
|
---|
431 | <mx:FormItem
|
---|
432 | id="dispositionItem" width="100%"
|
---|
433 | label="Disposition" >
|
---|
434 | <widget:ValueComboBox
|
---|
435 | id="disposition"
|
---|
436 | dataProvider="{model.logEdit.dispositions}"
|
---|
437 | value="{model.logEdit.entry.disposition}"
|
---|
438 | change="ChangeWatcher.changeField(event)"
|
---|
439 | rowCount="{model.logEdit.dispositions.length}"
|
---|
440 | styleName="formField" tabIndex="1111"/>
|
---|
441 | </mx:FormItem>
|
---|
442 |
|
---|
443 | <mx:FormItem
|
---|
444 | id="delayItem" width="100%"
|
---|
445 | visible="{(_showDelay || model.logEdit.entry.requireDelay)}"
|
---|
446 | label="Delay Reason">
|
---|
447 | <widget:ValueComboBox
|
---|
448 | id="delay"
|
---|
449 | dataProvider="{model.logEdit.delays}"
|
---|
450 | value="{model.logEdit.entry.delay}"
|
---|
451 | change="ChangeWatcher.changeField(event)"
|
---|
452 | rowCount="{model.logEdit.delays.length}"
|
---|
453 | styleName="formField" tabIndex="1112"/>
|
---|
454 | </mx:FormItem>
|
---|
455 |
|
---|
456 | <mx:FormItem
|
---|
457 | id="timeInItem" width="100%"
|
---|
458 | label="Time In">
|
---|
459 | <widget:DateTimeChooser
|
---|
460 | id="inTS"
|
---|
461 | tabEnabled="true"
|
---|
462 | dateType="Time In"
|
---|
463 | selectedDate="{model.logEdit.entry.inTS}"
|
---|
464 | change="ChangeWatcher.changeField(event)"
|
---|
465 | styleName="formField" tabIndexBase="1113"/>
|
---|
466 | </mx:FormItem>
|
---|
467 |
|
---|
468 | <mx:FormItem
|
---|
469 | id="timeOutItem" width="100%"
|
---|
470 | label="Time Out">
|
---|
471 | <widget:DateTimeChooser
|
---|
472 | id="outTS"
|
---|
473 | tabEnabled="true"
|
---|
474 | dateType="Time Out"
|
---|
475 | selectedDate="{model.logEdit.entry.outTS}"
|
---|
476 | change="ChangeWatcher.changeField(event)"
|
---|
477 | styleName="formField" tabIndexBase="1114"/>
|
---|
478 | </mx:FormItem>
|
---|
479 |
|
---|
480 | </mx:Form>
|
---|
481 |
|
---|
482 | <mx:Canvas id="btnArea" width="100%" >
|
---|
483 | <mx:Button
|
---|
484 | id="cancel"
|
---|
485 | label="Cancel"
|
---|
486 | enabled="{model.logEdit.dirty}"
|
---|
487 | click="cancelEdit()"
|
---|
488 | right="{save.width + 12}" tabIndex="1900"/>
|
---|
489 | <mx:Button
|
---|
490 | id="save"
|
---|
491 | label="Save"
|
---|
492 | enabled="{model.logEdit.dirty}"
|
---|
493 | click="saveIfValid()"
|
---|
494 | right="6" tabIndex="1901"/>
|
---|
495 | </mx:Canvas>
|
---|
496 |
|
---|
497 | <mx:StringValidator
|
---|
498 | id="complaintValid"
|
---|
499 | source="{complaint}" property="text"
|
---|
500 | maxLength="50" required="true" />
|
---|
501 | <mx:StringValidator
|
---|
502 | id="longCompValid"
|
---|
503 | source="{longComplaint}" property="text"
|
---|
504 | maxLength="220" required="false" />
|
---|
505 | <mx:StringValidator
|
---|
506 | id="commentValid"
|
---|
507 | source="{comment}" property="text"
|
---|
508 | maxLength="80" required="false" />
|
---|
509 | <mx:NumberValidator
|
---|
510 | id="bedValid"
|
---|
511 | source="{bed}" property="selectedIndex"
|
---|
512 | minValue="1" required="true" lowerThanMinError="A room must be selected." />
|
---|
513 | <mx:NumberValidator
|
---|
514 | id="acuityValid"
|
---|
515 | source="{acuity}" property="selectedIndex"
|
---|
516 | minValue="1" required="true" lowerThanMinError="An acuity must be selected." />
|
---|
517 | <mx:NumberValidator
|
---|
518 | id="providerValid"
|
---|
519 | source="{provider}" property="selectedIndex"
|
---|
520 | minValue="1" required="true" lowerThanMinError="A provider must be selected." />
|
---|
521 | <mx:NumberValidator
|
---|
522 | id="clinicValid"
|
---|
523 | source="{clinic}" property="selectedIndex"
|
---|
524 | minValue="1"
|
---|
525 | required="{(model.logEditParams.promptClinics && (model.logEdit.entry.visit == 0))}"
|
---|
526 | lowerThanMinError="A clinic must be selected." />
|
---|
527 | <mx:NumberValidator
|
---|
528 | id="dispositionValid"
|
---|
529 | source="{disposition}" property="selectedIndex"
|
---|
530 | minValue="1" required="{model.logEdit.entry.requireDisposition}" lowerThanMinError="A disposition must be selected." />
|
---|
531 | <mx:NumberValidator
|
---|
532 | id="delayValid"
|
---|
533 | source="{delay}" property="selectedIndex"
|
---|
534 | minValue="1" required="{model.logEdit.entry.requireDelay}" lowerThanMinError="A delay reason must be selected." />
|
---|
535 |
|
---|
536 | <accessibility:AccessibilityProperties id="accMsg" name="Info Status Message" />
|
---|
537 |
|
---|
538 | <!-- bind to this so we know when the entry changes -->
|
---|
539 | <mx:Binding source="model.logEdit.entry" destination="currentEntry" />
|
---|
540 | <mx:Binding source="model.logEdit.patientSelected" destination="patientSelectionComplete" />
|
---|
541 | </mx:VBox>
|
---|