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

VBECRPCD.m

Go to the documentation of this file.
  1. VBECRPCD ;DALOI/RLM - Lookup HOSPITAL LOCATION based on DIVISION ;12 January 2004
  1. ;;2.0;VBEC;;Jun 05, 2015;Build 4
  1. ;
  1. ; Note: This routine supports data exchange with an FDA registered
  1. ; medical device. As such, it may not be changed in any way without
  1. ; prior written approval from the medical device manufacturer.
  1. ;
  1. ; Integration Agreements:
  1. ; Reference to ^SC( supported by IA #10040
  1. ; Reference to $$SITE^VASITE supported by IA #10112
  1. ; Reference to $$CHARCHK^XOBVLIB supported by IA #4090
  1. ;
  1. ; This routine should not be called from the top.
  1. QUIT
  1. ;
  1. LOC(RESULTS,DIV) ; Main RPC Entry
  1. S VBECCNT=0
  1. S RESULTS=$NA(^TMP("VBECHLOC",$J))
  1. K @RESULTS
  1. D BEGROOT^VBECRPC("HospitalLocations")
  1. I DIV="" D Q
  1. . D ADD^VBECRPC("<Error>No Division Provided</Error>")
  1. . D ENDROOT^VBECRPC("HospitalLocations")
  1. . Q
  1. I DIV]"" D LOOK
  1. D ENDROOT^VBECRPC("HospitalLocations")
  1. Q
  1. LOOK ;
  1. S VBECA=0 F S VBECA=$O(^SC(VBECA)) Q:'VBECA D
  1. . Q:'$P(^SC(VBECA,0),U,15) ;No Division
  1. . S IDATE=$P($G(^SC(VBECA,"I")),"^",1) ;inactivate date
  1. . S RDATE=$P($G(^SC(VBECA,"I")),"^",2) ;reactivate date
  1. . I IDATE]"",IDATE<DT,RDATE="" Q ;past inactivate date, no reactivate date
  1. . I IDATE]"",IDATE<DT,RDATE>DT Q ;past inactivate date, future reactivate date
  1. . ;Q:$D(^SC(VBECA,"I")) ;Inactive Location???
  1. . Q:"CWOR"'[$P(^SC(VBECA,0),U,3) ;Clinic, Ward, or Operating Room
  1. . I DIV=$P($$SITE^VASITE(DT,+$P(^SC(VBECA,0),U,15)),U,3) D
  1. . . D BEGROOT^VBECRPC("Location")
  1. . . D ADD^VBECRPC("<LocationName>"_$$CHARCHK^XOBVLIB($$WSTRIP($P(^SC(VBECA,0),U)))_"</LocationName>")
  1. . . D ADD^VBECRPC("<LocationIEN>"_$$CHARCHK^XOBVLIB(VBECA)_"</LocationIEN>")
  1. . . D ADD^VBECRPC("<LocationType>"_$$CHARCHK^XOBVLIB($P(^SC(VBECA,0),U,3))_"</LocationType>")
  1. . . D ENDROOT^VBECRPC("Location")
  1. Q
  1. KILL ;
  1. K DIV,VBDATA,VBECA,VBECCNT
  1. Q
  1. WSTRIP(VBDATA) ;Strip White Space
  1. F Q:$E(VBDATA,$L(VBDATA))'=" " S VBDATA=$E(VBDATA,1,$L(VBDATA)-1)
  1. F Q:$E(VBDATA,1)'=" " S VBDATA=$E(VBDATA,2,$L(VBDATA))
  1. Q VBDATA
  1. ;
  1. TESTLOC ; Entry point to write the results of the Get Hospital Locations RPC
  1. ; Function in XML format
  1. ;
  1. S VBECTST=1
  1. D LOC(.RESULTS,"589")
  1. S X=0
  1. F S X=$O(@RESULTS@(X)) Q:X="" D
  1. . W @RESULTS@(X)
  1. Q