Bir Tıbbi Kayıt Uygulaması Yüklemek (henüz hazır değil)

Açıklama

Bu NASIL belgesini, gerçek bir NASIL belgesine dönüştüremeyeceğim. Bu kısım küçültüldü, daha fazla geliştirilmeyecek ama yine de tamamen kaldırılmayacak.

Bu kısmın meselesi

Bu kısım, yazdığım bu NASIL belgesinin içinde bir NASIL olmaya başladı. Bu noktada, mevcut sistemlere nasıl yükleme yapılacağına dair kullanılabilir yönergeler sunacağım ya da bu yönergelerin bulunduğu yerlere referans vereceğim.

Okuyucular Hakkında Varsayımlarım

Elimden geldiğinde bu uygulamaların nasıl yükleneceğine dair ayrıntılı açıklamalar yapacağım, ancak söyleyeceklerim tam olarak ne yazacağınız olacak (ya da en azından benim açımdan çalışan komutları yazacağım). Buradaki sorun, Microsoft tabanlı Windows sistemlerini kullanan kullanıcıların, kabuk istemcisi ya da dizinlere geçme gibi gerekli şeylere aşina olmamasıdır. Daha açık konuşursak, birçoğumuz bilgisayarla sadece Grafiksel Kullanıcı Arayüzü (GUI'ler) ile etkileştik, ancak kurulum sırasında bir terminale ya da kabuğa benzeyen Komut Satırı Arayüzü (CLI) ile etkileşmek zorunda kalacaksınız.

Eğer bahsedilen konu hakkında bir fikriniz yoksa, kabuk istemcilerinin ne olduğunu ya da özellikle GUI'siz Unix tabanlı bir işletim sisteminin neye benzediğini birine (belki de bana) sormanızı tavsiye ederim.

OIO

Nedir?

OIO sistemi yüksek kademeli bir soyutlama ile başlar - "formlar" ile modelleme. Formlar ilerleme notlarını modelleme/kurma ve saire için kullanılır. OIO sistemi arka planda ilişkisel veritabanı kullanımı sağlar (PostgreSQL) Böylece, 1) veri/meta veri/sunum ayrımlarını daha belirgin kılar, 2) diğer sistemlerle bütünleşme sağlar (örneğin, GNUMed, SQL Clinic ve saire), 3) kuyruk yorumlaması/genişletmesini daha kolay yapar (SQL ile).

Eğer OpenHealth e-posta listesinin arşivlerini incelerseniz, GEHR ve OIO'ya dair geniş kapsamlı tartışmalar göreceksiniz. GEHR de aynı yaklaşımı sunar ancak bunu "model" soyutlamasının gelişmiş kademesi olarak tanımlardı. OIO/GEHR tutumunun avantajı, meta verilerin içeriklerinin tak ve çalıştır mantığına uymasıydı, yani sistem kolayca genişletilebiliyor ve uyarlanabiliyordu ve aynı zamanda taşınabilir tıbbi kayıtların kolayca gerçeklenmesine olanak tanıyordu.

OIO NASIL Yüklenir

Belge üzerine bir çift söz:

OIO'nun geliştiricilerinin yazdığı kadar çok ve gerçekten iyi belgelendirme yapmak için itina gösteremem. Özellikle eğer aceleniz varsa, size karışık gelebilecek bazı bölümlerin olduğunu biliyorum. :) Buna rağmen, lütfen OIO kurulum belgesini okuyun ve geri gelin. Eğilimim gittikçe Debian yönüne kaydığı için, geliştiriciler OIO'yu tüm dağıtımlar için desteklemeye başladıkları zaman, belgeyi daha da genişletmeyi düşünüyorum.

Debian Yüklemesi İçin Başlangıç Notları
PostgreSQL Üzerindeki Değişiklikler

