Aviation.UI.Investigator
class Aviation.UI.Investigator extends %ZEN.Component.page
This page represents a mockup interface for typing in new aviation event reports for the Aviation.Event narrative columns. After typing in a report of a few sentences and pressing the "process" button, the system will look for reports similar to the one being typed in using the basic similarity algorithm (first tab) and a slightly more elaborate matching-based approach (second tab). This matching-based approach constructs a simple dictionary based on the contents of what's being typed in (BuildSrcDictionary()) and then finds the report with the highest number of matches against this dictionary. While the basic similarity option (using %iKnow.Queries.SourceAPI.GetSimilar()) is easier to use and has a few options by itself, the matching-based alternative demonstrates how other iKnow API calls can be used together from a simple interface. More specifically, the matching-based approach has the advantage non-exact matches also contribute to the similarity, at the cost of performance and slight over-scoring of simple re-occurring words.
When clicking one of the suggested "similar" reports, a popup shows the basic details of the similar event (time, location, aircraft, link to NTSB report) as well as the the contents of the existing report, with all entities (and CRCs) of the input text highlighted in this similar one. A second tab then reveals the presumed cause of that similar event as recorded by the NTSB, which may "help" the user get an idea of a likely cause for the event being described in his manual input.
Being a code sample, the code is supposed to be quite readable with some comments about what is being achieved by specific line(s) of code, as well as suggesting extensions developers might wish to make to make the demo perform better.
To set up the demo, run the following command from the terminal:
do ##class(Aviation.UI.Investigator).Setup()
Property Inventory
Method Inventory
- %OnAfterCreatePage()
- BuildSrcDictionary()
- DrawEventHeader()
- DrawMetadata()
- DrawPercentage()
- DrawSource()
- ExecuteSimilarQuery()
- ProcessInput()
- Setup()
- displaySourceClient()
- onUpdateFilterClient()
- onlayoutHandler()
- onunloadHandler()
- realTimeInputClient()
- refreshDictionaryAsync()
- resizeGroups()
- summarize()
Parameters
Properties
Methods
Draws a number of event properties as a header for the popup.
Draws the contents of a source (report or cause, based on pSeed) as identified by the value of selectedSource. The source is summarized if summaryLength is non-zero (interpreted as the number of sentences) and any matches against the dictionary created by BuildSrcDictionary() is highlighted.
ZenMethod to process manual user input pText by the iKnow engine and store the ID of the generated Virtual Source in inputSource.
If this is called at load time, then load will be true.
Inherited Members
Inherited Properties
- %condition
- %import
- %includeFiles
- %page
- %resource
- align
- aux
- backgroundTimerInterval
- cellAlign
- cellSize
- cellStyle
- cellVAlign
- children
- composite
- containerStyle
- cssLevel
- disabled
- dragAndDrop
- dragEnabled
- dropEnabled
- enclosingClass
- enclosingStyle
- error
- groupClass
- groupStyle
- height
- hidden
- hint
- hintClass
- hintStyle
- id
- index
- label
- labelClass
- labelDisabledClass
- labelPosition
- labelStyle
- layout
- name
- onafterdrag
- onbeforedrag
- onclick
- ondrag
- ondrop
- onhide
- onrefresh
- onshow
- onupdate
- parent
- showLabel
- slice
- title
- tuple
- useSVG
- useSoftModals
- valign
- visible
- width
- window
- zenPersistentPopup
Inherited Methods
- %AddChild()
- %AddChildAfter()
- %AddChildBefore()
- %AddComponent()
- %AddImportedComponents()
- %AddToSaveSet()
- %ApplyURLParms()
- %Attr()
- %BindExport()
- %ClassIsLatestVersion()
- %ClassName()
- %ConstructClone()
- %DispatchClassMethod()
- %DispatchGetModified()
- %DispatchGetProperty()
- %DispatchMethod()
- %DispatchSetModified()
- %DispatchSetMultidimProperty()
- %DispatchSetProperty()
- %DrawAutoLogout()
- %DrawClassDefinitions()
- %DrawComponentHTML()
- %DrawHTML()
- %DrawHTMLPage()
- %DrawJSStrings()
- %DrawObjectDefinitions()
- %EnclosingDivId()
- %EndBackgroundMethod()
- %EndScript()
- %Eval()
- %EvalC()
- %Extends()
- %ForceClientRender()
- %GetChildIndex()
- %GetComponent()
- %GetComponentById()
- %GetComponentByName()
- %GetEventHandlers()
- %GetLinks()
- %GetPageName()
- %GetParameter()
- %GetValueById()
- %GetValueByName()
- %GetXMLName()
- %IsA()
- %IsModified()
- %Link()
- %LinkCSS()
- %LinkScript()
- %MakeId()
- %New()
- %NormalizeObject()
- %ObjectModified()
- %OnAddToPageAfter()
- %OnAddToPageBefore()
- %OnBeforeCreatePage()
- %OnCreateApplication()
- %OnCreatePage()
- %OnDetermineCSSLevel()
- %OnDrawEnclosingDiv()
- %OnDrawHTMLBody()
- %OnDrawHTMLHead()
- %OnDrawHTMLMeta()
- %OnDrawObjectProperties()
- %OnFinishBackgroundTask()
- %OnMonitorBackgroundTask()
- %OnMutateChildren()
- %OnObjectSynch()
- %OnPreHTTP()
- %OnSubmit()
- %OnUseSoftModals()
- %OnZENDeserialize()
- %OriginalNamespace()
- %PackageName()
- %QuoteValue()
- %QuoteValueL10N()
- %RemoveChild()
- %RemoveChildren()
- %RemoveComponent()
- %RemoveFromSaveSet()
- %RunBackgroundMethod()
- %Self()
- %SerializeObject()
- %SetBackgroundMethodStatus()
- %SetErrorById()
- %SetErrorByName()
- %SetModified()
- %SetValueById()
- %SetValueByName()
- %SetValuesByName()
- %StartScript()
- %ValidateObject()
- %ZENVersion()
- ConvertParameter()
- Decrypt()
- Encrypt()
- EscapeHTML()
- EscapeURL()
- HyperEventCall()
- HyperEventHead()
- Include()
- InsertHiddenField()
- InsertHiddenFields()
- IsPrivate()
- Link()
- OnHTTPHeader()
- OnPage()
- OnPageError()
- OnPostHTTP()
- OnPostHyperEvent()
- OnPreHTTP()
- OnPreHyperEvent()
- Page()
- QuoteJS()
- RewriteURL()
- ShowError()
- StartTimer()
- StopTimer()
- ThrowError()
- UnescapeHTML()
- UnescapeURL()
- XMLDTD()
- XMLExport()
- XMLExportToStream()
- XMLExportToString()
- XMLNew()
- XMLSchema()
- XMLSchemaNamespace()
- XMLSchemaType()
- addChild()
- addChildAfter()
- addChildBefore()
- cancelPopup()
- childrenMutated()
- correctIELayering()
- createComponent()
- createComponentNS()
- deleteComponent()
- dragFinishHandler()
- dragHandler()
- dragNotifyHandler()
- dragStartHandler()
- dropHandler()
- dropStartHandler()
- endModal()
- exposeComponent()
- findElement()
- fireOnResizeEvent()
- fireOnUnloadEvent()
- fireOnUpdateEvent()
- firePopupAction()
- getChildIndex()
- getComponent()
- getComponentById()
- getEnclosingDiv()
- getHidden()
- getHintElement()
- getLabelElement()
- getOpener()
- getProperty()
- getSettings()
- getType()
- gotoPage()
- invokeSuper()
- isOfType()
- launchPopupWindow()
- makeId()
- onCreate()
- onDelete()
- onDisplayHandler()
- onEndModalHandler()
- onPopupAction()
- onRefreshContents()
- onSerialize()
- onServerMethodCall()
- onServerMethodError()
- onServerMethodReturn()
- onStartModalHandler()
- ondisabledHandler()
- onkeydownHandler()
- onkeyupHandler()
- onloadHandler()
- onlogoutHandler()
- onoverlayHandler()
- onresizeHandler()
- onupdateHandler()
- popupActionHandler()
- refreshContents()
- removeChild()
- render()
- renderContents()
- renderSVG()
- setComponentId()
- setHidden()
- setOverlayMode()
- setProperty()
- setPropertyAll()
- setTraceOption()
- startModal()
- startProgressBar()
- stopProgressBar()