検索

記事
· 2025年6月29日 3m read

Retour sur InterSystems Ready 2025

Salut la Communauté !

J’ai eu le plaisir d’être votre reporter sur place pour InterSystems Ready 2025, le plus grand événement de l’année dédié aux développeurs d'InterSystems. Comme toujours, ce sommet mondial a été riche en découvertes, en échanges et en innovations. Cette année encore, la Communauté Francophone s’est brillamment illustrée et a pleinement participé à cette aventure inspirante !

@Dean Andrews, @Irène Mykhailova, @Anastasia Dyubaylo, @Adeline Icard et @Guillaume Rongier:

Dès la journée précédant le sommet, les activités ont battu leur plein : golf à l’aube, ateliers techniques passionnants, et moments conviviaux entre collègues. Même si la chaleur et les 18 trous de golf ont eu raison de certains, pour le reste de la journée l’ambiance était au rendez-vous !

Le sommet a véritablement commencé lors de la réception d’ouverture. C’était un vrai plaisir de retrouver des visages connus et de rencontrer de nouveaux membres de la communauté.

@Iryna Mykhailova, @Johan Jacob, @Lorenzo Scalese, @Adeline Icard, @Guillaume Rongier 

Au fil des sessions, @Guillaume Rongier a animé plusieurs démonstrations techniques sur Python et IRIS, captant l’attention des visiteurs du Tech Exchange

On a également croisé Lorenzo Scalese, Guillaume Rongier et Luc Chatty à divers moments phares, notamment lors des jeux "Ready Games", des sessions sur l'IA, et bien sûr, autour de la fameuse "roue de la fortune" au stand de la Developer Community !

@Lorenzo Scalese, @Dean Andrews , @Derek Gervais 

@Muhammad Waseem, @Guillaume Rongier, @Anastasia Dyubaylo, @Oliver Wilms 

@Anzelem Sanyatwe, @Iryna Mykhailova, Luc Chatty

Et que dire du concert à Universal City Walk avec le groupe Integrity Check ?

Même @Randy Pallotta, le guitariste vedette, a fait quelques apparitions parmi nous après le show !

La dernière matinée fut l’occasion de se dire au revoir, de profiter des dernières présentations. Et bien sûr, la session principale de Ready 2025 : InterSystems Developer Ecosystem – les nouvelles ressources et outils à connaître. @Dean Andrews et @Anastasia Dyubaylo ont présenté un aperçu complet de toutes les nouveautés de l’écosystème Developer Community.

Par la suite, @David Reche a mis à l’épreuve l’attention des participants en animant un quiz Kahoot!

Accueillons chaleureusement les gagnants : @Vishal Pallerla, @Rochael Ribeiro et @Jason Morgan. Félicitations ! Nous espérons que vous profiterez bien de votre récompense !

Tout le monde était heureux :

@Juliana Yamao Modesto, @Derek Gervais, @Rochael Ribeiro, @Iryna Mykhailova, @Katia Neves, @Anastasia Dyubaylo, @Dean Andrews, @Enrico Parisi, @Vishal Pallerla, @Eduard Lebedyuk

Merci à toute l’équipe, et en particulier à @Maureen Flaherty, véritable marraine de cet événement. Chapeau bas pour l’organisation impeccable !

@Maureen Flaherty, @Enrico Parisi, @Iryna Mykhailova

À l’année prochaine pour InterSystems Ready 2026 ! Rumeurs confirmées : le prochain sommet aura lieu en avril à Washington, D.C. Notez la date dans vos calendriers, car on espère y voir encore plus de membres francophones !

La Communauté Francophone InterSystems, c’est vous – et nous avons hâte de vous retrouver à Ready 2026 !

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
記事
· 2025年6月28日 3m read

Analytics Cube Definitions and References

Maybe this is well known but wanted to help share.

 

Consider that you have the following persistent class defintions

An Invoice Class with a property reference to Provider

