| [613] | 1 | PSBVITFL ;BIRMINGHAM/TEJ-BCMA VITAL MEASUREMENT FILER ;Mar 2004
 | 
|---|
 | 2 |  ;;3.0;BAR CODE MED ADMIN;*31*;Mar 2004;Build 1
 | 
|---|
 | 3 |  ; Per VHA Directive 2004-038, this routine should not be modified.
 | 
|---|
 | 4 |  ; 
 | 
|---|
 | 5 |  ; Reference/IA
 | 
|---|
 | 6 |  ; STORE^GMRVPCE0/1589
 | 
|---|
 | 7 |  ; 44/908
 | 
|---|
 | 8 |  ; 42/10039
 | 
|---|
 | 9 |  ; 
 | 
|---|
 | 10 |  ;
 | 
|---|
 | 11 |  ; Description:
 | 
|---|
 | 12 |  ; This routine is to service BCMA 3.0 functionality and store VITALs'
 | 
|---|
 | 13 |  ; data into the VITAL MEASUREMENT FILE - ^GMR(120.5  using the API
 | 
|---|
 | 14 |  ; GMRVPCE0
 | 
|---|
 | 15 |  ; 
 | 
|---|
 | 16 |  ; Parameters:
 | 
|---|
 | 17 |  ;       Input  -        DFN     (r) Pointer to the PATIENT (#2) file
 | 
|---|
 | 18 |  ;                       RATE    (r) BCMA trigger event/transaction
 | 
|---|
 | 19 |  ;                       VTYPE   (o) Pointer to GMRV VITAL TYPE FILE (#120.51)
 | 
|---|
 | 20 |  ;                                    (default = Pain ["PN"])
 | 
|---|
 | 21 |  ;                       DTTKN   (o) Date/time (FileMan) measurment was taken 
 | 
|---|
 | 22 |  ;                                    (default = $$NOW^XLFDT())
 | 
|---|
 | 23 |  ;                                    
 | 
|---|
 | 24 |  ;       Output -        RESULTS(0) = 1                                                                                             
 | 
|---|
 | 25 |  ;                       RESULTS(1) ="1^*** comment ***"                                                              
 | 
|---|
 | 26 |  ;                 or    RESULTS(1) ="-1^ERROR * Pain Score NOT filed 
 | 
|---|
 | 27 |  ;                                    successfully"
 | 
|---|
 | 28 |  ;
 | 
|---|
 | 29 |  ;       Process results in the storing of VITAL Measurement rate into the VITAL
 | 
|---|
 | 30 |  ;       MEASUREMENT FILE per the given patient and vital type.
 | 
|---|
 | 31 |  ;   
 | 
|---|
 | 32 | RPC(RESULTS,PSBDFN,PSBRATE,PSBVTYPE,PSBDTTKN) ;
 | 
|---|
 | 33 |  ;
 | 
|---|
 | 34 |  ; Set up the input array for the API
 | 
|---|
 | 35 |  ;
 | 
|---|
 | 36 |  ;PSB*3*31 Quit if patient has been discharged.
 | 
|---|
 | 37 |  K VADM,VAIN
 | 
|---|
 | 38 |  N DFN S DFN=$G(PSBDFN),VAIP("D")=""
 | 
|---|
 | 39 |  D DEM^VADPT,IN5^VADPT
 | 
|---|
 | 40 |  S RESULTS(0)=1,RESULTS(1)="-1^ERROR * "_$S($G(PSBVTYPE)']""!($G(PSBVTYPE)="PN"):"Pain Score",1:"Vital Measurement")_" NOT filed successfully."
 | 
|---|
 | 41 |  I 'VAIP(13)&('VADM(6)) S RESULTS(1)=RESULTS(1)_"  Patient has been DISCHARGED." Q
 | 
|---|
 | 42 |  S:$G(PSBVTYPE)']"" PSBVTYPE="PN"
 | 
|---|
 | 43 |  S:$G(PSBDTTKN)']"" PSBDTTKN=$$NOW^XLFDT()
 | 
|---|
 | 44 |  S PSBHLOC=^DIC(42,+$G(VAIP(5)),44)
 | 
|---|
 | 45 |  S GMRVDAT("ENCOUNTER")=U_PSBDFN_U_$G(PSBHLOC)
 | 
|---|
 | 46 |  S GMRVDAT("SOURCE")=U_$G(DUZ)
 | 
|---|
 | 47 |  S GMRVDAT("VITALS",$G(DUZ),1)=PSBVTYPE_U_$G(PSBRATE)_U_$G(PSBUNTS)_U_PSBDTTKN
 | 
|---|
 | 48 |  D STORE^GMRVPCE0(.GMRVDAT)
 | 
|---|
 | 49 |  I '$D(GMRVDAT("ERROR")) D NOW^%DTC,YX^%DTC S RESULTS(0)=1,RESULTS(1)="1^"_$S($G(PSBVTYPE)="PN":"Pain Score",1:PSBVTYPE)_" entered in Vitals via BCMA taken "_Y
 | 
|---|
 | 50 |  Q
 | 
|---|
 | 51 |  ;
 | 
|---|