Clear filter
Announcement
Raj Singh · May 10, 2023
InterSystems is committed to providing a high quality developer experience including a great IDE (Integrated Developer Experience). For the past several years we have been evolving Visual Studio Code's ObjectScript tooling in parallel with our long-standing IDE, InterSystems Studio. There have been over 46,000 downloads of the VSCode-ObjectScript plugin, and the feedback from developers is that this is a great developer experience, and now superior to InterSystems Studio.
With our 2023.2 release we are deprecating InterSystems Studio (deprecated designates a feature or technology that InterSystems no longer actively develops, and for which better options exist). We will continue to maintain, release, and support InterSystems Studio for quite some time, and we appreciate that it is still an important tool for some customers. However, customers should be advised that we are not investing in it. Our focus is on VSCode.
I've appreciated all the customer input as we've grown our ecosystem of VS Code extensions, keeping them open source while offering full support, and maintaining regular and rapid release cycles.As we continue this journey, I look forward to continuing to hear your feedback, ideas, and code.
Feel free to comment below or direct message me. As always, your voice plays a major role in this important process. For development VS Code is great. Indent is a lot better and also the syntax checking. One small functionality I'm missing is to open classes fast with a shortcut. We're using HealthConnect and at an item the Class Name is shown in the management portal:
I can copy the class name, go to studio press Ctrl-O and paste the class name:
In VS code I can open also with Ctrl-O but then I need to fill in /HS/FHIRServer/Interop.HTTPOperation.cls
Could be a small improvement? I still can't see my csp files or .bas routines in VS Code. What do I have wrong? @David.Hockenbroch We just improved the UI for creating a new server-side editing workspace folder. If you have no workspace open, you can follow the steps here to create a new one. If you do, you can add a new folder to you workspace by right-clicking in the file explorer and selecting "Add Server Namespace to Workspace..". That command will follow steps 4 and on. To see CSP files, select "Web Application Files" in the menu from step 8. To see basic files, select "code files in <NS>", then select "Filter", then make sure your custom filter contains the "*.bas" pattern. It can include other file types as well. @Menno.Voerman Unfortunately I don't think this is possible. That command is for opening files, and technically the name of the file is "HS/FHIRServer/Interop.HTTPOperation.cls", not "HS.FHIRServer.Interop.HTTPOperation.cls". VS Code is great for development, while InterSystems extensions behavior is disappointing sometimes.
E.g., since some update was installed, <Ctrl/Mouse pointer> stopped referencing the methods of another class. <Right button menu -> Goto Definition> stopped working as well. Is it a bug or a feature? @Alexey.Maslov That sounds like a bug to me. Can you file a GitHub issue with steps to reproduce? It would also help to know the versions of the extensions you have installed, the version of IRIS you're connected to, and the text of the file that you see the bug in. Done, expecting that InterSystems ObjectScript was the right choice for the kind of issue. The export capabilities in VSCode are very poor compared to Studio. There should be a possibility to export multiple classes/routines in xml format.
VSCode also lacks the different Wizards (SOAP/XML) and the guided way (File/New...) to create classes, processes, DTLs, BPLs and so on. You can't edit BPLs and DTLs with VSCode. Why would you need XML? Hi @Mikko.Taittonen! Why would you need XML export for classes/routines? Why not UDL? UDL is much more readable? @Mikko.Taittonen The vscode-objectscript extension does provide New File commands for Interoperability classes. You can read the documentation here. The SOAP wizard can be accessed from the Server Actions menu. BPL and DTL classes can be edited textually. Support for the graphical editors will be added when they are rewritten using Angular. For a preview of how that would work, you can try out the new Angular Rule Editor in VS Code. For what it is worth: I don't agree.Studio is a Objectscript dedicated IDE (Editor), rather clean and unobtrusive.It could be enhanced quite simple.The only problem is Windows only (which is still 57.37% of all desktops) Fully support this!It's a sense less attack to the traditional installed base !
With our 2023.2 release we are deprecating InterSystems Studio (deprecateddesignates a feature or technology that InterSystems no longer actively develops, and for which better options exist). We will continue to maintain, release, and support InterSystems Studio for quite some time, and we appreciate that it is still an important tool for some customers. However, customers should be advised that we are not investing in it. Our focus is on VSCode.
In what sense is this an "attack"? C'mon! we heard this to often: WebLink, Caché, ...- We will continue to maintain, release, and support ....- and every IRIS Version needs a new Studio version Hi:
This is possible . How to quickly open class in VS Code | InterSystems Developer Community |. The answer to this is here: if you are using the server-side editing paradigm, which matches what you're used to with Studio, make sure you follow the instructions in the "Enable Proposed APIs" section of the extension's README (also available here). you can then use Crtl+P to find the item you need.
my setup instructions
The additional features (and the APIs used) are:
Server-side searching across files being accessed using isfs (TextSearchProvider)
Quick Open of isfs files (FileSearchProvider).
Download and install a beta version from GitHub. This is necessary because Marketplace does not allow publication of extensions that use proposed APIs.
Go to https://github.com/intersystems-community/vscode-objectscript/releases
Locate the beta immediately above the release you installed from Marketplace. For instance, if you installed 2.4.3, look for 2.4.4-beta.1. This will be functionally identical to the Marketplace version apart from being able to use proposed APIs.
Download the VSIX file (for example vscode-objectscript-2.4.4-beta.1.vsix) and install it. One way to install a VSIX is to drag it from your download folder and drop it onto the list of extensions in the Extensions view of VS Code.
From Command Palette choose Preferences: Configure Runtime Arguments.
In the argv.json file that opens, add this line (required for both Stable and Insiders versions of VS Code):
"enable-proposed-api": ["intersystems-community.vscode-objectscript"]
Exit VS Code and relaunch it.
Verify that the ObjectScript channel of the Output panel reports this:
intersystems-community.vscode-objectscript version X.Y.Z-beta.1 activating with proposed APIs available.
After a subsequent update of the extension from Marketplace you will only have to download and install the new vscode-objectscript-X.Y.Z-beta.1 VSIX. None of the other steps above are needed again. To see CSP files with server side editing if you hold shift before clicking the pencil icon it will load up a web files view Is there a recent and detailed article comparing VSCode plugin and the latest Studio? Something like this is what Studio still does better and this is what plugin does better. Hi @jaroslav.rapp. Attack may be a strong word, but I understand the feeling when beloved tools get less attention than others. We'd love to never leave a technology behind, but the reality is that with limited resources we sometimes have to devote more effort to technologies that will have bigger benefits for our users going forward. It's not always an easy decision, but I believe the short-term pain is well worth the long-term benefits. Hi @Anna.Golitsyna. This recent discussion, First Community Roundtable: VSCode vs Studio, may be useful. I've never used VS Code, and I don't know anything about it. I am wondering whether there are equivalents for a couple things we often do in InterSystems Studio:
Export (to XML) and import classes.
Find in Files.
Also, is there an equivalent to the Namespace Workspace that is available in Studio? That's the arrangement we use the most. Yeah,moving code between Studio instances to other namespaces on same or different serversimply by drag & drop Yes, you can do this in VS Code. Even better, when using the server-side editing paradigm a single VS Code instance can connect simultaneously to multiple namespaces on one or more servers, and you can drag/drop and copy/paste between them. We use the TrackWare SCCS, for both our Cache/IRIS and Delphi application development.
TrackWare has the unique distinction of being written in both Delphi and Cache. It integrates well with Studio SCCS.
We now own the TrackWare package and I have had to make updates to the Cache/IRIS side to keep it current.
(It was formerly owned by Jorma Sinnoma (sp?) who is now a member of the InterSystems team.)
It works for us and we would want to stay with it for as long as Studio functionality and SCCS integration stays intact.
A real bugaboo for us, besides the ease with which we can check out and check in our Cache/IRIS code elements, is that we would have to come up with another product to maintain source control on the Delphi side.
So, please do not stray from what Studio offers us now both as an IDE and its SCCS integration.
Thank you
Rich Filoramo
InTempo Software
I feel that I have not explained clearly enough the Studio features that we use. We often export classes to XML files. Similarly, we import XML files, compiling them as classes during import. I didn't mean to imply that this was done simply to transfer classes to other namespaces or servers. Rather, it's a way to archive classes as XML files. (We don't use a source control system.)
We use the Find in Files utility to determine the classes and other files in which a given string exists.
I mentioned the Namespace variation of the Studio Workspace pane because that is the arrangement of files (classes, lookup tables, message schemas, etc.) that we most often use. @Richard.Filoramo The server-side editing paradigm in VS Code is conceptually similar to Studio in that the files you edit are "virtual" and do not need to be exported to the file system. This mode supports Studio source control classes, so you can continue using them if you want. We have a documentation page that describes some useful features for migrating from Studio that describes where the Studio source control integration can be found in the VS Code UI. @Anna.Golitsyna We have a documentation page that describes some useful features for migrating from Studio that you may find useful. @Larry.Overkamp VS Code does not support exporting or importing source code as XML files. There are existing tools in the terminal and SMP for that. The server-side editing paradigm that John mentioned above is conceptually similar to Studio in that the files you edit are "virtual" and do not need to be exported to the file system to be edited. It supports viewing all files in a namespace like in Studio, and it also supports importing local .cls, .mac, .int and .inc files into that namespace.
Searching for text across those virtual files is supported and the UI is much better than Studio since you can click on the match and jump right to that location in the file. Enabling that feature requires some extra steps due to a VS Code core limitation, but this is something that we anticipate will be resolved in the future. @Larry.Overkamp my reply was focused on what @jaroslav.rapp had posted.
You also wrote:
(We don't use a source control system.)
Have you considered changing this situation? If so please take a look at Deltanji from George James Software (my employer). Some videos are available at https://www.youtube.com/playlist?list=PLGnA3ZIngG4oOUCEmplIYgSknQpNOtF08 Thanks, @Brett.Saviano . I'd like to assess what are plusses and minuses of migrating first. I'll watch it, thanks, Raj. I have to say though that I really prefer searchable text that can be visually scanned diagonally in 5 minutes as opposed to watching a 45-minute video. Oh well... What is the benefit of exporting to XML vs exporting to CLS? A thought about moving from *.xml source controlled files to *.CLS (UDL) file content with VSCode.
The exported source content is different from existing in source control
The export name is different and may be seen as an unrelated resource
A while back I had shared community application ompare
I mention as this utility allows the comparison of what is installed in a namespace, regardless if the external format was XML or UDL. Some may find useful to see the real differences between their own historic product releases and a current release. At least until have a few releases / baseline in their new source repository.
Have notice other community apps like xml-to-udl that might be appropriate for need. I'll add to this, we use the same "embedded" source control behavior across Studio and VSCode for my team within InterSystems, and haven't had issues.
@Richard.Filoramo , one question re: TrackWare - do you know offhand which "Actions" and "Other Studio actions" it uses in the UserAction method from %Studio.Extension.Base (see class reference)? There are some limitations/differences between VSCode and Studio but they're on things we see as either less common or undesirable to support from VSCode. One such case we've previously deemed "undesirable" is Action = 3, "Run an EXE on the client. The Target is the name of an executable file on the client machine. It is the responsibility of the customer to ensure this EXE is installed in a suitable location." Your statement that your source control system is written in ObjectScript and Delphi makes me think this might matter to you.
More generally, @Brett.Saviano , there may be other aspects of complete support for the interface defined in %Studio.Extension.Base to consider. @Alex.Woodhead
Just to clarify for everyone, Studio source control classes that import/export XML files will continue to work and be supported. There just won't be a menu option in VS Code to export files as XML. @Anna.Golitsyna The big plus is that VS Code is in active development, while Studio hasn't seen enhancements in years and now is deprecated. Other than that, here are some benefits of VS Code:
Supports Mac, Linux and Alpine Linux in addition to Windows.
Much faster release cycles so you get new features and fixes faster.
Always forward compatible without needing to install a new version.
Much better intellisense support. (a large list of features can be found here)
Modern UI with fully customizable themes.
Can be connected to multiple server-namespaces in the same window.
Debugging supports expanding OREF's to see their properties.
Thanks Brett!
I will add the support of:
Docker
Git source control
Github/Gitlub interactive plugins
Embedded Python
Co-pilot (when VScode writes ObjectScript for you instead of you)
Full-functional IRIS Terminal
And options to use 3rd-party plugins, e.g. from George James, @John.Murray mentioned earlier. Find in Files works with the Enable proposed APIs and valid version working.
Was not aware of drag/drop for export/import.
I find even though a lot of the discussions around source control are great and easier using vs code I still don't feel there is an easy jumping in point to really get started to use a control system. With the discussion of Intersystem IRIS Studio or VS Code, I understand the initial reaction to think you are losing something using VS Code. Will you miss some things, I'm sure you will, but measured on the whole I feel like VS Code is a much better environment even if all you ever do is objectscript work. I feel like that's the critical thing to remember, there may be some differences but measured on the whole it is better, give it a try and give it a chance, especially learning the full capabilities.
I agree. Adopting source control is like committing to a workout regimen. It's hard to get started and feels like a big hassle, but eventually you can't imagine living any other way, and you love the way your body of code looks ;) @Brett.Saviano @Evgeny.Shvarov You listed VSCode plusses, thanks. How about what Studio does that VSCode plus free plugins still do not? One of our programmers complained about debugging as of July 2022. Is it on par now? @Anna.Golitsyna I think the debugging experience in VS Code is actually better than Studio since you can view the properties of OREF's in the variables view in VS Code but not Studio. You can have that developer file an issue report on GitHub, or contact the WRC if you have a support contract.
As for features in Studio but not VS Code, the biggest one is the Inspector. It is very unlikely that it will ever be implemented in VS Code. VS Code also does not support integration with the legacy Zen BPL and DTL editors. VS Code will support integration with the new Angular versions of those editors when they are implemented. VS Code also doesn't support syntax coloring for Cache Basic or MultiValue Basic, but you can still edit those files. Will you miss some things?Now working 20 years with Studio I'm kind of "married" knowing all good and bad features.I dislike the idea to face a "forced divorce". Dictated from outside. It smells like very bad times in past. The opposite of freedom of decision. some context about me.. I've been working with InterSystems technologies since 1991 so I've been thru all of the changes for the past 32 years. Unless you give it a chance you won't have an opportunity to see what are the good features in VS code. There is no doubt that working with VSCode is more productive than working with ISC Studio. I've been working with ISC Cache since 1997 and thank God ISC finally has a normal development IDE. But there are small things that need to be fine-tuned:1. When overriding, be able to include the original implementation as well2. The terminal cannot process Home End keys, etc., and it throws lines.3. Close automatically opened routines/classes when debugging is finished4. In the debug console, the zwrite option5. Option to switch from read only file to edit file on GIT disk6. Debugging INT source codes does not work well7. jump to label+offset
and a lot of little things will certainly appear.
Maybe the problem is that I'm still working on Ensemble 2018
Josef Hi @Josef.Zvonicek, I'm glad that VS Code is making you more productive, and thanks for the feedback. I have some comments about your fine-tuning list:
The "override class members" functionality is implemented by the Language Server extension. If you file an issue on its GitHub repository I would be happy to consider this enhancement request.
The VS Code integrated terminal is part of the core product, and not our extensions, so I'm not sure we can do anything about this. Can you provide more details about how you started the terminal and the expected vs actual behavior?
Newer versions of the vscode-objectscript extension should avoid opening that extra copy of the file when debugging. If you're using recent version like 2.8.0 or 2.8.1 and this isn't working, please file a GitHub issue in that extension's repository and I will take a look at it.
The debug console can only evaluate expressions. It's not a full terminal and cannot execute commands, so this isn't possible unfortunately.
I'm not sure what a GIT disk is. Are you editing files on your local file system?
Can you describe what doesn't work well, and what we could do to make things better?
There is a command called "Open Error Location..." that you can execute from the command palette. It prompts you to enter a "label+offset^routine" string and then opens that location. It only works for INT routines though.
and just today spotted https://blog.postman.com/introducing-the-postman-vs-code-extension/ . This isn't full formed as they report
We will continuously ship features and improvements—such as support for Postman Collections and environments—so be on the lookout. We value your input, so if you have any feedback on this beta version, please feel free to leave it in the comments.
but just one more example why measured on the whole VS Code really is a better environment IMHO. For me it's a horrible news 😭 I really prefer to use Studio when explaining how to create properties (particularly relationships) and queries (particularly Class Queries based on COS) to students who see IRIS for the first and the last time during my classes. And when something goes wrong (and it does a lot of the time) it's usually easier to ask them to delete the code that produces error and rewrite it while I'm looking than to figure out what's wrong with it. And if it something more complicated than simple properties it can take a lot of time.
Besides, not all students know (and want/need to learn) how to use VS Code and look for proper plug-ins, extensions etc. It will really make my life that much harder. one of my (former) customers suggested this approach:
Train COS not on IRIS but on some Caché/ENS 2018 instances with Studio
or on some older IRIS version
As they run pure COS they have Studio for Training. An no need of new features
once all the logic works they may move the result to some final IRIS
(if ever they migrated)
With #2 (at least for me anyway), the issue seems to be related to running iris session when using the Windows version of ssh.exe (called from VS Code, configured in settings under node terminal.integrated.profiles.windows). Home and End work normally at the Linux shell prompt, but when running iris session the effect is that either key produces the same result as pressing the Enter key. The current command is executed and a new IRIS prompt is generated.
It doesn't seem to be a VS Code problem so much as an ISC problem, at least on Windows. Please, give VSCode a try.
Regarding of extensions, you can give students a repository with .vscode/extensions.json, that will already contain examples. E.g. here is how my extensions.json looks like:
{
"recommendations": [
"eamodio.gitlens",
"georgejames.gjlocate",
"github.copilot",
"intersystems-community.servermanager",
"intersystems-community.sqltools-intersystems-driver",
"intersystems-community.vscode-objectscript",
"intersystems.language-server",
"mohsen1.prettify-json",
"ms-azuretools.vscode-docker",
"ms-python.python",
"ms-python.vscode-pylance",
"ms-vscode-remote.remote-containers"
]
}
This will not install extensions automatically, but they will be shown as recommended for the workspace, like that:
Here is the template they can start from and here is an example extensions.json file. @Iryna.Mykhailova please also look at VS Code's recently-introduced Profiles feature. I imagine this could be useful in learning contexts. Maybe my VS Code setup isn't correct, but if I need to explore % class files to learn more about behavior of some methods (let's face it, the documentation isn't always revealing), I use Studio. A recent example was learning what methods of %CSP.Page I could override and which order the override-ed methods were called in the code.
I know in the past I've referenced other things. It's not often but it's helpful when we can. I haven't found a way to view % classes in VS Code.
Maybe someone can help me if that's something I've missed! Hi @Michael.Davidovich, I can show you how to configure VS Code to see system classes. Are you using client-side or server-side editing? @Michael.Davidovich you might find this extension useful for exploring inherited methods etc:
https://marketplace.visualstudio.com/items?itemName=georgejames.objectscript-class-view One quick/dirty(?) way is to do a "View Code in Namespace" for "%SYS". Under the %SYS namespace the percent classes are not filtered out. In the interest of accuracy, Studio does allow looking at OREFS to see their properties (View As > Object, or Dump object).
I've also used Studio for 20+ years. I can still remember how much better it was than what we had before. We can all still use Studio if we want; it's not a forced divorce. But we hope that VS Code -- ObjectScript's features will make you comfortable enough to decide to do a conscious uncoupling. And as Frank Sinatra sang: "Love's much lovelier, the second time around." And he could have sung that at the Diplomat Hotel in Fort Lauderdale in 1974, where coincidentally InterSystems is hosting our Global Summit this year! We sometimes export classes from one environment and import them to another. I don't see .cls as a supported file type for those activities. Hi @Larry.Overkamp !
You can use $system.OBJ.ExportUDL() to export in CLS or MAC or INC.
and $System.OBJ.Load or $system.OBJ.LoadDir() to import CLS or XML or MAC.
As for transferring code between systems I'd recommend to maintain code in repositories (e.g. git) and deploy code via InterSystems Package Manager.
The format doesn't matter as long as you can easily package multiple classes/routines in a single file. By easily I that mean that you should be able to choose the exported classes/routines eg. from a class tree. If I can guess you need export several classes/routines/macro in one file e.g. to deploy to another server.
I'd recommend to use InterSystems Package Manager for it @Brett.Saviano Sorry I didn't see this until just now. We are editing on client-side. Is there documentation for this? I searched "package manager" in the documentation and didn't get anything in the results.... Package Manager is going to be a part of a product in near future, but right now it is not a part and can be installed with the following command:
s r=##class(%Net.HttpRequest).%New(),r.Server="pm.community.intersystems.com",r.SSLConfiguration="ISC.FeatureTracker.SSL.Config" d r.Get("/packages/zpm/latest/installer"),$system.OBJ.LoadStream(r.HttpResponse.Data,"c")
Caution! This is for IRIS only.
The package manager.
It has documentation, a bunch of videos, and there is a tag here. If for Interoperability productions it may also be appropriate to weigh up existing capabilities available for Production deployment. See: https://docs.intersystems.com/irisforhealth20232/csp/docbook/DocBook.UI.Page.cls?KEY=EGDV_deploying
It provides functionality for detecting implementation used by a production.
Have created idea for Production exports to generate IPM modules as well as the usual XML export deployment. https://ideas.intersystems.com/ideas/DPI-I-382 Readers of this thread may be interested in this discussion I just started about the export/import topic:
https://community.intersystems.com/post/studio-vs-code-migration-addressing-exportimport-pain-point
Announcement
Anastasia Dyubaylo · Jun 16, 2023
Hello and welcome to the Developer Ecosystem Spring News!
This spring we've had a lot of online and offline activities in the InterSystems Developer Ecosystem. In case you missed something, we've prepared for you a selection of the hottest news and topics to catch up on!
News
💡 InterSystems Ideas News #5, #6
🔥 Global Masters: get points for your ideas on Ideas Portal
📝 InterSystems Studio is deprecated, starting with 2023.2
📝 Documentation for InterSystems Caché and InterSystems Ensemble versions prior to 2017.1 will only be available in PDF format
📝 Early Access Programs (EAPs)
📝 Take part in the FHIR R5 Quality Review!
✅ HealthShare Unified Care Record Earns National Committee for Quality Assurance Certification
👋 Caelestinus 2023 Kickoff Event
♨ April 4, 2023 - Alert: Incorrect Query Results
♨ April 10, 2023 - Alert: ECP Client Instability
♨ April 27, 2023 - Alert: Database and Journal Corruption when Using Encryption
♨ Get Alerts, Advisories and other Product News directly from InterSystems
Contests & Events
InterSystems IRIS Cloud SQL and IntegratedML Contest
Contest Announcement
Kick-off Webinar
Technology Bonuses
Time to Vote
Technical Bonuses Results
Winners Announcement
Meetup with Winners
Tech Article Contest: InterSystems IRIS Tutorials
Announcement
Bonuses
Winners
📄 [DC Contest] 2nd InterSystems Tech Article Contest in Portuguese
⏯️ [Webinar] Webinar in Spanish: "EMPI: Set up and use case"
☕️ [Meetup] In-person Developer Meetup in Boston: Making Sense of Healthcare Data with SQL and Python Pandas
☕️ [Meetup] Benelux Caché User Group Meetup
Latest Releases
⬇️ Developer Community Release, Spring 2023 Edition
⬇️ Improving your posting experience
⬇️ Caché and Ensemble Maintenance Releases
⬇️ InterSystems announces availability of InterSystems IRIS, IRIS for Health, & HealthShare Health Connect 2022.1.3
⬇️ InterSystems announces General Availability of InterSystems IRIS, IRIS for Health, HealthShare Health Connect, & InterSystems IRIS Studio 2023.1
⬇️ InterSystems IRIS, IRIS for Health, & HealthShare Health Connect 2023.1 developer previews
Preview 3
Preview 4
Preview 5
⬇️ InterSystems IRIS, IRIS for Health, & HealthShare Health Connect 2023.2 developer previews
Preview 1
Preview 2
⬇️ Zen Reports to be removed from InterSystems IRIS and IRIS for Health beginning with version 2025.1
⬇️ Caché, Ensemble, and HSAP 2018.1.8 released
⬇️ IAM 3.2 Release Announcement
⬇️ IKO (InterSystems Kubernetes Operator) 3.5 Release Announcement
Best Practices & Key Questions
🔥 Best Practices of Spring 2023
ZPM Simple Implementation Cookbook
Welcome irissqlcli - advanced terminal for IRIS SQL
Query as %Query or Query based on ObjectScript
Machine Learning in IRIS using the HuggingFace API and/or ml models in local ( using Python )
Debugging Trick with SQL
Data anonymization, introducing iris-Disguise
Enterprise Monitor and HealthShare
CI/CD with IRIS SQL
Using Docker with your InterSystems IRIS development repository
Debugging Web
Debug the ObjectScript code using VSCode
❓ Key Questions of Spring 2023: March, April, May
People and Companies to Know About
🌟 Global Masters of Spring 2023: March, April, May
Job Opportunities
💼 IRIS system administrators - Stanford Healthcare
💼 InterSystems IRIS Technology Role Remote
💼 IRIS Developer - Health Data Management Engineer, Lead
💼 Job Opportunity for IRIS Senior Developer in SA
So...
Here is our take on the most interesting and important things!
What were your highlights from this past season? Share them in the comments section and let's remember the fun we've had!
Article
Luis Angel Pérez Ramos · Nov 4, 2023
I recently had the need to monitor from HealthConnect the records present in a NoSQL database in the Cloud, more specifically Cloud Firestore, deployed in Firebase. With a quick glance I could see how easy it would be to create an ad-hoc Adapter to make the connection taking advantage of the capabilities of Embedded Python, so I got to work.
Preparing the environment
To start, we need an instance of the database on which we can perform the tests. By accessing the Firebase console, we have created a new project to which we have added the Firestore database.
Next we create a collection on our database called data_poc and in which we include 3 documents that we will later recover from our production.
With the database deployed we are going to obtain our json file with the necessary keys to make the connection from our production in IRIS. To do this, from the console of our Firebase project we open the account services page that we find from the project configuration (Project Settings -> Service Accounts) and we generate a new private key:
This will download a json file that we will place in a path on our server, in this example we will leave it in the /shared/durable folder of our Docker
Creating the adapter
In order to be able to connect to our database in Firebase, we will have to create a specific adapter that makes the connection. As we mentioned before, we will use the capabilities that Embedded Python offers us, so we will install the library that allows us to connect, firebase-admin
With our library already installed we can now create our adapter:
Class Local.Adapter.FirebaseInboundAdapter Extends Ens.InboundAdapter
{
Property KeyPath As %String(MAXLEN = 100);
Property DocName As %String(MAXLEN = 100);
Parameter SETTINGS = "KeyPath,DocName";
Method OnTask() As %Status
{
$$$TRACE("Connecting")
set tSC = $$$OK
set listOfDocs = ##class("%Library.ListOfDataTypes").%New()
if ('$DATA(^$GLOBAL("^LASTFIREBASE"))) {
set ^LASTFIREBASE(..DocName) = 0
}
do ..ConnectAndQuery(..KeyPath, ^LASTFIREBASE(..DocName), listOfDocs, ..DocName)
for i = 1:1:listOfDocs.Count() {
set msg = ##class(Local.Message.FirebaseDocRequest).%New()
set msg.Doc = listOfDocs.GetAt(i)
set tSC=..BusinessHost.ProcessInput(msg)
set docRead = ##class(%DynamicAbstractObject).%FromJSON(msg.Doc)
set ^LASTFIREBASE(..DocName) = docRead.id
$$$TRACE("Index: "_^LASTFIREBASE(..DocName))
}
$$$TRACE("Finishing connection")
Quit tSC
}
/// Using Embedded Python to connect with Firebase
ClassMethod ConnectAndQuery(keyPath As %String, lastId As %String, ByRef listOfDocs As %List, docName As %String) [ Language = python ]
{
import iris
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore
if not firebase_admin._apps:
cred = credentials.Certificate(keyPath)
firebase_admin.initialize_app(cred)
db = firestore.client()
# Read Data
docs_refer = db.collection(docName)
docs = docs_refer.where("id",">",lastId).stream()
# docs = docs_refer.stream()
for doc in docs:
# listOfDocs.Insert(doc.to_dict())
listOfDocs.Insert(str(doc.to_dict()).replace("'", '"'))
return 1
}
}
As you can see we are using an identifier field id as a criterion to obtain the latest documents registered in the system, for each reading of a new document we take its identifier and store it in a global. We have included two parameters in the adapter:
KeyPath: where we indicate the path and name of the json file that contains the keys to access our database in Firebase.
DocName: in which we define the name of the collection or document that we store in the database. For each type of collection we must add a new Business Service by modifying this parameter:
With the connection keys we can now connect to the database using the function developed using the Embedded Python functionality. We have previously installed the firebase-admin library that will allow us to manage the connection and which you can find in the requirements.txt file of the associated project. Once the connection is made, we will recover all the documents with an identifier after the last one we read. We will insert the recovered documents into a string list that we will later scan and send to our Business Service.
# Read Data
docs_refer = db.collection(docName)
docs = docs_refer.where("id",">",lastId).stream()
# docs = docs_refer.stream()
for doc in docs:
listOfDocs.Insert(str(doc.to_dict()).replace("'", '"'))
With the developed adapter we only need to implement our Business Service to be able to use it in our production:
Class Local.BS.FirebaseBS Extends Ens.BusinessService
{
Parameter ADAPTER = "Local.Adapter.FirebaseInboundAdapter";
Method OnProcessInput(pRequest As Local.Message.FirebaseDocRequest, pResponse As %RegisteredObject) As %Status
{
$$$TRACE(pRequest.Doc)
Quit $$$OK
}
}
For our example we will only define the writing of a trace with the message received from the adapter, the message will only have a property of type String that we have called Doc and that will contain the recovered document.
Testing the adapter
We already have everything we need to retrieve documents from our database, so we only need to configure our production.
Perfect! We already have our BS configured to make queries to the database every 5 seconds, let's start production and check the log:
Here we have our documents, let's see now what happens if we add a new one to our database:
There we have our new record. Well ready, we now have our adapter working.
Well, that's it for today's article, if you have any questions or suggestions, don't hesitate to write them in the comments. @LuisAngel.PérezRamos Thank you so much for implementing the following idea from InterSystems Ideas:
Make a module which will let to use IRIS and Firebase framework 👏
Welcome to the Ideas Portal Hall of Fame! 🎉 Thank you! It's always a true pleasure!
Announcement
Anastasia Dyubaylo · Dec 6, 2023
Hello and welcome to the Developer Ecosystem Fall News!
This autumn we've had a lot of online and offline activities in the InterSystems Developer Ecosystem. In case you missed something, we've prepared for you a selection of the hottest news and topics to catch up on!
News
🔥 Remarkable Milestones: 16K...18K...8M... on InterSystems Developer Community! 🔥
💡 InterSystems Ideas News #8 and #9
📝 Global Masters: new badges for Ideas on InterSystems Ideas Portal
📝 Global Masters Credly Badges - new way to share your accomplishment!
📝 Earn a Learning Badge!
📝 InterSystems Supported Platforms Update Q4-2023
♨ Alert: Failed login handling and OAuth2 client errors
♨ Red Hat Insights alerts now available for InterSystems IRIS
♨ InterSystems IRIS Minimum Supported CPU Models
🛑 Deprecation of InterSystems IRIS NLP, formerly known as iKnow
🛑 Deprecation of the InterSystems Cloud Manager (ICM)
🛑 End of support for CentOS
🛑 Deprecation of support for VxFS
🛑 Deprecation of InterSystems System Alerting and Monitoring (SAM)
🛑 InterSystems Studio deprecation news
Contests & Events
InterSystems Python Programming Contest 2023
Contest Announcement
Kick-off Webinar
Technology Bonuses
Time to Vote
Technical Bonuses Results
Winners Announcement
Meetup with Winners
InterSystems Java Programming Contest 2023
Contest Announcement
Kick-off Webinar
Technology Bonuses
Time to Vote
Technical Bonuses Results
Winners Announcement
Meetup with Winners
Water Cooler Talk
Announcement
Suggest Topics
[Water Cooler Talk] FHIR, the holy grail of interoperability and EHR, or just another brick in the wall?
⏯️ [Webinar in Hebrew] Leveraging Embedded Python
⏯️ [Webinar in Hebrew] Advanced JSON & DocDB
⏯️ [Webinar] Developing an AI Powered IRIS Application, in Python
⏯️ [Webinar] GitOps using the InterSystems Kubernetes Operator
⏯️ [Webinar] Analytics Capabilities using InterSystems IRIS
🧑🤝🧑 [Roundtable] InterSystems Developer Community Roundtable - September 28 2023
🧑🤝🧑 [Roundtable] InterSystems Developer Community Roundtable - November 30 2023
☕️ [Meetup] Second Developers Meeting in Barcelona
☕️ [Meetup] InterSystems Japan Developer Community Meetup in Osaka
👨💻 [Hackathon] InterSystems at HackMIT 2023
👨💻 [Hackathon] Join InterSystems at the European Healthcare Hackathon in Prague
👨💻 [Hackathon] Get Inspired: Winners of InterSystems IntegratedML challenge at Cal Hacks hackathon 2023
🏅 [Contest] 2nd Tech Article Contest on Chinese Developer Community
🏅 [Contest] The 1st InterSystems Japan Technical Writing Contest!
Latest Releases
⬇️ Developer Community Release, September 2023
⬇️ Developer Community Release, November 2023
⬇️ InterSystems IRIS, IRIS for Health, & HealthShare Health Connect 2023.3 developer previews
Preview 1
Preview 2
Preview 3
Preview 4
⬇️ Maintenance Releases 2022.1.4 and 2023.1.2 of InterSystems IRIS, IRIS for Health, & HealthShare Health Connect are now available
⬇️ InterSystems announces General Availability of InterSystems IRIS, InterSystems IRIS for Health, & InterSystems Studio 2023.3
Best Practices & Key Questions
🔥 Best Practices of Autumn 2023
Continuous Delivery of your InterSystems solution using GitLab - Part VII: CD using containers
IRIS Data to Google Big Query - InterSystems Cloud SQL via Dataflow
How to develop in Tableau and PowerBI
LangChain on InterSystems PDF documentation
InterSystems Embedded Python with Pandas - Part 1
OAuth2 and Basic Authentication, Authorization AND Auditing by code from Web Application
5 useful SQL functions to take your SQL skills to the next level
Using JSON in IRIS
LangChain fixed the SQL for me
ChatGPT to create message transformations for you?
Improvements to how IRIS classes are generated and called
How to shrink the IRISTemp database
Initializing InterSystems IRIS Docker Image with Python
❓ Key Questions of Spring 2023: September, October, November
People and Companies to Know About
🌟 Global Masters of Fall 2023: September, October, November
Job Opportunities
💼 InterSystems Application Developer
💼 Are you looking for a role as a InterSystems Ensemble/IRIS Developer
And more
❗ How to create a job ad on Developer Community
❗ Groups and tags on DC explained
❗ More about Groups and Tags on DC
So...
Here is our take on the most interesting and important things!
What were your highlights from this past season? Share them in the comments section and let's remember the fun we've had! Well done @Anastasia.Dyubaylo - I love how the content is grouped for easy exploration. Keep up the great work everyone :) Wow, lots of events - online and offline this season! As always, thanks for your continued support, Ben! :)
Announcement
Anastasia Dyubaylo · Feb 15, 2024
Hi Community,
We have some exciting news! It's time for the next InterSystems technical article writing competition!
✍️ Technical Article Contest: InterSystems IRIS Tutorials ✍️
Write an article that can be considered a tutorial for InterSystems IRIS programmers of any level: beginner / middle / senior from February 19th to March 17th. We've extended the submission deadline till the 24th of March!
🎁 Prizes for everyone: A special prize for each author participating in the competition!
Prizes
1. Everyone is a winner in the Tech Article Contest! Any member who writes an article during the competition period will receive a special prize:
🎁 Terra Thread Fairtrade Waist Pack
2. Expert Awards – articles will be judged by InterSystems experts:
🥇 1st place: iPad10th generation
🥈 2nd place: Beats Fit Pro True Wireless Earbuds
🥉 3rd place: Amazon Kindle Paperwhite Signature Edition (32 GB)
Or as an alternative, any winner can choose a prize from a lower tier than his own.
3. Developer Community Award – article with the most likes:
🎁 Amazon Kindle Paperwhite Signature Edition (32 GB)
Note:
The author can only be awarded once per category (in total, the author will win two prizes: one for Expert and one for the Community)
In the event of a tie, the number of votes of the experts for the tied articles will be considered a tie-breaking criterion.
Who can participate?
Any Developer Community member, except for InterSystems employees. Create an account!
Contest period
📝 February 19th to March 24th: Publication of articles.
🗳️ March 25th to March 31st: Voting time.
🏅 April 1st: Winners announcement.
Publish an article(s) throughout this period. DC members can vote for published articles with Likes – votes in the Community award.
Note: The sooner you publish the article(s), the more time you will have to collect both Expert & Community votes.
What are the requirements?
❗️ Any article written during the contest period and satisfying the requirements below will automatically* enter the competition:
The article must be a tutorial** on the InterSystems IRIS topic. It can be either for beginners, middle or senior developers.
The article must be in English (incl. inserting code, screenshots, etc.).
The article must be 100% new (it can be a continuation of an existing article not in the contest).
The article cannot be a translation of an article already published in other communities.
The article should contain only correct and reliable information about InterSystems technology.
The article has to contain the Tutorial tag.
Article size: 400 words minimum (links and code are not counted towards the word limit).
Articles on the same topic but with dissimilar examples from different authors are allowed.
* Our experts will moderate articles. Only valid content will be eligible to enter the contest.
** Tutorials provide step-by-step instructions for a developer to complete a specific task or set of tasks.
🎯 EXTRA BONUSES
This time, we've decided to add additional bonuses that will help you to win the prize! Please welcome:
Bonus
Nominal
Details
Topic bonus
5
If your article is on the topic from the list of proposed topics (listed below), you will receive a bonus of 5 Expert votes.
Video bonus
3
Besides publishing the article, make an explanatory video.
Discussion bonus
1
Article with the most useful discussion, as decided by InterSystems experts. Only 1 article will get this bonus.
Translation bonus
2
Publish a translation of your article on any of the regional Communities. Learn more.
Note: Only once per article.
New participant bonus
3
If you haven't participated in the previous contests, your article(s) will get 3 Expert votes.
Proposed topics
Here's a list of proposed topics that will give your article extra bonuses:
✔️ Using AI/ML/GenAI✔️ Using Cloud SQL✔️ Using VSCode✔️ Using Kubernetes✔️ Using FHIR SQL Builder
Note: Articles on the same topic from different authors are allowed.
➡️ Join InterSystems Discord to chat about the rules, topics & bonuses.
It's time to show off your writing skills! Good luck ✨
Important note: Delivery of prizes varies by country and may not be possible for some of them. A list of countries with restrictions can be requested from @Liubka.Zelenskaia
Hello Devs.
Today is the first day of the Tech Article Contest!
Warm up your keyboards, write an article, and join the contest!
We are looking forward to your ideas and tutorials! Hey Developers!
Five days of the contest is already have passed.
Don't forget to check the bonuses for the article, so you can earn more points and win!
Write an article, join the contest, and win the prizes! Hi Devs.
What's great news! 🤩
The first new article has appeared on the Contest page:
The bewitched line terminator by @Robert.Cemper1003
Waiting for other interesting articles 😎 Hey Devs!
One more new article has been added to the contest!
Insights from unstructured data using SQL Text Search by @Veerarajan.Karunanithi9493 Hi Developers,
A new article has appeared on the Contest page:
How to send messages to Microsoft Teams by @Francisco.López1549 And it won't be the last, I threaten with more articles, hehehe
Hey Community!
Another articles have been added to the Contest page! Сheck them out😉
InterSystems IRIS® CloudSQL Metrics to Google Cloud Monitoring by @sween
Connecting to DynamoDB Using Embedded Python: A Tutorial for Using Boto3 and ObjectScript to Write to DynamoDB by Andre Ribera
How to create a killer presentation using Open Exchange by @Yuri.Gomes Hey Devs!
This is the last week of publication, but you still have time to publish articles, so hurry up!
By the way, another article has been added to the contest:
InterSystems VSCode ObjectScript Extension Pack in glance by @Muhammad.Waseem Hi Kurro,We're waiting for more cool articles😎 Coming soon, I was doing the video for the last article.. Enjoy it
You asked – we did it!
❗️ The deadline for the contest has been pushed back for a week to March 24th!
One more week to write an article and join our competition – don't miss your chance to win 😉 Niiiice, more time to come up with another article 😁 Hi Community!
Five more articles have been added to the Contest page:
1. Generating meaningful test data using Gemin by @Iryna Mykhailova2. Connecting to InterSystems IRIS in VS Code using SQLTool by @Laurel.James 3. Orchestrating Secure Management Access in InterSystems IRIS with AWS EKS and ALB by @Roy.Leonov 4. Tutorial: Adding OpenAI to Interoperability Production by @Maria.Nesterenko 5. How to start Using VsCode by @Heloisa.Paiva
Developers, don't forget to check Extra Bonuses in the Tech Article Contest 2024. Hi participants!
We're excited to announce that we've extended the competition for an additional week, now the submission deadline is March 24th! Plus, we've added another week after that for the jury voting process. Stay tuned as the results will be revealed on April 1st. Keep those articles coming, and let's make this competition even more exciting! Hey everyone,
There are only three days left until the end of the publication period!
And here are 4 new articles that have been added to the Contest page:
Creating Unit Tests in ObjectScript for HL7 pipelines using %UnitTest class by @Chi.Nguyen-RettigGetting data from InterSystems IRIS CloudSQL using xDBC by @Iryna Mykhailova Query external SQL database to use within a Production by @Ewan.WhyteHow to create Data Lookup Tables using the SQL Data Import Wizard by @Victoria.Castillo2990 How do I enter the competition?
This is what I have done:
1. https://community.intersystems.com/contests/5
2. "Join the contest"I get to this url:
https://community.intersystems.com/node/add/post?edit%5Bfield_post_type%5D=791
With the button "Article" highlighted
Is this the correct entry way?What do I put into the "Group"?
Hey Devs!
Today is the last day of publication, complete your article and publish it!
One more article has been added to the contest, check it out:
Tasks & Tricks: The Dev's Fish & Chips by @Daniel.Aguilar Hey Community!
🎉 Thank you to all the incredible members of our community who participated in the Technical Article Contest: InterSystems IRIS Tutorials! We received a total of 21 amazing articles, each showcasing your expertise and creativity.
Now that the submission period is over, it's time for our esteemed judges to have their say. They will have one week to carefully evaluate each submission and select the winners.
During this week, all the contestants can gather bonus points and likes for your articles. So, keep engaging with the community, sharing your insights, and encouraging others to check out your work.
🏆 Best of luck to all the participants, and stay tuned for the announcement of the winners on April 1st!
Announcement
Anastasia Dyubaylo · Jun 21, 2021
Hey Community,
You've probably already heard about Discord and many of you are already chatting there. And now we invite you to become closer to the world of InterSystems technology and join the social club of our developers!
Use a super-fast way to communicate with each other:
💥 InterSystems Developers Discord Channel 💥
On DC Discord Server, you'll find many InterSystems-related channels and discussions, as well as channels for everyday life conversations. Just join our club to get closer to the world of InterSystems developers!
See you on the InterSystems Developers Discord ✌️
If you have any suggestions for improving our Discord Server or want to create a new channel on a specific topic – please feel free to share your thoughts in the comments. Hey everyone,
To stay in touch, let's continue our tech talks on InterSystems Developers Discord Server!
See you there ✌️
Announcement
Anastasia Dyubaylo · Jul 7, 2021
Hi Developers,
Learn about the InterSystems IRIS FHIR Server, the fully managed FHIR data solution that empowers FHIR application developers to focus on building life-changing healthcare applications:
⏯ What is the InterSystems IRIS FHIR Accelerator Service?
Subscribe to InterSystems Developers YouTube and stay tuned!
Announcement
Evgeny Shvarov · Dec 1, 2021
Hi contestants!
We've introduced a set of bonuses for the projects for the Interoperability Contest 2021!
Here are projects that scored it:
Project
Basic Auth
Bearer/JWT
OAuth
Authorization
Auditing
Encryption
Docker
ZPM
Online Demo
Code Quality
Article on DC
Video on YouTube
Total Bonus
Nominal
2
3
5
2
2
2
2
2
3
1
2
3
29
appmsw-forbid-old-passwd
2
2
2
1
2
9
isc-apptools-lockdown
2
-
-
1
2
5
passwords-tool
2
2
1
2
7
API Security Mediator
2
2
2
2
2
3
1
6
3
23
Audit Mediator
2
2
2
1
4
3
14
iris-disguise
2
2
1
4
3
12
iris-saml-example
5
2
2
2
3
1
2
17
Server Manager 3.0 Preview
2
4
6
appmsw-dbdeploy
2
2
1
2
7
Data_APP_Security
2
5
2
2
2
2
3
1
4
3
26
IRIS Middlewares
2
1
3
TimeTracking-workers
2
2
1
5
zap-api-scan-sample
2
1
4
3
10
https-rest-api
2
2
Please apply with your comments here in the posts or in Discord.
Bonuses are subject to change upon the improvements or your requests if we missed something!
Good luck in the contest! Hi Mr. Evgeny Shvarov
Thanks for sharing Please note that Data_APP_Security app already have article on DC
Thanks I claim 2 points to audit mediator app, because the article https://pt.community.intersystems.com/post/aproveitando-o-banco-de-dados-de-auditoria I claim 2 points to security mediator, because the article https://pt.community.intersystems.com/post/o-poder-do-xdata-aplicado-%C3%A0-seguran%C3%A7a-da-api I request bonus to online app (SecurityMediator)
http://ymservices.tech:52773/crud/ I request bonus to use Audit into the app SecurityMediator. Evidence: https://github.com/yurimarx/iris-api-security-mediator/blob/a3fa1863cd8318ace38d554ef3956694e6b28ef4/src/dc/SecurityMediator/SecurityMediator.cls#L66 I request bonus to the use of basic auth, my app is REST API that's requires basic auth. If you access my app online, you have to inform user and password. (http://ymservices.tech:52773/crud/). Evidence: https://github.com/yurimarx/iris-api-security-mediator/blob/a3fa1863cd8318ace38d554ef3956694e6b28ef4/module.xml#L21 I just posted another article about my Server Manager 3 entry: https://community.intersystems.com/post/server-manager-now-showcasing-vs-codes-new-support-pre-release-extensions I didn't know that translated articles give points, so if it is allowed there is my article in portuguese https://pt.community.intersystems.com/post/anonimiza%C3%A7%C3%A3o-de-dados-apresentando-iris-disguise Hi,
I am requesting points for translated article in Spanish for Data_APP_Security app
https://es.community.intersystems.com/post/c%C3%B3mo-crear-usuarios-conceder-privilegios-habilitardeshabilitar-y-autentificarinvalidar
Thanks Hi,Add video on YouTube https://www.youtube.com/watch?v=Ofyf0IdakeYThanks I claim more 2 points (security mediator) for my new article https://community.intersystems.com/post/objectscript-rest-api-cookbook Hey Mr. Evgeny Shvarov
Please add points for the `quality code` for:
# appmsw-forbid-old-passwd +1
# isc-apptools-lockdown +1
I also ask you to add +2 for `appmsw-forbid-old-passwd`
The program that checks the correctness of the password entered by the user is already definitely an authorization component. Please add points for the quality of the code for `appmsw-dbdeploy`all errors are due to the fact that the code quality program cannot work with% ZPM.https://community.objectscriptquality.com/dashboard?id=intersystems_iris_community%2Fappmsw-dbdeploy Hi Mr. Evgeny Shvarov
Please note that I have added OAuth2 support along with Article for Data_APP_Security appThanks Hi @Evgeny.Shvarov We are here to request bonus points to Gryffindor ZAP API Scan Sample
zap api scan sample
1 article in English: https://community.intersystems.com/post/why-how-whats-zap-api-scan-sample
and 1 article in Portuguese: https://pt.community.intersystems.com/post/por-que-como-o-que-%C3%A9-zap-api-scan-sample
 :)