Class Sample.Invoice Extends (%Persistent, %Populate)
{
Parameter DSTIME = "AUTO";
Property InvoiceNumber As %Integer(MINVAL = 100000) [ Required ];
Property ServiceDate As %Date(MINVAL = "+$h-730") [ Required ];
Index InvoiceNumber On InvoiceNumber;
Property Provider As Sample.Provider [ Required ];
Index Provider On Provider [ Type = bitmap ];
/// Build some invoices, this will firstly create 100 Providers
/// <Example>
/// Set tSC=##class(Sample.Invoice).Build()
/// </example>
ClassMethod Build(pCount As %Integer = 100020, pInit As %Boolean = 0) As %Status
{
    #dim tSC 			As %Status=$$$OK
    #dim eException  	As %Exception.AbstractException
    try {
        If pInit {
            $$$THROWONERROR(tSC,##class(Sample.Provider).%KillExtent())
            $$$THROWONERROR(tSC,##class(Sample.Invoice).%KillExtent())
        }
        $$$THROWONERROR(tSC,##class(Sample.Provider).Populate(100))
        $$$THROWONERROR(tSC,##class(Sample.Invoice).Populate(pCount))
    }
    catch eException {
        Set tSC=eException.AsStatus()
    }
    Quit tSC
}
}

and Provider

Class Sample.Provider Extends (%Persistent, %Populate)
{

Property Name As %String [ Required ];
Property NPI As %Integer(MAXVAL = 9000000000, MINVAL = 100000000) [ Required ];
}

If you call the Build method in Sample.Invoice you can query this with SQL

SELECT
InvoiceNumber,Provider->Name, Provider As ProviderId,ServiceDate
FROM Sample.Invoice

and see

The area this article discusses is deciding how to create a dimension on Provider.

What I have found works well is to following this pattern

What this does is 

1. Define the dimension Unique Id on Provider(which is the Id from Sample.Provider).  This is important because it's entirely possible that there is more than one Provider with the name SMITH,JOHN.  By defining the dimension Level on the property Provider we are saying make the dimension table based on a unique Provider.  If we look in the generated dimension table we see

2. Define a Property for the Level that 

 a. Identifies the Property = Provider.Name

 b. Get value at runtime= Yes

 c. Use as member names = Yes

This has the side effect of defining in the dimension table the following Property declaration

/// Dimension property: Name<br/>
/// Source: Provider.Name
Property Name As %String(COLLATION = "SQLUPPER(113)", MAXLEN = 2000) 
[ Calculated, 
SqlComputeCode = {Set {Name}=##class(Sample.BI.Cube.Invoice.Provider).%FetchName({Provider})}, SqlComputed ];

with the %FetchName method looking like

/// Fetch the current value of %FetchName.<br/>
/// Generated by %DeepSee.Generator:%CreateStarTable.
ClassMethod %FetchName(pKey As %String) As %String
{
 // If we don't a value, show key as this is most likely the NULL substitute
 Set tValue=pKey
 &SQL(SELECT Name INTO :tValue FROM Sample.Provider WHERE %ID = :pKey)
 Quit tValue
}

 

What this means is that when a dimension members are retrieved it will return the Provider Name and not the Provider Id.

Using Analyzer we can see

Why is this important?

  1. If the Provider name changes in Sample.Provider the cube does not have to be rebuilt or synchronized.  If we have 100s of millions of invoices and the Provider names changes we dont want to have to rebuild or synchronize the Invoice cube due to a single Provider name change
  2. The Dimension table for Provider is based on the Provider(id) so this allows us to have more than one provider with the same name in the dimension table/cube.

If instead of defining a Dimension Level Property we define the Level Property= Provider.Name this means when the cube is built or syncrhonized 

  1. the dimension unique index is based on Provider.Name which means all of the providers with the same name get aggregated under the same name
  2. If the Provider.Name changes we are required to rebuild the cube
ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
記事
· 2025年6月28日 3m read

The last day of the InterSystems Ready 2025

Hey Community!

Here's the recap of the final half-day of the InterSystems Ready 2025! It was the last chance to see everyone and say farewell until next time.

It was a warm and energetic closing, with great conversations, smiles, and unforgettable memories!


The final Ready 2025 moment with our amazing team!

And, of course, let’s say a huge THANK YOU to a godmother of the Ready 2025, @Maureen Flaherty! You and your team are the best! Here we are together with @Enrico Parisi.

@Patrick Sulin dropped by Developer Cmmunity table:

And @Yuri Marx

Caught @Scott Roth outside the Tech Exchange

And @Sergei Shutov 

My golf buddy @Anzelem Sanyatwe also came to spin the wheel of fortune. And Luc Chatty dropped by.

We went to visit the source of great ribbons. Here are @Iryna Mykhailova, @Macey Minor, @Andre Ribera, @Anastasia Dyubaylo 

 

It was also time for the winners of the AI Programming Contest to present their AI agentic applications!

@Sergei Shutov talked about AI Agents as First-Class Citizens in InterSystems IRIS:

@Eric Fortenberry presented "A Minimalist View of AI: Exploring Embeddings and Vector Search with EasyBot":

@Yuri Marx spoke about Natural Language Control of IRIS:

@Muhammad Waseem talked about Next generation of autonomous AI Agentic Applications:

@Henry Pereira, @Henrique Dias, and @José Pereira got hid by all the people who came to listen "Command the Crew - create an AI crew to automate your work" presentation:

@Victor Naroditskiy explained how Developer Community AI works:

Also, on the other tables people carried out other presentations. For example, @Guillaume Rongier talked about Python:

Let's leave Tech Exchange and see what was going on at the DC sessions. @Ben Spead, @Hannah Sullivan@Victor Naroditskiy, and @Dean Andrews talked about using SerenityGPT to build GenAI middleware:

And, of course, the main session of the Ready 2025 - InterSystems Developer Ecosystem: new resources and tools you need to know. @Dean Andrews and @Anastasia Dyubaylo gave an overview of all the updates to the DC Ecosystem:

Afterwards, @David Reche checked how attentively everyone was listening by leading the Kahoot! game. Please welcome the winners: @Vishal Pallerla, @Rochael Ribeiro and @Jason Morgan. Congratulations! We hope you enjoy your prize!

@Juliana Yamao Modesto, @Derek Gervais, @Rochael Ribeiro, @Katia Neves, @Anastasia Dyubaylo, @Dean Andrews, @Enrico Parisi, @Vishal Pallerla, @Eduard Lebedyuk

On this happy note, I promised last time to tell you who was the only verified person who answered all the quiz questions correctly at the DC table. And it was @Asaf Sinay! Congratulations! @Olga Zavrazhnova and the whole Global Masters team are happy that so many people came and tried to master it. If you're interested to do a quiz, here's the link. And if you want to answer more quiz questions, you can find them on Global Masters!

 

Talking about Global Masters and quizzes, you can't skip the most popular reward 😁 No summit goes by without someone showing me their Developer Community socks 🤣

As you can see, the Brazilian DC team is very happy: @Rochael Ribeiro, @Juliana Yamao Modesto. @Danusa Calixto and @Heloisa Paiva we really missed you - with you, the Portuguese Developer Community team would've been complete!

This was almost the end of the Ready 2025 and it's the end of my story.

The rumor is, the next summit will take place in April in Washington, D.C. Put it in your calendar not to double book, you know you want to! 

See you next year!

10 Comments
ディスカッション (10)7
続けるにはログインするか新規登録を行ってください
お知らせ
· 2025年6月27日

Beta testers needed for our upcoming InterSystems EHR Reports Specialist certification exam

Hello InterSystems EHR community,

InterSystems Certification is currently developing a certification exam for InterSystems EHR Reports specialists, and if you match the exam candidate description given below, we would like you to beta test the exam! The exam will be available for beta testing starting June 30, 2025.

Please note, only candidates who have taken the TrakCare Reporting course are eligible to take the beta.  Interested in the beta but haven't completed the course? It's not too late - simply complete the online portion of the course before August 25th. Please see Required Training under Exam Details below for more information.

Beta testing will be completed September 1, 2025.

 

What are my responsibilities as a beta tester?

You will schedule and take the exam by September 1st. The exam will be administered in an online proctored environment free of charge (the standard fee of $150 per exam is waived for all beta testers). The InterSystems Certification team will then perform a careful statistical analysis of all beta test data to set a passing score for the exam. The analysis of the beta test results will take 6-8 weeks, and once the passing score is established, you will receive an email notification from InterSystems Certification informing you of the results. If your score on the exam is at or above the passing score, you will have earned the certification!

Note: Beta test scores are completely confidential.

Interested in participating? Read the Exam Details below.

 

Exam Details

Exam title: InterSystems EHR Reports Specialist

Candidate description: An IT specialist who

  • Uses Logi Report Designer to design and author InterSystems Reports
  • Sets up, tests, and supports InterSystems Reports in InterSystems EHR
  • Works with stored procedure developers
  • Knows how to create and edit report layouts in InterSystems EHR

Required Training: 

Completion of the online portion of the TrakCare Reporting course is required to be eligible to take this exam.

Number of questions: 50

Time allotted to take exam: 2 hours

Recommended preparation: Review available InterSystems EHR documentation: 

Online Documentation: 

Recommended practical experience:

  • At least 3 months full-time experience with creating reports using Logi Report Designer along with basic knowledge of InterSystems EHR is recommended.

Exam practice questions

A set of practice questions is provided here to familiarize candidates with question formats and approaches.

Exam format

The questions are presented in two formats: multiple choice and multiple response. 

System requirements for beta testing

  • Working camera & microphone
  • Dual-core CPU
  • At least 2 GB available of RAM memory
  • At least 500 MB of available disk space
  • Minimum internet speed:
    • Download - 500kb/s
    • Upload - 500kb/s

Exam topics and content

The exam contains questions that cover the areas for the stated role as shown in the exam topics chart immediately below.

Topic

Subtopic

Knowledge, skills, and abilities

1. Creates InterSystems Reports using Logi Report Designer within InterSystems EHR 1.1 Describes what the specification is saying
  1. Recalls what data sources and procedures are, and how to access the sources of data
  2. Identifies what parameters are used from the specification
  3. Distinguishes between different page report component types (e.g. cross tabs, banded objects, normal tables)
  1.2 Identifies the components of InterSystems Reports
  1. Distinguishes between catalogues and reports
  2. Recalls the features of a catalogue
  3. Catalogues connections and terms
  4. Accesses the catalogue manager in the designer
  5. Identifies which data source types are used in reporting
  6. Identifies the data source connection and how to modify it
  7. Identify what is required to use a JDBC connection 
  8. Recalls what a stored procedure is
  9. Recalls when and why to update a stored procedure
  10. Distinguishes between different data sources and their use cases
  11. Recalls the importance of binding parameters
  12. Manages catalogues using reference entities
  13. Recalls how to change the SQL type of a database field (e.g. dates)
  14. Identifies how to reuse sub-reports
  15. Recalls the different use cases for sub-reports
  16. Describe how to use parameter within a sub-report
  17. Recalls how to configure the parameters that the sub-report requires
  18. Recalls how to link a field on a row to filter sub-reports
  19. Recalls the potential impact of updating stored procedures on the settings
  1.3 Uses Logi Report Designer to design and present data
  1. Distinguishes between the different formats of reports
  2. Determines when and how to use different kinds of page report component types
  3. Recalls the meaning of each band and where they appear (e.g. page header vs banded page header)
  4. Recalls how to add groups and work with single vs. multiple groups
  5. Differentiates between the types of summaries
  6. Uses tools to manage, organize, and group data and pages including effectively using page breaks
  7. Identifies when to use formulas
  8. Uses formulas to format data and tables
  9. Determines ho to best work with images including using dynamic images
  10. Uses sub-reports effectively
  11. Inserts standard page headers and footers into the report
  12. Recalls how to embed fonts into the report
  13. Applies correct formatting, localization, and languages
2. Integrates InterSystems reporting within InterSystems EHR 2.1 Understands InterSystems EHR report architecture
  1. Recalls how to setup a report manager entry
  2. Recalls how many user-inputted parameters can be used in InterSystems EHR
  3. Recalls how to setup menu for a report and how to add menu to a header
  4. Recalls what a security group is and adds menus to security group access
  5. Configure InterSystems EHR layout webcommon.report
  6. Differentiates between different types of layout fields
3. Supports InterSystems Reports 3.1 Verifies printing setup
  1. Debug using menu or preview button
  2. Tests the report by making sure it runs as expected
  3. Demonstrates how to run reports with different combinations of parameters
  4. Tests report performance with a big data set
  5. Identifies error types
   3.2 Uses print history
  1. Identifies use cases for the print history feature
  2. Recalls the steps to retry printing after a failed print
  3. Uses print to history to verify parameters are correctly passed to the parameters in the stored procedure
  4. Recalls how to identify a report was successfully previewed or if it encountered errors

 

Interested in participating? Eligible candidates who have completed the TrakCare Reporting course are encouraged to schedule and take the exam via our exam delivery platform. Candidates who are interested in participating in the beta but do not have the required training are encouraged to complete the online portion of the TrakCare Reporting course before August 25th.

If you have any questions, please contact certification@intersystems.com

1 Comment
ディスカッション (1)1
続けるにはログインするか新規登録を行ってください
InterSystems公式
· 2025年6月27日

InterSystems Cloud Services - Release Notes - 27 June 2025

Reference: Build 2025.1.0.1.24372U.25e14d55


Overview

This release introduces significant enhancements to security, analytics capabilities, and user experience, along with important operational improvements aimed at reducing downtime and improving reliability.


New Features and Enhancements

Category Feature / Improvement Details
Analytics Adaptive Analytics in Data Fabric Studio InterSystems Data Fabric Studio now includes Adaptive Analytics as an optional feature, offering advanced analytics capabilities directly within your workflow.
Security    Enhanced Firewall Management Firewall management page now supports creating explicit inbound and outbound firewall rules specifically for port 22, providing greater security and access control.
Custom APIs Security Update Custom APIs have transitioned from ID tokens to access tokens, strengthening security by improving authentication mechanisms.
Enforcement of HTTPS for Custom APIs Custom APIs no longer support HTTP; all communication is now exclusively over HTTPS, ensuring encrypted and secure data transmission.
General Security Improvements Multiple security enhancements applied, reinforcing the security posture across the platform.
User Experience New Feature Announcements and Widgets Additional widgets have been introduced to effectively communicate new features, announcements, and important updates directly within the Cloud Service Portal.
Operations Improved Timezone Change Performance

Downtime associated with the timezone-change operation on prod environments significantly reduced from approximately 2 minutes to about 15 seconds, minimizing impact on operations.


Recommended Actions

  • Explore Adaptive Analytics within Data Fabric Studio to enhance your data-driven decision-making capabilities.
  • Review firewall settings to leverage the new inbound/outbound port 22 rules. The first deploy you perform will define the rules. Make sure to review the outbound rules.
  • Ensure Custom APIs use updated SDKs that utilize access tokens instead of ID tokens, and confirm HTTPS-only configurations are correctly applied.

Support

For assistance, open a support case via iService or directly through the InterSystems Cloud Service Portal.


Thank you for choosing InterSystems Cloud Services.

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください