<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plan-library >
<plan-library>
  <library-info title="High Blood Pressure">
    <administrative-data creation-date="February 12, 2001" original-author="Andreas Seyfang"/>
  </library-info>
  <domain-defs>
    <domain name="Hypertension">
      <patient-record-def name="patient-record">
        <primary-key name="name"/>
        <field-def name="indication" type="String"/>
        <field-def name="first-drug" type="String"/>
      </patient-record-def>
      <qualitative-scale-def name="blood-pressure">
        <qualitative-entry entry="normal"/>
        <qualitative-entry entry="high"/>
      </qualitative-scale-def>
      <parameter-group>
        <parameter-def name="numerical-systolic-blood-pressure" type="pressure">
          <raw-data-def mode="manual" unit="mmHg" user-text="Please enter the systolic blood pressure"/>
        </parameter-def>
        <parameter-def name="systolic-blood-pressure" type="blood-pressure">
          <qualitative-parameter-def>
            <limits>
              <comment text="for a healthy person"/>
              <context>
                <context-combination operator="and">
                  <context-not>
                    <context-ref name="diabetes-mellitus"/>
                  </context-not>
                  <one-of name="proteinuria">
                    <value-ref name="none"/>
                  </one-of>
                </context-combination>
              </context>
              <limit-entry value="0"/>
              <limit-entry include-limit-value="yes" value="140"/>
              <positive-infinite/>
            </limits>
            <limits>
              <comment text="for Diabetes Mellitus and high Protienuria"/>
              <context>
                <context-combination operator="and">
                  <context-ref name="diabetes-mellitus"/>
                  <one-of name="proteinuria">
                    <value-ref name="high"/>
                  </one-of>
                </context-combination>
              </context>
              <limit-entry value="0"/>
              <limit-entry include-limit-value="yes" value="130"/>
              <positive-infinite/>
            </limits>
            <limits>
              <comment text="for low Protienuria"/>
              <context>
                <context-combination operator="and">
                  <context-not>
                    <context-ref name="diabetes-mellitus"/>
                  </context-not>
                  <one-of name="proteinuria">
                    <value-ref name="low"/>
                  </one-of>
                </context-combination>
              </context>
              <limit-entry value="0"/>
              <limit-entry include-limit-value="yes" value="125"/>
              <positive-infinite/>
            </limits>
            <parameter-ref name="numeric-systolic-blood-pressure"/>
          </qualitative-parameter-def>
        </parameter-def>
        <parameter-def name="numerical-diastolic-blood-pressure" type="pressure">
          <raw-data-def mode="manual" unit="mmHg" user-text="Please enter the diastolic blood pressure"/>
        </parameter-def>
        <parameter-def name="diastolic-blood-pressure" type="blood-pressure">
          <qualitative-parameter-def>
            <limits>
              <comment text="for a healthy person"/>
              <context>
                <context-combination operator="and">
                  <context-not>
                    <context-ref name="diabetes-mellitus"/>
                  </context-not>
                  <one-of name="proteinuria">
                    <value-ref name="none"/>
                  </one-of>
                </context-combination>
              </context>
              <limit-entry value="0"/>
              <limit-entry include-limit-value="yes" value="90"/>
              <positive-infinite/>
            </limits>
            <limits>
              <comment text="for Diabetes Mellitus and high Protienuria"/>
              <context>
                <context-combination operator="and">
                  <context-ref name="diabetes-mellitus"/>
                  <one-of name="proteinuria">
                    <value-ref name="high"/>
                  </one-of>
                </context-combination>
              </context>
              <limit-entry value="0"/>
              <limit-entry include-limit-value="yes" value="85"/>
              <positive-infinite/>
            </limits>
            <limits>
              <comment text="for low Protienuria"/>
              <context>
                <context-combination operator="and">
                  <context-not>
                    <context-ref name="diabetes-mellitus"/>
                  </context-not>
                  <one-of name="proteinuria">
                    <value-ref name="low"/>
                  </one-of>
                </context-combination>
              </context>
              <limit-entry value="0"/>
              <limit-entry include-limit-value="yes" value="75"/>
              <positive-infinite/>
            </limits>
            <parameter-ref name="numeric-diastolic-blood-pressure"/>
          </qualitative-parameter-def>
        </parameter-def>
      </parameter-group>
      <function-def class-name="asgaard.addins.DrugReasoner" method-name="ProposePartner" name="propose-partner" return-type="String">
        <argument name="indication" type="String"/>
        <argument name="first-drug" type="String"/>
      </function-def>
    </domain>
  </domain-defs>
  <plans>
    <plan-group>
      <plan name="hypertension-treatment">
        <intentions>
          <intention type="overall-state" verb="achieve">
            <parameter-proposition parameter-name="systolic-blood-pressure">
              <value-description type="equal">
                <qualitative-constant value="normal"/>
              </value-description>
              <context>
                <any/>
              </context>
              <time-annotation>
                <time-range>
                  <starting-shift>
                    <latest>
                      <numerical-constant unit="month" value="1">
                        <comment text="This is only our guess ;-)"/>
                      </numerical-constant>
                    </latest>
                  </starting-shift>
                </time-range>
                <self/>
              </time-annotation>
            </parameter-proposition>
          </intention>
          <intention type="overall-state" verb="achieve">
            <parameter-proposition parameter-name="diastolic-blood-pressure">
              <value-description type="equal">
                <qualitative-constant value="normal"/>
              </value-description>
              <context>
                <any/>
              </context>
              <time-annotation>
                <time-range>
                  <starting-shift>
                    <latest>
                      <numerical-constant unit="month" value="1">
                        <comment text="This is only our guess ;-)"/>
                      </numerical-constant>
                    </latest>
                  </starting-shift>
                </time-range>
                <self/>
              </time-annotation>
            </parameter-proposition>
          </intention>
        </intentions>
      </plan>
      <plan name="propose-second-drug">
        <value-defs>
          <variable-def name="second-drug" type="String"/>
        </value-defs>
        <plan-body>
          <subplans type="sequentially">
            <wait-for>
              <all/>
            </wait-for>
            <plan-activation>
              <plan-schema name="administer-drug">
                <argument-value name="proposed-drug">
                  <function-call name="propose-partner">
                    <argument-value name="indication">
                      <field-ref field="indication" record="patient-record"/>
                    </argument-value>
                    <argument-value name="first-drug">
                      <field-ref field="first-drug" record="patient-record"/>
                    </argument-value>
                  </function-call>
                </argument-value>
              </plan-schema>
            </plan-activation>
          </subplans>
        </plan-body>
      </plan>
      <plan name="administer-drug">
        <explanation text="The proposed drug is $1."/>
        <arguments>
          <argument name="proposed-drug" type="String"/>
        </arguments>
        <plan-body>
          <user-performed/>
        </plan-body>
      </plan>
    </plan-group>
  </plans>
</plan-library> 