Function

getSANFromCard

Module

XuDsigS

Last Modified

7/15/2014 3:26:44 PM

Scope

Interfaced

Declaration

function getSANFromCard(InputForm: TComponent; crypto: tCryptography): String;

Calls Hierarchy


getSANFromCard
 ├checkPINValue
 │ ├sCardReady
 │ │ ├SCardEstablishContext
 │ │ ├SCardListReadersA
 │ │ └SCardConnectA
 │ ├CryptAcquireContext
 │ ├setPINValue
 │ │ ├CryptAcquireContext
 │ │ ├CryptSetProvParam
 │ │ └CryptReleaseContext
 │ └CryptReleaseContext
 └tCryptography.FindCert
   ├CertOpenSystemStore
   ├CertEnumCertificatesInStore
   ├CertGetNameString
   ├SerialNum
   ├CertDateTimeStr
   ├tCryptography.SigningCert
   │ └CertGetIntendedKeyUsage
   ├CertVerifyTimeValidity
   ├CertFindExtension
   ├tCryptography.CRLDistPoint
   │ └CryptDecodeObject
   ├Revco
   │ └CertVerifyRevocation
   └tCryptography.CertChainCheck
     ├CertCreateCertificateChainEngine
     ├Memo
     ├tCryptography.RaiseErr
     ├CertGetCertificateChain
     └SetStatus
       └Memo

