Question Scott Beeson · Aug 18, 2016

I see the TS and DT data types in the default 2.3 schema:

<DataType name='TS' description='time stamp'>
    <DataSubType piece='1' description='time of an event' datatype='ST'/>
    <DataSubType piece='2' description='degree of precision' datatype='ST'/>
</DataType>

<DataType name='DT' description='Date (2.8.13)'>
    <DataSubType piece='1' description='Date (2.8.13)'/>
</DataType>

but it doesn't appear that it would actually validate the format. Is this possible? We had an instance recently where a customer was sending a timestamp with a missing digit (20160503120 for example)

7
0 1405
InterSystems Official RB Omo · Oct 11, 2016

InterSystems has corrected a defect that may result in missing updates when utilizing Caché online backup.

This defect is present in all Caché and Ensemble versions 2015.1.x, 2015.2.x and 2016.1.x, and all HealthShare distributions based on those versions.  It affects all platforms and operating systems except backups of OpenVMS cluster databases.

The risk does not exist for Mirror Catchup applied to mirrored databases restored from Caché online backup.

The risk only exists when restoring from Caché online backup and applying journal files.  You are at risk of having missing updates if the follow

0
0 407
Question Jose-Tomas Salvador · Oct 6, 2016

I think DC would be a great area to get feedback from current or future users of our technology about what new features they would like to see in our products and let them vote the different proposals. Open discussions/suggestions with no commitment on IS side to be done but sure there would be lot of good ideas to consider by our product managers and development.

2
0 214
Question Alex Van Zutphen · Oct 11, 2016

We are interfacing through Ensemble with an application that does not like diacritic signs in text. I have been searching for a way to strip these signs from the HL7 messages that get send to that application. 
The problem in short is we have an incoming HL7 message with e.g. é (or ë, á etc), this goes into Ensemble. In the outgoing message the é should be replaced with an e. 

I have tried solving this issue with the use of a new subtable, which does the conversion as é->e / ë->e etc. This works with (file)streams and also with ZConvert: Write $Zconvert("ë","O","BASCII")outputs "e", where BASCII

1
0 530
Article Dmitry Maslennikov · Oct 11, 2016 5m read

This text is a continuation of my article where I explained the structure a Caché database. In this article, I described the types of blocks, connections between them and their relation to globals. The article was purely theoretical. I made a project that helps visualize the block tree - and this article will explain how it works in great detail.

3
1 2254
Question david clifte · Sep 27, 2016

Hello,

I need to create a query that return the amount of heath related information from a patient. 

I created one using the Analitics but, once our Analitcs database is update once a day this information is not reliable during the current query day.

Part of my Analitcs query is shown below. Where can I find the equivalent tables in Health Share? Any help is appreciate.

Tanks In Advance.

--Analitcs Query

SELECT patient FROM  HSAA.AdvanceDirective union all
SELECT patient FROM  HSAA.Allergy union all
SELECT patient FROM  HSAA.Appointment union all
SELECT patient FROM  HSAA.Diagnosis union

6
0 516
Question Thomas Chericka · Oct 7, 2016

Hi,

Thanks a million for taking the time to read this.

I'm calling the functions $ZF(-`1, <path to EXE>) and $ZF(-2, <path to EXE>) from Cache code. The exact code I'm using in Cache Studio is given below.

