ACKQUTL8 ;HCIOFO/AG - QUASAR Utility Routine ;30 Jan 2013 3:16 PM
Source file <ACKQUTL8.m>
action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
Name | Comments | DBIA/ICR reference |
---|---|---|
CHKVST(ACKVIEN,ACKARR,ACKFULL) | ; check a visit for missing fields
; this function will validate a visit to determine if there are any ; missing required fields. ; required inputs: ACKVIEN - visit ien number ; ACKARR - array to hold errors (must be passed by ref ie ".ACKARR") ; ACKFULL - if true, the visit will be checked in full and may ; return type 0 errors, and type 1 and type 2. if false, the ; function will only look for type 1s if there are no type 0s etc. ; output: ; ACKARR=typ - type of error found ; -1 = Error - unable to process visit ; 0 = visit does not have minimum data required ; for Quasar ; 1 = visit has minimum for Quasar but some additional ; required fields are missing ; 2 = all Quasar required fields are present but one ; or more PCE fields are missing (ie will not be ; accepted by PCE if the interface is on). ; 3 = everything ok ; ACKARR(typ)=num - number of fields in error ; ACKARR(typ,1-num)=field - free text name of field ; example: ; ACKARR=0 - visit does not have minimum reqd by Quasar ; and ACKARR(0)=2,ACKARR(0,1)="Clinic",ACKARR(0,2)="Patient" ; this visit does not have a clinic or a patient |
|
GET0 | ||
CHK0 | ||
END0 | ; if errors found and we're not doing a full check then exit
|
|
GET1 | ; get data for level 1 check
|
|
CHK1 | ||
END1 | ; if errors found and we're not doing a full check then exit
|
|
GET2 | ||
CHK2 | ||
CHKVSTX | ; that'll do
|
|
DIAGTXT(ACKQDCDS,ACKCVD) | ; Get Short ICD Description
|
|
LDIAGTXT(ACKQDCDS,ACKCVD,ACKICD) | ; Get Long ICD Description
|
|
PROCTXT(ACKQDCDS,ACKCVD) | ; Get Short CPT Description
|
|
MODTXT(ACKQMCDS,ACKCVD) | ; Get Short CPT Modifier Description
|
|
CONV(ACKQDCDS) | ;
|
|
DATE() | ;
|
Name | Field # of Occurrence |
---|---|
NOW^%DTC | DATE+2 |
$$PRIMARY^ACKQASU5 | CHK1+40 |
$$GET1^DIQ | CHK2+12 |
GETS^DIQ | GET0, GET1+2, GET2+1 |
$$CODEC^ICDEX | CONV+2 |
$$CSI^ICDEX | DIAGTXT+3 |
$$ICDDATA^ICDXCODE | DIAGTXT+4 |
$$ICDDESC^ICDXCODE | LDIAGTXT+4 |
$$CPT^ICPTCOD | PROCTXT+3 |
$$MOD^ICPTMOD | MODTXT+3 |
ELIG^VADPT | CHK2+8 |
SVC^VADPT | CHK2+8 |
FileNo | Call Tags |
---|---|
^DPT - [#2] | GET1^DIQ |
^ACK(509850.6 - [#509850.6] | GETS^DIQ |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
% | DATE+1~, DATE+3 |
ACKAO | CHK2+5~, CHK2+7*, CHK2+10*, CHK2+21 |
ACKARR | CHKVST~, CHKVST+28!*, CHKVST+31*, GET0+3*, CHK0+1*, CHK0+9*, CHK0+13*, CHK0+17*, END0+1, CHK1+1* , CHK1+8*, CHK1+17*, CHK1+26*, CHK1+37*, CHK1+41*, CHK1+49*, CHK1+54*, CHK1+59*, END1+1, CHK2+1* , CHK2+17*, CHK2+22*, CHK2+27*, CHK2+32* |
ACKARR(0 | CHK0+1*, CHK0+2*, CHK0+9*, CHK0+10*, CHK0+13*, CHK0+14*, CHK0+17*, CHK0+18* |
ACKARR(1 | CHK1+2*, CHK1+9*, CHK1+18*, CHK1+27*, CHK1+38*, CHK1+42*, CHK1+50*, CHK1+55*, CHK1+60* |
ACKARR(2 | CHK2+2*, CHK2+18*, CHK2+23*, CHK2+28*, CHK2+33* |
ACKCP | CHK1+46~, CHK1+47*, CHK1+48, CHK1+53 |
ACKCPT | CHK1+13~, CHK1+14*, CHK1+15*, CHK1+16, CHK1+19! |
ACKCVD | DIAGTXT~, DIAGTXT+2*, DIAGTXT+4, LDIAGTXT~, LDIAGTXT+3*, LDIAGTXT+4, PROCTXT~, PROCTXT+2*, PROCTXT+3, MODTXT~ , MODTXT+2*, MODTXT+3 |
ACKD | CHK1+34~*, CHK1+35 |
ACKDATA | CHKVST+26~, GET1+1!, GET2! |
ACKDATA( | GET0+3, CHK0, CHK0+8, CHK0+12, CHK0+16, CHK1, CHK1+6, CHK1+47, CHK1+53, CHK1+58 , CHK2, CHK2+6, CHK2+13, CHK2+21, CHK2+26, CHK2+31 |
ACKEC | CHK2+5~, CHK2+7*, CHK2+12*, CHK2+31 |
ACKENV | CHK2+5~ |
ACKEV | CHK1+22~*, CHK1+23*, CHK1+24*, CHK1+25, CHK1+28! |
>> ACKEVENT | CHK1+12, CHK1+21 |
ACKFROM | CHK1+31~ |
ACKFULL | CHKVST~, CHKVST+27*, END0+1, END1+1 |
ACKICD | CHK1+31~, CHK1+34*, CHK1+35*, CHK1+36, CHK1+43!, DIAGTXT+3*, DIAGTXT+4, LDIAGTXT~, LDIAGTXT+4 |
ACKIR | CHK2+5~, CHK2+7*, CHK2+11*, CHK2+26 |
ACKP | CHK1+14~*, CHK1+15, CHK1+23~*, CHK1+24 |
ACKPRV | CHK1+5~, CHK1+6*, CHK1+7 |
ACKQDCDS | DIAGTXT~, DIAGTXT+3, DIAGTXT+4, LDIAGTXT~, LDIAGTXT+2*, LDIAGTXT+4, PROCTXT~, PROCTXT+3, CONV~, CONV+2 |
ACKQMCDS | MODTXT~, MODTXT+3 |
ACKSC | CHK2+5~, CHK2+7*, CHK2+9*, CHK2+16 |
ACKSCV | CHK2+5~, CHK2+13*, CHK2+16, CHK2+21, CHK2+26, CHK2+31 |
ACKVIEN | CHKVST~, CHKVST+31, GET0, GET0+3, CHK0, CHK0+8, CHK0+12, CHK0+16, GET1+2, CHK1 , CHK1+6, CHK1+14, CHK1+15, CHK1+23, CHK1+24, CHK1+34, CHK1+35, CHK1+40, CHK1+47, CHK1+53 , CHK1+58, GET2+1, CHK2, CHK2+6, CHK2+13, CHK2+21, CHK2+26, CHK2+31 |
CODE | CONV+1~, CONV+2*, CONV+3 |
DFN | CHK2+5~, CHK2+6*, CHK2+8, CHK2+12 |
DIAGTXT | DIAGTXT+1~, DIAGTXT+4*, DIAGTXT+5*, DIAGTXT+6 |
LDIAGTXT | LDIAGTXT+1~, LDIAGTXT+5*, LDIAGTXT+6*, LDIAGTXT+7 |
LST | LDIAGTXT+1~ |
MODTXT | MODTXT+1~, MODTXT+3*, MODTXT+4*, MODTXT+5 |
OUTARR | LDIAGTXT+1~, LDIAGTXT+4 |
OUTARR(1 | LDIAGTXT+6 |
PROCTXT | PROCTXT+1~, PROCTXT+3*, PROCTXT+4*, PROCTXT+5 |
RET | LDIAGTXT+1~, LDIAGTXT+4*, LDIAGTXT+5, LDIAGTXT+6 |
U | CHK1+15, CHK1+24, CHK1+35 |
VAEL | CHK2+5~ |
VAEL(3 | CHK2+9 |
VASV | CHK2+5~ |
VASV(2 | CHK2+10 |
VASV(3 | CHK2+11 |