Rhapsody provides three types of message properties:

Message properties can be used to configure components by using the $propertyName notation to define the value of a component configuration property directly, or be used in JavaScript code to configure JavaScript components.

Using a message property with a literal is not supported. If a message property is used to define a value, it cannot be paired with other literals or variables. There are two reasons for this:

  1. The message property is not defined until the message arrives, so the communication point or filter has to do a specific lookup on the message to resolve its value.
  2. A message property can contain numbers, letters, and symbols. As a result, it may be ambiguous as to where the property name starts and ends. This is shown in:

     $DIrHost\messages\in

    which could be interpreted as the value DIrHost\messages\in or it could mean get the property DIrHost and attach the literal \messages\in.

User-defined Message Properties

Users can define their own properties and manipulate them using JavaScript. Refer to ROMessage Object and Message Object for details.

Published Message Properties

Published properties are in-built message properties specific to certain filters and input-side communication points, which are automatically added to messages. Published properties for filters and communication points on a route are added to all drop-down lists where message properties can be selected on that route. A filter or communication point's published properties are documented as part of its description.

Standard Message Properties

Standard message properties are message properties that are typically associated with messages. They include:

Standard Message Property Description
MessageID The internal message identifier. This property is special and any attempt to set it will be ignored.
InputTime The time that the message was received. It is a Long-formatted as a string, where the Long represents the number of milliseconds since 1 Jan 1970. This property is special and any attempt to set it will be ignored.
MessageName The message type that is populated when the message is parsed.
DefinitionName The name of the message definition used to parse the message.
rhapsody:MessageControlId The message control identifier of an outgoing message that is being tracked by message tracking. The output search option that uses the message control identifier simply looks for an indexed message property of this name. While message tracking sets this property automatically, there is nothing stopping it being set manually instead (just make sure that it is indexed). When using the old message tracking (the filters). Set when the message goes through the tracking filter (it will not, of course, be indexed until it reaches the communication point).
rhapsody:OldTrackingMessageName The name of the message when used for the old message tracking. Set by the tracking filter.
rhapsody:OldTrackingResponseTimeout Set by the tracking filter to indicate the response timeout period (in seconds). After the timeout occurs, the message may be either resent or marked as failed. It is a whole number, encoded as a string, where 0 represents an infinite timeout.
rhapsody:OldTrackingMaximumResends Set by the tracking filter to indicate the maximum number of resends for this message when no response is received. It is an integer encoded as a string, where -1 represents an infinite number of resends.
rhapsody:OldTrackingRouteId Set by the tracking filter to the internal identifier of the route that it is on.
rhapsody:InputCommunicationPoint The name of the communication point that this message was originally received from. Note that if a message was received on an Out->In communication point, then this property refers to the input communication point that the original request was received on instead.
rhapsody:InputCommunicationPointId The internal identifier of the communication point that this message was originally received from. Note that if a message was received on an Out->In communication point, then this property refers to the input communication point that the original request was received on instead.
rhapsody:ErrorRouteId The internal identifier of the last route whose error handler processed this message. It is used internally within the route executor to prevent accidental re-entry into a route error handler.
rhapsody:ErrorRoute The name of the last route whose error handler processed this message.
rhapsody:ErrorFilterId The internal identifier of the last filter where an error occurred, causing the message to be sent to the route error handler.
rhapsody:ErrorFilterName The name of the last filter where an error occurred, causing the message to be sent to the route error handler.
rhapsody:InputMessageType The input message name. It is automatically set by property extraction if not already set, but can be manually set at any stage. Property extraction automatically marks this property to be indexed for both input and output.
rhapsody:OutputMessageType The output message name. This property is automatically set by property extraction, the HL7 Acknowledgement Generation filter, and the Mapper filter, and marked to be indexed on output.
rhapsody:ResponseLatency The response latency time. It is Long-formatted as a string representing the response latency in milliseconds. It can be added by a custom Out->In communication point in its receiveMessage() method in order to inform the communication point framework how long it took to receive the response. Most communication points do not need to set it as the framework calculates it correctly.
rhapsody:BodyEncoding The name of the Java encoding currently associated with the body of this message. This a special property and cannot be set directly. It is not present if the body encoding has not been explicitly set.
rhapsody:HL7Encoding The name of the HL7 encoding extracted from a message. Currently, it is extracted by the HL7 Character Encoding Detection filter, but is not read by any other components.
rhapsody:InputWebService The name of the Rhapsody web service that the message was received from.
rhapsody:InputWebServiceOperation The name of the operation on the web service that this message was received from.
rhapsody:WebServiceUser The name of the authenticated user for a web service. It is not set if the web service is configured to not perform authentication.
rhapsody:WebServiceAsynchronousRequest Is present (and set to true) on an incoming message from a web service if the request used WS-Addressing and set the Reply-To address as something other than anonymous (in other words, the request is asynchronous). The property is not set if the request is synchronous.
rhapsody:SoapFault Should be present on an outgoing web service message to indicate to Rhapsody that it is a SOAP fault rather than a normal response.
rhapsody:InputSoapEnvelopeNamespace The URI of the SOAP namespace used for the incoming web service message. This implicitly allows the caller to check what version of SOAP is being used.
wsa:From The value of the wsa:From SOAP header if an incoming web services message is received with WS-Addressing headers.
wsa:To The value of the wsa:To SOAP header if an incoming web services message is received with WS-Addressing headers.
wsa:ReplyTo The value of the wsa:ReplyTo SOAP header if an incoming web services message is received with WS-Addressing headers.
wsa:FaultTo The value of the wsa:FaultTo SOAP header if an incoming web services message is received with WS-Addressing headers.
wsa:Action The value of the wsa:Action SOAP header if an incoming web services message is received with WS-Addressing headers.
wsa:MessageID The value of the wsa:From SOAP header if an incoming web services message is received with WS-Addressing headers.
rhapsody:WebServiceDiscardAsynchronousResponse Can be set on a web services response message when it is a token response to an asynchronous request which should be discarded. It is required when running the communication point in In->Out mode but the response is sent via another Rhapsody communication point to keep the communication point framework happy.
rhapsody:TimeToLive The time-to-live (TTL) property is set on messages received on In->Out communication points that are configured to discard received messages once the timeout occurs. It is a Long which is the expiry time of the message (System.currentTimeMillis() + timeout period). When the timeout occurs, the message is discarded shortly thereafter. An expiring message can be kept alive by removing (or changing) this property.
rhapsody:DuplicateMessageOutputProperty The Duplicate Message Detection filter can indicate duplicate messages by either sending the message to the Error Queue or setting this output message property.
rhapsody:DuplicateMessageProcessedFlag When a detected duplicate message has been sent to the Error Queue, this flag is set to 'true'. If the message is reprocessed, then the filter passes the message through unchecked.
rhapsody:WebServiceIncomingUsernameToken Set on incoming web service requests if the SOAP request includes a username token. The property will be set if the username token is present even if the web service is not performing username token authentication.
rhapsody:WebServiceIncomingCertificateSubject Set on incoming web service requests that used either HTTPS client authentication or x509 token authentication. The subject x.500 distinguished name is extracted from the certificate and set as a message property on the incoming message.
rhapsody:NotificationEventIdentifier The Watchlist Notifier communication point publishes the event identifier for each notification event produced by the communication point.
rhapsody:NotificationEventName The Watchlist Notifier communication point publishes the event name for each notification event produced by the communication point.
rhapsody:SoapFaultCode Set by the web services consumer on incoming fault messages. It contains the local name of the SOAP fault code.
rhapsody:SoapFaultSubCode Set as a property list by the web services consumer on incoming fault messages if the fault contains any sub-codes. It contains the local name of each fault sub-code.
rhapsody:ReinjectedMessage Set to true when a message is re-injected from the archive, Error Queue or Hold Queue back into the route.
rhapsody:NotificationEventSeverity The current severity of a notification issue generated as a Rhapsody message.
rhapsody:NotificationEventDeliveryType The current delivery type of a notification issue generated as a Rhapsody message.
rhapsody:ReceivedUsingMTOM Added to a message to indicate that a message was received using MTOM.
rhapsody:XopFields The list of XPaths that should be extracted from the message and sent via XOP.
ihe:TransformerMessageSeparators The actual message separators that were used to generate any raw values in an IHE message. If these differ from the standard HL7 separators, then they are replaced during the transformation. The value in this property should be formatted as the combination of MSH.1 and MSH.2 (for example: |^~\& ).
ihe:AtnaEventType The IHE event type being processed in the format expected for the ATNA logs.
ihe:SubmissionSetUniqueId The submission set unique identifier for an IHE transaction. Formatted as an OID.
ihe:SubmissionSetPatientId The submission set patient identifier for an IHE transaction. Formatted as an HL7 CX using the standard HL7 separators.
ihe:EndPointAddress The SOAP endpoint address for the IHE transaction.
rhapsody:BodySetFromXopData Set by the web service communication points when the message body was set directly from data received via XOP (it was set as binary rather than the encoded value).
rhapsody:XopFieldsNamespaces The list of prefix to namespace URIs that are used to resolve prefixes in the {@link #WEB_SERVICE_XOP_FIELDS} property. Each value in this list is in the form:
<prefix>=<uri> .
rhapsody:WebServiceCallerIPAddress The IP address of the web service client that has called a Rhapsody web service. Set on incoming web service requests.
ihe:RegistryQueryPatientIds The patient IDs used in a registry stored query.
ihe:DocumentUniqueIds The list of document unique identifiers. Set when performing a retrieve document set request.
ihe:RepositoryUniqueIds The list of repository unique identifiers. Set when performing a retrieve document set request.
ihe:HomeCommunityIds The list of home community identifiers. Set when performing a retrieve document set request.
ihe:MessageControlId The MSH-10 field used for ATNA logging. Set when performing a PIX query.
ihe:PatientQuery The complete PIX/PDQ query message for ATNA logging.
ihe:ReceivingApplication The receiving application extracted from a PIX/PDQ query.
ihe:ReceivingFacility The receiving facility extracted from a PIX/PDQ query.
ihe:SendingApplication The sending application extracted from a PIX//PDQ query.
ihe:SendingFacility The sending facility extracted from a PIX//PDQ query.
ihe:PixPdqPatientIds A list of the patient identifiers for a PIX//PDQ query.
wsaClient:replyTo The value that the web service client should use to set the replyTo WS-addressing header. Should be set on the route and is read by the Web Service Client communication point.
rhapsody:WebServiceIncomingCertificateIssuer Set on incoming web service requests that used either https client authentication or x509 token authentication. The issuer x.500 distinguished name is extracted from the certificate and set as a message property on the incoming message.
rhapsody:WebServiceIncomingCertificateSerialNumber Set on incoming web service requests that used either https client authentication or x509 token authentication. The certificate serial number is extracted and set in this message property formatted as a decimal number.
rhapsody:WebServiceIncomingCertificateSubjectKeyIdentifier Set on incoming web service requests that used either https client authentication or x509 token authentication. If the SubjectKeyIdentifier extension is present on the certificate, its value is extracted and set in this message property as a hex-encoded value.
rhapsody:DisableInputCommunicationPointEncodingCheck This property can be set by input communication points on newly received messages to indicate to the communication point framework that it should not run its normal encoding check after receiving the message. This can be done where the communication point is completely sure of the encoding of the received message and so doesn't want any possibly incorrect settings in the framework to override this encoding. In practice it is really only needed for those cases where the input communication point only sometimes knows the encoding of the received message – if it always knows the encoding then the framework encoding property can just be left as the default value. The value of this property is not relevant – it triggers this behavior simply be being present. Note that this message property is not persisted when added by an input communication point: it is removed by the communication point framework after receiving the message but prior to persisting it. It will be persisted normally if manually added after this point.
rhapsody:MaximumMessageConnectionRetries This property can be set to change the maximum number of per message connection retries on an outgoing message. It overrides the statically configured maximum retries configured for the communication point. It must be set to a non-negative integer. Note that this can only be used if per message connection retries are enabled for the communication point, and does not affect the maximum number of retries for the communication point itself.
rhapsody:IncomingSubjectFromCertificate Set as a property on the incoming MessageContext to the subject x.500 distinguished name used in the incoming certificate used for x509 token authentication.
rhapsody:IncomingIssuerFromCertificate Set as a property on the incoming MessageContext to the issuer x.500 distinguished name used in the incoming certificate used for x509 token authentication.
rhapsody:IncomingSubjectKeyIdentifierFromCertificate Set as a property on the incoming MessageContext if the certificate used for x509 token authentication includes the SubjectKeyIdentifier extension. If that extension is present, its value is extracted, and placed into this property encoded as hex. If the extension is not present, or could not be processed, then the property is not set.
rhapsody:IncomingSerialNumberFromCertificate Set as a property on the incoming MessageContext to the serial number of the certificate used for x509 token authentication. The serial number is formatted as a decimal number.
rhapsody:RedirectedFromCommunicationPointId Added to messages redirected from a communication point due to the per-message retries to provide the identifier of the communication point that redirected it.
rhapsody:RedirectedFromCommunicationPointName Added to messages redirected from a communication point due to the per-message retries to provide the name of the communication point that redirected it.
rhapsody:SnapshotMessageId Set as a property on the message when a snapshot of a message is taken. It is the message ID of the message at the point of the snapshot.
rhapsody:SnapshotBodyEncoding Set as a property on the message when a snapshot of a message is taken. It is the body encoding of the message at the point of the snapshot (if it was set).
rhapsody:ErrorCause

Added to failed messages of a communication point using Advanced Routing to indicate the reason for the failure.

rhapsody:ErrorCommunicationPointId
Added to failed messages of a communication point using Advanced Routing to provide the identifier of the communication point where the messages failed on.
rhapsody:ErrorCommunicationPointName
Added to failed messages of a communication point using Advanced Routing to provide the name of the communication point where the said messages failed on.