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

SD5360PT.m

Go to the documentation of this file.
SD5360PT ;ALB/REW - SD*5.3*60 Post-installation ; 10-DEC-1996
 ;;5.3;Scheduling;**60,132,1015**;SEP 25, 1993;Build 21
 ;
EN ;entry point
 ;search TRANSMITTED OUTPATIENT ENCOUNTER ERROR file (#409.75) to find
 ;rejected encounters of type #510 -'Diagnosis Priority is not 1 or null
 ;if there is only one diagnosis associated with the encounter, the 
 ;diagnosis will be marked as 'primary' in the V POV file
 ; (#9000010.07) and the encounter will be re-transmitted
 ;
 D INTRO
 D SEARCH
 D EXIT
 Q
 ;
INTRO ;header info for output
 D MES^XPDUTL(">>>Searching TRANSMITTED OUTPATIENT ENCOUNTER ERROR File (#409.75)")
 D MES^XPDUTL("   for error code=510 (Diagnosis Priority is not '1' or null.)")
 D MES^XPDUTL("   All such encounters will be displayed.")
 D BMES^XPDUTL("   If there is exactly one DX for an encounter, it will be marked as primary")
 D MES^XPDUTL("   and the encounter marked for nightly transmission to Austin (NPCDB).")
 D MES^XPDUTL("")
 Q
 ;   SC40975 = ien of TRANSMITTED OUTPATIENT ENCOUNTER ERROR (#409.75)
 ;   SC40943 = ien of OUTPATIENT DIAGNOSIS (#409.43) 
 ;   SCNODE  = zero node of #409.75
 ;   SCENODE = zero node of #409.68
 ;   SCPTR   = ptr value for error code for value of '510'
 N SCE,SCNONE,SC40975,SCNODE,SCPTR,SC40973
 S SCNONE=1
 S SCPTR=$O(^SD(409.76,"B","510",0))
 IF 'SCPTR D  Q
 .D BMES^XPDUTL(">>> Missing Cross-Reference for code 510 in file 409.76.  Aborting")
 S SC40975=0
 F  S SC40975=$O(^SD(409.75,SC40975)) Q:'SC40975  S SCNODE=$G(^(SC40975,0)) D
 .N SCDXDX,SC40943,SCENODE,SCDATE,Y
 .Q:$P(SCNODE,U,2)'=SCPTR  ;must be #510 error
 .S SCE=$P($G(^SD(409.73,+$P(SCNODE,U,1),0)),U,2) ;null or 409.68  ptr
 .;quit if a deleted encounter
 .Q:'SCE
 .S SCENODE=$G(^SCE(SCE,0))
 .IF ('$P(SCENODE,U,1))!('$P(SCENODE,U,2)) D  Q
 ..D BMES^XPDUTL("    File #409.68 ien: "_SCE_"  Corrupt/Missing")
 ..D MES^XPDUTL("    File #409.68 zero node: "_SCENODE)
 .S Y=+SCENODE D DD^%DT S SCDATE=Y
 .S SCNONE=0
 .D MES^XPDUTL("    File #409.68 ien: "_SCE_"   "_$P(^DPT($P(SCENODE,U,2),0),U,1)_"     "_SCDATE)
 .D DIAG^SCDXUTL1(SCE,"SCDXDX")
 .S SC40943=0
 .S SC40943=$O(SCDXDX(0))
 .IF $$PRIMPDX^SCDXUTL1(SCE)>0 D  Q
 ..D MES^XPDUTL("       ..Encounter has already been changed to have a primary dx")
 .IF 'SC40943 D  Q
 ..D MES^XPDUTL("       ..No diagnosis for this encounter")
 .IF $O(SCDXDX(SC40943)) D  Q
 ..D MES^XPDUTL("       ..Multiple diagnoses - can't know which is primary dx")
 .D MES^XPDUTL("       ..Making DX Primary DX & Resetting Transmission Flag")
 .Q:$G(SCTEST)  ;put in to allow test sites to first run as diagnostic
 .D PDX^PXAPIOE(SC40943,"P")  ;update outpatient diagnosis to be primary for enc
 .S SC40973=$$FINDXMIT^SCDXFU01(SCE) ;ptr to 409.73
 .D XMITFLAG^SCDXFU01(SC40973,0) ;resets transmission flag to yes
 D:SCNONE BMES^XPDUTL("  ...No errors of this type found")
 Q
 ;
EXIT ;final cleanup
 IF $L($G(XPDNM)) D
 .D BMES^XPDUTL("This post-install output is saved in the INSTALL File (#9.7)")
 .D MES^XPDUTL("under 'SD*5.3*60'.")
 D BMES^XPDUTL("This post-install routine may be re-run by calling EN^SD5360PT.")
 Q