En büyük sorunlardan biri Zope'un PostgreSQL veritabanına neden bağlanamadığını bulmaktı. Olan biten şey, aslında (ayrıntıları daha sonra vereceğim) 'postgres' kullanıcısının yetkisinin doğrulanmamasıydı. Bu sorunun Krebs yetkilendirmesinin öntanımlı olarak yüklenmemesinden kaynaklandığını düşündüm. Bu sorunu düzeltmek için, cd /etc/PostgreSQL/ yapmanız ve pg_hba.conf dosyasını bulmanız gerekiyor. İstediğiniz düzenleyiciyi kullanabilirsiniz; yapmanız gereken tek şey veritabanına kimlerine bağlanmasına izin verilip verilmediğini söyleyen kodları bulmak. Ne yazık ki, şimdilik uygulamanın çalışmasını sağlamak için yaptığım tek şey bunları değiştirmek:

local        all                                           peer sameuser
host         all         127.0.0.1     255.0.0.0           ident sameuser
host         all         0.0.0.0       0.0.0.0             reject

Bunları şunlara çevirin:

local        all                                           trust
host         all         127.0.0.1     255.0.0.0           trust
host         all         0.0.0.0       0.0.0.0             reject

TimeStamp Hatası

Bu sorunla tesadüfen karşılaştım:

2 Mar 2002 Cumartesi, dude@deletia.com yazmış:
...
> Bir formu arşivlemem için sorulan kısma kadar geldim.
>
> 'now' düğmesine bastım ve 'Create a new version'u seçtim ve
> aşağıdaki hatayı aldım:
> Bu html sayfasının kaynağı:
> <strong>Error Value: ERROR:  Bad timestamp external representation
> '2002/02/03 17:22:58 US/Pacific'

Aynı sorunla günün sonunda karşılaştım. :-)
Bunun nedeni, PostgreSQL'in saat diliminin, US/Pacific zaman dilimine
benzememesiydi. Çözüm, zaman damgasını GMT zamanıyla yapmaktı.

Çözüm için aşağıdakileri OIO/forms/archive_form/archive_b yöntemine ekleyin:
++++++++++++++++++++++++++++++++
<dtml-if time>
 <dtml-call "REQUEST.set('time_string', _.str(time.toZone('GMT')))">
</dtml-if>
++++++++++++++++++++++++++++++++
(parametre listesinde time=time_string olduğundan emin olun)
==========================================
<!--#in "putin_archived_forms_c(
                   form=name,
                   archivedname=newname,
                   version=newversion_value,
                   time=time_string,
                   creator=creator,
                   description=description
     )"-->
==========================================
Artık, basitçe zaman damgasını
GMT zamanına dönüştüren bir rutinimiz var- günışığından yararlanma durumuna
göre US/Pacific için GMT-7 ya da GMT-8 olduğunu düşünüyorum.

Saygılar,

Andrew
---
Andrew P. Ho, M.D.
OIO: Open Infrastructure for Outcomes
www.TxOutcome.Org

Dikkat

OIO'nun orijinal dağıtımında, kaynak kodunu değiştirirken sadece 'time=time' olduğunu göreceksiniz, bu yüzden bunu time=time_string olarak değiştirdiğinizden emin olun.

Bu sorunun yeni 1.0 sürümünde düzeleceğini söyleyebilirim.

Port Sorunları

Zope'un varsayılan portunu, vekil sunucularla anlaşmazlığı kaldırmak için 8080'den 9673'e çevirdiğine dikkat edin. Zope'un kullandığı portları belirtmedikçe, OIO'yu doğrudan çalıştırmanız mümkün olmayacaktır. Genel OIO dizinine girip, Özellikler kısmını seçerek bunları düzeltebilirsiniz. Ya da OIO URL'sinin sonuna /manage ekleyebilirsiniz. Örneğin, http://localhost:8673/OIO ise, şu şekilde olacaktır: http://localhost:9673/OIO/manage

base_URL ve form_URL alanlarını arayacaksınız ve OIO'nun öntanımlı olarak 8080 portunu kullandığını göreceksiniz. Bu sayıyı 9673'e çevirmek zorundasınız.

