9. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 3/31/2017 1:06:34 PM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

9.1 Files compared

# Location File Last Modified
1 EPIP_submissions.zip\EPIP_submissions\docs\PSD_3.0_81 EPIP_Remediation_Plan_(PSD_3.0_81).docx Fri Mar 31 16:50:14 2017 UTC
2 EPIP_submissions.zip\EPIP_submissions\docs\PSD_3.0_81 EPIP_Remediation_Plan_(PSD_3.0_81).docx Fri Mar 31 17:56:27 2017 UTC

9.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 4 734
Changed 3 6
Inserted 0 0
Removed 0 0

9.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

9.4 Active regular expressions

No regular expressions were active.

9.5 Comparison detail

  1   Existing P roduct Int ake Progra m (EPIP)
  2   Patch PSD* 3.0*81
  3   Remediatio n Plan
  4  
  5  
  6   Department  of Vetera ns Affairs
  7   February 2 017
  8   Version 3. 0
  9  
  10  
  11  
  12   Revision H istory
  13   Date
  14   Version
  15   Descriptio n
  16   Author
  17   02/15/2017
  18   3.0
  19   Minor edit s througho ut. Update s to routi ne PSDNRGS  in Append ix B. 
  20   EPIP Proje ct Team
  21   12/22/2016
  22   2.0
  23   Updated en tire docum ent
  24   EPIP Proje ct Team
  25   11/28/2016
  26   1.0
  27   Initial (d raft) vers ion
  28   EPIP Proje ct Team
  29  
  30  
  31  
  32  
  33   Table of C ontents
  34   1.Introduc tion1
  35   2.Purpose1
  36   3.Patch De scription1
  37   3.1.Needs  and Requir ements1
  38   4.Points o f Contact1
  39   5.Code Rem ediation2
  40   5.1.Standa rds and Co nventions2
  41   5.2.Review  and Analy sis2
  42   5.3.Coding  Changes2
  43   6.Testing2
  44   6.1.Test P lan2
  45   6.2.Test E nvironment 3
  46   6.3.Test R eadiness R eview3
  47   6.4.Testin g Phases3
  48   6.4.1.Unit  Testing3
  49   6.4.2.Comp onent Inte gration an d Systems  Testing (C I/ST)3
  50   6.4.3.Func tional Tes ting3
  51   6.4.4.Regr ession Tes ting4
  52   6.4.5.Sect ion 508 Co mpliance T esting4
  53   7.Document ation Reme diation4
  54   7.1.User G uides4
  55   7.2.Instal lation Gui des4
  56   7.3.Techni cal Manual s4
  57   7.4.Operat ions Manua ls4
  58   8.Project  Reporting5
  59   9.Project  Schedule5
  60   10.Deploym ent5
  61   11.Sustain ment Requi rements5
  62   12.Mainten ance and K nowledge T ransfer5
  63   Appendix A :XINDEX Li sting for  MUMPS Code  Changes6
  64   Appendix B :Source Co de Changes 7
  65  
  66  
  67  
  68   Introducti on
  69   The Depart ment of Ve terans Aff airs (VA)  currently  utilizes t he Veteran s Health I nformation  Systems a nd Technol ogy Archit ecture (Vi stA) suite  of applic ations to  provide cl inical, fi nancial, i nfrastruct ure, and m anagement  tools. The  process o f advancin g “Class 3 ” field-de veloped Vi stA softwa re to “Cla ss 1” nati onally-dis tributed s tatus is r eferred to  as the Ex isting Pro duct Intak e Program  (EPIP). Th e VA’s goa l is to su pplement o ngoing act ivities as sociated w ith evalua ting and a dvancing f ield-devel oped softw are to a s tate that  meets nati onal stand ards and f acilitates  release f or Veteran s Health A dministrat ion (VHA)- wide use.
  70   Purpose
  71   The purpos e of this  document i s to fully  describe  the remedi ation plan  to be use d for the  successful  remediati on and tes ting of th e intake p roduct cod e to be de ployed as  patch PSD* 3.0*81. Th is patch a ddresses t he followi ng NSR:
  72   NSR2015011 6 Verify t he Correct  Quantity  of Control led Substa nces
  73   This NSR h as been im plemented  locally at  the follo wing VA Me dical Cent ers: Kansa s City MO,  Columbia  MO, Topeka  KS, Leave nworth KS,  and Wichi ta KS.
  74   This docum ent addres ses the sc hedule, co de remedia tion, test ing, docum entation,  and delive ry of this  remediati on effort.
  75   Patch Desc ription
  76   Patch PSD* 3.0*81 ena bles nurse s to verif y the disp ense unit  (for examp le, ML, TA B, CAP) of  controlle d substanc es sent fr om the pha rmacy. Whe n a nurse  sends a re quest for  controlled  substance s to the p harmacy, a  Narcotic  Pharmacist  fills the  order and  prints a  standard G reen Sheet  that item izes the d rugs and q uantities.  This enha ncement ad ds each dr ug’s dispe nse unit t o the Gree n Sheet.
  77   Needs and  Requiremen ts
  78   The Needs  and Requir ements for  NSR201501 16 Verify  the Correc t Quantity  of Contro lled Subst ances are:
  79   NEED 49901 3: Display  Dispense  Unit of Co ntrolled S ubstances  – For VA n ursing sta ff who uti lize the ˜ Receipt of  Controlle d Substanc e from Pha rmacy” opt ion when s igning ˜Gr een Sheets ” to verif y quantiti es receive d from the  Pharmacy.  The abili ty to see  the dispen se unit of  the contr olled subs tance disp layed on t he receipt  form prov ided by th e pharmacy .
  80   Points of  Contact
  81   The VA Poi nt of Cont act (POC)  for NSR201 50116 Veri fy the Cor rect Quant ity of Con trolled Su bstances i
  82   Code Remed iation
  83   Leidos wil l review a nd analyze  the intak e product  code for c ompliance  with codin g standard s, pointer s, shared  tables, de pendencies , and any  interferen ce with Vi stA system s.
  84   Standards  and Conven tions
  85   Leidos wil l referenc e the 
