[613] | 1 | AUPNLKB ; IHS/CMI/LAB - Broke up AUPNLK because of size ;8DEC2006
|
---|
| 2 | ;;1.0;PCE PATIENT CARE ENCOUNTER;**167**;Aug 12, 1996;Build 22
|
---|
| 3 | ; Copyright (C) 2007 WorldVistA
|
---|
| 4 | ;
|
---|
| 5 | ; This program is free software; you can redistribute it and/or modify
|
---|
| 6 | ; it under the terms of the GNU General Public License as published by
|
---|
| 7 | ; the Free Software Foundation; either version 2 of the License, or
|
---|
| 8 | ; (at your option) any later version.
|
---|
| 9 | ;
|
---|
| 10 | ; This program is distributed in the hope that it will be useful,
|
---|
| 11 | ; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
| 12 | ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
---|
| 13 | ; GNU General Public License for more details.
|
---|
| 14 | ;
|
---|
| 15 | ; You should have received a copy of the GNU General Public License
|
---|
| 16 | ; along with this program; if not, write to the Free Software
|
---|
| 17 | ; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
---|
| 18 | ;'Modified' MAS Patient Look-up Check Cross-References June 1987
|
---|
| 19 | ;
|
---|
| 20 | LOOKUPS ; EXTERNAL ENTRY POINT
|
---|
| 21 | S AUPBEG=1,(AUPDFN,AUPNUM)=0
|
---|
| 22 | D QUICK ; Try quick lookups first
|
---|
| 23 | I AUPQF Q ;HERE IS WHERE WE WOULD GO FARTHER IN OUR SEARCH IF MATCHING HRN WASN'T GOOD ENOUGH --GFT
|
---|
| 24 | D XREFS ; Try lookup on xrefs
|
---|
| 25 | Q:AUPQF
|
---|
| 26 | I DIC(0)["N" D DFN ; Try by DFN
|
---|
| 27 | Q:AUPQF
|
---|
| 28 | Q
|
---|
| 29 | ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
---|
| 30 | ;
|
---|
| 31 | QUICK ; QUICK LOOKUPS
|
---|
| 32 | I $D(AUPNLK("ICN")) D ICN Q
|
---|
| 33 | D IHSCHRT I AUPDFN>0 S AUPQF=4 Q ;**GFT/VW
|
---|
| 34 | I AUPX["^" S AUPQF=3 Q
|
---|
| 35 | S AUPDFN=0
|
---|
| 36 | I AUPX=" " S Y=$S('($D(DUZ)#2):-1,$D(^DISV(DUZ,"^DPT(")):^("^DPT("),1:-1) D SETAUP^AUPNLKUT:Y>0 S AUPDFN=$S($D(AUPS(Y)):Y,1:-1) D CHKDFN K AUPSP Q
|
---|
| 37 | I $E(AUPX)="`" S Y=$S($D(^DPT(+$P(AUPX,"`",2),0)):+$P(AUPX,"`",2),1:-1) D SETAUP^AUPNLKUT:Y>0 S AUPDFN=$S($D(AUPS(Y)):Y,1:-1) D CHKDFN Q
|
---|
| 38 | Q
|
---|
| 39 | ;
|
---|
| 40 | ICN ; LOOKUP BY ICN (for MFI)
|
---|
| 41 | S AUPDFN=-1
|
---|
| 42 | S X=$P(AUPNLK("ICN"),":",2),AUPNLK("ICN")=$P(AUPNLK("ICN"),":",1)
|
---|
| 43 | Q:X'?1N.N
|
---|
| 44 | Q:AUPNLK("ICN")'?1N.N
|
---|
| 45 | Q:'$D(^AUTTLOC(AUPNLK("ICN"),0))
|
---|
| 46 | Q:'$D(^AUPNPAT("AICN",AUPNLK("ICN"),X))
|
---|
| 47 | S (AUPDFN,Y)=$O(^(X,0))
|
---|
| 48 | S:$D(DIC("S")) AUPNLK("DICS")=DIC("S") K DIC("S") D SETAUP^AUPNLKUT S:$D(AUPNLK("DICS")) DIC("S")=AUPNLK("DICS") K AUPNLK("DICS")
|
---|
| 49 | S AUPQF=4
|
---|
| 50 | Q
|
---|
| 51 | ;
|
---|
| 52 | IHSCHRT ; LOOKUP CHART #
|
---|
| 53 | Q:'$D(^AUPNPAT("D",AUPX))
|
---|
| 54 | ALLQ D IHSCHRT1:'$G(AUPNLK("ALL")),IHSCHRT2:$G(AUPNLK("ALL"))
|
---|
| 55 | Q
|
---|
| 56 | ;
|
---|
| 57 | IHSCHRT1 ; LOOKUP CHART # WHEN ONLY 1 DUZ(2) SHOULD BE USED
|
---|
| 58 | F Y=0:0 S Y=$O(^AUPNPAT("D",AUPX,Y)) Q:Y="" Q:$D(^(Y,DUZ(2)))
|
---|
| 59 | Q:Y=""
|
---|
| 60 | D SETAUP^AUPNLKUT
|
---|
| 61 | S AUPDFN=$S($D(AUPS(Y)):Y,1:-1)
|
---|
| 62 | Q
|
---|
| 63 | ;
|
---|
| 64 | IHSCHRT2 ; LOOKUP CHART # WHEN ALL INSTITUTIONS SHOULD BE SCANNED
|
---|
| 65 | F AUPIFN=0:0 S AUPIFN=$O(^AUPNPAT("D",AUPX,AUPIFN)) Q:AUPIFN="" S Y=AUPIFN D SETAUP^AUPNLKUT
|
---|
| 66 | S:AUPCNT=1&($D(AUPIFNS(AUPCNT))) AUPDFN=+AUPIFNS(AUPCNT) D PRTAUP^AUPNLKUT:'AUPDFN&(AUPCNT>AUPNUM)&(DIC(0)["E") I 'AUPDFN,$D(AUPSEL),AUPSEL="" S AUPDFN=-1
|
---|
| 67 | Q
|
---|
| 68 | ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
---|
| 69 | ;
|
---|
| 70 | XREFS ; LOOKUP BY XREFS
|
---|
| 71 | ; Upon returning from ^AUPNLK1 AUPDFN values/meanings are:
|
---|
| 72 | ; 0 = No hits
|
---|
| 73 | ; <0 = Hits but no selection
|
---|
| 74 | ; >0 = Selection made
|
---|
| 75 | D ^AUPNLK1
|
---|
| 76 | I $D(DTOUT) S AUPQF=2 Q
|
---|
| 77 | I AUPDFN>0 S AUPQF=4 Q
|
---|
| 78 | I AUPDFN<0 S AUPQF=3 Q
|
---|
| 79 | Q
|
---|
| 80 | ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
---|
| 81 | ;
|
---|
| 82 | DFN ; LOOKUP BY DFN
|
---|
| 83 | Q:AUPX'?1N.N
|
---|
| 84 | S AUPDFN=-1,AUPBEG=1,AUPNUM=0
|
---|
| 85 | I $D(^DPT(AUPX,0)) S Y=X D SETAUP^AUPNLKUT S AUPDFN=$S($D(AUPS(Y)):Y,1:-1) D CHKDFN Q
|
---|
| 86 | Q
|
---|
| 87 | ;
|
---|
| 88 | CHKDFN ;
|
---|
| 89 | S:'$D(AUPDFN) AUPDFN=-1
|
---|
| 90 | I +AUPDFN'>0!('$D(AUPS(+AUPDFN))) D:DIC(0)["Q" EN^DDIOL($C(7)_" ??") S AUPQF=3 Q
|
---|
| 91 | S AUPQF=4
|
---|
| 92 | Q
|
---|
| 93 | ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
---|
| 94 | ;
|
---|
| 95 | ADDPAT ; EXTERNAL ENTRY POINT - ADD PATIENT
|
---|
| 96 | I AUPX?1"""".E1"""" S AUPX=$E(AUPX,2,$L(AUPX)-1)
|
---|
| 97 | D ^AUPNLK2
|
---|
| 98 | S Y=AUPDFN
|
---|
| 99 | I Y<0 S AUPQF=3 Q
|
---|
| 100 | S AUPQF=5
|
---|
| 101 | Q
|
---|