Question Laura Cavanaugh · Oct 26, 2022

Hello all; I am using a one-to-many relationship.  I have a Claim (one), in a relationship with Lines (many), but the Claim is storing a list of Lines IDs, rather than the Lines storing the Claim Id.  This seems upside down, and not what I expected.

Class Claim

{
    Relationship ClaimLineRel as ClaimLine [Cardinality = many, Inverse = Claim];
}

Class ClaimLine
{
    Relationship Claim as Claim [ Cardinality = one, Inverse = ClaimLineRel, OnDelete = cascade];
    Index ClaimIndex on Claim;
}

But the storage globals for Claim show data in the ClaimLine spot:

3
0 298
Question Laura Cavanaugh · Aug 29, 2022

Hello; I am using a custom class extending CodeTableDetail (actually it extends CodeTableTranslated) for a MedicalClaimLine.Extension property for a Procedure Modifier value, in addition to the existing MedicalClaimLine.ProcedureModifierItems property (this is a list of %String).  This works very well, stored AND translated correctly, until a valid ProcedureModifier value is used that is all punctuation: ##,  **, or ++.

2
1 174
Question Laura Cavanaugh · Feb 2, 2022

I have an SDA feed from an Edge server that eventually is fed into HSHI / Analytics. This edge server is loading up patient demographics (in the Patient object), which feeds the HSAA.Patient table in HSHI / Analytics.  

However, we have other edge servers also feeding into the same HSHI database, and these other edge servers have better demographic information.  

HSHI appears to use the most recent demographic information from all edges.  What's the best way to de-prioritize patient demographic information from this particular edge (or this particular Facility) when feeding it into HSHI?

2
0 364
Question Laura Cavanaugh · May 11, 2020

Hello all, I have a question about constucting thousands of clones, and scope.

In my code, I'm looping through a database, say 200k+ objects, and creating a clone of each object (we need to evaluate a modified clone of the object, but not account for what's on disk).  

I see this a lot in the documentation:

7
0 812
Question Laura Cavanaugh · Mar 31, 2020

Hello; we are scanning 835 files, and need to validate segment types (such as ISA, ST, IEA, etc.)  before we give the file the "OK".  I see segment types in the management portal under Ensemble / Interoperate / ASC X12 / ASC X12 Schema Structures.  Are these segment types stored in an IS table anywhere?

Aside from EnsLib_EDI_X12.Document, are there any other tables that describe, or support, document segment types?

Thanks,

Laura

2
0 302
Question Laura Cavanaugh · Nov 26, 2019

Hello community,

I recently added a change to our copy of zenutils.js, and while moving it up to production, I found  different versions of zenutils.js.  I edited a copy stored in the default directory for our web application  (e.g. c:\intersystems\DEV\CSP\{application}) but the file on production is stored in {install dir}\CSP\broker.

1
0 404
Question Laura Cavanaugh · Nov 7, 2019

Hello community!

I have a question about the %OnSave method of a class.  We have a class that  has two properties that are classes. 

Class A

Class B

Class C

Class A.PropertyB as Class B

ClassA.PropertyC as Class C

Classes B and C also need to point back to Class A - it's just the way it is.  We need to be able to use any one of these classes and get to the others (it's actually even more complicated than this, as Classes B and C also have a PropertyC and PropertyB as well, respectively) :

ClassB.PropertyA as Class A

ClassC.PropertyA as Class A

3
0 1090
Question Laura Cavanaugh · Nov 1, 2019

Hello Community,

We have two live servers running DeepSee dashboards for users.  One of the servers can print a widget to a pdf file, and the other can't.  

I learned that 1) a Java JRE needed to be installed on the second server, and 2) it's trying to run an OS command to render a pdf file (details below).

An audit log of the event shows this:

Routine   convertXslToPdf+44^%SYS.cspServer2 |"^^c:\intersystems\ensembleprod\mgr\"|
O/S Username   CSP Gateway
4
0 286
Question Laura Cavanaugh · Apr 4, 2019

On one of our servers, when I am in Mgmt Portal and click the link for Configure / CSP Gateway Management, I get this url:

http://ipaddress.of.server:port/INSTANCENAME/csp/bin/Systems/Module.cxw?CSPSYS=0&CSPSYSreferer=_CSP.Portal.Home.zen

but the page displays a 0, and nothing else. Literally, just a 0.  This link works on our other servers, with the same URL.  Any idea why? 

Thanks,

Laura

4
0 356
Question Laura Cavanaugh · Feb 5, 2019

Our development server is set up to automatically keep the .INT code of compiled classes and routines, but the live servers are set to not keep the .INT code.

