Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: PXCAVST1

PXCAVST1.m

Go to the documentation of this file.
  1. PXCAVST1 ;ISL/dee & LEA/Chylton - Translates data from the PCE Device Interface into PCE's PXK format for the Visit and Providers ;6/6/05
  1. ;;1.0;PCE PATIENT CARE ENCOUNTER;**73,74,111,121,130,168**;Aug 12, 1996;Build 14
  1. Q
  1. ;
  1. VST(PXCAENC) ;Visit
  1. N PXCAFTER
  1. NODE0 ;
  1. 1 S PXCAFTER=$P(PXCAENC,"^",1)_"^^^^"
  1. 5 S PXCAFTER=PXCAFTER_PXCAPAT_"^^^"
  1. 8 S PXCAFTER=PXCAFTER_PXCACSTP_"^^^^^^^^^"
  1. 17 ;Store the Evaluation and Management Code in V-CPT and NOT in the Visit
  1. D EVALCODE($P(PXCAENC,"^",5),$P(PXCAENC,"^",4))
  1. S PXCAFTER=PXCAFTER_"^"
  1. 18 S PXCAFTER=PXCAFTER_$P(PXCAENC,"^",14)_"^^^"
  1. 21 I $P(PXCAENC,"^",13)]"" S PXCAFTER=PXCAFTER_$P(PXCAENC,"^",13)_"^"
  1. E D
  1. . N PXCAELIG
  1. . S PXCAELIG=$$ELIGIBIL^PXCEVSIT(PXCAPAT,PXCAHLOC,+PXCAENC)
  1. . S PXCAELIG=$S(PXCAELIG>0:PXCAELIG,1:"")
  1. . S PXCAFTER=PXCAFTER_PXCAELIG_"^"
  1. 22 S PXCAFTER=PXCAFTER_PXCAHLOC
  1. S ^TMP(PXCAGLB,$J,"VST",1,0,"AFTER")=PXCAFTER
  1. ;
  1. NODE150 I $P($G(^SC(+PXCAHLOC,0)),"^",7)=PXCACSTP D
  1. . S ^TMP(PXCAGLB,$J,"VST",1,150,"AFTER")="^^P"
  1. ;
  1. NODE800 ;
  1. S ^TMP(PXCAGLB,$J,"VST",1,800,"AFTER")=$P(PXCAENC,"^",6,10)_"^"_$P(PXCAENC,"^",17,19)
  1. ;
  1. I PXCAVSIT'>0 D
  1. . S ^TMP(PXCAGLB,$J,"VST",1,"IEN")=""
  1. . S ^TMP(PXCAGLB,$J,"VST",1,0,"BEFORE")=""
  1. . S ^TMP(PXCAGLB,$J,"VST",1,150,"BEFORE")=""
  1. . S ^TMP(PXCAGLB,$J,"VST",1,800,"BEFORE")=""
  1. . S ^TMP(PXCAGLB,$J,"VST",1,812,"BEFORE")=""
  1. . S ^TMP(PXCAGLB,$J,"VST",1,812,"AFTER")="^"_PXCAPKG_"^"_PXCASOR
  1. E D
  1. . S ^TMP(PXCAGLB,$J,"VST",1,"IEN")=PXCAVSIT
  1. . S ^TMP(PXCAGLB,$J,"VST",1,0,"BEFORE")=$G(^AUPNVSIT(PXCAVSIT,0))
  1. . S $P(^TMP("PXK",$J,"VST",1,0,"AFTER"),"^",3)=$P(^AUPNVSIT(PXCAVSIT,0),"^",3)
  1. . S $P(^TMP("PXK",$J,"VST",1,0,"AFTER"),"^",7)=$P(^AUPNVSIT(PXCAVSIT,0),"^",7)
  1. . S ^TMP(PXCAGLB,$J,"VST",1,150,"BEFORE")=$G(^AUPNVSIT(PXCAVSIT,150))
  1. . S ^TMP(PXCAGLB,$J,"VST",1,800,"BEFORE")=$G(^AUPNVSIT(PXCAVSIT,800))
  1. . S ^TMP(PXCAGLB,$J,"VST",1,21,"BEFORE")=$G(^AUPNVSIT(PXCAVSIT,21))
  1. . S ^TMP(PXCAGLB,$J,"VST",1,21,"AFTER")=$G(^AUPNVSIT(PXCAVSIT,21))
  1. . S ^TMP(PXCAGLB,$J,"VST",1,811,"BEFORE")=$G(^AUPNVSIT(PXCAVSIT,811))
  1. . S ^TMP(PXCAGLB,$J,"VST",1,811,"AFTER")=$G(^AUPNVSIT(PXCAVSIT,811))
  1. . S ^TMP(PXCAGLB,$J,"VST",1,812,"BEFORE")=$G(^AUPNVSIT(PXCAVSIT,812))
  1. . S ^TMP(PXCAGLB,$J,"VST",1,812,"AFTER")=$G(^AUPNVSIT(PXCAVSIT,812))
  1. Q
  1. ;
  1. EVALCODE(CODE,PROV) ;Store the Evaluation and Management Code in a CPT node.
  1. ;Evaluation and Management Code always has a sequence number of 1
  1. ; and there is only one of them.
  1. Q:'CODE
  1. N PXCAFTER,PXCAITEM,PXCAPNAR,PXCACNAR,PXCACNT,PXCAMOD,PXCASTR
  1. N DIC,DR,DA,DIQ,PXCADIQ1
  1. S DIC=357.69
  1. S DR=".015;.02;.03"
  1. S DA=+CODE
  1. S DIQ="PXCADIQ1("
  1. S DIQ(0)="E"
  1. D EN^DIQ1
  1. 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")
  1. S PXCAPNAR=+$$PROVNARR^PXAPI(PXCAITEM,9000010.18)
  1. I PXCAPNAR'>0 S PXCAPNAR=""
  1. S ^TMP(PXCAGLB,$J,"CPT",1,0,"BEFORE")=""
  1. S PXCAFTER=CODE_"^"_PXCAPAT_"^"_PXCAVSIT_"^"
  1. S PXCAFTER=PXCAFTER_PXCAPNAR
  1. S PXCAFTER=PXCAFTER_"^^^^^^^^^^^^1"
  1. S ^TMP(PXCAGLB,$J,"CPT",1,0,"AFTER")=PXCAFTER
  1. ; File modifiers in ^TMP global
  1. S ^TMP(PXCAGLB,$J,"CPT",1,1,1,"BEFORE")=""
  1. S (PXCACNT,PXCAMOD)=""
  1. F PXCACNT=1:1 S PXCAMOD=$O(PXCA("ENCOUNTER","MODIFIER",PXCAMOD)) Q:PXCAMOD="" D
  1. . S PXCASTR=$$MODP^ICPTMOD(CODE,PXCAMOD,"E",PXCADT)
  1. . Q:+PXCASTR<1
  1. . S ^TMP(PXCAGLB,$J,"CPT",1,1,PXCACNT,"AFTER")=+PXCASTR
  1. S ^TMP(PXCAGLB,$J,"CPT",1,12,"BEFORE")=""
  1. I PROV S ^TMP(PXCAGLB,$J,"CPT",1,12,"AFTER")="^^^"_PROV
  1. E S ^TMP(PXCAGLB,$J,"CPT",1,12,"AFTER")=""
  1. S ^TMP(PXCAGLB,$J,"CPT",1,802,"BEFORE")=""
  1. S ^TMP(PXCAGLB,$J,"CPT",1,812,"BEFORE")=""
  1. S ^TMP(PXCAGLB,$J,"CPT",1,812,"AFTER")="^"_PXCAPKG_"^"_PXCASOR
  1. S PXCACNAR=""
  1. I $G(PXCADIQ1(357.69,DA,.02,"E"))]"" D
  1. . S PXCACNAR=+$$PROVNARR^PXAPI(PXCADIQ1(357.69,DA,.02,"E"),9000010.18)
  1. . I PXCACNAR'>0 S PXCACNAR=""
  1. S ^TMP(PXCAGLB,$J,"CPT",1,802,"AFTER")=PXCACNAR
  1. S ^TMP(PXCAGLB,$J,"CPT",1,"IEN")=""
  1. Q
  1. ;