for applic able docum ents and w ill adhere  to VA sta ndards to  complete t he analysi s of these  NSRs. The  output of  the VA XI NDEX utili ty will be  used to a nalyze the  MUMPS sou rce code a nd documen t the affe cted routi nes (see A ppendix A) .
  86   The MUMPS  coding sta ndards web site http: //71.174.6 2.16/Demo/ AnnoStd wi ll also be  used to e nsure that  the remed iated code  conforms  to VA stan dards.
  87   Review and  Analysis
  88   Review and  analysis  of this in take produ ct involve s two part s: 1) veri fication t hat the so urce code  changes sp ecified in  this docu ment provi de the des ired effec t within V istA, and  2) verific ation that  the sourc e code cha nges do no t adversel y affect a ny other V istA funct ionality. 
  89   Testing wi ll be perf ormed to v alidate th at the int ended effe ct of thes e products  is implem ented, and  that no o ther VistA  or CPRS G raphical U ser Interf ace (GUI)  functional ity is adv ersely aff ected. 
  90   Coding Cha nges
  91   The coding  changes r equired fo r NSR20150 116 Verify  the Corre ct Quantit y of Contr olled Subs tances are  in the fo llowing MU MPS routin es:
  92   Modified r outines: P SDNRGS 
  93   New routin es: None
  94   A detailed  analysis  of the cod ing change s is provi ded in App endix B.
  95   Testing
  96   Leidos wil l perform  all testin g-related  activities  to ensure  that the  remediated  code meet s the expe ctations o f the VA b usiness ow ner.
  97   Test Plan
  98   Leidos wil l configur e the test  environme nt, provid e code mod ifications  and end-t o-end test ing, and d eliver app licable te sting docu mentation,  following  Veteran-f ocused Int egration P rocess (VI P) guideli nes.
  99   The Leidos  developer  will modi fy the sof tware purs uant to th e VA stand ards defin ed in the  Standards  and Conven tions sect ion of thi s document , and will  conduct f ull unit t esting of  the functi onality an d verify p erformance  of all so ftware cod e before i t is relea sed to Lei dos SQA. S QA will th en perform  all appli cable test ing types  as describ ed in the  Testing Ph ases secti on of this  document.  The devel oper and S QA will re solve prob lems and a ddress iss ues as the y arise du ring testi ng and wil l document  issues us ing the Ra tional Tea m Concert  (RTC) defe ct trackin g tool.
  100   Test Envir onment
  101   Within fiv e working  days of ap proval of  this Remed iation Pla n, the dev eloper wil l configur e the deve lopment/te st environ ment on an  Austin In formation  Technology  Center (A ITC) serve r or other  VA-approv ed develop ment/test  environmen t used for  this inta ke product  and insta ll the rem ediated Ke rnel Insta llation an d Distribu tion Syste m (KIDS) b uild. The  environmen t will be  restored t o its orig inal basel ine state  by the Vis tA system  administra tor after  developmen t testing  is complet ed, follow ed by inst allation o f the reme diated sof tware.
  102   Upon notif ication fr om the dev eloper of  test envir onment rea diness, SQ A will com mence with  planned t esting act ivities. T he SQA tes t executio n and repo rting docu mentation  will resid e in the R ational Qu ality Mana ger (RQM)  “EPIP” Pro ject. In o rder to pe rform test ing of thi s VistA mo dification , the foll owing tool s will be  leveraged:  RQM, Refl ections em ulator, CP RS GUI v31  (1.0.30.7 5), and Sn agIt.
  103   Test Readi ness Revie w
  104   Leidos wil l conduct  a Test Rea diness Rev iew (TRR)  at the con clusion of  unit test ing to ver ify the co ntents of  the softwa re to be t ested, the  test sche dule, test  environme nts, test  participan ts, and as sociated l ogistics.  Leidos wil l provide  an agenda  prior to t he TRR and  written m inutes aft er complet ion of the  TRR, in a ccordance  with the P erformance  Work Stat ement (PWS ).
  105   Testing Ph ases
  106   Leidos wil l perform  developmen t and SQA  testing ac tivities i n phases,  and will p rovide all  required  testing do cumentatio n.
  107   Unit Testi ng
  108   The develo per will c onduct uni t testing  of individ ual units  of source  code to de termine if  they are  fit for us e. 
  109   Component  Integratio n and Syst ems Testin g (CI/ST)
  110   Component  integratio n and syst ems testin g will be  conducted  by SQA to  ensure tha t connecti vity to th e VistA ap plication  exists and  is functi oning norm ally. SQA  will recor d Passed/F ailed outc omes and c apture dis played con tent to do cument the  system te sting effo rt.
  111   Functional  Testing
  112   Functional  testing w ill be per formed by  SQA to tes t the code  modificat ions. This  testing w ill ensure  that the  software f unctionali ty is in a lignment w ith the Go vernment F urnished I nformation . SQA will  record Pa ssed/Faile d outcomes  and captu re display ed content  to docume nt the fun ctional te sting effo rt. 
  113   Regression  Testing
  114   Regression  Testing w ill be per formed by  SQA to ens ure that t he remedia ted code d oes not in troduce er rors to ex isting fun ctionality . The regr ession tes t framewor k will be  kept up-to -date with  manual te st cases a nd test sc ripts defi ning the i nputs and  expected o utcomes. S QA will re cord Passe d/Failed o utcomes an d capture  displayed  content to  document  the regres sion testi ng effort.  
  115   Section 50 8 Complian ce Testing
  116   508 Testin g will be  performed  on VistA a nd CPRS co de when ne w CPRS GUI  changes a re introdu ced by the  developer . The VA-r ecommended  Assistive  Technolog y tool, JA WS, will b e used to  conduct th e 508 test ing. Test  results an d related  documentat ion will b e submitte d to the V A Section  508 team i n accordan ce with th e VA 508 t esting req uirements.  Defects f ound durin g testing  will be as sessed and  remediate d by the d eveloper.
  117   Documentat ion Remedi ation
  118   Leidos wil l review e xisting VA  documenta tion for p ossible im pact as a  result of  this remed iation eff ort, and w ill make u pdates whe re applica ble.
  119   To determi ne the exi sting VA d ocumentati on that re quires mod ification,  Leidos wi ll conduct  a thoroug h review o f the docu ments curr ently avai lable from  the VA So ftware Doc ument Libr ary (VDL)  located at
