InterSystems SDA
InterSystems SDA
Version 2012.2
31 August 2012
This book was assembled and formatted in Adobe Page Description Format (PDF) using tools and information from the following sources:
Sun Microsystems, RenderX, Inc., Adobe Systems, and the World Wide Web Consortium at www.w3c.org.The primary document development
tools were special-purpose XML-processing applications built by InterSystems using Caché and Java.
, ,
Caché WEBLINK, Distributed Cache Protocol, M/SQL, M/NET, and M/PACT are registered trademarks of InterSystems Corporation.
, , , ,
InterSystems Jalapeño Technology, Enterprise Cache Protocol, ECP, and InterSystems Zen are trademarks of InterSystems Corporation.
All other brand or product names used herein are trademarks or registered trademarks of their respective companies or organizations.
This document contains trade secret and confidential information which is the property of InterSystems Corporation, One Memorial Drive,
Cambridge, MA 02142, or its affiliates, and is furnished for the sole purpose of the operation and maintenance of the products of InterSystems
Corporation. No part of this publication is to be used for any other purpose, and this publication is not to be reproduced, copied, disclosed,
transmitted, stored in a retrieval system or translated into any human or computer language, in any form, by any means, in whole or in part,
without the express prior written consent of InterSystems Corporation.
The copying, use and disposition of this document and the software programs described herein is prohibited except to the limited extent
set forth in the standard software license agreement(s) of InterSystems Corporation covering such programs and related documentation.
InterSystems Corporation makes no representations and warranties concerning such software programs other than those set forth in such
standard software license agreement(s). In addition, the liability of InterSystems Corporation for any losses or damages relating to or arising
out of the use of such software programs is limited in the manner set forth in such standard software license agreement(s).
THE FOREGOING IS A GENERAL SUMMARY OF THE RESTRICTIONS AND LIMITATIONS IMPOSED BY INTERSYSTEMS
CORPORATION ON THE USE OF, AND LIABILITY ARISING FROM, ITS COMPUTER SOFTWARE. FOR COMPLETE INFORMATION
REFERENCE SHOULD BE MADE TO THE STANDARD SOFTWARE LICENSE AGREEMENT(S) OF INTERSYSTEMS CORPORATION,
COPIES OF WHICH WILL BE MADE AVAILABLE UPON REQUEST.
InterSystems Corporation disclaims responsibility for errors which may appear in this document, and it reserves the right, in its sole discretion
and without notice, to make substitutions and modifications in the products and practices described in this document.
• a utility (Caché class) that can set up a sample production for you
• a Test service, which is a simple Ensemble message router
• a set of registries to store:
– assigning authorities
– OIDs (of assigning authorities, home communities, coding systems, repositories, devices, facilities, etc.)
– configuration options
– internet addresses of services
– SAML credentials
InterSystems’ official IHE integration statement for the full line of HealthShare products can be found online at
www.intersystems.com/healthshare/ihe.
Note: Throughout this document, the following terms are used interchangeably:
• XDS.b/XDS
• PIXv3/PIX
• PDQv3/PDQ
• XDS
– Query the Affinity Domain’s registry and retrieve a document from a repository
– Provide and register a document (CDA or other) to a repository in the Affinity Domain
• XCA
– Query the registry in another Affinity Domain and retrieve a document from a repository
• CCD
– Generate a CCD document from an HL7 message and provide and register it to a repository.
– Generate a CCD document by querying an internal database
– Receive a CCD document (via a registry or point-to-point) and convert it to an internal format
Each use case is described and the messages are traced through the product. A table lists the components and settings
employed in each use case, and examples provide instructions on creating messages for input.
5. The HealthShare PIX Consumer transforms the response into a Patient Search Response message using the transfor-
mation specified in the TransformPIXToPatientSearch.
6. The HealthShare PIX Consumer returns the Patient Search Response message, which contains the name and MPI ID
of the patient, if found. If no patient is found, the response message indicates a <ResultsCount> of zero. If there is
an error, the PIX Consumer returns null.
IHE/PIX/Version1/PRPAIN201310UVToPatientSearchResponse.xsl
Set obj.MRN="1111222"
quit
}
IHE/PDQ/Version1/PRPAIN201306UVToPatientSearchResponse.xsl
quit
}
// Patient ID
Set obj.MRN="1111222"
Set obj.AssigningAuthority="EXTERNAL" // refers to an Assigning Authority entry in the OID Registry
// Address 1
Set addr=##class(HS.Types.Address).%New()
Set addr.City="Somewhere"
Set addr.State="SW"
Set addr.StreetLine="123 Money Street"
Set addr.Use="HP" // Primary Home address
Do obj.Addresses.Insert(addr)
// Address 2
Set addr=##class(HS.Types.Address).%New()
Set addr.City="Anywhere"
Set addr.StreetLine="456 Any Street"
Set addr.Use="WP" // Work Place address
Do obj.Addresses.Insert(addr)
//Telephone
Set tel=##class(HS.Types.Telecom).%New()
Set tel.PhoneCountryCode="1"
Set tel.PhoneAreaCode=705
Set tel.PhoneNumber=5551212
// Alternate ID
Set tIdent=##class(HS.Types.Identifier).%New()
Set tIdent.Root="Other.AA" // refers to an Assigning Authority entry in the OID Registry
Set tIdent.Extension="98754321"
Do obj.Identifiers.Insert(tIdent)
• XDS Retrieve:
– XDS retrieve message trace
– XDS retrieve procedure
– XDS retrieve components
MessageToMetadata.xsl
retrieve request can go to only one repository, so if the query response refers to multiple repositories, you must split
these out into separate retrieve requests, one for each repository.
Send the XDS.b Retrieve Request to the HealthShare Document Consumer.
2. The HealthShare Document Consumer transforms the Ensemble message into an IHE “ XDSb_RetrieveRequest”
message using an internally-specified transform.
3. The HealthShare Document Consumer then forwards the request to the XDS document repository endpoint on another
system that is indicated by the <RepositoryUniqueID> value in the message. This value is an OID. In order to
translate the OID into a URL, the following setup is required:
• An OID registry entry of type “Repository” for the OID.
• A service registry entry that provides the URL of the repository:
– The service registry entry must include the OID registry code in the Repository field. This ties the OID and
service registry entries together.
Note: If there is a value in the XDSbRepositoryServiceName setting in the HealthShare Document Consumer, then
the message will go to the repository specified there rather than to the repository specified in the message.
This is useful for testing purposes, but this setting should be blank in a production application.
4. The XDS document repository on the other system responds by providing the requested document(s) as MIME encoded
MTOM attachments.
5. The HealthShare Document Consumer separates out the attachments and translates them.
6. The HealthShare Document Consumer returns the MTOM attachments in an XML message of the “RetrieveDocu-
mentSetResponse” variety.
Service Registry Entries XDSb.Repository (or the repository specified in the message)
External IHE Actor Endpoint XDS Document Repository
ClassMethod XDSbQueryRetrieve()
{
// Create the XDSb Query Request message
Set o=##class(HS.Message.IHE.XDSb.QueryRequest).%New()
Break
// Assumes you are using the response from the previous query.
// Currently this is limited to retrieval from a single repository,
// so if the query response contains multiple repositories, they should
// be split out into separate retrieve requests.
Quit
}
When a new Provide and Register Request is created, it automatically generates a document unique ID.
2. The HealthShare Document Source extracts the document metadata from the CDA and uses it to build a complete IHE
“ ProvideAndRegisterDocumentSetRequest ”:
a. If an MPI ID is not included in the Provide and Register request, the HealthShare Document Source extracts the
MRN and assigning authority from the CDA and performs a PIX query using the procedure described earlier.
b. If the Provide and Register indicates that this document should replace an existing document, the Document Source
performs an XDS query to get the ID of the document to be replaced in the repository. The Provide and Register
may include a variety of conditions for the replacement context, but the MPI ID and default entry status of
“approved” are included by default if not specified.
c. Using the XSL transformation specified in the DocumentTransform setting, the Document Source extracts additional
metadata from the CDA and uses it to populate the Provide and Register request.
3. The HealthShare Document Source forwards the Provide and Register request to the XDS document repository endpoint
on another system that is named in the XDSbRepositoryServiceName setting. The Provide and Register contains both
the extracted document metadata and the document itself (the contents of <BodyCharacter>) as an MTOM attachment.
Note: Because the HealthShare Document Source uses the XDSbRepositoryServiceName setting to determine where
to send documents, if you post documents to more than one repository, then you must have a separate document
source operation for each repository. Use a message router to determine which document source operation
to send the document to, based on whatever criteria you use to determine the appropriate repository for a
particular document.
4. The document repository on the other system stores the document and updates the Affinity Domain’s document registry
with the document metadata provided in the request.
5. The document repository on the other system responds with a success (or failure) message.
6. The HealthShare Document Source returns an XML message of the “RegistryResponse ” variety, indicating success
or failure. If the transaction fails before the document is sent to the registry, the HealthShare Document Source returns
null.
//Create the Provide and Register message, which automatically assigns a document unique ID
Set tMessage=##class(HS.Message.IHE.XDSb.ProvideAndRegisterRequest).%New()
// Open the document file and insert it into <BodyCharacter> (for non-CDA, this is <Body>).
// The document will become an MTOM attachment in the outbound message.
// In this case, we are providing a CCD in XML, so open the file as a text file.
Set tFile = ##class(%File).%New()
Set tFile.Name="C:\wtemp\testccd.xml"
Do tFile.Open("R")
Do tFile.Rewind()
Do tDocument.BodyCharacter.CopyFrom(tFile)
Kill tFile
// Set the required minimum document metadata. For CDA, the <MIMEType> is "text/xml"
Set tDocument.MimeType="text/xml"
Set tDocument.FormatCode=##class(HS.IHE.XDSb.Types.CodedValue).%New(
"2.16.840.1.113883.10.20.1","HITSP","HL7 CCD Document")
// In the case below, it is looking for documents that match the specified format code.
// You may include other context items as well.
// HealthShare Foundation automatically adds the Patient ID and the Status of "approved"
// to the context.
Set tContext = ##class(HS.Message.IHE.XDSb.QueryItem).CodedValue(
"$XDSDocumentEntryFormatCode","2.16.840.1.113883.10.20.1","HITSP")
Do tDocument.ReplacementContext.Insert(tContext)
quit
}
7. The HealthShare Document Source returns an XML message of the “RegistryResponse ” variety, indicating success
or failure. If the transaction fails before the document is sent to the registry, the HealthShare Document Source returns
null.
// Provide the Patient ID and document source. Use a PIX query to obtain the
// Patient ID if you have only the MRN.
Set tMessage.PatientId="100000001^^^&1.3.6.1.4.1.21367.2010.1.2.300&ISO"
Set tMessage.SourceOID="1.3.6.1.4.1.21367.1"
// Open the document file and insert it into "Body" (for CDA, this is "CharacterBody").
// The document will become an MTOM attachment in the outbound message.
// In this case, we are providing a PDF, so open the file as a binary.
Set tFile = ##class(%Stream.FileBinary).%New()
Set tFile.Filename="C:\wtemp\testdoc.pdf"
Do tFile.Rewind()
Do tDocument.Body.CopyFrom(tFile)
Kill tFile
Set tDocument.ClassCode=##class(HS.IHE.XDSb.Types.CodedValue).%New(
"Pathology Procedure","Connect-a-thon classCodes","Pathology Procedure")
Set tDocument.FormatCode=##class(HS.IHE.XDSb.Types.CodedValue).%New(
"PDF","Connect-a-thon formatCodes","PDF")
Set tDocument.HealthcareFacilityTypeCode=##class(HS.IHE.XDSb.Types.CodedValue).%New(
"Outpatient","Connect-a-thon healthcareFacilityTypeCodes","Outpatient")
Set tDocument.PracticeSettingCode=##class(HS.IHE.XDSb.Types.CodedValue).%New(
"General Medicine","Connect-a-thon practiceSettingCodes","General Medicine")
Set tDocument.TypeCode=##class(HS.IHE.XDSb.Types.CodedValue).%New(
"18768-2","2.16.840.1.113883.6.1","CELL COUNTS+DIFFERENTIAL STUDIES")
Do tDocument.EventCodeList.Insert(##class(HS.IHE.XDSb.Types.CodedValue).Create(
"1.3.6.1.4.1.21367.2006.7.106","Connect-a-thon eventCodeList","OPT-OUT"))
Do tDocument.EventCodeList.Insert(##class(HS.IHE.XDSb.Types.CodedValue).Create(
"1.3.6.1.4.1.21367.2006.7.108","Connect-a-thon eventCodeList","OPT-IN"))
// Patient demographics
Set tDocument.SourcePatientId="1111222^^^&1.3.6.1.4.1.21367.2010.1.2.310&ISO"
Do tDocument.SourcePatientInfo.Insert(##class(HS.IHE.XDSb.Types.SlotValue).%New(
"PID-3|1111222^^^&1.3.6.1.4.1.21367.2010.1.2.310&ISO"))
Do tDocument.SourcePatientInfo.Insert(##class(HS.IHE.XDSb.Types.SlotValue).%New(
"PID-5|Smith^James^"))
Do tDocument.SourcePatientInfo.Insert(##class(HS.IHE.XDSb.Types.SlotValue).%New(
"PID-7|20000930"))
Do tDocument.SourcePatientInfo.Insert(##class(HS.IHE.XDSb.Types.SlotValue).%New("PID-8|M"))
Do tDocument.SourcePatientInfo.Insert(##class(HS.IHE.XDSb.Types.SlotValue).%New(
"PID-11|123 Money Street^^Somewhere^SW^"))
// Document author
Set tAuthor= ##class(HS.IHE.XDSb.Types.Author).%New()
Set tAuthor.AuthorPerson="John Smith"
Do tAuthor.AuthorInstitution.Insert(##class(HS.IHE.XDSb.Types.SlotValue).%New("Johns Hopkins"))
Do tAuthor.AuthorRole.Insert(##class(HS.IHE.XDSb.Types.SlotValue).%New("Role"))
Do tAuthor.AuthorSpecialty.Insert(##class(HS.IHE.XDSb.Types.SlotValue).%New("Specialty"))
Do tDocument.Author.Insert(tAuthor)
// This is optional and controls replacement. If you specify a ReplacementContext, then an XDS.B
// query is performed to obtain the document unique ID of documents that match the context.
//
// In the case below, it is looking for documents that match the specified eventcode.
// You may include other context items as well.
// HealthShare Foundation automatically adds the Patient ID and the Status of
// "approved" to the context.
Set tContext = ##class(HS.Message.IHE.XDSb.QueryItem).CodedValue("$XDSDocumentEntryEventCodeList",
"1.3.6.1.4.1.21367.2006.7.106","Connect-a-thon eventCodeList")
Do tDocument.ReplacementContext.Insert(tContext)
Quit
• XCA Retrieve:
– XCA retrieve message trace
– XCA retrieve procedure
– XCA retrieve components
5. The XCA Initiating Gateway process transforms the message into an IHE “XCA_QueryRequest” message using an
internally-specified transform, and forwards it to the XCPD Initiating Gateway process to begin the patient discovery.
6. The XCPD Initiating Gateway process extracts the MPI ID from the request and constructs a Patient Search Request
message.
7. The XCPD Initiating Gateway process gets the patient’s demographics by sending the Patient Search Request to the
PDQ consumer named in the PDQv3Consumer setting.
8. The PDQ consumer returns the demographics.
9. The XCPD Initiating Gateway process confirms that the <Root> element of the <LivingSubjectID> returned
from the PDQ is the same as the assigning authority of the provided MPI ID.
10. The XCPD Initiating Gateway process checks the XCPDQueryServiceNames setting. This setting should contain a
comma-separated list of service registry entries that point to XCPD Responding Gateway endpoints in other Affinity
Domains.
11. The XCPD Initiating Gateway process sends one XCPD Patient Discovery Request to the XCPD Initiating Gateway
operation for each known XCPD Responding Gateway.
12. The XCPD Initiating Gateway operation forwards the discovery requests to the XCPD Responding Gateways in the
other Affinity Domains. It then returns XCPD Patient Discovery Responses from the XCPD Responding Gateways to
the XCPD Initiating Gateway process. Each response contains the MPI IDs and demographics of zero, one, or several
possible patients that match the provided demographics. These are exactly like PDQ responses.
13. The XCPD Initiating Gateway process transforms the responses and replaces the Home Community OIDs with Home
Community IDs from the OID registry.
14. The XCPD Initiating Gateway process extracts the MPI IDs and Home Communities (assigning authorities) for the
unique matches, discarding any that match multiple patients within a Home Community.
15. The XCPD Initiating Gateway process returns an IHE “XCA_QueryResponse” message to the XCA Initiating Gateway
process that contains a list of MPI IDs and Home Community IDs, with at most a single entry for each Home Community.
16. The XCA Initiating Gateway process uses the Home Community IDs to get the Home Community OIDs. In order to
translate each OID into a URL, the following setup is required:
• An OID registry entry of type “HomeCommunity ” for each Home Community OID.
• A service registry entry for each Home Community that provides the URL of the XCA Responding Gateway actor
in that community:
– Each service registry entry must include the OID registry code in the HomeCommunity field. This ties the
OID and service registry entries together.
– Each service registry entry must include XCA.Query in the Device Function field. This indicates that it is the
“ XCA query device” for this community.
17. For each match returned by the XCPD Initiating Gateway process, the XCA Initiating Gateway process sends an
XCA_QueryRequest message to the XCA Initiating Gateway operation named in the XCAInitiatingGatewayOperation
setting.
If there is a value in the XDSbQueryServiceName field, which should point to the local XDS registry, then the XCA
Initiating Gateway process also sends an XDSb_QueryRequest to the XCA Initiating Gateway operation. This will
trigger a document search in the local XDS registry.
18. The XCA Initiating Gateway operation forwards the query requests to the XCA Responding Gateways (and possibly
the local registry). It then returns the query responses from the XCA Responding Gateways (and local registry) to the
XCA Initiating Gateway Process. Each response indicates the document metadata and location for each document
available for the patient.
19. The XCA Initiating Gateway Process combines the various responses.
20. The XCA Initiating Gateway Process returns an XML message of the “ XCA_QueryResponse” variety to the XCA
Initiating Gateway service.
21. The XCA Initiating Gateway service returns the combined responses to the XDS.b Document Consumer in the original
session in an XML message of the “XDSb_QueryResponse ” variety.
22. The document consumer extracts the document metadata from the response using the transformation specified in the
TransformToMetadata setting. It then constructs an HS.Message.IHE.XDSb.QueryResponse message.
23. The document consumer returns the XDS.b Query Response message, which contains both the original XCA and
XDS.b responses and the extracted metadata. This message can be used to initiate an XCA retrieve, as described in
the XCA Retrieve procedure.
• A service registry entry with the URL of your local XDS.b registry. If you enter a
value here, then the XCA Initiating Gateway can be used for both XCA and
XDS.b queries.
IHE/PDQ/Version1/PatientSearchToPRPAIN201305UV.xsl in PDQ
IHE/PDQ/Version1/PRPAIN201306UVToPatientSearchResponse.xsl in PDQ
An XCA.Query device entry for each Home Community that points to the URL of the
XCA Responding Gateway endpoint in that community. The OID registry code for
the community should appear in the HomeCommunity field, and XCA.Query should
appear in the Device Function field.
OID Registry Entries A HomeCommunity OID for each Home Community
External IHE Actor PDQ Supplier
Endpoints
XCPD Responding Gateway(s)
XCA Responding Gateway(s)
The trace operations shown in the diagram is a utility that makes intermediate processing steps visible in the trace. The
numbers in the diagram match the steps in the procedure below. The first 3 steps and last 3 steps in the procedure appear
in a different session, and are basically identical to the steps in the XDS.b retrieve transaction.
The rest of the procedure takes place in a new session until the document consumer receives its response.
4. The XCA Initiating Gateway service forwards the request to the XCA Initiating Gateway process.
5. The request may contain documents from different Home Communities, possibly including the local community. The
XCA Initiating Gateway process separates them out. The <HomeCommunityId> in the message is specified as an
OID. In order to translate the OID into a URL, the following setup is required:
• An OID registry entry of type “HomeCommunity ” for each Home Community OID.
• A service registry entry for each non-local Home Community that provides the URL of the XCA Responding
Gateway actor in that community:
– Each service registry entry must include the OID registry code in the Home Community field. This ties the
OID and service registry entries together.
– Each service registry entry must include XCA.Retrieve in the Device Function field. This indicates that it
is the “XCA retrieve device ” for the Home Community.
• A service registry entry for the local Home Community that provides the URL of the XDS repository:
– This service registry entry must include the OID registry code in the Repository field. This ties the OID and
service registry entries together.
– This service registry entry must include XDSb.Retrieve in the Device Function field. This indicates that it
is the “XDS.b retrieve device ” for the local Home Community.
6. The XCA Initiating Gateway process constructs an XCA_RetrieveRequest for each community.
7. The XCA Initiating Gateway process sends the requests to the XCA Initiating Gateway operation.
8. The XCA Initiating Gateway operation forwards the requests to the appropriate XCA Responding Gateway endpoints
and returns their responses to the XCA Initiating Gateway process.
9. The XCA Initiating Gateway process combines the responses from the various Home Communities.
10. The XCA Initiating Gateway process constructs an XCA_QueryResponse message that contains a list of documents
in the message body, and a set of MIME-encoded MTOM attachments, one for each document.
11. The XCA Initiating Gateway process returns the query response to the XCA Initiating Gateway service.
12. The XCA Initiating Gateway service returns the combined responses to the XDS.b Document Consumer in the original
session in an XML message of the “XDSb_RetrieveResponse” variety.
13. The document consumer separates out the attachments and translates them.
14. The document consumer returns the list of documents and the MIME-encoded MTOM attachments in an XML message
of the “ XDSb_RetrieveResponse ” variety with a <DocType> of “RetrieveDocumentSetResponse ”.
An XCA.Retrieve device entry for each foreign Home Community that points to the
URL of the XCA Responding Gateway endpoint in that community. The OID registry
code for the community should appear in the HomeCommunity field, and XCA.Retrieve
should appear in the Device Function field.
A service registry entry for the local Home Community that provides the URL of the
XDS repository. This service registry entry must include the OID registry code in the
Repository field. This ties the OID and service registry entries together. This service
registry entry must include XDSb.Retrieve in the Device Function field. This indicates
that it is the “XDS.b retrieve device” for the local Home Community.
OID Registry Entries A HomeCommunity OID for the local and each foreign Home Community
A repository OID for the local XDS repository
External IHE Actor XCA Responding Gateway(s)
Endpoints XDS Repository (in the local Home Community)
// Add the MPI ID, document status, type and creation date
Do o.AddStatusValues("Approved")
Do o.AddCreationFrom("20110510102615-0400")
Do o.AdditionalInfo.SetAt(1,"XCA")
Break
// Assumes you are using the response from the previous query.
Quit
}
3. The Document Source then follows the path laid out in the section “Provide and Register a CDA document ”.
HS.Message.PatientSearchRequest
HS.Message.PatientSearchResponse
XSL Transformations SDA3/SDA-to-C32v25.xsl
XData MessageMap
{
<MapItems>
<MapItem MessageType="EnsLib.HL7.Message">
<Method>ProcessHL7Message</Method>
</MapItem>
</MapItems>
}
/// Process an inbound HL7 v2.5 message
Method ProcessHL7Message(pRequest As EnsLib.HL7.Message,
Output pResponse As EnsLib.HL7.Message) As %Status
{
try {
// Convert the HL7 message to SDA3
set tSC = ##class(HS.Gateway.HL7.HL7ToSDA3).GetSDA(pRequest,.tSDA3)
Quit:$$$ISERR(tSC)
Quit:$$$ISERR(tSC)
See the HealthShare Foundation Administration Guide for details on how the create registry entries.
PIXv3.Manager
Web address of the PIX manager endpoint on another system that you communicate with, where PIX queries
should be sent.
http://Other_Server:Port/csp/healthshare/Namespace/HS.IHE.PIXv3.Manager.Services.cls
PDQv3.Consumer
Web address of the PDQ consumer operation on your system, where PDQ queries should be routed.
http://Your_Server:Port/csp/healthshare/Namespace/HS.IHE.PIXv3.Consumer.Operations.cls
PDQv3.Supplier
Web address of the PDQ supplier endpoint on another system that you communicate with, where PDQ queries
should be sent.
http://Other_Server:Port/csp/healthshare/Namespace/HS.IHE.PDQv3.Supplier.Services.cls
XDSb.Registry
Web address of the registry endpoint for your Affinity Domain, where XDS queries should be sent. There is only
a single registry within a given Affinity Domain.
http://Other_Server:Port/csp/healthshare/Namespace/HS.IHE.XDSb.Registry.Services.cls
XDSb.Repository
Web address of the repository endpoint on another system that you communicate with, where Provide and Register
requests should be sent. There may be more than one repository within an Affinity Domain, so you may have
multiple repository entries in your service registry.
http://Other_Server:Port/csp/healthshare/Namespace/HS.IHE.XDSb.Repository.Services.cls
XCA.Query
Web address of the XCA responding gateway service on your system, where inbound XCA queries should be
routed.
http://Your_Server:Port/csp/healthshare/Namespace/HS.IHE.XCA.RespondingGateway.Services.cls
XCA.Retrieve
Web address of the XCA responding gateway service on your system, where inbound XCA retrieve requests
should be routed.
http://Your_Server:Port/csp/healthshare/Namespace/HS.IHE.XCA.RespondingGateway.Services.cls
XCA.InitiatingGateway
Web address of the XCA initiating gateway service on your system, where outbound XCA queries should be
routed.
http://Your_Server:Port/csp/healthshare/Namespace/HS.IHE.XCA.InitiatingGateway.Services.cls
OtherSystem.XCPD.RespondingGateway
Web address of the XCPD responding gateway in a foreign system. There is a single responding gateway for each
foreign Affinity Domain. A separate entry is required for each Affinity Domain that may hold XCA documents.
OtherSystem.XCA.Query
(Optional) Web address of the XCA responding gateway in a foreign system where XCA queries should be for-
warded. Can be used in the XCAQueryServiceName setting in HS.IHE.XCA.RespondingGateway.Operations
if XCA queries are handled by a different system.
OtherSystem.XCA.Retrieve
(Optional) Web address of the XCA responding gateway in a foreign system where XCA retrieves should be for-
warded. Can be used in the XCARetrieveServiceName setting in HS.IHE.XCA.RespondingGateway.Operations
if XCA retrieves are handled by a different system.
• An AssigningAuthority OID for the assigning authority associated with each facility (may be the same as the facility
OID).
• A HomeCommunity OID for the home community.
• An AssigningAuthority OID for the home community (may be the same as the home community OID).
• HomeCommunity OIDs for other communities.
• A Repository OID for each XDS repository.
• A Device OID for the PIXv3Manager device.
• A Device OID for the PIXv3Consumer device.
• Facility and AssigningAuthority OIDs for external facilities and assigning authorities.
Key Value
\IHE\AffinityDomain HomeCommunity
\IHE\HomeCommunity HomeCommunity
Note: This version of HealthShare Foundation is based on SDA3, but previous versions were based on SDA(2). This
section describes SDA3, which InterSystems strongly recommends that you use.
<Procedures>
<Procedure>
...
</Procedure>
<Procedure>
...
</Procedure>
</Procedures>
The following table shows the properties of HS.SDA3.Patient. Some of these properties are simple (for example, strings),
some are complex objects which contain properties of their own, and some are lists of complex objects:
Table 4–1: Properties in HS.SDA3.Patient
To generate an XML schema document (XSD) for SDA, run the following utility in the HSLIB namespace:
Do ##Class(HS.SDA3.Container).ExportXMLSchema()
The utility will ask for a filename. Enter the name of the file and include the .xsd extension.
• HS.IHE.ATNA.SecureApplication.UDP.Operations
2. Configure the ATNA operation to communicate with your ATNA repository via TCP or UDP as appropriate.
3. Set AuditAlertOperations in the HS.Audit.Consolidation.Service to the name of the business operation you installed in
step 1.
4. Optionally edit the contents of the ExcludeUsers field in the HS.Audit.Consolidation.Service to control which events
are audited.