$TXT Created by THEROUX,JOHN at MNTVBB.FO-ALBANY.MED.VA.GOV (KIDS) on Monday, 03/13/06 at 15:02 ============================================================================= Run Date: JUN 13, 2006 Designation: DG*5.3*700 Package : DG - REGISTRATION Priority: Mandatory Version : 5.3 SEQ #621 Status: Released Compliance Date: JUL 14, 2006 ============================================================================= Associated patches: (v)DG*5.3*443 <<= must be installed BEFORE `DG*5.3*700' (v)DG*5.3*527 <<= must be installed BEFORE `DG*5.3*700' (v)DG*5.3*649 <<= must be installed BEFORE `DG*5.3*700' (v)DG*5.3*682 <<= must be installed BEFORE `DG*5.3*700' Subject: ALLOW EDIT OF MULTIPLE BIRTH INDICATOR Category: - Routine Description: ============ This patch updates the Multiple Birth Indicator and temporary address, corrects a date validation API, updates the patient name components and corrects the alias SSN. ASSOCIATED Remedy Tickets: ========================= 1) HD 97692 - MPIF*1*37 -- Multiple births Duplicate: HD 141571 - Multiple Birth Indictor - if a user enters yes or no the prompt vanishes and doesn't display when the patient is accessed 2) HD 63587 - Update Patient Record option PSO PAT 3) HD 121976 - CHH - MST CHANGE STATUS DATE NOT VALID 4) HD 130380 - Problem updating Name Component file 5) HD 114543 - Alias SSN has G Duplicate: HD 131332 - Alias SSN with Letter ASSOCIATED E3R(s): ================== N/A PARTICIPATING TEST SITES: ========================= Puget Sound HCS Northern California HCS Biloxi,MS Chillicothe,OH REMEDY OVERVIEW: ============== 1) HD 97692 - MPIF*1*37 -- Multiple births Problem: ======== The Multiple Birth Indicator (MBI) field #994 on the Patient file (#2) can only be updated through Fileman. Solution: ========= The field has been added to Screen #1 of the Load/Edit Patient Data [DG LOAD PATIENT DATA] option. It will be treated as one of the basic patient identifiers and be subject to the editing rules introduced by DG*5.3*638. Routines DGRP1 and DGRPECE were modified. 2) HD 63587 - Update Patient Record option PSO PAT Problem: ======== When updating line 1 of the Temporary Address field, data in line 2 is not retained. This can be seen in the Load/Edit Patient Data [DG LOAD PATIENT DATA] option, screen 1. Solution: ========= When updating line 1 of the Temporary Address field, data in line 2 and line 3 will be retained. Routine DGDDC was modified. 3) HD 121976 - CHH - MST CHANGE STATUS DATE NOT VALID Problem: ======== When validating the date/time NEWSTAT^DGMSTAPI strips the seconds. When a Fileman date and time of a few seconds after midnight is validated, stripping the seconds leaves a value of "0000" for the hours and minutes which is interpreted as invalid and an error. Solution: ========= The date/time will be validated properly and the seconds will be retained. 4) HD 130380 - Problem updating Name Component file Problem: ======== Also in Screen #1 of Load/Edit Patient Data, if the user changes the patient name components but the end result for the full name (Last,First,Middle and Suffix) doesn't change, the individual name components are not updated in the Name Component file (#20). For example, when LAST: KRINGLE FIRST: JAMES MICHAEL MIDDLE: MD is being changed to: LAST: KRINGLE FIRST: JAMES MIDDLE: MICHAEL SUFFIX: MD the full name is still KRINGLE,JAMES MICHAEL MD but the individual components have changed. Solution: ========= Routine DGRPECE was modified to update each component in the Name Component file #20. 5) HD 114543 - Alias SSN has G Problem: ======== When the alias name and alias SSN are too long to fit Screen #1 in the Load/Edit Patient Data option, part of the name is truncated, but one of the truncated letters appears at the end of the SSN. Solution: ========= If there is no SSN the full name will appear. If there is an SSN, the name will truncate, but a letter will no longer appear after the SSN. Routine DGRP1 was modified. INSTALLATION INSTRUCTIONS: =========================== This patch may be run with users on the system, HOWEVER because the Registration options need to be placed out of order, we suggest it be installed after business hours. Installation will take less than 2 minutes. 1. Use the INSTALL/CHECK MESSAGE option on the PackMan menu to unload the KIDS distribution included with this message. NOTE: If the required patches are not installed, the transport global will be removed. If the transport global is removed you will need to repeat this step. 2. From the Kernel Installation and Distribution System Menu, select the Installation menu. 3. From this menu, you may elect to use the following options (when prompted for INSTALL NAME, enter DG*5.3*700): a. Compare Transport Global to Current System - this option will allow you to view all changes that will be made when the patch is installed. It compares all components of the patch (routines, DDs, templates, etc.). b. Verify Checksums in Transport Global - this option will allow you to ensure the integrity of the routines that are in the transport global. c. Print Transport Global - this option will allow you to view the components of the KIDS build. d. Backup a Transport Global - This option will create a backup message of any routines exported with this patch. It will not backup any other changes such as DD's or templates. 4. Use the Install Package(s) option and select the package DG*5.3*700. 5. When prompted ' Want KIDS to INHIBIT LOGONs during the install? YES//', respond NO. 6. When prompted,' Want to DISABLE Scheduled Options, Menu Options, and Protocols? NO//', respond Yes. When prompted,'Enter options you wish to mark as 'Out Of Order':', enter: Register a Patient [DG REGISTER PATIENT] Load/Edit Patient Data [DG LOAD PATIENT DATA] Preregister a Patient [DGPRE PRE-REGISTER OPTION] Collateral Patient Register [DG COLLATERAL PATIENT] When prompted,'Enter protocols you wish to mark as 'Out Of Order':', hit enter. ROUTINE SUMMARY: ================ The following is a list of the routine(s) included in this patch. The second line of each of these routine(s) will look like: ;;5.3;Registration;**[patch list]**;Aug 13, 1993 using old logic: CHECK^XTSUMBLD results Routine name Before Patch After Patch Patch List ============ ============ =========== ========== DGDDC 5385606 6215604 489,244,527,700 DGMSTAPI 5928823 6603325 195,243,308,353, 379,443,700 DGRP1 15351244 15980476 109,161,506,244, 546,570,629,638, 649,700 DGRPECE 8576057 10368388 638,682,700 Routine Information: ==================== The checksums below are new checksums, and can be checked with CHECK1^XTSUMBLD. Routine Name: DGDDC Before: B7666533 After: B8687243 **489,244,527,700** Description of Changes: DGDDC.INT.1 |"PATVEE"|DGDDC.INT.1 ************************************************************************** ***** DGDDC.INT.1 +2 ;;5.3;Registration;**489,244,527,700**;Aug 13, 1993 ................... |"PATVEE"|DGDDC.INT.1 +2 ;;5.3;Registration;**489,244,527**;Aug 13, 1993 --------------------------------------- DGDDC.INT.1 +9 I DGXRF=".1212",($D(^DPT(DA,DGXRF5))),($P(^(DGXRF5),"^",DGXRF6)="") S DGFDA(2,DA_",",.1213)="" D FILE^DIE("","DGFDA","DGERR") K DGFDA,DGERR G Q ................... |"PATVEE"|DGDDC.INT.1 --------------------------------------- DGDDC.INT.1 +12 F DGXRF3=1:1 S DGXRF4=$P(DGXRF2,"^",DGXRF3) Q:DGXRF4="" I $D(^DD(2 ,DGXRF4,0)) S DGXRF5=$P(^(0),"^",4),DGXRF6=$P(DGXRF5,";",2),DGXRF5=$P(DGX RF5,";",1) I $D(^DPT(DA,DGXRF5)),$P(^(DGXRF5),"^",DGXRF6)'="",DGXRF4'=".1 212" D +13 .I DGXRF4'=".1213" S DGFDA(2,DA_",",DGXRF4)="" ................... |"PATVEE"|DGDDC.INT.1 +11 F DGXRF3=1:1 S DGXRF4=$P(DGXRF2,"^",DGXRF3) Q:DGXRF4="" I $D(^DD(2 ,DGXRF4,0)) S DGXRF5=$P(^(0),"^",4),DGXRF6=$P(DGXRF5,";",2),DGXRF5=$P(DGX RF5,";",1) I $D(^DPT(DA,DGXRF5)),$P(^(DGXRF5),"^",DGXRF6)'="" D +12 .S DGFDA(2,DA_",",DGXRF4)="" ************************************************************************** ***** Routine Name: DGMSTAPI Before: B44462508 After: B48586878 **195,243,308,353,379,443,700** Description of Changes: DGMSTAPI.INT.1 |"PATVEE"|DGMSTAPI.INT.1 ************************************************************************** ***** DGMSTAPI.INT.1 +2 ;;5.3;Registration;**195,243,308,353,379,443,700**;Aug 13, 1993 ................... |"PATVEE"|DGMSTAPI.INT.1 +2 ;;5.3;Registration;**195,243,308,353,379,443**;Aug 13, 1993 --------------------------------------- DGMSTAPI.INT.1 +243 . I DGDATE["." N DGSECS S DGSECS=$E($P(DGDATE,".",2),5,6) I DGSECS' ="" I DGSECS<0!(DGSECS>60) D MSG(DGFILE,.01,DGMSG,.DGERR) Q +244 . N DGDATEX S DGDATEX=DGDATE +245 . I DGDATEX["." S DGDATEX=$P(DGDATEX,".")_"."_$E($P(DGDATEX,".",2), 1,4) +246 . I $E($P(DGDATEX,".",2),1,4)="0000" S DGDATEX=$P(DGDATEX,".")_".1" +247 . S DGSTR=".01;DGDATEX^2;DFN^3;DGSTAT^4;DGPROV^5;DUZ^6;DGSITE" ................... |"PATVEE"|DGMSTAPI.INT.1 +243 . I DGDATE["." S DGDATE=$P(DGDATE,".")_"."_$E($P(DGDATE,".",2),1,4) +244 . S DGSTR=".01;DGDATE^2;DFN^3;DGSTAT^4;DGPROV^5;DUZ^6;DGSITE" --------------------------------------- DGMSTAPI.INT.1 +253 .. D:'VALID MSG(DGFILE,DGFLD,DGMSG,.DGERR) ................... |"PATVEE"|DGMSTAPI.INT.1 +250 .. D:'VALID MSG(DGFILE,DGFLD,DGMSG,.DGERR) Routine Name: DGRP1 Before: B22435111 After: B23750245 **109,161,506,244,546,570,629, 638,649,700** Description of Changes: DGRP1.INT.1 |"PATVEE"|DGRP1.INT.1 ************************************************************************** ***** DGRP1.INT.1 +2 ;;5.3;Registration;**109,161,506,244,546,570,629,638,649,700**;Aug 13, 1993 ................... |"PATVEE"|DGRP1.INT.1 +2 ;;5.3;Registration;**109,161,506,244,546,570,629,638,649**;Aug 13, 1993 --------------------------------------- DGRP1.INT.1 +56 ..S DGALIAS(DGI)=$E(DGALIAS(DGI),1,19) ................... |"PATVEE"|DGRP1.INT.1 --------------------------------------- DGRP1.INT.1 +60 ;Display name component, sex, multiple birth indicator and alias da ta ................... |"PATVEE"|DGRP1.INT.1 +59 ;Display name component, sex, and alias data --------------------------------------- DGRP1.INT.1 +63 .I DGI=1 S (Z,DGRPW)=1 W ?43,"Sex: " S X=$P(DGRP(0),"^",2),Z=$S(X=" M":"MALE",X="F":"FEMALE",1:DGRPU),Z1=3 D WW1^DGRPV +64 .I DGI=1 S (Z,DGRPW)=1 W ?56,"MBI: " S X=$P($G(^DPT(DFN,"MPIMB")),U ),Z=$S(X="N":"NO",X="Y":"*MULTIPLE BIRTH*",1:DGRPU),Z1=16 D WW1^DGRPV ................... |"PATVEE"|DGRP1.INT.1 +62 .I DGI=1 S (Z,DGRPW)=1 W ?43,"Sex: " S X=$P(DGRP(0),"^",2),Z=$S(X=" M":"MALE",X="F":"FEMALE",1:DGRPU),Z1=31 D WW1^DGRPV ************************************************************************** ***** Routine Name: DGRPECE Before: B35524105 After: B48381081 **638,682,700** Description of Changes: DGRPECE.INT.1 |"PATVEE"|DGRPECE.INT.1 ************************************************************************** ***** DGRPECE.INT.1 +2 ;;5.3;Registration;**638,682,700**;Aug 13, 1993 ................... |"PATVEE"|DGRPECE.INT.1 +2 ;;5.3;Registration;**638,682**;Aug 13, 1993 --------------------------------------- DGRPECE.INT.1 +29 I $D(DG20NAME("MIDDLE")) S BUFFER("MIDDLE")=DG20NAME("MIDDLE") +30 I $D(DG20NAME("SUFFIX")) S BUFFER("SUFFIX")=DG20NAME("SUFFIX") ................... |"PATVEE"|DGRPECE.INT.1 --------------------------------------- DGRPECE.INT.1 +51 ; buffer - get MBI (multiple birth indicator) +52 S DIR(0)="2,994^^" +53 S DA=DFN D ^DIR +54 I $D(DIRUT) D CECHECK Q +55 S BUFFER("MBI")=Y ................... |"PATVEE"|DGRPECE.INT.1 +49 ; --------------------------------------- DGRPECE.INT.1 +77 I $D(SAVE("MBI")) S FDATA(2,+DFN_",",994)=SAVE("MBI") ................... |"PATVEE"|DGRPECE.INT.1 --------------------------------------- DGRPECE.INT.1 +81 I $D(SAVE("NAME")) D +82 .S FDATA(20,+DG20IEN_",",1)=BUFFER("FAMILY") +83 .S FDATA(20,+DG20IEN_",",2)=BUFFER("GIVEN") +84 .S FDATA(20,+DG20IEN_",",3)=BUFFER("MIDDLE") +85 .S FDATA(20,+DG20IEN_",",5)=BUFFER("SUFFIX") +86 .D FILE^DIE("","FDATA","DIERR") +87 .K FDATA,DIERR ................... |"PATVEE"|DGRPECE.INT.1 --------------------------------------- DGRPECE.INT.1 +102 S BEF("MBI")=$$GET1^DIQ(2,+IEN_",",994,"I"),BUF("MBI")=BEF("MBI") ................... |"PATVEE"|DGRPECE.INT.1 --------------------------------------- DGRPECE.INT.1 +105 S BEF("MIDDLE")="",BEF("SUFFIX")="",BUF("MIDDLE")="",BUF("MIDDLE")= "" ................... |"PATVEE"|DGRPECE.INT.1 --------------------------------------- DGRPECE.INT.1 +111 . S BEF("MIDDLE")=$$GET1^DIQ(20,+DG20IEN_",",3),BUF("MIDDLE")=BEF(" MIDDLE") +112 . S BEF("SUFFIX")=$$GET1^DIQ(20,+DG20IEN_",",5),BUF("SUFFIX")=BEF(" SUFFIX") ................... |"PATVEE"|DGRPECE.INT.1 --------------------------------------- DGRPECE.INT.1 +123 I $D(BUF("FAMILY")),BUF("FAMILY")'="",BUF("FAMILY")'=BEF("FAMILY") D +124 . S DG20CNT=DG20CNT+1 +125 . S SAV("NAME")=BUF("NAME") +126 I $D(BUF("GIVEN")),BUF("GIVEN")'="",BUF("GIVEN")'=BEF("GIVEN") D +127 . S DG20CNT=DG20CNT+1 +128 . S SAV("NAME")=BUF("NAME") +129 I $D(BUF("MIDDLE")),BUF("MIDDLE")'="",BUF("MIDDLE")'=BEF("MIDDLE") D +130 . S SAV("NAME")=BUF("NAME") ; minor change doesn't count +131 I $D(BUF("SUFFIX")),BUF("SUFFIX")'="",BUF("SUFFIX")'=BEF("SUFFIX") D +132 . S SAV("NAME")=BUF("NAME") ; minor change doesn't count +133 I DG20CNT>0 S DGCNT=1 ................... |"PATVEE"|DGRPECE.INT.1 +105 I $D(BUF("NAME")),BUF("NAME")'="",BUF("NAME")'=BEF("NAME") D +106 . S SAV("NAME")=BUF("NAME") ;minor name changes don't count +107 . I $D(BUF("FAMILY")),BUF("FAMILY")'=BEF("FAMILY") S DG20CNT=DG20CN T+1 +108 . I $D(BUF("GIVEN")),BUF("GIVEN")'=BEF("GIVEN") S DG20CNT=DG20CNT+1 +109 . I DG20CNT>0 S DGCNT=1 --------------------------------------- DGRPECE.INT.1 +144 I $D(BUF("MBI")),BUF("MBI")'="",BUF("MBI")'=BEF("MBI") D +145 . S SAV("MBI")=BUF("MBI"),DGCNT=DGCNT+1 ................... |"PATVEE"|DGRPECE.INT.1 ************************************************************************** ***** ============================================================================= User Information: Entered By : THEROUX,JOHN Date Entered : JAN 20, 2006 Completed By: BOWEN,MARY JANE Date Completed: MAY 30, 2006 Released By : ALEXANDER,DIANNE Date Released : JUN 13, 2006 ============================================================================= Packman Mail Message: ===================== $END TXT