<?xml version="1.0" encoding="utf-8"?>
<Entity 
Schema="RDS" 
Name="EXPORT_FRLLO_DATA" 
Description="Выгруженные в ФРЛЛО данные" 
PrimaryKey="ExportFrlloDataID" 
DNAttributes="{Name}" 
DisplayName="{0}">
  <Fields>
    <Attribute Name="ExportFrlloDataID" Type="guid" Description="Идентификатор" />
    <Parent Name="ExportFrllo" Type="RDS.EXPORT_FRLLO" Description="Выгрузка данных в ФРЛЛО" Required="1" />
    <Attribute Name="ObjId" Type="guid" Description="Идентификатор выгруженного обьекта" Required="1" />
    <Choice Name="Type" Description="Тип" Required="1">
      <Item Name="Пациент" Index="0" />
      <Item Name="Льгота" Index="1" />
    </Choice>
    <Parent Name="RrPatient" Type="RDS.RR_PATIENT" Description="Пациент регионального регистра" CharacterMaximumLength="14" />
    <Parent Name="RrPatientBenefit" Type="RDS.RR_PATIENT_BENEFIT" Description="Льгота пациента регионального регистра" />
    <Parent Name="BskRegister" Type="RDS.BSK_REGISTER" Description="Регистр людей с сердечно-сосудистыми заболеваниями" />
    <Parent Name="BskRegisterData" Type="RDS.BSK_REGISTER_DATA" Description="Данные о льготах в регистре людей с сердечно-сосудистыми заболеваниями" />
    <Parent Name="PalliativeRegister" Type="RDS.PALLIATIVE_REGISTER" Description="Регистр паллиативных больных" />
    <Parent Name="PalliativeRegisterData" Type="RDS.PALLIATIVE_REGISTER_DATA" Description="Данные о льготах в Регистре паллиативных больных" />
    <Parent Name="SpecialBenefitsRegistr" Type="RDS.SPECIAL_BENEFITS_REGISTR" Description="Регистр лиц имеющих право на специальную льготу" />
    <Attribute Name="FileNumber" Type="int" Description="Номер файла" Required="1" />
    <Attribute Name="FrlloId" Type="string" Description="Идентификатор в ФРЛЛО" CharacterMaximumLength="100" />
    <Choice Name="FrlloStatus" Description="Статус ФРЛЛО">
      <Item Name="200 - успешно" Index="200" />
      <Item Name="400 - ошибка" Index="400" />
      <Item Name="208 - уже сообщалось" Index="208" />
      <Item Name="Валидация XSD" Index="1" />
    </Choice>
    <Attribute Name="FrlloError" Type="text" Description="Ошибка в ФРЛЛО" />
    <Attribute Name="Name" Type="string" Description="Наименование" />
  </Fields>
  <DbMapping>
    <Table name="T_EXPORT_FRLLO_DATA">
      <Map Name="ExportFrlloDataID" Column="ExportFrlloDataID" />
      <Map Name="ExportFrllo" Column="ExportFrllo" />
      <Map Name="ObjId" Column="ObjId" />
      <Map Name="Type" Column="Type" />
      <Map Name="RrPatient" Column="ObjId" IsStored="0" />
      <Map Name="RrPatientBenefit" Column="ObjId" IsStored="0" />
      <Map Name="BskRegister" Column="ObjId" IsStored="0" />
      <Map Name="BskRegisterData" Column="ObjId" IsStored="0" />
      <Map Name="PalliativeRegister" Column="ObjId" IsStored="0" />
      <Map Name="PalliativeRegisterData" Column="ObjId" IsStored="0" />
      <Map Name="SpecialBenefitsRegistr" Column="ObjId" IsStored="0" />
      <Map Name="FileNumber" Column="FileNumber" />
      <Map Name="FrlloId" Column="FrlloId" />
      <Map Name="FrlloStatus" Column="FrlloStatus" />
      <Map Name="FrlloError" Column="FrlloError" />
    </Table>
    <Lexem>
      <Map Name="Name">
        <lx:Case xmlns:lx="lexem">
          <When>
            <lx:Criterion type="=">
              <lx:Path OwnerQueryLevel="0">
                <lx:StepString name="Type" />
              </lx:Path>
              <lx:ConstOperand type="Int32">0</lx:ConstOperand>
            </lx:Criterion>
          </When>
          <Then>
            <lx:Case>
              <When>
                <lx:Criterion type="&lt;&gt;">
                  <lx:Path OwnerQueryLevel="0">
                    <lx:StepString name="SpecialBenefitsRegistr" />
                  </lx:Path>
                  <lx:Null />
                </lx:Criterion>
              </When>
              <Then>
                <lx:Path OwnerQueryLevel="0">
                  <lx:StepString name="SpecialBenefitsRegistr" />
                  <lx:StepString name="DisplayName" />
                </lx:Path>
              </Then>
              <When>
                <lx:Criterion type="&lt;&gt;">
                  <lx:Path OwnerQueryLevel="0">
                    <lx:StepString name="BskRegister" />
                  </lx:Path>
                  <lx:Null />
                </lx:Criterion>
              </When>
              <Then>
                <lx:Path OwnerQueryLevel="0">
                  <lx:StepString name="BskRegister" />
                  <lx:StepString name="DisplayName" />
                </lx:Path>
              </Then>
              <When>
                <lx:Criterion type="&lt;&gt;">
                  <lx:Path OwnerQueryLevel="0">
                    <lx:StepString name="PalliativeRegister" />
                  </lx:Path>
                  <lx:Null />
                </lx:Criterion>
              </When>
              <Then>
                <lx:Path OwnerQueryLevel="0">
                  <lx:StepString name="PalliativeRegister" />
                  <lx:StepString name="DisplayName" />
                </lx:Path>
              </Then>
              <Else>
                <lx:Path OwnerQueryLevel="0">
                  <lx:StepString name="RrPatient" />
                  <lx:StepString name="DisplayName" />
                </lx:Path>
              </Else>
            </lx:Case>
          </Then>
          <Else>
            <lx:Case>
              <When>
                <lx:Criterion type="&lt;&gt;">
                  <lx:Path OwnerQueryLevel="0">
                    <lx:StepString name="BskRegisterData" />
                  </lx:Path>
                  <lx:Null />
                </lx:Criterion>
              </When>
              <Then>
                <lx:Path OwnerQueryLevel="0">
                  <lx:StepString name="BskRegisterData" />
                  <lx:StepString name="DisplayName" />
                </lx:Path>
              </Then>
              <When>
                <lx:Criterion type="&lt;&gt;">
                  <lx:Path OwnerQueryLevel="0">
                    <lx:StepString name="PalliativeRegisterData" />
                  </lx:Path>
                  <lx:Null />
                </lx:Criterion>
              </When>
              <Then>
                <lx:Path OwnerQueryLevel="0">
                  <lx:StepString name="PalliativeRegisterData" />
                  <lx:StepString name="DisplayName" />
                </lx:Path>
              </Then>
              <Else>
                <lx:Path OwnerQueryLevel="0">
                  <lx:StepString name="RrPatientBenefit" />
                  <lx:StepString name="DisplayName" />
                </lx:Path>
              </Else>
            </lx:Case>
          </Else>
        </lx:Case>
      </Map>
    </Lexem>
  </DbMapping>
</Entity>