unit schMedicacionClient_Intf;

interface

uses
  Classes, DB, schBase_Intf, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf;

const
  { Data table rules ids
       Feel free to change them to something more human readable
       but make sure they are unique in the context of your application }
  RID_Medicacion = '{4B1F4EFB-36FE-4041-9320-B30DCC239A10}';
  RID_Medicacion_Detalles = '{B0395D68-EB84-4016-9379-223B1D095B99}';

  { Data table names }
  nme_Medicacion = 'Medicacion';
  nme_Medicacion_Detalles = 'Medicacion_Detalles';

  { Medicacion fields }
  fld_MedicacionID = 'ID';
  fld_MedicacionID_PACIENTE = 'ID_PACIENTE';
  fld_MedicacionREFERENCIA = 'REFERENCIA';
  fld_MedicacionNOMBRE = 'NOMBRE';
  fld_MedicacionFECHA_DESDE = 'FECHA_DESDE';
  fld_MedicacionFECHA_HASTA = 'FECHA_HASTA';
  fld_MedicacionTIPO = 'TIPO';
  fld_MedicacionNUMERO_SS = 'NUMERO_SS';

  { Medicacion field indexes }
  idx_MedicacionID = 0;
  idx_MedicacionID_PACIENTE = 1;
  idx_MedicacionREFERENCIA = 2;
  idx_MedicacionNOMBRE = 3;
  idx_MedicacionFECHA_DESDE = 4;
  idx_MedicacionFECHA_HASTA = 5;
  idx_MedicacionTIPO = 6;
  idx_MedicacionNUMERO_SS = 7;

  { Medicacion_Detalles fields }
  fld_Medicacion_DetallesID = 'ID';
  fld_Medicacion_DetallesID_MEDICACION = 'ID_MEDICACION';
  fld_Medicacion_DetallesPOSICION = 'POSICION';
  fld_Medicacion_DetallesTIPO_DETALLE = 'TIPO_DETALLE';
  fld_Medicacion_DetallesID_ARTICULO = 'ID_ARTICULO';
  fld_Medicacion_DetallesREFERENCIA = 'REFERENCIA';
  fld_Medicacion_DetallesCONCEPTO = 'CONCEPTO';
  fld_Medicacion_DetallesCANTIDAD = 'CANTIDAD';
  fld_Medicacion_DetallesPOSOLOGIA = 'POSOLOGIA';
  fld_Medicacion_DetallesFORMA_COLOR = 'FORMA_COLOR';
  fld_Medicacion_DetallesLOTE = 'LOTE';
  fld_Medicacion_DetallesVISIBLE = 'VISIBLE';

  { Medicacion_Detalles field indexes }
  idx_Medicacion_DetallesID = 0;
  idx_Medicacion_DetallesID_MEDICACION = 1;
  idx_Medicacion_DetallesPOSICION = 2;
  idx_Medicacion_DetallesTIPO_DETALLE = 3;
  idx_Medicacion_DetallesID_ARTICULO = 4;
  idx_Medicacion_DetallesREFERENCIA = 5;
  idx_Medicacion_DetallesCONCEPTO = 6;
  idx_Medicacion_DetallesCANTIDAD = 7;
  idx_Medicacion_DetallesPOSOLOGIA = 8;
  idx_Medicacion_DetallesFORMA_COLOR = 9;
  idx_Medicacion_DetallesLOTE = 10;
  idx_Medicacion_DetallesVISIBLE = 11;

