[613] | 1 | IBCSC8A ;BP/YMG - ADD/ENTER CHIROPRACTIC DATA ;06/08/2007
|
---|
| 2 | ;;2.0;INTEGRATED BILLING;**371**;21-MAR-94;Build 57
|
---|
| 3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | EN ;
|
---|
| 6 | N DAM,DIT,EC,LXD,OK,PCC,PCCI,UO,UR
|
---|
| 7 | S UO="UNSPECIFIED [OPTIONAL]",UR="UNSPECIFIED [REQUIRED]"
|
---|
| 8 | S EC="000"
|
---|
| 9 | EN1 ;
|
---|
| 10 | S OK=1
|
---|
| 11 | S DIT=$$GET1^DIQ(399,IBIFN,246) S:DIT="" DIT=UR
|
---|
| 12 | S PCCI=$P($G(^DGCR(399,IBIFN,"U3")),U,7)
|
---|
| 13 | S PCC=$S(PCCI'="":PCCI_" ("_$$EXTERNAL^DILFD(399,248,"",PCCI)_")",1:UR)
|
---|
| 14 | S DAM=$$GET1^DIQ(399,IBIFN,247) S:DAM="" DAM=$S("AM"'[PCCI!(PCCI=""):UO,1:UR)
|
---|
| 15 | S LXD=$$GET1^DIQ(399,IBIFN,245) S:LXD="" LXD=UO
|
---|
| 16 | D DISP,EDIT G:'OK EN1
|
---|
| 17 | D CLEAN^DILF
|
---|
| 18 | Q
|
---|
| 19 | ;
|
---|
| 20 | DISP ; display existing values
|
---|
| 21 | W @IOF,!,"============================= CHIROPRACTIC DATA ==============================",!
|
---|
| 22 | D:+EC DSPERR
|
---|
| 23 | W !!,?3,"---------------------- Current values for Bill -----------------------",!
|
---|
| 24 | W !,?3,"Date of initial treatment : ",DIT
|
---|
| 25 | W !,?3,"Patient condition code : ",PCC
|
---|
| 26 | W !,?3,"Date of acute manifestation : ",DAM
|
---|
| 27 | W !,?3,"Last x-ray date : ",LXD,!
|
---|
| 28 | Q
|
---|
| 29 | ;
|
---|
| 30 | EDIT ; edit data
|
---|
| 31 | N DEL,TOUT,UOUT
|
---|
| 32 | S DIE="^DGCR(399,",DR="246;248;247;245",DA=IBIFN D ^DIE S TOUT=$D(DTOUT),UOUT=$D(Y) K DIE,DR,DA D CHK
|
---|
| 33 | ; if all data is valid, we are done here
|
---|
| 34 | Q:'+EC
|
---|
| 35 | ; we get here if:
|
---|
| 36 | ; - all prompts have been answered, but data is invalid, or
|
---|
| 37 | ; - editing was interrupted by user ("^" exit), or
|
---|
| 38 | ; - editing timed out
|
---|
| 39 | ;
|
---|
| 40 | ;if "^"-exit and user doesn't want to discard data, or all prompts answered, go back to the same screen
|
---|
| 41 | I 'TOUT S DEL=1 D I DEL=0!('UOUT) S OK=0 Q
|
---|
| 42 | .; if "^"-exit, ask if data should be discarded
|
---|
| 43 | .I UOUT S DIR(0)="Y",DIR("A")="Delete Chiropractic Data",DIR("B")="YES" D ^DIR S DEL=$G(Y) K DIR
|
---|
| 44 | .Q
|
---|
| 45 | ; if user requested to delete data or entry prompt timed out, clear out chiro fields
|
---|
| 46 | S DIE="^DGCR(399,",DR="246///@;248///@;247///@;245///@",DA=IBIFN D ^DIE K DIE,DR,DA
|
---|
| 47 | Q
|
---|
| 48 | ;
|
---|
| 49 | CHK ; check data integrity
|
---|
| 50 | ; sets 3 char error code in EC, each position containing 0 means no error
|
---|
| 51 | ; positions containing 1 trigger the following errors:
|
---|
| 52 | ; position 1 - Date of Initial Treatment is missing
|
---|
| 53 | ; position 2 - Patient Condition Code is missing
|
---|
| 54 | ; position 3 - Date of Acute manifestation is missing (for Patient Condition Code = A or M)
|
---|
| 55 | N IBX,PCC
|
---|
| 56 | S IBX=$P($G(^DGCR(399,IBIFN,"U3")),U,4,7),EC="000"
|
---|
| 57 | ; chiropractic claim if any of the fields are populated
|
---|
| 58 | S:$TR(IBX,U)'="" PCC=$P(IBX,U,4),$E(EC,1)=($P(IBX,U,2)=""),$E(EC,2)=(PCC=""),$E(EC,3)=($P(IBX,U,3)=""&(PCC]"")&("AM"[PCC))
|
---|
| 59 | Q
|
---|
| 60 | DSPERR ; display errors
|
---|
| 61 | W !,?3,"Errors detected:"
|
---|
| 62 | W:+$E(EC,1) !,?5,"Date of Initial Treatment is required"
|
---|
| 63 | W:+$E(EC,2) !,?5,"Patient Condition Code is required"
|
---|
| 64 | W:+$E(EC,3) !,?5,"Condition code A or M requires Date of Acute Manifestation"
|
---|
| 65 | Q
|
---|