It is basically Ok. However, I have some remarks.
The PID in the first message is probably the parameter name. It is not necessary to show it here, because the interaction obviously doesn't depend on the actual value of this parameter. If you really want to show the parameter name, you have to assign it a value. This could also be a wildcard value, which is shown with a hyphen: SupplyPatientInfo(PID=-).
For me it looks as if all messages in the alt-fragment should be reply messages. Following rule applies for the message label:
<reply-message-label> ::=
[<assignment-target> ‘=’] <message-name> [‘(’ [<output-argument-list>] ‘)’]
[‘:’ <value-specification>]
The message name of a reply message is the same as the synchroneous message it is replying to. The reply to RequestAuthorization() would therefore be labeled with RequestAuthorization():True. As you see, the return value is shown after the message name separated by a colon.
The next reply message would be labeled: RequestInfo():requestedPatientInfo
You could save one reply message by moving it out of the alt fragment and assign the return value to a local variable: authorized=RequestAuthorization(). The condition in the alt-fragment would then simply be [authorized].
If you leave the two reply messages, you should remove the conditions in the alt fragment. The two scenarios described in the fragments are already defined by the different return values. Since these are only arriving in the fragment, the values cannot determine which fragment occurs.
As you see, names of reply messages are pre determined. If you want to use different names, you can use asynchroneous signals in both directions instead. Maybe, that is even a better representation for communication with humans, which is inherently asynchroneous. These messages are shown with open arrow heads. Good names for signals to the MedicalAssistant could be PatientInfo(info:foundPatientInfo) and Error(text:"Authentication Failed").
The execution specifications (the long, grey, vertical boxes) should only begin after a lifeline has received a message. Of course, they don't add any useful information. So, simply remove them - they are optional. This also makes it easier to edit the diagram.
All the lifelines are probably representing participants of this interaction typed by the classes named in the head of the lifeline. As types the names should have a leading colon. Of course, everybody will also understand it without them.