$TXT Created by at DOSO.FO-BIRM.DOMAIN.EXT (KIDS) on Thursday, 05/29/25 at 08:56 ============================================================================= Run Date: AUG 06, 2025 Designation: PSO*7*774 Package : PSO - OUTPATIENT PHARMACY Priority: Mandatory Version : 7 SEQ #656 Status: Released Compliance Date: SEP 06, 2025 ============================================================================= Associated patches: (v)PSO*7*704 <<= must be installed BEFORE `PSO*7*774' (v)PSO*7*740 <<= must be installed BEFORE `PSO*7*774' (v)PSO*7*742 <<= must be installed BEFORE `PSO*7*774' (v)PSO*7*753 <<= must be installed BEFORE `PSO*7*774' Subject: OneVA Auto-Unpark and Auto-Release Category: - Routine - Enhancement (Mandatory) - Data Dictionary Description: ============ This patch implements the following updates to OneVA Pharmacy functionality: 1. Auto-Unpark Prescription via OneVA Pharmacy ------------------------------------------------------- When a refill or partial fill request is sent from the Dispensing Site via OneVA Pharmacy for a prescription that is parked at the Host Site, the prescription is Unparked at the Host Site. If the parked prescription does not have a fill date, the fill is logged as an original fill as the result of a refill request from the Dispensing Site. Note that a partial fill request will be inaccessible for a parked prescription with no fill date. Technical Description --------------------- Routines PSORWRAP, PSORREF, PSORREF0, PSORRPA1 and PSORRX2 were modified. PSORRX2 was modified to create a new PSORPH2 Tag that corresponds with the SCREEN field of PROTOCOL - PSO LM REMOTE PARTIAL. This PSORPH2 logic will make this PROTOCOL inaccessible when DUZ does not have the appropriate security key (as before), and (new with this patch) when the remote prescription is both parked and has no last fill date. PSORRPA1 was modified to create a new UNPARK subroutine to Unpark the prescription at the Host Site if it is Parked and to create an Activity Log entry for this Unpark Action with Initiator of Activity as PSOAPPLICATIONPROXY,PSO proxy user and Activity Log Date as NOW without a timestamp. Also, UNPARK subroutine checks if MAIL/WINDOW/PARK is not WINDOW and, if so, it will set it to that. Moreover, within PSORRPA1, Partial Fill logic that formerly set PSOPHDUZ to PHARMACIST (Field 23) of PRESCRIPTION File (#52) now uses PSOAPPLICATIONPROXY,PSO proxy user since the pharmacist performing the Unpark remotely through OneVA Pharmacy is not on file locally at the Host Site. PSORWRAP was modified to call UNPARK subroutine of the PSORRPA1 routine described above if there are no validation errors with the OneVA Pharmacy Refill/Partial fill request. PSORWRAP was also modified to send the ENTERED BY field (#16) in the PRESCRIPTION file (#52) as the Clerk, and to send the PROVIDER field (#4) in the PRESCRIPTION file (#52) as the Provider in the repeating HL7 field ORC.19-ACTION BY in the HL7 Acknowledgment sent back to the Dispensing Site if the Refill Request is determined to be an Original Fill Request on the Host Site. PSORREF was modified to add new ORGFILL subroutine that determines if a prescription is missing an original fill. If the prescription is missing an original fill, the PSOOFILL variable is set and used as a flag to perform the following tasks for original fills requested via OneVA Pharmacy: - Always store into PSOPHDUZ (DUZ of Outpatient Pharmacy Pharmacist) the application proxy user PSOAPPLICATIONPROXY,PSO. - Bypass the next possible fill checking. - Check if the incoming Fill Date is before the prescription's Issue Date and return an error if this is the case. - Persist the original fill date in the FILL DATE field (#22) in the PRESCRIPTION file (#52). - Calculate and persist the next possible fill date in the NEXT POSSIBLE FILL field (#102). - Persist the WINDOW in the MAIL/WINDOW/PARK field (#11) in the PRESCRIPTION file (#52). - Create an Activity Log entry to indicate that the FILL DATE now has a value and the Activity Log Date, for consistency with the Unpark Activity Log entry, should not display a Timestamp. - Bypass the UPDREF refill subroutine and update the top-level fields in the PRESCRIPTION file (#52) appropriate for an original fill. These include REMOTE FILL SITE (#91), REMOTE PHARMACIST (#92), and REMOTE PHARMACIST PHONE (#93). - Update the return message back to the Dispensing Site to indicate the prescription was Filled instead of Refilled. PSORREF0 was modified to bypass the call to EN^PSOR52 when PSOOFILL (Original Fill) is Flagged. 2. Remote Medication Alignment Issues ---------------------------------- An issue with the display of Issue Date in the Medication Profile was addressed. A blank Issue Date caused data displayed to the right of the Issue Date to be misaligned with their column headings. Furthermore, once VDIF was supplying PARKED indicator so that the ST (Status) column showed "AP", the fields to the right were pushed over by one character which also caused misalignment to occur. Technical Description --------------------- PSOORUT1 was modified to check if the local variable corresponding to Issue Date consisted of only a dash character and if so, add two spaces before and two spaces after the dash into these variables to replace the missing two digit month and two digit day. With this fix, other information to the right of the dates are now properly aligned. PSOORUT1 was further modified to create another Status variable which is formatted to include "P" when PARK is defined and, also, based on this latter variable value being flagged, the information will not get pushed unnecessarily to the right by one character. 3. New Remote Fields ----------------- New fields REMOTE FILL SITE (#91), REMOTE PHARMACIST (#92) and REMOTE PHARMACIST PHONE (#93) were added to the PRESCRIPTION file (#52). As mentioned, these fields are filed at the host site when an original fill is done via a OneVA Pharmacy refill request. Moreover, two additional new fields REMOTE FILLING PERSON (#96) and REMOTE CHECKING PHARMACIST (#97) were added which will be utilized when a prescription is dispensed via OPAI to an Automatic Dispensing Device (ADD). In addition, a new RELEASED DATE/TIME (#.16) was added to the REMOTE PRESCRIPTION LOG file (#52.09) which will store the date/time a prescription was auto-released on the Host Site immediately after OPAI ADD dispensing has occurred and the Host is updated. As part of this effort, a misspelling of the word 'occurred' was fixed, incomplete sentences rectified and adding of the mentioning of original fills in the PATIENT (#.02) and MESSAGE DETAILS (#2) fields of the REMOTE PRESCRIPTION LOG file (#52.09). 4. Auto-Release Proxy User ----------------------- Post install routine PSO7P774 adds new application proxy user PSOAUTORELEASE,PROXY USER to the NEW PERSON file (#200). This user will be utilized whenever an Auto-Release occurs via OneVA Pharmacy. 5. Update Host Site for a OneVA Original Fill ------------------------------------------ When the Host Site is updated as the result of successful OPAI Automatic Dispensing Device (ADD) dispensing, REMOTE FILLING PERSON and REMOTE CHECKING PHARMACIST for an Original Fill needed to be stored at the top-file level of the PRESCRIPTION File (#52) and, additionally, reflected in the Activity Log on the Host. Technical Description --------------------- Routines PSOHLDS6, PSORREF, and PSOORAL3 were modified. PSOHLDS6 was modified to proceed forward if PSOHSUB is blank so that Original Fill logic is done. When PSOHSUB is blank, PSOHSUBR is set to 0 (zero). PSORREF was modified to set the Activity Log to reflect Original Fill by recognizing PSOHSUBR as 0 (zero) and logging accordingly. It was also modified to set REMOTE FILLING PERSON and REMOTE CHECKING PHARMACIST at the top-file level of the PRESCRIPTION File (#52) along with setting LOT #, MANUFACTURER, and DRUG EXPIRATION DATE at the top-file level also for Original Fill. PSOORAL3 was modified to pull information from the "OF" node for Original Fill when it detects PSOP4 (Piece 4 of the Activity Log subrecord) to be 0 (zero) rather than greater than zero. 6. Update Dispensing Site with Last Fill in Medication Profile ----------------------------------------------------------- When a refill request or partial fill request is done on the Dispensing Site resulting in an Original Fill, Refill, or Partial Fill to successfully conclude on the Host Site, the Last Fill column of the Medication Profile of the Dispensing Site should match the Host Site. Technical Description --------------------- PSORWRAP routine was modified to call into EN Tag of PSOHLSN1 Routine immediately after the call to BLDACK for either a refill request or partial fill request. 7. Incorrect Message "Could not match remote drug" ------------------------------------------------ When a OneVA Pharmacy fill is requested at the dispensing site, an attempt is made to match the drug from the host site to a drug at the dispensing site, first by exact match on drug name with dose, and if that fails, a search is performed for a drug with a matching VA Product ID. If a match is found, but not selected, a message is displayed to the user explaining there were no other local matches for the drug: "No other local match could be found for . You may need to update your Drug file to process this order." This message is valid and accurately informs the user of the state of the fill request. However, following this message, an additional message is displayed: "Could not match remote drug to a local drug. Cannot refill Rx #nnnn." This second message is not accurate, as a drug match was made, but not accepted/selected by the user. The message indicating the prescription cannot be refilled is correct as the user chose not to complete the request. This final message has been changed to state the prescription cannot be refilled: "Cannot refill Rx # ####" for refill requests, and the prescription cannot be partial filled: "Cannot process a partial fill for Rx # ####" for partial fill requests. Technical Description ----------------------- The REFREQ^PSORRX1 and PARTIAL^PSORRX1 subroutines were modified to remove "Could not match remote drug to a local drug." text from in front of "Cannot refill Rx #nnnn." (Refill) or "Cannot process a partial fill for Rx # ####" (Partial Fill) respectively. 8. Auto-Release on Host Site for Original Fills, Refills and Partials ------------------------------------------------------------------ Whenever an Original Fill, Refill or Partial is dispensed via OPAI Automated Dispensing Device on the dispensing site and the host site is subsequently updated with the dispensing information, an Auto-Release operation needs to occur which will update PHARMACIST NAME in the REFILL or PARTIAL DATE Sub-Record with PSOAUTORELEASE,PROXY USER as well as updating RELEASED DATE/TIME in either Sub-Record with NOW. For Original Fills, the PHARMACIST is updated at the top-file level with PSOAUTORELEASE,PROXY USER and RELEASED DATE/TIME at this level to NOW. Furthermore, RELEASED DATE/TIME in the corresponding REMOTE PRESCRIPTION LOG record that corresponds to the Refill or Partial Fill request should be updated to NOW as well. Moreover, copay transaction and ECME should be triggered whenever appropriate as would normally be done locally on the host site for an Original Fill or Refill. Technical Description --------------------- Routine PSOHLDS6 was modified to include a new UPDHREL Tag which will dispatch the logic detailed immediately above for Original Fills, Refills and Partial Fills and routine PSORREF will be modified within the UPDH Tag to call into UPDHREL Tag of PSOHLDS6 for each Fill Type. Note also that the UPDHREL logic will set DUZ to whatever it is for PSOAUTORELEASE,PROXY USER by calling into DUZ Tag of XUP Routine as this DUZ has to be present for downstream copay and ECME processing. Furthermore, as part of ECME processing, logic within the REMREF Tag of the PSORREF Routine had to be updated to process ECME logic for Original Fills so that an ECME status exists for downstream Auto- Release processing of NDC changes. As part of this, POSTMASTER as Originator of Activity was fixed to link to the PSOAPPLICATIONPROXY,PSO proxy user within the RXACT Tag of PSOBPSU2 routine. 9. Display 'Active/Parked' Status for remote OneVA prescriptions ----------------------------------------------------------------------- The parked indicator now displays on the Medication Profile on the Dispensing Site for remote OneVA prescriptions that are parked at the Host Site by displaying "AP" in the status column, consistent with the display of locally parked prescriptions. Furthermore, when one of the remote OneVA prescriptions is selected, it will show "ACT/PK" in parentheses after "REMOTE OP Medications" in the header so that nothing gets truncated. Technical Description ---------------------- The parked indicator in the PARK field (#521012) in the PRESCRIPTION file (#52) was added to the 16th piece of the RDT segment in the RTN^K13 HL7 response from VDIF containing the patient's medication profile. This value is parsed from the HL7 message in PSORRX1 and a "P" is appended to the prescription status in routine PSOORUT1 if the value is set to 1 (true). Furthermore, within PSOROS routine's INIT Tag, "ACTIVE" is truncated to "ACT" and "/PK" is added when PARK indicator is detected for a remote OneVA prescription. 10.Requesting Pharmacist's Name Incorrect on PSO REMOTE RX REPORT -------------------------------------------------------------- The remote filling person was incorrectly being displayed as the requesting pharmacist on the OneVA Pharmacy Prescription Report [PSO REMOTE RX REPORT] at the Host Site. The name displayed on the report as the requesting pharmacist has been changed to reflect the remote pharmacist who requested the OneVA refill or partial fill on the dispensing site and not the remote filling person. This will make the name of the requesting pharmacist displayed on the report at the Host Site match the name of the requesting pharmacist displayed in the report on the Dispensing Site. Technical Description --------------------- The OneVA Pharmacy Prescription Report [PSO REMOTE RX REPORT] routine SEL+24^PSORRP incorrectly retrieved requesting pharmacist from REMOTE FILLING PERSON field (#.061) in the REMOTE PRESCRIPTION file (#52.09) if the fill request was received remotely (from a Dispensing Site). This has been changed to retrieve REMOTE PHARMACIST (#92) from PRESCRIPTION (#52) if original fill, REMOTE PHARMACIST (#92) from REFILL DATE sub-file (#52.1) if refill, or REMOTE PHARMACIST (#92) from PARTIAL DATE sub-file (#52.2) if partial fill. 11.Text "Processed at " Incorrectly Added Local Fill ------------------------------------------------------------------ The activity log for a locally filled prescription adds the text "Processed at " to the comment when a OneVA partial fill request is made later the same day. Technical Description --------------------- On the line within the REMDATA tag of the PSOORAL3 routine that processes partial fill activity log information, remove from the $SELECT the check for PSOP4 equal to 0. 12."Patient Narrative" Showing Incorrectly in HL7 NTE Segment ---------------------------------------------------------- When an ACK (Acknowledgement) is being built to send back to the dispensing site from the host site, one of the HL7 NTE segments says "Patient Narrative" even though it is generic narrative data being generated. Technical Description --------------------- To fix this the NTE2SV Tag of PSOHLDS5 Routine removes "Patient" from "Patient Narrative" so that we are left with "Narrative". EHRM Impact Statement: ---------------------- This patch should have no EHRM impact, and can be installed at all sites, including EHRM converted sites. Patch Components: ----------------- Files & Fields Associated: File Name (Number) Field Name (Number) New/Modified/Deleted ------------------ ------------------- -------------------- PRESCRIPTION (52) REMOTE FILL SITE (91) New REMOTE PHARMACIST (92) New REMOTE PHARMACIST (93) New PHONE REMOTE FILLING (96) New PERSON REMOTE CHECKING (97) New PHARMACIST REMOTE PRESCRIPTION RELEASED DATE/ (.16) New LOG (52.09) TIME PATIENT (.02) Modified MESSAGE DETAILS (2) Modified Forms Associated: Form Name File Number New/Modified/Deleted --------- ----------- -------------------- N/A Mail Groups Associated: Mail Group Name New/Modified/Deleted --------------- -------------------- N/A Options Associated: Option Name Type New/Modified/Deleted ----------- ---- -------------------- N/A Protocols Associated: Protocol Name New/Modified/Deleted ------------- -------------------- PSO LM REMOTE PARTIAL Modified Security Keys Associated: Security Key Name ----------------- N/A Templates Associated: Template Name Type File Name (Number) New/Modified/Deleted ------------- ---- ------------------ -------------------- N/A Remote Procedure Calls: Remote Procedure Name New/Modified/Deleted --------------------- -------------------- N/A Parameter Definitions Associated: Parameter Name New/Modified/Deleted -------------- -------------------- N/A Additional Information: ----------------------- Blood Bank Team Coordination: N/A New Service Requests (NSRs): ------------------------------ NSR 20180807 - OneVA Pharmacy Phase II Patient Safety Issues (PSIs): N/A Defect Tracking System Ticket(s) & Overview: N/A Test Sites: ---------- Minneapolis VA Healthcare System Kansas City VA Medical Center Miami VA Healthcare System Test Sites - SNOW Change Orders: -------------------------------- Minneapolis VA Healthcare System: CHG061837 Kansas City VA Medical Center: CHG0621834 Miami VA Healthcare System: CHG0620799 Documentation Retrieval Instructions: ------------------------------------- The software for this patch is being released in a PackMan message. Documentation describing the new functionality is included in this release. Documentation can be found on the VA Software Documentation Library at: https://www.domain.ext/vdl/. Documentation can also be obtained at https://download.vista.domain.ext/index.html/SOFTWARE. Title File Name ------------------------------------------------------------------ PSO*7.0*774 Deployment, Installation, PSO_7_0_P774_DIBRG.DOCX Backout, Rollback Guide Outpatient Pharmacy (PSO) Version PSO_7_0_P774_ONEVA_UM.DOCX 7.0 OneVA Pharmacy User Manual PSO_7_0_P774_ONEVA_UM.PDF Outpatient Pharmacy (PSO) Version PSO_7_MAN_UM.DOCX 7.0 Manager's User Manual PSO_7_MAN_UM.PDF Outpatient Pharmacy (PSO) Version PSO_7_0_TMSG.DOCX 7.0 Technical Manual / Security Guide PSO_7_0_TMSG.PDF Patch Installation: ------------------- Pre/Post Installation Overview: Pre-Installation Instructions: The installation of this patch can be queued. This patch may be installed with users on the system although it is recommended that it be installed during non-peak hours to minimize potential disruption to users. This patch should take less than 5 minutes to install. Post-Installation Instructions: Installation Instructions: 1. Choose the PackMan message containing this build. Then select the INSTALL/CHECK MESSAGE PackMan option to load the build. 2. From the Kernel Installation and Distribution System Menu, select the Installation Menu. From this menu, a. Select the Verify Checksums in Transport Global option to confirm the integrity of the routines that are in the transport global. When prompted for the INSTALL NAME enter the patch or build name PSO*7.0*774. b. Select the Backup a Transport Global option to create a backup message. You must use this option and specify what to backup; the entire Build or just Routines. The backup message can be used to restore the routines and components of the build to the pre-patch condition. i. At the Installation option menu, select Backup a Transport Global ii. At the Select INSTALL NAME prompt, enter build PSO*7.0*774. iii. When prompted for the following, enter "R" for Routines or "B" for Build. Select one of the following: B Build R Routines Enter response: Build iv. When prompted "Do you wish to secure this message? NO//", press and take the default response of "NO". v. When prompted with, "Send mail to: Last name, First Name", press to take default recipient. Add any additional recipients. vi. When prompted with "Select basket to send to: IN//", press and take the default IN mailbox or select a different mailbox. c. You may also elect to use the following options: i. Print Transport Global - This option will allow you to view the components of the KIDS build. ii. Compare Transport Global to Current System - This option will allow you to view all changes that will be made when this patch is installed. It compares all of the components of this patch, such as routines, DDs, templates, etc. d. Select the Install Package(s) option and choose the patch to install. i. When prompted 'Want KIDS to Rebuild Menu Trees Upon Completion of Install? NO//', answer NO. ii. When prompted 'Want KIDS to INHIBIT LOGONs during the install? NO//', answer NO. iii. When prompted 'Want to DISABLE Scheduled Options, Menu Options, and Protocols? NO//', answer NO. Post-Installation Instructions: Back-Out/Roll Back Plan: ------------------------ Please refer to the "Deployment, Installation, Back-Out, and Rollback Guide" for installation, post-install instructions and back-out procedures. This document is exported as PSO_7_0_P774_DIBRG. Routine Information: ==================== The second line of each of these routines now looks like: ;;7.0;OUTPATIENT PHARMACY;**[Patch List]**;DEC 1997;Build 15 The checksums below are new checksums, and can be checked with CHECK1^XTSUMBLD. Routine Name: PSO7P774 Before: n/a After: B3147427 **774** Routine Name: PSOBPSU2 Before: B81437155 After: B82439481 **260,287,289,341,290,358,359, 385,421,459,482,512,544,562, 660,681,703,704,774** Routine Name: PSOHLDS5 Before:B211463834 After:B211727248 **643,728,742,774** Routine Name: PSOHLDS6 Before: B7594556 After: B21892687 **643,736,774** Routine Name: PSOORAL3 Before: B31010407 After: B40552673 **643,774** Routine Name: PSOORUT1 Before:B148733758 After:B155604678 **1,14,30,46,132,148,233,274, 225,305,289,251,387,385,313, 427,444,454,508,562,441,736, 753,774** Routine Name: PSOROS Before: B917829 After: B2232215 **454,774** Routine Name: PSORREF Before: B74201946 After:B141603468 **454,475,497,643,740,774** Routine Name: PSORREF0 Before: B42566799 After: B42990555 **454,497,774** Routine Name: PSORRP Before: B85234608 After: B94800529 **454,643,774** Routine Name: PSORRPA1 Before:B116292673 After:B134537926 **454,475,497,643,740,774** Routine Name: PSORRX1 Before:B180118983 After:B181603429 **454,499,509,519,532,594,643, 736,740,774** Routine Name: PSORRX2 Before: B63587703 After: B66587410 **454,479,497,541,643,728,774** Routine Name: PSORWRAP Before:B159177107 After:B171624682 **454,475,541,559,643,774** Routine list of preceding patches: 704, 740, 742, 753 ============================================================================= User Information: Entered By : Date Entered : OCT 16, 2024 Completed By: Date Completed: AUG 06, 2025 Released By : Date Released : AUG 06, 2025 ============================================================================= Packman Mail Message: ===================== $END TXT