$TXT Created by TOPPENBERG,KEVIN at FAMILY PHYSICANS OF GREENEVILLE (KIDS) on Thursday, October 29, 2009
============================================================================
Run Date: OCT 29,2009                   Designation: TMG-CPRS-LOOKUP*1.0*2
Package : TMG - FAMILY PHYSICANS OF GREENEVILLE  Priority: Optional
Version : 1       SEQ #1                       Status: Released
============================================================================

Associated patches: None

Subject: Patch to support custom lookups in CPRS (does not require TMG-CPRS)

Category:
  - Routine

Dependancies:
============
  This patch provides 1 stand-alone routine.  It's only dependancies are Fileman calls,
  and the original module ORWPT.  These should be already installed on every system
  that currently can utilize CPRS.  There are no other TMG patches that need to be  
  installed prior to installing this patch.

  Version 1 (TMG-CPRS-LOOKUP*1.0*1) is not required for the installation of this patch.

License:
============
  This patch is copyright 10/29/2009.  GNU Lessor General Public License (LGPL) applies.

Authors:
============
  Eddie Hagood and Kevin Toppenberg, Greeneville Family Physicians, PC

Description:
============

  This patch provides for enhanced patient lookup in CPRS, based on date of birth (DOB),
  partial name lookup (e.g. Smi,Jo for Smith,John etc), or telephone number.

  How to use:
  1. For DOB Lookup.
     There are no special selection buttons etc needed in CPRS to use this extra functionality.
     Where the user would normally type in the patients last name, instead a date of birth can
     be entered.  Examples:

     10/1/67
     10/01/1967
     October 1, 1967
     Oct 1,1967

     Each of the above examples will return a list of patients born on that date.

  2. For Partial Name Lookup.
     Enter a few letters from the last name, and then a few letters from the
     first name.  A list of matching patients will be returned.  Examples:

     Smi,Jo    <-- Will find all patients with last name starting with Smi, and first name starting
                    with Jo
     Cutsha,C  <-- E.g. will finds Cutshaws, Cutshalls etc with first name starting with C

   3. For Telephone Numbers.
     Enter the telephone number, either using parathesis around the area code, hyphens
     between the sets of numbers, or spaces between the sets of numbers.  Examples:

     (555)222-2222
     555 555 5555
     555-555-5555
     (555) 222-2222

     This return results from Residence, Work, and Cell Phone Numbers.
 
  TECHNICAL DETAILS
  ==========================

  When retrieving a list of patients based on user input, CPRS calls a remote procedure call (RPC) 
  named ORWPT LIST ALL.  This normally points to server code found at LISTALL^ORWPT.  In order 
  to customize the functionality, it was necessary to redirect this call to custom code, namely
  LISTALL^TMGHRPC2.  This code handles the special cases shown above, and if not found passes the
  call on to the original LISTALL^ORWPT.

  The installation process changes the ROUTINE field of the REMOTE PROCEDURE file from ORWPT to 
  TMGHRPC2.  If there is an error, or the functionality is unwanted, then this field may be changed
  back to its original value using Fileman edit functions.  That will return one's VistA system to
  it's original state.

  The code has been developed on a GT.M mumps system.  Every attempt was made to use coding 
  techniques that would be cross-platform to Cache'.  But the patch has NOT been tested on Cache'.
   
  INSTALLATION INSTRUCTIONS:
  ==========================
  This patch should cause minimal impact on live systems, as it provides only 1 routine,
  Installation will take less than 1 minute.  Users may remain on the system in roll-and-
  scroll mode.

  NOTE HOWEVER: All CPRS applications should be exited before installing the patch.  Otherwise
  CPRS users will find that the RPC call has been redirected to a routine that does not yet
  exist in their instance.  In GT.M, recompilation of routines etc only occurrs with a client
  first connects to the server.  We are not sure if this behavior applies to Cache' systems.  But
  the safest approach would be to have all users of CPRS exit their applications, and restart after
  application of the patch.

  Note: the follow instructions were copied from another KIDS install and modified.  There may be
  some discrepancies.

  The following are instructions for those using the Packman method:
  ------------------------------------------------------------------ 
  1.  Use the INSTALL/CHECK MESSAGE option on the PackMan menu.
   
  2.  Review your mapped set.  If any of the routines listed in the
      ROUTINE SUMMARY section are mapped, they should be removed
      from the mapped set at this time.
   
  3.  From the Kernel Installation and Distribution System Menu, select
      the Installation menu.
   
  4.  From this menu, you may elect to use the following options
      (when prompted for INSTALL NAME, enter TMG-CPRS-LOOKUP*1.0*1:
          a.  Backup a Transport Global
          b.  Compare Transport Global to Current System
          c.  Verify Checksums in Transport Global
   
  5.  Use the Install Package(s) option and select the package TMG-CPRS-LOOKUP*1.0*1
   
  6.  When prompted 'Want KIDS to INHIBIT LOGONs during the install? YES//'
      respond NO.
   
  7.  When prompted 'Want to DISABLE Scheduled Options, Menu Options, and
      Protocols? YES//', respond NO.
   
  8.  If routines were unmapped as part of step 2, they should be returned
      to the mapped set once the installation has run to completion.

  9.  (See step 9 below)

  The following are instructions for those loading the patch via Host File System:
  ---------------------------------------------------------------------------------
  1.  Navigate the menu option path to reach the Kernel Installation and Distribution
      System Menu.  Or, the menu option XPD MAIN may be entered directly.

  2.  Next, at the menu displaying:
          Edits and Distribution ...
          Utilities ...
          Installation ...     <---------- pick this one.

  3.  Next, at the menu displaying the options as below, choose each of the options
      in a step-by-step fashion, in numerical order (i.e. 1, 2, 3 etc.)  Step #1 will
      prompt the user to enter the file path on the host file system where the source
      file is stored.  The filename to enter is TMG-CPRS-LOOKUP-1.0-1.KIDS, but add the
      appropriate path.  E.g. /tmp/TMG-CPRS-LOOKUP-1.0-1.KIDS

       1      Load a Distribution
       2      Verify Checksums in Transport Global
       3      Print Transport Global
       4      Compare Transport Global to Current System
       5      Backup a Transport Global
       6      Install Package(s)
              Restart Install of Package(s)
              Unload a Distribution

  4.  From this menu, you may elect to use the following options
      (when prompted for INSTALL NAME, enter TMG-CPRS-LOOKUP*1.0*1
          a.  Backup a Transport Global
          b.  Compare Transport Global to Current System
          c.  Verify Checksums in Transport Global
   
  5.  Use the Install Package(s) option and select the package TMG-CPRS-LOOKUP*1.0*1
   
  6.  When prompted 'Want KIDS to INHIBIT LOGONs during the install? YES//'
      respond NO.
   
  7.  When prompted 'Want to DISABLE Scheduled Options, Menu Options, and
      Protocols? YES//', respond NO.
   
  8.  If routines were unmapped as part of step 2, they should be returned
      to the mapped set once the installation has run to completion.


=============================================================================
User Information:                               
Entered By  : TOPPENBERG,KEVIN            Date Entered : Oct 29,2009
Completed By: TOPPENBERG,KEVIN            Date Completed: Oct 29,2009
Released By : TOPPENBERG,KEVIN            Date Released : Oct 29,2009
=============================================================================

Packman Mail Message:
=====================

$END TXT 