Temat: Linq - pytanie
Marek K.:
Ja też, ale też nie potrafię sobie wyobrazić aby nie sprawdzono wszystkiego w pewnych zakresach.
System był sprawdzany i funkcjonował w wieeeelu laboratoriach (i szpitalach; ja zajmowałem się wdrożeniami tylko laboratorium) Polski. "Core" było wszędzie wspólne (choć w różnych wersjach), ale wiele zmian było także robionych pod konkretnych odbiorców. Testy były długie (żeby każda firma testowała tyle swój soft :) ), a dodatkowo praca przez długie lata w labach o dużej "przepustowości" potwierdzała, że system pracuje stabilnie. Tak więc to na pewno nie była jakaś "niedoróbka". Pewnym potwierdzeniem tego jest także fakt, że soft przejęła kilka lat temu inna duża i znana firma informatyczna i nadal go rozwija, a on stanowi pewien standard w Polsce.
zaakceptować braku dokumentacji szczegółowego programu sprawdzania takiego oprogramowania (auditu?), planu testów, czy wyników i nie mam na myśli ramowego harmonogramu.
Troszkę Pan przesadził, wszystko to było, ja pisałem o sytuacji wyjątkowej, a nie o takiej, która miała miejsca stale.
Ok, to że sprawdzono nie wątpię ale czy dotrzymano odpowiedniej staranności w realizacji,
Nie wiem, nie pracowałem w tej firmie, tylko w firmie podwykonawcy. Dlatego nie mogę fantazjować i zapewniać, byłoby to nieuczciwe z mojej strony. Ale na pewno nie jechałem na kolejne wdrożenia z "kulą w żołądku", że jadę wdrażać jakieś dziadostwo.
inni którzy sprawdzali to na swój (ich) własny użytek, aby się nie pogubić i z własnej (ich) inicjatywy bo były tylko ogólne zalecenia, a szczegóły i tak spoczywały na wykonawcach?
"I did my best". Za innych nie mogę ręczyć.A szczegółów biznesowych nie znam.
Czyli nie wiedziano, że od takiej "pierdoły" może zależeć
Jakiej "pierdoły"? Nie rozumiem.
A życie ludzkie może zależeć od każdej jednej linijki kodu, każdej jednej przerwy w pracy serwera i sieci, wyjątku w bazie danych, usterce aparatury itd.
bezpieczeństwa systemów czasu rzeczywistego inżynieria systemów IT przewiduje w opcji standard, dwie maszyny,
Które dwie maszyny? Tam był serwer i kilkadziesiąt jednostek klienckich uaktualnianych osobno ręcznie. Do tego były maszyny pośredniczące między aparaturą a bazą. Konfiguracja obejmowała także czasem samą aparaturę. Po dwie maszyny na stanowisku? Po dwa aparaty? Po dwa serwery?
Pamiętajmy, że to wszystko oznacza także koszty nie tylko zakupu i utrzymania sprzętu, sieci, przełączników, wdrożenia, ale także utrzymania spójnych informacji w obu systemach. A teraz przedstawmy te koszty zarządowi szpitala, mówiąc mu jednocześnie, że "błędy nadal mogą się pojawić, bo usuwamy jedne, ale niechybnie pojawią się także inne, wynikające ze skomplikowania infrastruktury".
nie aktualizuje się jednocześnie, tylko jedna po drugiej i to nie "z marszu"? :-(
No i co by to dało tutaj? Jak mówiłem - po podniesieniu wersji wszystko śmigało, cały dzień zleceń (w godzinach szczytu). Problem wystąpił w momencie gdy wszyscy niemal spali, wiele godzin po aktualizacji.
zwolnienia. :-( Ani tak nie wolno było zaprojektować, a
Ten system ma długie lata, projektowany był przez osoby na pewno bardziej doświadczone ode mnie. Nagle wychodzi teraz, że przez jeden taki błąd skreśla Pan cały system, pracujący w setkach jednostek medycznych różnej wielkości, zwalnia całą kadrę projektowo-decyzyjną. Daj Boże, aby w roku 2006 każdy system IT w Polsce był tej miary, co tamten.
Oczywiście, że zawsze wszystko można zrobić lepiej. Dlatego np. ja wykorzystuję wiedzę zdobytą wtedy, uczę się na cudzych błędach, ale nigdy nikt nie powie, że zrobił coś idealnie. Nawet łazik marsjański, projektowany przez super-speców, kosztujący grube pieniądze, ostatnio zaliczył gorący reset -
link na elektroda.pl.
przewidzieć że szlag może trafić kompa wie nawet dzieciak w szkole podstawowej, który zazwyczaj z dumą ciągle aktualizuje swojego Windowsa,
Ale tutaj szlag kompa nie trafił. Nie rozumiem. Już nie wspominając o tym, że sieć była "odpięta" od internetu, nic się automatycznie nie aktualizowało, a na kompach nawet porty USB były odpięte, żeby nikt nic nie namieszał, obudowy zaplomowane. A ci, którzy mogli by coś napsuć (w tym ja) mieli podpisane "papierki grożąco-straszące" i zdawali sprawę nie tylko przed swoim pracodawcą, ale także kierownikiem i administratorem laboratorium oraz kierownictwem firmy zlecającej wdrożenie.
ani nie wolno było sprzedać taką niebezpieczną konfigurację, ani nie wolno było klientowi coś takiego proponować, wstawiać do oferty handlowej.
Obawiam się, że jednak, z całym szacunkiem dla Pana doświadczenia i wiedzy, odrobinkę się Pan zapędził w osądzie.
W dyskusji o bazach danych przytoczyłem pewne zdarzenie. Incydentalne, nie regularne. Napisałem, że mając dostęp do bazy mogłem to naprawić, dzięki czemu znacznie zmniejszyłem pozoim zagrożenia. Ten sam błąd w czasie pracy dziennej byłby totalną pierdołą, w tamtym momencie, kiedy jest dyżur nocny i prawie pusto w laboratorium, a programiści śpią - akurat jego znacznie w danej sytuacji wzrosło.
I właśnie dlatego, że ktoś mądry pomyślał o tym i przewidział, że chociaż w godzinach szczytu wszystko wydaje się działać OK, to może pojawić się problem na dyżurze nocnym. I żeby nie zostawić laboraotrium zdanego tylko na siebie, postawił tam mnie. Naprawiłem, produkcja poprawiła - i problem się nie powtórzył.
A Pan odsądza system i cały tworzący go zespół od czci i wiary, jak by to było najgorsze, co się w historii polskiej informatyki zdarzyło. Otóż nie. System był (przynajmniej jak na swoje czasy) naprawdę OK i gdyby nie fakt, że dzisiaj sam projektuję oprogramowanie info-medyczne i czas "wycierania kolanami podłóg w laboratoriach" mam już za sobą, wdrażałbym go dalej.
Zresztą pod względem sposobu pracy i możliwości niewiele się różni od innych, wiodących (tutaj branżowcom przed oczami pojawiają się 2-3 nazwy) systemów na polskim rynku. Może tylko wygąda archaicznie, na aplikację rodem z lat 90 i zastępowany jest przez systemy wyglądające nowowocześniej i lepiej pasujące do nowoczesnych standardów (SOA, lekki klient, wymiana informacji między systemami).
I nie chodzi o to, że bronię tutaj czyjegoś interesu, przecież nie pracuję tam od kilku ładnych lat, w dodatku to konkurencja :) Ale nie popadajmy w skrajności.
aktualizacji?) gdyby upierał się (zapewne z powodu cięcia kosztów) przy tak niebezpiecznej konfiguracji. :-( Tak, tak, wiem, że prawa rynku to, prawa rynku tamto. ;-(
Jakiej niebezpiecznej konfiguracji? Pół Polski stało i stoi na tym systemie (choć owszem, biegiem czasu liczba użytkowników może maleć, bo IT się rozwija, pojawiają się nowe, nowocześniejsze produkty, konkurencja etc). Błędy zdarzają się w systemie każdej firmy.
STOP! To była pierwsza (jedna z pierwszych) sprzedaż tego oprogramowania?
Sto któraś.
To każdy szpital ma inne słowniki?
Mhm.
Bez przesady. :-( Przecież podobny zakres mają choćby apteki - setki tysięcy leków, receptur i tego każda apteka nie wklepuje do bazy indywidualnie, a aktualizacje są robione bardzo często. Rozumiem, że w szpitalu dochodzą inne rzeczy ale szpital przecież nie może wykorzystywać nie wiadomo czego, a właściwie wiadomo co może, bo wszystko musi być dopuszczone do obrotu urzędowo. :-(
Laboratorium to nie apteka.
Każde laboratorium ma nieco inny słownik. Nie mam co prawda tyle czasu, żeby opisać to dokładnie, ale ogólnie naświetlę temat.
Otóż są pewne badania podstawowe, które wykonuje praktycznie każde laboratorium, choć tak naprawdę jest to bardzo wąska grupa badań. W małych labach robi się niedużo. Np. w "mojej" przychodni (tzw. "kolejowej") glukozę, prostą morfologię, OB, ogólne badanie moczu (bardzo ograniczona część osadowa), dwie podstawowe aminotranferazy (aspat, alat), fosfatazę alkaliczną (ale kwasowej już nie), elektrolity, mocznik i kilka innych robi się na miejscu, ale już bilirubinę, białko całkowite, CRP, kolejną aminotransf. - GGTP, LDH, kreatyninę, markery sercowe (CK/-MB, troponina), płytki, retikulocyty, układ krzepnięcia krwi, gospodarka żelazowa, hormony tarczycowe, "kobiece", elektroforeza białek i całą masę innych, choć praktycznie podstawowych badań "outsorcuje się" się do innych laboratoriów. Tamte laboratoria także mają różne zestawy badań. Samych morfologii jest kilka (8, 12, 14, 16, 20, 24, 28, 32, 48, 64, 128 parametrowe, w tym różne rozmazy: 3,5,8 diff; choć najczęściej to między 12 a 26 parametrów). Frakcji cholesterolu HDL i LDL jest kilka, izoenzymów LDH - także. Sam układ krzepnięcia krwi (wykonywany np. przed zabiegiem) może mieć 1-2 parametry, a może mieć ich ponad 30.
Są laboratoria specjalizowane pod kątem "sercowców", "onkologiczne", "płucne" - każde z nich będzie miało pewien podstawowy zbiór (choć trudno do tak do końca opisać) i całą masę badań dodatkowych.
A podałem tu tylko kilka z ponad półtora tysiąca badań, jakie można wykonać. Są laboratoria "codzienne", szpitalne, specjalistyczne, badawcze (np. przy zakładach genetyki molekularnej). Jedne laboratoria robią to, inne tamto. Mają różne pracownie (biochemia kliniczna, immunochemia, koagulologia, serologia grup krwi, analityka ogólna, monitoring leków, mikrobiologia, genetyka), różny zestaw aparatury, aparatura wykorzystywana jest w różnym zakresie (wykorzystywany kanał pomiarowy, metoda aspiracji materiału, zastosowane elektrody i odczynniki), podpisane są umowy z różnymi dostawcami odczynników, do tego dochodzi rachunek ekonomiczny (co się opłaca robić, co outsorcować) - no jest tego po prostu cała masa. Książkę można napisać.
Aha, zapomniałem, że badania mogą mieć różne nazwy i oznaczenia kodowe (skrócone). I wszystkie są w obiegu.
Przykłady z mojego słownika:
* Inhibitor esterazy C, Białkowy inhibitor proteaz serynowych, Serpina
* AlAT, ALT, GPT, Aminotransferaza alaninowa, Transaminaza alaninowa
* Przeciwciała klasy IgM przeciw lipidom krętkowym kiły, Kiła (Lues, Syphilis), Serodiagnostyka kiły, Przeciwciała antyfosfolipidowe, Przeciwciała antykardiolipinowe
* Kinaza fosfokreatynowa - izoenzym sercowy (37°C), Fosfokinaza kreatyniny, Fosfokinaza kreatynowa
* CCP, CCP-Ab, aCCP, anty-CCP, Przeciwciała przeciw białku cyklicznemu cytruliny
* S100B, Białko S100, Marker udaru mózgu, Marker glejaka, Marker czerniaka złośliwego
* aTPO, Przeciwciała anty-TPO, Przeciwciała przeciw peroksydazowe, Przeciwciała anty-mikrosomalne peroksydazowe
Praktycznie każde jedno badanie ma ileś tam wariantów nazw, stosowanych w laboratoriach.
Teraz - mamy profile badań, czyli zestawy. Każde laboratorium łączy sobie testy elementarne w profile ze względów organizacyjnych (zamiast zlecać 10 badań osobno, zleca się profil) i ekonomicznych (cenniki, np. "profil nerkowy" kosztuje 20zł, ale te same X badań osobno to koszt 30zł). Inna sprawa to nomenklatura przyjęta w labie - dla jednego morfologia to badanie elementarne (zlecane i wykonywane jako całość) z np. 16 parametrami (wynikami), a dla innego - to profil 16 badań elementarnych (choć np. nie da się zrobić na aparacie samej tylko hemoglobiny).
Potem idą materiały biologiczne, na jakich można wykonać badanie. Jest ich cała masa - kilka z nich to surowica, osocze, krew pełna na różnych antykoagulantach (i dodatkowo - z żyły, z palca, płucna itd.), płyny z jam ciała (np. mózowo rdzeniowy, otrzewna, opłucna itd.), mocz (przypadkowy lub poranny, dobowa zbiórka), kał, wymazy itd. Nie każde laboratorium robi badania na każdym materiale.
Dalej idą metody wykonywania badań. Niektóre badania można wykonać wieloma różnymi metodami, zależnie od potrzeb (wymaganej czułości i selektywności), od posiadanego sprzętu, od zakupionych odczynników i elektrod, od kosztów.
Z parą metoda-materiał skojarzony jest wynik. I teraz znów nieco konfiguracji. Otóż wynik może pochodzić spoza systemu (z aparatu, manualnie) albo być wyliczony z innych wyników. Przykładem jest np. klirens kreatyniny, gdzie wynik zależy od stężenie kreatyniny w surowicy, wieku, płci i wagi pacjenta lub jej steżenia w moczu i objętości badanego moczu. Trzeba więc podefiniować formuły według zaleceń kierownika laboratorium.
Trzeba przy okazji pamiętać, że kolejne komponenty wyniku (czyli wyniki innych testów) mogą "schodzić z aparatów" w różnym czasie bądź wcale się nie pojawić. Jak uszkodzi się aparat, który wykonuje dane oznaczenie, a nie ma dla niego zastępnika, ale badanie można wykonać ręcznie, to wykonuje się je ręcznie i samemu wprowadza wynik. Trzeba także pilnować rozcieńczeń. Takie aspekty również trzeba skonfigurować.
Dalej - wyniki mogą być numeryczne, jakościowe lub opisowe. Wyniki numeryczne trzeba sformatować (np. liczba zer po przecinku), dla wyników jakościowych i opisowych - podefiniować słowniki i określić jak mają się drukować.
Dalej - do wyniku dochodzą różne flagi (przekroczenie zakresu referencyjnego, komunikaty z aparatu, np. below/above assay range", chemoliza próbki i inne) - te flagi trzeba jakoś wyświetlić, a więc ustalić im format i tekst komunikatu.
Dalej - dla wyników jakościowych w "notacji plusikowej" (widoczne często na biochemicznego wynikach badania moczu) trzeba zdefiniować poziomy (poziom A->"+", poziom B->"++"), a te poziomy są różnie ustalane przez laboratoria, w zależności od przyjętego zakresu referencyjnego.
Dalej - do wyniku dochodzą także zdefiniowane uprzednio, wybierane przez diagnostę lub "trigerowane" komentarze - trzeba zdefiniować ich słownik i ustalić, jak będa się wyświetlać ("zamiast wyniku", "pod wynikiem").
Dalej - zakresy referencyjne zwane popularnie "normą". Oczywiście są pewne "uniwersalne" zakresy referencyjne (stanowiące 95% przedział ufności dla zmiennej), ale laboratorium na takich się nie opiera, tylko podaje dokładne wartości, zależne od wielu czynników: wieku pacjenta, jego płci, metody wykonania oznaczenia i konkretnego aparatu. Wystarczy zmienić elektrodę w aparacie i po kalibracji możemy otrzymać nieco inny zakres. Dla lekarza nigdy nie liczy (a przynajmniej nie powinien!) sam wynik, ale zawsze wynik w ramach danego zakresu referencyjnego.
Dalej idą konfiguracje aparatura-badanie-metoda-materiał. Dany aparat może wykonać dane badanie danymi metodami na danych materiałach. To się zmienia zależnie od tego, czy dany aparat działa (a jeśli tak, to czy działa dany "kanał pomiarowy"), jakie odczynniki, jaka elektroda, jaką ma wgraną wersję oprogramowania.
Jak mówiłem, jest to twór dynamiczny, a proszę mieć na uwadze, że ja tutaj upraszczam.
Swego czasu, w obecnej firmie projektowałem uniwersalny słownik badań, materiałów i metod. Robiłem go kilka miesięcy mało śpiąc i dużo szukając, konsultując z diagnostami. Zgromadziłem ponad 1200 badań, a i tak zadanie mnie przerosło :)
Przecież wdrożenie w każdym szpitalu wg takiego scenariusza to
Tak to wygląda w przypadku chyba każdego wdrożenia w laboratorium i w szpitalach. Wiem, jak to wygląda w różnych firmach.
może być wykonana raz przez dostawcę rozwiązania poza szpitalem, a następnie tylko "wgrana" w każdym ze szpitali indywidualnie.
Hmmm :) Pewna - oczywiście. Np. szefowie laboratorium dostarczają listy badań, kierownictwo placówki dostarcza listy oddziałów, OPKi (ośrodki powstawania kosztów), lekarzy i inne słowniki. No i to w sumie wszystko. Cała reszta zabawy zaczyna sie na miejscu. W między czasie okazuje się, że zmienił sie aparat, laboratorium zmieniło politykę, zmienił się wytyczne w diagnostyce i trzeba przekonfigurowywać różne rzeczy.
Podobnie jest w zakładach przemysłowych, gdzie jak przygotowanie produkcji nie upora się z bazą wyrobów, półfabrykatów a do nich normatywów, receptur, przepisów, surowców, i "paru" innych "drobiazgów", to produkcja nie wyprodukuje, handlowcy nie sprzedadzą a księgowość nie rozliczy.
Etapowe wdrażanie to tutaj podstawa. Po pierwsze żaden kierownik laboratorium nie dopuści do kompleksowego wdrożenia "na raz" na wszystkich pracowniach i aparatach. Jest to zbyt skomplikowany proces, a lab pracuje 24/7, nie ma czasu na przestój wszystkich pracowni, a nawet nie wszystkich aparatów na jednej pracownik. Po drugie - żaden wdrożeniowiec nie podejmie się opanować tego wszystkiego. Już nie wspomnę o szkoleniach stanowiskowych.
Tu się nie da wejść w piątek wieczorem, poustawiać wszystkiego do poniedziałku i w poniedziałek zacząć. Współpraca punktu pobrań, aparatury, stanowisk, opracowanie procedur (które powstają dynamicznie) i wiele innych zagadnień. Najpierw wdraża się najmniej obciążaone pracownie (zwykle koagulologia, monitoring leków, analityka - choć to zależy od profilu labu). Podobnie z oddziałami.
A wiele stanowisk, konfiguracja rozproszona (stanowisk, laboratoriów, ..) passé? Rozumiem, że rozwiązania zintegrowane czy klasy ERP to dzisiaj żaden luksus dla biznesu tylko signum tempori, ale czy także w przypadku systemów czasu rzeczywistego o istotnym znaczeniu dla życia człowieka?
Rozumiem, że to fajnie hula w teorii, i rozbudza wyobraźnię, jak wszystko jest na jeden click lub ENTER, ale bezpieczeństwo ma swoje wymagania i jeżeli nie dysponuje się "wystarczająco" zintegrowanymi elementami składowymi, to żadne dostrajanie ani tuning bazy nie pomogą.
Nie bardzo rozumiem, jak opisane tutaj kwestie mają się do opisywanego problemu.
Ale czy to źle? ;-) A "a pH od pecha" kupuję. ;-)))
Nie źle, tylko uzasadniam, dlaczego dział IT tego nie zrobi.
Toczymy dyskusję nad systemem, którego Pan nie zna (więc trudno go kompleksowo ocenić na podstawie udzielonych przeze mnie szczątkowych informacji na temat pewnego jego zdarzenia, które było jednie ilustracją w dyskusji, ale na tle całokształtu było jedynie incydentem), nad problemem, którego dokładnie nie opisałem (nie mam do tego prawa), nad charakterem wdrożeń w laboratorium, co samo w sobie stanowi dużą porcję wiedzy branżowej i doświadczeń - a to niespecjalnie już pasuje do głównego wątku.
Ze swej strony dziękuję za dyskusję. Możemy ją kiedyś pociągnać w osobnym wątku, wymieniając się doświadczeniami.
Pozdrawiam :)
Ten post został edytowany przez Autora dnia 05.12.13 o godzinie 17:26