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

PXPXRM.m

Go to the documentation of this file.
  1. PXPXRM ;SLC/PKR - APIs for Clinical Reminder indexes. ;01-Jun-2015 12:25;DU
  1. ;;1.0;PCE PATIENT CARE ENCOUNTER;**119,1002,1003**;Aug 12, 1996;Build 3
  1. ;Patch 1002 added $G around the calls
  1. ;Patch 1003 allow return of nulls for graphing calls
  1. Q
  1. ;===============================================================
  1. KVFILE(FILENUM,X,DA) ;Delete indexes for a regular V File.
  1. N VDATE,VISIT
  1. S VISIT=$G(^AUPNVSIT(X(3),0))
  1. I VISIT="" Q
  1. S VDATE=$P(VISIT,U,1)
  1. K ^PXRMINDX(FILENUM,"IP",X(1),X(2),VDATE,DA)
  1. K ^PXRMINDX(FILENUM,"PI",X(2),X(1),VDATE,DA)
  1. Q
  1. ;
  1. ;===============================================================
  1. KVFILEC(FILENUM,X,DA) ;Delete indexes for V Files with coded entries.
  1. N CTYPE,VDATE,VISIT
  1. S VISIT=$G(^AUPNVSIT(X(3),0))
  1. I VISIT="" Q
  1. S CTYPE=$S(X(4)="":"U",1:X(4))
  1. S VDATE=$P(VISIT,U,1)
  1. K ^PXRMINDX(FILENUM,"IPP",X(1),CTYPE,X(2),VDATE,DA)
  1. K ^PXRMINDX(FILENUM,"PPI",X(2),CTYPE,X(1),VDATE,DA)
  1. Q
  1. ;
  1. ;===============================================================
  1. ;IHS/MSC/MGH ADDED FOR V MEASURMENTS
  1. KEFILE(FILENUM,X,DA) ;Delete indexes for a regular V File.
  1. N VDATE,VISIT,V
  1. S VDATE=$P($G(^AUPNVMSR(DA,12)),"^",1)
  1. I VDATE="" D
  1. .S V=$P($G(^AUPNVMSR(DA,0)),U,3)
  1. .I V="" Q
  1. .S VISIT=$G(^AUPNVSIT(V,0))
  1. .I VISIT="" Q
  1. .S VDATE=$P(VISIT,U,1)
  1. K ^PXRMINDX(FILENUM,"IP",X(1),X(2),VDATE,DA)
  1. K ^PXRMINDX(FILENUM,"PI",X(2),X(1),VDATE,DA)
  1. Q
  1. SVFILE(FILENUM,X,DA) ;Set indexes for a regular V File.
  1. ;X(1)=ITEM, X(2)=DFN, X(3)=VISIT.
  1. N VDATE,VISIT
  1. S VISIT=$G(^AUPNVSIT(X(3),0))
  1. I VISIT="" Q
  1. S VDATE=$P(VISIT,U,1)
  1. S ^PXRMINDX(FILENUM,"IP",X(1),X(2),VDATE,DA)=""
  1. S ^PXRMINDX(FILENUM,"PI",X(2),X(1),VDATE,DA)=""
  1. Q
  1. ;
  1. ;===============================================================
  1. ;IHS/MSC/MGH added call to set index on 1201 field, not visit
  1. EVFILE(FILENUM,X,DA) ;Set indexes for V measurement
  1. ;X(1)=ITEM, X(2)=DFN, X(3)=VISIT.
  1. N VDATE,VISIT
  1. S VDATE=$P($G(^AUPNVMSR(DA,12)),"^",1)
  1. I VDATE="" D
  1. .S V=$P($G(^AUPNVMSR(DA,0)),U,3)
  1. .I V="" Q
  1. .S VISIT=$G(^AUPNVSIT(V,0))
  1. .I VISIT="" Q
  1. .S VDATE=$P(VISIT,U,1)
  1. S ^PXRMINDX(FILENUM,"IP",X(1),X(2),VDATE,DA)=""
  1. S ^PXRMINDX(FILENUM,"PI",X(2),X(1),VDATE,DA)=""
  1. Q
  1. ;==============================================================
  1. SVFILEC(FILENUM,X,DA) ;Set indexes for V Files with coded entries. These
  1. ;are V CPT and VPOV
  1. ;X(1)=ITEM, X(2)=DFN, X(3)=VISIT,
  1. ;X(4)=PRINCIPAL PROCEDURE for V CPT
  1. ;X(4)=PRIMARY/SECONDARY for V POV
  1. N CTYPE,VDATE,VISIT
  1. S VISIT=$G(^AUPNVSIT(X(3),0))
  1. I VISIT="" Q
  1. S CTYPE=$S(X(4)="":"U",1:X(4))
  1. S VDATE=$P(VISIT,U,1)
  1. S ^PXRMINDX(FILENUM,"IPP",X(1),CTYPE,X(2),VDATE,DA)=""
  1. S ^PXRMINDX(FILENUM,"PPI",X(2),CTYPE,X(1),VDATE,DA)=""
  1. Q
  1. ;
  1. ;===============================================================
  1. VCPT(DA,DATA) ;Return data for a specified V CPT entry.
  1. N TEMP
  1. ;S TEMP=^AUPNVCPT(DA,0)
  1. S TEMP=$G(^AUPNVCPT(DA,0)) ;IHS/MSC/MGH added $G
  1. ;Q:$P(TEMP,U,3)=""
  1. S DATA("VISIT")=$P(TEMP,U,3)
  1. S DATA("PROVIDER NARRATIVE")=$P(TEMP,U,4)
  1. S DATA("DIAGNOSIS")=$P(TEMP,U,5)
  1. S DATA("PRINCIPAL PROCEDURE")=$P(TEMP,U,7)
  1. S DATA("QUANTITY")=$P(TEMP,U,16)
  1. S DATA("COMMENTS")=$G(^AUPNVCPT(DA,811))
  1. Q
  1. ;
  1. ;===============================================================
  1. VHF(DA,DATA) ;Return data for a specified V Health Factor entry.
  1. N TEMP
  1. ;S TEMP=^AUPNVHF(DA,0)
  1. S TEMP=$G(^AUPNVHF(DA,0)) ;IHS/MSC/MGH Added $G
  1. ;Q:$P(TEMP,U,3)=""
  1. S DATA("VISIT")=$P(TEMP,U,3)
  1. S (DATA("LEVEL/SEVERITY"),DATA("VALUE"))=$P(TEMP,U,4)
  1. S DATA("COMMENTS")=$G(^AUPNVHF(DA,811))
  1. Q
  1. ;
  1. ;===============================================================
  1. VIMM(DA,DATA) ;Return data, for a specified V Immunization entry.
  1. N TEMP
  1. ;S TEMP=^AUPNVIMM(DA,0)
  1. S TEMP=$G(^AUPNVIMM(DA,0)) ;IHS/MSC/MGH Added $G
  1. ;Q:$P(TEMP,U,3)=""
  1. S DATA("VISIT")=$P(TEMP,U,3)
  1. S (DATA("SERIES"),DATA("VALUE"))=$P(TEMP,U,4)
  1. S DATA("REACTION")=$P(TEMP,U,6)
  1. S DATA("CONTRAINDICATED")=$P(TEMP,U,7)
  1. S DATA("COMMENTS")=$G(^AUPNVIMM(DA,811))
  1. Q
  1. ;
  1. ;===============================================================
  1. VPEDU(DA,DATA) ;Return data, for a specified V Patient ED entry.
  1. N TEMP
  1. ;S TEMP=^AUPNVPED(DA,0)
  1. S TEMP=$G(^AUPNVPED(DA,0)) ;IHS/MSC/MGH Added $G
  1. ;Q:$P(TEMP,U,3)=""
  1. S DATA("VISIT")=$P(TEMP,U,3)
  1. S (DATA("LEVEL OF UNDERSTANDING"),DATA("VALUE"))=$P(TEMP,U,6)
  1. S DATA("COMMENTS")=$G(^AUPNVPED(DA,811))
  1. Q
  1. ;
  1. ;===============================================================
  1. VPOV(DA,DATA) ;Return data for a specified V POV entry.
  1. N TEMP,IEN,ICD,CDT
  1. ;S TEMP=^AUPNVPOV(DA,0)
  1. S TEMP=$G(^AUPNVPOV(DA,0)) ;IHS/MSC/MGH Added $G
  1. ;Q:$P(TEMP,U,3)=""
  1. S DATA("VISIT")=$P(TEMP,U,3)
  1. S DATA("PROVIDER NARRATIVE")=$P(TEMP,U,4)
  1. S DATA("MODIFIER")=$P(TEMP,U,6)
  1. S DATA("PRIMARY/SECONDARY")=$P(TEMP,U,12)
  1. S DATA("DATE OF INJURY")=$P(TEMP,U,13)
  1. S DATA("CLINICAL TERM")=$P(TEMP,U,15)
  1. ;S ICD=$P(TEMP,U),CDT=$$NOW^XLFDT
  1. ;S IEN=$P($$ICDDX^ICDEX(ICD,CDT,"","I"),U,2)
  1. ;S DATA("CLINICAL TERM")=IEN
  1. S DATA("PROBLEM LIST ENTRY")=$P(TEMP,U,16)
  1. S DATA("COMMENTS")=$G(^AUPNVPOV(DA,811))
  1. Q
  1. ;
  1. ;===============================================================
  1. VSKIN(DA,DATA) ;Return data for a specified V Skin Test entry.
  1. N TEMP
  1. ;S TEMP=^AUPNVSK(DA,0)
  1. S TEMP=$G(^AUPNVSK(DA,0)) ;IHS/MSC/MGH Added $G
  1. ;Q:$P(TEMP,U,3)=""
  1. S DATA("VISIT")=$P(TEMP,U,3)
  1. S (DATA("RESULTS"),DATA("VALUE"))=$P(TEMP,U,4)
  1. S DATA("READING")=$P(TEMP,U,5)
  1. S DATA("DATE READ")=$P(TEMP,U,6)
  1. S DATA("COMMENTS")=$G(^AUPNVSK(DA,811))
  1. Q
  1. ;
  1. ;===============================================================
  1. VXAM(DA,DATA) ;Return data, for a specified V Exam entry.
  1. N TEMP
  1. ;S TEMP=^AUPNVXAM(DA,0)
  1. S TEMP=$G(^AUPNVXAM(DA,0)) ;IHS/MSC/MGH Added $G
  1. ;Q:$P(TEMP,U,3)=""
  1. S DATA("VISIT")=$P(TEMP,U,3)
  1. S (DATA("RESULT"),DATA("VALUE"))=$P(TEMP,U,4)
  1. S DATA("COMMENTS")=$G(^AUPNVXAM(DA,811))
  1. Q
  1. ;