summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authordeva <deva>2009-07-24 11:28:37 +0000
committerdeva <deva>2009-07-24 11:28:37 +0000
commita81fd2a780e59ab918d172d0b4cc08be8780ec68 (patch)
tree27457634a83963b0fdb8baa4f7081439f1b90d34 /server
parent1d8429d8d3981dd027cdb7e160dd614ebf6c8ded (diff)
Changed all names to something less magical.
Diffstat (limited to 'server')
-rw-r--r--server/xml/macros/5steps-1.0.xml27
-rw-r--r--server/xml/macros/90Dlens-1.0.xml266
-rw-r--r--server/xml/macros/amdconsent-1.0.xml55
-rw-r--r--server/xml/macros/amdindication-1.0.xml42
-rw-r--r--server/xml/macros/amdinformation-1.0.xml41
-rw-r--r--server/xml/macros/amdinjektionindikation-1.0.xml26
-rw-r--r--server/xml/macros/amdpreopconclusion-1.0.xml48
-rw-r--r--server/xml/macros/amdprocedure-1.0.xml44
-rw-r--r--server/xml/macros/amdtreatmentindication-1.0.xml38
-rw-r--r--server/xml/macros/autoref-1.0.xml203
-rw-r--r--server/xml/macros/cave-1.0.xml113
-rw-r--r--server/xml/macros/current-1.0.xml283
-rw-r--r--server/xml/macros/fluoresceinconclusion-1.0.xml128
-rw-r--r--server/xml/macros/fluoresceininj-1.0.xml41
-rw-r--r--server/xml/macros/fluoresceinphases-1.0.xml63
-rw-r--r--server/xml/macros/fundus-1.0.xml58
-rw-r--r--server/xml/macros/header-1.0.xml65
-rw-r--r--server/xml/macros/lensmeter-1.0.xml267
-rw-r--r--server/xml/macros/medicine-1.0.xml89
-rw-r--r--server/xml/macros/ocgtt-1.0.xml71
-rw-r--r--server/xml/macros/octevaluation-1.0.xml181
-rw-r--r--server/xml/macros/octmeasurement-1.0.xml145
-rw-r--r--server/xml/macros/pressure-1.0.xml183
-rw-r--r--server/xml/macros/preveyediseases-1.0.xml52
-rw-r--r--server/xml/macros/previouscommon-1.0.xml36
-rw-r--r--server/xml/macros/referral-1.0.xml50
-rw-r--r--server/xml/macros/slitlamp-1.0.xml179
-rw-r--r--server/xml/macros/subjeval-1.0.xml27
-rw-r--r--server/xml/macros/tobacco-1.0.xml38
-rw-r--r--server/xml/macros/visus-1.0.xml547
30 files changed, 3406 insertions, 0 deletions
diff --git a/server/xml/macros/5steps-1.0.xml b/server/xml/macros/5steps-1.0.xml
new file mode 100644
index 0000000..d655b23
--- /dev/null
+++ b/server/xml/macros/5steps-1.0.xml
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<macro name="5steps" version="1.0">
+ <resume>De 5 trin til forebyggelse af forveksling af øjnene er gennemgået.</resume>
+ <queries></queries>
+ <maps>
+ </maps>
+ <scripts>
+ <script language="lua" name="yes_only">
+ if ( value == 'ja' )
+ then
+ return true
+ else
+ return false
+ end
+ </script>
+ </scripts>
+ <window caption="Gennemgang af de 5 trin (B.3.1.2)" layout="vbox">
+ <frame layout="vbox">
+ <checkbox name="five_steps" script="yes_only" truevalue="ja" falsevalue="nej"
+ caption="De 5 trin til forebyggelse af forveksling af øjnene er gennemgået:"/>
+ </frame>
+ <frame layout="hbox">
+ <spacer/>
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/90Dlens-1.0.xml b/server/xml/macros/90Dlens-1.0.xml
new file mode 100644
index 0000000..5953817
--- /dev/null
+++ b/server/xml/macros/90Dlens-1.0.xml
@@ -0,0 +1,266 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081204: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+
+ 20090108: Bent Bisballe Nyeng
+ Højre/venstre byttet om.
+
+ 20090320: Bent Bisballe Nyeng
+ Total omskrivning
+
+ 20090420: Bent Bisballe Nyeng
+ Nyt resume.
+ -->
+<macro name="90Dlens" version="1.0">
+ <resume language="lua">
+ out = '90D linse:'
+
+ if ( getValue('90D_lens.right.missing') == '' and getValue('90D_lens.left.missing') == '' )
+ then
+ out = 'Inblikket til fundusbaggrunden er ' .. getValue('90D_lens.right.fundus_visibility')
+ .. ' på højre øje og ' .. getValue('90D_lens.left.fundus_visibility')..' på venstre.\n'
+ else
+ if ( getValue('90D_lens.right.missing') == '' )
+ then
+ out = 'Inblikket til fundusbaggrunden er ' .. getValue('90D_lens.right.fundus_visibility')
+ .. ' på højre øje.\n'
+ end
+ if ( getValue('90D_lens.left.missing') == '' )
+ then
+ out = 'Inblikket til fundusbaggrunden er ' .. getValue('90D_lens.left.fundus_visibility')
+ ..' på venstre øje.\n'
+ end
+ end
+
+ if ( getValue('90D_lens.right.missing') == '' )
+ then
+ if ( getValue('90D_lens.right.implikation') == 'retinal hævelse' )
+ then
+ out = out .. 'På højre øje findes der retinal hævelse'
+ if ( getValue('90D_lens.right.randbl') ~= '' and getValue('90D_lens.right.exsudater') ~= '')
+ then
+ out = out .. ' med randblødning og exhudater.\n'
+ end
+
+ if ( getValue('90D_lens.right.randbl') == '' and getValue('90D_lens.right.exsudater') ~= '')
+ then
+ out = out .. ' med exhudater.\n'
+ end
+
+ if ( getValue('90D_lens.right.randbl') ~= '' and getValue('90D_lens.right.exsudater') == '')
+ then
+ out = out .. ' med randblødning.\n'
+ end
+
+ if ( getValue('90D_lens.right.randbl') == '' and getValue('90D_lens.right.exsudater') == '')
+ then
+ out = out .. '.\n'
+ end
+ end
+
+ if ( getValue('90D_lens.right.implikation') == 'atrofi' )
+ then
+ out = out .. 'På højre øje findes der atrofi.\n'
+ end
+ end
+
+ if ( getValue('90D_lens.left.missing') == '' )
+ then
+ if ( getValue('90D_lens.left.implikation') == 'retinal hævelse' )
+ then
+ out = out .. 'På venstre øje findes der retinal hævelse'
+ if ( getValue('90D_lens.left.randbl') ~= '' and getValue('90D_lens.left.exsudater') ~= '')
+ then
+ out = out .. ' med randblødning og exhudater.\n'
+ end
+
+ if ( getValue('90D_lens.left.randbl') == '' and getValue('90D_lens.left.exsudater') ~= '')
+ then
+ out = out .. ' med exhudater.\n'
+ end
+
+ if ( getValue('90D_lens.left.randbl') ~= '' and getValue('90D_lens.left.exsudater') == '')
+ then
+ out = out .. ' med randblødning.\n'
+ end
+
+ if ( getValue('90D_lens.left.randbl') == '' and getValue('90D_lens.left.exsudater') == '')
+ then
+ out = out .. '.\n'
+ end
+ end
+
+ if ( getValue('90D_lens.left.implikation') == 'atrofi' )
+ then
+ out = out .. 'På venstre øje findes der atrofi.\n'
+ end
+ end
+
+ if ( getValue('90D_lens.additional') ~= '' )
+ then
+ out = out .. getValue('90D_lens.additional') .. '\n'
+ end
+
+ return out
+ </resume>
+ <queries>
+ </queries>
+ <maps>
+ <map name="missing_eye_right_map">
+ value = 0
+ timestamp = 0
+ source = 'pracro'
+
+ if( missing_eye_right )
+ then
+ if( missing_eye_right.value and missing_eye_right.value == '' )
+ then
+ value = ''
+ timestamp = missing_eye_right.timestamp
+ else
+ value = 'mangler'
+ timestamp = missing_eye_right.timestamp
+ end
+ end
+ return value, timestamp, source
+ </map>
+ <map name="missing_eye_left_map">
+ value = 0
+ timestamp = 0
+ source = 'pracro'
+
+ if( missing_eye_left )
+ then
+ if( missing_eye_left.value and missing_eye_left.value == '' )
+ then
+ value = ''
+ timestamp = missing_eye_left.timestamp
+ else
+ value = 'mangler'
+ timestamp = missing_eye_left.timestamp
+ end
+ end
+ return value, timestamp, source
+ </map>
+ </maps>
+ <scripts>
+ <script language="lua" name="right_eye">
+ if ( value == 'mangler' )
+ then
+ disable('right_eye_frame')
+ else
+ enable('right_eye_frame')
+ end
+ return true
+ </script>
+ <script language="lua" name="left_eye">
+ if ( value == 'mangler' )
+ then
+ disable('left_eye_frame')
+ else
+ enable('left_eye_frame')
+ end
+ return true
+ </script>
+ <script language="lua" name="retinal_haevelse_right">
+ if ( value == 'retinal hævelse' )
+ then
+ enable('retinal_haevelse_right')
+ else
+ disable('retinal_haevelse_right')
+ end
+ return true
+ </script>
+ <script language="lua" name="retinal_haevelse_left">
+ if ( value == 'retinal hævelse' )
+ then
+ enable('retinal_haevelse_left')
+ else
+ disable('retinal_haevelse_left')
+ end
+ return true
+ </script>
+ </scripts>
+ <window caption="90-D linse (B.2.2.7)"
+ layout="vbox">
+
+ <frame layout="hbox">
+
+ <!-- Højre øje -->
+ <frame layout="vbox">
+ <checkbox caption="Der er ikke målt på højre øje"
+ name="90D_lens.right.missing" script="right_eye"
+ map="missing_eye_right_map"
+ truevalue="mangler" falsevalue="" value=""/>
+ <frame name="right_eye_frame" caption="Højre øje" layout="vbox">
+
+ <!-- Indblik -->
+ <combobox name="90D_lens.right.fundus_visibility" value="">
+ <item caption="Klart" value="klart"/>
+ <item caption="Let sløret" value="let sløret"/>
+ <item caption="Meget sløret" value="meget sløret"/>
+ </combobox>
+
+ <!-- Observationer -->
+ <radiobuttons name="90D_lens.right.implikation" value=" "
+ script="retinal_haevelse_right">
+ <radiobutton caption="Retinal hævelse" value="retinal hævelse"/>
+ <radiobutton caption="Atrofi" value="atrofi"/>
+ <radiobutton caption="Andet (se suppl.)" value=""/>
+ </radiobuttons>
+
+ <frame name="retinal_haevelse_right" layout="vbox">
+ <checkbox name="90D_lens.right.randbl" caption="Randblødning"
+ truevalue="randblødning" falsevalue="" value=""/>
+ <checkbox name="90D_lens.right.exsudater" caption="Exsudater"
+ truevalue="exsudater" falsevalue="" value=""/>
+ </frame>
+
+ </frame>
+ </frame>
+
+ <!-- Venstre øje -->
+ <frame layout="vbox">
+ <checkbox caption="Der er ikke målt på venstre øje"
+ name="90D_lens.left.missing" script="left_eye"
+ map="missing_eye_left_map"
+ truevalue="mangler" falsevalue="" value=""/>
+ <frame name="left_eye_frame" caption="Venstre øje" layout="vbox">
+
+ <!-- Indblik -->
+ <combobox name="90D_lens.left.fundus_visibility" value="">
+ <item caption="Klart" value="klart"/>
+ <item caption="Let sløret" value="let sløret"/>
+ <item caption="Meget sløret" value="meget sløret"/>
+ </combobox>
+
+ <!-- Observationer -->
+ <radiobuttons name="90D_lens.left.implikation" value=" "
+ script="retinal_haevelse_left">
+ <radiobutton caption="Retinal hævelse" value="retinal hævelse"/>
+ <radiobutton caption="Atrofi" value="atrofi"/>
+ <radiobutton caption="Andet (se suppl.)" value=""/>
+ </radiobuttons>
+
+ <frame name="retinal_haevelse_left" layout="vbox">
+ <checkbox name="90D_lens.left.randbl" caption="Randblødning"
+ truevalue="randblødning" falsevalue="" value=""/>
+ <checkbox name="90D_lens.left.exsudater" caption="Exsudater"
+ truevalue="exsudater" falsevalue="" value=""/>
+ </frame>
+
+ </frame>
+ </frame>
+ </frame>
+
+ <label caption="Supplerende:"/>
+ <textedit name="90D_lens.additional" value=""/>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer/>
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/amdconsent-1.0.xml b/server/xml/macros/amdconsent-1.0.xml
new file mode 100644
index 0000000..37fa61c
--- /dev/null
+++ b/server/xml/macros/amdconsent-1.0.xml
@@ -0,0 +1,55 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081202: Lars Bisballe Jensen
+ Ændret til nyt format i resume og naming scheme.
+
+ 20090402: Bent Bisballe Nyeng
+ Tilføjet felt til yderligere aftaler med patient.
+
+ 20090526: Bent Bisballe Nyeng
+ Tekst omformuleret.
+ -->
+<macro name="amdconsent" version="1.0">
+ <resume language="lua">
+ out = 'Pt informeres om muligheden for behandling og de risici og bivirkninger, som kan være forbundet hermed. Specielt informeres om, behandlingen foregår ved en injektion i øjet i lokalbedøvelse, samt at der kræves månedlig kontrol for at vurdere om behandlingen skal gentages. Endvidere at behandlingen kan være forbundet med smerter og irritation det første døgn, og i sjældne tilfælde kan medføre infektion. På baggrund af den givne behandling indvilliger patienten i at få foretaget behandlingen.\n\n'
+
+ out = out .. 'Der er givet informeret samtykke, ' .. getValue('amd.consent') .. '.\n'
+
+ if( getValue('amd.agreements') ~= '' )
+ then
+ out = out .. 'Yderligere aftaler med patienten: ' .. getValue('amd.agreements')
+ end
+
+ return out
+ </resume>
+ <queries>
+ </queries>
+ <maps>
+ </maps>
+ <scripts>
+ <script language="lua" name="check">
+ if(value == '')
+ then
+ return false
+ end
+ return true
+ </script>
+ </scripts>
+ <window caption="Informeret samtykke (B.2.10.3)"
+ layout="vbox">
+
+ <label height="80" caption="Pt informeres om muligheden for behandling og de risici og bivirkninger, som kan være forbundet hermed. Specielt informeres om, behandlingen foregår ved en injektion i øjet i lokalbedøvelse, samt at der kræves månedlig kontrol for at vurdere om behandlingen skal gentages. Endvidere at behandlingen kan være forbundet med smerter og irritation det første døgn, og i sjældne tilfælde kan medføre infektion. På baggrund af den givne behandling indvilliger patienten i at få foretaget behandlingen."/>
+ <checkbox caption="Der er givet informeret samtykke."
+ name="amd.consent" value="" truevalue="JA"
+ falsevalue="" script="check"/>
+
+ <label caption="Yderligere aftaler med patienten:"/>
+ <lineedit name="amd.agreements" value=""/>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer/>
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/amdindication-1.0.xml b/server/xml/macros/amdindication-1.0.xml
new file mode 100644
index 0000000..67909ed
--- /dev/null
+++ b/server/xml/macros/amdindication-1.0.xml
@@ -0,0 +1,42 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081202: Lars Bisballe Jensen
+ Ændret til nyt format i resume og naming scheme.
+ -->
+<macro name="amdindication" version="1.0">
+ <resume>${amd.indication}</resume>
+ <queries>
+ </queries>
+ <maps>
+ </maps>
+ <scripts>
+ </scripts>
+ <window caption="Behandlingsindikation (B.2.10.2)"
+ layout="vbox">
+
+ <frame layout="hbox">
+ <label caption="Øje:" width="50"/>
+ <radiobuttons name="amd.indication.eye" value="">
+ <radiobutton caption="o.dxt" value="o.dxt"/>
+ <radiobutton caption="o.sin" value="o.sin"/>
+ </radiobuttons>
+ <spacer/>
+ </frame>
+
+ <frame layout="vbox">
+ <label caption="Der findes indikation for:"/>
+ <combobox name="amd.indication" value="">
+ <item caption="PDT" value="Der findes indikation for PDT behandling."/>
+ <item caption="Argon laser" value="Der findes indikation for argon laser behandling."/>
+ <item caption="Intravitreal angiostatisk behandling" value="Der findes indikation for intravitreal angiostatisk behandling."/>
+ <item caption="Ingen behandlingsindikation" value="Der findes ikke indikation for behandling."/>
+ </combobox>
+ </frame>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer/>
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/amdinformation-1.0.xml b/server/xml/macros/amdinformation-1.0.xml
new file mode 100644
index 0000000..4eaa6e6
--- /dev/null
+++ b/server/xml/macros/amdinformation-1.0.xml
@@ -0,0 +1,41 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081202: Lars Bisballe Jensen
+ Ændret til nyt format i resume og naming scheme.
+
+ 20081203: Bent Bisballe Nyeng
+ LUA script til validering af checkbox, så den ikke bliver godkendt
+ hvis den ikke er aktiveret.
+ -->
+<macro name="amdinformation" version="1.0">
+ <resume>${amd.information}</resume>
+ <queries>
+ </queries>
+ <maps>
+ </maps>
+ <scripts>
+ <script language="lua" name="check">
+ if(value == '')
+ then
+ return false
+ end
+ return true
+ </script>
+ </scripts>
+ <window caption="Information (B.2.10.1)"
+ layout="vbox">
+
+ <frame layout="hbox">
+ <checkbox name="amd.information" script="check"
+ truevalue="Der er udleveret informationsfolder."
+ falsevalue=""
+ caption="Der er udleveret informationsfolder"/>
+ </frame>
+
+ <frame layout="hbox">
+ <spacer/>
+ <button caption="Gem" action="commit"/>
+ </frame>
+
+ </window>
+</macro>
diff --git a/server/xml/macros/amdinjektionindikation-1.0.xml b/server/xml/macros/amdinjektionindikation-1.0.xml
new file mode 100644
index 0000000..3275bb7
--- /dev/null
+++ b/server/xml/macros/amdinjektionindikation-1.0.xml
@@ -0,0 +1,26 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<macro name="amdinjektionindikation" version="1.0">
+ <resume>Der findes indikation for intravitreal injektion med Lucentis.
+Pt. klargøres i henhold til afdelingens instruks.
+Klargøring udført af: ${intravitreal.initials}
+</resume>
+ <queries>
+ </queries>
+ <maps>
+ </maps>
+ <scripts>
+ </scripts>
+ <window caption="Intravitreal injektion indikation (B.3.1.1)" layout="vbox">
+ <frame layout="vbox">
+ <label caption="Der er fundet indikation for intravitreal injektion med Lucentis og patienten klargøres i henhold til afdelingens instruks."/>
+ <frame layout="hbox">
+ <label caption="Initialer:"/>
+ <lineedit name="intravitreal.initials" regexp="[a-zæøåA-ZÆØÅ]{2,5}"/>
+ </frame>
+ </frame>
+ <frame layout="hbox">
+ <spacer/>
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/amdpreopconclusion-1.0.xml b/server/xml/macros/amdpreopconclusion-1.0.xml
new file mode 100644
index 0000000..e3cfdac
--- /dev/null
+++ b/server/xml/macros/amdpreopconclusion-1.0.xml
@@ -0,0 +1,48 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081204: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+ -->
+<macro name="amdpreopconclusion" version="1.0">
+ <resume store_in_journal="true">${amd_preop.conclusion}
+${amd_preop.conclusion_additional}${amd_preop.conclusion_terminated}.</resume>
+ <queries>
+ </queries>
+ <maps>
+ </maps>
+ <scripts>
+ <script language="lua" name="afsluttes">
+ if value == 'Der findes ingen indikation for yderligere udredning.'
+ then
+ setValue('amd_preop.conclusion_terminated', ' - Afsluttes')
+ end
+ return true
+ </script>
+ </scripts>
+ <window caption="Yderligere diagnostik (B.2.2.8)"
+ layout="vbox">
+
+ <frame layout="vbox">
+ <frame layout="hbox">
+ <combobox name="amd_preop.conclusion"
+ value=""
+ script="afsluttes">
+ <item caption="Ingen indikation for yderligere udredning af AMD."
+ value="Der findes ingen indikation for yderligere udredning af AMD."/>
+ <item caption="Der findes indikation for fluorescens angiografi"
+ value="Der findes indikation for fluorescens angiografi."/>
+ </combobox>
+ </frame>
+ <label caption="Supplerende:"/>
+ <textedit name="amd_preop.conclusion_additional" value=""/>
+ <checkbox caption="Afsluttes" name="amd_preop.conclusion_terminated"
+ truevalue=" - Afsluttes" falsevalue="" value=""/>
+ </frame>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer/>
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/amdprocedure-1.0.xml b/server/xml/macros/amdprocedure-1.0.xml
new file mode 100644
index 0000000..a8e44f7
--- /dev/null
+++ b/server/xml/macros/amdprocedure-1.0.xml
@@ -0,0 +1,44 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<macro name="amdprocedure" version="1.0">
+ <resume>Der afvaskes periorbitalt med Povidoniodid og efterfølgende dryppes
+der med Povidoniodid. Efter 5 minutter bedøves med en spongostan swap
+vædet i Lidokain 20 mg/ml med Adrenalin.
+Injektionsstedet nedadtil temporalt i konjunktiva 3,5 mm fra limbus
+afmærkes med passer. Gennem 30 gauge kanyle gives 0,05 ml:
+
+Lucentis ${lucentis_treatment.eye}
+
+Der dryppes med oculoguttae Tobrex over injektionsstedet.
+Herefter medgives oculoguttae Tobrex til drypning x 2 i 2 døgn i det
+behandlede øje.
+Der gives tid til kontrol om 1 måned og stillingtagen til evt fornyet
+behandling.
+</resume>
+ <queries>
+ </queries>
+ <maps>
+ </maps>
+ <scripts>
+ </scripts>
+ <window caption="Procedure (B.3.1.3)" layout="vbox">
+ <frame layout="vbox">
+ <label height="80" caption="Der afvaskes periorbitalt med povidoniodid og efterfølgende dryppes der med povidoniodid. Efter 5 min bedøves med spongostan vædet i Lidocain 20 mg/ml tilsat adrenalin.
+Injektionsstedet nedadtil temporalt i konjunktiva afmærkes med passer 3,5 mm fra limbus."/>
+ <frame layout="hbox">
+ <label width="250" caption="Med 30 gauge kanyle gives 0,05 ml Lucentis"/>
+ <radiobuttons name="lucentis_treatment.eye">
+ <radiobutton value="o.dxt" caption="o.dxt"/>
+ <radiobutton value="o.sin" caption="o.sin"/>
+ </radiobuttons>
+ <spacer/>
+ </frame>
+ <label caption="Der dryppes med oculoguttae Tobrex over injektionsstedet.
+Herefter medgives oculoguttae Tobrex til drypning x 2 i 2 døgn i det behandlede øje.
+Der gives tid til kontrol om 1 måned og stillingtagen til evt fornyet behandling."/>
+ </frame>
+ <frame layout="hbox">
+ <spacer/>
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/amdtreatmentindication-1.0.xml b/server/xml/macros/amdtreatmentindication-1.0.xml
new file mode 100644
index 0000000..e98a0df
--- /dev/null
+++ b/server/xml/macros/amdtreatmentindication-1.0.xml
@@ -0,0 +1,38 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<macro name="amdtreatmentindication" version="1.0">
+ <resume>${amd.indication}</resume>
+ <queries>
+ </queries>
+ <maps>
+ </maps>
+ <scripts>
+ </scripts>
+ <window caption="Behandlingsindikation (B.2.10.4)"
+ layout="vbox">
+
+ <frame layout="hbox">
+ <label caption="Øje:" width="50"/>
+ <radiobuttons name="amd.indication.eye" value="">
+ <radiobutton caption="o.dxt" value="o.dxt"/>
+ <radiobutton caption="o.sin" value="o.sin"/>
+ </radiobuttons>
+ <spacer/>
+ </frame>
+
+ <frame layout="vbox">
+ <label caption="Der findes indikation for:"/>
+ <combobox name="amd.indication">
+ <item caption="Der findes indikation for at gentage behandlingen."
+ value="Der findes indikation for at gentage behandlingen."/>
+ <item caption="Der holdes pause med behandlingen."
+ value="Der holdes pause med behandlingen."/>
+ </combobox>
+ </frame>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer/>
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/autoref-1.0.xml b/server/xml/macros/autoref-1.0.xml
new file mode 100644
index 0000000..ab5b345
--- /dev/null
+++ b/server/xml/macros/autoref-1.0.xml
@@ -0,0 +1,203 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081203: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+ -->
+<!--
+ 20090108: Bent Bisballe Nyeng
+ Højre/venstre byttet om.
+ -->
+<!--
+ 20090402: Bent Bisballe Nyeng
+ 'missing eye' tilføjet.
+ -->
+<macro name="autoref" version="1.0">
+ <resume language="lua">
+ out = ''
+ if ( getValue('autorefractor.right.missing') == '' )
+ then
+ out = out .. 'Autorefraktion højre øje: ' .. getValue('autorefractor.right.sphere')
+ .. ' sf, ' .. getValue('autorefractor.right.cyl')
+ .. ' cyl ' .. getValue('autorefractor.right.axis') .. ' grader.\n'
+ end
+
+ if ( getValue('autorefractor.left.missing') == '' )
+ then
+ out = out .. 'Autorefraktion venstre øje: ' .. getValue('autorefractor.left.sphere')
+ .. ' sf, ' .. getValue('autorefractor.left.cyl')
+ .. ' cyl ' .. getValue('autorefractor.left.axis') .. ' grader.\n'
+ end
+
+ return out
+ </resume>
+ <queries>
+ <query service="pracro" class="missing_eye_right" ttl="1000000"/>
+ <query service="pracro" class="missing_eye_left" ttl="1000000"/>
+ </queries>
+ <maps>
+ <map name="missing_eye_right_map">
+ value = 0
+ timestamp = 0
+ source = 'pracro'
+
+ if( missing_eye_right )
+ then
+ if( missing_eye_right.value and missing_eye_right.value == '' )
+ then
+ value = ''
+ timestamp = missing_eye_right.timestamp
+ else
+ value = 'mangler'
+ timestamp = missing_eye_right.timestamp
+ end
+ end
+ return value, timestamp, source
+ </map>
+ <map name="missing_eye_left_map">
+ value = 0
+ timestamp = 0
+ source = 'pracro'
+
+ if( missing_eye_left )
+ then
+ if( missing_eye_left.value and missing_eye_left.value == '' )
+ then
+ value = ''
+ timestamp = missing_eye_left.timestamp
+ else
+ value = 'mangler'
+ timestamp = missing_eye_left.timestamp
+ end
+ end
+ return value, timestamp, source
+ </map>
+ </maps>
+ <scripts>
+ <script language="lua" name="lt20gt-25">
+ if(value == '')
+ then
+ return false
+ end
+
+ value = string.gsub(value, ',', '.')
+ if(tonumber(value) &gt;= -25 and tonumber(value) &lt;= 20)
+ then
+ return true
+ else
+ return false
+ end
+ </script>
+ <script language="lua" name="lt10gt-15">
+ if(value == '')
+ then
+ return false
+ end
+
+ value = string.gsub(value, ',', '.')
+ if(tonumber(value) &gt;= -15 and tonumber(value) &lt;= 10)
+ then
+ return true
+ else
+ return false
+ end
+ </script>
+ <script language="lua" name="lt359gt0">
+ if(value == '')
+ then
+ return false
+ end
+
+ value = string.gsub(value, ',', '.')
+ if(tonumber(value) &gt;= 0 and tonumber(value) &lt;= 359)
+ then
+ return true
+ else
+ return false
+ end
+ </script>
+ <script language="lua" name="right_eye">
+ if ( value == 'mangler' )
+ then
+ disable('right_eye_frame')
+ else
+ enable('right_eye_frame')
+ end
+ return true
+ </script>
+ <script language="lua" name="left_eye">
+ if ( value == 'mangler' )
+ then
+ disable('left_eye_frame')
+ else
+ enable('left_eye_frame')
+ end
+ return true
+ </script>
+ </scripts>
+ <window caption="Autorefraktion (B.2.2.3)"
+ layout="vbox">
+
+ <frame layout="hbox">
+
+ <!-- Højre øje -->
+ <frame layout="vbox">
+ <checkbox caption="Der er ikke målt på højre øje"
+ name="autorefractor.right.missing" script="right_eye"
+ map="missing_eye_right_map"
+ truevalue="mangler" falsevalue="" value=""/>
+ <frame name="right_eye_frame" caption="Højre øje" layout="hbox">
+
+ <frame layout="vbox">
+ <label caption="Sf:"/>
+ <lineedit name="autorefractor.right.sphere"
+ regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt20gt-25" value=""/>
+ </frame>
+ <frame layout="vbox">
+ <label caption="Cyl:"/>
+ <lineedit name="autorefractor.right.cyl"
+ regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt10gt-15" value=""/>
+ </frame>
+ <frame layout="vbox">
+ <label caption="Grader:"/>
+ <lineedit name="autorefractor.right.axis"
+ regexp="[\d]+" script="lt359gt0" value=""/>
+ </frame>
+
+ </frame>
+ </frame>
+
+ <!-- Venstre øje -->
+ <frame layout="vbox">
+ <checkbox caption="Der er ikke målt på venstre øje"
+ name="autorefractor.left.missing" script="left_eye"
+ map="missing_eye_left_map"
+ truevalue="mangler" falsevalue="" value=""/>
+ <frame name="left_eye_frame" caption="Venstre øje" layout="hbox">
+
+ <frame layout="vbox">
+ <label caption="Sf:"/>
+ <lineedit name="autorefractor.left.sphere"
+ regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt20gt-25" value=""/>
+ </frame>
+ <frame layout="vbox">
+ <label caption="Cyl:"/>
+ <lineedit name="autorefractor.left.cyl"
+ regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt10gt-15" value=""/>
+ </frame>
+ <frame layout="vbox">
+ <label caption="Grader:"/>
+ <lineedit name="autorefractor.left.axis"
+ regexp="[\d]+" script="lt359gt0" value=""/>
+ </frame>
+ </frame>
+ </frame>
+
+ </frame>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer />
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/cave-1.0.xml b/server/xml/macros/cave-1.0.xml
new file mode 100644
index 0000000..e2120a1
--- /dev/null
+++ b/server/xml/macros/cave-1.0.xml
@@ -0,0 +1,113 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081202: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+ -->
+<!--
+ 20090108: Bent Bisballe Nyeng
+ Alt tekst ændret.
+ Layout af multilist input er ændret så det er liniebaseret.
+ -->
+<macro name="cave" version="1.0">
+ <resume>Allergier:
+${cave}</resume>
+ <queries>
+ </queries>
+ <maps>
+ </maps>
+ <scripts>
+ </scripts>
+ <window caption="Allergier (B.1.1)"
+ layout="vbox">
+
+ <frame layout="vbox" help="Der anføres allergi eller intolerance for medicin, konserveringsmidler, iod eller andre emner, som man kunne blive udsat for i forbindelse med diagnostik, pleje og behandling på øjenafdelingen.\nDer anføres IKKE høfeber og hududslæt som følge af pollen, husdyr, fødemidler, rengøringsmidler, kosmetik etc. eller kendte medicinbivirkninger, f.eks. nyresten og prikken i fingrene som reaktion på acetazolamid.\nSåfremt der ikke findes nogen allergier som falder under punkt a) anføres: Allergier: Ingen kendte.\nSåfremt man ikke finder en relevant allergi i menuen indhentes linien ”Andet”, den relevante allergi skrives i journalen, og der lægges note til administrator, som vil indføje den ikke kendte allergiårsag blandt standardmulighederne. Der skal i journalteksten altid foreligge oplysning om hvordan en allergi eller intolerance ytrer sig, f.eks. ”hududslæt, konjunktivitis, anafylaktisk shock”">
+
+ <altcombobox name="cave"
+ layout="vbox"
+ value="Ingen kendte"
+ type="select">
+ <altitem caption="Anfør liste" value="list" innerwidget="cave_multilist">
+
+ <frame caption="Søg og tilføj" layout="vbox">
+
+ <multilist layout="vbox" name="cave_multilist" innerwidget="cave_metawidget">
+
+ <metawidget name="cave_metawidget" layout="hbox"
+ format="${prep} ${reak}.">
+
+ <frame layout="vbox">
+ <label caption="Præparat:"/>
+ <altcombobox name="prep" width="100" layout="vbox"
+ type="search" value="" regexp=".+">
+ <item caption="Indtast præparat" value=""/>
+ <item caption="Alphagan" value="Alphagan"/>
+ <item caption="Atacant" value="Atacant"/>
+ <item caption="Azopt" value="Azopt"/>
+ <item caption="Diazepam, (stesolid)" value="Diazepam, (stesolid)"/>
+ <item caption="Erythromycin" value="Erythromycin"/>
+ <item caption="Fluorescein" value="Fluorescein"/>
+ <item caption="Ibuprofen (Mavesår)" value="Ibuprofen (Mavesår)"/>
+ <item caption="Iod" value="Iod"/>
+ <item caption="Konserveringsmiddel" value="Konserveringsmiddel"/>
+ <item caption="Lumigan" value="Lumigan"/>
+ <item caption="Penicillin" value="Penicillin"/>
+ <item caption="Plaster" value="Plaster"/>
+ <item caption="Sulfopræparater" value="Sulfopræparater"/>
+ <item caption="Timolol" value="Timolol"/>
+ <item caption="Travatan" value="Travatan"/>
+ <item caption="Tropicamide" value="Tropicamide"/>
+ <item caption="Trusopt" value="Trusopt"/>
+ <item caption="Xalatan" value="Xalatan"/>
+ <altitem caption="Andet" value="andet" innerwidget="prep_andet">
+ <frame layout="hbox">
+ <label caption="Indtast:"/>
+ <lineedit name="prep_andet"/>
+ </frame>
+ </altitem>
+ </altcombobox>
+ </frame>
+
+ <frame layout="vbox">
+ <label caption=""/>
+ <label caption="giver"/>
+ <label caption=""/>
+ </frame>
+
+ <frame layout="vbox">
+ <label caption="Reaktion:"/>
+ <altcombobox name="reak" width="100" layout="vbox"
+ type="select" value="" regexp=".+">
+ <item caption="Vælg reaktion" value=""/>
+ <item caption="hududslæt" value="giver hududslæt"/>
+ <item caption="konjunktivitis" value="giver konjunktivitis"/>
+ <item caption="anafylaktisk shock" value="giver anafylaktisk chock"/>
+ <altitem caption="Andet" value="andet" innerwidget="reak_andet">
+ <frame name="frame_reak_andet" layout="hbox">
+ <label caption="Indtast:"/>
+ <lineedit name="reak_andet"/>
+ </frame>
+ </altitem>
+ </altcombobox>
+ </frame>
+
+ <spacer/>
+
+ </metawidget>
+
+ </multilist>
+
+ </frame>
+ </altitem>
+ <item caption="Ingen kendte" value="Ingen kendte"/>
+
+ </altcombobox>
+
+ </frame>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer />
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/current-1.0.xml b/server/xml/macros/current-1.0.xml
new file mode 100644
index 0000000..1bfd6ea
--- /dev/null
+++ b/server/xml/macros/current-1.0.xml
@@ -0,0 +1,283 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081203: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+ -->
+<!--
+ 20090108: Bent Bisballe Nyeng
+ Alt tekst ændret.
+ Layout af multilist input er ændret så det er liniebaseret.
+ -->
+<!--
+ 20090225: Bent Bisballe Nyeng
+ Resume format ændret så det er parsbart.
+ -->
+<!--
+ 20090226: Bent Bisballe Nyeng
+ Rettet så den rent faktisk indeholder de felter den skal...
+ -->
+<!--
+ 20090320: Bent Bisballe Nyeng
+ Begge øjne er nu på, på samme tid. Resume er lavet intelligent.
+ -->
+<macro name="current" version="1.0">
+ <resume language="lua">
+ out = 'Aktuelle:\n'
+
+ if ( getValue('current.symptoms.right') == '' and getValue('current.symptoms.left') == '' )
+ then
+ out = out .. 'ingen\n'
+ end
+
+ if ( getValue('current.symptoms.right') ~= '' )
+ then
+ out = out .. 'På højre øje har der været\n'
+ out = out .. getValue('current.symptoms.right') .. '\n'
+ end
+
+ if ( getValue('current.symptoms.left') ~= '' )
+ then
+ out = out .. 'På venstre øje har der været\n'
+ out = out .. getValue('current.symptoms.left') .. '\n'
+ end
+
+ if ( getValue('current.symptoms.right') ~= '' or getValue('current.symptoms.left') ~= '' )
+ then
+ out = out .. 'Symptomerne er opstået ' .. getValue('current.when')
+ .. ' og efterfølgende ' .. getValue('current.then')
+ end
+
+ return out
+ </resume>
+ <queries>
+ </queries>
+ <maps>
+ <map name="now">
+ -- Set date to now if no other data available within last 24 hours.
+ return os.time(), os.time() - 24*60*60, 'system'
+ </map>
+ </maps>
+ <scripts>
+ <script language="lua" name="evolution_enable">
+ if( getValue('current.symptoms.right') ~= '' or getValue('current.symptoms.left') ~= '' )
+ then
+ enable('evolution')
+ else
+ disable('evolution')
+ end
+
+ return true
+ </script>
+ </scripts>
+ <window caption="Aktuelle (B.2.1.3)"
+ layout="vbox">
+
+ <frame layout="vbox">
+ <label caption="Symptomlister:"/>
+
+ <frame layout="hbox">
+ <frame caption="Højre" layout="vbox">
+
+ <multilist name="current.symptoms.right" value=""
+ innerwidget="aktuelle_entry_right" script="evolution_enable">
+
+ <metawidget name="aktuelle_entry_right" layout="hbox"
+ formatlanguage="lua"
+ format=
+ "
+ days = (os.time() - tonumber(getValue('date_right'))) / (60 * 60 * 24)
+ num = 0
+ identifier = ''
+ suffix = ''
+
+ if(num == 0 and math.abs(days) ~= days)
+ then
+ num = 0.1
+ identifier = 'dag'
+ suffix = 'e'
+ end
+
+ if(num == 0 and math.floor(days/7) == 0)
+ then
+ num = days
+ identifier = 'dag'
+ suffix = 'e'
+ end
+
+ if(num == 0 and math.floor(days/31) == 0)
+ then
+ num = days / 7
+ identifier = 'uge'
+ suffix = 'r'
+ end
+
+ if(num == 0 and math.floor(days/365) == 0)
+ then
+ num = days / 31
+ identifier = 'måned'
+ suffix = 'er'
+ end
+
+ if(num == 0)
+ then
+ num = days / 365
+ identifier = 'år'
+ suffix = ''
+ end
+
+ num = math.floor(num * 2) / 2
+ if(num == 1)
+ then
+ suffix = ''
+ end
+
+ return getValue('observeret_right') .. ': igennem ' .. num .. ' '
+ .. identifier .. suffix .. '.'
+ ">
+
+ <frame layout="vbox">
+ <label caption="Observeret:"/>
+ <altcombobox name="observeret_right" layout="vbox" value="Sløret syn">
+ <item caption="Sløret syn" value="Sløret syn"/>
+ <item caption="Mørk plet i synsfeltet" value="Mørk plet i synsfeltet"/>
+ <item caption="Metamorfopsier" value="Metamorfopsier"/>
+ <item caption="Mikropsi" value="Mikropsi"/>
+ <item caption="Dyskromatopsi" value="Dyskromatopsi"/>
+ <altitem caption="Andet" value="andet" layout="hbox" innerwidget="andet_right">
+ <label caption="Andet:"/>
+ <lineedit name="andet_right" value=""/>
+ </altitem>
+ </altcombobox>
+ </frame>
+
+ <frame layout="vbox">
+ <label caption="Dato:"/>
+ <datetime name="date_right" fuzziness="3" map="now"/>
+ <label caption=""/>
+ </frame>
+
+ </metawidget>
+
+ </multilist>
+
+ </frame>
+ <frame caption="Venstre" layout="vbox">
+ <multilist name="current.symptoms.left" value=""
+ innerwidget="aktuelle_entry_left" script="evolution_enable">
+
+ <metawidget name="aktuelle_entry_left" layout="hbox"
+ formatlanguage="lua"
+ format=
+ "
+ days = (os.time() - tonumber(getValue('date_left'))) / (60 * 60 * 24)
+ num = 0
+ identifier = ''
+ suffix = ''
+
+ if(num == 0 and math.abs(days) ~= days)
+ then
+ num = 0
+ identifier = 'dag'
+ suffix = 'e'
+ end
+
+ if(num == 0 and math.floor(days/7) == 0)
+ then
+ num = days
+ identifier = 'dag'
+ suffix = 'e'
+ end
+
+ if(num == 0 and math.floor(days/31) == 0)
+ then
+ num = days / 7
+ identifier = 'uge'
+ suffix = 'r'
+ end
+
+ if(num == 0 and math.floor(days/365) == 0)
+ then
+ num = days / 31
+ identifier = 'måned'
+ suffix = 'er'
+ end
+
+ if(num == 0)
+ then
+ num = days / 365
+ identifier = 'år'
+ suffix = ''
+ end
+
+ num = math.floor(num * 2) / 2
+ if(num == 1)
+ then
+ suffix = ''
+ end
+
+ return getValue('observeret_left') .. ': igennem ' .. num .. ' '
+ .. identifier .. suffix .. '.'
+ ">
+
+ <frame layout="vbox">
+ <label caption="Observeret:"/>
+ <altcombobox name="observeret_left" layout="vbox" value="Sløret syn">
+ <item caption="Sløret syn" value="Sløret syn"/>
+ <item caption="Mørk plet i synsfeltet" value="Mørk plet i synsfeltet"/>
+ <item caption="Metamorfopsier" value="Metamorfopsier"/>
+ <item caption="Mikropsi" value="Mikropsi"/>
+ <item caption="Dyskromatopsi" value="Dyskromatopsi"/>
+ <altitem caption="Andet" value="andet" layout="hbox" innerwidget="andet_left">
+ <label caption="Andet:"/>
+ <lineedit name="andet_left" value=""/>
+ </altitem>
+ </altcombobox>
+ </frame>
+
+ <frame layout="vbox">
+ <label caption="Dato:"/>
+ <datetime name="date_left" fuzziness="3" map="now"/>
+ <label caption=""/>
+ </frame>
+
+ </metawidget>
+
+ </multilist>
+
+ </frame>
+ </frame>
+ </frame>
+
+ <frame name="evolution" layout="hbox">
+
+ <frame layout="vbox">
+ <label caption="Opstået:"/>
+ <radiobuttons name="current.when" value="." layout="hbox">
+ <radiobutton caption="Pludseligt"
+ value="pludseligt"/>
+ <radiobutton caption="Gradvist"
+ value="gradvist"/>
+ </radiobuttons>
+ <label caption=""/>
+ </frame>
+
+ <frame layout="vbox">
+ <label caption="Efterfølgende:"/>
+ <combobox name="current.then" value="og har efterfølgende været uændrede">
+ <item caption="Uændret" value="uændrede"/>
+ <item caption="Forværret" value="forværret"/>
+ <item caption="Forbedret" value="forbedret"/>
+ </combobox>
+ <label caption=""/>
+ </frame>
+
+ <spacer/>
+
+ </frame>
+
+ <frame layout="hbox">
+ <spacer/>
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/fluoresceinconclusion-1.0.xml b/server/xml/macros/fluoresceinconclusion-1.0.xml
new file mode 100644
index 0000000..123570c
--- /dev/null
+++ b/server/xml/macros/fluoresceinconclusion-1.0.xml
@@ -0,0 +1,128 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081208: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+ -->
+<!--
+ 20090107: Bent Bisballe Nyeng
+ Fluorescens info felterne skjules nu istedet for kun at blive disabled.
+ -->
+<!--
+ 20090211: Bent Bisballe Nyeng
+ Fluorescens info felterne bliver nu disabled igen, men har f[et fjernet den
+ altcombo som omkransede dem. Desuden er et 'andet' felt tilføjet.
+ -->
+<macro name="fluoresceinconclusion" version="1.0">
+ <resume language="lua">
+ out = 'Konklusion:\n'
+
+ if( getValue('fluorescens.conclusion') == 'Klassisk subretinal neovaskulær membran.'
+ or getValue('fluorescens.conclusion') == 'Overvejende klassisk subretinal neovaskulær membran.' )
+ then
+ out = out .. getValue('fluorescens.conclusion') .. '\n'
+ out = out .. 'Membranen er beliggende:'
+ .. getValue('fluorescens.membrane.position') .. '\n'
+ out = out .. 'Membranstørrelse:'
+ .. getValue('fluorescens.membrane.size') .. 'µm\n'
+ else
+ if( getValue('fluorescens.conclusion') == 'andet' )
+ then
+ out = out .. getValue('fluorescens.conclusion.other') .. '\n'
+ else
+ out = out .. getValue('fluorescens.conclusion') .. '\n'
+ end
+ end
+
+ return out
+ </resume>
+ <queries>
+ </queries>
+ <maps>
+ </maps>
+ <scripts>
+ <script language="lua" name="angiografi_konklusion">
+ -- This script sets the value of additional according to conclusion.
+
+ if( getValue('fluorescens.conclusion') == 'Klassisk subretinal neovaskulær membran.'
+ or getValue('fluorescens.conclusion') == 'Overvejende klassisk subretinal neovaskulær membran.' )
+ then
+ enable('yderligere_info_frame')
+ else
+ disable('yderligere_info_frame')
+ end
+
+ if( getValue('fluorescens.conclusion') == 'andet' )
+ then
+ enable('andet_frame')
+ else
+ disable('andet_frame')
+ end
+
+ return true
+ </script>
+ </scripts>
+ <window caption="Konklusion (B.2.7.3)"
+ layout="vbox">
+
+ <frame layout="hbox">
+ <label caption="Øje:" width="50"/>
+ <radiobuttons name="fluorescens.conclusion.eye" value="">
+ <radiobutton caption="o.dxt" value="o.dxt"/>
+ <radiobutton caption="o.sin" value="o.sin"/>
+ </radiobuttons>
+ <spacer/>
+ </frame>
+
+ <combobox name="fluorescens.conclusion"
+ value="Atrofiske foranderinger. Der findes ingen behandlingsindikation."
+ script="angiografi_konklusion">
+ <item caption="Atrofiske foranderinger. Der findes ingen behandlingsindikation"
+ value="Atrofiske foranderinger. Der findes ingen behandlingsindikation." />
+ <item caption="Pigmentepitelløsning. Der findes ingen behandlingsindikation"
+ value="Pigmentepitelløsning. Der findes ingen behandlingsindikation." />
+ <item caption="Klassisk subretinal karnydannelse"
+ value="Klassisk subretinal neovaskulær membran." />
+ <item caption="Overvejende klassisk subretinal neovaskulær membran"
+ value="Overvejende klassisk subretinal neovaskulær membran." />
+ <item caption="Minimalt klassisk subretinal neovaskulær membran"
+ value="Minimalt klassisk subretinal neovaskulær membran." />
+ <item caption="Okkult subretinal neovaskulær membran."
+ value="Okkult subretinal neovaskulær membran." />
+ <item caption="Andet"
+ value="andet" />
+ </combobox>
+
+ <frame name="andet_frame" layout="hbox">
+ <label caption="Andet:"/>
+ <lineedit name="fluorescens.conclusion.other" value=""/>
+ </frame>
+
+ <frame name="yderligere_info_frame" layout="vbox">
+ <label caption="Yderligere information:"/>
+
+ <frame layout="hbox">
+ <label caption="Membran beliggenhed:" width="150"/>
+ <combobox name="fluorescens.membrane.position" value="">
+ <item caption="Subfovealt" value="Subfovealt" />
+ <item caption="Juxtafovealt" value="Juxtafovealt" />
+ <item caption="Extrafovealt" value="Extrafovealt" />
+ </combobox>
+ <spacer/>
+ </frame>
+
+ <frame layout="hbox">
+ <label caption="Membranstørrelse:" width="150"/>
+ <lineedit name="fluorescens.membrane.size" regexp="[0-9,.-]+" value=""/>
+ <label caption="µm" />
+ <spacer/>
+ </frame>
+
+ </frame>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer/>
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/fluoresceininj-1.0.xml b/server/xml/macros/fluoresceininj-1.0.xml
new file mode 100644
index 0000000..d81d953
--- /dev/null
+++ b/server/xml/macros/fluoresceininj-1.0.xml
@@ -0,0 +1,41 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081204: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+ -->
+<macro name="fluoresceininj" version="1.0">
+ <resume>I henhold til ovenstående ordination foretages der fluorescein angiografi efter afdelingens retningslinier.
+Injektion af fluorescein ved: ${fluorescein_injection.initials}</resume>
+ <queries>
+ </queries>
+ <maps>
+ </maps>
+ <scripts>
+ </scripts>
+ <window caption="Injektion ved (B.2.7.1)"
+ layout="vbox">
+
+ <label caption="I henhold til ovenstående ordination foretages fluorescein injektion."/>
+
+ <frame layout="hbox">
+ <label caption="Øje:" width="50"/>
+ <radiobuttons name="fluorescein_injection.eye" value="">
+ <radiobutton caption="o.dxt" value="o.dxt"/>
+ <radiobutton caption="o.sin" value="o.sin"/>
+ </radiobuttons>
+ <spacer/>
+ </frame>
+
+ <frame layout="hbox">
+ <label width="300" caption="Fluorescein injektion foretaget af (initialer):"/>
+ <lineedit name="fluorescein_injection.initials" regexp="[a-zæøåA-ZÆØÅ]{2,5}" value=""/>
+ <spacer />
+ </frame>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer/>
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/fluoresceinphases-1.0.xml b/server/xml/macros/fluoresceinphases-1.0.xml
new file mode 100644
index 0000000..3dd329a
--- /dev/null
+++ b/server/xml/macros/fluoresceinphases-1.0.xml
@@ -0,0 +1,63 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081204: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+ -->
+<macro name="fluoresceinphases" version="1.0">
+ <resume>Undersøgelsen viser god fyldning af det retinale kartræ.
+
+Svarende til det retinale ødem ses der i de tidlige faser
+${fluorescens.early_fases}.
+
+Gennem de angiografiske faser udvikles der
+${fluorescens.angiografic_fases}.</resume>
+ <queries>
+ </queries>
+ <maps>
+ </maps>
+ <scripts>
+ </scripts>
+ <window caption="Beskrivelse (B.2.7.2)"
+ layout="vbox">
+
+ <frame layout="vbox">
+
+ <frame layout="hbox">
+ <label caption="Øje:" width="50"/>
+ <radiobuttons name="fluorescens.eye" value="">
+ <radiobutton caption="o.dxt" value="o.dxt"/>
+ <radiobutton caption="o.sin" value="o.sin"/>
+ </radiobuttons>
+ <spacer/>
+ </frame>
+
+ <label caption="Tidlige faser:"/>
+ <combobox name="fluorescens.early_fases" value="">
+ <item caption="Hyperfluorescens" value="Hyperfluorescens" />
+ <item caption="Hypofluorescens" value="Hypofluorescens" />
+ <item caption="Normalt fluorescensmønster" value="Normalt fluorescens mønster" />
+ </combobox>
+
+ <label caption="Angiografiske faser:" />
+ <altcombobox name="fluorescens.angiografic_fases"
+ value="ingen ændringer i fluorescensen" layout="vbox">
+ <item caption="Ingen ændringer i fluorescensen"
+ value="ingen ændringer i fluorescensen" />
+ <item caption="Gradvis tiltagende fluorescens, i senfaserne, velafgrænset med retinale kar som negative skygger henover"
+ value="gradvis tiltagende hyperfluorescens, som i senfaserne står distinkt velafgrænset med de retinale kar som negative skygger henover" />
+ <item caption="Tiltagende hypofluorescens foreneligt med karnydannelse" value="tiltagende hypofluorescens foreneligt med karnydannelse" />
+ <altitem caption="Andet" value="andet" layout="hbox" innerwidget="fluorescens_angiografi_andet">
+ <label caption="Andet:" />
+ <lineedit name="fluorescens_angiografi_andet" />
+ </altitem>
+ </altcombobox>
+
+ </frame>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer/>
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/fundus-1.0.xml b/server/xml/macros/fundus-1.0.xml
new file mode 100644
index 0000000..ed48236
--- /dev/null
+++ b/server/xml/macros/fundus-1.0.xml
@@ -0,0 +1,58 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20090420: Bent Bisballe Nyeng
+ Resume opdateret så det altid inkluderer både randhæmorrhagier og
+ exsudater, både hvis de er observerede og hvis de ikke er det.
+ -->
+<macro name="fundus" version="1.0">
+ <resume language="lua">
+ out = '90-D undersøgelse:\nDer findes '
+ if(getValue('fundus.randh') == '' and getValue('fundus.exsud') == '')
+ then
+ out = out .. 'ingen randhæmorrhagier eller exsudater'
+ else
+ if(getValue('fundus.randh') ~= '' and getValue('fundus.exsud') ~= '')
+ then
+ out = out .. 'randhæmorrhagier og exsudater'
+ else
+ if(getValue('fundus.randh') ~= '')
+ then
+ out = out .. 'randhæmorrhagier, men ingen exsudater'
+ end
+ if(getValue('fundus.exsud') ~= '')
+ then
+ out = out .. 'ingen randhæmorrhagier, men exsudater'
+ end
+ end
+ end
+ out = out .. '.\n'
+ return out
+ </resume>
+ <queries>
+ </queries>
+ <maps>
+ </maps>
+ <scripts>
+ </scripts>
+ <window caption="Vurdering af fundus (B.2.5)"
+ layout="vbox">
+
+ <combobox name="fundus.source" value="">
+ <item caption="Fundus foto" value="Fundus foto"/>
+ <item caption="90-D linse undersøgelse" value="90-D linse undersøgelse"/>
+ </combobox>
+
+ <label caption="viser"/>
+
+ <checkbox name="fundus.randh" caption="Randhæmorrhagier"
+ truevalue="Randhæmorrhagier" falsevalue="" value=""/>
+ <checkbox name="fundus.exsud" caption="Exsudater"
+ truevalue="Exsudater" falsevalue="" value=""/>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer/>
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/header-1.0.xml b/server/xml/macros/header-1.0.xml
new file mode 100644
index 0000000..cea390a
--- /dev/null
+++ b/server/xml/macros/header-1.0.xml
@@ -0,0 +1,65 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20090420: Bent Bisballe Nyeng
+ Tilføjede '-' til cpr nummeret.
+
+ 20090526: Bent Bisballe Nyeng
+ Nye min størrelser på lineedits, så navnet altid kan ses.
+ -->
+<macro name="header" version="1.0">
+ <resume store_in_journal="false"/>
+ <queries>
+ <query service="pentominos" class="cpr" ttl="1000000"/>
+ <query service="pentominos" class="referral" ttl="1000000"/>
+ </queries>
+ <maps>
+ <map name="cpr_bindestreg">
+ value = 0
+ timestamp = 0
+ source = 'pentominos'
+
+ if(cpr and cpr.cpr and cpr.cpr.value and cpr.cpr.timestamp and cpr.cpr.source)
+ then
+ value = string.sub(cpr.cpr.value,1,6) .. '-' .. string.sub(cpr.cpr.value,7,11)
+ timestamp = cpr.cpr.timestamp
+ source = cpr.cpr.source
+ end
+
+ return value, timestamp, source
+ </map>
+ </maps>
+ <scripts>
+ </scripts>
+ <window caption="Patient informationer (B.0)"
+ layout="hbox">
+
+ <!-- Patient info -->
+ <frame layout="vbox">
+ <frame layout="hbox">
+ <label caption="Navn:" width="50"/>
+ <lineedit name="name" map="cpr.name" readonly="true"
+ value="Patienten kunne ikke findes" width="150"/>
+ </frame>
+ <frame layout="hbox">
+ <label caption="Cpr-nr:" width="50"/>
+ <lineedit name="cpr" map="cpr_bindestreg" value="-" readonly="true" width="150"/>
+ </frame>
+ </frame>
+
+ <!-- Henvisnings info -->
+ <frame layout="vbox">
+ <frame layout="hbox">
+ <label width="100" caption="Henvisende læge:"/>
+ <lineedit name="referral.doctor" map="henvisning.doctor" readonly="true"
+ value="Henvisnings informationer kunne ikke findes"/>
+ </frame>
+ <frame layout="hbox">
+ <label width="100" caption="Henvisningskode:"/>
+ <lineedit name="referral.diagnosecode" map="henvisning.code" value="-" readonly="true"/>
+ <label width="60" caption="Diagnose:"/>
+ <lineedit width="100" name="referral.diagnose" map="henvisning.diagnose" value="-" readonly="true"/>
+ </frame>
+ </frame>
+
+ </window>
+</macro>
diff --git a/server/xml/macros/lensmeter-1.0.xml b/server/xml/macros/lensmeter-1.0.xml
new file mode 100644
index 0000000..bd6b910
--- /dev/null
+++ b/server/xml/macros/lensmeter-1.0.xml
@@ -0,0 +1,267 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081203: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+ -->
+<!--
+ 20090108: Bent Bisballe Nyeng
+ Højre/venstre byttet om.
+ -->
+<!--
+ 20090202: Bent Bisballe Nyeng
+ 'missing eye' tilføjet.
+ -->
+<macro name="lensmeter" version="1.0">
+ <resume language="lua">
+ out = ''
+ if ( getValue('lensmeter.right.missing') == '' )
+ then
+ out = out .. 'Egen brille højre øje: ' .. getValue('lensmeter.right.sphere')
+ .. ' sf, ' .. getValue('lensmeter.right.cyl') .. ' cyl '
+ .. getValue('lensmeter.right.axis') .. ' grader.'
+ end
+
+ if ( getValue('lensmeter.left.missing') == '' )
+ then
+ out = out .. 'Egen brille venstre øje: ' .. getValue('lensmeter.left.sphere')
+ .. ' sf, ' .. getValue('lensmeter.left.cyl') .. ' cyl '
+ .. getValue('lensmeter.left.axis') .. ' grader.'
+ end
+
+ return out
+ </resume>
+ <queries>
+ <query class="lensmeter" ttl="100000"/>
+ <query service="pracro" class="missing_eye_right" ttl="1000000"/>
+ <query service="pracro" class="missing_eye_left" ttl="1000000"/>
+ </queries>
+ <maps>
+ <map name="missing_eye_right_map">
+ value = 0
+ timestamp = 0
+ source = 'pracro'
+
+ if( missing_eye_right )
+ then
+ if( missing_eye_right.value and missing_eye_right.value == '' )
+ then
+ value = ''
+ timestamp = missing_eye_right.timestamp
+ else
+ value = 'mangler'
+ timestamp = missing_eye_right.timestamp
+ end
+ end
+ return value, timestamp, source
+ </map>
+ <map name="missing_eye_left_map">
+ value = 0
+ timestamp = 0
+ source = 'pracro'
+
+ if( missing_eye_left )
+ then
+ if( missing_eye_left.value and missing_eye_left.value == '' )
+ then
+ value = ''
+ timestamp = missing_eye_left.timestamp
+ else
+ value = 'mangler'
+ timestamp = missing_eye_left.timestamp
+ end
+ end
+ return value, timestamp, source
+ </map>
+ <map name="lensmeter.left.sphere">
+ -- Returning 0, 0 invalidates the result
+ value = 0
+ timestamp = 0
+ source = 0
+
+ if(lensmeter and lensmeter.left and lensmeter.left.sphere and lensmeter.left.sphere.value and lensmeter.left.sphere.timestamp)
+ then
+ value = lensmeter.left.sphere.value
+ -- convert . to ,
+ value = string.gsub(value, '[.]', ',')
+ timestamp = lensmeter.left.sphere.timestamp
+ source = lensmeter.left.sphere.source
+ end
+ return value, timestamp, source
+ </map>
+ <map name="lensmeter.left.cyl">
+ -- Returning 0, 0 invalidates the result
+ value = 0
+ timestamp = 0
+ source = 0
+
+ if(lensmeter and lensmeter.left and lensmeter.left.cyl and lensmeter.left.cyl.value and lensmeter.left.cyl.timestamp)
+ then
+ value = lensmeter.left.cyl.value
+ -- convert . to ,
+ value = string.gsub(value, '[.]', ',')
+ timestamp = lensmeter.left.cyl.timestamp
+ source = lensmeter.left.cyl.source
+ end
+ return value, timestamp, source
+ </map>
+ <map name="lensmeter.right.sphere">
+ -- Returning 0, 0 invalidates the result
+ value = 0
+ timestamp = 0
+ source = 0
+
+ if(lensmeter and lensmeter.right and lensmeter.right.sphere and lensmeter.right.sphere.value and lensmeter.right.sphere.timestamp)
+ then
+ value = lensmeter.right.sphere.value
+ -- convert . to ,
+ value = string.gsub(value, '[.]', ',')
+ timestamp = lensmeter.right.sphere.timestamp
+ source = lensmeter.right.sphere.source
+ end
+ return value, timestamp, source
+ </map>
+ <map name="lensmeter.right.cyl">
+ -- Returning 0, 0 invalidates the result
+ value = 0
+ timestamp = 0
+ source = 0
+
+ if(lensmeter and lensmeter.right and lensmeter.right.cyl and lensmeter.right.cyl.value and lensmeter.right.cyl.timestamp)
+ then
+ value = lensmeter.right.cyl.value
+ -- convert . to ,
+ value = string.gsub(value, '[.]', ',')
+ timestamp = lensmeter.right.cyl.timestamp
+ source = lensmeter.right.cyl.source
+ end
+ return value, timestamp, source
+ </map>
+ </maps>
+ <scripts>
+ <script language="lua" name="lt20gt-25">
+ if(value == '')
+ then
+ return false
+ end
+
+ value = string.gsub(value, ',', '.')
+ if(tonumber(value) &gt;= -25 and tonumber(value) &lt;= 20)
+ then
+ return true
+ else
+ return false
+ end
+ </script>
+ <script language="lua" name="lt10gt-15">
+ if(value == '')
+ then
+ return false
+ end
+
+ value = string.gsub(value, ',', '.')
+ if(tonumber(value) &gt;= -15 and tonumber(value) &lt;= 10)
+ then
+ return true
+ else
+ return false
+ end
+ </script>
+ <script language="lua" name="lt359gt0">
+ if(value == '')
+ then
+ return false
+ end
+
+ value = string.gsub(value, ',', '.')
+ if(tonumber(value) &gt;= 0 and tonumber(value) &lt;= 359)
+ then
+ return true
+ else
+ return false
+ end
+ </script>
+ <script language="lua" name="right_eye">
+ if ( value == 'mangler' )
+ then
+ disable('right_eye_frame')
+ else
+ enable('right_eye_frame')
+ end
+ return true
+ </script>
+ <script language="lua" name="left_eye">
+ if ( value == 'mangler' )
+ then
+ disable('left_eye_frame')
+ else
+ enable('left_eye_frame')
+ end
+ return true
+ </script>
+ </scripts>
+ <window caption="Egen brille (B.2.2.2)"
+ layout="vbox">
+
+ <frame layout="hbox">
+
+ <!-- Højre øje -->
+ <frame layout="vbox">
+ <checkbox caption="Der er ikke målt på højre øje"
+ name="lensmeter.right.missing" script="right_eye"
+ map="missing_eye_right_map"
+ truevalue="mangler" falsevalue="" value=""/>
+ <frame name="right_eye_frame" caption="Højre øje" layout="hbox">
+
+ <frame layout="vbox">
+ <label caption="Sf:"/>
+ <lineedit name="lensmeter.right.sphere" map="lensmeter.right.sphere"
+ regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt20gt-25" value=""/>
+ </frame>
+ <frame layout="vbox">
+ <label caption="Cyl:"/>
+ <lineedit name="lensmeter.right.cyl" map="lensmeter.right.cyl"
+ regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt10gt-15" value=""/>
+ </frame>
+ <frame layout="vbox">
+ <label caption="Grader:"/>
+ <lineedit name="lensmeter.right.axis" map="lensmeter.right.axis"
+ regexp="[\d]+" script="lt359gt0" value=""/>
+ </frame>
+ </frame>
+ </frame>
+
+ <!-- Venstre øje -->
+ <frame layout="vbox">
+ <checkbox caption="Der er ikke målt på venstre øje"
+ name="lensmeter.left.missing" script="left_eye"
+ map="missing_eye_left_map"
+ truevalue="mangler" falsevalue="" value=""/>
+ <frame name="left_eye_frame" caption="Venstre øje" layout="hbox">
+
+ <frame layout="vbox">
+ <label caption="Sf:"/>
+ <lineedit name="lensmeter.left.sphere" map="lensmeter.left.sphere"
+ regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt20gt-25" value=""/>
+ </frame>
+ <frame layout="vbox">
+ <label caption="Cyl:"/>
+ <lineedit name="lensmeter.left.cyl" map="lensmeter.left.cyl"
+ regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt10gt-15" value=""/>
+ </frame>
+ <frame layout="vbox">
+ <label caption="Grader:"/>
+ <lineedit name="lensmeter.left.axis" map="lensmeter.left.axis"
+ regexp="[\d]+" script="lt359gt0" value=""/>
+ </frame>
+ </frame>
+ </frame>
+
+ </frame>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer />
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/medicine-1.0.xml b/server/xml/macros/medicine-1.0.xml
new file mode 100644
index 0000000..4f83a95
--- /dev/null
+++ b/server/xml/macros/medicine-1.0.xml
@@ -0,0 +1,89 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081202: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+ -->
+<!--
+ 20090108: Bent Bisballe Nyeng
+ Alt tekst ændret.
+ Layout af multilist input er ændret så det er liniebaseret.
+ -->
+<!--
+ 20090319: Bent Bisballe Nyeng
+ Øje ændret til combobox istedet for radiobuttons.
+ -->
+<macro name="medicine" version="1.0">
+ <resume>Medicin:
+${medicin}</resume>
+ <queries>
+ </queries>
+ <maps>
+ </maps>
+ <scripts>
+ </scripts>
+ <window caption="Medicin (B.1.2)"
+ layout="vbox">
+
+ <frame layout="vbox" help="For ambulante patienter noteres de typer og den dosering af medicin, som foreligger oplyst og som har relevans for sygdomsforløbet. Der kan refereres til indskannet medicinliste, såfremt denne er dækkende og læselig.\nFor indlagte patienter noteres detaljeret medicinanamnese med præparatnavn og dosering.">
+
+ <altcombobox name="medicin" layout="vbox" width="200" value="Intet dagligt forbrug." type="select">
+ <item caption="Intet dagligt forbrug" value="Intet dagligt forbrug."/>
+ <item caption="Se indscannet samtykkeskema" value="Se indscannet samtykkeskema."/>
+ <altitem caption="Anfør liste" value="list" innerwidget="medicin_list">
+ <frame name="frame_medicin_list" caption="Søg og tilføj" layout="vbox">
+ <multilist name="medicin_list" layout="vbox"
+ innerwidget="medicin_list_entry">
+
+ <metawidget name="medicin_list_entry" layout="hbox" format="${prep} x ${dosis}${eye}">
+ <frame layout="vbox">
+ <label caption="Præparat: ex. 'Primcillin 250 mg (tabl.)'"/>
+ <dbwidget name="prep" driver="QPSQL" server="sensei.j.auh.dk" user="lmsread" database="lms"
+ select="drugname, form, strength"
+ from="package"
+ where="drugname || ' ' || strength || ' (' || form || ')'"
+ format="${drugname} ${strength} (${form})"
+ width="250"/>
+ </frame>
+
+ <frame layout="vbox">
+ <label caption=""/>
+ <label caption=" x "/>
+ </frame>
+
+ <frame layout="vbox">
+ <label caption="Dosis: ex. '2 tbl. dagl.'" />
+ <lineedit name="dosis" width="75" value="" regexp=".+"/>
+ </frame>
+
+ <frame layout="vbox">
+ <label caption=""/>
+ <label caption=" - "/>
+ </frame>
+
+ <frame layout="vbox">
+ <label caption="Øje:"/>
+ <combobox name="eye" value="">
+ <item caption="Ingen" value=""/>
+ <item caption="o.dxt" value=" o.dxt"/>
+ <item caption="o.sin" value=" o.sin"/>
+ <item caption="o.u" value=" o.u"/>
+ </combobox>
+ </frame>
+
+ <spacer />
+
+ </metawidget>
+ </multilist>
+ </frame>
+ </altitem>
+ </altcombobox>
+
+ </frame>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer />
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/ocgtt-1.0.xml b/server/xml/macros/ocgtt-1.0.xml
new file mode 100644
index 0000000..9f93ea3
--- /dev/null
+++ b/server/xml/macros/ocgtt-1.0.xml
@@ -0,0 +1,71 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081204: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+ -->
+<!--
+ 20081209: Bent Bisballe Nyeng
+ Nye dryppe regimer = redesign med multilist.
+ -->
+<!--
+ 20090108: Bent Bisballe Nyeng
+ Tilføjede et datofelt.
+ -->
+<macro name="ocgtt" version="1.0">
+ <resume language="lua">
+ out = 'I henhold til øjenafdelingens retningslinier dryppes der med:\n'
+ out = out .. getValue('ocgtt.preparation') .. '\n'
+ out = out .. 'Drypning er foretaget af: ' .. getValue('ocgtt.initials')
+ .. ', den ' .. os.date('%e. %b %Y %k:%M', tonumber(getValue('ocgtt.date')))
+ return out
+</resume>
+ <queries>
+ </queries>
+ <maps>
+ <map name="now">
+ -- Set date to now if no other data available within last 24 hours.
+ return os.time(), os.time() - 24*60*60, 'system'
+ </map>
+ </maps>
+ <scripts>
+ </scripts>
+ <window caption="Øjendrypning (B.2.3)"
+ layout="vbox">
+
+ <!-- Øjendrypning -->
+ <frame caption="Vælg præparat og tilføj til listen.">
+ <multilist name="ocgtt.preparation" layout="hbox" innerwidget="dryppemeta" value="">
+ <metawidget name="dryppemeta" format="Ocgt. ${prep} ${eye}" layout="hbox">
+ <label caption="Præparat:"/>
+ <combobox name="prep">
+ <item caption="Mydriacyl 1%" value="mydriacyl 1%"/>
+ <item caption="Metaoxedrin 10%" value="metaoxedrin 10%"/>
+ <item caption="Tropicamid ukons. 0,5%" value="tropicamid ukons. 0,5%"/>
+ <item caption="Phenylephrin ukons. 10%" value="phenylephrin ukons. 10%"/>
+ </combobox>
+ <label caption=""/>
+ <label caption="Øje:"/>
+ <combobox name="eye">
+ <item caption="o.dxt" value="o.dxt"/>
+ <item caption="o.sin" value="o.sin"/>
+ <item caption="o.u" value="o.u"/>
+ </combobox>
+ <spacer/>
+ </metawidget>
+ </multilist>
+ </frame>
+
+ <frame layout="hbox">
+ <label width="200" caption="Drypning foretaget af (initialer):"/>
+ <lineedit name="ocgtt.initials" regexp="[a-zæøåA-ZÆØÅ]{2,5}" value=""/>
+ <label width="50" caption=" den "/>
+ <datetime name="ocgtt.date" fuzziness="5" map="now" value=""/>
+ </frame>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer/>
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/octevaluation-1.0.xml b/server/xml/macros/octevaluation-1.0.xml
new file mode 100644
index 0000000..a2b0097
--- /dev/null
+++ b/server/xml/macros/octevaluation-1.0.xml
@@ -0,0 +1,181 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081204: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+
+ 20090108: Bent Bisballe Nyeng
+ Højre/venstre byttet om.
+
+ 20090402: Bent Bisballe Nyeng
+ 'missing eye' tilføjet.
+
+ 20090427: Bent Bisballe Nyeng
+ 'andet' mulighed tilfoejet til combo (altcombo).
+ -->
+<macro name="octevaluation" version="1.0">
+ <resume language="lua">
+ out = ''
+ if ( getValue('oct.right.missing') == '' or getValue('oct.left.missing') == '' )
+ then
+ out = out .. 'Central nethinde konklusion:\n'
+
+ if ( getValue('oct.right.missing') == '' )
+ then
+ out = out .. 'OCT o.dxt ' .. getValue('oct.right.description') .. '.\n'
+ end
+
+ if ( getValue('oct.left.missing') == '' )
+ then
+ out = out .. 'OCT o.sin ' .. getValue('oct.left.description') .. '.\n'
+ end
+ end
+
+ if ( getValue('oct.comments') ~= '' )
+ then
+ out = out .. getValue('oct.comments') .. '\n'
+ end
+
+ return out
+ </resume>
+ <queries>
+ <query service="pracro" class="missing_eye_right" ttl="1000000"/>
+ <query service="pracro" class="missing_eye_left" ttl="1000000"/>
+ </queries>
+ <maps>
+ <map name="missing_eye_right_map">
+ value = 0
+ timestamp = 0
+ source = 'pracro'
+
+ if( missing_eye_right )
+ then
+ if( missing_eye_right.value and missing_eye_right.value == '' )
+ then
+ value = ''
+ timestamp = missing_eye_right.timestamp
+ else
+ value = 'mangler'
+ timestamp = missing_eye_right.timestamp
+ end
+ end
+ return value, timestamp, source
+ </map>
+ <map name="missing_eye_left_map">
+ value = 0
+ timestamp = 0
+ source = 'pracro'
+
+ if( missing_eye_left )
+ then
+ if( missing_eye_left.value and missing_eye_left.value == '' )
+ then
+ value = ''
+ timestamp = missing_eye_left.timestamp
+ else
+ value = 'mangler'
+ timestamp = missing_eye_left.timestamp
+ end
+ end
+ return value, timestamp, source
+ </map>
+ </maps>
+ <scripts>
+ <script language="lua" name="right_eye">
+ if ( value == 'mangler' )
+ then
+ disable('right_eye_frame')
+ else
+ enable('right_eye_frame')
+ end
+ return true
+ </script>
+ <script language="lua" name="left_eye">
+ if ( value == 'mangler' )
+ then
+ disable('left_eye_frame')
+ else
+ enable('left_eye_frame')
+ end
+ return true
+ </script>
+ </scripts>
+ <window caption="OCT konklusion (B.2.2.4.2)"
+ layout="vbox">
+
+ <frame layout="hbox">
+
+ <!-- Højre øje -->
+ <frame layout="vbox">
+ <checkbox caption="Der er ikke målt på højre øje"
+ name="oct.right.missing" script="right_eye"
+ map="missing_eye_right_map"
+ truevalue="mangler" falsevalue="" value=""/>
+
+ <frame name="right_eye_frame" caption="Højre øje" layout="hbox">
+ <frame layout="vbox">
+ <frame layout="hbox">
+ <label caption="Tykkelse:"/>
+ <lineedit name="oct.right.thickness" value="" readonly="true"/>
+ <label caption="µm"/>
+ </frame>
+ <label caption=""/>
+ </frame>
+ <altcombobox name="oct.right.description" type="select" value="normal" layout="vbox">
+ <item caption="Pigmentepitelløsning" value="pigmentepitelløsning"/>
+ <item caption="Serøs amotio" value="serøs amotio"/>
+ <item caption="Cystoidt makulært ødem" value="cystoidt makulært ødem"/>
+ <item caption="Subretinal udfyldning" value="subretinal udfyldning"/>
+ <item caption="Retinal traktion" value="retinal traktion"/>
+ <item caption="Normal" value="normal"/>
+ <altitem caption="Andet" innerwidget="octandetr" value="andet" layout="hbox">
+ <label caption="Andet:"/>
+ <lineedit name="octandetr" value="" regexp=".+"/>
+ </altitem>
+ </altcombobox>
+ </frame>
+ </frame>
+
+ <!-- Venstre øje -->
+ <frame layout="vbox">
+ <checkbox caption="Der er ikke målt på venstre øje"
+ name="oct.left.missing" script="left_eye"
+ map="missing_eye_left_map"
+ truevalue="mangler" falsevalue="" value=""/>
+ <frame name="left_eye_frame" caption="Venstre øje" layout="hbox">
+ <frame layout="vbox">
+ <frame layout="hbox">
+ <label caption="Tykkelse:"/>
+ <lineedit name="oct.left.thickness" value="" readonly="true"/>
+ <label caption="µm"/>
+ </frame>
+ <label caption=""/>
+ </frame>
+ <altcombobox name="oct.left.description" type="select" value="normal" layout="vbox">
+ <item caption="Pigmentepitelløsning" value="pigmentepitelløsning"/>
+ <item caption="Serøs amotio" value="serøs amotio"/>
+ <item caption="Cystoidt makulært ødem" value="cystoidt makulært ødem"/>
+ <item caption="Subretinal udfyldning" value="subretinal udfyldning"/>
+ <item caption="Retinal traktion" value="retinal traktion"/>
+ <item caption="Normal" value="normal"/>
+ <altitem caption="Andet" innerwidget="octandetl" value="andet" layout="hbox">
+ <label caption="Andet:"/>
+ <lineedit name="octandetl" value="" regexp=".+"/>
+ </altitem>
+ </altcombobox>
+ </frame>
+
+ </frame>
+ </frame>
+
+ <frame layout="vbox">
+ <label caption="Kommentarer:"/>
+ <lineedit name="oct.comments" value=""/>
+ </frame>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer />
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/octmeasurement-1.0.xml b/server/xml/macros/octmeasurement-1.0.xml
new file mode 100644
index 0000000..2497e70
--- /dev/null
+++ b/server/xml/macros/octmeasurement-1.0.xml
@@ -0,0 +1,145 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081204: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+ -->
+<!--
+ 20090108: Bent Bisballe Nyeng
+ Højre/venstre byttet om.
+ -->
+<!--
+ 20090402: Bent Bisballe Nyeng
+ 'missing eye' tilføjet.
+ -->
+<macro name="octmeasurement" version="1.0">
+ <resume language="lua">
+ out = ''
+ if ( getValue('oct.right.missing') == '' or getValue('oct.left.missing') == '' )
+ then
+ out = out .. 'Central nethindetykkelse:\n'
+
+ if ( getValue('oct.right.missing') == '' )
+ then
+ out = out .. 'OCT o.dxt ' .. getValue('oct.right.thickness') .. ' µm\n'
+ end
+
+ if ( getValue('oct.left.missing') == '' )
+ then
+ out = out .. 'OCT o.sin ' .. getValue('oct.left.thickness') .. ' µm\n'
+ end
+
+ end
+
+ return out
+ </resume>
+ <queries>
+ <query service="pracro" class="missing_eye_right" ttl="1000000"/>
+ <query service="pracro" class="missing_eye_left" ttl="1000000"/>
+ </queries>
+ <maps>
+ <map name="missing_eye_right_map">
+ value = 0
+ timestamp = 0
+ source = 'pracro'
+
+ if( missing_eye_right )
+ then
+ if( missing_eye_right.value and missing_eye_right.value == '' )
+ then
+ value = ''
+ timestamp = missing_eye_right.timestamp
+ else
+ value = 'mangler'
+ timestamp = missing_eye_right.timestamp
+ end
+ end
+ return value, timestamp, source
+ </map>
+ <map name="missing_eye_left_map">
+ value = 0
+ timestamp = 0
+ source = 'pracro'
+
+ if( missing_eye_left )
+ then
+ if( missing_eye_left.value and missing_eye_left.value == '' )
+ then
+ value = ''
+ timestamp = missing_eye_left.timestamp
+ else
+ value = 'mangler'
+ timestamp = missing_eye_left.timestamp
+ end
+ end
+ return value, timestamp, source
+ </map>
+ </maps>
+ <scripts>
+ <script language="lua" name="lt10000gt0">
+ value = string.gsub(value, ',', '.')
+ if(tonumber(value) &gt;= 0 and tonumber(value) &lt;= 10000)
+ then
+ return true
+ else
+ return false
+ end
+ </script>
+ <script language="lua" name="right_eye">
+ if ( value == 'mangler' )
+ then
+ disable('right_eye_frame')
+ else
+ enable('right_eye_frame')
+ end
+ return true
+ </script>
+ <script language="lua" name="left_eye">
+ if ( value == 'mangler' )
+ then
+ disable('left_eye_frame')
+ else
+ enable('left_eye_frame')
+ end
+ return true
+ </script>
+ </scripts>
+ <window caption="OCT måling (B.2.2.4.1)"
+ layout="vbox">
+
+ <frame layout="hbox">
+
+ <!-- Højre øje -->
+ <frame layout="vbox">
+ <checkbox caption="Der er ikke målt på højre øje"
+ name="oct.right.missing" script="right_eye"
+ map="missing_eye_right_map"
+ truevalue="mangler" falsevalue="" value=""/>
+ <frame name="right_eye_frame" caption="Højre øje" layout="hbox">
+ <label caption="Tykkelse:"/>
+ <lineedit name="oct.right.thickness" regexp="\d{1,5}" script="lt10000gt0" value=""/>
+ <label caption="µm"/>
+ </frame>
+ </frame>
+
+ <!-- Venstre øje -->
+ <frame layout="vbox">
+ <checkbox caption="Der er ikke målt på venstre øje"
+ name="oct.left.missing" script="left_eye"
+ map="missing_eye_left_map"
+ truevalue="mangler" falsevalue="" value=""/>
+ <frame name="left_eye_frame" caption="Venstre øje" layout="hbox">
+ <label caption="Tykkelse:"/>
+ <lineedit name="oct.left.thickness" regexp="\d{1,5}" script="lt10000gt0" value=""/>
+ <label caption="µm"/>
+ </frame>
+
+ </frame>
+ </frame>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer />
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/pressure-1.0.xml b/server/xml/macros/pressure-1.0.xml
new file mode 100644
index 0000000..8f67c61
--- /dev/null
+++ b/server/xml/macros/pressure-1.0.xml
@@ -0,0 +1,183 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081203: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+ -->
+<!--
+ 20090108: Bent Bisballe Nyeng
+ Højre/venstre byttet om.
+ -->
+<!--
+ 20090402: Bent Bisballe Nyeng
+ 'missing eye' tilføjet.
+ -->
+<macro name="pressure" version="1.0">
+ <resume language="lua">
+ out = ''
+
+ if ( getValue('tonometer.right.missing') == '' or getValue('tonometer.left.missing') == '' )
+ then
+ out = out .. 'Øjentryk:\n'
+ end
+
+ if ( getValue('tonometer.right.missing') == '' )
+ then
+ out = out .. 'Højre øje: ' .. getValue('tonometer.pressure.right') .. ' mmHg\n'
+ end
+
+ if ( getValue('tonometer.left.missing') == '' )
+ then
+ out = out .. 'Venstre øje: ' .. getValue('tonometer.pressure.right') .. ' mmHg\n'
+ end
+
+ if ( getValue('tonometer.right.missing') == '' or getValue('tonometer.left.missing') == '' )
+ then
+ out = out .. getValue('tonometer.device') .. '.\n'
+ end
+
+ return out
+ </resume>
+ <queries>
+ <query service="pracro" class="missing_eye_right" ttl="1000000"/>
+ <query service="pracro" class="missing_eye_left" ttl="1000000"/>
+ </queries>
+ <maps>
+ <map name="missing_eye_right_map">
+ value = 0
+ timestamp = 0
+ source = 'pracro'
+
+ if( missing_eye_right )
+ then
+ if( missing_eye_right.value and missing_eye_right.value == '' )
+ then
+ value = ''
+ timestamp = missing_eye_right.timestamp
+ else
+ value = 'mangler'
+ timestamp = missing_eye_right.timestamp
+ end
+ end
+ return value, timestamp, source
+ </map>
+ <map name="missing_eye_left_map">
+ value = 0
+ timestamp = 0
+ source = 'pracro'
+
+ if( missing_eye_left )
+ then
+ if( missing_eye_left.value and missing_eye_left.value == '' )
+ then
+ value = ''
+ timestamp = missing_eye_left.timestamp
+ else
+ value = 'mangler'
+ timestamp = missing_eye_left.timestamp
+ end
+ end
+ return value, timestamp, source
+ </map>
+ </maps>
+ <scripts>
+ <script language="lua" name="lt80gt0">
+ if(value == '')
+ then
+ return false
+ end
+
+ value = string.gsub(value, ',', '.')
+ if(tonumber(value) &gt;= 0 and tonumber(value) &lt;= 80)
+ then
+ return true
+ else
+ return false
+ end
+ </script>
+ <script language="lua" name="right_eye">
+ if ( value == 'mangler' )
+ then
+ disable('right_eye_frame')
+ else
+ enable('right_eye_frame')
+ end
+
+ if( getValue('tonometer.right.missing') == 'mangler' and getValue('tonometer.left.missing') == 'mangler' )
+ then
+ disable('device_frame')
+ else
+ enable('device_frame')
+ end
+
+ return true
+ </script>
+ <script language="lua" name="left_eye">
+ if ( value == 'mangler' )
+ then
+ disable('left_eye_frame')
+ else
+ enable('left_eye_frame')
+ end
+
+ if( getValue('tonometer.right.missing') == 'mangler' and getValue('tonometer.left.missing') == 'mangler' )
+ then
+ disable('device_frame')
+ else
+ enable('device_frame')
+ end
+
+ return true
+ </script>
+ </scripts>
+ <window caption="Øjentryk (B.2.2.5)"
+ layout="vbox">
+
+ <frame layout="hbox">
+
+ <!-- Højre øje -->
+ <frame layout="vbox">
+ <checkbox caption="Der er ikke målt på højre øje"
+ name="tonometer.right.missing" script="right_eye"
+ map="missing_eye_right_map"
+ truevalue="mangler" falsevalue="" value=""/>
+ <frame name="right_eye_frame" caption="Højre øje" layout="hbox">
+ <label caption="Tryk:"/>
+ <spacer/>
+ <lineedit name="tonometer.pressure.right" regexp="\d{1,2}" script="lt80gt0" value=""/>
+ <label caption="mmHg"/>
+ <spacer/>
+ </frame>
+ </frame>
+
+ <!-- Venstre øje -->
+ <frame layout="vbox">
+ <checkbox caption="Der er ikke målt på venstre øje"
+ name="tonometer.left.missing" script="left_eye"
+ map="missing_eye_left_map"
+ truevalue="mangler" falsevalue="" value=""/>
+ <frame name="left_eye_frame" caption="Venstre øje" layout="hbox">
+ <label caption="Tryk:"/>
+ <spacer/>
+ <lineedit name="tonometer.pressure.left" regexp="\d{1,2}" script="lt80gt0" value=""/>
+ <label caption="mmHg"/>
+ <spacer/>
+ </frame>
+ </frame>
+
+ </frame>
+
+ <frame name="device_frame" layout="vbox">
+ <label caption="Tonometer måling foretaget med:"/>
+ <combobox name="tonometer.device" value="">
+ <item caption="Applanationstonometer" value="Appl"/>
+ <item caption="Lufttonometer" value="Luft"/>
+ </combobox>
+ </frame>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer />
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/preveyediseases-1.0.xml b/server/xml/macros/preveyediseases-1.0.xml
new file mode 100644
index 0000000..63e61b5
--- /dev/null
+++ b/server/xml/macros/preveyediseases-1.0.xml
@@ -0,0 +1,52 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081203: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+ -->
+<!--
+ 20090108: Bent Bisballe Nyeng
+ 'Alternativ' tekst ændret.
+ -->
+<!--
+ 20090103: Bent Bisballe Nyeng
+ Tilføjede "manglende øje" felter.
+ -->
+<macro name="preveyediseases" version="1.0">
+ <resume>Tidligere øjensygdomme:
+${previous_eye_diseases}
+${missing_eye_right}
+${missing_eye_left}</resume>
+ <queries>
+ </queries>
+ <maps>
+ </maps>
+ <scripts>
+ </scripts>
+ <window caption="Tidligere øjensygdomme (B.2.1.2)"
+ layout="vbox">
+
+ <altcombobox name="previous_eye_diseases" value="Ingen relevante" layout="vbox">
+ <item caption="Ingen relevante" value="Ingen relevante"/>
+ <altitem caption="Anfør detaljer" value="detaljer" innerwidget="detaljer" layout="vbox">
+ <label caption="Udfyld detaljer:"/>
+ <textedit name="detaljer" help="Anfør tidligere øjensygdomme, som har relevans for aktuelle."/>
+ </altitem>
+ </altcombobox>
+
+ <frame layout="hbox" caption="Specifikt for det videre forløb">
+ <frame layout="hbox">
+ <checkbox caption="Intet højre øje."
+ name="missing_eye_right"
+ truevalue="Intet højre øje." falsevalue="" value=""/>
+ <checkbox caption="Intet venstre øje."
+ name="missing_eye_left"
+ truevalue="Intet venstre øje." falsevalue="" value=""/>
+ </frame>
+ </frame>
+
+ <frame layout="hbox">
+ <spacer/>
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/previouscommon-1.0.xml b/server/xml/macros/previouscommon-1.0.xml
new file mode 100644
index 0000000..318023c
--- /dev/null
+++ b/server/xml/macros/previouscommon-1.0.xml
@@ -0,0 +1,36 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081202: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+ -->
+<!--
+ 20090108: Bent Bisballe Nyeng
+ Alt tekst ændret.
+ -->
+<macro name="previouscommon" version="1.0">
+ <resume>Tidligere alment:
+${previous_common_diseases}</resume>
+ <queries>
+ </queries>
+ <maps>
+ </maps>
+ <scripts>
+ </scripts>
+ <window caption="Tidligere alment (B.1.3)"
+ layout="vbox">
+
+ <altcombobox name="previous_common_diseases" layout="vbox" value="Intet relevant">
+ <item caption="Intet relevant" value="Intet relevant"/>
+ <altitem caption="Anfør detaljer" value="detaljer" innerwidget="detaljer" layout="vbox">
+ <label caption="Udfyld detaljer:"/>
+ <textedit name="detaljer" help="Anfør tidligere almene sygdomme, som skønnes at have relevans for aktuelle."/>
+ </altitem>
+ </altcombobox>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer />
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/referral-1.0.xml b/server/xml/macros/referral-1.0.xml
new file mode 100644
index 0000000..bd0e52c
--- /dev/null
+++ b/server/xml/macros/referral-1.0.xml
@@ -0,0 +1,50 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20090420: Bent Bisballe Nyeng
+ Tilføjede '-' til cpr nummeret.
+
+ 20090526: Bent Bisballe Nyeng
+ Nye min størrelser på lineedits, så navnet altid kan ses.
+ -->
+<macro name="referral" version="1.0">
+ <resume store_in_journal="true">
+ Henvist fra øjenlæge ${referral.doctor} til forundersøgelse for ${referral.diagnose}
+ </resume>
+ <queries>
+ <query service="pentominos" class="referral" ttl="1000000"/>
+ </queries>
+ <maps>
+ </maps>
+ <scripts>
+ </scripts>
+ <window caption="Henvisning (B.0.1)"
+ layout="vbox">
+
+ <frame layout="hbox">
+
+ <!-- Henvisnings info -->
+ <frame layout="vbox">
+ <frame layout="hbox">
+ <label width="100" caption="Henvisende læge:"/>
+ <lineedit name="referral.doctor" map="henvisning.doctor"
+ value="Henvisnings informationer kunne ikke findes"/>
+ </frame>
+ <frame layout="hbox">
+ <label width="100" caption="Henvisningskode:"/>
+ <lineedit name="referral.diagnosecode" map="henvisning.code" value="-"/>
+ <label width="60" caption="Diagnose:"/>
+ <lineedit width="100" name="referral.diagnose"
+ map="henvisning.diagnose" value="-"/>
+ </frame>
+ </frame>
+
+ </frame>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer />
+ <button caption="Gem" action="commit"/>
+ </frame>
+
+ </window>
+</macro>
diff --git a/server/xml/macros/slitlamp-1.0.xml b/server/xml/macros/slitlamp-1.0.xml
new file mode 100644
index 0000000..f954c67
--- /dev/null
+++ b/server/xml/macros/slitlamp-1.0.xml
@@ -0,0 +1,179 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081204: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+ -->
+<!--
+ 20090108: Bent Bisballe Nyeng
+ Højre/venstre byttet om.
+ -->
+<!--
+ 20090402: Bent Bisballe Nyeng
+ 'missing eye' tilføjet.
+ -->
+<macro name="slitlamp" version="1.0">
+ <resume language="lua">
+ out = ''
+ if ( getValue('slit_lamp.right.missing') == '' or getValue('slit_lamp.left.missing') == '' )
+ then
+ out = out .. 'Spl:\n'
+ end
+
+ if ( getValue('slit_lamp.right.missing') == '' )
+ then
+ out = out .. 'Linsen, højre side: ' .. getValue('slit_lamp.right.observation') .. '\n'
+ if ( getValue('slit_lamp.right.additional') ~= '' )
+ then
+ out = out .. 'Supplerende:\n' .. getValue('slit_lamp.right.additional') .. '\n'
+ end
+ end
+
+ if ( getValue('slit_lamp.left.missing') == '' )
+ then
+ out = out .. 'Linsen, venstre side: ' .. getValue('slit_lamp.left.observation') .. '\n'
+ if ( getValue('slit_lamp.left.additional') ~= '' )
+ then
+ out = out .. 'Supplerende:\n' .. getValue('slit_lamp.left.additional') .. '\n'
+ end
+ end
+
+ return out
+ </resume>
+ <queries>
+ <query service="pracro" class="missing_eye_right" ttl="1000000"/>
+ <query service="pracro" class="missing_eye_left" ttl="1000000"/>
+ </queries>
+ <maps>
+ <map name="missing_eye_right_map">
+ value = 0
+ timestamp = 0
+ source = 'pracro'
+
+ if( missing_eye_right )
+ then
+ if( missing_eye_right.value and missing_eye_right.value == '' )
+ then
+ value = ''
+ timestamp = missing_eye_right.timestamp
+ else
+ value = 'mangler'
+ timestamp = missing_eye_right.timestamp
+ end
+ end
+ return value, timestamp, source
+ </map>
+ <map name="missing_eye_left_map">
+ value = 0
+ timestamp = 0
+ source = 'pracro'
+
+ if( missing_eye_left )
+ then
+ if( missing_eye_left.value and missing_eye_left.value == '' )
+ then
+ value = ''
+ timestamp = missing_eye_left.timestamp
+ else
+ value = 'mangler'
+ timestamp = missing_eye_left.timestamp
+ end
+ end
+ return value, timestamp, source
+ </map>
+ </maps>
+ <scripts>
+ <script language="lua" name="right_eye">
+ if ( value == 'mangler' )
+ then
+ disable('right_eye_frame')
+ else
+ enable('right_eye_frame')
+ end
+ return true
+ </script>
+ <script language="lua" name="left_eye">
+ if ( value == 'mangler' )
+ then
+ disable('left_eye_frame')
+ else
+ enable('left_eye_frame')
+ end
+ return true
+ </script>
+ </scripts>
+ <window caption="Spaltelampe (B.2.2.6)"
+ layout="vbox">
+
+ <frame layout="hbox">
+
+ <!-- Højre øje -->
+ <frame layout="vbox">
+ <checkbox caption="Der er ikke målt på højre øje"
+ name="slit_lamp.right.missing" script="right_eye"
+ map="missing_eye_right_map"
+ truevalue="mangler" falsevalue="" value=""/>
+ <frame name="right_eye_frame" caption="Højre øje" layout="vbox">
+ <frame layout="hbox">
+ <frame layout="vbox">
+ <label caption="Linsen:"/>
+ <label/>
+ </frame>
+ <frame layout="vbox">
+ <altcombobox name="slit_lamp.right.observation" layout="vbox" value="Ingen katarakt">
+ <item caption="Ingen katarakt" value="Ingen katarakt"/>
+ <item caption="Katarakt grad 1" value="Katarakt grad 1"/>
+ <item caption="Katarakt grad 2" value="Katarakt grad 2"/>
+ <item caption="Katarakt grad 3" value="Katarakt grad 3"/>
+ <item caption="Pseudofaki" value="Pseudofaki"/>
+ <altitem caption="Andet" value="andet" layout="hbox" innerwidget="spaltelampe_hoejre_andet">
+ <label caption="Andet:"/>
+ <lineedit name="spaltelampe_hoejre_andet"/>
+ </altitem>
+ </altcombobox>
+ </frame>
+ </frame>
+ <label caption="Supplerende:"/>
+ <textedit name="slit_lamp.right.additional" value=""/>
+ </frame>
+ </frame>
+
+ <!-- Venstre øje -->
+ <frame layout="vbox">
+ <checkbox caption="Der er ikke målt på venstre øje"
+ name="slit_lamp.left.missing" script="left_eye"
+ map="missing_eye_left_map"
+ truevalue="mangler" falsevalue="" value=""/>
+ <frame name="left_eye_frame" caption="Venstre øje" layout="vbox">
+ <frame layout="hbox">
+ <frame layout="vbox">
+ <label caption="Linsen:"/>
+ <label/>
+ </frame>
+ <frame layout="vbox">
+ <altcombobox name="slit_lamp.left.observation" layout="vbox" value="Ingen katarakt">
+ <item caption="Ingen katarakt" value="Ingen katarakt"/>
+ <item caption="Katarakt grad 1" value="Katarakt grad 1"/>
+ <item caption="Katarakt grad 2" value="Katarakt grad 2"/>
+ <item caption="Katarakt grad 3" value="Katarakt grad 3"/>
+ <item caption="Pseudofaki" value="Pseudofaki"/>
+ <altitem caption="Andet" value="andet" layout="hbox" innerwidget="spaltelampe_venstre_andet">
+ <label caption="Andet:"/>
+ <lineedit name="spaltelampe_venstre_andet"/>
+ </altitem>
+ </altcombobox>
+ </frame>
+ </frame>
+ <label caption="Supplerende:"/>
+ <textedit name="slit_lamp.left.additional" value=""/>
+ </frame>
+ </frame>
+
+ </frame>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer/>
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/subjeval-1.0.xml b/server/xml/macros/subjeval-1.0.xml
new file mode 100644
index 0000000..4dbd265
--- /dev/null
+++ b/server/xml/macros/subjeval-1.0.xml
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<macro name="subjeval" version="1.0">
+ <resume>Subjektivt er symptomerne ${amd.subjective_evaluation}.</resume>
+ <queries>
+ </queries>
+ <maps>
+ </maps>
+ <scripts>
+ </scripts>
+ <window caption="Subjektiv evaluering (B.1.4)"
+ layout="vbox">
+
+ <label caption="Subjektivt er symptomerne:"/>
+
+ <combobox name="amd.subjective_evaluation" value="">
+ <item caption="Bedret" value="bedret"/>
+ <item caption="Uændret" value="uændret"/>
+ <item caption="Forværret" value="forværret"/>
+ </combobox>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer />
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/tobacco-1.0.xml b/server/xml/macros/tobacco-1.0.xml
new file mode 100644
index 0000000..16eb52b
--- /dev/null
+++ b/server/xml/macros/tobacco-1.0.xml
@@ -0,0 +1,38 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081202: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+ -->
+<macro name="tobacco" version="1.0">
+ <resume>Tobaksrygning:
+${tobacco}</resume>
+ <queries>
+ </queries>
+ <maps>
+ </maps>
+ <scripts>
+ </scripts>
+ <window caption="Tobaksrygning (B.2.1.1)"
+ layout="vbox">
+
+ <altcombobox name="tobacco" value="Har aldrig røget" layout="vbox"
+ help="En enhed kan være cigaret, cerut, cigar, pibestop eller tilsvarende.">
+ <item caption="Har aldrig røget" value="Har aldrig røget"/>
+ <item caption="Har røget tidligere" value="Har røget tidligere"/>
+ <item caption="1-5 enheder dgl" value="1-5 enheder dgl"/>
+ <item caption="5-20 enheder dgl" value="5-20 enheder dgl"/>
+ <item caption="> 20 enheder dgl" value="> 20 enheder dgl"/>
+ <altitem caption="Andet" value="andet" innerwidget="tobak_andet">
+ <frame layout="hbox">
+ <label caption="Andet:"/>
+ <lineedit name="tobak_andet"/>
+ </frame>
+ </altitem>
+ </altcombobox>
+
+ <frame layout="hbox">
+ <spacer/>
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>
diff --git a/server/xml/macros/visus-1.0.xml b/server/xml/macros/visus-1.0.xml
new file mode 100644
index 0000000..6866c6c
--- /dev/null
+++ b/server/xml/macros/visus-1.0.xml
@@ -0,0 +1,547 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ 20081203: Bent Bisballe Nyeng
+ Feltnavnene ændret så de giver mening.
+
+ 20090108: Bent Bisballe Nyeng
+ Højre/venstre byttet om.
+
+ 20090202: Bent Bisballe Nyeng
+ 'missing eye' tilføjet.
+
+ 20090427: Bent Bisballe Nyeng
+ Refraktions korrektion tilføjet.
+
+ 20090526: Bent Bisballe Nyeng
+ 0 ETDRS værdi tilføjet.
+ -->
+<macro name="visus" version="1.0">
+ <resume language="lua">
+ out = ''
+ if ( getValue('snellen.right.missing') == '' or getValue('snellen.left.missing') == '' )
+ then
+ out = out .. 'Objektivt:\n'
+
+ if ( getValue('snellen.right.missing') == '' )
+ then
+ out = out .. 'Visus o.dxt. ' .. getValue('snellen.right') .. '\n'
+ out = out .. 'ETDRS o.dxt. ' .. getValue('etdrs.right') .. '\n'
+ out = out .. 'Korr.: ' .. getValue('snellen.right.corr.basis') .. ' add '
+ .. getValue('snellen.right.corr.sph') .. ' sf, '
+ .. getValue('snellen.right.corr.cyl') .. ' sph '
+ .. getValue('snellen.right.corr.axis') .. ' grader.\n'
+ end
+
+ if ( getValue('snellen.left.missing') == '' )
+ then
+ out = out .. 'Visus o.sin. ' .. getValue('snellen.left') .. '\n'
+ out = out .. 'ETDRS o.sin. ' .. getValue('etdrs.left') .. '\n'
+ out = out .. 'Korr.: ' .. getValue('snellen.left.corr.basis') .. ' add '
+ .. getValue('snellen.left.corr.sph') .. ' sf, '
+ .. getValue('snellen.left.corr.cyl') .. ' sph '
+ .. getValue('snellen.left.corr.axis') .. ' grader.\n'
+ end
+ end
+ return out
+ </resume>
+ <queries>
+ <query service="pracro" class="missing_eye_right" ttl="1000000"/>
+ <query service="pracro" class="missing_eye_left" ttl="1000000"/>
+ </queries>
+ <maps>
+ <map name="missing_eye_right_map">
+ value = 0
+ timestamp = 0
+ source = 'pracro'
+
+ if( missing_eye_right )
+ then
+ if( missing_eye_right.value and missing_eye_right.value == '' )
+ then
+ value = ''
+ timestamp = missing_eye_right.timestamp
+ else
+ value = 'mangler'
+ timestamp = missing_eye_right.timestamp
+ end
+ end
+ return value, timestamp, source
+ </map>
+ <map name="missing_eye_left_map">
+ value = 0
+ timestamp = 0
+ source = 'pracro'
+
+ if( missing_eye_left )
+ then
+ if( missing_eye_left.value and missing_eye_left.value == '' )
+ then
+ value = ''
+ timestamp = missing_eye_left.timestamp
+ else
+ value = 'mangler'
+ timestamp = missing_eye_left.timestamp
+ end
+ end
+ return value, timestamp, source
+ </map>
+ </maps>
+ <scripts>
+ <script language="lua" name="lt20gt-25">
+ if(value == '')
+ then
+ return false
+ end
+
+ value = string.gsub(value, ',', '.')
+ if(tonumber(value) &gt;= -25 and tonumber(value) &lt;= 20)
+ then
+ return true
+ else
+ return false
+ end
+ </script>
+ <script language="lua" name="lt10gt-15">
+ if(value == '')
+ then
+ return false
+ end
+
+ value = string.gsub(value, ',', '.')
+ if(tonumber(value) &gt;= -15 and tonumber(value) &lt;= 10)
+ then
+ return true
+ else
+ return false
+ end
+ </script>
+ <script language="lua" name="lt359gt0">
+ if(value == '')
+ then
+ return false
+ end
+
+ value = string.gsub(value, ',', '.')
+ if(tonumber(value) &gt;= 0 and tonumber(value) &lt;= 359)
+ then
+ return true
+ else
+ return false
+ end
+ </script>
+ <script language="lua" name="not0">
+ if(value == 'Ikke udfyldt')
+ then
+ return false
+ end
+ return true
+ </script>
+ <script language="lua" name="right_eye">
+ if ( value == 'mangler' )
+ then
+ disable('right_eye_frame')
+ else
+ enable('right_eye_frame')
+ end
+ return true
+ </script>
+ <script language="lua" name="left_eye">
+ if ( value == 'mangler' )
+ then
+ disable('left_eye_frame')
+ else
+ enable('left_eye_frame')
+ end
+ return true
+ </script>
+ </scripts>
+ <window caption="Visus (B.2.2.1)"
+ layout="vbox">
+
+ <frame layout="hbox">
+
+ <!-- Højre øje -->
+ <frame layout="vbox">
+ <checkbox caption="Der er ikke målt på højre øje"
+ name="snellen.right.missing" script="right_eye"
+ map="missing_eye_right_map"
+ truevalue="mangler" falsevalue="" value=""/>
+ <frame name="right_eye_frame" caption="Højre øje" layout="vbox">
+ <frame layout="hbox">
+
+ <frame layout="vbox">
+ <label caption="Snellen:"/>
+ <altcombobox name="snellen.right" layout="vbox" type="search" value="Ikke udfyldt" script="not0">
+ <item caption="Ikke udfyldt" value="Ikke udfyldt"/>
+ <item caption="2,0" value="2,0"/>
+ <item caption="1,6" value="1,6"/>
+ <item caption="1,33" value="1,33"/>
+ <item caption="1,0" value="1,0"/>
+ <item caption="0,8" value="0,8"/>
+ <item caption="0,67" value="0,67"/>
+ <item caption="0,5" value="0,5"/>
+ <item caption="0,4" value="0,4"/>
+ <item caption="0,32" value="0,32"/>
+ <item caption="0,25" value="0,25"/>
+ <item caption="0,2" value="0,2"/>
+ <item caption="0,16" value="0,16"/>
+ <item caption="0,125" value="0,125"/>
+ <item caption="0,1" value="0,1"/>
+ <item caption="0,08" value="0,08"/>
+ <item caption="0,05" value="0,05"/>
+ <item caption="6/60" value="6/60"/>
+ <item caption="3/60" value="3/60"/>
+ <item caption="1/18" value="1/18"/>
+ <item caption="1/24" value="1/24"/>
+ <item caption="1/36" value="1/36"/>
+ <item caption="1/60" value="1/60"/>
+ <item caption="FGT" value="FGT"/>
+ <item caption="HBV" value="HBV"/>
+ <item caption="+L+P" value="+L+P"/>
+ <item caption="+L-P" value="+L-P"/>
+ <item caption="-L" value="-L"/>
+ <altitem caption="Andet" value="andet" innerwidget="hoejre_snellen_andet" layout="hbox">
+ <label caption="Andet:"/>
+ <lineedit name="hoejre_snellen_andet" regexp="[0-9]+(,\d+|\d*)"/>
+ </altitem>
+ </altcombobox>
+ </frame>
+ <frame layout="vbox">
+ <label caption="ETDRS:"/>
+ <combobox name="etdrs.right" value="Ikke udfyldt" type="search" script="not0">
+ <item caption="Ikke udfyldt" value="Ikke udfyldt"/>
+ <item caption="0" value="0"/>
+ <item caption="1" value="1"/>
+ <item caption="2" value="2"/>
+ <item caption="3" value="3"/>
+ <item caption="4" value="4"/>
+ <item caption="5" value="5"/>
+ <item caption="6" value="6"/>
+ <item caption="7" value="7"/>
+ <item caption="8" value="8"/>
+ <item caption="9" value="9"/>
+ <item caption="10" value="10"/>
+ <item caption="11" value="11"/>
+ <item caption="12" value="12"/>
+ <item caption="13" value="13"/>
+ <item caption="14" value="14"/>
+ <item caption="15" value="15"/>
+ <item caption="16" value="16"/>
+ <item caption="17" value="17"/>
+ <item caption="18" value="18"/>
+ <item caption="19" value="19"/>
+ <item caption="20" value="20"/>
+ <item caption="21" value="21"/>
+ <item caption="22" value="22"/>
+ <item caption="23" value="23"/>
+ <item caption="24" value="24"/>
+ <item caption="25" value="25"/>
+ <item caption="26" value="26"/>
+ <item caption="27" value="27"/>
+ <item caption="28" value="28"/>
+ <item caption="29" value="29"/>
+ <item caption="30" value="30"/>
+ <item caption="31" value="31"/>
+ <item caption="32" value="32"/>
+ <item caption="33" value="33"/>
+ <item caption="34" value="34"/>
+ <item caption="35" value="35"/>
+ <item caption="36" value="36"/>
+ <item caption="37" value="37"/>
+ <item caption="38" value="38"/>
+ <item caption="39" value="39"/>
+ <item caption="40" value="40"/>
+ <item caption="41" value="41"/>
+ <item caption="42" value="42"/>
+ <item caption="43" value="43"/>
+ <item caption="44" value="44"/>
+ <item caption="45" value="45"/>
+ <item caption="46" value="46"/>
+ <item caption="47" value="47"/>
+ <item caption="48" value="48"/>
+ <item caption="49" value="49"/>
+ <item caption="50" value="50"/>
+ <item caption="51" value="51"/>
+ <item caption="52" value="52"/>
+ <item caption="53" value="53"/>
+ <item caption="54" value="54"/>
+ <item caption="55" value="55"/>
+ <item caption="56" value="56"/>
+ <item caption="57" value="57"/>
+ <item caption="58" value="58"/>
+ <item caption="59" value="59"/>
+ <item caption="60" value="60"/>
+ <item caption="61" value="61"/>
+ <item caption="62" value="62"/>
+ <item caption="63" value="63"/>
+ <item caption="64" value="64"/>
+ <item caption="65" value="65"/>
+ <item caption="66" value="66"/>
+ <item caption="67" value="67"/>
+ <item caption="68" value="68"/>
+ <item caption="69" value="69"/>
+ <item caption="70" value="70"/>
+ <item caption="71" value="71"/>
+ <item caption="72" value="72"/>
+ <item caption="73" value="73"/>
+ <item caption="74" value="74"/>
+ <item caption="75" value="75"/>
+ <item caption="76" value="76"/>
+ <item caption="77" value="77"/>
+ <item caption="78" value="78"/>
+ <item caption="79" value="79"/>
+ <item caption="80" value="80"/>
+ <item caption="81" value="81"/>
+ <item caption="82" value="82"/>
+ <item caption="83" value="83"/>
+ <item caption="84" value="84"/>
+ <item caption="85" value="85"/>
+ <item caption="86" value="86"/>
+ <item caption="87" value="87"/>
+ <item caption="88" value="88"/>
+ <item caption="89" value="89"/>
+ <item caption="90" value="90"/>
+ <item caption="91" value="91"/>
+ <item caption="92" value="92"/>
+ <item caption="93" value="93"/>
+ <item caption="94" value="94"/>
+ <item caption="95" value="95"/>
+ <item caption="96" value="96"/>
+ <item caption="97" value="97"/>
+ <item caption="98" value="98"/>
+ <item caption="99" value="99"/>
+ <item caption="100" value="100"/>
+ </combobox>
+ <spacer/>
+ </frame>
+ </frame>
+ <frame layout="hbox">
+ <frame layout="vbox">
+ <label caption=""/>
+ <label caption="Korr.:"/>
+ </frame>
+ <frame layout="vbox">
+ <label caption="Basis:"/>
+ <combobox name="snellen.right.corr.basis" value="">
+ <item caption="Autoref." value="autoref"/>
+ <item caption="Egen brille" value="brille"/>
+ <item caption="Ingen" value="ingen"/>
+ </combobox>
+ </frame>
+ <frame layout="vbox">
+ <label caption=""/>
+ <label caption="add"/>
+ </frame>
+ <frame layout="vbox">
+ <label caption="Sf:"/>
+ <lineedit name="snellen.right.corr.sph" regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt20gt-25" value=""/>
+ </frame>
+ <frame layout="vbox">
+ <label caption="Cyl:"/>
+ <lineedit name="snellen.right.corr.cyl" regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt10gt-15" value=""/>
+ </frame>
+ <frame layout="vbox">
+ <label caption="Grader:"/>
+ <lineedit name="snellen.right.corr.axis" regexp="[\d]+" script="lt359gt0" value=""/>
+ </frame>
+ </frame>
+ </frame>
+ </frame>
+
+ <!-- Venstre øje -->
+ <frame layout="vbox">
+ <checkbox caption="Der er ikke målt på venstre øje"
+ name="snellen.left.missing" script="left_eye"
+ map="missing_eye_left_map"
+ truevalue="mangler" falsevalue="" value=""/>
+ <frame name="left_eye_frame" caption="Venstre øje" layout="vbox">
+ <frame layout="hbox">
+
+ <frame layout="vbox">
+ <label caption="Snellen:"/>
+ <altcombobox name="snellen.left" layout="vbox" type="search" value="Ikke udfyldt" script="not0">
+ <item caption="Ikke udfyldt" value="Ikke udfyldt"/>
+ <item caption="2,0" value="2,0"/>
+ <item caption="1,6" value="1,6"/>
+ <item caption="1,33" value="1,33"/>
+ <item caption="1,0" value="1,0"/>
+ <item caption="0,8" value="0,8"/>
+ <item caption="0,67" value="0,67"/>
+ <item caption="0,5" value="0,5"/>
+ <item caption="0,4" value="0,4"/>
+ <item caption="0,32" value="0,32"/>
+ <item caption="0,25" value="0,25"/>
+ <item caption="0,2" value="0,2"/>
+ <item caption="0,16" value="0,16"/>
+ <item caption="0,125" value="0,125"/>
+ <item caption="0,1" value="0,1"/>
+ <item caption="0,08" value="0,08"/>
+ <item caption="0,05" value="0,05"/>
+ <item caption="6/60" value="6/60"/>
+ <item caption="3/60" value="3/60"/>
+ <item caption="1/18" value="1/18"/>
+ <item caption="1/24" value="1/24"/>
+ <item caption="1/36" value="1/36"/>
+ <item caption="1/60" value="1/60"/>
+ <item caption="FGT" value="FGT"/>
+ <item caption="HBV" value="HBV"/>
+ <item caption="+L+P" value="+L+P"/>
+ <item caption="+L-P" value="+L-P"/>
+ <item caption="-L" value="-L"/>
+ <altitem caption="Andet" value="andet" innerwidget="venstre_snellen_andet" layout="hbox">
+ <label caption="Andet:"/>
+ <lineedit name="venstre_snellen_andet" regexp="[0-9]+(,\d+|\d*)"/>
+ </altitem>
+ </altcombobox>
+ </frame>
+ <frame layout="vbox">
+ <label caption="ETDRS:"/>
+ <combobox name="etdrs.left" value="Ikke udfyldt" type="search" script="not0">
+ <item caption="Ikke udfyldt" value="Ikke udfyldt"/>
+ <item caption="0" value="0"/>
+ <item caption="1" value="1"/>
+ <item caption="2" value="2"/>
+ <item caption="3" value="3"/>
+ <item caption="4" value="4"/>
+ <item caption="5" value="5"/>
+ <item caption="6" value="6"/>
+ <item caption="7" value="7"/>
+ <item caption="8" value="8"/>
+ <item caption="9" value="9"/>
+ <item caption="10" value="10"/>
+ <item caption="11" value="11"/>
+ <item caption="12" value="12"/>
+ <item caption="13" value="13"/>
+ <item caption="14" value="14"/>
+ <item caption="15" value="15"/>
+ <item caption="16" value="16"/>
+ <item caption="17" value="17"/>
+ <item caption="18" value="18"/>
+ <item caption="19" value="19"/>
+ <item caption="20" value="20"/>
+ <item caption="21" value="21"/>
+ <item caption="22" value="22"/>
+ <item caption="23" value="23"/>
+ <item caption="24" value="24"/>
+ <item caption="25" value="25"/>
+ <item caption="26" value="26"/>
+ <item caption="27" value="27"/>
+ <item caption="28" value="28"/>
+ <item caption="29" value="29"/>
+ <item caption="30" value="30"/>
+ <item caption="31" value="31"/>
+ <item caption="32" value="32"/>
+ <item caption="33" value="33"/>
+ <item caption="34" value="34"/>
+ <item caption="35" value="35"/>
+ <item caption="36" value="36"/>
+ <item caption="37" value="37"/>
+ <item caption="38" value="38"/>
+ <item caption="39" value="39"/>
+ <item caption="40" value="40"/>
+ <item caption="41" value="41"/>
+ <item caption="42" value="42"/>
+ <item caption="43" value="43"/>
+ <item caption="44" value="44"/>
+ <item caption="45" value="45"/>
+ <item caption="46" value="46"/>
+ <item caption="47" value="47"/>
+ <item caption="48" value="48"/>
+ <item caption="49" value="49"/>
+ <item caption="50" value="50"/>
+ <item caption="51" value="51"/>
+ <item caption="52" value="52"/>
+ <item caption="53" value="53"/>
+ <item caption="54" value="54"/>
+ <item caption="55" value="55"/>
+ <item caption="56" value="56"/>
+ <item caption="57" value="57"/>
+ <item caption="58" value="58"/>
+ <item caption="59" value="59"/>
+ <item caption="60" value="60"/>
+ <item caption="61" value="61"/>
+ <item caption="62" value="62"/>
+ <item caption="63" value="63"/>
+ <item caption="64" value="64"/>
+ <item caption="65" value="65"/>
+ <item caption="66" value="66"/>
+ <item caption="67" value="67"/>
+ <item caption="68" value="68"/>
+ <item caption="69" value="69"/>
+ <item caption="70" value="70"/>
+ <item caption="71" value="71"/>
+ <item caption="72" value="72"/>
+ <item caption="73" value="73"/>
+ <item caption="74" value="74"/>
+ <item caption="75" value="75"/>
+ <item caption="76" value="76"/>
+ <item caption="77" value="77"/>
+ <item caption="78" value="78"/>
+ <item caption="79" value="79"/>
+ <item caption="80" value="80"/>
+ <item caption="81" value="81"/>
+ <item caption="82" value="82"/>
+ <item caption="83" value="83"/>
+ <item caption="84" value="84"/>
+ <item caption="85" value="85"/>
+ <item caption="86" value="86"/>
+ <item caption="87" value="87"/>
+ <item caption="88" value="88"/>
+ <item caption="89" value="89"/>
+ <item caption="90" value="90"/>
+ <item caption="91" value="91"/>
+ <item caption="92" value="92"/>
+ <item caption="93" value="93"/>
+ <item caption="94" value="94"/>
+ <item caption="95" value="95"/>
+ <item caption="96" value="96"/>
+ <item caption="97" value="97"/>
+ <item caption="98" value="98"/>
+ <item caption="99" value="99"/>
+ <item caption="100" value="100"/>
+ </combobox>
+ <spacer/>
+ </frame>
+ </frame>
+ <frame layout="hbox">
+ <frame layout="vbox">
+ <label caption=""/>
+ <label caption="Korr.:"/>
+ </frame>
+ <frame layout="vbox">
+ <label caption="Basis:"/>
+ <combobox name="snellen.left.corr.basis" value="">
+ <item caption="Autoref." value="autoref"/>
+ <item caption="Egen brille" value="brille"/>
+ <item caption="Ingen" value="ingen"/>
+ </combobox>
+ </frame>
+ <frame layout="vbox">
+ <label caption=""/>
+ <label caption="add"/>
+ </frame>
+ <frame layout="vbox">
+ <label caption="Sf:"/>
+ <lineedit name="snellen.left.corr.sph" regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt20gt-25" value=""/>
+ </frame>
+ <frame layout="vbox">
+ <label caption="Cyl:"/>
+ <lineedit name="snellen.left.corr.cyl" regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt10gt-15" value=""/>
+ </frame>
+ <frame layout="vbox">
+ <label caption="Grader:"/>
+ <lineedit name="snellen.left.corr.axis" regexp="[\d]+" script="lt359gt0" value=""/>
+ </frame>
+ </frame>
+ </frame>
+ </frame>
+
+ </frame>
+
+ <!-- Knapper -->
+ <frame layout="hbox">
+ <spacer />
+ <button caption="Gem" action="commit"/>
+ </frame>
+ </window>
+</macro>