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

PXRMPINF.m

Go to the documentation of this file.
  1. PXRMPINF ;SLC/PKR - Routines relating to patient information. ;23-Mar-2015 10:39;DU
  1. ;;2.0;CLINICAL REMINDERS;**1001,12,17,24,1005**;Feb 04, 2005;Build 23
  1. ;
  1. ;IHS/MSC/MGH Patch 1001 IHS is not currently using military sexual trauma
  1. ;======================================================
  1. DATACHG ;This entry point is called whenever patient data has changed.
  1. ;It is attached to the following event points:
  1. ;PXK VISIT DATA EVENT via PXRM PATIENT DATA CHANGE
  1. ;
  1. I '$D(^TMP("PXKCO",$J)) Q
  1. N EVENT,ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE,ZTSK
  1. S EVENT="PXRM PXK EVENT"_$J_" "_$$NOW^XLFDT
  1. ;Make sure EVENT is unique.
  1. I $D(^XTMP(EVENT)) H 1 S EVENT="PXRM PXK EVENT"_$J_" "_$$NOW^XLFDT
  1. K ^XTMP(EVENT)
  1. S ^XTMP(EVENT,0)=$$FMADD^XLFDT(DT,3)_U_DT
  1. M ^XTMP(EVENT)=^TMP("PXKCO",$J)
  1. L +^XTMP(EVENT):DILOCKTM
  1. S ZTSAVE("EVENT")=""
  1. S ZTSAVE("XTMP(")=""
  1. S ZTRTN="DATACHGR^PXRMPINF"
  1. S ZTDESC="Clinical Reminders PXK VISIT DATA EVENT handler"
  1. S ZTDTH=$H
  1. S ZTIO=""
  1. D ^%ZTLOAD
  1. Q
  1. ;
  1. ;======================================================
  1. DATACHGR ;Process data from PXK VISIT DATA EVENT
  1. N DATA,DFN,DGBL,NODE,PXRMDFN,VIEN,VISIT,VF,VFL,VGBL
  1. S ZTREQ="@"
  1. ;Look for PXK VISIT DATA EVENT data.
  1. S VISIT=$O(^XTMP(EVENT,0))
  1. S VIEN=$O(^XTMP(EVENT,VISIT,"VST",""))
  1. S NODE=$O(^XTMP(EVENT,VISIT,"VST",VIEN,""))
  1. S DATA=$G(^XTMP(EVENT,VISIT,"VST",VIEN,NODE,"AFTER"))
  1. I DATA="" S DATA=$G(^XTMP(EVENT,VISIT,"VST",VIEN,NODE,"BEFORE"))
  1. S DFN=$P(DATA,U,5)
  1. ;Build the list of V Files.
  1. S VF=""
  1. F S VF=$O(^XTMP(EVENT,VISIT,VF)) Q:VF="" D
  1. . S DGBL=$S(VF="CPT":"PXD(811.2,",VF="HF":"AUTTHF(",VF="IMM":"AUTTIMM(",VF="PED":"AUTTEDT(",VF="POV":"PXD(811.2,",VF="SK":"AUTTSK(",VF="XAM":"AUTTEXAM(",1:"")
  1. . S VGBL=$S(VF="CPT":"AUPNVCPT(",VF="HF":"AUPNVHF(",VF="IMM":"AUPNVIMM(",VF="PED":"AUPNVPED(",VF="POV":"AUPNVPOV(",VF="SK":"AUPNVSK(",VF="XAM":"AUPNVXAM(",1:"")
  1. . S VFL(VF)=DGBL_U_VGBL
  1. ;Call the routines that need to process the data.
  1. ;IHS/MSC/MGH Patch 1001 IHS is not currently using military sexual trauma or suicide
  1. ;D UPDPAT^PXRMMST(EVENT,DFN,VISIT,.VFL)
  1. ;D SUICIDE^PXRMNTFY(EVENT,DFN,VISIT)
  1. ;L -^XTMP(EVENT)
  1. ;K ^XTMP(EVENT)
  1. Q
  1. ;
  1. ;======================================================
  1. DEM(DFN,TODAY,DEMARR) ;Load the patient demographics into DEMARR
  1. ;The patient's age is calculated using whatever date is passed as
  1. ;TODAY. If there is a date of death and it is greater than TODAY
  1. ;then set the date of death to null. Direct read of patient file
  1. ;supported DBIA #10035. DATE OF BIRTH and SEX are required fields
  1. ;in the patient file.
  1. N TEMP
  1. K DEMARR
  1. I $L(DFN)'>0 S DEMARR("PATIENT")="" Q
  1. S TEMP=$G(^DPT(DFN,0))
  1. I TEMP="" S DEMARR("PATIENT")="" Q
  1. S DEMARR("PATIENT")=$P(TEMP,U,1)
  1. S DEMARR("SEX")=$P(TEMP,U,2)
  1. S DEMARR("DOB")=$P(TEMP,U,3)
  1. S DEMARR("SSN")=$P(TEMP,U,9)
  1. ;IHS/MSC/MGH PATCH 1001 Add in HRCN
  1. S DEMARR("HRCN")=$$HRCN^PXRMXXT(DFN,+$G(DUZ(2)))
  1. S DEMARR("DOD")=$P($G(^DPT(DFN,.35)),U,1)
  1. I DEMARR("DOD")>TODAY S DEMARR("DOD")=""
  1. S DEMARR("DFN")=DFN
  1. S DEMARR("AGE")=$$AGE^PXRMAGE(DEMARR("DOB"),DEMARR("DOD"),TODAY)
  1. ;DBIA #1096
  1. S TEMP=$O(^DGPM("ATID1",DFN,""))
  1. I TEMP'="" S TEMP=9999999.999999-TEMP
  1. S DEMARR("LAD")=TEMP
  1. Q
  1. ;