[613] | 1 | SDOERPC ;ALB/MJK - ACRP RPCs For An Encounter ;8/12/96
|
---|
| 2 | ;;5.3;Scheduling;**131,196**;Aug 13, 1993
|
---|
| 3 | ;06/22/99 ACS - Added CPT modifier logic for the AMB CARE toolkit
|
---|
| 4 | ;
|
---|
| 5 | ; ------------------------- cpt rpcs --------------------------
|
---|
| 6 | ;
|
---|
| 7 | CPT(SDOEY,SDOE) ; -- SDOE ASSIGNED A PROCEDURE [API ID: 65]
|
---|
| 8 | S SDOEY=$$CPT^SDOECPT(SDOE)
|
---|
| 9 | Q
|
---|
| 10 | ;
|
---|
| 11 | GETCPT(SDOEY,SDOE) ; -- SDOE GET PROCEDURES [API ID: 61]
|
---|
| 12 | D GETCPT^SDOECPT(.SDOE,"SDOEY")
|
---|
| 13 | ;
|
---|
| 14 | ; The following logic will remove the 2nd level subscripts
|
---|
| 15 | ; (containing modifier information) from the CPT array because they
|
---|
| 16 | ; aren't relevant for this routine
|
---|
| 17 | N LEVEL1,LEVEL2
|
---|
| 18 | S (LEVEL1,LEVEL2)=""
|
---|
| 19 | F S LEVEL1=$O(SDOEY(LEVEL1)) Q:'LEVEL1 D
|
---|
| 20 | . F S LEVEL2=$O(SDOEY(LEVEL1,LEVEL2)) Q:LEVEL2="" D
|
---|
| 21 | .. K SDOEY(LEVEL1,LEVEL2)
|
---|
| 22 | .. Q
|
---|
| 23 | . Q
|
---|
| 24 | Q
|
---|
| 25 | ;
|
---|
| 26 | FINDCPT(SDOEY,SDOE,SDCPTID) ; -- SDOE FIND PROCEDURE [API ID: 71]
|
---|
| 27 | S SDOEY=$$FINDCPT^SDOECPT(SDOE,SDCPTID)
|
---|
| 28 | Q
|
---|
| 29 | ;
|
---|
| 30 | ; ------------------------- dx rpcs --------------------------
|
---|
| 31 | ;
|
---|
| 32 | DX(SDOEY,SDOE) ; -- SDOE ASSIGNED A DIAGNOSIS [API ID: 64]
|
---|
| 33 | S SDOEY=$$DX^SDOEDX(SDOE)
|
---|
| 34 | Q
|
---|
| 35 | ;
|
---|
| 36 | GETDX(SDOEY,SDOE) ; -- SDOE GET DIAGNOSES [API ID: 56]
|
---|
| 37 | D GETDX^SDOEDX(.SDOE,"SDOEY")
|
---|
| 38 | Q
|
---|
| 39 | ;
|
---|
| 40 | FINDDX(SDOEY,SDOE,SDDXID) ; -- SDOE FIND DIAGNOSIS [API ID: 70]
|
---|
| 41 | S SDOEY=$$FINDDX^SDOEDX(SDOE,SDDXID)
|
---|
| 42 | Q
|
---|
| 43 | ;
|
---|
| 44 | GETPDX(SDOEY,SDOE) ; -- SDOE GET PRIMARY DIAGNOSIS [API ID: 73]
|
---|
| 45 | S SDOEY=$$GETPDX^SDOEDX(SDOE)
|
---|
| 46 | Q
|
---|
| 47 | ;
|
---|
| 48 | ; ------------------------- provider rpcs --------------------------
|
---|
| 49 | ;
|
---|
| 50 | PRV(SDOEY,SDOE) ; -- SDOE ASSIGNED A PROVIDER [API ID: 63]
|
---|
| 51 | S SDOEY=$$PRV^SDOEPRV(SDOE)
|
---|
| 52 | Q
|
---|
| 53 | ;
|
---|
| 54 | GETPRV(SDOEY,SDOE) ; -- SDOE GET PROVIDERS [API ID: 58]
|
---|
| 55 | D GETPRV^SDOEPRV(.SDOE,"SDOEY")
|
---|
| 56 | Q
|
---|
| 57 | ;
|
---|
| 58 | FINDPRV(SDOEY,SDOE,SDPRVID) ; -- SDOE FIND PROVIDER [API ID: 69]
|
---|
| 59 | S SDOEY=$$FINDPRV^SDOEPRV(SDOE,SDPRVID)
|
---|
| 60 | Q
|
---|
| 61 | ;
|
---|
| 62 | ; --------------------------------oe rpcs--------------------------
|
---|
| 63 | ;
|
---|
| 64 | GETOE(SDOEY,SDOE) ; -- SDOE GET ZERO NODE [API ID: 98]
|
---|
| 65 | S SDOEY=$$GETOE^SDOEOE(SDOE)
|
---|
| 66 | Q
|
---|
| 67 | ;
|
---|
| 68 | GETGEN(SDOEY,SDOE) ; -- SDOE GET GENERAL DATA [API ID: 76]
|
---|
| 69 | N SDAT,SDATAOE
|
---|
| 70 | S SDAT="SDATAOE"
|
---|
| 71 | D GETGEN^SDOEOE(.SDOE,.SDAT)
|
---|
| 72 | D BUILD(.SDATAOE,.SDOEY)
|
---|
| 73 | Q
|
---|
| 74 | ;
|
---|
| 75 | PARSE(SDOEY,SDATA,SDFMT) ; -- SDOE PARSE GENERAL DATA [API ID: 78]
|
---|
| 76 | N SDY
|
---|
| 77 | S SDY="SDATAOE"
|
---|
| 78 | D PARSE^SDOEOE(.SDATA,.SDFMT,.SDY)
|
---|
| 79 | D BUILD(.SDATAOE,.SDOEY)
|
---|
| 80 | Q
|
---|
| 81 | ;
|
---|
| 82 | EXAE(SDOEY,DFN,SDBEG,SDEND,SDFLAGS) ; -- SDOE FIND FIRST STANDALONE [API ID: 72]
|
---|
| 83 | S SDOEY=$$EXAE^SDOEOE(.DFN,.SDBEG,.SDEND,$G(SDFLAGS))
|
---|
| 84 | Q
|
---|
| 85 | ;
|
---|
| 86 | GETLAST(SDOEY,DFN,SDBEG,SDFLAGS) ; -- SDOE FIND LAST STANDALONE [API ID: 75]
|
---|
| 87 | S SDOEY=$$GETLAST^SDOEOE(.DFN,.SDBEG,$G(SDFLAGS))
|
---|
| 88 | Q
|
---|
| 89 | ;
|
---|
| 90 | EXOE(SDOEY,DFN,SDBEG,SDEND,SDFLAGS) ; -- SDOE FIND FIRST ENCOUNTER [API ID: 74]
|
---|
| 91 | S SDOEY=$$EXOE^SDOEOE(.DFN,.SDBEG,.SDEND,$G(SDFLAGS))
|
---|
| 92 | Q
|
---|
| 93 | ;
|
---|
| 94 | ;
|
---|
| 95 | LIST(SDOEY,SDBEG,SDEND) ; -- RPC: SDOE LIST ENCOUNTERS FOR DATES
|
---|
| 96 | N SDQID
|
---|
| 97 | D OPEN(.SDOEY,.SDQID)
|
---|
| 98 | IF '$$ERRCHK^SDQUT() D INDEX^SDQ(.SDQID,"DATE/TIME","SET")
|
---|
| 99 | IF '$$ERRCHK^SDQUT() D DATE^SDQ(.SDQID,SDBEG,SDEND,"SET")
|
---|
| 100 | D CLOSE(.SDQID)
|
---|
| 101 | LISTQ Q
|
---|
| 102 | ;
|
---|
| 103 | LISTPAT(SDOEY,SDFN,SDBEG,SDEND) ; -- RPC: SDOE LIST ENCOUNTERS FOR PAT
|
---|
| 104 | N SDQID
|
---|
| 105 | D OPEN(.SDOEY,.SDQID)
|
---|
| 106 | IF '$$ERRCHK^SDQUT() D INDEX^SDQ(.SDQID,"PATIENT/DATE","SET")
|
---|
| 107 | IF '$$ERRCHK^SDQUT() D PAT^SDQ(.SDQID,SDFN,"SET")
|
---|
| 108 | IF '$$ERRCHK^SDQUT() D DATE^SDQ(.SDQID,SDBEG,SDEND,"SET")
|
---|
| 109 | D CLOSE(.SDQID)
|
---|
| 110 | LISTPATQ Q
|
---|
| 111 | ;
|
---|
| 112 | LISTVST(SDOEY,SDVST) ; -- RPC: SDOE LIST ENCOUNTERS FOR VISIT
|
---|
| 113 | N SDQID
|
---|
| 114 | D OPEN(.SDOEY,.SDQID)
|
---|
| 115 | IF '$$ERRCHK^SDQUT() D INDEX^SDQ(.SDQID,"VISIT","SET")
|
---|
| 116 | IF '$$ERRCHK^SDQUT() D VISIT^SDQ(.SDQID,SDVST,"SET")
|
---|
| 117 | D CLOSE(.SDQID)
|
---|
| 118 | LISTVSTQ Q
|
---|
| 119 | ;
|
---|
| 120 | OPEN(SDOEY,SDQID) ; -- initialize query
|
---|
| 121 | S SDOEY=$NA(^TMP("SD ENCOUNTER LIST",$J))
|
---|
| 122 | K ^TMP("SD ENCOUNTER LIST",$J)
|
---|
| 123 | D OPEN^SDQ(.SDQID)
|
---|
| 124 | OPENQ Q
|
---|
| 125 | ;
|
---|
| 126 | CLOSE(SDQID) ; -- finalize query + scan + close
|
---|
| 127 | IF '$$ERRCHK^SDQUT() D SCANCB^SDQ(.SDQID,"D CB^SDOERPC(Y,Y0,.SDSTOP)","SET")
|
---|
| 128 | IF '$$ERRCHK^SDQUT() D ACTIVE^SDQ(.SDQID,"TRUE","SET")
|
---|
| 129 | IF '$$ERRCHK^SDQUT() D SCAN^SDQ(.SDQID)
|
---|
| 130 | D CLOSE^SDQ(.SDQID)
|
---|
| 131 | CLOSEQ Q
|
---|
| 132 | ;
|
---|
| 133 | CB(SDOE,SDOE0,SDSTOP) ; -- callback for LIST* tags
|
---|
| 134 | S ^TMP("SD ENCOUNTER LIST",$J,SDOE)=SDOE_";;"_SDOE0
|
---|
| 135 | Q
|
---|
| 136 | ;
|
---|
| 137 | BUILD(IN,OUT) ; -- build array for rpc lists
|
---|
| 138 | N IEN
|
---|
| 139 | S IEN=""
|
---|
| 140 | F S IEN=$O(IN(IEN)) Q:IEN="" S OUT(IEN)=IEN_";;"_IN(IEN)
|
---|
| 141 | Q
|
---|
| 142 | ;
|
---|