Changes between Version 28 and Version 29 of Documentatie/Ontwikkelaar/Procedures/MailmergeVariabelen


Ignore:
Timestamp:
07/06/21 06:40:27 (5 years ago)
Author:
henk
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentatie/Ontwikkelaar/Procedures/MailmergeVariabelen

    v28 v29  
    99 
    1010== !MailMerge module == 
    11 Als het secretariaat een uitnodigingsbrief wil versturen dan moet het gekozen sjabloon worden gevuld met mailmerge-variabelen die nodig zijn om de brief te completeren. Denk hierbij aan de datum van de afspraak, het type onderzoek, locatie etc. De !MailMerge module is een framework voor het samenstellen en beschikbaar maken van mailmerge-variabelen. 
     11Als het secretariaat een uitnodigingsbrief wil versturen dan moet het gekozen sjabloon worden gevuld met mailmerge-variabelen die nodig zijn om de brief te completeren. Denk hierbij aan de datum van de afspraak, het type onderzoek, locatie etc. De !MailMerge module is een framework voor het definiëren en beschikbaar maken van mailmerge-variabelen. 
    1212 
    13 Voordat we mailmerge-variabelen voor een afspraak kunnen samenstellen moeten we eerst alle gerelateerde gegevens ophalen. Het gaat hierbij niet alleen om gegevens over de afspraak zelf, maar ook om gegevens over het zorgtraject waar de afspraak bij hoort en gegevens over de patiënt. 
     13Voordat we mailmerge-variabelen voor een afspraak kunnen definiëren moeten we eerst alle gerelateerde gegevens ophalen. Het gaat hierbij niet alleen om gegevens over de afspraak zelf, maar ook om gegevens over het zorgtraject waar de afspraak bij hoort en gegevens over de patiënt. 
    1414 
    1515In OpenAC kunnen alle gegevenselementen worden geadresseerd met een //pad//. Het pad voor een afspraak heeft de vorm patient(x)/behandelingen(y)/plandagen(z). In dit voorbeeld zijn x, y en z  database keys. De !MailMerge module haalt automatisch de gegevens op van patient x, behandeling y en plandag z. Deze gegevens vormen de basis van de mailmerge-variabelen voor dit pad. 
     
    1717== Terminologie == 
    1818=== Enkelvoudige en samengestelde mailmerge-variabelen === 
    19 * Enkelvoudige mailmerge-variabelen zijn gelijk aan de gegevens uit de database. De !MailMerge module haalt deze automatisch op voor de entiteiten uit het pad. In een enkel geval zal de module variabelen nabewerken. Datumvelden bijvoorbeeld komen uit de database in formaat jjjj-mm-dd. De !Mailmerge module zet dit om tot dd-mm-jjjj. 
    20 * Samengestelde mailmerge-variabelen worden samengesteld uit enkelvoudige variabelen. Denk bijvoorbeeld aan de volledige naam van een patiënt die is samengesteld uit de voorletters of voornaam, achternaam, voorvoegsel, naam partner etc. Soms zijn samengestelde variabelen conditioneel bijvoorbeeld in het geval van de aanhef "Dhr" (man, > 16) of "ouders van" (< 16). In andere gevallen moeten query's worden uitgevoerd voor een samengestelde variabele, bijvoorbeeld voor het bepalen van het eerste of laatste bezoek in een zorgtraject. Het opstellen van samengestelde mailmerge-variabelen voor een pad is de taak van een "!MergeValue getter", zie hieronder. 
     19* //Enkelvoudige// mailmerge-variabelen zijn gelijk aan de gegevens uit de database. De !MailMerge module haalt deze automatisch op voor de entiteiten uit het pad. In een enkel geval zal de module variabelen nabewerken. Datumvelden bijvoorbeeld komen uit de database in formaat jjjj-mm-dd. De !Mailmerge module zet dit om tot dd-mm-jjjj. 
     20* //Samengestelde// of //afgeleide// mailmerge-variabelen worden afgeleid uit enkelvoudige variabelen. Denk bijvoorbeeld aan de volledige naam van een patiënt die is samengesteld uit de voorletters of voornaam, achternaam, voorvoegsel, naam partner etc. Soms zijn samengestelde variabelen conditioneel bijvoorbeeld in het geval van de aanhef "Dhr" (man, > 16) of "ouders van" (< 16). In andere gevallen moeten query's worden uitgevoerd, bijvoorbeeld voor het bepalen van het eerste of laatste bezoek in een zorgtraject. Het is de taak van "!MergeValue getters" om samengestelde mailmerge-variabelen te definiëren voor een pad. 
    2121 
    2222=== !MergeGlobals en !MergeRecords === 
     
    2626 
    2727== !MergeValues en !MergeValue getters == 
    28 Voor het samenstellen van mailmerge-variabelen voor een entiteit hebben we een "!MergeValue getter" nodig. Een !MergeValue getter is een klasse die interface {{{ IMergeValueGetter }}} implementeert. 
     28Met een "!MergeValue getter" kunnen we mailmerge-variabelen definiëren voor een entiteit. Een !MergeValue getter is een klasse die interface {{{ IMergeValueGetter }}} implementeert. 
    2929 
    3030== !MergeValue getter implementatie == 
     
    6363}}} 
    6464 
    65 Met {{{RegisterFor}}} geef je aan voor welk(e) pad(en) de getter wordt geregistreerd. !MergeValue getters worden geregistreerd voor één of meer ACL-paden. Een ACL-pad is de generieke vorm van het pad naar een entiteit. Als patient(x)/behandeling(y)/plandagen(z) het pad is naar afspraak z, dan is patient/behandeling/plandagen het ACL-pad. 
     65Met {{{RegisterFor}}} geef je aan voor welk(e) pad(en) de getter wordt geregistreerd. !MergeValue getters worden geregistreerd voor één of meer ACL-paden. Een ACL-pad is de generieke vorm van het pad naar een entiteit. Als patient(x)/behandeling(y)/plandagen(z) het pad is naar afspraak z, dan is patient/behandeling/plandagen het ACL-pad voor alle afspraken. 
    6666 
    6767=== {{{ GetMergeGlobals }}} ===