Changes between Version 9 and Version 10 of Documentatie/Beheerder/Modules/Decursus


Ignore:
Timestamp:
05/08/13 12:26:11 (13 years ago)
Author:
adriaan
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentatie/Beheerder/Modules/Decursus

    v9 v10  
    77Dit hoofdstuk beschrijft het naar eigen wensen inrichten van de decursusmodule. 
    88 
    9 == Thema's == 
     9== Decursus Gegevens == 
     10 
     11Ongeacht de manier waarop decursus verder wordt ingericht of vormgegeven 
     12binnen OpenAC heeft een decursus-aantekening een aantal gegevens nodig. 
     13Decursus wordt ingedeeld in '''thema's'''. De verschillende thema's vullen 
     14decursus '''velden''' in; daar staan de gegevens die relevant zijn voor dat thema. 
     15Om het aanmaken van standaardbrieven te ondersteunen zijn er ook standaard 
     16'''briefteksten''' en '''testscores'''(-vermeldingen). Tot slot is de '''layout''' van de 
     17decursus-entry (de weergave in het dossier) nauwkeurig in te richten. 
     18 
     19=== Thema's === 
    1020 
    1121[[Image(decursusthema2.png, class=inline-right)]]Decursus thema's kunnen worden toegevoegd via (beheer)scherm ''Codetabellen'' --> Module kern.s080_decursus --> Thema. Nieuw ingevoerde thema's kunnen gelijk gebruikt worden. De invoervelden die standaard horen bij een nieuw thema zijn: 
     
    1828Het decursusthema is te kiezen in het decursusblok in het patientendossier. De omschrijvingen van die thema's die in gebruik zijn, worden getoond, zoals in het screenshot hiernaast. De thema's worden op volgnummer gesorteerd, niet alfabetisch. 
    1929 
    20 == Velden == 
     30=== Velden === 
    2131 
    2232Een decursus-entry heeft standaard een groot aantal velden. Deze zijn gedefinieerd in de module `s080_decursus`. Niet alle velden zijn in alle thema's van toepassing, en worden dan onzichtbaar gemaakt. 
     
    4050De velden in een cursusentry worden opgeslagen in de structuur-bestanden van OpenAC. Het is aan te bevelen wijzigingen in te leveren na het toevoegen van een veld. Gebruikers zullen moeten schakelen. 
    4151 
    42 == Thema-Engine == 
    43  
    44 Omdat velden niet voor alle thema's van toepassing zijn, kan de layout van een decursus-entry aangepast worden per thema. De meest eenvoudige manier om dat te doen maakt gebruik van een ''thema-engine''. Deze wordt in het adaptatie-script ingesteld. De thema-engine maakt velden zichtbaar of onzichtbaar al naar gelang het gekozen thema. 
    45  
    46 Als een veld slechts in enkele thema's zichtbaar hoeft te zijn, is het aan te bevelen het in de layout van de tabel `cursusentry` juist '''onzichtbaar''' te maken; dan laten we aan de thema-engine over om het zichtbaar te maken. Net zo kunnen we bij een veld dat meestal zichtbaar moet zijn (maar in enkele gevallen niet) het veld het beste een layout geven, en dan de thema-engine het laten verhullen als het niet nodig is. 
    47  
    48 Documentatie over het gebruik van de thema-engine is te vinden in de broncode van [browser:/development/kern/s080_decursus/themaengine.py]. In de adaptatie-script wordt een thema gekoppeld aan gewenste effecten op de layout van de velden met code als deze: 
    49  
    50 {{{ 
    51         themaengine.registreer_thema( 
    52             "uitbehandeld", 
    53             layout={ 
    54                 "uitbehandelingsreden" : "2:8x3", 
    55                 "anamnese" : "-" 
    56             }) 
    57 }}} 
    58  
    59 Het effect van zo'n thema met layout-wijzigingen is dat een thema "uitbehandeld" een eigen veld met codetabel kan krijgen, dat alleen zichtbaar is in dat thema, zoals in het screenshot hieronder. 
    60  
    61 [[Image(decursusthema3.png)]] 
    62  
    63  
    64 == Briefteksten == 
     52=== Briefteksten === 
     53 
    6554Briefteksten zijn standaardteksten die horen bij een thema. Ze worden in OpenAC gepresenteerd in een zogenaamde sidebar. Van daaruit kunnen de briefteksten worden ingevoegd in een bijbehorend invoerveld. Briefteksten kunnen worden ingevoerd via codetabellen --> Module kern.s080_decursus --> Brief-tekstfragment. Het invoerscherm kent de volgende velden: 
    6655 * Brief-tekstfragment. Dit is de code die de brieftekst identificeert. In sidebars worden briefteksten gegroepeerd op code, met een visuele scheiding tussen de groepen. Dus alle codes die beginnen met een S worden bijelkaar gezet, codes beginnend met een T ook, etc. 
     
    7160 * Tekst: De eigenlijke brieftekst. De variabelen {patient} en {leeftijd} zijn beschikbaar en worden tijdens het invoegen van de tekst vervangen door de naam en leeftijd van de patient.  
    7261 
    73 == Testscores == 
     62=== Testscores === 
     63 
    7464Testscores zijn briefteksten die in de sidebar zijn voorzien van een invoerveld om een testscore in te voeren. Ze kunnen in hetzelfde scherm worden ingevoerd als briefteksten, maar in tegenstelling tot briefteksten moet bij testscores de optie Scoreveld op "ja" worden gezet. In de tekst van testscores kunnen buiten {patient} en {leeftijd} ook de variabelen {test}, {beoordeling} en {score} worden gebruikt. Deze worden bij het invoegen van de tekst vervangen door de overeenkomstige waarden. 
    7565 
    7666Een belangrijke aanvullende voorwaarde voor het correct functioneren van de testscorefunctionaliteit, is dat de code van de testscore exact gelijk moet zijn aan de decursus veldnaam waar de score in moet worden opgeslagen. 
    7767 
    78 == Invoervelden == 
    79  
    80 [[NoteBox(tip, Deze informatie maakt het mogelijk om tot aan de kleinste details de layout en het gedrag van decursusentries aan te passen. Voor dagelijks gebruik is het gebruik van een thema-engine te prefereren.)]] 
     68=== Layout === 
     69 
     70In de `structuur.tsv` file kan je een ''groep'' invullen (in de kolom ''box'') voor een veld en een ''layout''. 
     71Met de groep geef je aan hoe de velden in groepjes bij elkaar binnen de box vertoond worden.  
     72Er komt een horizontale streep tussen de groepjes. In een gewoon decursus-entry heb je drie 
     73groepen, bovenaan de datum en het thema, dan een boel velden en onderaan de documenten-selector. 
     74Door in de structuur tabel te kijken zie je dat de groepen nummers 1, 2 en 8 (bestanden) hebben. 
     75 
     76Binnen een groep kan je een veld een volgnummer geven. Het veld wordt dan met dat volgnummer vertoond; 
     77velden met hetzelfde volgnummer worden bij elkaar vertoond op volgorde van binnenkomst. 
     78 
     79Voor het aangeven van een groep en volgnummer, gebruik de notatie ''groep''[`.`''volgnummer'']:  
     80het nummer van de groep, eventueel gevolgd door een punt (.) en een volgnummer. Hiermee kan je de 
     81'''plaats''' van een veld in een box helemaal vastleggen. 
     82 
     83De '''vormgeving''' van het veld wordt bepaald door de layout. Hiermee geef je aan hoe groot het 
     84label is voor het veld (in bijna alle boxen in OpenAC is dat 2) en hoe breed het veld zelf is 
     85(de volle breedte van een box is meestal 10, dus voor velden die de gehele breedte naast het label nemen 
     86schrijf je 8). Voor tekst-velden is het ook wel eens handig om ze meer dan een regel hoog te maken, 
     87zodat er meer tekst in te zien is. De notatie is ''labelbreedte''`:`''veldbreedte''[`x`''veldhoogte'']: 
     88de breedte van het label in vakjes (bijna altijd 2), een dubbele punt, dan de breedte van 
     89het veld (dikwijls 8), eventueel gevolgd door de letter `x` en dan de hoogte van het veld in regels. 
     90 
     91Een volledige plaats en vorm-bepaling van een veld kan er dus zo uit zien: `2.5 2:8x3`, te lezen als 
     92"in de tweede groep, het vijfde veld, met een label van 2 vakjes breed, en dan acht breed en drie 
     93regels hoog". Dat is een redelijk normale specificatie voor een tekstveld. 
     94 
     95De plaats kan alleen in de tabeldefinitie vastgelegd worden en is niet te veranderen 
     96tijdens het gebruik van OpenAC. De layout kan wel veranderd worden door in OpenAC 
     97van een entry de `meta.layouts` aan te passen. Dit wordt in de decursus-themaengine 
     98gedaan. De layout die je opgeeft aan de themaengine wordt toegepast -- zoals hierboven, 
     99schrijf je dan dingen als `2:8x3` in de layouts. 
     100 
     101== Thema-Engine == 
     102 
     103Omdat velden niet voor alle thema's van toepassing zijn, kan de layout van een decursus-entry aangepast worden per thema. De meest eenvoudige manier om dat te doen maakt gebruik van een ''thema-engine''. Deze wordt in het adaptatie-script ingesteld. De thema-engine maakt velden zichtbaar of onzichtbaar al naar gelang het gekozen thema. 
     104 
     105Als een veld slechts in enkele thema's zichtbaar hoeft te zijn, is het aan te bevelen het in de layout van de tabel `cursusentry` juist '''onzichtbaar''' te maken; dan laten we aan de thema-engine over om het zichtbaar te maken. Net zo kunnen we bij een veld dat meestal zichtbaar moet zijn (maar in enkele gevallen niet) het veld het beste een layout geven, en dan de thema-engine het laten verhullen als het niet nodig is. 
     106 
     107Documentatie over het gebruik van de thema-engine is te vinden in de broncode van [browser:/development/kern/s080_decursus/themaengine.py]. In de adaptatie-script wordt een thema gekoppeld aan gewenste effecten op de layout van de velden met code als deze: 
     108 
     109{{{ 
     110        themaengine.registreer_thema( 
     111            "uitbehandeld", 
     112            layout={ 
     113                "uitbehandelingsreden" : "2:8x3", 
     114                "anamnese" : "-" 
     115            }) 
     116}}} 
     117 
     118Het effect van zo'n thema met layout-wijzigingen is dat een thema "uitbehandeld" een eigen veld met codetabel kan krijgen, dat alleen zichtbaar is in dat thema, zoals in het screenshot hieronder. 
     119 
     120[[Image(decursusthema3.png)]] 
     121 
     122 
     123 
     124== Programmatisch Inrichten == 
     125 
     126[[NoteBox(warn, Deze informatie maakt het mogelijk om tot aan de kleinste details de layout en het gedrag van decursusentries aan te passen. Voor dagelijks gebruik is het gebruik van een thema-engine te prefereren.)]] 
    81127 
    82128Zoals onder het kopje "Thema's" staat beschreven, is het aantal invoervelden bij een nieuw thema beperkt. Alle decursus invoervelden kunnen in principe bij elk thema worden gebruikt, eventueel voorzien van een ander label dan het default label. Om de standaardfunctionaliteit van de decursus module te wijzigen of uit te breiden, moet een stukje code worden geschreven in de eigen adaptatie. Het AMC is één van de AC's met een eigen decursus.py in de adaptatie. 
     
    144190 
    145191 
    146 == Sidebars == 
     192=== Sidebars === 
     193 
    147194Ook voor tonen van een sidebar bij een thema is wat code nodig in de eigen adaptatie. In dit geval gaat het om een opbouwfunctie die functionaliteit toevoegt aan de standaard decursus opbouwfunctie, en een functie die de sidebar implementeert. De opbouwfunctie: 
    148195{{{ 
     
    255302}}} 
    256303 
    257 == FENAC ICT == 
     304=== FENAC ICT === 
    258305Dit hoofdstuk laat zien dat het mogelijk is de decursus functionaliteit volledig naar eigen wensen in te richten. Natuurlijk kan FENAC ICT helpen met advies of implementatie.