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.

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.

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?

Matt has not followed anybody yet.
Global Masters badges:
Matt has no Global Masters badges yet.