type
  { IMedicacion }
  IMedicacion = interface(IDAStronglyTypedDataTable)
  ['{5A028E3F-69B5-4385-ABE4-D748D33AD2CA}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_PACIENTEValue: Integer;
    procedure SetID_PACIENTEValue(const aValue: Integer);
    function GetID_PACIENTEIsNull: Boolean;
    procedure SetID_PACIENTEIsNull(const aValue: Boolean);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetNOMBREIsNull: Boolean;
    procedure SetNOMBREIsNull(const aValue: Boolean);
    function GetFECHA_DESDEValue: DateTime;
    procedure SetFECHA_DESDEValue(const aValue: DateTime);
    function GetFECHA_DESDEIsNull: Boolean;
    procedure SetFECHA_DESDEIsNull(const aValue: Boolean);
    function GetFECHA_HASTAValue: DateTime;
    procedure SetFECHA_HASTAValue(const aValue: DateTime);
    function GetFECHA_HASTAIsNull: Boolean;
    procedure SetFECHA_HASTAIsNull(const aValue: Boolean);
    function GetTIPOValue: String;
    procedure SetTIPOValue(const aValue: String);
    function GetTIPOIsNull: Boolean;
    procedure SetTIPOIsNull(const aValue: Boolean);
    function GetNUMERO_SSValue: String;
    procedure SetNUMERO_SSValue(const aValue: String);
    function GetNUMERO_SSIsNull: Boolean;
    procedure SetNUMERO_SSIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_PACIENTE: Integer read GetID_PACIENTEValue write SetID_PACIENTEValue;
    property ID_PACIENTEIsNull: Boolean read GetID_PACIENTEIsNull write SetID_PACIENTEIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property FECHA_DESDE: DateTime read GetFECHA_DESDEValue write SetFECHA_DESDEValue;
    property FECHA_DESDEIsNull: Boolean read GetFECHA_DESDEIsNull write SetFECHA_DESDEIsNull;
    property FECHA_HASTA: DateTime read GetFECHA_HASTAValue write SetFECHA_HASTAValue;
    property FECHA_HASTAIsNull: Boolean read GetFECHA_HASTAIsNull write SetFECHA_HASTAIsNull;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull;
    property NUMERO_SS: String read GetNUMERO_SSValue write SetNUMERO_SSValue;
    property NUMERO_SSIsNull: Boolean read GetNUMERO_SSIsNull write SetNUMERO_SSIsNull;
  end;

  { TMedicacionDataTableRules }
  TMedicacionDataTableRules = class(TIntfObjectDADataTableRules, IMedicacion)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetID_PACIENTEValue: Integer; virtual;
    procedure SetID_PACIENTEValue(const aValue: Integer); virtual;
    function GetID_PACIENTEIsNull: Boolean; virtual;
    procedure SetID_PACIENTEIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;
    function GetNOMBREIsNull: Boolean; virtual;
    procedure SetNOMBREIsNull(const aValue: Boolean); virtual;
    function GetFECHA_DESDEValue: DateTime; virtual;
    procedure SetFECHA_DESDEValue(const aValue: DateTime); virtual;
    function GetFECHA_DESDEIsNull: Boolean; virtual;
    procedure SetFECHA_DESDEIsNull(const aValue: Boolean); virtual;
    function GetFECHA_HASTAValue: DateTime; virtual;
    procedure SetFECHA_HASTAValue(const aValue: DateTime); virtual;
    function GetFECHA_HASTAIsNull: Boolean; virtual;
    procedure SetFECHA_HASTAIsNull(const aValue: Boolean); virtual;
    function GetTIPOValue: String; virtual;
    procedure SetTIPOValue(const aValue: String); virtual;
    function GetTIPOIsNull: Boolean; virtual;
    procedure SetTIPOIsNull(const aValue: Boolean); virtual;
    function GetNUMERO_SSValue: String; virtual;
    procedure SetNUMERO_SSValue(const aValue: String); virtual;
    function GetNUMERO_SSIsNull: Boolean; virtual;
    procedure SetNUMERO_SSIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_PACIENTE: Integer read GetID_PACIENTEValue write SetID_PACIENTEValue;
    property ID_PACIENTEIsNull: Boolean read GetID_PACIENTEIsNull write SetID_PACIENTEIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property FECHA_DESDE: DateTime read GetFECHA_DESDEValue write SetFECHA_DESDEValue;
    property FECHA_DESDEIsNull: Boolean read GetFECHA_DESDEIsNull write SetFECHA_DESDEIsNull;
    property FECHA_HASTA: DateTime read GetFECHA_HASTAValue write SetFECHA_HASTAValue;
    property FECHA_HASTAIsNull: Boolean read GetFECHA_HASTAIsNull write SetFECHA_HASTAIsNull;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull;
    property NUMERO_SS: String read GetNUMERO_SSValue write SetNUMERO_SSValue;
    property NUMERO_SSIsNull: Boolean read GetNUMERO_SSIsNull write SetNUMERO_SSIsNull;

  public
    constructor Create(aDataTable: TDADataTable); override;
    destructor Destroy; override;

  end;

  { IMedicacion_Detalles }
  IMedicacion_Detalles = interface(IDAStronglyTypedDataTable)
  ['{3DE07CD4-94B8-42AD-B1D9-F55B32C5F869}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_MEDICACIONValue: Integer;
    procedure SetID_MEDICACIONValue(const aValue: Integer);
    function GetID_MEDICACIONIsNull: Boolean;
    procedure SetID_MEDICACIONIsNull(const aValue: Boolean);
    function GetPOSICIONValue: Integer;
    procedure SetPOSICIONValue(const aValue: Integer);
    function GetPOSICIONIsNull: Boolean;
    procedure SetPOSICIONIsNull(const aValue: Boolean);
    function GetTIPO_DETALLEValue: String;
    procedure SetTIPO_DETALLEValue(const aValue: String);
    function GetTIPO_DETALLEIsNull: Boolean;
    procedure SetTIPO_DETALLEIsNull(const aValue: Boolean);
    function GetID_ARTICULOValue: Integer;
    procedure SetID_ARTICULOValue(const aValue: Integer);
    function GetID_ARTICULOIsNull: Boolean;
    procedure SetID_ARTICULOIsNull(const aValue: Boolean);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetCONCEPTOValue: String;
    procedure SetCONCEPTOValue(const aValue: String);
    function GetCONCEPTOIsNull: Boolean;
    procedure SetCONCEPTOIsNull(const aValue: Boolean);
    function GetCANTIDADValue: Currency;
    procedure SetCANTIDADValue(const aValue: Currency);
    function GetCANTIDADIsNull: Boolean;
    procedure SetCANTIDADIsNull(const aValue: Boolean);
    function GetPOSOLOGIAValue: String;
    procedure SetPOSOLOGIAValue(const aValue: String);
    function GetPOSOLOGIAIsNull: Boolean;
    procedure SetPOSOLOGIAIsNull(const aValue: Boolean);
    function GetFORMA_COLORValue: String;
    procedure SetFORMA_COLORValue(const aValue: String);
    function GetFORMA_COLORIsNull: Boolean;
    procedure SetFORMA_COLORIsNull(const aValue: Boolean);
    function GetLOTEValue: String;
    procedure SetLOTEValue(const aValue: String);
    function GetLOTEIsNull: Boolean;
    procedure SetLOTEIsNull(const aValue: Boolean);
    function GetVISIBLEValue: SmallInt;
    procedure SetVISIBLEValue(const aValue: SmallInt);
    function GetVISIBLEIsNull: Boolean;
    procedure SetVISIBLEIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_MEDICACION: Integer read GetID_MEDICACIONValue write SetID_MEDICACIONValue;
    property ID_MEDICACIONIsNull: Boolean read GetID_MEDICACIONIsNull write SetID_MEDICACIONIsNull;
    property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
    property POSICIONIsNull: Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
    property TIPO_DETALLE: String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
    property TIPO_DETALLEIsNull: Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
    property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
    property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
    property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
    property CANTIDAD: Currency read GetCANTIDADValue write SetCANTIDADValue;
    property CANTIDADIsNull: Boolean read GetCANTIDADIsNull write SetCANTIDADIsNull;
    property POSOLOGIA: String read GetPOSOLOGIAValue write SetPOSOLOGIAValue;
    property POSOLOGIAIsNull: Boolean read GetPOSOLOGIAIsNull write SetPOSOLOGIAIsNull;
    property FORMA_COLOR: String read GetFORMA_COLORValue write SetFORMA_COLORValue;
    property FORMA_COLORIsNull: Boolean read GetFORMA_COLORIsNull write SetFORMA_COLORIsNull;
    property LOTE: String read GetLOTEValue write SetLOTEValue;
    property LOTEIsNull: Boolean read GetLOTEIsNull write SetLOTEIsNull;
    property VISIBLE: SmallInt read GetVISIBLEValue write SetVISIBLEValue;
    property VISIBLEIsNull: Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull;
  end;

  { TMedicacion_DetallesDataTableRules }
  TMedicacion_DetallesDataTableRules = class(TIntfObjectDADataTableRules, IMedicacion_Detalles)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetID_MEDICACIONValue: Integer; virtual;
    procedure SetID_MEDICACIONValue(const aValue: Integer); virtual;
    function GetID_MEDICACIONIsNull: Boolean; virtual;
    procedure SetID_MEDICACIONIsNull(const aValue: Boolean); virtual;
    function GetPOSICIONValue: Integer; virtual;
    procedure SetPOSICIONValue(const aValue: Integer); virtual;
    function GetPOSICIONIsNull: Boolean; virtual;
    procedure SetPOSICIONIsNull(const aValue: Boolean); virtual;
    function GetTIPO_DETALLEValue: String; virtual;
    procedure SetTIPO_DETALLEValue(const aValue: String); virtual;
    function GetTIPO_DETALLEIsNull: Boolean; virtual;
    procedure SetTIPO_DETALLEIsNull(const aValue: Boolean); virtual;
    function GetID_ARTICULOValue: Integer; virtual;
    procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
    function GetID_ARTICULOIsNull: Boolean; virtual;
    procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetCONCEPTOValue: String; virtual;
    procedure SetCONCEPTOValue(const aValue: String); virtual;
    function GetCONCEPTOIsNull: Boolean; virtual;
    procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;
    function GetCANTIDADValue: Currency; virtual;
    procedure SetCANTIDADValue(const aValue: Currency); virtual;
    function GetCANTIDADIsNull: Boolean; virtual;
    procedure SetCANTIDADIsNull(const aValue: Boolean); virtual;
    function GetPOSOLOGIAValue: String; virtual;
    procedure SetPOSOLOGIAValue(const aValue: String); virtual;
    function GetPOSOLOGIAIsNull: Boolean; virtual;
    procedure SetPOSOLOGIAIsNull(const aValue: Boolean); virtual;
    function GetFORMA_COLORValue: String; virtual;
    procedure SetFORMA_COLORValue(const aValue: String); virtual;
    function GetFORMA_COLORIsNull: Boolean; virtual;
    procedure SetFORMA_COLORIsNull(const aValue: Boolean); virtual;
    function GetLOTEValue: String; virtual;
    procedure SetLOTEValue(const aValue: String); virtual;
    function GetLOTEIsNull: Boolean; virtual;
    procedure SetLOTEIsNull(const aValue: Boolean); virtual;
    function GetVISIBLEValue: SmallInt; virtual;
    procedure SetVISIBLEValue(const aValue: SmallInt); virtual;
    function GetVISIBLEIsNull: Boolean; virtual;
    procedure SetVISIBLEIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_MEDICACION: Integer read GetID_MEDICACIONValue write SetID_MEDICACIONValue;
    property ID_MEDICACIONIsNull: Boolean read GetID_MEDICACIONIsNull write SetID_MEDICACIONIsNull;
    property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
    property POSICIONIsNull: Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
    property TIPO_DETALLE: String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
    property TIPO_DETALLEIsNull: Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
    property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
    property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
    property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
    property CANTIDAD: Currency read GetCANTIDADValue write SetCANTIDADValue;
    property CANTIDADIsNull: Boolean read GetCANTIDADIsNull write SetCANTIDADIsNull;
    property POSOLOGIA: String read GetPOSOLOGIAValue write SetPOSOLOGIAValue;
    property POSOLOGIAIsNull: Boolean read GetPOSOLOGIAIsNull write SetPOSOLOGIAIsNull;
    property FORMA_COLOR: String read GetFORMA_COLORValue write SetFORMA_COLORValue;
    property FORMA_COLORIsNull: Boolean read GetFORMA_COLORIsNull write SetFORMA_COLORIsNull;
    property LOTE: String read GetLOTEValue write SetLOTEValue;
    property LOTEIsNull: Boolean read GetLOTEIsNull write SetLOTEIsNull;
    property VISIBLE: SmallInt read GetVISIBLEValue write SetVISIBLEValue;
    property VISIBLEIsNull: Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull;

  public
    constructor Create(aDataTable: TDADataTable); override;
    destructor Destroy; override;

  end;

implementation

uses Variants, uROBinaryHelpers;

{ TMedicacionDataTableRules }
constructor TMedicacionDataTableRules.Create(aDataTable: TDADataTable);
begin
  inherited;
end;

destructor TMedicacionDataTableRules.Destroy;
begin
  inherited;
end;

function TMedicacionDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_MedicacionID].AsInteger;
end;

procedure TMedicacionDataTableRules.SetIDValue(const aValue: Integer);
begin
  DataTable.Fields[idx_MedicacionID].AsInteger := aValue;
end;

function TMedicacionDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_MedicacionID].IsNull;
end;