Called-By Hierarchy


                                                    getSANFromCard
                                                          SetSAN┘ 
                           TfrmFrame.DigitalSigningSetup1Click┤   
                                             ExecuteSignOrders┤   
                                  TfrmOrders.mnuActSignClick┘ │   
                                         TfrmReview.cmdOKClick┘   
                                               ReviewChanges┘     
                           TfrmFrame.AllowContextChangeAll┤       
                                TfrmFrame.FormCloseQuery┤ │       
                              TfrmFrame.mnuFileNextClick┤ │       
                            TfrmFrame.mnuFileOpenClick┤ │ │       
                                TfrmFrame.UMInitiate┤ │ │ │       
                       TfrmFrame.mnuFileNextClick...┤ │ │ │       
                       TfrmFrame.mnuFileRefreshClick┤ │ │ │       
                       TfrmOrders.CheckOrderStatus┤ │ │ │ │       
                   TfrmOrders.mnuActChgEvntClick┤ │ │ │ │ │       
                      TfrmOrders.mnuActHoldClick┤ │ │ │ │ │       
                    TfrmOrders.mnuActUnholdClick┤ │ │ │ │ │       
                     TfrmOrders.mnuActRenewClick┤ │ │ │ │ │       
                    TfrmOrders.mnuActChangeClick┤ │ │ │ │ │       
                      TfrmOrders.mnuActCopyClick┘ │ │ │ │ │       
                            TfrmMeds.mnuActDCClick┤ │ │ │ │       
                           TfrmMeds.CheckMedStatus┘ │ │ │ │       
                        TfrmMeds.mnuActHoldClick┤   │ │ │ │       
                       TfrmMeds.mnuActRenewClick┤   │ │ │ │       
                      TfrmMeds.mnuActUnholdClick┤   │ │ │ │       
                      TfrmMeds.mnuActChangeClick┤   │ │ │ │       
                        TfrmMeds.mnuActCopyClick┤   │ │ │ │       
                      TfrmMeds.mnuActRefillClick┘   │ │ │ │       
                                  TfrmFrame.ViewInfo┘ │ │ │       
                               TfrmDCSumm.ViewInfo┤   │ │ │       
                             TfrmConsults.ViewInfo┤   │ │ │       
                     TfrmFrame.pnlRemindersMouseUp┤   │ │ │       
                      TfrmFrame.RemindersChanged┘ │   │ │ │       
                          TfrmFrame.FormCreate┘   │   │ │ │       
                            TfrmFrame.pnlCIRNClick┤   │ │ │       
                      TfrmFrame.pnlVistaWebClick┤ │   │ │ │       
                           TfrmFrame.FormKeyDown┘ │   │ │ │       
                         TfrmFrame.pnlPatientClick┤   │ │ │       
                           TfrmFrame.pnlVisitClick┤   │ │ │       
                     TfrmFrame.pnlPrimaryCareClick┤   │ │ │       
                       TfrmFrame.pnlRemindersClick┤   │ │ │       
                        TfrmFrame.pnlPostingsClick┤   │ │ │       
                            TfrmFrame.pnlFlagClick┤   │ │ │       
                              TfrmFrame.laMHVClick┤   │ │ │       
                             TfrmFrame.laVAA2Click┤   │ │ │       
                               TfrmOrders.ViewInfo┤   │ │ │       
                                 TfrmMeds.ViewInfo┤   │ │ │       
                              TfrmSurgery.ViewInfo┤   │ │ │       
                                TfrmNotes.ViewInfo┤   │ │ │       
                             TfrmProblems.ViewInfo┘   │ │ │       
                     TfrmFrame.mnuFileNotifRemoveClick┤ │ │       
                             TfrmFrame.NextButtonClick┘ │ │       
                           TfrmFrame.SetUpNextButton┘   │ │       
                     TfrmFrame.mnuFileOpenClick...┤     │ │       
                              TfrmFrame.FormResize┘     │ │       
                            TfrmFrame.ChangeFont┘       │ │       
                    TfrmFrame.LoadSizesForUser┤         │ │       
               TfrmFrame.LoadUserPreferences┘ │         │ │       
                      TfrmFrame.UMInitiate┘   │         │ │       
                    TfrmFrame.mnuFontSizeClick┘         │ │       
                           TfrmFrame.mnuFileOpenClick...┤ │       
                           TfrmFrame.ctxContextorPending┤ │       
                          TfrmFrame.StartCCOWContextor┘ │ │       
                                TfrmFrame.FormCreate┘   │ │       
                         TfrmFrame.ctxContextorCommitted┤ │       
                       TfrmFrame.StartCCOWContextor...┘ │ │       
                  TfrmFrame.mnuFileResumeContextGetClick┤ │       
                  TfrmFrame.mnuFileResumeContextSetClick┘ │       
                                  TfrmFrame.FormCloseQuery┤       
                              TfrmFrame.mnuFileReviewClick┤       
                                           UpdateEncounter┘       
                         TfrmFrame.mnuFileEncounterClick┤         
                                 TfrmFrame.ViewInfo...┤ │         
                    TfrmODMedIV.SetValuesFromResponses┤ │         
                             TfrmODMedIV.SetupDialog┤ │ │         
                   TfrmODMedIV.cboSolutionMouseClick┘ │ │         
                       TfrmODMedIV.cboSolutionExit┘   │ │         
                  TfrmODMedIV.cboSolutionMouseClick...┤ │         
                     TfrmODMedIV.cboAdditiveMouseClick┤ │         
                         TfrmODMedIV.cboAdditiveExit┘ │ │         
                                TfrmODAuto.SetupDialog┤ │         
                                   ActivateOrderDialog┤ │         
                           TfrmRemDlg.btnFinishClick┤ │ │         
           TfrmConsults.mnuActNewConsultRequestClick┤ │ │         
                   TfrmConsults.cmdNewConsultClick┘ │ │ │         
                TfrmConsults.mnuActNewProcedureClick┤ │ │         
                      TfrmConsults.cmdNewProcClick┘ │ │ │         
                                        ChangeOrders┤ │ │         
                      TfrmOrders.mnuActChangeClick┤ │ │ │         
                        TfrmMeds.mnuActChangeClick┘ │ │ │         
                                     ChangeOrdersEvt┤ │ │         
                                          CopyOrders┤ │ │         
                        TfrmOrders.mnuActCopyClick┤ │ │ │         
                          TfrmMeds.mnuActCopyClick┤ │ │ │         
                           TfrmODActive.btnOKClick┘ │ │ │         
                                      TransferOrders┤ │ │         
                        TfrmOrders.mnuActCopyClick┤ │ │ │         
                          TfrmMeds.mnuActCopyClick┤ │ │ │         
                           TfrmODActive.btnOKClick┘ │ │ │         
                            TfrmOrders.lstWriteClick┤ │ │         
               TfrmOrders.PlaceOrderForDefaultDialog┤ │ │         
                  TfrmOrders.DisplayDefaultDlgList┤ │ │ │         
                       TfrmOrders.ResetOrderPage┘ │ │ │ │         
               TfrmOrders.btnDelayedOrderClick┘   │ │ │ │         
                                 DisplayEvntDialog┤ │ │ │         
                             SetDelayEventForMed┘ │ │ │ │         
                      TfrmMeds.mnuActCopyClick┘   │ │ │ │         
                                 DisplayEvntDialog┤ │ │ │         
                                  SetViewForCopy┘ │ │ │ │         
                    TfrmOrders.mnuActCopyClick┘   │ │ │ │         
                                 DisplayEvntDialog┘ │ │ │         
                                ExecuteChangeEvt┘   │ │ │         
                 TfrmOrders.mnuActChgEvntClick┘     │ │ │         
                             TfrmMeds.mnuActNewClick┤ │ │         
                           TfrmOMNavA.ActivateDialog┤ │ │         
                         TfrmOMNavA.grdMenuKeyDown┤ │ │ │         
                         TfrmOMNavA.grdMenuMouseUp┘ │ │ │         
                                TfrmOMSet.DoNextItem┘ │ │         
                              TfrmOMSet.InsertList┤   │ │         
                               ActivateOrderList┘ │   │ │         
                     TfrmRemDlg.btnFinishClick┤   │   │ │         
                             ActivateOrderHTML┤   │   │ │         
                    TfrmOrders.lstWriteClick┤ │   │   │ │         
    TfrmOrders.PlaceOrderForDefaultDialog...┘ │   │   │ │         
                              ActivateOrderSet┤   │   │ │         
                   TfrmRemDlg.btnFinishClick┤ │   │   │ │         