Announcement
Evgeny Shvarov · Feb 7, 2022
Hi Developers!
Here're the technology bonuses for the InterSystems Python Contest 2022 that will give you extra points in the voting:
Embedded Python - 4
Python Native API - 3
Python Pex - 3
NoObjectScriptLine - 5
Questionnaire - 2
Docker container usage - 2
ZPM Package deployment - 2
Online Demo - 2
First Article on Developer Community - 2
Second Article On DC - 1
Video on YouTube - 3
See the details below.
Embedded Python - 4 points
Use Embedded Python in your application and collect 4 extra points. You'll need at least InterSystems IRIS 2021.2 for it.
Python Native API - 3 points
InterSystems IRIS introduces a Python Native API library that helps to interact with IRIS from python. Use it and collect 3 extra points for your application.
Python Pex - 3 points
InterSystems IRIS has Python Pex module that provides the option to develop InterSystems Interoperability productions from Python. Use it and collect 3 extra points for your application. It's OK also to use alternative python.pex wheel introduced by Guillaume Ronguier.
NoObjectScriptLine - 5 points
We are introducing several python APIs in this contest! And the bonus is yet another challenge: build your python solution with InterSystems IRIS and try to avoid using even a line of ObjectScript! IRIS Classes with only Embedded Python methods are OK though. Do it and collect 5 bonus points more!
Questionnaire - 2
Share your feedback in this questionnaire and collect 2 extra points!
Docker container usage - 2 points
The application gets a 'Docker container' bonus if it uses InterSystems IRIS running in a docker container. Here is the simplest template to start from.
ZPM Package deployment - 2 points
You can collect the bonus if you build and publish the ZPM(InterSystems Package Manager) package for your Full-Stack application so it could be deployed with:
zpm "install your-multi-model-solution"
command on IRIS with ZPM client installed.
ZPM client. Documentation.
Online Demo of your project - 2 pointsCollect 2 more bonus points if you provision your project to the cloud as an online demo. You can do it on your own or you can use this template - here is an Example. Here is the video on how to use it.
Article on Developer Community - 2 points
Post an article on Developer Community that describes the features of your project and collect 2 points for the article.
The Second article on Developer Community - 1 point
You can collect one more bonus point for the second article or the translation regarding the application. The 3rd and more will not bring more points but the attention will all be yours.
Video on YouTube - 3 points
Make the Youtube video that demonstrates your product in action and collect 3 bonus points per each.
The list of bonuses is subject to change. Stay tuned!
Good luck in the competition!
Announcement
Olga Zavrazhnova · Mar 4, 2022
Hi Developers, We are excited to announce that InterSystems will be a Platinum sponsor of Hacking Health Camp - big professional HealthTech conference and hackathon, which will take place in-person in Strasbourg, France on March 25-27, 2022.
On March 8, 2022 @Guillaume.Rongier7183 will carry out a webinar "How FHIR can help you develop your health applications" (Webinar language: French). Register here.
At the hackathon, InterSystems will have a challenge for hackers on using InterSystems FHIR cloud services.
Learn more on official website and join us in-person in France!
Announcement
Anastasia Dyubaylo · Mar 18, 2022
Hey Developers,
New video is already on InterSystems Developers YouTube channel:
⏯ What is the InterSystems IRIS FHIR Server
Learn about the InterSystems IRIS® FHIR Server, the fully managed FHIR data solution that empowers FHIR application developers to focus on building life-changing healthcare applications.
Stay tuned!
Announcement
Olga Zavrazhnova · Feb 22, 2022
Hi Community, we continue to gather feedback about Data Loading & Packaging. In particular, we're interested in hearing your impressions on some of the new capabilities added with InterSystems IRIS 2021.2 We'll be using this feedback to improve InterSystems IRIS, so please feel free to share any details and feedback:
>> Link to the survey (14 questions, 5 min) <<
Note: this is the same survey we already published during the contest, on Global Masters and Discord. If you already participated, you don't have to do it again. Thank you for the feedback!
Announcement
Anastasia Dyubaylo · Mar 23, 2022
Hey Coommunity,
Learn about InterSystems globals, the data model native to InterSystems IRIS® data platform that makes data storing efficient and provides the flexibility your data needs:
⏯ Flexible Data Modeling with InterSystems Globals
Don't miss the latest videos for InterSystems developers on DC YouTube!
Announcement
Anastasia Dyubaylo · Aug 20, 2022
Hey Community,
In this video, you will learn how to use the Data Transformation Wizard in the Management Portal of InterSystems IRIS® data platform to convert messages to other formats:
⏯ Transforming Healthcare Messages in InterSystems Integrations
Subscribe to the InterSystems Developers YouTube channel and stay tuned!