harvest-vocab

Skjermbilde programvare:
harvest-vocab
Prog.varedetaljer:
Versjon: 0.9.1 Beta 8
Last opp dato: 14 Apr 15
Utvikler: Byron Ruth
Lisens: Gratis
Popularitet: 16

Rating: nan/5 (Total Votes: 0)

harvest-vocab er en Harvest-Stack app gir abstrakte modeller for å definere vokabular-lignende modeller og bygge et tilsvarende indeksen for hierarkiske selvrelaterte data.
For eksempel, dette er hvordan du kan definere modeller for lagring ICD9 koder:
fra vocab.models importere AbstractItem, AbstractItemIndex
klasse Diagnose (AbstractItem):
& Nbsp; description = models.CharField (MAX_LENGTH = 50)
& Nbsp; kode = models.CharField (MAX_LENGTH = 10)
& Nbsp; forelder = models.ForeignKey ('selv', related_name = 'barn')
ICD9 koder er hierarkisk derfor når jeg stiller spørsmålene, "Gi meg alle de pasienter som har en diagnose i ICD9 367 (Disorders brytnings og overnatting)", så dette bør ikke bare spørring 367, men alle underordnede diagnoser i tillegg (som inkluderer ytterligere to nivåer).
Denne typen spørringen blir vanskelig å skrive siden du kun har tilgang til direkte overordnede av en bestemt diagnose, og dermed spørringen vil se slik ut.
fra django.db.models import Q
Diagnosis.objects.filter (Q (kode = '367') | Q (parent__code = '367'))
Det åpenbare problemet her er at eventuelle diagnoser 2 + nivåer ned fra '367' er ikke inkludert.
Create A Flat Index
For å avhjelpe dette problemet, kan en AbstractItemIndex underklasse defineres som vil bygge en flat-indeksen for en AbstractItem underklasse. Bare definerer det slik:
klasse DiagnosisIndex (AbstractItemIndex):
& Nbsp; element = models.ForeignKey (Diagnose, related_name = 'item_indexes')
& Nbsp; forelder = models.ForeignKey (Diagnose, related_name = 'parent_indexes')
# Bygger indeksen for diagnostisering
DiagnosisIndex.objects.index ()
Den siste linjen genererer en flat indeks av hierarkiet som lindrer ukjent dybde problemet. Så nå kan det samme spørsmålet nevnt ovenfor bli besvart på denne måten:
# Enten elementet har denne koden, eller en av sine foreldre har denne koden
tilstand = Q (item__code = '367') | Q (parent__code = '367')
item_ids = DiagnosisIndex.objects.filter (tilstand) .values_list ('item__id', flat = True)
diagnoser = Diagnosis.objects.filter(id__in=item_ids)

Requirements:

  • Python

Annen programvare fra utvikleren Byron Ruth

django-forkit
django-forkit

11 May 15

Marky
Marky

20 Feb 15

django-avocado
django-avocado

14 Apr 15

Kommentarer til harvest-vocab

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!