TfrmConsults.mnuActNewConsultRequestClick...┤ │   │   │ │         
     TfrmConsults.mnuActNewProcedureClick...┤ │   │   │ │         
                    TfrmOrders.lstWriteClick┤ │   │   │ │         
    TfrmOrders.PlaceOrderForDefaultDialog...┤ │   │   │ │         
                     TfrmMeds.mnuActNewClick┤ │   │   │ │         
                TfrmOMNavA.ActivateDialog...┤ │   │   │ │         
                     TfrmOMSet.DoNextItem...┘ │   │   │ │         
                       TfrmOMNavA.DoSelectList┘   │   │ │         
                     TfrmOMNavA.grdMenuKeyUp┤     │   │ │         
                   TfrmOMNavA.grdMenuMouseUp┘     │   │ │         
                                        SkipToNext┤   │ │         
                         TfrmOMSet.DoNextItem...┘ │   │ │         
                            TfrmOMSet.UMDelayEvent┘   │ │         
                               TfrmOMSet.InsertList...┤ │         
                                TfrmODMeds.SetupDialog┤ │         
                             TfrmODMeds.btnSelectClick┤ │         
                             TfrmODMeds.UMDelayClick┘ │ │         
                                    ExecuteRenewOrders┘ │         
                         TfrmOrders.mnuActRenewClick┤   │         
                           TfrmMeds.mnuActRenewClick┘   │         
                                        EncounterPresent┤         
                                      ReadyForNewOrder┤ │         
                           TfrmRemDlg.btnFinishClick┤ │ │         
        TfrmConsults.mnuActNewConsultRequestClick...┤ │ │         
             TfrmConsults.mnuActNewProcedureClick...┤ │ │         
                                     ChangeOrders...┤ │ │         
                                     ChangeOrdersEvt┤ │ │         
                                       CopyOrders...┤ │ │         
                                   TransferOrders...┤ │ │         
                            TfrmOrders.lstWriteClick┤ │ │         
                             TfrmMeds.mnuActNewClick┘ │ │         
                                     ReadyForNewOrder1┤ │         
            TfrmOrders.PlaceOrderForDefaultDialog...┘ │ │         
                              TfrmOrders.mnuActDCClick┤ │         
                             TfrmOrders.mnuActRelClick┤ │         
                            TfrmOrders.mnuActHoldClick┤ │         
                          TfrmOrders.mnuActUnholdClick┤ │         
                           TfrmOrders.mnuActRenewClick┤ │         
                         TfrmOrders.mnuActReleaseClick┤ │         
                         TfrmOrders.mnuActOnChartClick┤ │         
                            TfrmOrders.mnuActSignClick┤ │         
                                TfrmMeds.mnuActDCClick┤ │         
                              TfrmMeds.mnuActHoldClick┤ │         
                             TfrmMeds.mnuActRenewClick┤ │         
                            TfrmMeds.mnuActUnholdClick┤ │         
                              TfrmMeds.mnuActCopyClick┤ │         
                            TfrmMeds.mnuActRefillClick┘ │         
                                     EncounterPresentEDO┤         
                                   ReadyForNewOrder...┤ │         
                         TfrmOrders.mnuActChgEvntClick┤ │         
                          TfrmOrders.mnuActChangeClick┤ │         
                            TfrmOrders.mnuActCopyClick┤ │         
                       TfrmOrders.btnDelayedOrderClick┤ │         
                            TfrmMeds.mnuActChangeClick┤ │         
                              TfrmMeds.mnuActCopyClick┘ │         
                                             UpdateVisit┤         
                                           EditPCEData┤ │         
                             TfrmSurgery.cmdPCEClick┤ │ │         
                                 UpdateEncounterInfo┘ │ │         
                             TfrmNotes.cmdPCEClick┘   │ │         
                        TfrmVitals.btnEnterVitalsClick┘ │         
                                             UpdateVisit┤         
                                        EncounterPresent┘         
                         TfrmProblems.lstProbActsClick┘           
                     TfrmProblems.wgProbDataDblClick┤             
                           TfrmProblems.lstViewClick┘             
                   TfrmProblems.HighlightDuplicate┘               
                         TfrmProblems.AddProblem┤                 
              TfrmProblems.lstProbActsClick...┤ │                 
                 TfrmProblems.lstProbPickClick┤ │                 
              TfrmProblems.lstProbPickDblClick┤ │                 
              TfrmProblems.edProbEntKeyPress┘ │ │                 
                      TfrmProblems.UMPLLexicon┘ │                 
                   TfrmdlgProb.bbChangeProbClick┘                 

