harvest-vocab

Software screenshot:
harvest-vocab
Software detaljer:
Version: 0.9.1 Beta 8
Upload dato: 14 Apr 15
Udvikler: Byron Ruth
Licens: Gratis
Popularitet: 1

Rating: nan/5 (Total Votes: 0)

høst-vocab er en Harvest Stack app giver abstrakte modeller til at definere ordforråd-lignende modeller og opbygge et tilsvarende indeks for hierarkiske selvstændige data.
For eksempel, det er, hvordan du kan opstille modeller til opbevaring ICD9 koder:
fra vocab.models importerer AbstractItem, AbstractItemIndex
klasse Diagnose (AbstractItem):
& Nbsp; description = models.CharField (MAX_LENGTH = 50)
& Nbsp; kode = models.CharField (MAX_LENGTH = 10)
& Nbsp; forælder = models.ForeignKey ('selv', related_name = "børn")
ICD9 koder er hierakiske derfor, når jeg stiller spørgsmålene: "Giv mig alle de patienter, der har en diagnose i ICD9 367 (Sygdomme i brydning og indkvartering)", så bør dette ikke kun forespørgslen 367, men alle afledte diagnoser samt (som omfatter yderligere 2 niveauer).
Denne form for forespørgsel bliver svært at skrive, da du kun har adgang til den direkte moderselskab i en bestemt diagnose, således forespørgslen ville se sådan ud.
fra django.db.models import Q
Diagnosis.objects.filter (Q (kode = '367') | Q (parent__code = '367'))
Det indlysende problem her er, at eventuelle diagnoser 2+ niveauer ned fra '367' er ikke inkluderet.
Opret en Flad Index
For at afhjælpe dette problem, kan defineres en AbstractItemIndex underklasse, som vil bygge en flad indeks for en AbstractItem underklasse. Du skal blot definere det på denne måde:
klasse DiagnosisIndex (AbstractItemIndex):
& Nbsp; emne = models.ForeignKey (Diagnose, related_name = 'item_indexes «)
& Nbsp; forælder = models.ForeignKey (Diagnose, related_name = 'parent_indexes «)
# Bygger indekset for Diagnose
DiagnosisIndex.objects.index ()
Den sidste linje genererer en flad indeks af hierarkiet, der lindrer ukendt dybde spørgsmålet. Så nu kan det samme spørgsmål anført ovenfor besvares på denne måde:
# Enten elementet har denne kode eller en af ​​det forældre har denne kode
tilstand = Q (item__code = '367') | Q (parent__code = '367')
item_ids = DiagnosisIndex.objects.filter (betingelse) .values_list (»item__id«, flad = True)
diagnoser = Diagnosis.objects.filter(id__in=item_ids)

Requirements:

  • Python

Andre software developer Byron Ruth

django-tracking2
django-tracking2

14 Apr 15

django-redcap
django-redcap

15 Apr 15

django-avocado
django-avocado

14 Apr 15

Kommentarer til harvest-vocab

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!