FreePM

FreePM İçin Açıklamalar

Genellikle muayenehaneler için yararlı olduğunu düşündüğüm ikinci uygulama. (Temel uğraşılarımdan birisi olduğu için kesinlikle kullanacağım.)

Nereden Edinebilirim?

Zope ürünleri ve python gibi, uygulamayı çalıştıracak herşeyi içeren paketi buradan FreePM-1.0b6-FULL-linux2-x86.tar.gz'yi seçerek indirebilirsiniz. Aynı zamanda tüm belgelendirme de birlikte gelecektir.

FreePM'in Temel Yüklemesi

FreePM uygulamasını çalıştırmak için gerekli olan herşeyin bulunduğu 14 MB'lık gzip'li dosyayı indirdiğinizi varsayıyoruz. Buna rağmen, Zope ayrı olarak da yüklenebildiğinden ve Zope kullanan başka uygulamalarınız da olabileceğine göre, FreePM'i Zope ile ayrı olarak nasıl yükleyebileceğinize dair ipuçları da vereceğim.

14MB'lık FreePM Paketi İle Yüklemek

14 MB'lık paketi indirdikten sonra, extensions_for_1.0b6.tar.gz paketini de indirdiğinizi farzediyorum. Bu noktada, aslında gzip'li tar dosyalarını nereye açtığınız pek fark etmiyor, ancak gene de işimi güvenli ve temiz yapmak istiyorum; bu yüzden her birini kendi dizinine taşıyacağım. Şimdi, dosyayı açmak için gunzip FreePM-1.0b6-FULL-linux2-x86.tar.gz ve ardından tar xvf FreePM-1.0b6-FULL-linux2-x86.tar.gz yapın.

Tar dosyasının açılması bittikten sonra, FreePM-1.0b6-FULL-linux2-x86 adında yeni bir dizin göreceksiniz. İşleri daha da kolaylaştırmak için bu dizinin ismini FreePM olarak değiştireceğim, bu yüzden bu komut satırını uygulayın: mv FreePM-1.0b6-FULL-linux2-x86 FreePM

extensions_for_1.0b6.tar.gz dosyasını yeni oluşturduğumuz FreePM dizinine taşıyalım ve Extension dizinin içine taşıyıp tar xvf kullanarak açalım.

Zope Sunucusunu Yüklemek

Tim Cook, Zope'u yüklemek için bir betik yazacak kadar kibar ve nazik bir insan. FreePM dizinine girince (14 MB'lık dosyayı açtığımız zaman oluşturduğumuz dizin), ./install ile betiği çalıştırabilirsiniz.

Dikkat

YÖNETİCİ ADINIZI VE PAROLANIZI yazmayı unutmayın, aksi takdirde Zope sunucusunu yeniden kurmak ve yönetici için yeni bir parola seçmek zorundasınız.

Zope Sunucusunu Çalıştırmak

Tim Cook, aynı zamanda sunucuyu başlatmak ve durdurmak için de iki betik yazdı. FreePM dizininde olduğumuzdan emin olun. Eğer dizindeyseniz start ve stop adlı dosyaları göreceksiniz. Bu betikler, ./install betiğini çalıştırdığınız yerde bulunuyor. Zope sunucusunu çalıştırmak için, ./start komutunu verin. Aynı zamanda, Zope süreçlerini uygunsuz durdurmaya yarayan CTRL-C kombinasyonunun yerine, ./stop yazarak servisin emniyetli şekilde kapatılmasını sağlayabilirsiniz.

FreePM Zope Ürünlerini Yüklemek

Zope ürünlerini yüklemek hakkında söylemek istediğim ilk şey, ilk kullanıcı olan Admin'in sadece diğer kullanıcıları ekleme hakkının olduğu ancak hiçbir ürünü kendi kendine yönetemeyeceğidir. İlk yapmanız gereken şey, yeni bir kullanıcı eklemek ve o kullanıcıyı idareci yapmaktır.