Calls

Name Declaration Comments
checkPINValue function checkPINValue(InputForm: TComponent): TPINResult; -
tCryptography.FindCert function FindCert: boolean; -

Called-By

Name Declaration Comments
SetSAN function SetSAN(Self: TComponent): string; -


Source

1635  function getSANFromCard(InputForm: TComponent; crypto: tCryptography): String;
1636  var
1637   errMsg: String;
1638   cpvRes: TPINResult;
1639  begin
1640    crypto.TrackingMsg.Clear;
1641    crypto.TrackingMsg.Add('Entered getSANFromCard');
1642    SANFromCard := '';
1643    cpvRes := checkPINValue(InputForm);
1644    if (cpvRes = prOK) then
1645    begin
1646      crypto.FindCert;
1647    end;
1648    result := SANFromCard;
1649    if result = '' then
1650    begin
1651      errMsg :=    'Please verify that you are logged on to the CPRS system and that your PIV card is inserted.';
1652      errMsg := errMsg + ' There is a possible mismatch between your VistA last name and the last name of the certificate on your card.';
1653      errMsg := errMsg + ' If it matches and you are still experiencing issues, please contact your card issuer for assistance.';
1654  //    crypto.TrackingMsg.Add('SAN value returned as null string');
1655      if (not(cpvRes=prCancel)) then ShowMessage(errMsg);
1656  //  crypto.SaveLog(); // 121214 remove saving of log to PKISignError
1657    end;
1658  end;