USING THE LIBRARY
-----------------------
This is not intended to be comprehensive documentation for the IHE library. This is just a simple primer to let new developers get started with the library.
If you write an application utilizing this IHE library, you need to understand the Object Identifier (OID) concept. When interacting with an IHE community, you would be assigned an
assigning authority OID by that community (called "affinity domain"). Every document that is created also needs to have a document OID to identify its origin.
1) Obtain a document OID from HL7.org: http://www.hl7.org/oid/Submitter.cfm
2) Change the hard-coded OID in mesatests.xds.TestKit.configActor(...) to your document OID. (Even if you're not using TestKit, you'll need call ConfigurationLoader.loadConfiguration(...) similarly.)
3) Contact IBM to register your OID and namespace Id as an assigning authority.
Be sure to mention that this is for testing only. Laurie Williams: lauriew@us.ibm.com
4) Enter your OID into the configuration files as described below.
Configuration
---------------
Configuration is done through a series of XML files. The first file provides a list of configuration files to load and parse. An example of this file is iheActors.xml.
Within the iheActors file, there are connectionfile and actorfile blocks. Each of these blocks specifies another file which is loaded in for later use.
ActorFile - These files create named configurations. The configurations are maps between keys and connection names (see ConnectionFile). Each actor also includes a type that indicates the uses this actor can be used for.
ConnectorFile - These files create named connections to servers. Each Connection also references an IncludeFile, which is loaded by the configuration system. This IncludeFile defines properties about the entity who is using the application. This will include a UniversalId provided by the entity that runs the IHE infrastructure.
Change the XML elements in the configuration file for each actor:
Change the XML elements in the configuration file for the PIX feed and PIX consumer actors:
<Identifier name="SendingApplication">
<NamespaceId>"whatever you want"</NamespaceId>
</Identifier>
<Identifier name="SendingFacility">
<NamespaceId>"whatever you want2"</NamespaceId>
</Identifier>
Change the XML elements in the configuration file for the XDS source to:
<stringMap name="sourceId">
<entry string="Your system name" code="Your OID"/>
</stringMap>
When you submit a document, it should have the key (e.g., "Your system name") in the value: "CCDDocument myDoc.getMetadata().setHomeSystemId(<here>)" to indicate that the document originated with the facility.
There is currently no system for editing these configuration files, but one will be released soon.
There is a sample configuration for the public non-SSL IBM infrastructure. Unfortunately, this infrastructure isn't always available, which limits people's ability to test the library. When the infrastructure is running, to use the library, you must edit the local.xml file to specify your UniversalId (obtained from IBM or the IHE organization).
The base IheActors.xml file is specified as an argument to ConfigurationLoader.loadConfiguration method.
Please review the javadoc for information on how this works.
Brokers
-------
Using the library should be done through the DocumentBroker or PatientBroker classes. These classes abstract out the work required to communicate with the IHE infrastructure. This includes everything required for compliance with the IHE profiles, such as auditing and logging.
IheService
----------
IheService sits on top of the DocumentBroker class to make discrete actions easier to perform. This can include operations like submitting documents, creating referral documents, etc. Using the methods in this class is easier than using the methods in DocumentBroker directly.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Copied this from /trunk/HACKING.txt
USING THE LIBRARY
-----------------------
This is not intended to be comprehensive documentation for the IHE library. This is just a simple primer to let new developers get started with the library.
If you write an application utilizing this IHE library, you need to understand the Object Identifier (OID) concept. When interacting with an IHE community, you would be assigned an
assigning authority OID by that community (called "affinity domain"). Every document that is created also needs to have a document OID to identify its origin.
For testing purposes, we have provided a configuration file that points to IBM's IHE infrastructure servers. (Not provided until after Connectathon, because the servers aren't running until then).
See http://www-03.ibm.com/industries/healthcare/doc/content/bin/ibm_ihe_integration_statement.pdf
You need to follow these steps:
1) Obtain a document OID from HL7.org: http://www.hl7.org/oid/Submitter.cfm
2) Change the hard-coded OID in mesatests.xds.TestKit.configActor(...) to your document OID. (Even if you're not using TestKit, you'll need call ConfigurationLoader.loadConfiguration(...) similarly.)
3) Contact IBM to register your OID and namespace Id as an assigning authority.
Be sure to mention that this is for testing only. Laurie Williams: lauriew@us.ibm.com
4) Enter your OID into the configuration files as described below.
Configuration
---------------
Configuration is done through a series of XML files. The first file provides a list of configuration files to load and parse. An example of this file is iheActors.xml.
Within the iheActors file, there are connectionfile and actorfile blocks. Each of these blocks specifies another file which is loaded in for later use.
ActorFile - These files create named configurations. The configurations are maps between keys and connection names (see ConnectionFile). Each actor also includes a type that indicates the uses this actor can be used for.
ConnectorFile - These files create named connections to servers. Each Connection also references an IncludeFile, which is loaded by the configuration system. This IncludeFile defines properties about the entity who is using the application. This will include a UniversalId provided by the entity that runs the IHE infrastructure.
Change the XML elements in the configuration file for each actor:
<Identifier name="LocalAssigningAuthority">
<NamespaceId>"what you told IBM"</NamespaceId>
<UniversalId>"Your HL7 OID"</UniversalId>
<UniversalIdType>ISO</UniversalIdType>
</Identifier>
Change the XML elements in the configuration file for the PIX feed and PIX consumer actors:
<Identifier name="SendingApplication">
<NamespaceId>"whatever you want"</NamespaceId>
</Identifier>
<Identifier name="SendingFacility">
<NamespaceId>"whatever you want2"</NamespaceId>
</Identifier>
Change the XML elements in the configuration file for the XDS source to:
<stringMap name="sourceId">
<entry string="Your system name" code="Your OID"/>
</stringMap>
When you submit a document, it should have the key (e.g., "Your system name") in the value: "CCDDocument myDoc.getMetadata().setHomeSystemId(<here>)" to indicate that the document originated with the facility.
There is currently no system for editing these configuration files, but one will be released soon.
There is a sample configuration for the public non-SSL IBM infrastructure. Unfortunately, this infrastructure isn't always available, which limits people's ability to test the library. When the infrastructure is running, to use the library, you must edit the local.xml file to specify your UniversalId (obtained from IBM or the IHE organization).
The base IheActors.xml file is specified as an argument to ConfigurationLoader.loadConfiguration method.
Please review the javadoc for information on how this works.
Brokers
-------
Using the library should be done through the DocumentBroker or PatientBroker classes. These classes abstract out the work required to communicate with the IHE infrastructure. This includes everything required for compliance with the IHE profiles, such as auditing and logging.
IheService
----------
IheService sits on top of the DocumentBroker class to make discrete actions easier to perform. This can include operations like submitting documents, creating referral documents, etc. Using the methods in this class is easier than using the methods in DocumentBroker directly.
This is an old document, and should be ignored.