<?xml version='1.0' encoding='UTF-8'?>
<macro name="ref_behandling.kirurgisk_procedure" version="1.0">
  <resume language="lua">
    out = ''
    out = out .. 'I Oxybuprokain dråbeanæstesi foretages ' .. getValue('ref_behandling.kirurgisk_procedure.type') .. ' på ' .. getValue('ref_behandling.kirurgisk_procedure.oeje') .. ' øje.\n'

    if ( getValue('ref_behandling.kirurgisk_procedure.type') == 'LASIK' )
    then
      out = out .. 'LASIK flappen skæres med ' .. getValue('ref_behandling.kirurgisk_procedure.lasik.metode') .. '.\n'

      if ( getValue('ref_behandling.kirurgisk_procedure.lasik.metode') == 'femtosekundlaser' )
      then
        out = out .. 'Flapdiameter: ' .. getValue('ref_behandling.kirurgisk_procedure.lasik.flapdiameter') .. ' mm\n'
        out = out .. 'Flaptykkelse: ' .. getValue('ref_behandling.kirurgisk_procedure.lasik.flaptykkelse') .. ' um\n'
        out = out .. 'Kantprofil: ' .. getValue('ref_behandling.kirurgisk_procedure.lasik.kantprofil') .. '\n'
      end

      out = out .. 'Flappen løftes med flap-lifter.\n\n'
    end

    if ( getValue('ref_behandling.kirurgisk_procedure.type') == 'PRK' )
    then
      out = out .. getValue('ref_behandling.kirurgisk_procedure.prk.part1') .. '\n\n'
    end

    if ( getValue('ref_behandling.kirurgisk_procedure.type') == 'reLASIK' )
    then
      out = out .. getValue('ref_behandling.kirurgisk_procedure.relasik.part1') .. '\n\n'
    end

    if ( getValue('ref_behandling.kirurgisk_procedure.type') == 'rePRK' )
    then
      out = out .. getValue('ref_behandling.kirurgisk_procedure.prk.part1') .. '\n\n'
    end

    if ( getValue('ref_behandling.kirurgisk_procedure.type') == 'LASEK' )
    then
      out = out .. getValue('ref_behandling.kirurgisk_procedure.lasek.part1') .. '\n\n'
    end

    out = out .. 'Fotoablation:\n'
    out = out .. 'Algoritme: ' .. getValue('ref_behandling.kirurgisk_procedure.fotoablation.algoritme') .. '\n'
    out = out .. 'Korrektion: ' .. getValue('ref_behandling.kirurgisk_procedure.fotoablation.sf') .. ' sf ' .. getValue('ref_behandling.kirurgisk_procedure.fotoablation.cyl') .. ' x ' .. getValue('ref_behandling.kirurgisk_procedure.fotoablation.grader') .. '\n'
    out = out .. 'Ablationsdiameter: ' .. getValue('ref_behandling.kirurgisk_procedure.fotoablation.ablationsdiameter') .. ' mm\n'
    out = out .. 'Ablationsdybde: ' .. getValue('ref_behandling.kirurgisk_procedure.fotoablation.ablationsdybde') .. ' um\n\n'

    if ( getValue('ref_behandling.kirurgisk_procedure.type') == 'LASIK' )
    then
      out = out .. getValue('ref_behandling.kirurgisk_procedure.lasik.part2') .. '\n\n'
    end

    if ( getValue('ref_behandling.kirurgisk_procedure.type') == 'PRK' )
    then
      out = out .. getValue('ref_behandling.kirurgisk_procedure.prk.part2') .. '\n\n'
    end

    if ( getValue('ref_behandling.kirurgisk_procedure.type') == 'reLASIK' )
    then
      out = out .. getValue('ref_behandling.kirurgisk_procedure.relasik.part2') .. '\n\n'
    end

    if ( getValue('ref_behandling.kirurgisk_procedure.type') == 'rePRK' )
    then
      out = out .. getValue('ref_behandling.kirurgisk_procedure.prk.part2') .. '\n\n'
    end

    if ( getValue('ref_behandling.kirurgisk_procedure.type') == 'LASEK' )
    then
      out = out .. getValue('ref_behandling.kirurgisk_procedure.lasek.part2') .. '\n\n'
    end

    out = out .. 'Der dryppes med ' .. getValue('ref_behandling.kirurgisk_procedure.drypperegime') .. '\n\n'

    if ( getValue('ref_behandling.kirurgisk_procedure.komplikationer') ~= '' )
    then
      out = out .. 'Komplikationer: ' .. getValue('ref_behandling.kirurgisk_procedure.komplikationer')
    end

    return out
  </resume>
  <queries>
  </queries>
  <maps>
  </maps>
  <scripts>
    <script language="lua" name="type">
      if ( getValue('ref_behandling.kirurgisk_procedure.type') == 'LASIK' )
      then
        enable('lasik_frame1')
        disable('prk_frame1')
        disable('relasik_frame1')
        disable('lasek_frame1')
        enable('lasik_frame2')
        disable('prk_frame2')
        disable('relasik_frame2')
        disable('lasek_frame2')
      end
      if ( getValue('ref_behandling.kirurgisk_procedure.type') == 'PRK' )
      then
        disable('lasik_frame1')
        enable('prk_frame1')
        disable('relasik_frame1')
        disable('lasek_frame1')
        disable('lasik_frame2')
        enable('prk_frame2')
        disable('relasik_frame2')
        disable('lasek_frame2')
      end
      if ( getValue('ref_behandling.kirurgisk_procedure.type') == 'reLASIK' )
      then
        disable('lasik_frame1')
        disable('prk_frame1')
        enable('relasik_frame1')
        disable('lasek_frame1')
        disable('lasik_frame2')
        disable('prk_frame2')
        enable('relasik_frame2')
        disable('lasek_frame2')
      end
      if ( getValue('ref_behandling.kirurgisk_procedure.type') == 'rePRK' )
      then
        disable('lasik_frame1')
        enable('prk_frame1')
        disable('relasik_frame1')
        disable('lasek_frame1')
        disable('lasik_frame2')
        enable('prk_frame2')
        disable('relasik_frame2')
        disable('lasek_frame2')
      end
      if ( getValue('ref_behandling.kirurgisk_procedure.type') == 'LASEK' )
      then
        disable('lasik_frame1')
        disable('prk_frame1')
        disable('relasik_frame1')
        enable('lasek_frame1')
        disable('lasik_frame2')
        disable('prk_frame2')
        disable('relasik_frame2')
        enable('lasek_frame2')
      end
      return true
    </script>
    <script language="lua" name="femtosekundlaser_check">
      if ( getValue('ref_behandling.kirurgisk_procedure.lasik.metode') == 'femtosekundlaser' )
      then
        enable('femtosekundlaser')
      else
        disable('femtosekundlaser')
      end
      return true
    </script>
    <script language="lua" name="lt12gt0">
      if(value == '')
      then
      return false
      end
      
      value = string.gsub(value, ',', '.')
      if(tonumber(value) &gt;= 0 and tonumber(value) &lt;= 12)
      then
        return true
      else
        return false
      end
    </script>
    <script language="lua" name="lt500gt0">
      if(value == '')
      then
      return false
      end
      
      value = string.gsub(value, ',', '.')
      if(tonumber(value) &gt;= 0 and tonumber(value) &lt;= 500)
      then
        return true
      else
        return false
      end
    </script>
    <script language="lua" name="lt180gt0">
      if(value == '')
      then
      return false
      end
      
      value = string.gsub(value, ',', '.')
      if(tonumber(value) &gt;= 0 and tonumber(value) &lt;= 180)
      then
        return true
      else
        return false
      end
    </script>
     <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="lt179gt0">
      if(value == '')
      then
        return false
      end

      value = string.gsub(value, ',', '.')
      if(tonumber(value) &gt;= 0 and tonumber(value) &lt;= 179)
      then
        return true
      else
        return false
      end
    </script>
    <script language="lua" name="lt12gt0">
      if(value == '')
      then
        return false
      end

      value = string.gsub(value, ',', '.')
      if(tonumber(value) &gt;= 0 and tonumber(value) &lt;= 12)
      then
        return true
      else
        return false
      end
    </script>
    <script language="lua" name="lt500gt0">
      if(value == '')
      then
        return false
      end

      value = string.gsub(value, ',', '.')
      if(tonumber(value) &gt;= 0 and tonumber(value) &lt;= 500)
      then
        return true
      else
        return false
      end
    </script>
    <script language="lua" name="not0">
      if(value == 'Ikke udfyldt')
      then
        return false
      end
      return true
    </script>
  </scripts>
  <widgets caption="Kirurgisk procedure" layout="vbox">
    <frame caption="1." layout="vbox">
      <label caption="I Oxybuprokain dråbeanæstesi foretages:"/>
      <frame layout="hbox">
	<combobox name="ref_behandling.kirurgisk_procedure.type" value="" script="type">
	  <item caption="LASIK" value="LASIK"/>
	  <item caption="PRK" value="PRK"/>
	  <item caption="reLASIK" value="reLASIK"/>
	  <item caption="rePRK" value="rePRK"/>
	  <item caption="LASEK" value="LASEK"/>
	</combobox>
	<label caption="på"/>
	<combobox name="ref_behandling.kirurgisk_procedure.oeje" value="">
	  <item caption="højre" value="højre"/>
	  <item caption="venstre" value="venstre"/>
	</combobox>
	<label caption="øje"/>
	<spacer/>
      </frame>
    </frame>

    <!-- Begin 2nd outer frame -->
    <frame caption="2." layout="vbox">

    <!-- LASIK frame -->
      <frame name="lasik_frame1" caption="LASIK" layout="vbox">
	<label caption="LASIK flappen skæres med:"/>
	<altcombobox name="ref_behandling.kirurgisk_procedure.lasik.metode" value="" layout="vbox" script="femtosekundlaser_check">
	  <item caption="Ikke udfyldt" value=""/>
	  <item caption="Moria M2 90 SU" value="Moria M2 90 SU"/>
	  <item caption="Moria M2 130" value="Moria M2 130"/>
	  <item caption="femtosekundlaser" value="femtosekundlaser"/>
	  <altitem caption="Andet" value="andet" innerwidget="lasik_andet" layout="hbox">
	    <label caption="Andet:"/>
	    <lineedit name="lasik_andet" regexp="[0-9]+(,\d+|\d*)"/>
	  </altitem>
	</altcombobox>
	<frame name="femtosekundlaser" layout="vbox">
	  <frame layout="hbox">
	    <label caption="Flapdiameter:"/>
	    <lineedit name="ref_behandling.kirurgisk_procedure.lasik.flapdiameter" regexp="\d{1,2},\d{1}"/>
	    <label caption="mm"/>
	    <spacer/>
	  </frame>
	  <frame layout="hbox">
	    <label caption="Flaptykkelse:"/>
	    <lineedit name="ref_behandling.kirurgisk_procedure.lasik.flaptykkelse" regexp="\d{1,3}"/>
	    <label caption="um"/>
	    <spacer/>
	  </frame>
	  <frame layout="hbox">
	    <label caption="Kantprofil:"/>
	    <lineedit name="ref_behandling.kirurgisk_procedure.lasik.kantprofil" regexp="\d{1,3},\d{1}"/>
	    <spacer/>
	  </frame>
	</frame>
      </frame>
    
    <!-- PRK frame -->
    <frame name="prk_frame1" caption="PRK / rePRK" layout="vbox">
      <checkbox name="ref_behandling.kirurgisk_procedure.prk.part1" caption="Efter touchering med 96% alkohol fjernes epithelet i de centrale 8 mm." truevalue="Efter touchering med 96% alkohol fjernes epithelet i de centrale 8 mm." falsevalue=""/>
    </frame>

    <!-- reLASIK frame -->
    <frame name="relasik_frame1" caption="reLASIK" layout="vbox">
      <checkbox name="ref_behandling.kirurgisk_procedure.relasik.part1" caption="Med Sinskey-hook åbnes kanten af den gamle flap, hvorefter flappen løftes med flap-lifter." truevalue="Med Sinskey-hook åbnes kanten af den gamle flap, hvorefter flappen løftes med flap-lifter." falsevalue=""/>
    </frame>

    <!-- LASEK frame -->
    <frame name="lasek_frame1" caption="LASEK" layout="vbox">
      <checkbox name="ref_behandling.kirurgisk_procedure.lasek.part1" caption="Efter applikation af 20% alkohol i 20 sek løftes epithelet i de centrale 8 mm til side." truevalue="Efter applikation af 20% alkohol i 20 sek løftes epithelet i de centrale 8 mm til side." falsevalue=""/>
    </frame>

    <!-- End 2nd outer frame -->
    </frame>

    <!-- Fotoablation frame -->
    <frame name="fotoablation_frame" caption="3. Fotoablation" layout="vbox">
      <frame layout="hbox">
	<label caption="Algoritme:"/>
	<combobox name="ref_behandling.kirurgisk_procedure.fotoablation.algoritme">
	  <item caption="Smart" value="Smart"/>
	  <item caption="Tissue saving" value="Tissue saving"/>
	  <item caption="Topografistyret" value="Topografistyret"/>
	  <item caption="Bølgefrontstyret" value="Bølgefrontstyret"/>
	</combobox>
	<spacer/>
      </frame>
      <frame layout="hbox">
	<frame layout="vbox">
	  <label/>
	  <label caption="Korrektion:"/>
	</frame>
	<frame layout="vbox">
	  <label caption="Sf:"/>
	  <lineedit name="ref_behandling.kirurgisk_procedure.fotoablation.sf" regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt20gt-25" value=""/>
	</frame>
	<frame layout="vbox">
	  <label caption="Cyl:"/>
	  <lineedit name="ref_behandling.kirurgisk_procedure.fotoablation.cyl" regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt10gt-15" value=""/>
	</frame>
	<frame layout="vbox">
	  <label caption="Grader:"/>
	  <lineedit name="ref_behandling.kirurgisk_procedure.fotoablation.grader" regexp="[\d]+" script="lt179gt0" value=""/>
	</frame>
      </frame>
      <frame layout="hbox">
	<label caption="Ablationsdiameter:"/>
	<lineedit name="ref_behandling.kirurgisk_procedure.fotoablation.ablationsdiameter" script="lt12gt0" regexp="\d{1,2},\d{1}"/>
	<label caption="mm"/>
	<spacer/>
      </frame>
      <frame layout="hbox">
	<label caption="Ablationsdybde:"/>
	<lineedit name="ref_behandling.kirurgisk_procedure.fotoablation.ablationsdybde" script="lt500gt0" regexp="\d{1,3}"/>
	<label caption="um"/>
	<spacer/>
      </frame>
    </frame>

    <!-- Begin 3rd outer frame -->
    <frame caption="4." layout="vbox">

    <!-- LASIK frame -->
    <frame name="lasik_frame2" caption="LASIK" layout="vbox">
      <checkbox name="ref_behandling.kirurgisk_procedure.lasik.part2" caption="LASIK flappen replaceres. Der irrigeres med isotont saltvand, og flappen tørrer i 2 minutter." truevalue="LASIK flappen replaceres. Der irrigeres med isotont saltvand, og flappen tørrer i 2 minutter." falsevalue=""/>
    </frame>
    
    <!-- PRK frame -->
    <frame name="prk_frame2" caption="PRK / rePRK" layout="vbox">
      <checkbox name="ref_behandling.kirurgisk_procedure.prk.part2" caption="Der appliceres 0,02% Mitomycin C på swap i 20 sekunder fuldt af irrigation med isotont saltvand" truevalue="Der appliceres 0,02% Mitomycin C på swap i 20 sekunder fuldt af irrigation med isotont saltvand." falsevalue=""/>
    </frame>

    <!-- reLASIK frame -->
    <frame name="relasik_frame2" caption="reLASIK" layout="vbox">
      <checkbox name="ref_behandling.kirurgisk_procedure.relasik.part2" caption="LASIK flappen replaceres. Der irrigeres med isotont saltvand, og flappen tørrer i 2 minutter." truevalue="LASIK flappen replaceres. Der irrigeres med isotont saltvand, og flappen tørrer i 2 minutter." falsevalue=""/>
    </frame>

    <!-- LASEK frame -->
    <frame name="lasek_frame2" caption="LASEK" layout="vbox">
      <checkbox name="ref_behandling.kirurgisk_procedure.lasek.part2" caption="Epithelet replaceres." truevalue="Epithelet replaceres." falsevalue=""/>
    </frame>

    <!-- End 3rd outer frame -->
    </frame>

    <!-- Øjendrypning frame -->
    <frame name="oejendrypning_frame" caption="5. Øjendrypning" layout="vbox">
      <frame layout="hbox">
	<label caption="Drypperegime:"/>
	<combobox name="ref_behandling.kirurgisk_procedure.drypperegime">
	  <item caption="Kloramfenikol 0,5% og Voltaren 0,1%" value="Kloramfenikol 0,5% og Voltaren 0,1%"/>
	  <item caption="Ciloxan 0,3% og Voltaren 0,1%" value="Ciloxan 0,3% og Voltaren 0,1%"/>
	  <item caption="Kloramfenikolsalve 1% og Voltaren 0,1%" value="Kloramfenikolsalve 1% og Voltaren 0,1%"/>
	  <item caption="Ciloxsalve 0,3% og Voltaren 0,1%" value="Ciloxsalve 0,3% og Voltaren 0,1%"/>
	</combobox>
	<spacer/>
      </frame>
    </frame>

    <!-- Komplikationer frame -->
    <frame name="komplikationer_frame" caption="6. Komplikationer" layout="vbox">
      <textedit name="ref_behandling.kirurgisk_procedure.komplikationer"/>
    </frame>
    
    <!-- Knapper -->
    <frame layout="hbox">
      <spacer />
      <button caption="Gem" action="commit"/>
    </frame>
  </widgets>
</macro>