Print Page as PDF
DBIA2989 ICR (2989)

DBIA2989    ICR (2989)

Name Value
NUMBER 2989
IA # 2989
FILE NUMBER 90
GLOBAL ROOT MR(
DATE CREATED 2003/06/10
CUSTODIAL PACKAGE VA FILEMAN
CUSTODIAL ISC San Francisco
USAGE Private
TYPE File
NAME DBIA2989
GENERAL DESCRIPTION
This is a one time DBIA request to modify the field
definitions of two fields from the MENTAL HEALTH package's MEDICAL RECORDS
file (#90.)  This is in response to NOIS calls PUG-1099-51192 and
HOU-0399-72142.  Patch YS*5.01*58 was created to address these NOIS calls.
Here is the patch description from YS*5.01*58:

This patch corrects an error that occurs in menu option "Identify Potential
Merge Problems [XDR VALID CHECK]" of the MEDICINE package.  Although it
originally appeared to be a FILEMAN error or a MEDICINE package error, it was
later determined to be a data dictionary problem with the MEDICAL RECORDS file
(#90) of the MENTAL HEALTH package.

The error appears as follows:

$ZE= DDENTRY+29^DIQGQ:3, %DSM-E-NAME, bad variable name

..D  F  S DIQGMDA=$O(@DIQGMGR@(DIQGMDA)) Q:DIQGMDA'>0  D
EN($S('DIQGDD:DIQGMDD,
1:$$OREF(DIQGMGR)),.DIQGMDA,"**",DIQGPARM,.DIQGTA,"",$S('DIQGDD:"",1:1))

Last Global Ref: ^DIC(.12,0,"GL")

The problem is caused by the DD definition of the COMMENTS field (Sub file
#90.02, Sub field #30) of the PHY field (Sub file #90.01, Sub field #100) of
the MEDICAL RECORDS file (#90.)  The GETS^DIQ call in routine XDRDVAL was
extracting all fields and sub fields for the given record (due to the "**" in
the FIELD parameter.)  See below:

D GETS^DIQ(FILE,IEN,"**","EIN",DATAROOT,MESGROOT)

The COMMENTS field (#30) is defined as a free text multiple but stored as a
word-processing field.  In a multiple field, the header (or 0) node contains
the DD entry number of the sub file in the second piece.  Because the DD
definition of the COMMENTS field (#30) is defined as a multiple field, FILEMAN
takes the value of the second piece (delimited by "^") of the header node and
pluses it (+) to get the DD entry number of the sub file.  See below:

^MR(7180189,"PE",7069286,19,0) = ^^1^1^2930713^

The node above resembles a word processing field but in the DD it is defined
as a multiple. A multiple should have a sub file number in the second piece.
Since nothing is in the second piece, the resulting number returned to FILEMAN
was a 0 (zero) which confused FILEMAN, causing it to look at the wrong file.
The same DD problem exists in the INITIAL IMPRESSION field (Sub file #90.03,
Sub field #31.) This field is defined as a free text multiple but stored as a
word-processing field.

In this situation, no data problem exists.  The data is correct and requires
no modifications.  The solution is to change the definitions of these fields
from multiples to word-processing.  Because MEDICAL RECORDS file is an old
file, it is not possible to make the data dictionary changes using FILEMAN.
Therefore, it is necessary to use hard SETS and KILLS to update the data
dictionary.

Here is the data as it exists prior to the installation of this patch.  Please
note that, for better readability, not all nodes have been displayed:

COMMENTS field (#30)

^DD(90.01,30,0) = COMMENTS^90.02A^^19;0
^DD(90.01,30,21,0) = ^^1^1^2930202^
^DD(90.01,30,21,1,0) = Comments relating to the physical exam.

^DD(90.02,0) = COMMENTS SUB-FIELD^NL^.01^1
^DD(90.02,.01,0) = COMMENTS^MF^^0;1^K:$L(X)>70!($L(X)<2) X
^DD(90.02,.01,3) = ANSWER MUST BE 2-70 CHARACTERS IN LENGTH
^DD(90.02,.01,21,0) = ^^2^2^2930202^
^DD(90.02,.01,21,1,0) = Comments enter by the examiner relating to the
physical exam of the
^DD(90.02,.01,21,2,0) = patient.

INITIAL IMPRESSION field (#31)

^DD(90.01,31,0) = INITIAL IMPRESSION^90.03A^^20;0
^DD(90.01,31,21,0) = ^^1^1^2930202^
^DD(90.01,31,21,1,0) = Examiner's initial impression.

^DD(90.03,0) = INITIAL IMPRESSION SUB-FIELD^NL^.01^1
^DD(90.03,0,"NM","INITIAL IMPRESSION") =
^DD(90.03,0,"UP") = 90.01
^DD(90.03,.01,0) = INITIAL IMPRESSION^MF^^0;1^K:$L(X)>70!($L(X)<2) X
^DD(90.03,.01,3) = ANSWER MUST BE 2-70 CHARACTERS IN LENGTH

Routine YS58POST will run during installation of YS*5.01*58 to perform the
following:

1)  Remove the "A" from the sub field number.  The "A" indicates to
automatically add entries without asking: "ARE YOU ADDING A NEW ENTRY?" This
is no longer applicable for a word processing file.

S $P(^DD(90.01,30,0),U,2)=90.02     (COMMENTS)
S $P(^DD(90.01,31,0),U,2)=90.03     (INITITAL IMPRESSION)

2)  Reset the field definition which is stored in the data dictionary's zero
node, field .01, of the sub file.  The "MF" originally in the second piece
indicates this field is a multiple and free text.  We replace it with "W"
which indicates a word processing field.  The input transform Mumps code is
replaced with "Q" in the fifth piece.

S ^DD(90.02,.01,0)="COMMENTS^W^^0;1^Q"
S ^DD(90.03,.01,0)="INITIAL IMPRESSION^W^^0;1^Q"

3)  Kill the help text in the 3 node.  It is no longer needed.

K ^DD(90.02,.01,3)  (COMMENTS)
K ^DD(90.03,.01,3)  (INITIAL IMPRESSIONS)

4)  Correct a spelling error for the COMMENTS field (#30.)

S ^DD(90.02,.01,21,1,0)="Comments entered by the examiner relating
to the physical exam"

This is how the data dictionary entries appear after the changes are made.

COMMENTS field (#30)

^DD(90.01,30,0) = COMMENTS^90.02^^19;0
^DD(90.01,30,21,0) = ^^1^1^2930202^
^DD(90.01,30,21,1,0) = Comments relating to the physical exam.

^DD(90.02,0) = COMMENTS SUB-FIELD^NL^.01^1
^DD(90.02,.01,0) = COMMENTS^W^^0;1^Q
^DD(90.02,.01,21,0) = ^^2^2^2930202^
^DD(90.02,.01,21,1,0) = Comments entered by the examiner relating to the
physical exam of the

INITIAL IMPRESSION field (#31)

^DD(90.01,31,0) = INITIAL IMPRESSION^90.03^^20;0
^DD(90.01,31,21,0) = ^^1^1^2930202^
^DD(90.01,31,21,1,0) = Examiner's initial impression.

^DD(90.03,0) = INITIAL IMPRESSION SUB-FIELD^NL^.01^1
^DD(90.03,.01,0) = INITIAL IMPRESSION^W^^0;1^Q

STATUS Retired
DURATION Till Otherwise Agreed
ID MR(
SUBSCRIBING PACKAGE
SUBSCRIBING PACKAGE ISC
MENTAL HEALTH Dallas