403. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 5/3/2019 10:25:28 AM 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.

403.1 Files compared

# Location File Last Modified
1 CC_CC_DST_1_0_0.zip\GMRC_3_124v7.zip GMRC_3_124V7.KID Mon Apr 15 17:56:00 2019 UTC
2 CC_CC_DST_1_0_0.zip\GMRC_3_124v7.zip GMRC_3_124V7.KID Tue Apr 30 17:41:35 2019 UTC

403.2 Comparison summary

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

403.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

403.4 Active regular expressions

No regular expressions were active.

403.5 Comparison detail

  1   KIDS Distr ibution sa ved on Apr  14, 2019@ 19:32:44
  2   GMRC 124 V 7
  3   **KIDS**:G MRC*3.0*12 4^
  4  
  5   **INSTALL  NAME**
  6   GMRC*3.0*1 24
  7   "BLD",1102 6,0)
  8   GMRC*3.0*1 24^CONSULT /REQUEST T RACKING^0^ 3190414^y
  9   "BLD",1102 6,1,0)
  10   ^^6^6^3190 414^
  11   "BLD",1102 6,1,1,0)
  12   Associated  patches:  Informatio nal Patch  GMRC*3.0*1 25
  13   "BLD",1102 6,1,2,0)
  14    
  15   "BLD",1102 6,1,3,0)
  16   This Decis ion Suppor t Tool Vis tA patch i ncludes a  protocol t hat invoke s a 
  17   "BLD",1102 6,1,4,0)
  18   process to  retrieve  the consul t factor t ext from D ST and ins ert it int o a 
  19   "BLD",1102 6,1,5,0)
  20   consult co mment when ever a con sult order  is signed  that cont ains the 
  21   "BLD",1102 6,1,6,0)
  22   string "DS T ID:" in  the Reason  for Reque st field.
  23   "BLD",1102 6,4,0)
  24   ^9.64PA^^
  25   "BLD",1102 6,6.3)
  26   23
  27   "BLD",1102 6,"ABPKG")
  28   n
  29   "BLD",1102 6,"INID")
  30   ^n
  31   "BLD",1102 6,"INIT")
  32   EN^GMRC124 P
  33   "BLD",1102 6,"KRN",0)
  34   ^9.67PA^77 9.2^20
  35   "BLD",1102 6,"KRN",.4 ,0)
  36   .4
  37   "BLD",1102 6,"KRN",.4 01,0)
  38   .401
  39   "BLD",1102 6,"KRN",.4 02,0)
  40   .402
  41   "BLD",1102 6,"KRN",.4 03,0)
  42   .403
  43   "BLD",1102 6,"KRN",.5 ,0)
  44   .5
  45   "BLD",1102 6,"KRN",.8 4,0)
  46   .84
  47   "BLD",1102 6,"KRN",3. 6,0)
  48   3.6
  49   "BLD",1102 6,"KRN",3. 8,0)
  50   3.8
  51   "BLD",1102 6,"KRN",9. 2,0)
  52   9.2
  53   "BLD",1102 6,"KRN",9. 8,0)
  54   9.8
  55   "BLD",1102 6,"KRN",9. 8,"NM",0)
  56   ^9.68A^1^1
  57   "BLD",1102 6,"KRN",9. 8,"NM",1,0 )
  58   GMRCDST^^0 ^B10366283 3
  59   "BLD",1102 6,"KRN",9. 8,"NM","B" ,"GMRCDST" ,1)
  60  
  61   "BLD",1102 6,"KRN",19 ,0)
  62   19
  63   "BLD",1102 6,"KRN",19 .1,0)
  64   19.1
  65   "BLD",1102 6,"KRN",10 1,0)
  66   101
  67   "BLD",1102 6,"KRN",10 1,"NM",0)
  68   ^9.68A^1^1
  69   "BLD",1102 6,"KRN",10 1,"NM",1,0 )
  70   GMRC SIGNE D CONSULT  DST^^0
  71   "BLD",1102 6,"KRN",10 1,"NM","B" ,"GMRC SIG NED CONSUL T DST",1)
  72  
  73   "BLD",1102 6,"KRN",40 9.61,0)
  74   409.61
  75   "BLD",1102 6,"KRN",77 1,0)
  76   771
  77   "BLD",1102 6,"KRN",77 9.2,0)
  78   779.2
  79   "BLD",1102 6,"KRN",87 0,0)
  80   870
  81   "BLD",1102 6,"KRN",89 89.51,0)
  82   8989.51
  83   "BLD",1102 6,"KRN",89 89.52,0)
  84   8989.52
  85   "BLD",1102 6,"KRN",89 94,0)
  86   8994
  87   "BLD",1102 6,"KRN","B ",.4,.4)
  88  
  89   "BLD",1102 6,"KRN","B ",.401,.40 1)
  90  
  91   "BLD",1102 6,"KRN","B ",.402,.40 2)
  92  
  93   "BLD",1102 6,"KRN","B ",.403,.40 3)
  94  
  95   "BLD",1102 6,"KRN","B ",.5,.5)
  96  
  97   "BLD",1102 6,"KRN","B ",.84,.84)
  98  
  99   "BLD",1102 6,"KRN","B ",3.6,3.6)
  100  
  101   "BLD",1102 6,"KRN","B ",3.8,3.8)
  102  
  103   "BLD",1102 6,"KRN","B ",9.2,9.2)
  104  
  105   "BLD",1102 6,"KRN","B ",9.8,9.8)
  106  
  107   "BLD",1102 6,"KRN","B ",19,19)
  108  
  109   "BLD",1102 6,"KRN","B ",19.1,19. 1)
  110  
  111   "BLD",1102 6,"KRN","B ",101,101)
  112  
  113   "BLD",1102 6,"KRN","B ",409.61,4 09.61)
  114  
  115   "BLD",1102 6,"KRN","B ",771,771)
  116  
  117   "BLD",1102 6,"KRN","B ",779.2,77 9.2)
  118  
  119   "BLD",1102 6,"KRN","B ",870,870)
  120  
  121   "BLD",1102 6,"KRN","B ",8989.51, 8989.51)
  122  
  123   "BLD",1102 6,"KRN","B ",8989.52, 8989.52)
  124  
  125   "BLD",1102 6,"KRN","B ",8994,899 4)
  126  
  127   "BLD",1102 6,"QDEF")
  128   ^^^^NO^^^^ NO^^NO
  129   "BLD",1102 6,"QUES",0 )
  130   ^9.62^^
  131   "BLD",1102 6,"REQB",0 )
  132   ^9.611^^
  133   "INIT")
  134   EN^GMRC124 P
  135   "KRN",101, 8280,-1)
  136   0^1
  137   "KRN",101, 8280,0)
  138   GMRC SIGNE D CONSULT  DST^ACTION  FOR DECIS ION SUPPOR T TOOLS WH EN CONSULT  IS SIGNED ^^A^^^^^^^ ^CONSULT/R EQUEST TRA CKING
  139   "KRN",101, 8280,1,0)
  140   ^101.06^3^ 3^3190403^ ^^^
  141   "KRN",101, 8280,1,1,0 )
  142   THIS PROTO COL WILL E XAMINE IF  A CONSULT  HAS BEEN S IGNED THEN
  143   "KRN",101, 8280,1,2,0 )
  144   QUERY THE  DST SERVER  AND RETRI EVE ANY DS T COMMENTS  AND PLACE  THEM
  145   "KRN",101, 8280,1,3,0 )
  146   INTO THE S IGNED CONS ULT
  147   "KRN",101, 8280,15)
  148  
  149   "KRN",101, 8280,20)
  150   D PROT^GMR CDST(.XQOR MSG)
  151   "KRN",101, 8280,21,0)
  152   ^101.021A^ 2^2
  153   "KRN",101, 8280,21,1, 0)
  154   IFN
  155   "KRN",101, 8280,21,2, 0)
  156   OR3
  157   "KRN",101, 8280,21,"B ","IFN",1)
  158  
  159   "KRN",101, 8280,21,"B ","OR3",2)
  160  
  161   "KRN",101, 8280,99)
  162   65115,5237 2
  163   "MBREQ")
  164   0
  165   "ORD",15,1 01)
  166   101;15;;;P RO^XPDTA;P ROF1^XPDIA ;PROE1^XPD IA;PROF2^X PDIA;;PROD EL^XPDIA
  167   "ORD",15,1 01,0)
  168   PROTOCOL
  169   "PKG",406, -1)
  170   1^1
  171   "PKG",406, 0)
  172   CONSULT/RE QUEST TRAC KING^GMRC^ CONSULTS/R EQUESTS
  173   "PKG",406, 22,0)
  174   ^9.49I^1^1
  175   "PKG",406, 22,1,0)
  176   3.0^298010 1^2981113^ 1
  177   "PKG",406, 22,1,"PAH" ,1,0)
  178   124^319041 4^52082477 8
  179   "PKG",406, 22,1,"PAH" ,1,1,0)
  180   ^^6^6^3190 414
  181   "PKG",406, 22,1,"PAH" ,1,1,1,0)
  182   Associated  patches:  Informatio nal Patch  GMRC*3.0*1 25
  183   "PKG",406, 22,1,"PAH" ,1,1,2,0)
  184    
  185   "PKG",406, 22,1,"PAH" ,1,1,3,0)
  186   This Decis ion Suppor t Tool Vis tA patch i ncludes a  protocol t hat invoke s a 
  187   "PKG",406, 22,1,"PAH" ,1,1,4,0)
  188   process to  retrieve  the consul t factor t ext from D ST and ins ert it int o a 
  189   "PKG",406, 22,1,"PAH" ,1,1,5,0)
  190   consult co mment when ever a con sult order  is signed  that cont ains the 
  191   "PKG",406, 22,1,"PAH" ,1,1,6,0)
  192   string "DS T ID:" in  the Reason  for Reque st field.
  193   "QUES","XP F1",0)
  194   Y
  195   "QUES","XP F1","??")
  196   ^D REP^XPD H
  197   "QUES","XP F1","A")
  198   Shall I wr ite over y our |FLAG|  File
  199   "QUES","XP F1","B")
  200   YES
  201   "QUES","XP F1","M")
  202   D XPF1^XPD IQ
  203   "QUES","XP F2",0)
  204   Y
  205   "QUES","XP F2","??")
  206   ^D DTA^XPD H
  207   "QUES","XP F2","A")
  208   Want my da ta |FLAG|  yours
  209   "QUES","XP F2","B")
  210   YES
  211   "QUES","XP F2","M")
  212   D XPF2^XPD IQ
  213   "QUES","XP I1",0)
  214   YO
  215   "QUES","XP I1","??")
  216   ^D INHIBIT ^XPDH
  217   "QUES","XP I1","A")
  218   Want KIDS  to INHIBIT  LOGONs du ring the i nstall
  219   "QUES","XP I1","B")
  220   NO
  221   "QUES","XP I1","M")
  222   D XPI1^XPD IQ
  223   "QUES","XP M1",0)
  224   PO^VA(200, :EM
  225   "QUES","XP M1","??")
  226   ^D MG^XPDH
  227   "QUES","XP M1","A")
  228   Enter the  Coordinato r for Mail  Group '|F LAG|'
  229   "QUES","XP M1","B")
  230  
  231   "QUES","XP M1","M")
  232   D XPM1^XPD IQ
  233   "QUES","XP O1",0)
  234   Y
  235   "QUES","XP O1","??")
  236   ^D MENU^XP DH
  237   "QUES","XP O1","A")
  238   Want KIDS  to Rebuild  Menu Tree s Upon Com pletion of  Install
  239   "QUES","XP O1","B")
  240   NO
  241   "QUES","XP O1","M")
  242   D XPO1^XPD IQ
  243   "QUES","XP Z1",0)
  244   Y
  245   "QUES","XP Z1","??")
  246   ^D OPT^XPD H
  247   "QUES","XP Z1","A")
  248   Want to DI SABLE Sche duled Opti ons, Menu  Options, a nd Protoco ls
  249   "QUES","XP Z1","B")
  250   NO
  251   "QUES","XP Z1","M")
  252   D XPZ1^XPD IQ
  253   "QUES","XP Z2",0)
  254   Y
  255   "QUES","XP Z2","??")
  256   ^D RTN^XPD H
  257   "QUES","XP Z2","A")
  258   Want to MO VE routine s to other  CPUs
  259   "QUES","XP Z2","B")
  260   NO
  261   "QUES","XP Z2","M")
  262   D XPZ2^XPD IQ
  263   "RTN")
  264   2
  265   "RTN","GMR C124P")
  266   0^^B315144 07
  267   "RTN","GMR C124P",1,0 )
  268   GMRC124P ; ABV/BL - P atch 124 P ost-instal l;03/28/20 19
  269   "RTN","GMR C124P",2,0 )
  270    ;;3.0;CON SULT/REQUE ST TRACKIN G;**124**; MAR 28, 20 19;Build 2 3
  271   "RTN","GMR C124P",3,0 )
  272    ;
  273   "RTN","GMR C124P",4,0 )
  274   EN ; Entry  point for  post inst all
  275   "RTN","GMR C124P",5,0 )
  276    ;
  277   "RTN","GMR C124P",6,0 )
  278    N FDA      ; -- File Man Data A rray
  279   "RTN","GMR C124P",7,0 )
  280    N WEBVICE  ; -- Web  Service In ternal Ent ry Number
  281   "RTN","GMR C124P",8,0 )
  282    N WEBVER   ; -- Web  Server Int ernal Entr y Number
  283   "RTN","GMR C124P",9,0 )
  284    N MULTIEN  ; -- Web  Service Mu ltiple Int ernal Entr y Number
  285   "RTN","GMR C124P",10, 0)
  286    N WSTAT    ; -- Web  Service St atus
  287   "RTN","GMR C124P",11, 0)
  288    N IENROOT ,MSGROOT,I ENROOT1,VI CEIEN
  289   "RTN","GMR C124P",12, 0)
  290    ;
  291   "RTN","GMR C124P",13, 0)
  292    K FDA
  293   "RTN","GMR C124P",14, 0)
  294    S WEBVICE =$O(^XOB(1 8.02,"B"," DST GET ID  SERVICE", 0))
  295   "RTN","GMR C124P",15, 0)
  296    S WEBVICE =$S(WEBVIC E:WEBVICE, 1:"+1")
  297   "RTN","GMR C124P",16, 0)
  298    S FDA(18. 02,WEBVICE _",",.01)= "DST GET I D SERVICE"                          ; NAME
  299   "RTN","GMR C124P",17, 0)
  300    S FDA(18. 02,WEBVICE _",",.02)= "REST"                                         ; TYPE
  301   "RTN","GMR C124P",18, 0)
  302    S FDA(18. 02,WEBVICE _",",200)= "vs/v1/con sultFactor "                        ; CONTE XT ROOT
  303   "RTN","GMR C124P",19, 0)
  304    D UPDATE^ DIE("E","F DA","IENRO OT","MSGRO OT")
  305   "RTN","GMR C124P",20, 0)
  306    K IENROOT ,MSGROOT,F DA
  307   "RTN","GMR C124P",21, 0)
  308    ;
  309   "RTN","GMR C124P",22, 0)
  310    S WEBVER= $O(^XOB(18 .12,"B","D ST GET ID  SERVER",0) )
  311   "RTN","GMR C124P",23, 0)
  312    S WEBVER= $S(WEBVER: WEBVER,1:" +1")
  313   "RTN","GMR C124P",24, 0)
  314    S FDA(18. 12,WEBVER_ ",",.01)=" DST GET ID  SERVER"                            ; NAME
  315   "RTN","GMR C124P",25, 0)
  316    S FDA(18. 12,WEBVER_ ",",.03)=" 80"                                            ; PORT
  317   "RTN","GMR C124P",26, 0)
  318    S FDA(18. 12,WEBVER_ ",",.04)=" DOMAIN . EXT                                    ; SERVER
  319   "RTN","GMR C124P",27, 0)
  320    S FDA(18. 12,WEBVER_ ",",.06)=" ENABLED"                                       ; STATU S 1-ENABLE D / 0-DISA BLED
  321   "RTN","GMR C124P",28, 0)
  322    S FDA(18. 12,WEBVER_ ",",.07)=6 0                                              ; DEFAU LT HTTP TI MEOUT
  323   "RTN","GMR C124P",29, 0)
  324    S FDA(18. 12,WEBVER_ ",",1.01)= "NO"                                           ; LOGIN  REQUIRED
  325   "RTN","GMR C124P",30, 0)
  326    S FDA(18. 12,WEBVER_ ",",3.01)= "TRUE"                                         ; SSL E NABLED
  327   "RTN","GMR C124P",31, 0)
  328    S FDA(18. 12,WEBVER_ ",",3.02)= "encrypt_o nly_all"                            ; SSL C ONFIGURATI ON
  329   "RTN","GMR C124P",32, 0)
  330    S FDA(18. 12,WEBVER_ ",",3.03)= "443"                                          ; SSL P ORT
  331   "RTN","GMR C124P",33, 0)
  332    ;Need to  determine  if we are  creating a  new file,  or updati ng an exis ting one
  333   "RTN","GMR C124P",34, 0)
  334    N NEW
  335   "RTN","GMR C124P",35, 0)
  336    S NEW=1
  337   "RTN","GMR C124P",36, 0)
  338    I $D(^XOB (18.12,WEB VER,0)) S  NEW=0
  339   "RTN","GMR C124P",37, 0)
  340    I NEW=1 D
  341   "RTN","GMR C124P",38, 0)
  342    . D UPDAT E^DIE("E", "FDA","IEN ROOT","MSG ROOT")
  343   "RTN","GMR C124P",39, 0)
  344    I NEW=0 D
  345   "RTN","GMR C124P",40, 0)
  346    . D FILE^ DIE("E","F DA","MSGRO OT")
  347   "RTN","GMR C124P",41, 0)
  348    ;
  349   "RTN","GMR C124P",42, 0)
  350    ;
  351   "RTN","GMR C124P",43, 0)
  352    S IENROOT 1=$G(IENRO OT(1)),MUL TIEN=0
  353   "RTN","GMR C124P",44, 0)
  354    ;
  355   "RTN","GMR C124P",45, 0)
  356    S WEBVER= $S(IENROOT 1:IENROOT1 ,1:WEBVER)
  357   "RTN","GMR C124P",46, 0)
  358    K IENROOT ,MSGROOT,F DA
  359   "RTN","GMR C124P",47, 0)
  360    S VICEIEN =0 F  S VI CEIEN=$O(^ XOB(18.12, WEBVER,100 ,"B",VICEI EN)) Q:'VI CEIEN  I $ $GET1^DIQ( 18.02,VICE IEN,.01)=" DST GET ID  SERVICE"  S MULTIEN= VICEIEN Q
  361   "RTN","GMR C124P",48, 0)
  362    S MULTIEN =$S(MULTIE N:MULTIEN, 1:"+1")
  363   "RTN","GMR C124P",49, 0)
  364    S FDA(18. 121,MULTIE N_","_WEBV ER_",",.01 )="DST GET  ID SERVIC E"       ;  WEB SERVI CE
  365   "RTN","GMR C124P",50, 0)
  366    S FDA(18. 121,MULTIE N_","_WEBV ER_",",.06 )="ENABLED "                   ;  STATUS 1- ENABLED /  0-DISABLED
  367   "RTN","GMR C124P",51, 0)
  368    D UPDATE^ DIE("E","F DA","IENRO OT","MSGRO OT")
  369   "RTN","GMR C124P",52, 0)
  370    ;
  371   "RTN","GMR C124P",53, 0)
  372   SPROT  ;Se t protocol  GMRC SIGN ED CONSULT  DST as an  item on O R EVSEND G MRC
  373   "RTN","GMR C124P",54, 0)
  374    ;
  375   "RTN","GMR C124P",55, 0)
  376    N GMRDGIE N,GMRERR,G MREXIT,GMR FDA,GMRIEN ,GMRRTCL,J ,PRTCLITM, V,X,Y
  377   "RTN","GMR C124P",56, 0)
  378    ;
  379   "RTN","GMR C124P",57, 0)
  380    D MES^XPD UTL($T(+0) _" post-in it routine  started " _$$HTE^XLF DT($H))
  381   "RTN","GMR C124P",58, 0)
  382    S V=$$SVD ATA D MES^ XPDUTL("Ol d data sav ed in "_V)
  383   "RTN","GMR C124P",59, 0)
  384    S GMRRTCL ="GMRC SIG NED CONSUL T DST",GMR IEN=$O(^OR D(101,"B", GMRRTCL,0) )
  385   "RTN","GMR C124P",60, 0)
  386     ; protoc ol missing , write me ssage and  exit
  387   "RTN","GMR C124P",61, 0)
  388    I '(GMRIE N>0) D MES ^XPDUTL(GM RRTCL_" pr otocol not  found. It  must be i nstalled t o proceed. ") Q
  389   "RTN","GMR C124P",62, 0)
  390    ;
  391   "RTN","GMR C124P",63, 0)
  392    S Y="OR E VSEND GMRC ",GMRDGIEN =$O(^ORD(1 01,"B",Y,0 ))
  393   "RTN","GMR C124P",64, 0)
  394    ; protoco l missing,  write mes sage and e xit
  395   "RTN","GMR C124P",65, 0)
  396    I '(GMRDG IEN>0) D M ES^XPDUTL( Y_" protoc ol not fou nd.  No IT EM update  performed. ") Q
  397   "RTN","GMR C124P",66, 0)
  398    ; make OR  EVSEND GM RC an exte nded actio n
  399   "RTN","GMR C124P",67, 0)
  400    S GMRFDA( 101,GMRDGI EN_",",4)= "X"
  401   "RTN","GMR C124P",68, 0)
  402    D UPDATE^ DIE("","GM RFDA",""," GMRERR")
  403   "RTN","GMR C124P",69, 0)
  404    I $D(GMRE RR) D  Q   ; somethin g went wro ng
  405   "RTN","GMR C124P",70, 0)
  406    . D MES^X PDUTL("Fil eMan error  when edit ing OR EVS END GMRC p rotocol")
  407   "RTN","GMR C124P",71, 0)
  408    . N V S V ="GMRERR"  F  S V=$Q( @V) Q:V=""   D MES^XP DUTL(V_" =  "_@V)
  409   "RTN","GMR C124P",72, 0)
  410    ;
  411   "RTN","GMR C124P",73, 0)
  412    ; is prot ocol alrea dy an item ?
  413   "RTN","GMR C124P",74, 0)
  414    S GMREXIT =$O(^ORD(1 01,GMRDGIE N,10,"B",G MRIEN,0))
  415   "RTN","GMR C124P",75, 0)
  416    I GMREXIT  D MES^XPD UTL(GMRRTC L_" alread y an ITEM  in "_Y_".   No update  needed.")  Q
  417   "RTN","GMR C124P",76, 0)
  418    ;
  419   "RTN","GMR C124P",77, 0)
  420    ; add pro tocol as I TEM
  421   "RTN","GMR C124P",78, 0)
  422    K GMRFDA, GMRERR
  423   "RTN","GMR C124P",79, 0)
  424    S GMRFDA( 101.01,"+1 ,"_GMRDGIE N_",",.01) =GMRIEN
  425   "RTN","GMR C124P",80, 0)
  426    D UPDATE^ DIE("","GM RFDA","PRT CLITM","GM RERR")
  427   "RTN","GMR C124P",81, 0)
  428    I $D(GMRE RR) D  Q   ; somethin g went wro ng
  429   "RTN","GMR C124P",82, 0)
  430    .D MES^XP DUTL("File Man error  when addin g ITEM to  OR EVSEND  GMRC proto col")
  431   "RTN","GMR C124P",83, 0)
  432    .N V S V= "GMRERR" F   S V=$Q(@ V) Q:V=""   D MES^XPD UTL(V_" =  "_@V)
  433   "RTN","GMR C124P",84, 0)
  434    ; new ITE M sub-file  IEN will  be in PRTC LITM(1)
  435   "RTN","GMR C124P",85, 0)
  436    D MES^XPD UTL(GMRRTC L_" protoc ol update  finished " _$$HTE^XLF DT($H))
  437   "RTN","GMR C124P",86, 0)
  438    ;
  439   "RTN","GMR C124P",87, 0)
  440    Q
  441   "RTN","GMR C124P",88, 0)
  442    ;
  443   "RTN","GMR C124P",89, 0)
  444   SVDATA() ;  extrinsic  variable,  save orig inal FileM an data, r eturns sto rage node
  445   "RTN","GMR C124P",90, 0)
  446    ;
  447   "RTN","GMR C124P",91, 0)
  448    D DT^DICR W
  449   "RTN","GMR C124P",92, 0)
  450    N FMERRCN T,GMRXTMP, GMRIEN,LN, NTRY,TXT,V ,X,Y
  451   "RTN","GMR C124P",93, 0)
  452    S Y=$$NOW ^XLFDT,GMR XTMP=$NA(^ XTMP("GMR  INSTALL LO G",Y))  ;  XTMP stora ge locatio n
  453   "RTN","GMR C124P",94, 0)
  454    ; ^XTMP l og data ex pires in 9 0 days
  455   "RTN","GMR C124P",95, 0)
  456    S X=$G(@G MRXTMP@(0) ) S:X="" @ GMRXTMP@(0 )=$$FMADD^ XLFDT(DT,9 0)_U_Y_"^G MR install ation "_$$ FMTE^XLFDT (Y)
  457   "RTN","GMR C124P",96, 0)
  458    ;
  459   "RTN","GMR C124P",97, 0)
  460    S FMERRCN T=0  ; Fil eMan error  counter
  461   "RTN","GMR C124P",98, 0)
  462    ; save en tries in F ileMan ite ms list
  463   "RTN","GMR C124P",99, 0)
  464    F LN=1:1  S TXT=$P($ T(FMITMS+L N),";;",2, 99) Q:TXT= ""  D
  465   "RTN","GMR C124P",100 ,0)
  466    .N FLNO,F MARRY,FMER R  ; file  #, FileMan  returned  value and  error mess age arrays
  467   "RTN","GMR C124P",101 ,0)
  468    .S FLNO=+ $P(TXT,U), X=$P(TXT,U ,2,99)  ;  file numbe r and targ et entry
  469   "RTN","GMR C124P",102 ,0)
  470    .Q:'(FLNO >1)!(X="")   ; file a nd entry r equired
  471   "RTN","GMR C124P",103 ,0)
  472    .S GMRIEN =$$FIND1^D IC(FLNO,"" ,"",X,""," ","FMERR")   ; lookup  value in  X is exter nal format
  473   "RTN","GMR C124P",104 ,0)
  474    .I $D(FME RR) D  Q   ; log erro r message  and quit
  475   "RTN","GMR C124P",105 ,0)
  476    ..S V="FM ERR",FMERR CNT=FMERRC NT+1 F  S  V=$Q(@V) Q :V=""  S @ GMRXTMP@(" FM LOOKUP  ERROR",FME RRCNT,V)=@ V
  477   "RTN","GMR C124P",106 ,0)
  478    .;
  479   "RTN","GMR C124P",107 ,0)
  480    .S:'(GMRI EN>0) FMER RCNT=FMERR CNT+1,@GMR XTMP@("FM  ENTRY NOT  FOUND",FME RRCNT)=TXT   ; entry
  481   "RTN","GMR C124P",108 ,0)
  482    .S:GMRIEN >0 @GMRXTM P@("ENTRY" ,FLNO,GMRI EN)="entry  found"
  483   "RTN","GMR C124P",109 ,0)
  484    .K FMERR   ; just in  case
  485   "RTN","GMR C124P",110 ,0)
  486    .D GETS^D IQ(FLNO,GM RIEN_","," **","EN"," FMARRY","F MERR")  ;  data inclu ding sub-f iles, igno re null va lues
  487   "RTN","GMR C124P",111 ,0)
  488    .I $D(FME RR) D  ; l og error m essage
  489   "RTN","GMR C124P",112 ,0)
  490    ..S V="FM ERR",FMERR CNT=FMERRC NT+1 F  S  V=$Q(@V) Q :V=""  S @ GMRXTMP@(" FM DATA ER ROR",FMERR CNT,V)=@V
  491   "RTN","GMR C124P",113 ,0)
  492    .; save t he data
  493   "RTN","GMR C124P",114 ,0)
  494    .M @GMRXT MP@("ENTRY ")=FMARRY
  495   "RTN","GMR C124P",115 ,0)
  496    ;
  497   "RTN","GMR C124P",116 ,0)
  498    Q GMRXTMP   ; return  ^XTMP sto rage locat ion
  499   "RTN","GMR C124P",117 ,0)
  500    ;
  501   "RTN","GMR C124P",118 ,0)
  502   FMITMS ; l ist of Fil eMan entri es: "file  # ^ .01 fi eld value"
  503   "RTN","GMR C124P",119 ,0)
  504    ;;101^OR  EVSEND GMR C
  505   "RTN","GMR C124P",120 ,0)
  506    ;
  507   "RTN","GMR CDST")
  508   0^1^B10366 2833
  509   "RTN","GMR CDST",1,0)
  510   GMRCDST ;A BV/BL - Re trieve Dec sion from  DST server ;03/28/201 9
  511   "RTN","GMR CDST",2,0)
  512    ;;3.0;CON SULT/REQUE ST TRACKIN G;**124**; MAR 28, 20 19;Build 2 3
  513   "RTN","GMR CDST",3,0)
  514    ;
  515   "RTN","GMR CDST",4,0)
  516    ;IA6173   (In proces s of submi ssion)
  517   "RTN","GMR CDST",5,0)
  518    ;IA6171   (In proces s of submi ssion)
  519   "RTN","GMR CDST",6,0)
  520    ;
  521   "RTN","GMR CDST",7,0)
  522   PROT(MSG)   ;GMRC SIG NED CONSUL T DST-PROT OCOL ENTRY  POINT
  523   "RTN","GMR CDST",8,0)
  524    ;
  525   "RTN","GMR CDST",9,0)
  526    ;Extract  Order Numb er FROM TH E ORC SEGM ENT
  527   "RTN","GMR CDST",10,0 )
  528    N GMRCMSG ,GMRCPKG,M SH,ORC,IEN 123,SIGN,O RA,X,SIGNE D,DUP
  529   "RTN","GMR CDST",11,0 )
  530    S GMRCMSG =$S($L($G( MSG)):MSG, 1:"MSG") Q :'$O(@GMRC MSG@(0))
  531   "RTN","GMR CDST",12,0 )
  532    S MSH=0 F   S MSH=$O (@GMRCMSG@ (MSH)) Q:M SH'>0  Q:$ E(@GMRCMSG @(MSH),1,3 )="MSH"
  533   "RTN","GMR CDST",13,0 )
  534    Q:'MSH  Q :'$L($G(@G MRCMSG@(MS H)))
  535   "RTN","GMR CDST",14,0 )
  536    ;
  537   "RTN","GMR CDST",15,0 )
  538    S ORC=MSH  F  S ORC= $O(@GMRCMS G@(+ORC))  Q:ORC'>0   I $E(@GMRC MSG@(ORC), 1,3)="ORC"  D
  539   "RTN","GMR CDST",16,0 )
  540    . S ORC=O RC_U_@GMRC MSG@(ORC)
  541   "RTN","GMR CDST",17,0 )
  542    . S ORIFN =+$P($P(OR C,"|",3)," ;")
  543   "RTN","GMR CDST",18,0 )
  544    ;GET THE  CONSULT IE N FROM THE  ORDER
  545   "RTN","GMR CDST",19,0 )
  546    S IEN123= 0,X=$G(^OR (100,ORIFN ,4)) I $P( X,";",2)=" GMRC" S IE N123=+X
  547   "RTN","GMR CDST",20,0 )
  548    I IEN123= "" Q "-1^N o Consult  found"
  549   "RTN","GMR CDST",21,0 )
  550    ;QUIT IF  ORDER IS N OT SIGNED
  551   "RTN","GMR CDST",22,0 )
  552    S ORA=0,S IGN=0,SIGN ED=0
  553   "RTN","GMR CDST",23,0 )
  554    F  S ORA= $O(^OR(100 ,ORIFN,8,O RA)) Q:+OR A'=ORA!(SI GNED)  D
  555   "RTN","GMR CDST",24,0 )
  556    . S SIGN= $P(^OR(100 ,ORIFN,8,O RA,0),"^", 6)
  557   "RTN","GMR CDST",25,0 )
  558    . I SIGN> 0 S SIGNED =1
  559   "RTN","GMR CDST",26,0 )
  560    Q:SIGNED= 0 "-1^ORDE R NOT SIGN ED"
  561   "RTN","GMR CDST",27,0 )
  562    ;
  563   "RTN","GMR CDST",28,0 )
  564    S ID=$$FI NDIDO(ORIF N)
  565   "RTN","GMR CDST",29,0 )
  566    I ID="" Q  "-1^NO DS T ID FOUND "
  567   "RTN","GMR CDST",30,0 )
  568    I $P(ID," ^")="-1" Q  "-1^NO DS T DATA FOU ND"
  569   "RTN","GMR CDST",31,0 )
  570    ;Check if  this DST  Note has b een added  to the con sult alrea dy
  571   "RTN","GMR CDST",32,0 )
  572    ;is there  an existi ng comment  on the co nsult, che ck for dup licate ID
  573   "RTN","GMR CDST",33,0 )
  574    S DUP=0
  575   "RTN","GMR CDST",34,0 )
  576    I $D(^GMR (123,IEN12 3,40,0)) S  DUP=$$DUP ID(IEN123, ID)
  577   "RTN","GMR CDST",35,0 )
  578    I DUP Q " -1^DST NOT E ALREADY  ADDED TO C ONSULT"
  579   "RTN","GMR CDST",36,0 )
  580    ;
  581   "RTN","GMR CDST",37,0 )
  582    Q $$GETDS T(IEN123,I D)
  583   "RTN","GMR CDST",38,0 )
  584    ;
  585   "RTN","GMR CDST",39,0 )
  586   DUPID(IEN1 23,ID)  ;C heck to se e if this  ID has alr eady been  entered in to the con sult
  587   "RTN","GMR CDST",40,0 )
  588    ;
  589   "RTN","GMR CDST",41,0 )
  590    N CNODE,C INC,DUP,NO TEID
  591   "RTN","GMR CDST",42,0 )
  592    S DUP=0,C NODE=0
  593   "RTN","GMR CDST",43,0 )
  594    I IEN123= "" Q DUP
  595   "RTN","GMR CDST",44,0 )
  596    F  S CNOD E=$O(^GMR( 123,IEN123 ,40,CNODE) ) Q:+CNODE '=CNODE!(D UP)  D
  597   "RTN","GMR CDST",45,0 )
  598    . S CINC= 0
  599   "RTN","GMR CDST",46,0 )
  600    . F  S CI NC=$O(^GMR (123,IEN12 3,40,CNODE ,1,CINC))  Q:CINC=""! (DUP)  D
  601   "RTN","GMR CDST",47,0 )
  602    . . I ^GM R(123,IEN1 23,40,CNOD E,1,CINC,0 )["DST ID: " D
  603   "RTN","GMR CDST",48,0 )
  604    . . . S N OTEID=""
  605   "RTN","GMR CDST",49,0 )
  606    . . . S N OTEID=$P(^ GMR(123,IE N123,40,CN ODE,1,CINC ,0),"DST I D:",2)
  607   "RTN","GMR CDST",50,0 )
  608    . . . I N OTEID[ID S  DUP=1
  609   "RTN","GMR CDST",51,0 )
  610    Q DUP
  611   "RTN","GMR CDST",52,0 )
  612    ;
  613   "RTN","GMR CDST",53,0 )
  614   GETDST(IEN 123,ID) ;
  615   "RTN","GMR CDST",54,0 )
  616    ;This API  retrieves  the decis ion data f rom the DS T database  using ID
  617   "RTN","GMR CDST",55,0 )
  618    ;Input:
  619   "RTN","GMR CDST",56,0 )
  620    ; IEN123  The IEN of  file #123
  621   "RTN","GMR CDST",57,0 )
  622    ; ID The  DST ID
  623   "RTN","GMR CDST",58,0 )
  624    ;Output:
  625   "RTN","GMR CDST",59,0 )
  626    ; If deci sion data  not found:  -1^No dec ision data  found
  627   "RTN","GMR CDST",60,0 )
  628    ; If deci sion data  found: 1
  629   "RTN","GMR CDST",61,0 )
  630    ;
  631   "RTN","GMR CDST",62,0 )
  632    N A,B,CAP TIONS,COM, COMCT,DATA ,I,SERVER, SERVICE,RE SOURCE,REQ UEST,RESPO NSE,RESULT ,RET,X,ERR FLG
  633   "RTN","GMR CDST",63,0 )
  634    S ERRFLG= 0
  635   "RTN","GMR CDST",64,0 )
  636    S SERVER= "DST GET I D SERVER"
  637   "RTN","GMR CDST",65,0 )
  638    S SERVICE ="DST GET  ID SERVICE "
  639   "RTN","GMR CDST",66,0 )
  640    I ID=0 Q  "-1^NO VAL ID ID SUBM ITTED"
  641   "RTN","GMR CDST",67,0 )
  642    S RESOURC E="/"_ID
  643   "RTN","GMR CDST",68,0 )
  644    ; Get an  instance o f the REST  request o bject.
  645   "RTN","GMR CDST",69,0 )
  646    S REQUEST =$$GETREST ^XOBWLIB(S ERVICE,SER VER)
  647   "RTN","GMR CDST",70,0 )
  648    S REQUEST .Timeout=1
  649   "RTN","GMR CDST",71,0 )
  650    ;
  651   "RTN","GMR CDST",72,0 )
  652    ; Execute  the HTTP  Get method .
  653   "RTN","GMR CDST",73,0 )
  654    K XUERR,R ESPJSON
  655   "RTN","GMR CDST",74,0 )
  656    S RESULT= $$GET^XOBW LIB(REQUES T,RESOURCE ,.XUERR,0)
  657   "RTN","GMR CDST",75,0 )
  658    I 'RESULT  D
  659   "RTN","GMR CDST",76,0 )
  660    . S COM(1 )="DVE-DST  Error fro m VistA:"   ;NEED TO  WRITE ERRO R TO 123 F ILE
  661   "RTN","GMR CDST",77,0 )
  662    . S COM(2 )=XUERR.co de
  663   "RTN","GMR CDST",78,0 )
  664    . I XUERR ["Http" S  COM(3)=XUE RR.statusL ine
  665   "RTN","GMR CDST",79,0 )
  666    . I XUERR ["ObjectEr ror" S COM (3)=XUERR. domain,COM (4)=XUERR. errorType
  667   "RTN","GMR CDST",80,0 )
  668    . S ERRFL G=1
  669   "RTN","GMR CDST",81,0 )
  670    ;If the E RRFLG then  store the  error in  the consul t
  671   "RTN","GMR CDST",82,0 )
  672    I ERRFLG  D CMT^GMRC GUIB(IEN12 3,.COM,"", DT,DUZ) Q  0
  673   "RTN","GMR CDST",83,0 )
  674    ; Process  the respo nse.
  675   "RTN","GMR CDST",84,0 )
  676    S RESPONS E=REQUEST. HttpRespon se
  677   "RTN","GMR CDST",85,0 )
  678    S DATA=RE SPONSE.Dat a
  679   "RTN","GMR CDST",86,0 )
  680    ;code is  not really  in JSON f ormat, not  changing  variable n ames
  681   "RTN","GMR CDST",87,0 )
  682    S RESPJSO N=""
  683   "RTN","GMR CDST",88,0 )
  684    F  Q:DATA .AtEnd  Se t RESPJSON =RESPJSON_ DATA.ReadL ine()
  685   "RTN","GMR CDST",89,0 )
  686    S RESPJSO N=$TR(RESP JSON,$C(10 ),"")
  687   "RTN","GMR CDST",90,0 )
  688    ;current  data is bl ob of text  with ^ de limited fi elds. Put  each field  on its ow n line
  689   "RTN","GMR CDST",91,0 )
  690    F I=1:1:$ L(RESPJSON ,"^") D
  691   "RTN","GMR CDST",92,0 )
  692    . S COM(I )=$P(RESPJ SON,"^",I)
  693   "RTN","GMR CDST",93,0 )
  694    . I COM(I )="" K COM (I)
  695   "RTN","GMR CDST",94,0 )
  696    ;If we ha ve data in  the COM a rray store  in the No te, other  wise quit  with an er ror
  697   "RTN","GMR CDST",95,0 )
  698    I $D(COM)  D
  699   "RTN","GMR CDST",96,0 )
  700    . ;COM AR RAY IS EXP ECTED TO B E SERIALLY  NUMBERED
  701   "RTN","GMR CDST",97,0 )
  702    . N TCOM, COMNUM,I
  703   "RTN","GMR CDST",98,0 )
  704    . S COMNU M="",I=0
  705   "RTN","GMR CDST",99,0 )
  706    . F  S CO MNUM=$O(CO M(COMNUM))  Q:COMNUM= ""  D
  707   "RTN","GMR CDST",100, 0)
  708    . . S I=I +1
  709   "RTN","GMR CDST",101, 0)
  710    . . S TCO M(I)=COM(C OMNUM)
  711   "RTN","GMR CDST",102, 0)
  712    . K COM
  713   "RTN","GMR CDST",103, 0)
  714    . M COM=T COM
  715   "RTN","GMR CDST",104, 0)
  716    . K TCOM
  717   "RTN","GMR CDST",105, 0)
  718    I $D(COM)  D CMT^GMR CGUIB(IEN1 23,.COM,"" ,DT,DUZ) Q  1
  719   "RTN","GMR CDST",106, 0)
  720    I '$D(COM ) S COM(1) ="DVE-DST  ID ISSUE:  No Content  sent from  DST"
  721   "RTN","GMR CDST",107, 0)
  722    D CMT^GMR CGUIB(IEN1 23,.COM,"" ,DT,DUZ) Q  1
  723   "RTN","GMR CDST",108, 0)
  724    Q
  725   "RTN","GMR CDST",109, 0)
  726    ;
  727   "RTN","GMR CDST",110, 0)
  728   FINDIDO(OR IFN) ;
  729   "RTN","GMR CDST",111, 0)
  730    ;1. Find  IEN of con sult recor d
  731   "RTN","GMR CDST",112, 0)
  732    ;2. Call  $$FINDID45  to retrie ve DST ID  from the # 100,#4.5 ( RESPONSES  multiple)
  733   "RTN","GMR CDST",113, 0)
  734    ;3. If DS T ID not f ound in 2.  call $$FI NDIDC to r etrieve DS T ID from  #123,#20 ( REASON FOR  REQUEST)
  735   "RTN","GMR CDST",114, 0)
  736    ;4. Call  $$GETDST t o retrieve  Decision  data from  DST databa se and sav e it as a  comment
  737   "RTN","GMR CDST",115, 0)
  738    ;
  739   "RTN","GMR CDST",116, 0)
  740    ;Input: O RIFN=IEN o f file #10 0
  741   "RTN","GMR CDST",117, 0)
  742    ;Output:
  743   "RTN","GMR CDST",118, 0)
  744    ; 1=DST I D found, d ecision da ta retriev ed, and co mment crea ted in the  consult r ecord
  745   "RTN","GMR CDST",119, 0)
  746    ; -1^No D ecision da ta found
  747   "RTN","GMR CDST",120, 0)
  748    ;
  749   "RTN","GMR CDST",121, 0)
  750    N ID,IEN1 23,X
  751   "RTN","GMR CDST",122, 0)
  752    S IEN123= 0,X=$G(^OR (100,ORIFN ,4)) I $P( X,";",2)=" GMRC" S IE N123=+X
  753   "RTN","GMR CDST",123, 0)
  754    Q:'IEN123  "-1^No De cision dat a found"
  755   "RTN","GMR CDST",124, 0)
  756    S ID=$$FI NDID45(ORI FN) ;First  search fo r the DST  ID in fiel d #100,#4. 5 (RESPONS ES)
  757   "RTN","GMR CDST",125, 0)
  758    ;Having n ot found t he ID in t he #100,#4 .5 field,  now look f or it in t he consult
  759   "RTN","GMR CDST",126, 0)
  760    I ID="" S  ID=$$FIND IDC(IEN123 )
  761   "RTN","GMR CDST",127, 0)
  762    ;remove s pace
  763   "RTN","GMR CDST",128, 0)
  764    S ID=$TR( ID," ","")
  765   "RTN","GMR CDST",129, 0)
  766    I ID="" Q  "-1^No De cision dat a found"
  767   "RTN","GMR CDST",130, 0)
  768    Q ID
  769   "RTN","GMR CDST",131, 0)
  770    ;Q $$GETD ST(IEN123, ID)
  771   "RTN","GMR CDST",132, 0)
  772    ;
  773   "RTN","GMR CDST",133, 0)
  774   FINDID45(O RIFN) ;
  775   "RTN","GMR CDST",134, 0)
  776    ;This API  searches  through th e #4.5 (RE SPONSES) m ultiple in  file #100  for the D ST ID
  777   "RTN","GMR CDST",135, 0)
  778    ;Input: O RIFN=IEN i n file #10 0
  779   "RTN","GMR CDST",136, 0)
  780    ;Output:  DST ID or  ""
  781   "RTN","GMR CDST",137, 0)
  782    ;
  783   "RTN","GMR CDST",138, 0)
  784    N I,ID,IE NS,N,N1,N2 ,OUT,STR,X ,Y
  785   "RTN","GMR CDST",139, 0)
  786    S ID="",I ENS=ORIFN_ ","
  787   "RTN","GMR CDST",140, 0)
  788    K OUT D G ETS^DIQ(10 0,IENS,"4. 5*","","OU T")
  789   "RTN","GMR CDST",141, 0)
  790    S N="" F   S N=$O(OU T(100.045, N)) Q:N=""   S (N1,ST R)="" D
  791   "RTN","GMR CDST",142, 0)
  792    . F  S N1 =$O(OUT(10 0.045,N,N1 )) Q:N1=""   S STR=ST R_OUT(100. 045,N,N1)  D
  793   "RTN","GMR CDST",143, 0)
  794    .. S N2=" " F  S N2= $O(OUT(100 .045,N,N1, N2)) Q:N2= ""  S STR= STR_OUT(10 0.045,N,N1 ,N2)
  795   "RTN","GMR CDST",144, 0)
  796    . I STR[" DST ID:" S  STR=$P(ST R,"DST ID: ",2) F I=1 :1:$L(STR)  S Y=$E(ST R,I) Q:Y=" #"  S ID=I D_Y
  797   "RTN","GMR CDST",145, 0)
  798    Q ID
  799   "RTN","GMR CDST",146, 0)
  800    ;
  801   "RTN","GMR CDST",147, 0)
  802   FINDIDC(IE N123) ;
  803   "RTN","GMR CDST",148, 0)
  804    ;This API  searches  FILE #123,  FIELD #20  (REASON F OR REQUEST )looking f or a 
  805   "RTN","GMR CDST",149, 0)
  806    ;"DST ID: " tag and,  if found,  will extr act the DS T ID and c all API 
  807   "RTN","GMR CDST",150, 0)
  808    ;$$GETDST  to retrie ve the dec ision data  from the  DST databa se and cre ate
  809   "RTN","GMR CDST",151, 0)
  810    ;a commen t in the c onsult con taining th e decsion  data
  811   "RTN","GMR CDST",152, 0)
  812    ;
  813   "RTN","GMR CDST",153, 0)
  814    ;Input: I EN123 IEN  of file #1 23
  815   "RTN","GMR CDST",154, 0)
  816    ;Output:  DST ID or  ""
  817   "RTN","GMR CDST",155, 0)
  818    ;
  819   "RTN","GMR CDST",156, 0)
  820    N I,ID,IE NS,N,OUT,X ,Y
  821   "RTN","GMR CDST",157, 0)
  822    S ID="",I ENS=IEN123 _","
  823   "RTN","GMR CDST",158, 0)
  824    K OUT D G ETS^DIQ(12 3,IENS,"20 ","","OUT" )
  825   "RTN","GMR CDST",159, 0)
  826    S N="" F   S N=$O(OU T(123,IENS ,20,N)) Q: N=""  S X= OUT(123,IE NS,20,N) D :X["DST ID :"
  827   "RTN","GMR CDST",160, 0)
  828    .S X=$P(X ,"DST ID:" ,2) F I=1: 1:$L(X) S  Y=$E(X,I)  Q:Y="#"  S  ID=ID_Y
  829   "RTN","GMR CDST",161, 0)
  830    Q ID
  831   "RTN","GMR CDST",162, 0)
  832    ;
  833   "RTN","GMR CDST",163, 0)
  834    ;
  835   "RTN","GMR CDST",164, 0)
  836    ;Post Ins tall to ad d DST web  server/ser vice
  837   "RTN","GMR CDST",165, 0)
  838   EN ;
  839   "RTN","GMR CDST",166, 0)
  840    N FDA      ; -- File Man Data A rray
  841   "RTN","GMR CDST",167, 0)
  842    N WEBVICE  ; -- Web  Service In ternal Ent ry Number
  843   "RTN","GMR CDST",168, 0)
  844    N WEBVER   ; -- Web  Server Int ernal Entr y Number
  845   "RTN","GMR CDST",169, 0)
  846    N MULTIEN  ; -- Web  Service Mu ltiple Int ernal Entr y Number
  847   "RTN","GMR CDST",170, 0)
  848    N WSTAT    ; -- Web  Service St atus
  849   "RTN","GMR CDST",171, 0)
  850    N IENROOT ,MSGROOT,I ENROOT1,VI CEIEN
  851   "RTN","GMR CDST",172, 0)
  852    ;
  853   "RTN","GMR CDST",173, 0)
  854    K FDA
  855   "RTN","GMR CDST",174, 0)
  856    S WEBVICE =$O(^XOB(1 8.02,"B"," DST GET ID  SERVICE", 0))
  857   "RTN","GMR CDST",175, 0)
  858    S WEBVICE =$S(WEBVIC E:WEBVICE, 1:"+1")
  859   "RTN","GMR CDST",176, 0)
  860    S FDA(18. 02,WEBVICE _",",.01)= "DST GET I D SERVICE"                    ;  NAME
  861   "RTN","GMR CDST",177, 0)
  862    S FDA(18. 02,WEBVICE _",",.02)= "REST"                                   ;  TYPE
  863   "RTN","GMR CDST",178, 0)
  864    S FDA(18. 02,WEBVICE _",",200)= "vs/v1/con sultFactor "                             ;  CONTEXT RO OT
  865   "RTN","GMR CDST",179, 0)
  866    D UPDATE^ DIE("E","F DA","IENRO OT","MSGRO OT")
  867   "RTN","GMR CDST",180, 0)
  868    K IENROOT ,MSGROOT,F DA
  869   "RTN","GMR CDST",181, 0)
  870    ;
  871   "RTN","GMR CDST",182, 0)
  872    S WEBVER= $O(^XOB(18 .12,"B","D ST GET ID  SERVER",0) )
  873   "RTN","GMR CDST",183, 0)
  874    S WEBVER= $S(WEBVER: WEBVER,1:" +1")
  875   "RTN","GMR CDST",184, 0)
  876    S FDA(18. 12,WEBVER_ ",",.01)=" DST GET ID  SERVER"                      ;  NAME
  877   "RTN","GMR CDST",185, 0)
  878    S FDA(18. 12,WEBVER_ ",",.03)=" 443"                                              ; PO RT
  879   "RTN","GMR CDST",186, 0)
  880    S FDA(18. 12,WEBVER_ ",",.04)=" DOMAIN . EXT     ; SERVER
  881   "RTN","GMR CDST",187, 0)
  882    S FDA(18. 12,WEBVER_ ",",.06)=" ENABLED"                                       ; STATU S 1-ENABLE D / 0-DISA BLED
  883   "RTN","GMR CDST",188, 0)
  884    S FDA(18. 12,WEBVER_ ",",.07)=6 0                                              ; DEFAU LT HTTP TI MEOUT
  885   "RTN","GMR CDST",189, 0)
  886    S FDA(18. 12,WEBVER_ ",",1.01)= "NO"                                           ; LOGIN  REQUIRED
  887   "RTN","GMR CDST",190, 0)
  888    S FDA(18. 12,WEBVER_ ",",3.01)= "FALSE"                                        ; SSL E NABLED
  889   "RTN","GMR CDST",191, 0)
  890    ;Need to  determine  if we are  creating a  new file,  or updati ng an exis ting one
  891   "RTN","GMR CDST",192, 0)
  892    N NEW
  893   "RTN","GMR CDST",193, 0)
  894    S NEW=1
  895   "RTN","GMR CDST",194, 0)
  896    I $D(^XOB (18.12,WEB VER,0)) S  NEW=0
  897   "RTN","GMR CDST",195, 0)
  898    I NEW=1 D
  899   "RTN","GMR CDST",196, 0)
  900    . D UPDAT E^DIE("E", "FDA","IEN ROOT","MSG ROOT")
  901   "RTN","GMR CDST",197, 0)
  902    I NEW=0 D
  903   "RTN","GMR CDST",198, 0)
  904    . D FILE^ DIE("E","F DA","MSGRO OT")
  905   "RTN","GMR CDST",199, 0)
  906    ;
  907   "RTN","GMR CDST",200, 0)
  908    ;
  909   "RTN","GMR CDST",201, 0)
  910    S IENROOT 1=$G(IENRO OT(1)),MUL TIEN=0
  911   "RTN","GMR CDST",202, 0)
  912    ;
  913   "RTN","GMR CDST",203, 0)
  914    S WEBVER= $S(IENROOT 1:IENROOT1 ,1:WEBVER)
  915   "RTN","GMR CDST",204, 0)
  916    K IENROOT ,MSGROOT,F DA
  917   "RTN","GMR CDST",205, 0)
  918    S VICEIEN =0 F  S VI CEIEN=$O(^ XOB(18.12, WEBVER,100 ,"B",VICEI EN)) Q:'VI CEIEN  I $ $GET1^DIQ( 18.02,VICE IEN,.01)=" DST GET ID  SERVICE"  S MULTIEN= VICEIEN Q
  919   "RTN","GMR CDST",206, 0)
  920    S MULTIEN =$S(MULTIE N:MULTIEN, 1:"+1")
  921   "RTN","GMR CDST",207, 0)
  922    S FDA(18. 121,MULTIE N_","_WEBV ER_",",.01 )="DST GET  ID SERVIC E"       ;  WEB SERVI CE
  923   "RTN","GMR CDST",208, 0)
  924    S FDA(18. 121,MULTIE N_","_WEBV ER_",",.06 )="ENABLED "                   ;  STATUS 1- ENABLED /  0-DISABLED
  925   "RTN","GMR CDST",209, 0)
  926    D UPDATE^ DIE("E","F DA","IENRO OT","MSGRO OT")
  927   "RTN","GMR CDST",210, 0)
  928    ;
  929   "RTN","GMR CDST",211, 0)
  930   SPROT  ;Se t protocol  GMRC SIGN ED CONSULT  DST as an  item on G MRC EVSEND  OR
  931   "RTN","GMR CDST",212, 0)
  932    ;
  933   "RTN","GMR CDST",213, 0)
  934    N GMRDGIE N,GMRERR,G MREXIT,GMR FDA,GMRIEN ,GMRRTCL,J ,PRTCLITM, V,X,Y
  935   "RTN","GMR CDST",214, 0)
  936    ;
  937   "RTN","GMR CDST",215, 0)
  938    D MES^XPD UTL($T(+0) _" post-in it routine  started " _$$HTE^XLF DT($H))
  939   "RTN","GMR CDST",216, 0)
  940    S V=$$SVD ATA D MES^ XPDUTL("Ol d data sav ed in "_V)
  941   "RTN","GMR CDST",217, 0)
  942    S GMRRTCL ="GMRC SIG NED CONSUL T DST",GMR IEN=$O(^OR D(101,"B", GMRRTCL,0) )
  943   "RTN","GMR CDST",218, 0)
  944     ; protoc ol missing , write me ssage and  exit
  945   "RTN","GMR CDST",219, 0)
  946    I '(GMRIE N>0) D MES ^XPDUTL(GM RRTCL_" pr otocol not  found. It  must be i nstalled t o proceed. ") Q
  947   "RTN","GMR CDST",220, 0)
  948    ;
  949   "RTN","GMR CDST",221, 0)
  950    S Y="GMRC  EVSEND OR ",GMRDGIEN =$O(^ORD(1 01,"B",Y,0 ))
  951   "RTN","GMR CDST",222, 0)
  952    ; protoco l missing,  write mes sage and e xit
  953   "RTN","GMR CDST",223, 0)
  954    I '(GMRDG IEN>0) D M ES^XPDUTL( Y_" protoc ol not fou nd.  No IT EM update  performed. ") Q
  955   "RTN","GMR CDST",224, 0)
  956    ; make GM RC EVSEND  OR an exte nded actio n
  957   "RTN","GMR CDST",225, 0)
  958    S GMRFDA( 101,GMRDGI EN_",",4)= "X"
  959   "RTN","GMR CDST",226, 0)
  960    D UPDATE^ DIE("","GM RFDA",""," GMRERR")
  961   "RTN","GMR CDST",227, 0)
  962    I $D(GMRE RR) D  Q   ; somethin g went wro ng
  963   "RTN","GMR CDST",228, 0)
  964    .D MES^XP DUTL("File Man error  when editi ng GMRC EV SEND OR pr otocol")
  965   "RTN","GMR CDST",229, 0)
  966    .N V S V= "GMRERR" F   S V=$Q(@ V) Q:V=""   D MES^XPD UTL(V_" =  "_@V)
  967   "RTN","GMR CDST",230, 0)
  968    ;
  969   "RTN","GMR CDST",231, 0)
  970    ; is prot ocol alrea dy an item ?
  971   "RTN","GMR CDST",232, 0)
  972    S GMREXIT =$O(^ORD(1 01,GMRDGIE N,10,"B",G MRIEN,0))
  973   "RTN","GMR CDST",233, 0)
  974    I GMREXIT  D MES^XPD UTL(GMRRTC L_" alread y an ITEM  in "_Y_".   No update  needed.")  Q
  975   "RTN","GMR CDST",234, 0)
  976    ;
  977   "RTN","GMR CDST",235, 0)
  978    ; add pro tocol as I TEM
  979   "RTN","GMR CDST",236, 0)
  980    K GMRFDA, GMRERR
  981   "RTN","GMR CDST",237, 0)
  982    S GMRFDA( 101.01,"+1 ,"_GMRDGIE N_",",.01) =GMRIEN
  983   "RTN","GMR CDST",238, 0)
  984    D UPDATE^ DIE("","GM RFDA","PRT CLITM","GM RERR")
  985   "RTN","GMR CDST",239, 0)
  986    I $D(GMRE RR) D  Q   ; somethin g went wro ng
  987   "RTN","GMR CDST",240, 0)
  988    .D MES^XP DUTL("File Man error  when addin g ITEM to  GMRC EVSEN D OR proto col")
  989   "RTN","GMR CDST",241, 0)
  990    .N V S V= "GMRERR" F   S V=$Q(@ V) Q:V=""   D MES^XPD UTL(V_" =  "_@V)
  991   "RTN","GMR CDST",242, 0)
  992    ; new ITE M sub-file  IEN will  be in PRTC LITM(1)
  993   "RTN","GMR CDST",243, 0)
  994    D MES^XPD UTL(GMRRTC L_" protoc ol update  finished " _$$HTE^XLF DT($H))
  995   "RTN","GMR CDST",244, 0)
  996    ;
  997   "RTN","GMR CDST",245, 0)
  998    Q
  999   "RTN","GMR CDST",246, 0)
  1000    ;
  1001   "RTN","GMR CDST",247, 0)
  1002   SVDATA() ;  extrinsic  variable,  save orig inal FileM an data, r eturns sto rage node
  1003   "RTN","GMR CDST",248, 0)
  1004    ;
  1005   "RTN","GMR CDST",249, 0)
  1006    D DT^DICR W
  1007   "RTN","GMR CDST",250, 0)
  1008    N FMERRCN T,GMRXTMP, GMRIEN,LN, NTRY,TXT,V ,X,Y
  1009   "RTN","GMR CDST",251, 0)
  1010    S Y=$$NOW ^XLFDT,GMR XTMP=$NA(^ XTMP("GMR  INSTALL LO G",Y))  ;  XTMP stora ge locatio n
  1011   "RTN","GMR CDST",252, 0)
  1012    ; ^XTMP l og data ex pires in 9 0 days
  1013   "RTN","GMR CDST",253, 0)
  1014    S X=$G(@G MRXTMP@(0) ) S:X="" @ GMRXTMP@(0 )=$$FMADD^ XLFDT(DT,9 0)_U_Y_"^G MR install ation "_$$ FMTE^XLFDT (Y)
  1015   "RTN","GMR CDST",254, 0)
  1016    ;
  1017   "RTN","GMR CDST",255, 0)
  1018    S FMERRCN T=0  ; Fil eMan error  counter
  1019   "RTN","GMR CDST",256, 0)
  1020    ; save en tries in F ileMan ite ms list
  1021   "RTN","GMR CDST",257, 0)
  1022    F LN=1:1  S TXT=$P($ T(FMITMS+L N),";;",2, 99) Q:TXT= ""  D
  1023   "RTN","GMR CDST",258, 0)
  1024    .N FLNO,F MARRY,FMER R  ; file  #, FileMan  returned  value and  error mess age arrays
  1025   "RTN","GMR CDST",259, 0)
  1026    .S FLNO=+ $P(TXT,U), X=$P(TXT,U ,2,99)  ;  file numbe r and targ et entry
  1027   "RTN","GMR CDST",260, 0)
  1028    .Q:'(FLNO >1)!(X="")   ; file a nd entry r equired
  1029   "RTN","GMR CDST",261, 0)
  1030    .S GMRIEN =$$FIND1^D IC(FLNO,"" ,"",X,""," ","FMERR")   ; lookup  value in  X is exter nal format
  1031   "RTN","GMR CDST",262, 0)
  1032    .I $D(FME RR) D  Q   ; log erro r message  and quit
  1033   "RTN","GMR CDST",263, 0)
  1034    ..S V="FM ERR",FMERR CNT=FMERRC NT+1 F  S  V=$Q(@V) Q :V=""  S @ GMRXTMP@(" FM LOOKUP  ERROR",FME RRCNT,V)=@ V
  1035   "RTN","GMR CDST",264, 0)
  1036    .;
  1037   "RTN","GMR CDST",265, 0)
  1038    .S:'(GMRI EN>0) FMER RCNT=FMERR CNT+1,@GMR XTMP@("FM  ENTRY NOT  FOUND",FME RRCNT)=TXT   ; entry
  1039   "RTN","GMR CDST",266, 0)
  1040    .S:GMRIEN >0 @GMRXTM P@("ENTRY" ,FLNO,GMRI EN)="entry  found"
  1041   "RTN","GMR CDST",267, 0)
  1042    .K FMERR   ; just in  case
  1043   "RTN","GMR CDST",268, 0)
  1044    .D GETS^D IQ(FLNO,GM RIEN_","," **","EN"," FMARRY","F MERR")  ;  data inclu ding sub-f iles, igno re null va lues
  1045   "RTN","GMR CDST",269, 0)
  1046    .I $D(FME RR) D  ; l og error m essage
  1047   "RTN","GMR CDST",270, 0)
  1048    ..S V="FM ERR",FMERR CNT=FMERRC NT+1 F  S  V=$Q(@V) Q :V=""  S @ GMRXTMP@(" FM DATA ER ROR",FMERR CNT,V)=@V
  1049   "RTN","GMR CDST",271, 0)
  1050    .; save t he data
  1051   "RTN","GMR CDST",272, 0)
  1052    .M @GMRXT MP@("ENTRY ")=FMARRY
  1053   "RTN","GMR CDST",273, 0)
  1054    ;
  1055   "RTN","GMR CDST",274, 0)
  1056    Q GMRXTMP   ; return  ^XTMP sto rage locat ion
  1057   "RTN","GMR CDST",275, 0)
  1058    ;
  1059   "RTN","GMR CDST",276, 0)
  1060   FMITMS ; l ist of Fil eMan entri es: "file  # ^ .01 fi eld value"
  1061   "RTN","GMR CDST",277, 0)
  1062    ;;101^GMR C EVSEND O R
  1063   "RTN","GMR CDST",278, 0)
  1064    ;
  1065   "VER")
  1066   8.0^22.2
  1067   **END**
  1068   **END**