go to post Matt Fuller · Dec 7, 2017 Thanks, I appreciate the response! I hadn't thought to use the ListStreamletIds method, and that may be easier than the way I'm getting streamlets from the viewer cache. My problem originally was that even though the fetch request was returning the full SDA with my custom streamlets intact, the custom streamlets weren't even making it into the viewer cache so I had no idea how to get them into the Clinical Viewer.I was able to make some progress, however. The web.SDA3.Loader's AddStreamlet method called by the Gateway Access Manager had no idea what to do with my streamlets because I hadn't made a corresponding web.SDA3.{streamletClassName} class with an Insert( ) implementation. Since none of the existing chart profiles fit my custom data type except questionnaire (for which I've also found very little documentation--there's a brief description in the documentation for CustomObjects, but my data is more complex that key/value pairs), I decided to implement a fairly straight-forward Insert( ) method just to get the streamlets into the viewer cache, and I'll just render and populate the viewer tables "by hand" in an empty EPR chart. I'm not sure if this is the best way to do it, but it gives me a working prototype to experiment with and refine.
go to post Matt Fuller · May 31, 2017 Hi Jan,Thanks a lot for this explanation. This explains the behavior I was seeing, and I have a much better understanding of how proxies are supposed to be used. After setting up UserB as a proxy to UserA, I logged in as UserB and searched for patients using only the "Primary" relationship filter and found nothing. I then clicked the Proxy link on the Patient Search page as you described and chose UserA and performed the same search, and this time I saw all the patients who had UserA as a Primary, which is exactly what I would expect to see. I think what I found initially confusing is that I was expecting to see an indication of these relationships in the Clinician Portal, but they only seem to be apparent when performing a patient search. I think this also answers my original questions regarding proxies and relationship-based subscriptions: the proxy relationship does not automatically include the proxy in the same subscriptions as the clinician to whom they are a proxy. It appears to only apply to searching and viewing patient records during an active section after "claiming" the proxy relationship.Thanks again for your response.
go to post Matt Fuller · May 28, 2017 I'm hoping someone in the community who has some experience with proxy users will chime in here, since either I seem to be misunderstanding how they're supposed to be set up and used, or they don't work as they're described. The little documentation there is about these types of user account designations seems to contradict the behavior I'm seeing.As an experiment, I created a clinician user account called UserA and set him up as both "Active" and "Clinician" in the Clinician/User Registry, then linked him to his Access Gateway account, where he has the role of %HS_Clinician. I then defined a relationship of "Primary" with 4 test patients. When I login as UserA and go to his Clinician Portal, if I click on Relationships and choose Primary from the drop-down, I see all 4 test patients just as I would expect to. (Interestingly, I'm using HS version 2016.2.1 and I don't see the option to use Relationships as a results filter unless I navigate away from Patient Search and return several times. Eventually it will show up as an option.) When I do a patient search using the relationship filter of Primary as the only search criteria, I see only the 4 patients I linked to UserA, which again is expected behavior.To set up a proxy, I created a user account called UserB following the same steps as above, but since proxies are described in the documentation as possibly being administrative staff, I gave UserB the role of %HS_Clerical and did not tick the Clinician box in the Clinician/User Registry. However, leaving this box unchecked made it impossible to define UserB as a proxy for UserA. Apparently, proxies must be set up as Clinicians in the registry, because as soon as I did this, I was able to find UserB and make him a proxy for A. I didn't define any relationships for UserB.I then logged in to the Access Gateway as UserB to view my relationships, and there were none. I performed a patient search using relationships "Primary" and even "Proxy," and again, I found nothing. So apparently, simply designating UserB as A's proxy did nothing--no relationships were inherited (or "assumed" as the documentation says) and nothing was transferred. They're just two different accounts.I can correct this to some extent by logging in as UserB and manually defining Proxy relationships with those 4 patients, which is perhaps what I'm supposed to do, but this seems to defeat the purpose of designating a proxy in the first place. That's not assuming existing relationships; it's defining new ones. This may seem reasonable for these 4 patients, but what if this were a clinical assistant who was to act as a proxy for a clinician who had 97 patients? Do these need to be manually linked to the proxy user one by one? I could use the option to move the relationships from one user to the other, but that literally moves them and UserA will no longer be their Primary. Am I setting the proxy up correctly, or are there additional permissions or account settings that need to be set for the patient relationships to be assumed by the proxy?
go to post Matt Fuller · May 26, 2017 Thanks for the thorough explanation of this subject. Documentation about proxy users has been difficult to track down. I do have an additional question about proxy users and how they related to subscriptions, however. From the IE Security Guide you quoted above: [emphasis added]Information Exchange also supports the notion of a proxy user, an individual who is authorized to log in in place of one or more clinicians and who enjoys the same clinician/patient relationships as the clinician. Frequently, this would be an assistant to a clinician logging into Information Exchange in order to pull down a patient record at the clinician’s request.Should a clinician's proxy inherit a relationship-based subscription to which the clinician has subscribed? We've seen some inconsistent behavior around proxies and subscriptions, and I'm not sure what the expected behavior actually should be.For example, in our test environment, it appears that simply making User B a proxy for User A will not include User B in notifications from A's relationship-based subscription, even though B is supposed to assume the relationships of A. Additionally, if we use User B's email in place of A's (for cases where the clinician does not wish to receive the notifications), User B receives an error after following the link and logging in because they are not authorized to view the document. This seems to contradict the statement in the Security Guide which states that proxies are authorized to log in on behalf of a clinician. Is this expected behavior?