procedure TMedicacionDataTableRules.SetIDIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_MedicacionID].AsVariant := Null;
end;

function TMedicacionDataTableRules.GetID_PACIENTEValue: Integer;
begin
  result := DataTable.Fields[idx_MedicacionID_PACIENTE].AsInteger;
end;

procedure TMedicacionDataTableRules.SetID_PACIENTEValue(const aValue: Integer);
begin
  DataTable.Fields[idx_MedicacionID_PACIENTE].AsInteger := aValue;
end;

function TMedicacionDataTableRules.GetID_PACIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_MedicacionID_PACIENTE].IsNull;
end;

procedure TMedicacionDataTableRules.SetID_PACIENTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_MedicacionID_PACIENTE].AsVariant := Null;
end;

function TMedicacionDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_MedicacionREFERENCIA].AsString;
end;

procedure TMedicacionDataTableRules.SetREFERENCIAValue(const aValue: String);
begin
  DataTable.Fields[idx_MedicacionREFERENCIA].AsString := aValue;
end;

function TMedicacionDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_MedicacionREFERENCIA].IsNull;
end;

procedure TMedicacionDataTableRules.SetREFERENCIAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_MedicacionREFERENCIA].AsVariant := Null;
end;

function TMedicacionDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_MedicacionNOMBRE].AsString;
end;

