Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: VPRHST

VPRHST.m

Go to the documentation of this file.
  1. VPRHST ;SLC/MKB -- Test HS utilities ;09/18/18 4:36pm
  1. ;;1.0;VIRTUAL PATIENT RECORD;**8,25,27**;Sep 01, 2011;Build 10
  1. ;;Per VA Directive 6402, this routine should not be modified.
  1. ;
  1. ; External References DBIA#
  1. ; ------------------- -----
  1. ; %ZIS 10086
  1. ; DIC 2051
  1. ; DID 2052
  1. ; DIR 10026
  1. ;
  1. EN ; -- test VPRHS, write results to screen
  1. N DFN,TYPE,VPRZTEST S VPRZTEST=1
  1. F S DFN=$$PATIENT Q:DFN<1 D
  1. . F S TYPE=$$SOURCE Q:"^"[TYPE D RUN W !! ;$$CONTNR
  1. Q
  1. ;
  1. RUN ; -- get search parameters, run and display
  1. N START,STOP,MAX,ID,FMT,IN,OUT,TOTAL,I,X,RTN,DONE,QUIT
  1. S START=$$START Q:START="^"
  1. I START S STOP=$$STOP(START) Q:STOP="^"
  1. S MAX=$$TOTAL Q:MAX="^"
  1. ; ID=$$ITEM Q:ID="^"
  1. S FMT=1 ;$$FORMAT Q:FMT="^"
  1. ;
  1. S:$G(START) IN("start")=START
  1. S:$G(STOP) IN("stop")=STOP
  1. S:$G(MAX) IN("max")=MAX
  1. D GET^VPRHS(DFN,TYPE,,.IN,1,.OUT)
  1. D ^%ZIS
  1. ;
  1. S TOTAL=$O(@OUT@("A"),-1),RTN=$S(FMT:"XML",1:"JSON")_"^VPRHST1(X)"
  1. W !!,"#Results: "_TOTAL Q:TOTAL<1
  1. S I=0 F S I=$O(@OUT@(I)) Q:I<1 D Q:$G(QUIT)
  1. . I '$G(DONE) D READ Q:$G(QUIT)
  1. . W !,"Result #"_I,! S X=@OUT@(I) D @RTN
  1. K @OUT
  1. D HOME^%ZIS
  1. Q
  1. ;
  1. READ ; -- continue?
  1. N X K DONE,QUIT
  1. W !!,"Press <return> to continue or ^ to exit results ..." R X:DTIME
  1. S:X["^" QUIT=1
  1. Q
  1. ;
  1. PATIENT() ; -- select patient
  1. N X,Y,DIC
  1. S DIC=2,DIC(0)="AEQM" D ^DIC
  1. Q Y
  1. ;
  1. SOURCE() ; -- select SDA source
  1. N X,Y,DIC,DA,FN
  1. S DIC=560.1,DIC(0)="AEQMZ",DIC("A")="Select CONTAINER: "
  1. S DIC("S")="I $O(^(1,0))" D ^DIC I Y<1 Q "^"
  1. S DA=+Y,Y=$P(Y(0),U,2)
  1. I $P($G(^VPRC(560.1,DA,1,0)),U,4)>1 D
  1. . S FN=$$FILE(DA) S:FN>1 Y=Y_";"_FN
  1. . I FN="^" S Y="^"
  1. Q Y
  1. ;
  1. FILE(CONT) ; -- select optional source file for CONTainer
  1. N I,X,Y,Z,DIR,GBL S CONT=$G(CONT)
  1. S CONT=$S(CONT:+CONT,$L(CONT):+$O(^VPRC(560.1,"C",CONT,0)),1:0)
  1. S DIR("A")="Select SOURCE FILE: ",DIR(0)="SAO^",Y=""
  1. F I=1:1 S X=$G(^VPRC(560.1,CONT,1,I,0)) Q:X="" D
  1. . S Z=$$GET1^DID(+X,,,"NAME")
  1. . I Z="" S GBL="^DD(+X,0,""NM"")",Z=$O(@GBL@("")) ;subfile
  1. . S DIR(0)=DIR(0)_+X_":"_Z_";"
  1. S DIR("?")="Select a VistA source file for this container, or press return for all."
  1. K X D:CONT ^DIR
  1. Q Y
  1. ;
  1. CONTNR() ; -- select SDA container
  1. N X,Y,DIC
  1. S DIC="^VPRC(560.1,",DIC(0)="AEQMZ",DIC("A")="Select CONTAINER: "
  1. S DIC("S")="I $O(^(1,0))" D ^DIC I Y<1 Q "^"
  1. S Y=$P($G(Y(0)),U,2)
  1. Q Y
  1. ;
  1. START() ; -- select a start date
  1. N X,Y,DIR,DUOUT,DTOUT
  1. S DIR(0)="DAO^::AEPT",DIR("A")="Select START DATE: "
  1. S DIR("?")="Enter an optional date[.time] to begin searching for data"
  1. D ^DIR S:$D(DTOUT) Y="^"
  1. Q Y
  1. ;
  1. STOP(START) ; -- select a stop date
  1. N X,Y,DIR,DUOUT,DTOUT
  1. S DIR(0)="DA^"_START_"::AEPT",DIR("A")="Select STOP DATE: "
  1. S DIR("?")="Enter a date[.time] after the START to end searching for data"
  1. D ^DIR S:$D(DTOUT) Y="^"
  1. Q Y
  1. ;
  1. TOTAL() ; -- select the max# to return
  1. N X,Y,DIR,DUOUT,DTOUT
  1. S DIR(0)="NAO^1:99999",DIR("A")="Select TOTAL #items: "
  1. S DIR("?")="Enter an optional maximum number of items to return per VistA source for this container, up to 99999"
  1. D ^DIR S:$D(DTOUT) Y="^"
  1. Q Y
  1. ;
  1. ITEM() ; -- select an item ID to return
  1. N X,Y,DIR,DUOUT,DTOUT
  1. S DIR(0)="FAO^1:20",DIR("A")="ID: "
  1. S DIR("?")="Enter the id of a record to return, if known; press return to view all records in this container."
  1. D ^DIR S:$D(DTOUT) Y="^"
  1. Q Y
  1. ;
  1. FORMAT() ; -- select output format
  1. N X,Y,DIR,DUOUT,DTOUT
  1. S DIR(0)="SAO^0:JSON;1:XML;",DIR("A")="Select FORMAT: ",DIR("B")="XML"
  1. S DIR("?")="Choose your desired output format, XML or JSON"
  1. D ^DIR S:$D(DUOUT) Y="^"
  1. Q Y