[613] | 1 | PXCAVST1 ;ISL/dee & LEA/Chylton - Translates data from the PCE Device Interface into PCE's PXK format for the Visit and Providers ;8/1/96
|
---|
| 2 | ;;1.0;PCE PATIENT CARE ENCOUNTER;**73,74,111,121,130**;Aug 12, 1996
|
---|
| 3 | Q
|
---|
| 4 | ;
|
---|
| 5 | VST(PXCAENC) ;Visit
|
---|
| 6 | N PXCAFTER
|
---|
| 7 | NODE0 ;
|
---|
| 8 | 1 S PXCAFTER=$P(PXCAENC,"^",1)_"^^^^"
|
---|
| 9 | 5 S PXCAFTER=PXCAFTER_PXCAPAT_"^^^"
|
---|
| 10 | 8 S PXCAFTER=PXCAFTER_PXCACSTP_"^^^^^^^^^"
|
---|
| 11 | 17 ;Store the Evaluation and Management Code in V-CPT and NOT in the Visit
|
---|
| 12 | D EVALCODE($P(PXCAENC,"^",5),$P(PXCAENC,"^",4))
|
---|
| 13 | S PXCAFTER=PXCAFTER_"^"
|
---|
| 14 | 18 S PXCAFTER=PXCAFTER_$P(PXCAENC,"^",14)_"^^^"
|
---|
| 15 | 21 I $P(PXCAENC,"^",13)]"" S PXCAFTER=PXCAFTER_$P(PXCAENC,"^",13)_"^"
|
---|
| 16 | E D
|
---|
| 17 | . N PXCAELIG
|
---|
| 18 | . S PXCAELIG=$$ELIGIBIL^PXCEVSIT(PXCAPAT,PXCAHLOC,+PXCAENC)
|
---|
| 19 | . S PXCAELIG=$S(PXCAELIG>0:PXCAELIG,1:"")
|
---|
| 20 | . S PXCAFTER=PXCAFTER_PXCAELIG_"^"
|
---|
| 21 | 22 S PXCAFTER=PXCAFTER_PXCAHLOC
|
---|
| 22 | S ^TMP(PXCAGLB,$J,"VST",1,0,"AFTER")=PXCAFTER
|
---|
| 23 | ;
|
---|
| 24 | NODE150 I $P($G(^SC(+PXCAHLOC,0)),"^",7)=PXCACSTP D
|
---|
| 25 | . S ^TMP(PXCAGLB,$J,"VST",1,150,"AFTER")="^^P"
|
---|
| 26 | ;
|
---|
| 27 | NODE800 ;
|
---|
| 28 | S ^TMP(PXCAGLB,$J,"VST",1,800,"AFTER")=$P(PXCAENC,"^",6,10)_"^"_$P(PXCAENC,"^",17,18)
|
---|
| 29 | ;
|
---|
| 30 | I PXCAVSIT'>0 D
|
---|
| 31 | . S ^TMP(PXCAGLB,$J,"VST",1,"IEN")=""
|
---|
| 32 | . S ^TMP(PXCAGLB,$J,"VST",1,0,"BEFORE")=""
|
---|
| 33 | . S ^TMP(PXCAGLB,$J,"VST",1,150,"BEFORE")=""
|
---|
| 34 | . S ^TMP(PXCAGLB,$J,"VST",1,800,"BEFORE")=""
|
---|
| 35 | . S ^TMP(PXCAGLB,$J,"VST",1,812,"BEFORE")=""
|
---|
| 36 | . S ^TMP(PXCAGLB,$J,"VST",1,812,"AFTER")="^"_PXCAPKG_"^"_PXCASOR
|
---|
| 37 | E D
|
---|
| 38 | . S ^TMP(PXCAGLB,$J,"VST",1,"IEN")=PXCAVSIT
|
---|
| 39 | . S ^TMP(PXCAGLB,$J,"VST",1,0,"BEFORE")=$G(^AUPNVSIT(PXCAVSIT,0))
|
---|
| 40 | . S $P(^TMP("PXK",$J,"VST",1,0,"AFTER"),"^",3)=$P(^AUPNVSIT(PXCAVSIT,0),"^",3)
|
---|
| 41 | . S $P(^TMP("PXK",$J,"VST",1,0,"AFTER"),"^",7)=$P(^AUPNVSIT(PXCAVSIT,0),"^",7)
|
---|
| 42 | . S ^TMP(PXCAGLB,$J,"VST",1,150,"BEFORE")=$G(^AUPNVSIT(PXCAVSIT,150))
|
---|
| 43 | . S ^TMP(PXCAGLB,$J,"VST",1,800,"BEFORE")=$G(^AUPNVSIT(PXCAVSIT,800))
|
---|
| 44 | . S ^TMP(PXCAGLB,$J,"VST",1,21,"BEFORE")=$G(^AUPNVSIT(PXCAVSIT,21))
|
---|
| 45 | . S ^TMP(PXCAGLB,$J,"VST",1,21,"AFTER")=$G(^AUPNVSIT(PXCAVSIT,21))
|
---|
| 46 | . S ^TMP(PXCAGLB,$J,"VST",1,811,"BEFORE")=$G(^AUPNVSIT(PXCAVSIT,811))
|
---|
| 47 | . S ^TMP(PXCAGLB,$J,"VST",1,811,"AFTER")=$G(^AUPNVSIT(PXCAVSIT,811))
|
---|
| 48 | . S ^TMP(PXCAGLB,$J,"VST",1,812,"BEFORE")=$G(^AUPNVSIT(PXCAVSIT,812))
|
---|
| 49 | . S ^TMP(PXCAGLB,$J,"VST",1,812,"AFTER")=$G(^AUPNVSIT(PXCAVSIT,812))
|
---|
| 50 | Q
|
---|
| 51 | ;
|
---|
| 52 | EVALCODE(CODE,PROV) ;Store the Evaluation and Management Code in a CPT node.
|
---|
| 53 | ;Evaluation and Management Code always has a sequence number of 1
|
---|
| 54 | ; and there is only one of them.
|
---|
| 55 | Q:'CODE
|
---|
| 56 | N PXCAFTER,PXCAITEM,PXCAPNAR,PXCACNAR,PXCACNT,PXCAMOD,PXCASTR
|
---|
| 57 | N DIC,DR,DA,DIQ,PXCADIQ1
|
---|
| 58 | S DIC=357.69
|
---|
| 59 | S DR=".015;.02;.03"
|
---|
| 60 | S DA=+CODE
|
---|
| 61 | S DIQ="PXCADIQ1("
|
---|
| 62 | S DIQ(0)="E"
|
---|
| 63 | D EN^DIQ1
|
---|
| 64 | S PXCAITEM=$S($G(PXCADIQ1(357.69,DA,.03,"E"))]"":PXCADIQ1(357.69,DA,.03,"E"),$G(PXCADIQ1(357.69,DA,.015,"E"))]"":PXCADIQ1(357.69,DA,.015,"E"),1:"UNKNOWN")
|
---|
| 65 | S PXCAPNAR=+$$PROVNARR^PXAPI(PXCAITEM,9000010.18)
|
---|
| 66 | I PXCAPNAR'>0 S PXCAPNAR=""
|
---|
| 67 | S ^TMP(PXCAGLB,$J,"CPT",1,0,"BEFORE")=""
|
---|
| 68 | S PXCAFTER=CODE_"^"_PXCAPAT_"^"_PXCAVSIT_"^"
|
---|
| 69 | S PXCAFTER=PXCAFTER_PXCAPNAR
|
---|
| 70 | S PXCAFTER=PXCAFTER_"^^^^^^^^^^^^1"
|
---|
| 71 | S ^TMP(PXCAGLB,$J,"CPT",1,0,"AFTER")=PXCAFTER
|
---|
| 72 | ; File modifiers in ^TMP global
|
---|
| 73 | S ^TMP(PXCAGLB,$J,"CPT",1,1,1,"BEFORE")=""
|
---|
| 74 | S (PXCACNT,PXCAMOD)=""
|
---|
| 75 | F PXCACNT=1:1 S PXCAMOD=$O(PXCA("ENCOUNTER","MODIFIER",PXCAMOD)) Q:PXCAMOD="" D
|
---|
| 76 | . S PXCASTR=$$MODP^ICPTMOD(CODE,PXCAMOD,"E",PXCADT)
|
---|
| 77 | . Q:+PXCASTR<1
|
---|
| 78 | . S ^TMP(PXCAGLB,$J,"CPT",1,1,PXCACNT,"AFTER")=+PXCASTR
|
---|
| 79 | S ^TMP(PXCAGLB,$J,"CPT",1,12,"BEFORE")=""
|
---|
| 80 | I PROV S ^TMP(PXCAGLB,$J,"CPT",1,12,"AFTER")="^^^"_PROV
|
---|
| 81 | E S ^TMP(PXCAGLB,$J,"CPT",1,12,"AFTER")=""
|
---|
| 82 | S ^TMP(PXCAGLB,$J,"CPT",1,802,"BEFORE")=""
|
---|
| 83 | S ^TMP(PXCAGLB,$J,"CPT",1,812,"BEFORE")=""
|
---|
| 84 | S ^TMP(PXCAGLB,$J,"CPT",1,812,"AFTER")="^"_PXCAPKG_"^"_PXCASOR
|
---|
| 85 | S PXCACNAR=""
|
---|
| 86 | I $G(PXCADIQ1(357.69,DA,.02,"E"))]"" D
|
---|
| 87 | . S PXCACNAR=+$$PROVNARR^PXAPI(PXCADIQ1(357.69,DA,.02,"E"),9000010.18)
|
---|
| 88 | . I PXCACNAR'>0 S PXCACNAR=""
|
---|
| 89 | S ^TMP(PXCAGLB,$J,"CPT",1,802,"AFTER")=PXCACNAR
|
---|
| 90 | S ^TMP(PXCAGLB,$J,"CPT",1,"IEN")=""
|
---|
| 91 | Q
|
---|
| 92 | ;
|
---|