I know how to set the system to keep this code ($SYSTEM.OBJ.SetQualifiers() ?)  but what are the ramifications of keeping this code on the live servers?  Is it just a space issue?  I always thought it was to keep the code more private.

4
0 676
Question Laura Cavanaugh · Oct 3, 2018

I'm running this code in our application, and in the terminal:

>set query="SELECT * FROM PMG_Data_Private.RemitInstance  WHERE  (VoucherNumber %INLIST ? SIZE ((10)))"

>set tRS = ##class(%ResultSet).%New("%DynamicQuery:SQL")

>set ok=tRS.Prepare(query)

>d $system.Status.DisplayError(ok)
 
ERROR #5540: SQLCODE: -76 Message: Cardinality mismatch between the SELECT-list and INTO-list
SQLTEXT: SELECT * FROM PMG_Data_Private.RemitInstance  WHERE  (VoucherNumber %INLIST ? SIZE ((10)))

5
0 1764
Question Laura Cavanaugh · Jul 12, 2018

I have a class that has a property calledTags (like DescriptiveWords, but tags), where multiple tags are possible.  I am trying to decide on list of Objects vs. array of Objects.

Based on this post: https://community.intersystems.com/post/querying-list-property-sql, sounds like using an array of Objects is the better way to go. Indeed, I already noticed that it's not possible to have duplicates when using an array of Objects.

However, I am unable to make my queries on the array of Object use an index.  

4
0 944
Question Laura Cavanaugh · Mar 21, 2018

I need to offer new users on our system a temporary password that is valid for only 48 hours.  This is different than a 60-day password expiration window for existing users' passwords (where a password needs to be changed every 60 days), and is different than a "user expiration date", where you can set a date where the user's account expires and is disabled on that date, and different than the inactivity expiration date where a user becomes active if his account is not used within, say, 30 days.  

2
0 491
Question Laura Cavanaugh · Feb 22, 2018

I was running the %File:FileSet class query, with my development user, but I am unable to run this query for an application user.  Does anyone know what resource or service is needed to run this query?  Assume the user has access to a certain directory on the file system needed for the query.

On second though, having tried almost all the available resources and services, perhaps the user doesn't have access to the directory.  How to tell when the error is this: 

13
0 791
Question Laura Cavanaugh · Nov 3, 2017

Hello; We are managing several Ensemble instances on several servers.  One server has 4 instances, and two other servers have one instance each (those are production servers).  We encrypt all instances using the Caché encryption in the management portal.

