Toto je staršia verzia dokumentu!
vetva v GITe je duch/probios-labaky
Základným prvkom je:
tieto je nutné položiť na plochu Dennej operatívy napr. viď obrázok
Môžeme vložiť Prvok - Medic Select Patient, tento nám zistí SmartSearch fnc na hľadanie pacientov
V nastaveniach prvku Medic Select Patient nastavíme následovné
Pridáme na plochu prvok typu Action a do jeho Nastavenia/Actions vložíme následovné
<set helperValueDataId="dicom_type" value="MEDIREX" /> <runFunction controlId="patientLabs_tml" function="setLaboratory" pass="arguments"> <param value="MEDIREX" type="string" /> <param value="FALSE" type="boolean" /> </runFunction> <broadcastEvent eventId="e_show_patient_labs" />
Vložíme prvok typu Action nastavíme ho:
<runFunction controlId="labsViewer" function="setLabsId" pass="arguments"> <param valueHelperDataId="_runControlArg0" /> </runFunction> <set formDataId="form_labsId" valueHelperDataId="_runControlArg0" /> <updateControl controlId="txt_labsId" /> <layout controlId="transfer_btn" enabled="1" />
pre korektné správanie je nutné mať, ale vytvorený script v tabuľke st2_dailyop_library
{strip} <!--<b>{$series_name|escape}</b><br>--> <a href="asfunction:_DAILY_OPERATIONS_FORM.runControl,ctrl_load_labs|{$series_id}|{$data_type}">{$series_name}</a><br> <b>Počet položiek</b>-{$exam_count}, <b>Typ hodnoty</b>-{$group_type}{/strip} {$exam_items}
Toto má na starosti to, že keď klikneme v TimeLine na nejaký záznam tak sa aktivuje prehliadač výsledkov a zobrazí nám už naformatované hodnoty.
Toto by nám malo zaistiť pri výbere pacienta nahratie jeho základných laboratórnych hodnôt.
Na plochu vložíme prvok typu Input Text
nastavíme ho:
Na plochu vložíme prvok typu Button nastavíme ho tak že do Actions vložíme nasledovný kód
<runFunction controlId="patientLabs_tml" function="searchLabResultsByBin" pass="arguments"> <param valueFormDataId="testBinTxt" /> <param value="MEDIREX" type="string" /> </runFunction> <runFunction controlId="labsViewer" function="clearLabsViewer" /> <!-- toto je pre pripad ze mame InputText kde mame vlozene IDecko labakov --> <set formDataId="labID" value="" /> <updateControl controlId="labID_txt" /> <set formDataId="txt_resultOutput" value="" /> <set valueHelperDataId="lab_ouput_txt" value="" /> <updateControl controlId="outputres_txt" /> <!-- toto je na to ze ked mame button na prenos vysledkov tak pri nacitani novych hodnot sa deaktivuje --> <layout controlId="transfer_btn" enabled="0" /> <broadcastEvent eventId="e_search_byBin" />
Následne musíme pridať do našej TimeLine-y Update na udalosť a pridáme e_search_byBin
Na plochu pridáme prvok typu Button
do Actions pridáme
<runControl controlId="action_transfer_txt" />
Následne pridáme prvok typu Action
a do Actions
<request function="module:dicom/medirexLabs/dtrq_getFormatedOuput" disableForm="yes" resultHelperDataId="lab_ouput_txt" broadcastEventId="e_laboutput_get" _onErrorBroadcastEvent="e_info_status_reset"> <!-- dava IDecko posledne kliknuteho vysetrenia --> <param key="labsId" valueHelperDataId="_runControlArg0" /> <!-- udava o aky typ hodnot sa jedna text/values --> <param key="dataType" valueHelperDataId="_runControlArg1" /> </request>
Následne vložíme prvok typu Input text
Následne vložíme prvok typu Action
a do Actions vložíme
<set formDataId="txt_resultOutput" valueHelperDataId="lab_ouput_txt" /> <updateControl controlId="outputres_txt" />
Spracovanie textových hodnôt je jednoduché prenesie sa text tak ako bol obdržaný z MEDIREXu
Avšak prenos tabuľkových hodnôt je trochu iný. Vzhľadom na to, že lekári majú tendenciu si robiť vlastné zobrazenia výstupov takýchto hodnôt, existuje templater na túto okolnosť.
V databáze omegy sa nachádza tabuľka dasta_results_templates
Vzor takého templatu je napr.
{$exam_label}-/[{$exam_accepted}] ------------------------------------------- {strip|'\r'}{foreach from=$data item=row key=r} {$row.exam_idf} ({$row.exam_label})...{$row.exam_value}[{$row.exam_unit}] ({$row.exam_scale.min}...{$row.exam_scale.max}),{/foreach}
Prakticky povedané su to nazvy polí tabuľky dasta_exams_results_data Poukladané tak ako aby to sedelo dľa požiadaviek
Jednotlivé templaty sú spojené s combo_boxom v LabsViewery kde sa naťahujú pri jeho inicializácii súbor dicom_medirexlabs_loader_symbol.as
<layout version="1" updated="2018-01-04"> <contentTemplate type="DICOM_MEDIREXLABS" insert="append" clear="yes"> {include file="dailyop:dicom/medirexlabs_content1"} </contentTemplate> <trigger group="rowSlotExtraContent"> {$rowType}-ec:{$hasExtraHeaderContent} </trigger> <trigger group="rowBase"> {$rowType}-d:{$$display} </trigger> <declare> * extra_header_content_mc Extra obsah, napr. z modulov. * base1_mc Základňa pre výpočet výšky elementu. * line1_mc Deliaca čiara. * date_mc Informácie o čase medického záznamu. //row/contentFunction/control[@controlId="date_mc"]/data[@id="base"] Základné vizuálne nastavenie. //row/contentFunction/control[@controlId="date_mc"][@date="date"] Bude vždy zobrazený dátum. //row/contentFunction/control[@controlId="date_mc"][@date="human"] Dnes a včera bude ako text. //row/contentFunction/control[@controlId="date_mc"][@time="hide"] Skrytie času. * title_mc Názov štúdie. //row/contentFunction/control[@controlId="date_mc"][@display="patient"] S nazvom studie sa zobrazi aj meno pacienta. //row/contentFunction/control[@controlId="title_mc"]/data[@id="base"] Základné vizuálne nastavenie. //row/contentFunction/control[@controlId="title_mc"]/data[@id="study"] Základné vizuálne nastavenie pre nazov studie. //row/contentFunction/control[@controlId="title_mc"]/data[@id="base"] Základné vizuálne nastavenie pre meno pacienta. </declare> <row> <trigger group="rowSlotExtraContent" id="dicom_medirexlabs-ec:0" /> <contentFunction> <control controlId="extra_header_content_mc" /> </contentFunction> <control controlId="extra_header_content_mc" left="6" top="20" visible="no" xscale="100" rightBase="__row.right" right="0" border="yes" initFirst="yes" /> <control controlId="base1_mc" topBase="extra_header_content_mc.bottom" top="20" /> <control controlId="line1_mc" topBase="extra_header_content_mc.bottom" top="0" /> </row> <row> <trigger group="rowSlotExtraContent" id="dicom_medirexlabs-ec:1" /> <control controlId="base1_mc" top="40" visible="no" /> <control controlId="line1_mc" top="10" visible="no" /> <control controlId="extra_header_content_mc" top="15" visible="yes" /> </row> <row> <trigger group="rowBase" id="dicom_medirexlabs-d:header" /> <_trigger group="rowBase" id="dicom_medirexlabs-d:full" /> <_trigger group="rowBase" id="dicom_medirexlabs-d:teaser" /> <contentFunction> <control controlId="line_mc" _runLater="yes" /> <control controlId="date_mc" date="human" runLater="yes" /> <control controlId="title_mc" _display="patient" runLater="yes" /> <control controlId="patient_mc" runLater="yes" /> <control controlId="init_handlers" runLater="yes" /> </contentFunction> <control controlId="__row" height="20" elementHeight="20" rightBase="__panel.right" right="-5"> <background> <key color="#ffffcc" position="0" /> <key color="#ffffcc" position="53" /> </background> </control> <control controlId="__row" heightBase="base1_mc.top" height="20" elementHeightBase="base1_mc.top" elementHeight="20" rightBase="__panel.right" right="-5" /> <control controlId="report_mc" visible="no" top="20" /> <control controlId="title_mc" left="6" top="0" width="200" xscale="100" visible="yes" _border="1" /> <control controlId="date_mc" leftBase="title_mc.right" left="2" top="0" rightBase="__row.right" right="-4" visible="yes" _border="1" /> <control controlId="patient_mc" _leftBase="title_mc.right" left="6" top="18" width="200" xscale="85" visible="yes" border="0" />\ <control controlId="line1_mc" visible="yes" left="5" top="0" xscale="100" topBase="patient_mc.bottom" color="#ffffff"/> </row> <!--<row> <trigger group="rowBase" id="dicom_medirexlabs-d:teaser" /> <contentFunction> <control controlId="fill_content" type="teaser" /> </contentFunction> <control controlId="__row" heightBase="base1_mc.top" height="0" elementHeightUnset="yes" /> <control controlId="line1_mc" left="10" rightBase="__row.right" right="-5" visible="no" /> <_control controlId="report_mc" left="8" topBase="base1_mc.top" width="200" top="1" bottomBase="__row.bottom" bottom="0" rightBase="__row.right" right="-1" visible="yes" /> </row>--> <row> <trigger group="rowBase" id="dicom_medirexlabs-d:full" /> <contentFunction> <control controlId="fill_content" type="full" height="20" rightBase="__panel.right" right="-10" /> </contentFunction> <control controlId="__row" height="150" elementHeight="150" rightBase="__panel.right" right="-5"> <background> <key color="#ffffcc" position="0" /> <key color="#ffffcc" position="53" /> </background> </control> <control controlId="title_mc" left="6" top="0" width="200" xscale="100" visible="yes" _border="1" /> <control controlId="date_mc" leftBase="title_mc.right" left="2" top="0" rightBase="__row.right" right="-4" visible="yes" _border="1" /> <control controlId="patient_mc" _leftBase="title_mc.right" left="6" top="18" width="200" xscale="85" visible="yes" border="0" /> <control controlId="line1_mc" left="10" rightBase="__row.right" right="-10" visible="no" /> <control controlId="report_mc" left="8" topBase="base1_mc.top" top="1" width="200" rightBase="__row.right" right="-8" visible="yes" selectable="yes" _border="1" initFirst="yes" /> <control controlId="__row" heightBase="report_mc.bottom" height="4" elementHeightUnset="yes" /> </row> </layout>
<?xml version="1.0" encoding="UTF-8"?><controls><dicomTimeline patientDataId="patient_ms_id" eventHack1="1" controlId="patientLabs_tml" version="2" layer="5" top="10" left="340" headerStyle="99" height="460" width="320"><inputEvent mouse="click" actionType="open_close" /><updateOnEvent eventId="e_select_lab" /><updateOnEvent eventId="e_search_byBin" /><updateOnEvent eventId="e_show_patient_labs" /><broadcastOnSelect eventId="e_tl_selected" /><layoutSettings timestamp="1538045574059"><layout version="1" updated="2018-01-04"><contentTemplate type="DICOM_MEDIREXLABS" insert="append" clear="yes">{include file="dailyop:dicom/medirexlabs_content1"}</contentTemplate><trigger group="rowSlotExtraContent">{$rowType}-ec:{$hasExtraHeaderContent}</trigger><trigger group="rowBase">{$rowType}-d:{$$display}</trigger><declare>* extra_header_content_mc Extra obsah, napr. z modulov. * base1_mc Základňa pre výpočet výšky elementu. * line1_mc Deliaca čiara. * date_mc Informácie o čase medického záznamu. //row/contentFunction/control[@controlId="date_mc"]/data[@id="base"] Základné vizuálne nastavenie. //row/contentFunction/control[@controlId="date_mc"][@date="date"] Bude vždy zobrazený dátum. //row/contentFunction/control[@controlId="date_mc"][@date="human"] Dnes a včera bude ako text. //row/contentFunction/control[@controlId="date_mc"][@time="hide"] Skrytie času. * title_mc Názov štúdie. //row/contentFunction/control[@controlId="date_mc"][@display="patient"] S nazvom studie sa zobrazi aj meno pacienta. //row/contentFunction/control[@controlId="title_mc"]/data[@id="base"] Základné vizuálne nastavenie. //row/contentFunction/control[@controlId="title_mc"]/data[@id="study"] Základné vizuálne nastavenie pre nazov studie. //row/contentFunction/control[@controlId="title_mc"]/data[@id="base"] Základné vizuálne nastavenie pre meno pacienta.</declare><row><trigger group="rowSlotExtraContent" id="dicom_medirexlabs-ec:0" /><contentFunction><control controlId="extra_header_content_mc" /></contentFunction><control controlId="extra_header_content_mc" left="6" top="20" visible="no" xscale="100" rightBase="__row.right" right="0" border="yes" initFirst="yes" /><control controlId="base1_mc" topBase="extra_header_content_mc.bottom" top="20" /><control controlId="line1_mc" topBase="extra_header_content_mc.bottom" top="0" /></row><row><trigger group="rowSlotExtraContent" id="dicom_medirexlabs-ec:1" /><control controlId="base1_mc" top="40" visible="no" /><control controlId="line1_mc" top="10" visible="no" /><control controlId="extra_header_content_mc" top="15" visible="yes" /></row><row><trigger group="rowBase" id="dicom_medirexlabs-d:header" /><_trigger group="rowBase" id="dicom_medirexlabs-d:full" /><_trigger group="rowBase" id="dicom_medirexlabs-d:teaser" /><contentFunction><control controlId="line_mc" _runLater="yes" /><control controlId="date_mc" date="human" runLater="yes" /><control controlId="title_mc" _display="patient" runLater="yes" /><control controlId="patient_mc" runLater="yes" /><control controlId="init_handlers" runLater="yes" /></contentFunction><control controlId="__row" height="20" elementHeight="20" rightBase="__panel.right" right="-5"><background><key color="#ffffcc" position="0" /><key color="#ffffcc" position="53" /></background></control><control controlId="__row" heightBase="base1_mc.top" height="20" elementHeightBase="base1_mc.top" elementHeight="20" rightBase="__panel.right" right="-5" /><control controlId="report_mc" visible="no" top="20" /><control controlId="title_mc" left="6" top="0" width="200" xscale="100" visible="yes" _border="1" /><control controlId="date_mc" leftBase="title_mc.right" left="2" top="0" rightBase="__row.right" right="-4" visible="yes" _border="1" /><control controlId="patient_mc" _leftBase="title_mc.right" left="6" top="18" width="200" xscale="85" visible="yes" border="0" />\<control controlId="line1_mc" visible="yes" left="5" top="0" xscale="100" topBase="patient_mc.bottom" color="#ffffff" /></row><row><trigger group="rowBase" id="dicom_medirexlabs-d:full" /><contentFunction><control controlId="fill_content" type="full" height="20" rightBase="__panel.right" right="-10" /></contentFunction><control controlId="__row" height="150" elementHeight="150" rightBase="__panel.right" right="-5"><background><key color="#ffffcc" position="0" /><key color="#ffffcc" position="53" /></background></control><control controlId="title_mc" left="6" top="0" width="200" xscale="100" visible="yes" _border="1" /><control controlId="date_mc" leftBase="title_mc.right" left="2" top="0" rightBase="__row.right" right="-4" visible="yes" _border="1" /><control controlId="patient_mc" _leftBase="title_mc.right" left="6" top="18" width="200" xscale="85" visible="yes" border="0" /><control controlId="line1_mc" left="10" rightBase="__row.right" right="-10" visible="no" /><control controlId="report_mc" left="8" topBase="base1_mc.top" top="1" width="200" rightBase="__row.right" right="-8" visible="yes" selectable="yes" _border="1" initFirst="yes" /><control controlId="__row" heightBase="report_mc.bottom" height="4" elementHeightUnset="yes" /></row></layout></layoutSettings></dicomTimeline><action dataId="labsId" controlId="ctrl_load_labs" version="3" layer="5" top="90" left="835" runOnUpdate="1" height="20" width="100"><broadcastEvent eventId="labs_update" /><actions><_analyze /><runFunction controlId="labsViewer" function="setLabsId" pass="arguments"><param valueHelperDataId="_runControlArg0" /></runFunction><set formDataId="form_labsId" valueHelperDataId="_runControlArg0" /><updateControl controlId="txt_labsId" /><layout controlId="transfer_btn" enabled="1" /></actions></action><dicom_medirexlabs version="2" controlId="labsViewer" layer="5" top="15" left="20" dataId="dicom_medirexlabs_1528261294" shadow="1" height="425" width="310"><dicom_medirexlabs>New dicom_medirexlabs</dicom_medirexlabs><updateOnEvent eventId="labs_update" /></dicom_medirexlabs><medicSelectPatient clearButton="1" version="2" controlId="patientSelect" layer="5" top="10" left="690" dataId="patient_ms_id" height="20" width="220"><broadcastEvent eventId="e_patient_selected" /></medicSelectPatient><action version="3" controlId="action_after_patient" layer="5" top="60" left="695" runOnUpdate="1" height="20" width="100"><updateOnEvent eventId="e_patient_selected" /><actions><_analyze /><set helperValueDataId="dicom_type" value="MEDIREX" /><runFunction controlId="patientLabs_tml" function="setLaboratory" pass="arguments"><param value="MEDIREX" type="string" /><param value="FALSE" type="boolean" /></runFunction><broadcastEvent eventId="e_show_patient_labs" /></actions></action><button broadcastOnClick="1" version="6" layer="5" top="60" left="825" height="20" width="100"><label>MEDIREX</label><broadcastEvent eventId="e_select_lab" /><actions><runFunction controlId="patientLabs_tml" function="setLaboratory" pass="arguments"><param value="MEDIREX" type="string" /><param value="false" type="boolean" /></runFunction></actions></button><button version="6" layer="5" top="155" left="835" height="20" width="100"><label>Copy to clipboard</label><hint>Uloží dáta z labákov do schránky....</hint><actions><_analyze /><runFunction controlId="labsViewer" function="copyToClipboard"><_param valueHelperDataId="_runControlArg0" /></runFunction></actions></button><inputText version="6" controlId="txt_testBin" layer="5" top="120" left="690" dataId="testBinTxt" height="18" width="120"><broadcastEvent eventId="textBinTest" /></inputText><button version="6" layer="5" top="120" left="835" height="20" width="100"><label>Labaky MEDIREX</label><actions><_analyze /><runFunction controlId="patientLabs_tml" function="searchLabResultsByBin" pass="arguments"><param valueFormDataId="testBinTxt" /><param value="MEDIREX" type="string" /></runFunction><runFunction controlId="labsViewer" function="clearLabsViewer" /><set formDataId="labID" value="" /><updateControl controlId="labID_txt" /><set formDataId="txt_resultOutput" value="" /><set valueHelperDataId="lab_ouput_txt" value="" /><updateControl controlId="outputres_txt" /><layout controlId="transfer_btn" enabled="0" /><broadcastEvent eventId="e_search_byBin" /></actions></button><label selectable="1" version="5" showAs="label" layer="5" top="150" left="695" shadow="1" height="75" width="115">0001201684 5954177196 7651038164 7352209370</label><button controlId="transfer_btn" version="6" layer="5" top="185" left="835" height="30" width="110"><label>Transfer LAB output</label><actions><runControl controlId="action_transfer_txt" /></actions></button><action controlId="action_transfer_txt" version="3" layer="5" top="225" left="835" runOnUpdate="1" height="35" width="115"><actions><request function="module:dicom/medirexLabs/dtrq_getFormatedOuput" disableForm="yes" resultHelperDataId="lab_ouput_txt" broadcastEventId="e_laboutput_get" _onErrorBroadcastEvent="e_info_status_reset"><param key="labsId" valueHelperDataId="_runControlArg0" /><param key="dataType" valueHelperDataId="_runControlArg1" /><_param key="credentialCode" valueHelperDataPath="resource_role.credential_code" /><_param key="hciDataCode" valueHelperDataPath="resource_role.hci_data_code" /><_param key="hceDataCode" valueHelperDataPath="resource_role.hce_data_code" /><_param key="projectMsId" valueHelperDataId="active_project_ms_id" /></request></actions></action><inputText controlId="outputres_txt" appearance="outline" mode="multiline_wrap" version="6" layer="5" top="265" left="670" dataId="txt_resultOutput" height="216" width="305"><updateOnEvent eventId="e_laboutput_get" /></inputText><action controlId="action_transfer_textoutput" version="3" layer="5" top="235" left="695" runOnUpdate="1" height="20" width="100"><updateOnEvent eventId="e_laboutput_get" /><actions><_analyze /><set formDataId="txt_resultOutput" valueHelperDataId="lab_ouput_txt" /><updateControl controlId="outputres_txt" /></actions></action><inputText version="6" controlId="txt_labsId" layer="5" top="95" left="695" dataId="form_labsId" height="18" width="120" /></controls>