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

SDOERPC.m

Go to the documentation of this file.
  1. SDOERPC ;ALB/MJK - ACRP RPCs For An Encounter ;8/12/96
  1. ;;5.3;Scheduling;**131,196,1015**;Aug 13, 1993;Build 21
  1. ;06/22/99 ACS - Added CPT modifier logic for the AMB CARE toolkit
  1. ;
  1. ; ------------------------- cpt rpcs --------------------------
  1. ;
  1. CPT(SDOEY,SDOE) ; -- SDOE ASSIGNED A PROCEDURE [API ID: 65]
  1. S SDOEY=$$CPT^SDOECPT(SDOE)
  1. Q
  1. ;
  1. GETCPT(SDOEY,SDOE) ; -- SDOE GET PROCEDURES [API ID: 61]
  1. D GETCPT^SDOECPT(.SDOE,"SDOEY")
  1. ;
  1. ; The following logic will remove the 2nd level subscripts
  1. ; (containing modifier information) from the CPT array because they
  1. ; aren't relevant for this routine
  1. N LEVEL1,LEVEL2
  1. S (LEVEL1,LEVEL2)=""
  1. F S LEVEL1=$O(SDOEY(LEVEL1)) Q:'LEVEL1 D
  1. . F S LEVEL2=$O(SDOEY(LEVEL1,LEVEL2)) Q:LEVEL2="" D
  1. .. K SDOEY(LEVEL1,LEVEL2)
  1. .. Q
  1. . Q
  1. Q
  1. ;
  1. FINDCPT(SDOEY,SDOE,SDCPTID) ; -- SDOE FIND PROCEDURE [API ID: 71]
  1. S SDOEY=$$FINDCPT^SDOECPT(SDOE,SDCPTID)
  1. Q
  1. ;
  1. ; ------------------------- dx rpcs --------------------------
  1. ;
  1. DX(SDOEY,SDOE) ; -- SDOE ASSIGNED A DIAGNOSIS [API ID: 64]
  1. S SDOEY=$$DX^SDOEDX(SDOE)
  1. Q
  1. ;
  1. GETDX(SDOEY,SDOE) ; -- SDOE GET DIAGNOSES [API ID: 56]
  1. D GETDX^SDOEDX(.SDOE,"SDOEY")
  1. Q
  1. ;
  1. FINDDX(SDOEY,SDOE,SDDXID) ; -- SDOE FIND DIAGNOSIS [API ID: 70]
  1. S SDOEY=$$FINDDX^SDOEDX(SDOE,SDDXID)
  1. Q
  1. ;
  1. GETPDX(SDOEY,SDOE) ; -- SDOE GET PRIMARY DIAGNOSIS [API ID: 73]
  1. S SDOEY=$$GETPDX^SDOEDX(SDOE)
  1. Q
  1. ;
  1. ; ------------------------- provider rpcs --------------------------
  1. ;
  1. PRV(SDOEY,SDOE) ; -- SDOE ASSIGNED A PROVIDER [API ID: 63]
  1. S SDOEY=$$PRV^SDOEPRV(SDOE)
  1. Q
  1. ;
  1. GETPRV(SDOEY,SDOE) ; -- SDOE GET PROVIDERS [API ID: 58]
  1. D GETPRV^SDOEPRV(.SDOE,"SDOEY")
  1. Q
  1. ;
  1. FINDPRV(SDOEY,SDOE,SDPRVID) ; -- SDOE FIND PROVIDER [API ID: 69]
  1. S SDOEY=$$FINDPRV^SDOEPRV(SDOE,SDPRVID)
  1. Q
  1. ;
  1. ; --------------------------------oe rpcs--------------------------
  1. ;
  1. GETOE(SDOEY,SDOE) ; -- SDOE GET ZERO NODE [API ID: 98]
  1. S SDOEY=$$GETOE^SDOEOE(SDOE)
  1. Q
  1. ;
  1. GETGEN(SDOEY,SDOE) ; -- SDOE GET GENERAL DATA [API ID: 76]
  1. N SDAT,SDATAOE
  1. S SDAT="SDATAOE"
  1. D GETGEN^SDOEOE(.SDOE,.SDAT)
  1. D BUILD(.SDATAOE,.SDOEY)
  1. Q
  1. ;
  1. PARSE(SDOEY,SDATA,SDFMT) ; -- SDOE PARSE GENERAL DATA [API ID: 78]
  1. N SDY
  1. S SDY="SDATAOE"
  1. D PARSE^SDOEOE(.SDATA,.SDFMT,.SDY)
  1. D BUILD(.SDATAOE,.SDOEY)
  1. Q
  1. ;
  1. EXAE(SDOEY,DFN,SDBEG,SDEND,SDFLAGS) ; -- SDOE FIND FIRST STANDALONE [API ID: 72]
  1. S SDOEY=$$EXAE^SDOEOE(.DFN,.SDBEG,.SDEND,$G(SDFLAGS))
  1. Q
  1. ;
  1. GETLAST(SDOEY,DFN,SDBEG,SDFLAGS) ; -- SDOE FIND LAST STANDALONE [API ID: 75]
  1. S SDOEY=$$GETLAST^SDOEOE(.DFN,.SDBEG,$G(SDFLAGS))
  1. Q
  1. ;
  1. EXOE(SDOEY,DFN,SDBEG,SDEND,SDFLAGS) ; -- SDOE FIND FIRST ENCOUNTER [API ID: 74]
  1. S SDOEY=$$EXOE^SDOEOE(.DFN,.SDBEG,.SDEND,$G(SDFLAGS))
  1. Q
  1. ;
  1. ;
  1. LIST(SDOEY,SDBEG,SDEND) ; -- RPC: SDOE LIST ENCOUNTERS FOR DATES
  1. N SDQID
  1. D OPEN(.SDOEY,.SDQID)
  1. IF '$$ERRCHK^SDQUT() D INDEX^SDQ(.SDQID,"DATE/TIME","SET")
  1. IF '$$ERRCHK^SDQUT() D DATE^SDQ(.SDQID,SDBEG,SDEND,"SET")
  1. D CLOSE(.SDQID)
  1. LISTQ Q
  1. ;
  1. LISTPAT(SDOEY,SDFN,SDBEG,SDEND) ; -- RPC: SDOE LIST ENCOUNTERS FOR PAT
  1. N SDQID
  1. D OPEN(.SDOEY,.SDQID)
  1. IF '$$ERRCHK^SDQUT() D INDEX^SDQ(.SDQID,"PATIENT/DATE","SET")
  1. IF '$$ERRCHK^SDQUT() D PAT^SDQ(.SDQID,SDFN,"SET")
  1. IF '$$ERRCHK^SDQUT() D DATE^SDQ(.SDQID,SDBEG,SDEND,"SET")
  1. D CLOSE(.SDQID)
  1. LISTPATQ Q
  1. ;
  1. LISTVST(SDOEY,SDVST) ; -- RPC: SDOE LIST ENCOUNTERS FOR VISIT
  1. N SDQID
  1. D OPEN(.SDOEY,.SDQID)
  1. IF '$$ERRCHK^SDQUT() D INDEX^SDQ(.SDQID,"VISIT","SET")
  1. IF '$$ERRCHK^SDQUT() D VISIT^SDQ(.SDQID,SDVST,"SET")
  1. D CLOSE(.SDQID)
  1. LISTVSTQ Q
  1. ;
  1. OPEN(SDOEY,SDQID) ; -- initialize query
  1. S SDOEY=$NA(^TMP("SD ENCOUNTER LIST",$J))
  1. K ^TMP("SD ENCOUNTER LIST",$J)
  1. D OPEN^SDQ(.SDQID)
  1. OPENQ Q
  1. ;
  1. CLOSE(SDQID) ; -- finalize query + scan + close
  1. IF '$$ERRCHK^SDQUT() D SCANCB^SDQ(.SDQID,"D CB^SDOERPC(Y,Y0,.SDSTOP)","SET")
  1. IF '$$ERRCHK^SDQUT() D ACTIVE^SDQ(.SDQID,"TRUE","SET")
  1. IF '$$ERRCHK^SDQUT() D SCAN^SDQ(.SDQID)
  1. D CLOSE^SDQ(.SDQID)
  1. CLOSEQ Q
  1. ;
  1. CB(SDOE,SDOE0,SDSTOP) ; -- callback for LIST* tags
  1. S ^TMP("SD ENCOUNTER LIST",$J,SDOE)=SDOE_";;"_SDOE0
  1. Q
  1. ;
  1. BUILD(IN,OUT) ; -- build array for rpc lists
  1. N IEN
  1. S IEN=""
  1. F S IEN=$O(IN(IEN)) Q:IEN="" S OUT(IEN)=IEN_";;"_IN(IEN)
  1. Q
  1. ;