Nástroje používateľa

Nástoje správy stránok


dev:omega:importzmedirexu

Rozdiely

Tu môžete vidieť rozdiely medzi vybranou verziou a aktuálnou verziou danej stránky.

Odkaz na tento prehľad zmien

Next revision
Previous revision
dev:omega:importzmedirexu [2018/09/28 09:29]
Boris Duchaj vytvorené
dev:omega:importzmedirexu [2018/09/28 11:29] (aktuálne)
Boris Duchaj
Riadok 1: Riadok 1:
 ====== Importovanie z Medirexu ====== ====== Importovanie z Medirexu ======
 +
 +**vetva gitu duch/​probios-labaky**
 +
 +**Adresár /​modules/​sk_gpn/​ps** teda dať tam kde je aktívny daný modul, klient a pod
 +
 +Importovanie DASTA dát z Medirexu má na starosti základná trieda //​dasta.class.php//,​ toto je základná povedzme abstraktná trieda, ktorú možeme extendovať dľa potrieb, je výrazne BareBone
 +
 +Implementácia pre DASTA-u od MEDIREXU nájdeme v //​dastaMedirex.class.php//​
 +
 +A Importovanie dát z XML je už implementované v //psku// **ps.probiosDastaImport2.class.php**
 +
 +Princíp je následovný:​
 +  * každý súbor z Medirexu ​ má tvar //​DaOKB_P79237009202_A95996009_LIS_1002852708.XML//​
 +  * za Da sú tri veľké písmená ktoré definujú o aký typ laboratórnych výsledkov sa jedná, každý typ vyšetrenia vzhľadom na rôznorodosť dáť má samostatnú triedu na spracovanie,​ ktorá sa inštancuje pri načítaní daného XMLka do PHP
 +
 +v psku je privátna premenná, ktorá drží v sebe asociácie jednotlivých typov vyšetrenia. Teda ak pribudne nejaký nový typ vyšetrenia je nutné sem pridať definíciu
 +
 +<code php>
 +private $groupLabels = array(
 +
 + "​HEM"​ =>​array("​label"​=>"​Hematology","​idf"​=>"​Hem"​),​
 + "​OKB"​ =>​array("​label"​=>"​Biochemistry","​idf"​=>"​Okb"​),​
 + "​GEN"​ =>​array("​label"​=>"​Genetics","​idf"​=>"​Gen"​),​
 + "​IMU"​ =>​array("​label"​=>"​Imunology","​idf"​=>"​Imu"​),​
 + "​MIK"​ =>​array("​label"​=>"​Microbiology","​idf"​=>"​Mik"​),​
 + "​SER"​ =>​array("​label"​=>"​Serology","​idf"​=>"​Ser"​),​
 + "​CYI"​ =>​array("​label"​=>"​Cytology","​idf"​=>"​Cyt"​),​
 + "​CYG"​ =>​array("​label"​=>"​Cytology","​idf"​=>"​Cyt"​),​
 + "​BPS"​ =>​array("​label"​=>"​Biopsy","​idf"​=>"​Bps"​),​
 + );
 +</​code>​
 +
 +**Label** má na starosti názov daného vyšetrenia,​ ktorý sa vloží do Db a je prepojení s Languages, tak že Biochemistry = Biochémia
 +
 +Každý súbor sa načíta dľa Regular výrazu ​
 +<​code>​
 +/​HEM|OKB|GEN|IMU|MIK|SER|CYI|CYG|BPS/​i ​
 +</​code>​
 +sa zanalyzuje a následne sa spustí trieda ktorá je za to zodpovedná v php t.j. dastaMedirex**//​idf//​**.class.php
 +
 +Tento stav je nutný preto, lebo každý XML má trochu iné vnáranie elementov a atribútov ​
 +
 +Pre správne fungovanie je nutné mať v databáze tri tabuľky
 +  - **dasta_exams_xml_data** - sem sa ukladajú xmlka, ktoré sú prekonvertované s windows-1250 na UTF8 a je im pridelené group_id
 +  - **dasta_exams_group_patient_data** - tu sú už rozpasrované dáta ako lekár, diagnóza a hlavne typ labáku odkaz na XML a podobne
 +  - **dasta_exams_results_data** -  tu už sú jednotlivé výsledky, t.j. každá jedna hodnota je jeden riadok
 +
  
  
dev/omega/importzmedirexu.1538119750.txt.gz · Posledná úprava: 2018/09/28 09:29 od Boris Duchaj