procedure TMedicacionDataTableRules.SetNOMBREValue(const aValue: String);
begin
  DataTable.Fields[idx_MedicacionNOMBRE].AsString := aValue;
end;

function TMedicacionDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_MedicacionNOMBRE].IsNull;
end;

procedure TMedicacionDataTableRules.SetNOMBREIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_MedicacionNOMBRE].AsVariant := Null;
end;

function TMedicacionDataTableRules.GetFECHA_DESDEValue: DateTime;
begin
  result := DataTable.Fields[idx_MedicacionFECHA_DESDE].AsDateTime;
end;

procedure TMedicacionDataTableRules.SetFECHA_DESDEValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_MedicacionFECHA_DESDE].AsDateTime := aValue;
end;

function TMedicacionDataTableRules.GetFECHA_DESDEIsNull: boolean;
begin
  result := DataTable.Fields[idx_MedicacionFECHA_DESDE].IsNull;
end;

procedure TMedicacionDataTableRules.SetFECHA_DESDEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_MedicacionFECHA_DESDE].AsVariant := Null;
end;

function TMedicacionDataTableRules.GetFECHA_HASTAValue: DateTime;
begin
  result := DataTable.Fields[idx_MedicacionFECHA_HASTA].AsDateTime;
end;

procedure TMedicacionDataTableRules.SetFECHA_HASTAValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_MedicacionFECHA_HASTA].AsDateTime := aValue;
end;

