Function

TfrmODMeds.ConstructedDoseFields

Module

fODMeds

Last Modified

7/15/2014 3:26:42 PM

Visibility

Private

Owner

TfrmODMeds

Declaration

function ConstructedDoseFields(const ADose: string; PrependName: Boolean = FALSE): string;

Called-By Hierarchy


              TfrmODMeds.ConstructedDoseFields
                    TfrmODMeds.FieldsForDose┤ 
                        TfrmODMeds.ValueOf┘ │ 
                   TfrmODMeds.InitDialog┤   │ 
                 TfrmODMeds.FormCreate┘ │   │ 
               TfrmODMeds.SetOnMedSelect┤   │ 
                TfrmODMeds.SetupDialog┤ │   │ 
             TfrmODMeds.btnSelectClick┤ │   │ 
             TfrmODMeds.UMDelayClick┘ │ │   │ 
           TfrmODMeds.CheckFormAltDose┘ │   │ 
           TfrmODMeds.cboDosageClick┘   │   │ 
         TfrmODMeds.cboDosageKeyUp┘     │   │ 
              TfrmODMeds.SetOnQuickOrder┤   │ 
                TfrmODMeds.SetupDialog┤ │   │ 
          TfrmODMeds.btnSelectClick...┘ │   │ 
            TfrmODMeds.cboDosageClick...┤   │ 
         TfrmODMeds.QuantityMessageCheck┤   │ 
            TfrmODMeds.cboXDosageEnter┤ │   │ 
    TfrmODMeds.pnlXDurationButtonEnter┤ │   │ 
             TfrmODMeds.cboXRouteEnter┤ │   │ 
          TfrmODMeds.cboXSequenceEnter┤ │   │ 
          TfrmODMeds.cboXScheduleEnter┘ │   │ 
                TfrmODMeds.OutpatientSig┤   │ 
              TfrmODMeds.ControlChange┘ │   │ 
              TfrmODMeds.SetupDialog┤   │   │ 
                 TfrmODMeds.Validate┤   │   │ 
        TfrmODMeds.btnSelectClick...┤   │   │ 
            TfrmODMeds.tabDoseChange┤   │   │ 
            TfrmODMeds.FormKeyDown┘ │   │   │ 
           TfrmODMeds.cboRouteChange┤   │   │ 
      TfrmODMeds.SetOnMedSelect...┘ │   │   │ 
         TfrmODMeds.popDurationClick┤   │   │ 
          TfrmODMeds.cboXRouteChange┤   │   │ 
           TfrmODMeds.cboXRouteClick┤   │   │ 
          TfrmODMeds.cboXRouteExit┘ │   │   │ 
       TfrmODMeds.txtXDurationChange┤   │   │ 
       TfrmODMeds.popDurationClick┘ │   │   │ 
          TfrmODMeds.btnXRemoveClick┤   │   │ 
        TfrmODMeds.grdDosesKeyDown┘ │   │   │ 
     TfrmODMeds.timCheckChangesTimer┤   │   │ 
          TfrmODMeds.UpdateRelated┘ │   │   │ 
          TfrmODMeds.SetupDialog┤   │   │   │ 
    TfrmODMeds.btnSelectClick...┤   │   │   │ 
    TfrmODMeds.cboDosageClick...┤   │   │   │ 
      TfrmODMeds.cboDosageChange┤   │   │   │ 
        TfrmODMeds.cboDosageExit┤   │   │   │ 
     TfrmODMeds.cboScheduleClick┤   │   │   │ 
     TfrmODMeds.cmdAcceptClick┤ │   │   │   │ 
        TfrmODMeds.chkPRNClick┤ │   │   │   │ 
        TfrmODMeds.txtNSSClick┤ │   │   │   │ 
   TfrmODMeds.cboScheduleEnter┤ │   │   │   │ 
   TfrmODMeds.UMShowNSSBuilder┘ │   │   │   │ 
    TfrmODMeds.cboScheduleChange┤   │   │   │ 
      TfrmODMeds.txtSupplyChange┤   │   │   │ 
    TfrmODMeds.txtQuantityChange┤   │   │   │ 
         TfrmODMeds.grdDosesExit┤   │   │   │ 
     TfrmODMeds.cboXDosageChange┤   │   │   │ 
      TfrmODMeds.cboXDosageClick┤   │   │   │ 
     TfrmODMeds.cboXDosageExit┤ │   │   │   │ 
    TfrmODMeds.cboXDosageKeyUp┘ │   │   │   │ 
       TfrmODMeds.cboXDosageExit┤   │   │   │ 
   TfrmODMeds.cboXScheduleChange┤   │   │   │ 
        TfrmODMeds.txtNSSClick┘ │   │   │   │ 
    TfrmODMeds.cboXScheduleClick┤   │   │   │ 
       TfrmODMeds.chkXPRNClick┤ │   │   │   │ 
   TfrmODMeds.pnlXScheduleExit┘ │   │   │   │ 
     TfrmODMeds.pnlXScheduleExit┤   │   │   │ 
