====== 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 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"), ); **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 /HEM|OKB|GEN|IMU|MIK|SER|CYI|CYG|BPS/i 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