[613] | 1 | PXKMAIN2 ;ISL/JVS - Special Routine ;5/21/96 13:20
|
---|
| 2 | ;;1.0;PCE PATIENT CARE ENCOUNTER;**69,186**;Aug 12, 1996;Build 3
|
---|
| 3 | ; VARIABLES
|
---|
| 4 | ; See variables lists under each line tag
|
---|
| 5 | ;
|
---|
| 6 | ;
|
---|
| 7 | SPEC ;Populate other v files
|
---|
| 8 | ; VARIABLES
|
---|
| 9 | ; PXKAV(0) = The AFTER variables created in PXKMAIN
|
---|
| 10 | ; PXKBV(0) = The BEFORE variables created in PXKMAIN
|
---|
| 11 | ; PXKFG(ED,DE,AD) =The EDIT,DELETE,ADD flags
|
---|
| 12 | ; PXKCAT = The category being $o through (CPT,IMM etc...)
|
---|
| 13 | ; PXKIN = The pointer value of first piece in the mapping file
|
---|
| 14 | ; PXKPXD = An array with all the entries to be mapped this go around
|
---|
| 15 | ; PXKDIEN = IEN of the coding file
|
---|
| 16 | ;
|
---|
| 17 | S PXKDONE=0
|
---|
| 18 | Q:PXKFGED=1
|
---|
| 19 | I (PXKFGAD=1) D
|
---|
| 20 | .I $D(^PXD(811.1,"AA",PXKAV(0,1),""_PXKCAT_"",1)) D
|
---|
| 21 | ..S PXKDONE=$O(^PXD(811.1,"AA",PXKAV(0,1),""_PXKCAT_"",1,PXKDONE))
|
---|
| 22 | ..S PXJ(1)=$G(^PXD(811.1,PXKDONE,0)) ;8TH IEN
|
---|
| 23 | ..S PXJ(2)=$P(PXJ(1),"^",2) ;SECOND PIECE OF 8TH IEN
|
---|
| 24 | ..S PXJ(3)=$P(PXJ(2),";",1) ;FIRST PIECE OF ABOVE
|
---|
| 25 | ..S PXJ(4)=$P(PXJ(1),"^",4) ;TO
|
---|
| 26 | ..S PXKDONE=$O(^PXD(811.1,"AA",PXJ(3),""_PXJ(4)_"",1,0))
|
---|
| 27 | ..S:PXKDONE="" PXKDONE=0 I '$D(PXKPXD($G(PXKDONE))) D POP
|
---|
| 28 | I (PXKFGDE=1) D
|
---|
| 29 | .I $D(^PXD(811.1,"AA",PXKBV(0,1),""_PXKCAT_"",1)) D
|
---|
| 30 | ..S PXKDONE=$O(^PXD(811.1,"AA",PXKBV(0,1),""_PXKCAT_"",1,PXKDONE))
|
---|
| 31 | ..S PXJ(1)=$G(^PXD(811.1,PXKDONE,0)) ;8TH IEN
|
---|
| 32 | ..S PXJ(2)=$P(PXJ(1),"^",2) ;SECOND PIECE OF 8TH IEN
|
---|
| 33 | ..S PXJ(3)=$P(PXJ(2),";",1) ;FIRST PIECE OF ABOVE
|
---|
| 34 | ..S PXJ(4)=$P(PXJ(1),"^",4) ;TO
|
---|
| 35 | ..S PXKDONE=$O(^PXD(811.1,"AA",PXJ(3),""_PXJ(4)_"",1,0))
|
---|
| 36 | ..S:PXKDONE="" PXKDONE=0 I '$D(PXKPXD($G(PXKDONE))) D POP
|
---|
| 37 | K PXKDONE
|
---|
| 38 | Q
|
---|
| 39 | ;
|
---|
| 40 | POP ;Population of more than one v file using PCE CODE MAPPING file 811.1
|
---|
| 41 | ;
|
---|
| 42 | ;N PXKPXD
|
---|
| 43 | N PXKROU,PXKIN,PXKX,PXKXX,PXKDIEN,PXKTO
|
---|
| 44 | S PXKIN=$S(PXKFGAD=1:PXKAV(0,1),PXKFGDE=1:PXKBV(0,1),1:"")
|
---|
| 45 | S PXKDIEN=0 F S PXKDIEN=$O(^PXD(811.1,"AA",PXKIN,PXKCAT,1,PXKDIEN)) Q:PXKDIEN="" D
|
---|
| 46 | .S PXKPXD(PXKDIEN)=$G(^PXD(811.1,PXKDIEN,0))
|
---|
| 47 | S (PXKX,PXKXX)=0 F S PXKX=$O(PXKPXD(PXKX)) Q:PXKX="" S PXKXX=PXKXX+.01 D
|
---|
| 48 | .I TMPPX[("^"_PXKX_"^") Q
|
---|
| 49 | .S PXKTO=$P(PXKPXD(PXKX),"^",4)
|
---|
| 50 | .S PXKROU=$P(PXKPXD(PXKX),"^",3)_"^PXKF"_PXKTO_"1" D @PXKROU
|
---|
| 51 | .S TMPPX=TMPPX_PXKX_"^"
|
---|
| 52 | S PXKNORG("SOR")=$G(^TMP("PXK",$J,"SOR"))
|
---|
| 53 | S PXKNORG("VSTIEN")=$G(^TMP("PXK",$J,"VST",1,"IEN"))
|
---|
| 54 | Q
|
---|
| 55 | ;
|
---|
| 56 | RECALL ; Recall PXKMAIN to populate special circumstances
|
---|
| 57 | D EVENT^PXKMAIN K ^TMP("PXK",$J)
|
---|
| 58 | S PXKREF="^TMP(""PXKSAVE"",$J)"
|
---|
| 59 | F S PXKREF=$Q(@PXKREF) Q:$P(PXKREF,",",1)'["PXKSAVE" Q:$P(PXKREF,",",2)'[$J Q:PXKREF="" S PXKSAVE=PXKREF D
|
---|
| 60 | .S $P(PXKSAVE,"""",2)="PXK" S @PXKSAVE=$G(@PXKREF)
|
---|
| 61 | S ^TMP("PXK",$J,"SOR")=$G(PXKNORG("SOR"))
|
---|
| 62 | S ^TMP("PXK",$J,"VST",1,"IEN")=$G(PXKNORG("VSTIEN"))
|
---|
| 63 | K ^TMP("PXKSAVE",$J),PXKNORG
|
---|
| 64 | D EN1^PXKMAIN,EVENT^PXKMAIN
|
---|
| 65 | Q
|
---|
| 66 | ;
|
---|
| 67 | ;
|
---|
| 68 | PRVTYPE ;---POPULATE PROVIDER TYPE
|
---|
| 69 | ;
|
---|
| 70 | ;--**
|
---|
| 71 | I '$D(^TMP("PXK",$J,"PRV")) Q
|
---|
| 72 | I '$L($T(GET^XUA4A72)) Q
|
---|
| 73 | N PXKPSUB,PXKPRV,PXKDT,NOD0,TYPE
|
---|
| 74 | S PXKPSUB=0 F S PXKPSUB=$O(^TMP("PXK",$J,"PRV",PXKPSUB)) Q:PXKPSUB="" D
|
---|
| 75 | .S NOD0=$G(^TMP("PXK",$J,"PRV",PXKPSUB,0,"AFTER"))
|
---|
| 76 | .S PXKPRV=$P(NOD0,"^",1)
|
---|
| 77 | .I '$G(PXKPRV) Q
|
---|
| 78 | .S PXKDT=+$P($G(^AUPNVSIT($G(^TMP("PXK",$J,"VST",1,"IEN")),0)),"^",1)
|
---|
| 79 | .;--** ADD FUNCTION
|
---|
| 80 | .S TYPE=+$$GET^XUA4A72($G(PXKPRV),+$P($G(PXKDT),".")) Q:TYPE<1
|
---|
| 81 | .I $P(NOD0,"^",6)']"" S $P(NOD0,"^",6)=TYPE
|
---|
| 82 | .S ^TMP("PXK",$J,"PRV",PXKPSUB,0,"AFTER")=NOD0
|
---|
| 83 | Q
|
---|