To jest stara wersja strony!
Introduction
Description
Health care is a system which count the dose of medicaments which shoud take the patient. Calculation of dose is base on age, allergic and level of different factors in patient organism. Example comes from page OpenRules
Conceptualization
Vocabulary
Patient - Person to be treated
Diagnose – Diagnose made by doctor.
Allergic – allergic to medicaments
Medicament – Środek zapisany przez lekarza.
Dose leku – The amount of medicament taken by patient
Original Rules
HealthCare HealthCareRules.xls
creatinineClearance = (140 - age) * weight / (creatinineLevel * 72)
Analysis
W przykładzie wyliczana jest dozowanie lekarstwa dla osób, u których wykryto ostre zapalenie zatok (ang. Acute Sinusitis). Najpierw na podstawie wieku pacjenta oraz informacji czy jest uczulony na penicyline, ustalany jest jeden z trzech rodzajów lekarstwa. Następnie również na podstawie wieku, oraz dwóch wskaźników ustalana jest dawka leku. Należy zauważyć, że jeden z wskaźników jest podawany jako dana wejściowa, natomiast drugi jest wyliczany na podstawie odpowiedniej reguły.
W tym przykładzie można wyodrębnić dwa niezależne podsystemy. Jeden ustala rodzaj lekarstwa, a drugi ustala dozowanie leku. W systemie rodzaj lekarstwa nie manwpływu na dozowanie.
Budowę modelu rozpoczęto od atrybutu HealthCare. Następnie został on finalizowany na dwa atrybuty konceptualne Medication i CreatinineClearance oraz dwa atrybuty fizyczne creatinineLevel i dose. Atrybut dose jest wyjściem systemu dlatego na poziomie 2 dokonany został podział, który pokazuje zależność od innych atrybutów. Kolejnym krokiem jest podział bloku z trzema atrybutami i ukazanie relacji pomiędzy nimi. Na poziomie 4 dodawana są nowe atrybuty fizyczne diagnosis, age, allergic, medication. Zastępują one atrybut Medication.
Przejściu na poziom 5 towarzyszy finalizacja CreatinineClearance na dwa atrybuty fizyczne jeden o takiej samej nazwie oraz drugi weight. Podczas tego przejścia
dokonywany jest także podział bloku atrybutów. medication czyli lekarstwo jest zależne
od diagnosis, age oraz allergic
Ostatni poziom 6 kończy budowę diagramów ARD. Na tym etapie rozdzielone zostają atrybuty. Zgodnie z równaniem wyliczającym creatinineClearance dochodzą do niego wszystkie atrybuty będące elementami równania, czyli weight, age oraz
creatinineLevel.
W modelu logicznym można zaobserwować, że w tabeli 1 nie ma jednej kolumny w porównaniu do prototypu. Stało się tak ponieważ atrybut dose nie zależy od wartości atrybutu
medication. Istniała także możliwość zostawienia tej kolumny i wpisywania w każdą
komórkę wartości dowolnej, czyli op : any. Warto zwrócić uwagę w jaki sposób przedstawione jest równanie odpowiedzialne za wyliczenie creatinineClearance. Jest to jedna tabela, która w części action ma wpisaną formułę wyliczająca na podstawie danych znajdujących się po stronie conditional.
W tym przykładzie można zauważyć jedną niekorzystną własność metody XTT. Wartość age musi być podana dwukrotnie, najpierw musi dochodzić do tabeli 2 oraz musi być
podana do wyliczenia wartości wskaźnika creatinineClearance. Nie jest możliwe wprowadzenie jej do osobnej tabeli ponieważ z jednej komórki wychodziłyby dwa połączenia w różnych kierunkach. Podawanie wartości w dwóch różnych miejscach może prowadzić
do błędów.
Conceptual design
General Conceptual Design
Directed Conceptual Design
Full ARD Model
The VARDA representation is in this case as follows: health-model.pl
The full hierarchical diagram is presented below.
The lowest level diagram is
The TPH for this model is presented below.
Refined Conceptual Design
Physical Attribute Specification
Structuralization
XTT prototype generated by VARDA is presented below.
Logical design