Great discussion/question...

Disadvantages that come to mind:

  • support of $all operation is on the patient resource
  • yet another resource to consider for merges and outside of newer ops like $merge
  • "RelatedPerson" is built on a codified Relationship type you should ensure meets the use case.
  • Patient has a relationship that rolls up to the Account object (guarantor), Person does not.

In general on the mapping of known classifications implemented in our practices:

Account = Guarantor
Patient = A "Person" with at least one: visit or encounter or claim or social need/fulfillment.
Person = Established identity with no visits or encounter, used for proxy access to records, not tied to the account , but exists for oauth2 scopes.
RelatedPersons = known children or persons without workload relevance. (use this in SDOH heavily)

As an example of our lastest use case of the Person resources:

Social needs web wizard, that collected QuestionairreResource responses and tied them to a "Person" as the identity was not proofed until contact was met with the "Person" by the Social Navigator.  Upon contact, a more formal "Patient" record was created to attach the ServiceRequest to.

hope some of that helps, mostly brain dumping here...

Follow up here,  apache conf needed a directive for the move forward.

The previous Gateway/IRIS combination did not require the below apache directive, but the upgraded setup certainly required.

<Location />

Docs do not really show it called out directly to turn on this apache directive for the root at all in the documentation but that is what was done to make it compatible in the declared version combination in case you run into this combo on similar configurations.

Thanks to Connie at the WRC for taking an in-depth look in short order.

Has anybody happened to get MQ inbounds working with explicit authentication?  I have a need to talk to different queues with different credentials  across environments and the limitation of the using the os user running the process is inhibiting it.

There is a tiny blurb about setting the credentials object on the adapter, but maybe I am not implementing it correctly as designed. 

I basically copied the adapter class, and tried to use the ..CredentialsSet method which points to a standard Ens credential on the system with username and password.

Method OnInit() As %Status
Set tSC = ..InitQueue()
Set tSC = ..CredentialsSet("mq")
If $$$ISERR(tSC) Set ..%initQueueNeeded = 1
#; Do not prevent job starting if cannot initialise on connection.
#; If still error initialising in first poll it will be reported in the event log and available for Alert on Error
Quit $$$OK

No luck here, if anybody can help me out, it would be appreciated!