TfrmODMeds.txtXDurationChange...┤   │   │   │ 
     TfrmODMeds.pnlXDurationExit┤   │   │   │ 
          TfrmODMeds.chkPRNClick┤   │   │   │ 
      TfrmODMeds.cboScheduleExit┤   │   │   │ 
       TfrmODMeds.cboDosageKeyUp┤   │   │   │ 
      TfrmODMeds.cboXDosageKeyUp┘   │   │   │ 
       TfrmODMeds.chkPtInstructClick┤   │   │ 
          TfrmODMeds.chkDoseNowClick┤   │   │ 
     TfrmODMeds.SetOnQuickOrder...┘ │   │   │ 
              TfrmODMeds.chkPRNClick┤   │   │ 
       TfrmODMeds.cboXSequenceChange┤   │   │ 
         TfrmODMeds.txtRefillsChange┘   │   │ 
                 TfrmODMeds.InpatientSig┤   │ 
           TfrmODMeds.ControlChange...┘ │   │ 
             TfrmODMeds.ControlChange...┤   │ 
           TfrmODMeds.cboXDosageClick...┤   │ 
      TfrmODMeds.timCheckChangesTimer...┘   │ 
                 TfrmODMeds.ControlChange...┘ 

Called-By

Name Declaration Comments
TfrmODMeds.ControlChange procedure ControlChange(Sender: TObject); -
TfrmODMeds.FieldsForDose function FieldsForDose(ARow: Integer): string; -


Source

2862  function TfrmODMeds.ConstructedDoseFields(const ADose: string; PrependName: Boolean = FALSE): string;
2863  var
2864    i, DrugIndex: Integer;
2865    UnitsPerDose, Strength: Extended;
2866    Units, Noun, AName: string;
2867  begin
2868    DrugIndex := -1;
2869    for i := 0 to Pred(FAllDrugs.Count) do
2870      if AnsiSameText(Piece(FAllDrugs[i], U, 1), FDrugID) then
2871      begin
2872        DrugIndex := i;
2873        Break;
2874      end;
2875    Strength := StrToFloatDef(Piece(FAllDrugs[DrugIndex], U, 2), 0);
2876    Units    := Piece(FAllDrugs[DrugIndex], U, 3);
2877    AName    := Piece(FAllDrugs[DrugIndex], U, 4);
2878    if FAllDoses.Count > 0
2879      then Noun := Piece(Piece(FAllDoses[0], U, 3), '&', 4)
2880      else Noun := '';
2881    if Strength > 0
2882      then UnitsPerDose := ExtractFloat(ADose) / Strength
2883      else UnitsPerDose := 0;
2884    if (UnitsPerDose > 1) and (Noun <> '') and (CharAt(Noun, Length(Noun)) <> 'S')
2885      then Noun := Noun + 'S';
2886    Result := FloatToStr(ExtractFloat(ADose)) + '&' + Units + '&' + FloatToStr(UnitsPerDose)
2887              + '&' + Noun + '&' + ADose + '&' + FDrugID + '&' + FloatToStr(Strength) + '&'
2888              + Units;
2889    if PrependName then Result := AName + U + FloatToStr(Strength) + Units + U + U +
2890                                  Result + U + ADose;
2891    Result := UpperCase(Result);
2892  end;