. Keyword  searches u sing terms  relevant  to this re mediation  effort wil l be used  to identif y document s that mig ht be impa cted; thos e document s were wil l then be  reviewed i n their en tirety for  any neede d revision s.
  120   The follow ing sectio ns outline  the VDL d ocuments t o be revis ed for thi s remediat ion.
  121   User Guide s
  122   The follow ing User G uides will  be update d in the V DL:
  123   Controlled  Substance s (CS) Nur se’s User  Manual
  124   Controlled  Substance s (CS) Pha rmacist’s  User Manua l
  125   Installati on Guides
  126   The Nation al Patch M odule Patc h Descript ion docume nt for thi s remediat ion will p rovide the  procedure  for insta lling KIDS  packages  migrated f rom the te st environ ment to th e VA Pre-P roduction  environmen ts. Theref ore, no In stallation  Guides wi ll be upda ted.
  127   Technical  Manuals
  128   No Technic al Manuals  require r evision as  a result  of this mo dification .
  129   Operations  Manuals
  130   No Operati ons Manual s require  revision a s a result  of this m odificatio n.
  131   Project Re porting
  132   Leidos wil l provide  interim pr ogress upd ates durin g daily Sc rum calls  and weekly  managemen t calls wi th VA repr esentative s. 
  133   Project Sc hedule
  134   Leidos wil l follow t he Scrum A gile metho dology for  software  developmen t. It is a nticipated  that this  patch wil l require  five 2-wee k sprints.  
  135   Deployment
  136   Leidos wil l create a  KIDS pack age contai ning the s oftware ch anges nece ssary to f ulfill the  requireme nts for th is remedia tion effor t. A KIDS  package, a long with  all relate d document ation, wil l be deliv ered to th e Contract ing Office  Represent ative (COR ) for acce ptance. If  accepted,  the KIDS  package ca n then be  released f or nationa l VA consu mption; ot herwise, L eidos will  correct a ny defects  found and  repeat th e necessar y remediat ion activi ties.
  137   Sustainmen t Requirem ents
  138   Leidos wil l provide  maintenanc e support  for 60 day s to the V A to suppo rt the fin al Class 1  product a fter it is  nationall y released .  
  139   Maintenanc e and Know ledge Tran sfer
  140   To facilit ate contin uous proce ss improve ment, Leid os will de liver Spri nt Review  and Retros pective sl ides and a  Lessons L earned Rep ort to VA  upon compl etion of t he final s print.
  141   XINDEX Lis ting for M UMPS Code  Changes
  142   The XINDEX  tool is t he standar d tool use d by the V A to analy ze MUMPS s ource code . Followin g is a lis ting of th e results  of the XIN DEX analys is of the  affected r outines. 
  143                       V . A.  C R  O S S  R E  F E R E N  C E R  7. 3
  144                            [2008 V A Standard s & Conven tions]
  145                      UC I: VISTA C PU: ROU     Dec 20, 2 016@09:37: 03
  146  
  147   The BUILD  file Data  Dictionari es are bei ng process ed.
  148  
  149   The option  and funct ion files  are being  processed.
  150  
  151  
  152   Routines a re being p rocessed.
  153   Routines:  1  Faux Ro utines: 0
  154  
  155   PSDNRGS   
  156  
  157   --- CROSS  REFERENCIN G ---
  158  
  159      Press r eturn to c ontinue:
  160  
  161  
  162   Compiled l ist of Err ors and Wa rnings              D ec 20, 201 6@09:37:03  page 1
  163   No errors  or warning s to repor t
  164  
  165  
  166   Source Cod e Changes
  167   This appen dix displa ys the Vis tA code be fore and a fter the u pdates req uired for  this code  modificati on were im plemented.  The follo wing routi nes were a ffected:
  168   Modified r outines: P SDNRGS 
  169   New routin es: None
  170   PSDNRGS 
  171   Before:  
  172   PSDNRGS  ; BIR/JPW-Re ceive Gree n Sheet fo r NAOU ; 6  Jan 94
  173            ; ;3.0; CONT ROLLED SUB STANCES ;* *56,66,65* *;13 Feb 9 7;Build 5
  174            I  '$D(PSDSI TE) D ^PSD SET Q:'$D( PSDSITE)
  175            S  OK=$S($D( ^XUSEC("PS J RNURSE", DUZ)):1,$D (^XUSEC("P SD NURSE", DUZ)):1,$D
  176   (^XUSEC("P SJ RPHARM" ,DUZ)):2,$ D(^XUSEC(" PSJ PHARM  TECH",DUZ) ):2,1:0)
  177            I  'OK W $C( 7),!!,?9," ** Please  contact yo ur Coordin ator for a ccess to c
  178   omplete",! ,?12,"narc otic order s.",!!,"PS J RNURSE,  PSD NURSE,  PSJ RPHAR M, or PSJ 
  179   PHARM TECH  security  key requir ed.",! K O K Q
  180            I  $P($G(^VA (200,DUZ,2 0)),U,4)'] "" N XQH S  XQH="PSD  ESIG" D EN ^XQH Q
  181            W  !!,"Recei ve Control led Substa nces Order s and Gree n Sheet" S  PSDUZ=DUZ
  182   ,PSDUZN=$S ($P($G(^VA (200,PSDUZ ,0)),"^")] "":$P(^(0) ,"^"),1:"" )
  183            N  X,X1 D SI G^XUSESIG  Q:X1=""
  184   ASKN     ; ask naou
  185            W  ! K DA,DI C S DIC=58 .8,DIC(0)= "QEAZ",DIC ("A")="Sel ect NAOU:  "
  186            S :OK=1 DIC( "S")="I $P (^(0),""^" ",3)=+PSDS ITE,$S('$D (^(""I"")) :1,'^(""I"
  187   "):1,+^("" I"")>DT:1, 1:0),$P(^( 0),""^"",2 )=""N"",'$ P(^(0),""^ "",7)"
  188            S :OK=2 DIC( "S")="I $P (^(0),""^" ",3)=+PSDS ITE,$S('$D (^(""I"")) :1,'^(""I"
  189   "):1,+^("" I"")>DT:1, 1:0),$P(^( 0),""^"",2 )=""N"""
  190            D  ^DIC K DI C G:Y<0 EN D S AOU=+Y ,AOUN=$P(Y ,"^",2)
  191   GS       ; select gre en sheet #
  192            W  ! K DA,DI C S DIC("A ")="Select  the Green  Sheet #:  ",DIC=58.8 1,DIC(0)="
  193   QEASZ",D=" D"
  194            S  DIC("S")= "I $P(^(0) ,""^"",11) ,$P(^(0)," "^"",11)<1 2"
  195            D  IX^DIC K  DIC G:Y<0  ASKN S PSD A=+Y
  196   ORD      S  STAT=+$P( Y(0),"^",1 1),PSDPN=$ P(Y(0),"^" ,17),STATN ="" I STAT  S STATN=$
  197   P($G(^PSD( 58.82,STAT ,0)),"^")
  198            S  ORD=+$P(Y (0),"^",20 ),NAOU=+$P (Y(0),"^", 18),NAOUN= $P($G(^PSD (58.8,NAOU
  199   ,0)),"^"), PSDR=+$P(Y (0),"^",5) ,PSDRN=$P( $G(^PSDRUG (PSDR,0)), "^"),QTY=+ $P(Y(0),"^
  200   ",6)
  201            ;  >> RJS -  *65
  202            L  +^PSD(58. 81,PSDA):$ S($G(DILOC KTM)>0:DIL OCKTM,1:3)
  203            I  '$T W !," The Green  Sheet # ", PSDPN," is  currently  in use by  another u
  204   ser",!,"Pl ease selec t another  Green Shee t.",! G GS
  205            I  $D(^PSD(5 8.81,PSDA, 4)),+$P(^( 4),"^",3)  S QTY=$P(^ (4),"^",3)
  206            I  AOU'=NAOU  W $C(7),! !,"The Gre en Sheet #  ",PSDPN,"  is assign ed to ",NA
  207   OUN,".",!, "Please se lect anoth er Green S heet.",! L  -^PSD(58. 81,PSDA) G  GS  ; <RJ
  208   S - *65
  209            I  '$D(^PSD( 58.8,NAOU, 1,PSDR,3,O RD,0)) W $ C(7),!!,"T here's no  data on ",
  210   NAOUN," fo r Green Sh eet # ",PS DPN,".",!, "Contact y our Pharma cy Coordin ator for a
  211   ssistance. ",! L -^PS D(58.81,PS DA) G END   ; <RJS -  *65
  212            I  STAT'=3 W  $C(7),!!, "This Gree n Sheet ha s a status  of "_$S(S TATN]"":ST
  213   ATN,1:"UNK NOWN")_"." ,!,"Please  select an other Gree n Sheet.", ! L -^PSD( 58.81,PSDA
  214   ) G GS  ;  RJS - *65
  215            D  NOW^%DTC  S (RECD,Y) =+$E(%,1,1 2) X ^DD(" DD") S REC DT=Y
  216   REC      ; receive at  order lev el in 58.8
  217            W  !!,"Acces sing ",PSD RN," infor mation..." ,!!
  218            K  DA,DIR,DI RUT S DIR( 0)="58.81, 27",DIR("B ")=QTY D ^ DIR K DIR  I $D(DIRUT
  219   ) W !!,"Qu antity not  entered.   No action  taken.",! ,"This ord er remains  ",STATN,!
  220   ! L -^PSD( 58.81,PSDA ) G END  ;  < RJS - * 65
  221            S  RQTY=Y I  RQTY'=QTY  W $C(7),!! ,"The quan tity recei ved does n ot match t
  222   he quantit y dispense d.",!,"Thi s order mu st be retu rned to ph armacy for  investiga
  223   tion.",!!  L -^PSD(58 .81,PSDA)  G GS  ;< R JS - *65
  224            K  DA,DIE,DR  S DA=ORD, DA(1)=PSDR ,DA(2)=NAO U
  225            S  DIE="^PSD (58.8,"_DA (2)_",1,"_ DA(1)_",3, "
  226            S  DR=$S(OK= 1:"6////"_ PSDUZ,1:"6 RECEIVED B Y NURSE")_ ";20////"_ QTY_";15//
  227   //"_RECD_" ;10////4;2 2////"_$P( $G(^PSD(58 .8,NAOU,1, PSDR,0)),U ,4)_";25// //"_$P($G(
  228   ^PSD(58.8, NAOU,1,PSD R,0)),U,4)  D ^DIE K  DA,DIE,DR
  229            I  ($D(Y))!( $D(DTOUT))  W $C(7),! !,"*** THI S ORDER HA S NOT BEEN  RECEIVED 
  230   ***",!,"Re ceiving nu rses name  must be en tered.",!! ,"The stat us remains  "_STATN,!
  231    L -^PSD(5 8.81,PSDA)  G END  ;<  RJS - *65
  232   UPDATE   ; update 58. 8 and 58.8 1
  233            ; updating d rug balanc e in 58.8
  234            F   L +^PSD( 58.8,NAOU, 1,PSDR,0): $S($G(DILO CKTM)>0:DI LOCKTM,1:3 ) I  Q
  235            ; PSD*3*56;R EMOVED CHE CK FOR PAT IENT ID
  236            S  $P(^PSD(5 8.8,NAOU,1 ,PSDR,0)," ^",4)=$P(^ PSD(58.8,N AOU,1,PSDR ,0),"^",4)
  237   +QTY
  238            L  -^PSD(58. 8,NAOU,1,P SDR,0)
  239            ; update tra nsaction f ile (58.81 )
  240            S  OREC=$P($ G(^PSD(58. 8,NAOU,1,P SDR,3,ORD, 0)),"^",7)
  241            K  DA,DIE,DR  S DA=PSDA ,DIE=58.81
  242            S  DR="10/// /"_$S('$P( $G(^PSD(58 .8,NAOU,2) ),U,5):4,$ P($G(^PSD( 58.81,PSDA
  243   ,9)),U):4, 1:13)_";20 ////"_OREC _";21////" _RECD_";27 ////"_QTY_ ";I OK=1 S  Y=""@1"";
  244   15COMMENTS ;@1"
  245            D  ^DIE K DA ,DIE,DR
  246            I  OK=2 S $P (^PSD(58.8 1,PSDA,1), "^",11)=PS DUZ
  247            W  !!,"Updat ing your r ecords now ..."
  248            ; update wor ksheet fil e (58.85)  to be purg ed
  249            S  DA=+$O(^P SD(58.85," AD",NAOU,P SDR,ORD,0) ) I DA,$D( ^PSD(58.85 ,DA,0)) K 
  250   DIE,DR S D IE=58.85,D R="6////4"  D ^DIE K  DA,DIE,DR
  251            W  "done.",! !
  252            S  STAT=$P($ G(^PSD(58. 81,PSDA,0) ),"^",11)  W ?5,"***  Your Green  Sheet #"_
  253   PSDPN_" is  now "_$S( $P($G(^PSD (58.82,STA T,0)),"^") ]"":$P(^(0 ),"^"),1:" UNKNOWN")_
  254   " ***",!
  255            L  -^PSD(58. 81,PSDA)   ;< RJS - * 65
  256            G  GS
  257   END      K  %,%DT,%H, %I,AOU,AOU N,D,DA,DIC ,DIE,DR,DT OUT,DUOUT
  258            K  NAOU,NAOU N,OK,ORD,O REC,PSDPN, PSDR,PSDRN ,PSDUZ,PSD UZN,QTY,RE CD,RECDT,R
  259   QTY,STAT,S TATN,SUB,P SDA,X,Y
  260            Q
  261   After:  
  262   PSDNRGS  ; BIR/JPW-Re ceive Gree n Sheet fo r NAOU ; 2 0 Dec 2016   9:20 AM
  263            ; ;3.0;CONTR OLLED SUBS TANCES;**5 6,66,65,81 **;13 Feb  97;Build 5
  264            I  '$D(PSDSI TE) D ^PSD SET Q:'$D( PSDSITE)
  265            S  OK=$S($D( ^XUSEC("PS J RNURSE", DUZ)):1,$D (^XUSEC("P SD NURSE", DUZ)):1,$D
  266   (^XUSEC("P SJ RPHARM" ,DUZ)):2,$ D(^XUSEC(" PSJ PHARM  TECH",DUZ) ):2,1:0)
  267            I  'OK W $C( 7),!!,?9," ** Please  contact yo ur Coordin ator for a ccess to c
  268   omplete",! ,?12,"narc otic order s.",!!,"PS J RNURSE,  PSD NURSE,  PSJ RPHAR M, or PSJ 
  269   PHARM TECH  security  key requir ed.",! K O K Q
  270            I  $P($G(^VA (200,DUZ,2 0)),U,4)'] "" N XQH S  XQH="PSD  ESIG" D EN ^XQH Q
  271            W  !!,"Recei ve Control led Substa nces Order s and Gree n Sheet" S  PSDUZ=DUZ
  272   ,PSDUZN=$S ($P($G(^VA (200,PSDUZ ,0)),"^")] "":$P(^(0) ,"^"),1:"" )
  273            N  X,X1 D SI G^XUSESIG  Q:X1=""
  274   ASKN     ; ask naou
  275            W  ! K DA,DI C S DIC=58 .8,DIC(0)= "QEAZ",DIC ("A")="Sel ect NAOU:  "
  276            S :OK=1 DIC( "S")="I $P (^(0),""^" ",3)=+PSDS ITE,$S('$D (^(""I"")) :1,'^(""I"
  277   "):1,+^("" I"")>DT:1, 1:0),$P(^( 0),""^"",2 )=""N"",'$ P(^(0),""^ "",7)"
  278            S :OK=2 DIC( "S")="I $P (^(0),""^" ",3)=+PSDS ITE,$S('$D (^(""I"")) :1,'^(""I"
  279   "):1,+^("" I"")>DT:1, 1:0),$P(^( 0),""^"",2 )=""N"""
  280            D  ^DIC K DI C G:Y<0 EN D S AOU=+Y ,AOUN=$P(Y ,"^",2)
  281   GS       ; select gre en sheet #
  282            W  ! K DA,DI C S DIC("A ")="Select  the Green  Sheet #:  ",DIC=58.8 1,DIC(0)="
  283   QEASZ",D=" D"
  284            S  DIC("S")= "I $P(^(0) ,""^"",11) ,$P(^(0)," "^"",11)<1 2"
  285            D  IX^DIC K  DIC G:Y<0  ASKN S PSD A=+Y
  286            ; ---------- ---------- ---------- ---------- ----------
  287            ;  AKD = Y(0 ) piece 3  = Pointer  to DRUG AC COUNTABILI TY STATS ( #58.8)
  288            ;      file.
  289            ;  AKD(1) =  Y(0) piece  5 = Point er to DRUG  (#50) fil e in DRUG 
  290            ;          A CCOUNTABIL ITY (#58.8 ) file.  D RUG (#50)  ien is DIN UM'ed for
  291            ;          D RUG field  PSD(58.8,A KD,1,AKD1)
  292            ;  AKUNITS =  DRUG ACCO UNTABILITY  file <> S ubfile DRU G <> subfi eld
  293            ;             BREAKDOWN  UNIT (Fre e Text).
  294            D
  295            .  N AKD,AKD 1,AKUNITS
  296            .  S AKD=$P( Y(0),"^",3 ),AKD1=$P( Y(0),"^",5 )
  297            .  S AKUNITS =$P(^PSD(5 8.8,AKD,1, AKD1,0),"^ ",8)
  298            .  W !,AKUNI TS  ; disp lay at lin e beginnin g
  299   ORD      S  STAT=+$P( Y(0),"^",1 1),PSDPN=$ P(Y(0),"^" ,17),STATN ="" I STAT  S STATN=$
  300   P($G(^PSD( 58.82,STAT ,0)),"^")
  301            S  ORD=+$P(Y (0),"^",20 ),NAOU=+$P (Y(0),"^", 18),NAOUN= $P($G(^PSD (58.8,NAOU
  302   ,0)),"^"), PSDR=+$P(Y (0),"^",5) ,PSDRN=$P( $G(^PSDRUG (PSDR,0)), "^"),QTY=+ $P(Y(0),"^
  303   ",6)
  304            ;  >> RJS -  *65
  305            L  +^PSD(58. 81,PSDA):$ S($G(DILOC KTM)>0:DIL OCKTM,1:3)
  306            I  '$T W !," The Green  Sheet # ", PSDPN," is  currently  in use by  another u
  307   ser",!,"Pl ease selec t another  Green Shee t.",! G GS
  308            I  $D(^PSD(5 8.81,PSDA, 4)),+$P(^( 4),"^",3)  S QTY=$P(^ (4),"^",3)
  309            I  AOU'=NAOU  W $C(7),! !,"The Gre en Sheet #  ",PSDPN,"  is assign ed to ",NA
  310   OUN,".",!, "Please se lect anoth er Green S heet.",! L  -^PSD(58. 81,PSDA) G  GS  ; <RJ
  311   S - *65
  312            I  '$D(^PSD( 58.8,NAOU, 1,PSDR,3,O RD,0)) W $ C(7),!!,"T here's no  data on ",
  313   NAOUN," fo r Green Sh eet # ",PS DPN,".",!, "Contact y our Pharma cy Coordin ator for a
  314   ssistance. ",! L -^PS D(58.81,PS DA) G END   ; <RJS -  *65
  315            I  STAT'=3 W  $C(7),!!, "This Gree n Sheet ha s a status  of "_$S(S TATN]"":ST
  316   ATN,1:"UNK NOWN")_"." ,!,"Please  select an other Gree n Sheet.", ! L -^PSD( 58.81,PSDA
  317   ) G GS  ;  RJS - *65
  318            D  NOW^%DTC  S (RECD,Y) =+$E(%,1,1 2) X ^DD(" DD") S REC DT=Y
  319   REC      ; receive at  order lev el in 58.8
  320            W  !!,"Acces sing ",PSD RN," infor mation..." ,!!
  321            ; K DA,DIR,D IRUT S DIR (0)="58.81 ,27",DIR(" B")=QTY D  ^DIR K DIR  I $D(DIRU
  322   T) W !!,"Q uantity no t entered.   No actio n taken.", !,"This or der remain s ",STATN,
  323   !! L -^PSD (58.81,PSD A) G END   ; < RJS -  *65
  324            K  DA,DIR,DI RUT D  S D IR(0)="58. 81,27",DIR ("B")=QTY  D ^DIR K D IR I $D(DI
  325   RUT) W !!, "Quantity  not entere d.  No act ion taken. ",!,"This  order rema ins ",STAT
  326   N,!! L -^P SD(58.81,P SDA) G END
  327            .  S DIR("A" )="QUANTIT Y RECEIVED  ("_AKUNIT S_")"  ; d isplay uni ts in prom
  328   pt
  329            S  RQTY=Y I  RQTY'=QTY  W $C(7),!! ,"The quan tity recei ved does n ot match t
  330   he quantit y dispense d.",!,"Thi s order mu st be retu rned to ph armacy for  investiga
  331   tion.",!!  L -^PSD(58 .81,PSDA)  G GS  ;< R JS - *65
  332            K  DA,DIE,DR  S DA=ORD, DA(1)=PSDR ,DA(2)=NAO U
  333            S  DIE="^PSD (58.8,"_DA (2)_",1,"_ DA(1)_",3, "
  334            S  DR=$S(OK= 1:"6////"_ PSDUZ,1:"6 RECEIVED B Y NURSE")_ ";20////"_ QTY_";15// /
  335   /"_RECD_"; 10////4;22 ////"_$P($ G(^PSD(58. 8,NAOU,1,P SDR,0)),U, 4)_";25/// /"_$P($G(^
  336   PSD(58.8,N AOU,1,PSDR ,0)),U,4)  D ^DIE K D A,DIE,DR
  337            I  ($D(Y))!( $D(DTOUT))  W $C(7),! !,"*** THI S ORDER HA S NOT BEEN  RECEIVED 
  338   ***",!,"Re ceiving nu rses name  must be en tered.",!! ,"The stat us remains  "_STATN,!
  339    L -^PSD(5 8.81,PSDA)  G END  ;<  RJS - *65
  340   UPDATE   ; update 58. 8 and 58.8 1
  341            ; updating d rug balanc e in 58.8
  342            F   L +^PSD( 58.8,NAOU, 1,PSDR,0): $S($G(DILO CKTM)>0:DI LOCKTM,1:3 ) I  Q
  343            ; PSD*3*56;R EMOVED CHE CK FOR PAT IENT ID
  344            S  $P(^PSD(5 8.8,NAOU,1 ,PSDR,0)," ^",4)=$P(^ PSD(58.8,N AOU,1,PSDR ,0),"^",4)
  345   +QTY
  346            L  -^PSD(58. 8,NAOU,1,P SDR,0)
  347            ; update tra nsaction f ile (58.81 )
  348            S  OREC=$P($ G(^PSD(58. 8,NAOU,1,P SDR,3,ORD, 0)),"^",7)
  349            K  DA,DIE,DR  S DA=PSDA ,DIE=58.81
  350            S  DR="10/// /"_$S('$P( $G(^PSD(58 .8,NAOU,2) ),U,5):4,$ P($G(^PSD( 58.81,PSDA
  351   ,9)),U):4, 1:13)_";20 ////"_OREC _";21////" _RECD_";27 ////"_QTY_ ";I OK=1 S  Y=""@1"";
  352   15COMMENTS ;@1"
  353            D  ^DIE K DA ,DIE,DR
  354            I  OK=2 S $P (^PSD(58.8 1,PSDA,1), "^",11)=PS DUZ
  355            W  !!,"Updat ing your r ecords now ..."
  356            ; update wor ksheet fil e (58.85)  to be purg ed
  357            S  DA=+$O(^P SD(58.85," AD",NAOU,P SDR,ORD,0) ) I DA,$D( ^PSD(58.85 ,DA,0)) K 
  358   DIE,DR S D IE=58.85,D R="6////4"  D ^DIE K  DA,DIE,DR
  359            W  "done.",! !
  360            S  STAT=$P($ G(^PSD(58. 81,PSDA,0) ),"^",11)  W ?5,"***  Your Green  Sheet #"_
  361   PSDPN_" is  now "_$S( $P($G(^PSD (58.82,STA T,0)),"^") ]"":$P(^(0 ),"^"),1:" UNKNOWN")_
  362   " ***",!
  363            L  -^PSD(58. 81,PSDA)   ;< RJS - * 65
  364            G  GS
  365   END      K  %,%DT,%H, %I,AOU,AOU N,D,DA,DIC ,DIE,DR,DT OUT,DUOUT
  366            K  NAOU,NAOU N,OK,ORD,O REC,PSDPN, PSDR,PSDRN ,PSDUZ,PSD UZN,QTY,RE CD,RECDT,R
  367   QTY,STAT,S TATN,SUB,P SDA,X,Y
  368            Q
  369  
  370