go to post Enrico Parisi · Sep 17, 2024 We are not InterSystems support team, we are a Developer Community. 😊 You can download it from WRC (Worldwide Response Center) portal, the official InterSystems Support. If your system is under support/maintenance you should have access to it. If you your system is not covered by support/maintenance, you are not entitled to updates. For testing purpose you may use/download IRIS Community Edition.
go to post Enrico Parisi · Sep 17, 2024 I've never done it but it should work, the correct syntax is MSH:4, not MSH-4.
go to post Enrico Parisi · Sep 17, 2024 Instead of using array use list, possibly with XMLPROJECTION = "ELEMENT", something like: Property Slide As list Of Q.Interface.Fragment.IMS.Slide(XMLPROJECTION = "ELEMENT"); This way you get what you need.
go to post Enrico Parisi · Sep 16, 2024 Many ways to do it, my way: USER>Set input=25 USER>Set ln=10 USER>Set $Piece(Pad,"0",ln-$Length(input))="0" USER>Set Padded=Pad_input USER>Write Pad="00000000" Padded="0000000025" input=25 ln=10
go to post Enrico Parisi · Sep 12, 2024 Ciao Pietro, exactly for that scenario IRIS provides the Work Queue Manager, I suggest you to start with the documentation: Introduction to the Work Queue Manager (and following chapters) Then if you have doubts, come back with more specific questions.
go to post Enrico Parisi · Sep 4, 2024 I'm trying to convert date - 2023-09-28T20:35:41Z to BST/GMT format. Please note that BST and GMT are not "format" and (may) have different values.From your answer to @Robert Cemper it seems you need to covert to BST value (not GMT) and to "yyyymmddhhmmss" format. To answer your question, is BST your system local timezone?
go to post Enrico Parisi · Aug 28, 2024 If you don't like the default behavior, change it. 😊 You can change it system wide from Management Portal, System Administration -> Security -> System Security -> System-wide Security ParametersThere you can change "Inactive limit" to 0 (zero), this way accounts never expire. You can also change it for any individual user accounts in Management Portal, System Administration -> Security -> Users -> (select the user)There you can enable the checkbox "Account Never Expires".
go to post Enrico Parisi · Aug 28, 2024 Instead of the $SYSTEM "shortcut", use the actual full syntax: JOB ##class(%SYSTEM.OBJ).Export("RICHS.int","c:\AAA\richh.rtn")
go to post Enrico Parisi · Aug 27, 2024 HS.FHIR.DTL.vR4.Model.Resource.Encounter is a %RegisteredObject, it cannot be used as interoperability request/response. An interoperability response/request MUST be a persistent class.
go to post Enrico Parisi · Aug 27, 2024 To loop/list all files within a directory, possibly with wildcard filter, you can use the FileSet class query in %Library.File class, see documentation on Query Directories and Drives, List the Contents of a Directory.
go to post Enrico Parisi · Aug 26, 2024 You have a superclass with some logging method. Now every time the logging method is called from a child class it logs the name of the superclass instead of the Child class? No If so the issue is that $CLASSNAME returns the name of the class where the method is located not where a method is called from. Wrong, it returns the class name where it is called from. Your first sample method works just fine, no need for method generator. I suggest you to make a quick test.
go to post Enrico Parisi · Aug 23, 2024 Why modify the code when you can modify the SQL Gateway definition to point to the production system? This way the code is the same (dev/prod) but only the configuration change. In your example "xxxxx" is the SQL Gateway name, change in management portal to point to the required environment.
go to post Enrico Parisi · Aug 23, 2024 I don't understand what you refer with "the name of the item which created it", can you provide an example of what you expect as result? $CLASSNAME($THIS) returns the actual class name of $this instance, not a superclass or the class where is executed (possibly a superclass).
go to post Enrico Parisi · Aug 23, 2024 You can use the ImportFromString() method in EnsLib.HL7.Message class: Set HL7Message=##class(EnsLib.HL7.Message).ImportFromString(StringHL7,.Status)
go to post Enrico Parisi · Aug 21, 2024 With "pre-compiled parameter" you mean a class parameter? Of what class? You may user the $paramater function: $parameter(classname,parametername)
go to post Enrico Parisi · Aug 21, 2024 I can see the function %GetParameter available in the WYSIWIG rule editor There is no %GetParameter function available in default functions provided by IRIS, to list available functions you need to press the "fx" button, it looks you have typed in %GetParameter. Maybe you have developed a custom function called %GetParameter? What parameter are you looking for within an HL7 routing rule?
go to post Enrico Parisi · Aug 8, 2024 EXCELLENT advise/suggestion! I fully agree that using global mapping is MUCH better. 👏
go to post Enrico Parisi · Aug 8, 2024 I don't think there is an official support way to achieve that. However, if you temporary change ENSLIB database and remove read-only flag and then: Set ^IRIS.Msg("EnsColumns","en","ServerName")="Server Name" or maybe better: s ^IRIS.Msg("EnsColumnsNAMESPACENAME,"en","ServerName")="Server Name" where NAMESPACENAME is the name of your production. And then you put back the read-only flag in ENSLIB database......you will find a surprise 😉 Note that this is a kind of a hack, you lose the "surprise" when you upgrade and may not work in future versions. Edit: see @Eduard Lebedyuk advise below for a much better way to do it using global mapping instead of changing ENSLIB
go to post Enrico Parisi · Aug 8, 2024 The count syntax ("*") only works if used for the last repeating element and using curly braces, so this works: HL7.{PIDgrpgrp(1).ORCgrp(1).OBXgrp("*")} You need to loop in the two previous groups (PID and ORC) to get the total count of OBX segments in the message.