Print Page as PDF
DBIA2017 ICR (2017)

DBIA2017    ICR (2017)

Name Value
NUMBER 2017
IA # 2017
DATE CREATED 1997/04/30
CUSTODIAL PACKAGE CLINICAL PROCEDURES
CUSTODIAL ISC Chicago
USAGE Private
TYPE Routine
ROUTINE MCUIMAGO
NAME DBIA2017
GENERAL DESCRIPTION
This DBIA implements two new Medicine APIs for the
Imaging package to call.

The UPDATE^MCUIMAG0() API creates new entries, if needed, in the Medical
Patient file and the Medicine Procedure data files.  It also allows the
Imaging package to populate the Image multiple in the Medicine Procedure data
files.

The KILL^MCUIMAG0() API removes entries from the Image multiples in the
Medicine Procedure data files.
STATUS Pending
DURATION Till Otherwise Agreed
ID MCUIMAGO
COMPONENT/ENTRY POINT
COMPONENT/ENTRY POINT COMPONENT DESCRIPTION
UPDATE

D UPDATE^MCUIMAGO(MCDATE,MCPROCD0,MCDFN,.MCMAGPTR,[.]MCD0,.OK)

This entry point creates new entries, if needed, in the Medical Patient file
(#690) and the Medicine Procedure data files (see file list under MCD0).  It
also allows the Imaging package to populate the Image multiple in the Medicine
Procedure data files.

Input
~~~~~
MCDATE     =  Date/Time of a procedure (VA FileMan internal format)

MCPROCD0   =  A pointer to the Procedure/Subspecialty file (#697.2),
e.g., ^MCAR(697.2,MCPROCD0,...

MCDFN      =  A pointer to the Patient file (#2), e.g., ^DPT(MCDFN,...

MCMAGPTR() =  An array whose subscripts are pointers to the Image file
(#2005).  The elements of the array should be set to null.
To create a new Medicine Procedure data file stub record
without image data, set this paramerter such that
$O(MCMAGPTR(0))'>0.  (Also see MCD0.)

MCD0       =  A pointer to one of the entries in one of the Medicine
Procedure data files, e.g., ^MCAR(691,MCD0,...
This parameter may be passed by reference or by value.
If passed by reference, it will be returned as
Pointer#^File# if there were no problems (i.e., OK>0).
If OK'>0, the value of MCD0 should not be relied on.
Pass in this parameter as null to create a new stub
record in one of the Medicine Procedure data files.
(Also see MCMAGPTR.)
A list of Medicine Procedure data files follows:
691*, 691.1*, 691.5*, 691.6, 691.7, 691.8,  694*, 694.5
698,  698.1,  698.2,  698.3, 699*,  699.5*, 700,  701*
Note, only those marked with a '*' have Image pointer
multiples.

OK         =  A return flag variable

Output
~~~~~~
MCMAGPTR() =  An array whose subscripts are pointers to the Image
file (#2005)  Returned as: MCMAGPTR('File_#2005_Pointer')=
MCFILE ^ MCD0 ^ MCD1, e.g.,
^MCAR(MCFILE,MCD0,2005,MCD1,0)='File_#2005_Pointer'

OK         =  Flag: '1^Message' = All is well, '0^Message' = Bad news
The list of possible return values is shown below:

0^Medicine Procedure file global location not found
MEANING: The Global Location field (#1) in the Procedure /
Subspecialty file (#697.2) has a value in it that is less than
or equal to zero.

0^Medical Patient field not found in Medicine Procedure file
MEANING: A field that points to the Patient file (#2) could not
be found in the Medicine Procedure data file (see file list
under MCD0).

0^Medicine Procedure file global name not found
MEANING: The global root of the Medicine Procedure data file (see
file list under MCD0) could not be found.  (File file (#1) problem)

0^Medicine Procedure file global subscript location not found
MEANING: The node on which the image pointer multiple stores
its data cound not be found (Medicine DD problem).

0^Cannot add patient to Medical Patient file
MEANING: A new record could not be created in the Medical Patient
file (#690).

0^Cannot create stub record in the Medicine Procedure data file
MEANING: A new stub record could not be created in one of the
Medicine Procedure data files (see file list under MCD0).

0^No image number to file in Medicine Procedure file
MEANING: The MCMAGPTR() array was not passed in, does not contain
any data, or was passed in incorrectly.

0^Image field not found in the Medicine Procedure file
MEANING: A field number of 2005 was not found in the Medicine
Procedure data file (see file list under MCD0).

0^Cannot add image to Medicine Procedure file
MEANING: A new image sub-record could not be added to the Image
multiple (#2005) in the Medicine Procedure data file (see file
list under MCD0).

0^Patient mismatch
MEANING: The Medicine Procedure data file record pointed to by
the MCD0 parameter has a different Patient file (#2) pointer
than the Patient file (#2) pointer that was passed in in the
MCDFN parameter.

0^Procedure/Subspecialty mismatch
MEANING: The Medicine Procedure data file record pointed to by
the MCD0 parameter has a different Procedure / Subspecialty file
(#697.2) pointer than the Procedure / Subspecialty file (#697.2)
pointer that was passed in in the MCPROCD0 parameter.

0^Procedure is invalid
MEANING: The value passed in in the MCPROCD0 parameter failed the
input transform of the field it was going to be stuffed into.

0^Entry 'GENERIC PROCEDURE' not found
MEANING: The 'GENERIC PROCEDURE' entry was not found in the
Procedure/Subspecialty file (#697.2).  This message is only
valid after the installation of patch MC*2.3*8.

0^Entry 'GENERIC SUBSPECIALTY' not found
MEANING: The 'GENERIC SUBSPECIALTY' entry was not found in the
Procedure/Subspecialty file (#697.2).  This message is only
valid after the installation of patch MC*2.3*8.

0^Invalid Procedure/Subspecialty
MEANING: The pointer to the Procedure/Subspecialty file (697.2)
(MCPROCD0) is not flagged as a procedure or a subspecialty in the
'Procedure/Subspecialty' field (697.2,1001).  This message is
only valid the installation of patch MC*2.3*8.

1^Record match found
MEANING: The Medicine Procedure data file record pointed to by
the MCD0 parameter has Patient file (#2) and Procedure /
Subspecialty (#697.2) pointers that match the values passed in
in the MCDFN and MCPROCD0 parameters.  Note, this message is
used internally within the API and you will most likely never
see it since it will be superseded by one of the other messages.

1^New stub record created in Medicine Procedure data file
MEANING: New stub record have been created in the Medical Patient
file (#690) (if needed) and one of the Medicine Procedure data
files (see file list under MCD0).  Note, this message will only
be returned if $O(MCMAGPTR(0))'>0 and MCD0'>0 and the creation of
the new record(s) was successful.

1^The Medicine Procedure file has been updated
MEANING: The Image file (#2005) pointers passed in in the MCMAGD0()
array have been added to (or have been found to previously exist in)
the Image multiple (#2005) of the Medicine Procedure data file
(see file list under MCD0).
KILL

D KILL^MCUIMAG0(MCFILE,MCD0,MCD1,.OK)

This entry point removes entries from the Image multiples in the Medicine
Procedure data files.

Input
~~~~~
MCFILE  =  A Medicine Procedure data file number
691*, 691.1*, 691.5*, 691.6, 691.7, 691.8,  694*, 694.5
698,  698.1,  698.2,  698.3, 699*,  699.5*, 700,  701*
(Note: only those marked with a '*' have Image pointer
multiples)

MCD0    =  A pointer to one of the entries in one of the Medicine
Procedure data files, e.g., ^MCAR(MCFILE,MCD0,...

MCD1    =  A pointer to one of the entries in the in the Image multiple
e.g., ^MCAR(MCFILE,MCD0,2005,MCD1,0)='File_#2005_Pointer'

OK      =  A return flag variable

Output
~~~~~~
OK      =  Flag: '1^Message' = All is well, '0^Message' = Bad news
The list of possible return values is shown below:

0^Image field not found in the Medicine Procedure file
MEANING: A pointer to the Image file (#2005) was not found in the
Medicine Procedure data file (see file list under MCD0).

0^Medicine Procedure file global name not found
MEANING: The global root of the Medicine Procedure data file (see
file list under MCD0) could not be found.  (File file (#1) problem)

0^Medicine Procedure file global subscript location not found
MEANING: The node on which the image pointer multiple stores
its data cound not be found (Medicine DD problem).

1^Image pointer deleted from Medicine Procedure file
MEANING: The pointer to the Image file (#2005) has been removed
from the Medicine Procedure data file.