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

PXCADXP1.m

Go to the documentation of this file.
  1. PXCADXP1 ;ISL/dee & LEA/Chylton - Validates & Translates data from the PCE Device Interface into a call to V POV & update Problem List ;3/20/97
  1. ;;1.0;PCE PATIENT CARE ENCOUNTER;**24,33**;Aug 12, 1996
  1. Q
  1. ;
  1. PART1 ;
  1. N PXCACLEX
  1. S (PXCADIAG,PXCAPROB)=0
  1. I "^^^"'[$P(PXCADXPL,"^",5,8) S PXCAPROB=1
  1. ;Note
  1. S PXCAITEM=$P($G(PXCA("DIAGNOSIS/PROBLEM",PXCAPRV,PXCAINDX,"NOTE")),"^",1),PXCAITM2=$L(PXCAITEM)
  1. I PXCAITEM]"" D
  1. . I PXCAITM2<3!(PXCAITM2>60) S PXCA("ERROR","DIAGNOSIS/PROBLEM",PXCAPRV,PXCAINDX,"NOTE",1)="PROBLEM Note must be 1-60 Characters^"_PXCAITEM
  1. . S PXCAPROB=1
  1. ;
  1. ;Diagnosis Code
  1. S PXCAITEM=$P(PXCADXPL,"^",1)
  1. I PXCAITEM>0 D
  1. . N DIC,DR,DA,DIQ,PXCADIQ1
  1. . S DIC=80
  1. . S DR=".01;102"
  1. . S DA=PXCAITEM
  1. . S DIQ="PXCADIQ1("
  1. . S DIQ(0)="I"
  1. . D EN^DIQ1
  1. . I $G(PXCADIQ1(80,DA,.01,"I"))="" S PXCA("ERROR","DIAGNOSIS/PROBLEM",PXCAPRV,PXCAINDX,1)="ICD9 Code not in file 80^"_PXCAITEM
  1. . E I $G(PXCADIQ1(80,DA,102,"I")),PXCADIQ1(80,DA,102,"I")'>+PXCADT S PXCA("ERROR","DIAGNOSIS/PROBLEM",PXCAPRV,PXCAINDX,1)="ICD9 Code is INACTIVE^"_PXCAITEM
  1. ;
  1. ;Diagnosis Specification Code
  1. S PXCAITM2=$P(PXCADXPL,"^",2)
  1. I PXCAITM2'="" D
  1. . S PXCADIAG=1
  1. . I '((PXCAITM2="P")!(PXCAITM2="S")!(PXCAITM2="PS")!(PXCAITM2="SP")) S PXCA("ERROR","DIAGNOSIS/PROBLEM",PXCAPRV,PXCAINDX,2)="Diagnosis specification code must be P|S^"_PXCAITM2
  1. . E I PXCAITM2["P",PXCAITEM>0 D
  1. .. I 'PXCAPDX S PXCAPDX=PXCAITEM
  1. .. E I $P($G(^PX(815,1,"DI")),"^",2) S PXCA("ERROR","DIAGNOSIS/PROBLEM",PXCAPRV,PXCAINDX,2)="There is already a Primary Diagnosis for this encounter^"_PXCAITM2
  1. .. E D
  1. ... S PXCA("WARNING","DIAGNOSIS/PROBLEM",PXCAPRV,PXCAINDX,2)="There is already a Primary Diagnosis. This one is changed to Secondary^"_PXCAITM2
  1. ... S $P(PXCADXPL,"^",2)="S"
  1. . I PXCAITEM'>0 S PXCA("ERROR","DIAGNOSIS/PROBLEM",PXCAPRV,PXCAINDX,1)="ICD9 Code is required for DIAGNOSIS^"_PXCAITEM
  1. ;
  1. ;Clinical Lexicon Term
  1. S PXCAITEM=$P(PXCADXPL,"^",3)
  1. I PXCAITEM]"" D
  1. . I $D(^LEX(757.01)) D
  1. .. I $D(^LEX(757.01,PXCAITEM,0))#2'=1 S PXCA("ERROR","DIAGNOSIS/PROBLEM",PXCAPRV,PXCAINDX,3)="Lexicon Utility term is not in file 757.01^"_PXCAITEM
  1. .. E S PXCACLEX=PXCAITEM
  1. . E I $D(^GMP(757.01)) D
  1. .. I $D(^GMP(757.01,PXCAITEM,0))#2'=1 S PXCA("ERROR","DIAGNOSIS/PROBLEM",PXCAPRV,PXCAINDX,3)="Clinical Lexicon Utility term is not in file 757.01^"_PXCAITEM
  1. .. E S PXCACLEX=PXCAITEM
  1. . E S PXCA("ERROR","DIAGNOSIS/PROBLEM",PXCAPRV,PXCAINDX,3)="Lexicon Utility is not installed^"_PXCAITEM
  1. ;
  1. ;Problem List IEN
  1. S PXCAITEM=$P(PXCADXPL,"^",4)
  1. ;Add to Problem List
  1. S PXCAITM2=$P(PXCADXPL,"^",5)
  1. I PXCAITEM]"" D
  1. . I $G(^AUPNPROB(PXCAITEM,0))="" S PXCA("ERROR","DIAGNOSIS/PROBLEM",PXCAPRV,PXCAINDX,4)="Problem not in file 9000011^"_PXCAITEM
  1. . E I PXCAPAT'=$P($G(^AUPNPROB(PXCAITEM,0)),"^",2) S PXCA("ERROR","DIAGNOSIS/PROBLEM",PXCAPRV,PXCAINDX,4)="Problem in file 9000011 is for a different Patient^"_PXCAITEM
  1. . I PXCAITM2=1 S PXCA("ERROR","DIAGNOSIS/PROBLEM",PXCAPRV,PXCAINDX,5)="Cannot ADD existing Problem to file 9000011^"_PXCAITM2
  1. E I PXCAPROB,PXCAITM2'=1 S PXCA("ERROR","DIAGNOSIS/PROBLEM",PXCAPRV,PXCAINDX,4)="Cannot update an existing Problem with out an IEN to file 9000011^"_PXCAITEM
  1. I '(PXCAITM2=1!(PXCAITM2=0)!(PXCAITM2="")) S PXCA("ERROR","DIAGNOSIS/PROBLEM",PXCAPRV,PXCAINDX,5)="Add to Problem List flag bad^"_PXCAITM2
  1. I PXCAITM2=1,PXCAPRV'>0 S PXCA("ERROR","DIAGNOSIS/PROBLEM",PXCAPRV,PXCAINDX,0)="Provider is required to add a new Problem^"_PXCAPRV
  1. ;
  1. Q
  1. ;