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

PXRMP65D.m

Go to the documentation of this file.
  1. PXRMP65D ;ISP/AGP - PATCH 65 DIALOG CONVERSION ;May 03, 2022@09:30:27
  1. ;;2.0;CLINICAL REMINDERS;**65**;Feb 04, 2005;Build 438
  1. Q
  1. ;
  1. ACT(DIEN,ACTION) ;
  1. N DATA,HASPRMPT,TYPE
  1. S DATA=$$DETAIL^PXRMDRVI(DIEN)
  1. S TYPE=$$EXTERNAL^DILFD(801.41,4,"",$P(DATA,U,2))
  1. D MES^XPDUTL("Updating "_TYPE_" "_$P(DATA,U))
  1. S HASPRMPT=$S(ACTION=3:1,1:$$HASPRMPT^PXRMDRVI(DIEN))
  1. I HASPRMPT D PROMPT(DIEN)
  1. I ACTION=1 D DISABLE(DIEN)
  1. I ACTION=2 D FINDINGS(DIEN)
  1. Q
  1. ;
  1. DELDATA(DIEN,FIELD,NUM) ;
  1. N DA,DIE,DR
  1. S DIE="^PXRMD(801.41,"
  1. I FIELD=15 S DA=DIEN,DR="15///@"
  1. I FIELD=10 D
  1. .S DA(1)=DIEN,DA=NUM
  1. .S DIE=DIE_DA(1)_",10,",DR=".01///@"
  1. I FIELD=18 D
  1. .S DA(1)=DIEN,DA=NUM
  1. .S DIE=DIE_DA(1)_",3,",DR=".01///@"
  1. D ^DIE
  1. Q
  1. ;
  1. DISABLE(DA) ;
  1. N DIE,DR
  1. D MES^XPDUTL(" disabling item")
  1. S DIE="^PXRMD(801.41,",DR="3////DISABLE AND DO NOT SEND MESSAGE"
  1. D ^DIE
  1. Q
  1. ;
  1. DIALCONV ;
  1. N ACTION,DARRAY,DIEN,GBL
  1. D MES^XPDUTL("Building Dialogs to convert:")
  1. F GBL="AUTTIMM(","AUTTSK(" D FINDDIAL^PXRMDRVI(GBL,.DARRAY)
  1. D MES^XPDUTL("Converting Dialogs:")
  1. S ACTION=0 F S ACTION=$O(DARRAY(ACTION)) Q:ACTION'>0 D
  1. .S DIEN=0 F S DIEN=$O(DARRAY(ACTION,DIEN)) Q:DIEN'>0 D
  1. ..D ACT(DIEN,ACTION)
  1. Q
  1. ;
  1. FINDINGS(DIEN) ;
  1. N FIND,NUM,TEMP
  1. D MES^XPDUTL(" removing findings")
  1. S FIND=$P($G(^PXRMD(801.41,DIEN,1)),U,5)
  1. I FIND'["AUTTIMM",FIND'["AUTTSK",FIND'["PXD(811.2" D DELDATA(DIEN,15)
  1. S FIND="" F S FIND=$O(^PXRMD(801.41,DIEN,3,"B",FIND)) Q:FIND="" D
  1. .I FIND'["AUTTIMM",FIND'["AUTTSK",FIND'["PXD(811.2" D
  1. ..S NUM=$O(^PXRMD(801.41,DIEN,3,"B",FIND,""))
  1. ..S TEMP(NUM)=FIND
  1. S NUM=0 F S NUM=$O(TEMP(NUM)) Q:NUM'>0 D
  1. .D DELDATA(DIEN,18,NUM)
  1. Q
  1. ;
  1. PROMPT(DIEN) ;
  1. N CIEN,DATA,ISIMMPMPT,IMMSER,NUM,TEMP
  1. D MES^XPDUTL(" removing prompts")
  1. S IMMSER=+$O(^PXRMD(801.42,"B","IMM_SER",""))
  1. S CIEN=0 F S CIEN=$O(^PXRMD(801.41,DIEN,10,"D",CIEN)) Q:CIEN'>0 D
  1. .S DATA=$$DETAIL^PXRMDRVI(CIEN) I "PF"[$P(DATA,U,2) D
  1. ..S ISIMMPMPT=0
  1. ..I $P(DATA,U,2)="F" D
  1. ...I IMMSER>0,+$P($G(^PXRMD(801.41,CIEN,46)),U),+$P($G(^PXRMD(801.41,CIEN,46)),U)=IMMSER S ISIMMPMPT=1
  1. ..I ISIMMPMPT=1 Q
  1. ..S NUM=$O(^PXRMD(801.41,DIEN,10,"D",CIEN,"")) S TEMP(NUM)=CIEN
  1. S NUM=0 F S NUM=$O(TEMP(NUM)) Q:NUM'>0 D
  1. .D DELDATA(DIEN,10,NUM)
  1. Q
  1. ;