function TMedicacionDataTableRules.GetFECHA_HASTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_MedicacionFECHA_HASTA].IsNull;
end;

procedure TMedicacionDataTableRules.SetFECHA_HASTAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_MedicacionFECHA_HASTA].AsVariant := Null;
end;

function TMedicacionDataTableRules.GetTIPOValue: String;
begin
  result := DataTable.Fields[idx_MedicacionTIPO].AsString;
end;

procedure TMedicacionDataTableRules.SetTIPOValue(const aValue: String);
begin
  DataTable.Fields[idx_MedicacionTIPO].AsString := aValue;
end;

function TMedicacionDataTableRules.GetTIPOIsNull: boolean;
begin
  result := DataTable.Fields[idx_MedicacionTIPO].IsNull;
end;

procedure TMedicacionDataTableRules.SetTIPOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_MedicacionTIPO].AsVariant := Null;
end;

function TMedicacionDataTableRules.GetNUMERO_SSValue: String;
begin
  result := DataTable.Fields[idx_MedicacionNUMERO_SS].AsString;
end;

procedure TMedicacionDataTableRules.SetNUMERO_SSValue(const aValue: String);
begin
  DataTable.Fields[idx_MedicacionNUMERO_SS].AsString := aValue;
end;

function TMedicacionDataTableRules.GetNUMERO_SSIsNull: boolean;
begin
  result := DataTable.Fields[idx_MedicacionNUMERO_SS].IsNull;