Currently we are using two different encryption keys: 1 key on the server with 4 instances, which is used for all 4 instances, and a second key on single-instance server. ( I'm installing the newest production server now.)

What I'd like to know is what are the best practices for managing encryption keys for separate servers. 

1
0 734
Question Laura Cavanaugh · Oct 12, 2017

I'm trying to write an installer manifest that can create a namespace, resources (%DB_namespace) and a role (with the resource, above), based on the namespace.  So you could pass in "ABC", or "XYZ", and it would create the %DB_ABC resource and the ABC role with %DB_ABC:RW permissions; or it will create the %DB_XYZ resource and the XYZ role with %DB_XYZ:RW permissions, accordingly.

I have a variable set up for the name of the namespace (in my code it's called PMGNAMESPACE), and I create a variable for the resource name, called PMGDbResource ( this == %DB_ABC)

2
0 414
Question Laura Cavanaugh · Aug 17, 2017

Hello all,

In my ZEN login page, I found a way  to bypass the submit button and force a user to click on the Sign In button, thus forcing the code to call my OnSubmit(), like this:

<!--ondefault="return true;"--><!-- this removes the ability to use "return" to login forces button click to login -->

<loginForm id="loginForm"   ondefault="return true;">

4
0 716
Question Laura Cavanaugh · Aug 10, 2017

I have a <tablePane> element with OnCreateResultSet and OnExecuteResultSet methods; autoExecute is "false" but the OnCreateResultSet and OnExecuteResultSet methods are nevertheless called on page load.

I want the user to be able to press a button to submit the parameters, then have this button call tablePane.executeQuery() to execute the query.

autoExecute is simply igonored.  We're on 2014.1.3 with plans to upgrade to 2016 soon.

Are there more settings I need to set? Or is this attribute simply ignored?

5
0 410
Question Laura Cavanaugh · Aug 1, 2017

My boss would like to change the Ensemble logo that one sees in the mangement portal, because it's part of the DeepSee Anaylzer.  

I can see where it lives on the generated html.  

I kow that you can set the logo for the User POrtal settings in DeepSee -- you can specifiy a URL for your logo.  But we'd like to go one stee further and change the Ensemble by InterSystems to our own logo / company name.  

Is it possible to change this in the code?  Is there a Configuration setting to change this?

Thanks,

Laura

11
0 592
Question Laura Cavanaugh · Jul 17, 2017

I have a query string that I am creating programmatically, based on some user inputs.  The user might search on 5 fields, or 8 fields, or no fields.

In my sql statment, some of these fields require parameters in the %Execute statement.

For example:

if user picks lastname, sql = "select * from person where lastname = ?"

if user also picks age, sql = "select * from person where lastname=? and age > ?"

I then have these lines of code to create my result set:

set statement = %SQL.Statement

statement.%Prepare

resultset = statement.%Execute(param1, param2)

-- but it might be 

28
0 22980
Question Laura Cavanaugh · Jul 14, 2017

I'm trying to recreate a smaller copy of our DEV machine on a sandbox instance.  I installed a new instance, and thought it would be a good idea to copy over a few cache.dat files from the critical namespaces (but not all of them), and start from there.

However, I can't compile any UI files in my new instance because I'm getting a <PROTECT> error on the %qCacheMsg global -- for any element that displays text (i.e. the first <label> that's encountered) the generated code is trying to get text from the global  ^%qCacheMsg("%Utility","en",node) = text -- from a node that doesn't exist.

1
0 469
Question Laura Cavanaugh · May 17, 2017

I need a trick to display the cellTitle for just ONE column in a tablePane with a unique value.  Here are the issues:

1. OnDrawCell has access to the cell data for that row/column, in %query(pName),  but setting the cellTitle property to a column doesn't refresh the column object

2. Setting showValueInTooltip is good for the entire table, not just one cell

3. ** the column element does not evaluate zen expressions, so I can't say cellTitle="#(%query.Comment)#", for example.  That's the crux of the problem.

<tablePane id="tblComplete"  
 tableName="MyTable" 
 orderByClause="ID DESC" 

2
0 561
Question Laura Cavanaugh · May 12, 2017

I was looking at the OrefToArray^%occRun in the %CSP.ErrorLog page in version 2016.  However, we're on version 2014, and that method does not seem to exist yet.  I would love a good way to swizzle out the info in the %request, %session, %response objects for the error log for my own error page, in version 2014.  I don't want to have to go through and get all the properties manually, but I will if I must.  Any other good way  already written?

Thanks,

Laura

9
1 619
Question Laura Cavanaugh · Mar 16, 2017

Hello; we have users on the system with cache logins.  They have access to a specific namespace, and no access to %SYS of course.  I'd like to give each user the ability to change his own password from within our application, using Security.User.PasswordExternal.  This only exists in the %SYS namespace, and the average user can't get to it.  

Should I give the users access to this column in this table (column Password, table Security.Users)?  What about access to the namespace?  Is this possible? Has anyone done this before?

Thanks,

Laura

10
0 1311
Question Laura Cavanaugh · Feb 15, 2017

I have a property, Emails, that needs to contain a list of comma-delimited values, or "". Is there a benefit to making this property a list of %String, a Collection[list] (or however you do it), an array, or anything other than a simple %String type?

I just  need to store some values, and return these values in SQL -- so it needs to be SQL compatible.  I don't need to index the values or use individual values in the SQL statement (e.g. Select * from table where emails [ "email@co.com"  -- I don't need to do this, although maybe this would work anyway if it's of type %String).

3
0 2815
Question Laura Cavanaugh · Feb 8, 2017

Hi all, This is a bit embarrassing, and not that critical.  I have a local instance of Caché 2016 on my computer, for playing around with.  I was attempting to set up two-factor authentication on this instance, and I thought I simply disabled all users except for my own user and enabled two-factor for this user.  The next time I tried to login to the Management portal, I received a Server Availability Error:

http://localhost:57772/csp/sys/UtilHome.csp

Caché Server Pages Version 2016.1.1.107.0

Server Availability Error

Server is currently unavailable

9
0 2688
Question Laura Cavanaugh · Jan 20, 2017

My group needs to be able to monitor items / tasks, and let a non-management-portal user see the monitoring.  Is it possible to run DeepSee queries on Production items?  I feel like I should not be recreating the production environment or the task manager just so that I can query on the items that are running, and on their states (like "successful" or "send email").

Also, I need to log custom events for each task, and I'm running into difficulties with the task manager in this regard; hence the question about using the Production instead, but querying it.

Thanks,

Laura

1
0 370