| 1 | C0CSYS ;WV/C0C/SMH - Routine to Get EHR System Information;6JUL2008
 | 
|---|
| 2 |  ;;1.0;C0C;;May 19, 2009;Build 2
 | 
|---|
| 3 |  ; Copyright 2008 WorldVistA.  Licensed under the terms of the GNU
 | 
|---|
| 4 |  ; General Public License See attached copy of the License.
 | 
|---|
| 5 |  ; 
 | 
|---|
| 6 |  ; This program is free software; you can redistribute it and/or modify
 | 
|---|
| 7 |  ; it under the terms of the GNU General Public License as published by
 | 
|---|
| 8 |  ; the Free Software Foundation; either version 2 of the License, or
 | 
|---|
| 9 |  ; (at your option) any later version.
 | 
|---|
| 10 |  ; 
 | 
|---|
| 11 |  ; This program is distributed in the hope that it will be useful,
 | 
|---|
| 12 |  ; but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
|---|
| 13 |  ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
|---|
| 14 |  ; GNU General Public License for more details.
 | 
|---|
| 15 |  ; 
 | 
|---|
| 16 |  ; You should have received a copy of the GNU General Public License along
 | 
|---|
| 17 |  ; with this program; if not, write to the Free Software Foundation, Inc.,
 | 
|---|
| 18 |  ; 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 |  W "Enter at appropriate points." Q
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 |  ; Originally, I was going to use VEPERVER, but VEPERVER
 | 
|---|
| 23 |  ; actually kills ^TMP($J), outputs it to the screen in a user-friendly
 | 
|---|
| 24 |  ; manner (press any key to continue),
 | 
|---|
| 25 |  ; and is really a very half finished routine
 | 
|---|
| 26 |  ;
 | 
|---|
| 27 |  ; So for now, I am hard-coding the values.
 | 
|---|
| 28 |  ;
 | 
|---|
| 29 | SYSNAME() ;Get EHR System Name; PUBLIC; Extrinsic
 | 
|---|
| 30 |  Q:$G(DUZ("AG"))="I" "RPMS"
 | 
|---|
| 31 |  Q "WorldVistA EHR/VOE"
 | 
|---|
| 32 |  ;
 | 
|---|
| 33 | SYSVER() ;Get EHR System Version; PUBLIC; Extrinsic
 | 
|---|
| 34 |  Q "1.0"
 | 
|---|
| 35 |  ;
 | 
|---|
| 36 | PTST(DFN) ;TEST TO SEE IF PATIENT MERGED OR A TEST PATIENT
 | 
|---|
| 37 |   ; DFN = IEN of the Patient to be tested
 | 
|---|
| 38 |   ; 1 = Merged or Test Patient
 | 
|---|
| 39 |   ; 0 = Non-test Patient
 | 
|---|
| 40 |   ;
 | 
|---|
| 41 |   I DFN="" Q 0  ; BAD DFN PASSED
 | 
|---|
| 42 |   I $D(^DPT(DFN,-9)) Q 1  ;This patient has been merged
 | 
|---|
| 43 |   I $G(^DPT(DFN,0))="" Q 1  ;Missing zeroth node <---add
 | 
|---|
| 44 |   ;
 | 
|---|
| 45 |   I '$D(CCRTEST) S CCRTEST=1 ; DEFAULT IS THAT WE ARE TESTING
 | 
|---|
| 46 |   I CCRTEST Q 0  ; IF WE ARE TESTING, DON'T REJECT TEST PATIENTS
 | 
|---|
| 47 |   N DIERR,DATA
 | 
|---|
| 48 |   I $$TESTPAT^VADPT(DFN) Q 1 ; QUIT IF IT'S A VA TEST PATIENT
 | 
|---|
| 49 |   S DATA=+$$GET1^DIQ(2,DFN_",",.6,"I") ;Test Patient Indicator
 | 
|---|
| 50 |   ; 1 = Test Patient
 | 
|---|
| 51 |   ; 0 = Non-test Patient
 | 
|---|
| 52 |   I DATA Q DATA
 | 
|---|
| 53 |   S DATA=$$GET1^DIQ(2,DFN_",",.09,"I") ;SSN test
 | 
|---|
| 54 |   D CLEAN^DILF
 | 
|---|
| 55 |   I "Pp"[$E(DATA,$L(DATA),$L(DATA)) Q 0  ;Allow Pseudo SSN
 | 
|---|
| 56 |   I $E(DATA,1,3)="000" Q 1
 | 
|---|
| 57 |   I $E(DATA,1,3)="666" Q 1
 | 
|---|
| 58 |   Q 0
 | 
|---|
| 59 |   ;
 | 
|---|