end;

procedure TMedicacionDataTableRules.SetNUMERO_SSIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_MedicacionNUMERO_SS].AsVariant := Null;
end;


{ TMedicacion_DetallesDataTableRules }
constructor TMedicacion_DetallesDataTableRules.Create(aDataTable: TDADataTable);
begin
  inherited;
end;

destructor TMedicacion_DetallesDataTableRules.Destroy;
begin
  inherited;
end;

function TMedicacion_DetallesDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesID].AsInteger;
end;

procedure TMedicacion_DetallesDataTableRules.SetIDValue(const aValue: Integer);
begin
  DataTable.Fields[idx_Medicacion_DetallesID].AsInteger := aValue;
end;

function TMedicacion_DetallesDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesID].IsNull;
end;

procedure TMedicacion_DetallesDataTableRules.SetIDIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_Medicacion_DetallesID].AsVariant := Null;
end;

function TMedicacion_DetallesDataTableRules.GetID_MEDICACIONValue: Integer;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesID_MEDICACION].AsInteger;
end;

procedure TMedicacion_DetallesDataTableRules.SetID_MEDICACIONValue(const aValue: Integer);
begin
  DataTable.Fields[idx_Medicacion_DetallesID_MEDICACION].AsInteger := aValue;
end;

function TMedicacion_DetallesDataTableRules.GetID_MEDICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesID_MEDICACION].IsNull;
end;

procedure TMedicacion_DetallesDataTableRules.SetID_MEDICACIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_Medicacion_DetallesID_MEDICACION].AsVariant := Null;
end;

function TMedicacion_DetallesDataTableRules.GetPOSICIONValue: Integer;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesPOSICION].AsInteger;
end;

procedure TMedicacion_DetallesDataTableRules.SetPOSICIONValue(const aValue: Integer);
begin
  DataTable.Fields[idx_Medicacion_DetallesPOSICION].AsInteger := aValue;
end;

function TMedicacion_DetallesDataTableRules.GetPOSICIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesPOSICION].IsNull;
end;

procedure TMedicacion_DetallesDataTableRules.SetPOSICIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_Medicacion_DetallesPOSICION].AsVariant := Null;
end;

function TMedicacion_DetallesDataTableRules.GetTIPO_DETALLEValue: String;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesTIPO_DETALLE].AsString;
end;

procedure TMedicacion_DetallesDataTableRules.SetTIPO_DETALLEValue(const aValue: String);
begin
  DataTable.Fields[idx_Medicacion_DetallesTIPO_DETALLE].AsString := aValue;
end;

function TMedicacion_DetallesDataTableRules.GetTIPO_DETALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesTIPO_DETALLE].IsNull;
end;

procedure TMedicacion_DetallesDataTableRules.SetTIPO_DETALLEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_Medicacion_DetallesTIPO_DETALLE].AsVariant := Null;
end;

function TMedicacion_DetallesDataTableRules.GetID_ARTICULOValue: Integer;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesID_ARTICULO].AsInteger;
end;

procedure TMedicacion_DetallesDataTableRules.SetID_ARTICULOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_Medicacion_DetallesID_ARTICULO].AsInteger := aValue;
end;

function TMedicacion_DetallesDataTableRules.GetID_ARTICULOIsNull: boolean;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesID_ARTICULO].IsNull;
end;

procedure TMedicacion_DetallesDataTableRules.SetID_ARTICULOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_Medicacion_DetallesID_ARTICULO].AsVariant := Null;
end;

function TMedicacion_DetallesDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesREFERENCIA].AsString;
end;

procedure TMedicacion_DetallesDataTableRules.SetREFERENCIAValue(const aValue: String);
begin
  DataTable.Fields[idx_Medicacion_DetallesREFERENCIA].AsString := aValue;
end;

