ISPatientMessage.PosID

Description

ID of the place of service where the patient's SMS message was sent from.

Syntax

object.PosID

Part Attribute Type Description
object Required
The object always implements the ISPatientMessage interface

Return Value

int

Example

Display the number of the patient's messages loaded on the basis of the selected filter, their text, linked POS and the participants of the conversation.

sub main()

Dim aPatient
Dim aProvider
Dim aPos
Dim aFilter
Dim aPatMessages
Dim aPatMessage
Dim aMessage 

Set aPatient = Profile.SelectPatient
set aPos = Profile.LoadProvider("TO")
set aFilter = Profile.CreatePatientMessagesFilter 
aFilter.PatientId = aPatient.ID
 
set aPatMessages = Profile.LoadPatientMessages(aFilter)

aMessage = "Messages before Pos updating " & vbNewLine & vbNewLine &_ 
  GetMessagesAsText(aPatMessages) 

for i = 0 to aPatMessages.Count - 1
  set aPatMessage = aPatMessages.Item(i)
  aPatMessage.PosId = aPos.Id
next  

aMessage = aMessage & vbNewLine & "Messages after Pos updating " & vbNewLine &_ 
  vbNewLine & GetMessagesAsText(aPatMessages) 
  
Profile.MsgBox(aMessage)

end sub

function GetMessagesAsText(aPatMessages)

  aMessage = "Patient Messages Count = " & aPatMessages.Count & vbNewLine  

  for i = 0 to aPatMessages.Count - 1
    set aPatMessage = aPatMessages.Item(i)
  
    if aPatMessage.PatientId > 0 then
      set aPatient = Profile.LoadPatient(aPatMessage.PatientId)
      aMessage = aMessage & " Patient: " & vbTab & aPatient.SurnameFirstname & vbTab
    else
      aMessage = aMessage & " Patient: " & vbTab & "    -      " & vbTab        
    end if  
  
    if aPatMessage.ProviderId > 0 then 
      set aProvider = Profile.LoadProviderById(aPatMessage.ProviderId)
      aMessage = aMessage & " Prov: " & vbTab & aProvider.FullName & vbTab
    else
      aMessage = aMessage & " Prov: " & vbTab & "    -      " & vbTab    
    end if

    if aPatMessage.PosId > 0 then 
      set aPos = Profile.LoadProviderById(aPatMessage.PosId)
      aMessage = aMessage & " POS: " & vbTab & aPos.FullName & vbTab
    else
      aMessage = aMessage & " POS: " & vbTab & "    -      " & vbTab    
    end if

    aMessage = aMessage & vbTab & " Text: " & vbTab & aPatMessage.Text & vbNewLine
  next

  GetMessagesAsText = aMessage
end function
Note:

In Profile Client v8 on User Interface POS ID cannot be found, but POS can be found in Organisation > Control Centre > Manage > SMS Log > POS.

Version information

Added in v8.1.0
Access changed to read/write in v8.2.0