go to post Robert Cemper · Mar 10, 2019 I remember times when new programmers learned from their masters to use no matter whatprogramming language in her full beauty and elegance with all its features.no matter if this was Assembler/360 or Macro32 or C, C++, C# or Bliss or PL/1 or Fortran, Algol, .... [list almost unlimitted]All of them had their tricks and open and hidden features that inspired the creativity of developersand allowed them to create artwork instead of stereotypic formulated phrases. By this approach,developers get degraded from architects to monotone brick assemblers."users unfamiliar with the language" I'd recommend they should learn it to understand it before touching it.If I want to read the Правда I have to learn Cyrillic characters and the Russian language to understand it.Nobody would accept any request for Latin letters.
go to post Robert Cemper · Mar 10, 2019 Hmmm,it seems to prefer "waste screen space" style over "have all on 1 screen with no scrolling" [my favorite ]
go to post Robert Cemper · Mar 8, 2019 In this case, you may create a Privileged Routine Application with the rights you need and the required codecalling it raises access rights just for this routine.
go to post Robert Cemper · Mar 8, 2019 Hi Timwrite $d(^|"%SYS"|SYS("Security","SSLConfigsD",<my config> ),settings)provided you have access rightsCheers, Robert
go to post Robert Cemper · Mar 6, 2019 I think RowVersion and Serial Counter Fields should do it as well.(with less typing)
go to post Robert Cemper · Mar 4, 2019 You have to set your DB to be in Primary MIRROR before the copy.Otherwise, you may miss some kind of "Mirror-Marker" / Timestamp. I hit this trap also on my first trials.
go to post Robert Cemper · Mar 2, 2019 I just realized that this method doesn't check the existence of the ID.therefore:write:##class(Abstract.Class).%ExistsId(id) $li(##class(Abstract.Class).%ComposeOid(id),2)or any equivalent construct.
go to post Robert Cemper · Mar 2, 2019 OID contains the class name. So this should do it.write $li(##class(Abstract.Class).%ComposeOid(id),2)
go to post Robert Cemper · Mar 2, 2019 You are totally right.With Parent-Child your data are not only logical but also physically tied to each other.One-to-many allows you more flexible handling of Relations.Just one out of many examples M:N Relationship
go to post Robert Cemper · Mar 1, 2019 Exactly 4 weeks before UK is leaving the European Union on Friday, March 29th this sounds like kind of British humor to me.
go to post Robert Cemper · Feb 25, 2019 Thanks @Jeffrey Drumm !I always distrusted HL7 separators and ESC chars. when I first met them ages back as they carry the same limit as $PIECE() with them:"There is always somewhere some odd case where your separator turns up as content. " Praise $LB() !
go to post Robert Cemper · Feb 25, 2019 if \E is just a synonym for <ESC> than use insteadset remove=$c(27)
go to post Robert Cemper · Feb 25, 2019 set remove="\E"set hl7="OBX|1|RP|ECG||CARDIO ECG^APPLICATION^PDF^^\E\\E\sitehopital.org\E\files\E\cardio\E\022018\E\GE274583.PDF|"set clean=$replace(hl7,remove,"") write cleanOBX|1|RP|ECG||CARDIO ECG^APPLICATION^PDF^^\\sitehopital.org\files\cardio\022018\GE274583.PDF|
go to post Robert Cemper · Feb 21, 2019 for that case passing the variables by reference should be sufficient. ClassMethod Main() { Do ..InvokedMethod(,var1,.var2) W !,var1}ClassMethod InvokedMethod(byRef var1, byRef var2) { Set var1 = "ChangedInInvoked"}
go to post Robert Cemper · Feb 21, 2019 I see 5 options :any classmethod can be projected as SQL Procedure. So using your ODBC adapter you may communicate that way with Cachébased on rather poor personal experience of PHP & ODBC it is definitely not my favorite.With Angular & PHP you are in the Web environment. So SOAP Webservices may be useful.I had a very positive experience with that approach. see it here Feeling the power of CachéActually I would rather use REST in combination with JSONIf rather synchronous interaction between both sides is required AJAX (+JSON) could be a way Or for longer lasting asynchronous communication WebSockets might be appropriate.So you have a choice what fits best to your needs.
go to post Robert Cemper · Feb 19, 2019 interesting observation with CHPC 65001:a loop USER>for i=1:1:255 write i," ",$c(i),! stops the session with any character > $c(127).I'd suggest forget that M$ crap.Use Putty or any thing else.Cache for Windows (x86-64) 2018.1.1 (Build 312U) Thu Jan 3 2019 14:34:00 EST
go to post Robert Cemper · Feb 19, 2019 BTW.zwrite @reader.GlobalNameUSER>zwrite @reader.GlobalName^||CacheTemp=5^||CacheTemp(5,1)=$lb("element","","Oceano","Oceano",0,1)^||CacheTemp(5,2)=$lb("element","","Header","Header",0,2)^||CacheTemp(5,3)=$lb("element","","DataSource","DataSource",0,3)^||CacheTemp(5,4)=$lb("chars","Oceano","")^||CacheTemp(5,5)=$lb("endelement","","DataSource","DataSource")^||CacheTemp(5,6)=$lb("element","","DataType","DataType",0,3)^||CacheTemp(5,7)=$lb("chars","EDAttendance","")^||CacheTemp(5,8)=$lb("endelement","","DataType","DataType")^||CacheTemp(5,9)=$lb("endelement","","Header","Header")^||CacheTemp(5,10)=$lb("element","","Body","Body",0,2)^||CacheTemp(5,11)=$lb("element","","MIU","MIU",0,3)^||CacheTemp(5,12)=$lb("element","","Department","Department",0,4)^||CacheTemp(5,13)=$lb("chars","BCH","")^||CacheTemp(5,14)=$lb("endelement","","Department","Department")^||CacheTemp(5,15)=$lb("element","","TotalNumber","TotalNumber",0,4)^||CacheTemp(5,16)=$lb("chars","6","")^||CacheTemp(5,17)=$lb("endelement","","TotalNumber","TotalNumber")^||CacheTemp(5,18)=$lb("element","","NumberWaitingToBeSeen","NumberWaitingToBeSeen",0,4)^||CacheTemp(5,19)=$lb("endelement","","NumberWaitingToBeSeen","NumberWaitingToBeSeen")^||CacheTemp(5,20)=$lb("element","","LongestWaitMin","LongestWaitMin",0,4)^||CacheTemp(5,21)=$lb("endelement","","LongestWaitMin","LongestWaitMin")^||CacheTemp(5,22)=$lb("endelement","","MIU","MIU")^||CacheTemp(5,23)=$lb("element","","MIU","MIU",0,3)^||CacheTemp(5,24)=$lb("element","","Department","Department",0,4)^||CacheTemp(5,25)=$lb("chars","BOS","")^||CacheTemp(5,26)=$lb("endelement","","Department","Department")^||CacheTemp(5,27)=$lb("element","","TotalNumber","TotalNumber",0,4)^||CacheTemp(5,28)=$lb("chars","1","")^||CacheTemp(5,29)=$lb("endelement","","TotalNumber","TotalNumber")^||CacheTemp(5,30)=$lb("element","","NumberWaitingToBeSeen","NumberWaitingToBeSeen",0,4)^||CacheTemp(5,31)=$lb("chars","1","")^||CacheTemp(5,32)=$lb("endelement","","NumberWaitingToBeSeen","NumberWaitingToBeSeen")^||CacheTemp(5,33)=$lb("element","","LongestWaitMin","LongestWaitMin",0,4)^||CacheTemp(5,34)=$lb("chars","109293","")^||CacheTemp(5,35)=$lb("endelement","","LongestWaitMin","LongestWaitMin")^||CacheTemp(5,36)=$lb("endelement","","MIU","MIU")^||CacheTemp(5,37)=$lb("endelement","","Body","Body")^||CacheTemp(5,38)=$lb("endelement","","Oceano","Oceano")