harvest-vocab

Screenshot der Software:
harvest-vocab
Softwarebeschreibung:
Version: 0.9.1 Beta 8
Upload-Datum: 14 Apr 15
Entwickler: Byron Ruth
Lizenz: Frei
Popularität: 1

Rating: nan/5 (Total Votes: 0)

Ernte vocab ist eine Ernte Stapel App bietet abstrakte Modelle für die Definition von Wortschatz-ähnliche Modelle und den Aufbau einer entsprechenden Index für hierarchische Selbstbezogenen Daten.
Zum Beispiel ist dies, wie Sie Modelle zum Speichern ICD9 Codes definieren:
von vocab.models importieren AbstractItem, AbstractItemIndex
Klasse Diagnose (AbstractItem):
& Nbsp; description = models.CharField (max_length = 50)
& Nbsp; code = models.CharField (max_length = 10)
& Nbsp; parent = models.ForeignKey ("Selbst", related_name = "Kinder")
ICD9 Codes sind hierarchische daher, wenn ich die Fragen stellen: "Gib mir alle Patienten, die eine Diagnose in ICD9 haben 367 (Störungen der Brechung und Unterkunft)", dann sollte dies nicht nur Abfrage 367, sondern alle Nachfahren Diagnosen sowie (was beinhaltet noch 2 Stufen).
Diese Art der Abfrage wird schwierig zu schreiben, da Sie haben Zugriff auf die direkte Muttergesellschaft der eine bestimmte Diagnose nur, damit die Abfrage würde wie folgt aussehen.
von django.db.models Import Q
Diagnosis.objects.filter (Q (Code = '367') | Q (parent__code = '367'))
Das offensichtliche Problem hierbei ist, dass eine Diagnose 2+ Ebenen unterhalb '367' sind nicht inbegriffen.
Erstellen Sie eine Wohnung Index
Um dieses Problem zu mildern, kann ein AbstractItemIndex Unterklasse definiert werden, der mit einem Flachindex für einen AbstractItem Klasse bauen. Definieren Sie einfach so:
Klasse DiagnosisIndex (AbstractItemIndex):
& Nbsp; item = models.ForeignKey (Diagnose, related_name = 'item_indexes')
& Nbsp; parent = models.ForeignKey (Diagnose, related_name = 'parent_indexes')
# Baut den Index für Diagnose
DiagnosisIndex.objects.index ()
Die letzte Zeile erzeugt eine flache Index der Hierarchie, die die unbekannte Tiefe Problem lindert. So, jetzt kann das gleiche oben genannten Frage so beantwortet werden:
# Entweder das Element diesen Code oder einer der es Eltern hat diesen Code
Zustand = Q (item__code = '367') | Q (parent__code = '367')
item_ids = DiagnosisIndex.objects.filter (Bedingung) .values_list ('item__id', Flach = True)
Diagnosen = Diagnosis.objects.filter(id__in=item_ids)

Requirements:

  • Python

Andere Software von Entwickler Byron Ruth

django-forkit
django-forkit

11 May 15

django-serrano
django-serrano

20 Feb 15

django-tracking2
django-tracking2

14 Apr 15

Kommentare zu harvest-vocab

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!