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

PXRMXAP.m

Go to the documentation of this file.
  1. PXRMXAP ; SLC/PJH - Reminder Reports APIs;07/29/2004
  1. ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005
  1. ;
  1. ; Called from PXRMSU
  1. ;
  1. FACT ;Check PCMM Team ^SCTM(404.51 for facility ; DBIA #2795
  1. S DIC("S")=DIC("S")_",$D(PXRMFACN(+$P(^(0),U,7)))"
  1. Q
  1. ;
  1. LOCN(ARRAY) ;Check for mixed inpatient/outpatient locations ; DBIA #10040
  1. N IC,IEN,MIXED,TYPE
  1. S IC=0,MIXED=0,TYPE=0
  1. F S IC=$O(ARRAY(IC)) Q:IC="" D Q:MIXED
  1. .S IEN=$P(ARRAY(IC),U,2) Q:IEN=""
  1. .I TYPE=0,$D(^SC(IEN,42)) S TYPE="INPATIENT" Q
  1. .I TYPE=0,'$D(^SC(IEN,42)) S TYPE="OUTPATIENT" Q
  1. .I TYPE="INPATIENT",'$D(^SC(IEN,42)) S MIXED=1 Q
  1. .I TYPE="OUTPATIENT",$D(^SC(IEN,42)) S MIXED=1 Q
  1. Q MIXED
  1. ;
  1. ; Called from PXRMSEO
  1. ;
  1. FAC(TIEN) ; Get Facility for the PCMM Team ; DBIA #2795
  1. Q $P($G(^SCTM(404.51,TIEN,0)),U,7)
  1. ;
  1. PCASSIGN(DFN) ; Assigned to Provider as Primary Care ; DBIA #1916
  1. N PCVAR,PC S PC=0
  1. S PCVAR=$$OUTPTPR^SDUTL3(DFN)
  1. I PCVAR]"" S:$P(PCVAR,U)=PCM PC=1
  1. Q PC
  1. ;
  1. PTTM(TIEN,SCERR) ; Build list of Teams Patients ; DBIA #1916
  1. Q $$PTTM^SCAPMC(TIEN,"SCDT","^TMP($J,""PCM"")",.SCERR)
  1. ;
  1. PTPR(PIEN,PXRMREP) ; Build list of practitioners patients ; DBIA #1916
  1. N SCERRD,OK
  1. S OK=$$PTPR^SCAPMC(PIEN,"SCDT","","","^TMP($J,""PCM"")",.SCERRD)
  1. ;
  1. ; Determine Associated Clinic from Team Position/Team Position Assign
  1. I PXRMREP="D" D
  1. .N SUB,SCTP,SCTPA,DCLN
  1. .S SUB=0
  1. .F S SUB=$O(^TMP($J,"PCM",SUB)) Q:'SUB D
  1. ..S SCTP=$P(^TMP($J,"PCM",SUB),U,3) Q:SCTP=""
  1. ..S SCTPA=$P($G(^SCPT(404.43,SCTP,0)),U,2) Q:SCTPA="" ; DBIA #2811
  1. ..S DCLN=$P($G(^SCTM(404.57,SCTPA,0)),U,9) ; DBIA #2810
  1. ..S $P(^TMP($J,"PCM",SUB),U,7)=DCLN
  1. Q
  1. ;
  1. ; Called from PXRMXD/PXRMYD
  1. ;
  1. INP(INP,PXRMLOCN) ;
  1. ;If selected locations check for wards ; DBIA #10040
  1. N LOC,WARD
  1. S LOC="",WARD=0
  1. ; All locations must be wards for the prompt to display
  1. F S LOC=$O(PXRMLOCN(LOC)) Q:LOC="" D Q:'WARD
  1. .S WARD=0 I $D(^SC(LOC,42)) S WARD=1
  1. Q WARD
  1. ;
  1. ; Called from PXRMXSEL/PXRMYSEL
  1. ;
  1. FACL(LOCIEN) ; Get locations facility ; DBIA #2804
  1. N DIV
  1. I $P($G(^SC(LOCIEN,0)),U,4)'="" Q $P($G(^SC(LOCIEN,0)),U,4)
  1. S DIV=$P($G(^SC(LOCIEN,0)),U,15) Q:DIV="" ""
  1. Q $P($G(^DG(40.8,DIV,0)),U,7)
  1. ;
  1. WARD(LOCIEN,ARRAY) ;Get list of patients if location is a ward ;DBIA #10035
  1. N WARDIEN,WARDNAM,DFN
  1. S WARDIEN=$G(^SC(LOCIEN,42)) Q:WARDIEN=""
  1. S WARDNAM=$P($G(^DIC(42,WARDIEN,0)),U) Q:WARDNAM=""
  1. S DFN=""
  1. F S DFN=$O(^DPT("CN",WARDNAM,DFN)) Q:DFN="" S ARRAY(DFN)=""
  1. Q
  1. ;
  1. ADM(LOCIEN,ARRAY,BD,ED) ;Get list of admissions to ward ; DBIA #10040,1480
  1. N WARDIEN,DA,DATA,DFN
  1. S WARDIEN=$G(^SC(LOCIEN,42)) Q:WARDIEN=""
  1. F S BD=$O(^DGPM("ATT1",BD)) Q:BD>ED Q:BD="" D
  1. .S DA=""
  1. .F S DA=$O(^DGPM("ATT1",BD,DA)) Q:DA="" D
  1. ..S DATA=$G(^DGPM(DA,0)) Q:DATA=""
  1. ..I $P(DATA,U,6)'=WARDIEN Q
  1. ..S DFN=$P(DATA,U,3) Q:DFN=""
  1. ..S ARRAY(DFN)=""
  1. Q
  1. ;
  1. LCHL(INP,ARRAY) ;Get list of all inpatient or outpatient locations ; DBIA #10040
  1. N HLOCIEN,NAME,IC
  1. S HLOCIEN=0,IC=0
  1. F S HLOCIEN=$O(^SC(HLOCIEN)) Q:'HLOCIEN D
  1. .;Outpatient report ignores wards - HA
  1. .I INP=0,$D(^SC(HLOCIEN,42)) Q
  1. .;Inpatient report includes only wards - HAI
  1. .I INP=1,'$D(^SC(HLOCIEN,42)) Q
  1. .S NAME=$P($G(^SC(HLOCIEN,0)),U) I NAME="" Q
  1. .;Build array
  1. .S IC=IC+1,PXRMLCHL(IC)=NAME_U_HLOCIEN,PXRMLOCN(HLOCIEN)=IC
  1. Q