[613] | 1 | MAGGTCPR ;WOIFO/GEK - RPC Calls for Patient DHCP Reports ; [ 06/20/2001 08:56 ]
|
---|
| 2 | ;;3.0;IMAGING;;Mar 01, 2002
|
---|
| 3 | ;; +---------------------------------------------------------------+
|
---|
| 4 | ;; | Property of the US Government. |
|
---|
| 5 | ;; | No permission to copy or redistribute this software is given. |
|
---|
| 6 | ;; | Use of unreleased versions of this software requires the user |
|
---|
| 7 | ;; | to execute a written test agreement with the VistA Imaging |
|
---|
| 8 | ;; | Development Office of the Department of Veterans Affairs, |
|
---|
| 9 | ;; | telephone (301) 734-0100. |
|
---|
| 10 | ;; | |
|
---|
| 11 | ;; | The Food and Drug Administration classifies this software as |
|
---|
| 12 | ;; | a medical device. As such, it may not be changed in any way. |
|
---|
| 13 | ;; | Modifications to this software may result in an adulterated |
|
---|
| 14 | ;; | medical device under 21CFR820, the use of which is considered |
|
---|
| 15 | ;; | to be a violation of US Federal Statutes. |
|
---|
| 16 | ;; +---------------------------------------------------------------+
|
---|
| 17 | ;;
|
---|
| 18 | Q
|
---|
| 19 | DGRPD(MAGRPTY,DFN) ;RPC Call to Generate Patient Profile
|
---|
| 20 | ;
|
---|
| 21 | ; -- MAGRPTY -- is the name of the global holding the report.
|
---|
| 22 | ; -- @MAGRPTY@(0)-- if = 0 then error occurred
|
---|
| 23 | ; -- DFN := Patient File IEN
|
---|
| 24 | ; the variable MAGRPTY is referenced by CLOSE^MAGGTU5 to load
|
---|
| 25 | ; the report from the VMS file WS.DAT into the referenced global;
|
---|
| 26 | ;
|
---|
| 27 | S MAGRPTY=$NA(^TMP($J,"WSDAT"))
|
---|
| 28 | K @MAGRPTY
|
---|
| 29 | S @MAGRPTY@(0)="0^-Cannot Open Workstation Redirection Device"
|
---|
| 30 | S IOP="IMAGING WORKSTATION",%ZIS=0 D ^%ZIS Q:POP ;Redirect Output Here
|
---|
| 31 | U IO
|
---|
| 32 | D EN^DGRPD
|
---|
| 33 | D:IO'=IO(0) ^%ZISC
|
---|
| 34 | S @MAGRPTY@(0)="1^OK"
|
---|
| 35 | Q
|
---|
| 36 | HSUM(MAGRPTY,MAGGZ) ;RPC Call to Get Health Summary for Patient
|
---|
| 37 | ; MAGGZ -> DFN ^ HS Type (IEN)
|
---|
| 38 | ;
|
---|
| 39 | N Y,X,GMTSTYP,GMTSTITL
|
---|
| 40 | IF $$NEWERR^%ZTER N $ETRAP,$ESTACK S $ETRAP="D ERRA^MAGGTCPR"
|
---|
| 41 | E S X="ERRA^MAGGTCPR",@^%ZOSF("TRAP")
|
---|
| 42 | S MAGRPTY=$NA(^TMP($J,"WSDAT"))
|
---|
| 43 | K @MAGRPTY
|
---|
| 44 | S @MAGRPTY@(0)="0^Health Summary Report NOT successful"
|
---|
| 45 | S IOP="IMAGING WORKSTATION",%ZIS=0 D ^%ZIS Q:POP
|
---|
| 46 | S GMTSTYP=$P(MAGGZ,U,2),DFN=$P(MAGGZ,U)
|
---|
| 47 | S GMTSTITL=$$GET1^DIQ(142,GMTSTYP,".02","I")
|
---|
| 48 | U IO
|
---|
| 49 | D SELTYP1^GMTS,EN^GMTS1
|
---|
| 50 | D END^GMTS K GMTSEG,GMTSEGI,GMTSEGC ; MOD GEK 5\13\96
|
---|
| 51 | D:IO'=IO(0) ^%ZISC
|
---|
| 52 | S @MAGRPTY@(0)="1^OK"
|
---|
| 53 | Q
|
---|
| 54 | HSLIST(MAGRY,ZY) ;RPC Call To do a lookup using LIST^DIC to return
|
---|
| 55 | ; the List of Health Summary Types for a user to select from.
|
---|
| 56 | ; MAGRY is the Array to return.
|
---|
| 57 | ; ZY is NOT USED
|
---|
| 58 | ; Kernel uses Y, we have to New it because calls to DIC etc
|
---|
| 59 | ; also use it and change it, and kill it.
|
---|
| 60 | N Y,XI,Z,FI,MAGIEN,INFO
|
---|
| 61 | N FILE,IENS,FLDS,FLAGS,VAL,NUM,FROM,PART,INDEX,SCR,IDENT,TROOT
|
---|
| 62 | S (FILE,IENS,FLDS,FLAGS,VAL,NUM,FROM,PART,INDEX,SCR,IDENT,TROOT)=""
|
---|
| 63 | ;
|
---|
| 64 | ; Format
|
---|
| 65 | ;LIST^DIC(FILE,IENS,FIELDS,FLAGS,NUMBER,
|
---|
| 66 | ; [.]FROM,[.]PART,INDEX,[.]SCREEN,IDENTIFIER,TARGET_ROOT,MSG_ROOT)
|
---|
| 67 | ;
|
---|
| 68 | K ^TMP("DILIST",$J) ; is this necessary ?
|
---|
| 69 | K ^TMP("DIERR",$J) ; This is.
|
---|
| 70 | S FILE=142,NUM=9000,FROM="",PART="",FLDS="@;.01",INDEX="B"
|
---|
| 71 | D LIST^DIC(FILE,IENS,FLDS,FLAGS,NUM,FROM,PART,INDEX,SCR,IDENT,TROOT)
|
---|
| 72 | ;
|
---|
| 73 | I '$D(^TMP("DILIST",$J,2)) D Q
|
---|
| 74 | . S MAGRY(XI)="0^NO Health Summary Types Found in VistA"
|
---|
| 75 | S INFO=^TMP("DILIST",$J,0)
|
---|
| 76 | S XI="" F S XI=$O(^TMP("DILIST",$J,2,XI)) Q:XI="" S MAGIEN=^(XI) D
|
---|
| 77 | . S Z=".01",X=^TMP("DILIST",$J,"ID",XI,Z)
|
---|
| 78 | . F S Z=$O(^TMP("DILIST",$J,"ID",XI,Z)) Q:Z="" S X=X_" "_^(Z)
|
---|
| 79 | . S MAGRY(XI)=X_"^"_MAGIEN
|
---|
| 80 | ;
|
---|
| 81 | S MAGRY(0)=$P(INFO,"^")_U_"Found "_$P(INFO,"^")_" entr"_$S((+INFO=1):"y",1:"ies")
|
---|
| 82 | I $P(INFO,"^",3)>0 S MAGRY(0)=MAGRY(0)_" there are more"
|
---|
| 83 | Q
|
---|
| 84 | DISSUM(MAGRPTY,DFN) ; Discharge summary
|
---|
| 85 | S MAGRPTY=$NA(^TMP($J,"WSDAT"))
|
---|
| 86 | S @MAGRPTY@(0)="0^NOT YET IMPLEMENTED"
|
---|
| 87 | Q
|
---|
| 88 | ERRA S @MAGRPTY@(0)="0^"_$$EC^%ZOSV
|
---|
| 89 | D @^%ZOSF("ERRTN")
|
---|
| 90 | Q
|
---|