<?xml version="1.0" encoding="utf-8"?>
<Entity 
Schema="AKUZ" 
Name="OPERATION_PROTOCOL" 
Description="Протокол оперативного вмешательства" 
PrimaryKey="OperationProtocolID" 
DNAttributes="{CreateDateTime};{RouteToOperation/AmbulanceEvent/as AKUZ.EMERGENCY_EVENT/MedicalcardRegistration/MedCardNumber}" 
DisplayName="ПОВ от {0}.История болезни {1}">
  <Fields>
    <Attribute Name="OperationProtocolID" Type="guid" Description="Идентификатор" />
    <Parent Name="RouteToOperation" Type="AKUZ.ROUTE_TO_OPERATION" Description="Назначение на операцию в стационаре" />
    <Attribute Name="CreateDateTime" Type="datetime" Description="Дата и время создания протокола" Required="1" />
    <Child Name="OperationProtocolStages" Type="AKUZ.OPERATION_PROTOCOL_STAGE" Description="Этапы оперативного вмешательства" ChildAttribute="OperationProtocol" />
    <Attribute Name="CloseDateTime" Type="datetime" Description="Дата закрытия протокола" />
    <Choice Name="CloseReason" Description="Причина закрытия протокола">
      <Item Name="Все мероприятия по протоколу выполнены" Index="0" />
      <Item Name="Отсутствие анализов" Index="1" />
      <Item Name="Отсутствие заключений узких специалистов" Index="2" />
      <Item Name="Наличие ОИЗ" Index="3" />
      <Item Name="Декомпенсация хронических заболеваний" Index="4" />
      <Item Name="Наличие менструации" Index="5" />
      <Item Name="Отсутствие компонентов крови" Index="6" />
      <Item Name="Отсутствие мест в реанимации" Index="7" />
      <Item Name="Иное" Index="8" />
    </Choice>
    <Parent Name="ClosePost" Type="AKUZ.POST" Description="Закрыл протокол" />
    <Parent Name="CurrentStage" Type="AKUZ.OPERATION_PROTOCOL_STAGE" Description="Текущий этап оперативного вмешательства" />
    <Parent Name="ProtocolType" Type="VCLib.ENTITIES" Description="Тип протокола" Save="0" />
  </Fields>
  <DbMapping>
    <Table name="T_OPERATION_PROTOCOL">
      <Map Name="OperationProtocolID" Column="OperationProtocolID" />
      <Map Name="RouteToOperation" Column="RouteToOperation" />
      <Map Name="CreateDateTime" Column="CreateDateTime" />
      <Map Name="CloseDateTime" Column="CloseDateTime" />
      <Map Name="CloseReason" Column="CloseReason" />
      <Map Name="ClosePost" Column="ClosePost" />
      <Map Name="ProtocolType" Column="type_" IsStored="0" />
    </Table>
    <Lexem>
      <Map Name="CurrentStage">
        <lx:ChildCount xmlns:lx="lexem">
          <condition>
            <lx:Criteria type="And">
              <lx:Criterion type="=">
                <lx:Path OwnerQueryLevel="0">
                  <lx:StepString name="EndTime" />
                </lx:Path>
                <lx:ConstOperand isNull="1" />
              </lx:Criterion>
              <lx:Criterion type="=">
                <lx:Path OwnerQueryLevel="0">
                  <lx:StepString name="OperationProtocol" />
                  <lx:StepString name="OperationProtocolID" />
                </lx:Path>
                <lx:Path OwnerQueryLevel="1">
                  <lx:StepString name="OperationProtocolID" />
                </lx:Path>
              </lx:Criterion>
            </lx:Criteria>
          </condition>
          <lx:Path OwnerQueryLevel="0">
            <lx:StepString name="OperationProtocolStages" />
          </lx:Path>
          <lx:First>
            <lx:Path OwnerQueryLevel="0" />
          </lx:First>
        </lx:ChildCount>
      </Map>
    </Lexem>
  </DbMapping>
  <CalculatingAttributes>
    <Attribute Name="PatientInfo" Type="string" Description="Сведения о пациенте" RequiredAttributes="{RouteToOperation/AmbulanceEvent/AmbulanceCard/Patient/cFIO};{RouteToOperation/AmbulanceEvent/as AKUZ.EMERGENCY_EVENT/MedicalcardRegistration/MedCardNumber};{RouteToOperation/AmbulanceEvent/as AKUZ.EMERGENCY_EVENT/MedicalcardRegistration/MovementDate}" />
    <Attribute Name="OperationInfo" Type="string" Description="Сведенияо операции" RequiredAttributes="{RouteToOperation/MedicalService/Name};{RouteToOperation/RouteToOperationAddServices/MedicalService/Name}" />
    <Attribute Name="DivisionInfo" Type="string" Description="Сведения о отделении" RequiredAttributes="{RouteToOperation/StructureBed/Name};{RouteToOperation/RoutingDivision/Name}" />
    <Attribute Name="CurrentStageInfo" Type="string" Description="Описание текущего этапа" RequiredAttributes="{OperationProtocolStages/StageType};{RouteToOperation/MedicalService/Name};{RouteToOperation/RouteToOperationAddServices}" />
    <Attribute Name="CurrentStageTimeOpen" Type="string" Description="Время открытия этапа" RequiredAttributes="{OperationProtocolStages/BeginTime}" />
    <Attribute Name="CurrentStagePostOpen" Type="string" Description="Кто открыл текущий этап" RequiredAttributes="{OperationProtocolStages/CreatePost/Worker/FIO}" />
  </CalculatingAttributes>
</Entity>