function TMedicacion_DetallesDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesREFERENCIA].IsNull;
end;

procedure TMedicacion_DetallesDataTableRules.SetREFERENCIAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_Medicacion_DetallesREFERENCIA].AsVariant := Null;
end;

function TMedicacion_DetallesDataTableRules.GetCONCEPTOValue: String;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesCONCEPTO].AsString;
end;

procedure TMedicacion_DetallesDataTableRules.SetCONCEPTOValue(const aValue: String);
begin
  DataTable.Fields[idx_Medicacion_DetallesCONCEPTO].AsString := aValue;
end;

function TMedicacion_DetallesDataTableRules.GetCONCEPTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesCONCEPTO].IsNull;
end;

procedure TMedicacion_DetallesDataTableRules.SetCONCEPTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_Medicacion_DetallesCONCEPTO].AsVariant := Null;
end;

function TMedicacion_DetallesDataTableRules.GetCANTIDADValue: Currency;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesCANTIDAD].AsCurrency;
end;

procedure TMedicacion_DetallesDataTableRules.SetCANTIDADValue(const aValue: Currency);
begin
  DataTable.Fields[idx_Medicacion_DetallesCANTIDAD].AsCurrency := aValue;
end;

function TMedicacion_DetallesDataTableRules.GetCANTIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesCANTIDAD].IsNull;
end;

procedure TMedicacion_DetallesDataTableRules.SetCANTIDADIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_Medicacion_DetallesCANTIDAD].AsVariant := Null;
end;

function TMedicacion_DetallesDataTableRules.GetPOSOLOGIAValue: String;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesPOSOLOGIA].AsString;
end;

procedure TMedicacion_DetallesDataTableRules.SetPOSOLOGIAValue(const aValue: String);
begin
  DataTable.Fields[idx_Medicacion_DetallesPOSOLOGIA].AsString := aValue;
end;

function TMedicacion_DetallesDataTableRules.GetPOSOLOGIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesPOSOLOGIA].IsNull;
end;

procedure TMedicacion_DetallesDataTableRules.SetPOSOLOGIAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_Medicacion_DetallesPOSOLOGIA].AsVariant := Null;
end;

function TMedicacion_DetallesDataTableRules.GetFORMA_COLORValue: String;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesFORMA_COLOR].AsString;
end;

procedure TMedicacion_DetallesDataTableRules.SetFORMA_COLORValue(const aValue: String);
begin
  DataTable.Fields[idx_Medicacion_DetallesFORMA_COLOR].AsString := aValue;
end;

function TMedicacion_DetallesDataTableRules.GetFORMA_COLORIsNull: boolean;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesFORMA_COLOR].IsNull;
end;

procedure TMedicacion_DetallesDataTableRules.SetFORMA_COLORIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_Medicacion_DetallesFORMA_COLOR].AsVariant := Null;
end;

function TMedicacion_DetallesDataTableRules.GetLOTEValue: String;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesLOTE].AsString;
end;

procedure TMedicacion_DetallesDataTableRules.SetLOTEValue(const aValue: String);
begin
  DataTable.Fields[idx_Medicacion_DetallesLOTE].AsString := aValue;
end;

function TMedicacion_DetallesDataTableRules.GetLOTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesLOTE].IsNull;
end;

procedure TMedicacion_DetallesDataTableRules.SetLOTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_Medicacion_DetallesLOTE].AsVariant := Null;
end;

function TMedicacion_DetallesDataTableRules.GetVISIBLEValue: SmallInt;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesVISIBLE].AsSmallInt;
end;

procedure TMedicacion_DetallesDataTableRules.SetVISIBLEValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_Medicacion_DetallesVISIBLE].AsSmallInt := aValue;
end;

function TMedicacion_DetallesDataTableRules.GetVISIBLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_Medicacion_DetallesVISIBLE].IsNull;
end;

procedure TMedicacion_DetallesDataTableRules.SetVISIBLEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_Medicacion_DetallesVISIBLE].AsVariant := Null;
end;


initialization
  RegisterDataTableRules(RID_Medicacion, TMedicacionDataTableRules);
  RegisterDataTableRules(RID_Medicacion_Detalles, TMedicacion_DetallesDataTableRules);

end.