/// Test the functionality of ZF(-1) and $ZF(-2), 
Class %SourceControl.UnitTest Extends %Persistent
{
Parameter PATH As %String = "E:\VCS\CommandExecutor\bin\Debug\WindowsApplication.exe";
ClassMethod Test()
{
Do $ZF(-2, ##Class(%SourceControl.UnitTest).#PATH)
}

Now when I run the command in the Cache Terminal, as given below,

>do $ZF(-2, "E:\VCS\CommandExecutor\bin\Debug\WindowsApplication.exe")

t


6
0 936
Question Martin Fukátko · Oct 10, 2016

I've received near empty emails form community.

It seems like bug. Or I'm missing something 46 years ago?

Email header:

[InterSystems Developer Community] Subscriptions Digest for Martin Fukatko

Email body:

by 46 years 9 months ago

0 Comments

Martin

1
0 226
Question Paul Hula · Oct 10, 2016

Hello All,

   Does anyone have a specification for Telepath PMEP file formats?

They look like this

01|XXX|005|MIC|XXX Microbiology & Mycology|123456|25.08.16 15:06|
02|$$$|XX01|||L|
03|F|SURNAME|FORNAME|111222333|MRN1|01.01.1950|52 Some Lane|Somewhere|||AA11 1AB|MRN1|01.01.1950

etc etc with "05's all the way up to 10's" they are for results.  The supplier isn't being helpful, google for PMEP isn't given anything useful, hence I'm asking the friendly developers here if they've come across it and even better have any sort of file format or spec at all?

1
0 478
Question Ray Hitchins · Oct 10, 2016

We have a very old green screen application which is currently producing PCL "documents". I want to update this to produce PDFs - are there any shortcuts / tips? I'm aware Zen Reports can allegedly do it, but I want to avoid that route if I can.

1
0 428
Question Sébastien Demoustiez · Oct 10, 2016

Hello,

First sorry for my english :)

I'm looking for a solution to reset the cursor of a query in a csp page.

In my code I do:

<csp:query name="users" classname="UserId" queryname="Find">
 <csp:while condition="users.Next()">
         ...
 </csp:while>

And 100 lines after I have to do exactly the same ...

Is it a way to do the while without do the query again ?

Something like users.Reset() ??

Thanks a lot for your help

Sébastien

2
0 732
Question Scott Beeson · Oct 6, 2016

I experience this constantly with Cache SQL.  Especially when querying the ATNA log.

SELECT TOP 400000 * FROM HS_IHE_ATNA_Repository.Aggregation ORDER BY ID DESC

That took 12 seconds.  I then upped the number to 500,000 and it took 185 seconds.

Shouldn't the execution time scale proportionately?

If I run the 500,00 query again it takes 2.4 seconds.

4
0 522
Article John Hotalen · Oct 4, 2016 1m read

How to parse a URL in Caché:

Let's pretend you are working on a project where you may be retrieving a URL for some purpose and you have the need to be easily able to parse apart that URL to get the various components that make up the URL.

Here's how to do that:

Note:  This example assumes you have a variable named sURL that contains some url (i.e. http://www.intersys.com/main.csp?QUERY=abc#anchor) and you will be creating an array of the URL component pieces, where the array will be named aComponents.

In your class/routine, add the following code:

Do ##class(%Net.URLParser).Parse(sURL,.aComponents)

8
0 2005
Question david clifte · Oct 5, 2016

I have to connect to an external database and I'd like to use the JDBC SQL Gateway.

I followed this tutorial [1] to create a JDBC SQL Gateway and after configured it works as expected, but I don't know

how use this connection into source code. Maybe these other tutorial is related [2] and [3].

[1] http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY…

[2] https://community.intersystems.com/product-documentation/intersystems-p…

[3] http://docs.intersystems.com/latest/csp/documatic/

5
0 1106
Question Chris Stewart · Oct 7, 2016

Hi


I have been working on changing a web application from using %FileBinaryStream to storing and serving the file content from a %Stream.GlobalBinary property, stored in a new database.  I have managed to migrate the data across, and have also been able to redirect the stream so that it is being served through the web link.  However, the previous method set attributes on the File stream to have the stream be rendered as the original file type through MIME, using this code

do stream.SetAttribute("ContentDisposition","inline; filename="_filecvt)

This method is not supported by %Stream.GlobalBinary

2
0 1128
Question 吉光 芳史 · Sep 21, 2016

Hi, There

How to use open text file. I have a one file. the file is original file from excels file. After later convert to CSV file.

some cells has include cr+lf  control code. If i open and use from cache. reding time,Cache was wrong line feed point.

how do i edit my source code?

==============================================

s infile="c:\csvfile.csv"

o infile:"r"

1 u infile r line i $zeof<0 c infile q

   f i=1:1:10 s wd(i)=$p(line,",",i)

g 1

==============================================

4
0 1089
Question Scott Roth · Oct 6, 2016

maybe I am not looking in the correct spots, but how should one handle an Exception from a SOAP web service within the Business  Process Language? For example I am sending a request to a Web Service to try to get information, but the response I am getting is an Exception like "Patient Not Found".

Is there a function I can call to check the response similar to what I do to check a SQL Snapshot to see if it is valued?

Thanks

Scott Roth

Sr. Applications Development Analyst
Information Technology Integration - Interfaces

The Ohio State University Wexner Medical Center

2
0 796
Question Mathew Burt · Oct 6, 2016

I have an operation which calls an external web service, returning a long XML string.

Passing the string into Excel creates a table like this:

Each row above relates to a document on a server. In Ensemble, I need to parse the XML similarly to Excel, where I can loop over each document and take various actions depending on the different values.

I created a BPL to call the operation and return the XML string, which I've converted it to an %XML.TextReader object, and I'm using a While loop to loop through each element.

I put in traces for Name, NodeType, Path and Value and examined the results throug

1
0 985
Article Ben Spead · Aug 25, 2016 4m read

Background

Caché 2016.1 introduced some very powerful JSON features.  Unfortunately, the syntax used in the 2016.1 release is going to be changed in the 2016.2 release to bring it closer to Caché ObjectScript syntax.  This will mean that code that works in 2016.1 may not be forwards compatible.   See this announcement and this article for more details about the changes.

In order to try to minimize the volume of code which would not work in future Caché versions, the following recommendations and tools are being used internally within InterSystems for internal application JSON code being writ

11
0 2143
Article Istvan Hahn · Oct 6, 2016 4m read

A beginner’s guide to Exception Handling in RESTful web services. The article gives an example how the various error conditions during processing a service request can be handled.

We expect our client – server communication working in a flawless operational condition, running error free software. But we are prepared to handle exceptions. Are we? So far in the examples of the previous sessions were not. We did not care about exceptions. The result? In any error incident it took ages to figure out what the problem is and more importantly how to fix it.

Remember, REST leans on HTTP. HTTP explic

1
0 1899
Article Sylvain Guilbaud · Oct 4, 2016 6m read

This sample class will add parameter DSINTERVAL to each class containing the parameter DSTIME

To execute it from a Terminal :


SAMPLES>d ##class(adm.param).add(,,1)
[SAMPLES] parameter DSINTERVAL=5 added to class DeepSee.Study.CityRainfall (via adm.param)
[SAMPLES] parameter DSINTERVAL=5 added to class HoleFoods.Transaction (via adm.param)
[SAMPLES] parameter DSINTERVAL=5 added to class News.DeepSee.NewsArticle (via adm.param)
DSINTERVAL parameter was added to 3 classes

Class adm.param [ Abstract ]
{

/// this class will add DSINTERVAL parameter to each class containing DSTI
6
1 1141
Question Paul Riker · Oct 5, 2016

I'm trying to read PID-3 and route the message based on if a certain prefix existed, but I keep getting Property Does Not Exist.

I've tried

HL7.(PID:PatientIDInternalID()) Contains "COS"

HL7.(PID:PatientIDInternalID(1)) Contains "COS"

HL7.{PID:PatientIDInternalID()} Contains "COS"

HL7.{PID:PatientIDInternalID(1)} Contains "COS"

This is a 2.3 MDM message. Thanks!

1
0 641
Article Istvan Hahn · Oct 5, 2016 13m read

This article gives a brief introduction how a RESTful service consumer and a RESTful service provider exchange data. It is a beginner’s guide. Data is transferred from a consumer to a provider as parameters of the service. Parameters are part of a service request. The result of the service action a response is returned from a provider to a consumer. Both the service request and response are standard HTTP messages. Since HTTP is a flexible standard regarding to the message contents, RESTful services also enjoy the versatility of data transfer methods.

During this session you can learn what optio

0
0 4659