Nástroje používateľa

Nástoje správy stránok


dev:omega:importzmedirexu

Toto je staršia verzia dokumentu!


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á nastarosti 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. dastaMedirexidf.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

  1. dasta_exams_xml_data - sem sa ukladajú xmlka, ktoré sú prekonvertované s windows-1250 na UTF8 a je im pridelené group_id
  2. 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
  3. dasta_exams_results_data - tu už sú jednotlivé výsledky, t.j. každá jedna hodnota je jeden riadok
dev/omega/importzmedirexu.1538126736.txt.gz · Posledná úprava: 2018/09/28 11:25 od Boris Duchaj