Çalışan bir Zope sunucusuna girmek için, bir ağ tarayıcısı açıp http://127.0.0.1:8080 yazmanız ya da Zope sunucunuzun ne kadar yeni olduğuna bağlı olarak http://127.0.0.1:9673 yazmanız gerekiyor. Eğer yükleme sırasındaki çıktıya bakarsanız, hangi portu kullanmanız gerektiğini göreceksiniz.

Not

Zope, port bağlantısını değiştirdiği için eski port olan 8080'in kullanılması karmaşaya yol açabilir.

Bu noktada, zope giriş sayfasını okuyun ve doğru portu kullandığınızdan emin olun.

Zope yönetim arayüzü olduğunu belirten bağa tıklayın ya da http:127.0.0.1:8080/manage yazarak yönetici arabirimine ulaşın. Eğer sol çerçevenin üzerinde bir kök dizini görüyorsanız, doğru bölüme geldiniz. Aynı sayfada olduğumuzdan emin olun, şimdi sağ çerçevedeki Kök Dizin simgesine tıklayın.

Sağ köşede, kök dizininin içeriğini göreceksiniz.

acl_users dizinini arayın ve tıklayın. Yeni Kullanıcı Ekle seçeneğini seçin ve gerekli alanları doldurun. Alan kısmını boş bırakın. Görev seçtiğinizden emin olun. Öncelikle bu kullanıcı için manager kısmına tıklayın.

Zope kullanarak tamamen oturum kapatmakta sıkıntı çekmiştim, bu yüzden diğer kullanıcılara geçmeden önce, tüm tarayıcı pencerelerini kapattığınızdan emin olun.

Eğer bir kullanıcıya yönetici yetkisi verdiyseniz, oturumu yeniden açmak zorundasınız. Yani, tüm tarayıcı pencerelerini kapatın ve yeni bir zope yönetim ekranı açın. Bu noktada, size yine bir oturum açma sorgusu gösterecektir. Yeni kullanıcı adınızı ve parolanızı girin.

Kullanıcı olarak (admin kullanıcısı değil) oturum açtıktan sonra, sol üst köşedeki Kök Dizini'ne tıklayın. Sağ çerçevede Import/Export düğmelerini seçin. Yeni bir ekran göreceksiniz. "Import File Name" alanına, FreePM Product.zexp ifadesini girin ve "Import" düğmesine basın. İşleminizin başarılı olduğuna dair bir ekran göreceksiniz.

Bir sonraki adım, sol üst köşedeki Kök Dizini simgesine tıklamak olacak. tekrar İmport/Export düğmesine basın, ancak bu sefer FreePM.zexp'i dahil edeceksiniz. Şimdi "Import" düğmesine tıklayın.

Dikkat

FreePM.zexp Zope ürününün çok büyük olduğunu ve dahil edilmesinin uzun zaman alacağını unutmayın ve bu yüzden tarayıcınızdan bir hata alırsanız şaşırmayın. Bu aşamada, nerseyse saçımı başımı yolmak üzereydim çünkü gerçekte neyin yanlış gittiği konusunda fikir sahibi değildim. Aslında yanlış giden hiçbir şey yoktu, sadece boyutu fazla olduğu için (32 MB) zope ürününün dahil edilmesi zaman alıyordu. Yapılan işlemlerden emin olmak istiyorsanız, FreePM.zexp dahil edilirken python'un iş üzerinde olduğunu göreceğiniz top unix komutunu kullanmanızı öneririm.

FreePM'i çalıştırmak

FreePM'i çalıştırmak için, bir tarayıcı penceresi açmanız ve http://127.0.0.1:8080/FreePM adresine gitmeniz gerekiyor.

FreePM'in karşılama ekranıyla karşılaşacaksınız. Buna rağmen, şimdiye kadar yalnızca hastaları ekledim, ancak diğer hiçbir hassas ayarla oynamadım. Bu kısım, çok çalışma gerektiren bir kısım.