NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagebash
titleShell Script using Unix curl command
r0223758:~ m029206$ curl http://informatics.mayo.edu/cts2/rest/codesystemversions

Other Development Platforms

REST Clients can be built on PHP, Perl and C# as well.

examples

 

Java Serialization using the CTS2 Framework

...

Code Block
           JsonConverter converter = new JsonConverter();
            ResolvedValueSetDirectory valuesetdir = converter.fromJson(
            <JSON>, ResolvedValueSetDirectory.class);

...

 

Getting the Framework

The CTS2 Framework and its dependencies are easily pulled in to your Java project via maven using the following elements in the pom.xml file:

...

Code Block
languagejava
collapsetrue
package cts2.mayo.example;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;

import edu.mayo.cts2.framework.core.json.JsonConverter;
import edu.mayo.cts2.framework.model.codesystemversion.CodeSystemVersionCatalogEntryDirectory;
import edu.mayo.cts2.framework.model.codesystemversion.CodeSystemVersionCatalogEntrySummary;
import edu.mayo.cts2.framework.model.core.EntitySynopsis;
import edu.mayo.cts2.framework.model.core.URIAndEntityName;
import edu.mayo.cts2.framework.model.entity.EntityDescriptionMsg;
import edu.mayo.cts2.framework.model.entity.EntityDirectory;
import edu.mayo.cts2.framework.model.entity.EntityDirectoryEntry;
import edu.mayo.cts2.framework.model.mapversion.MapVersionDirectory;
import edu.mayo.cts2.framework.model.mapversion.MapVersionDirectoryEntry;
import edu.mayo.cts2.framework.model.valuesetdefinition.IteratableResolvedValueSet;
import edu.mayo.cts2.framework.model.valuesetdefinition.ResolvedValueSetDirectory;
import edu.mayo.cts2.framework.model.valuesetdefinition.ResolvedValueSetDirectoryEntry;

public class RESTFromCTS2Framework {
	String baseUri = "http://bmidev4:5555/cts2/";
	String format = "?format=json";
	

	public void getValueSets(){

		URL url;
		try {
			url = new URL(baseUri + "resolvedvaluesets" + format);
			HttpURLConnection connection = (HttpURLConnection) url
					.openConnection();
			connection.setRequestProperty("Accept", "text/json");
			if (connection.getResponseCode() != 200) {
				throw new RuntimeException("Failed : The HTTP error code is : "
						+ connection.getResponseCode());
			}
			BufferedReader br = new BufferedReader(new InputStreamReader(
					(connection.getInputStream())));
			String output;
			StringBuilder builder = new StringBuilder();
			while ((output = br.readLine()) != null) {
				builder.append(output);
			}
			JsonConverter converter = new JsonConverter();
			ResolvedValueSetDirectory valuesetdir = converter.fromJson(
					builder.toString(), ResolvedValueSetDirectory.class);
			List<ResolvedValueSetDirectoryEntry> sum = valuesetdir
					.getEntryAsReference();
			for (ResolvedValueSetDirectoryEntry s : sum) {
				System.out.println(s.getResolvedHeader().getResolutionOf()
						.getValueSet().getContent());
			}
		} catch (Exception e) {
			e.printStackTrace();
		}

	}
	
	public void getValueSetEntries(){
		URL url;
		try {
			url = new URL(baseUri + "valueset/NICHD%20Newborn%20Screening%20Terminology/definition/4125c982/resolution/1" + format);
			HttpURLConnection connection = (HttpURLConnection) url
					.openConnection();
			connection.setRequestProperty("Accept", "text/json");
			if (connection.getResponseCode() != 200) {
				throw new RuntimeException("Failed : The HTTP error code is : "
						+ connection.getResponseCode());
			}
			BufferedReader br = new BufferedReader(new InputStreamReader(
					(connection.getInputStream())));
			String output;
			StringBuilder builder = new StringBuilder();
			while ((output = br.readLine()) != null) {
				builder.append(output);
			}
			JsonConverter converter = new JsonConverter();
			IteratableResolvedValueSet valuesetdir = converter.fromJson(
					builder.toString(), IteratableResolvedValueSet.class);
			List<EntitySynopsis> sum = valuesetdir.getEntryAsReference();
			for (EntitySynopsis s : sum) {
				System.out.println(s.getName());
			}
		} catch (Exception e) {
			e.printStackTrace();
		}

	}
	
	public void getCodeSystems(){

		URL url;
		try {
			url = new URL(baseUri + "codesystemversions" + format);
			HttpURLConnection connection = (HttpURLConnection) url
					.openConnection();
			connection.setRequestProperty("Accept", "text/json");
			if (connection.getResponseCode() != 200) {
				throw new RuntimeException("Failed : The HTTP error code is : "
						+ connection.getResponseCode());
			}
			BufferedReader br = new BufferedReader(new InputStreamReader(
					(connection.getInputStream())));
			String output;
			StringBuilder builder = new StringBuilder();
			while ((output = br.readLine()) != null) {
				builder.append(output);
			}
			JsonConverter converter = new JsonConverter();
			CodeSystemVersionCatalogEntryDirectory valuesetdir = converter.fromJson(
					builder.toString(), CodeSystemVersionCatalogEntryDirectory.class);
			List<CodeSystemVersionCatalogEntrySummary> sum = valuesetdir
					.getEntryAsReference();
			for (CodeSystemVersionCatalogEntrySummary s : sum) {
				System.out.println(s.getFormalName());
			}
		} catch (Exception e) {
			e.printStackTrace();
		}

	}
	
	public void getEntities(){
		URL url;
		try {
			url = new URL(baseUri + "codesystem/NCI_Thesaurus/version/10.10a/entities" + format);
			HttpURLConnection connection = (HttpURLConnection) url
					.openConnection();
			connection.setRequestProperty("Accept", "text/json");
			if (connection.getResponseCode() != 200) {
				throw new RuntimeException("Failed : The HTTP error code is : "
						+ connection.getResponseCode());
			}
			BufferedReader br = new BufferedReader(new InputStreamReader(
					(connection.getInputStream())));
			String output;
			StringBuilder builder = new StringBuilder();
			while ((output = br.readLine()) != null) {
				builder.append(output);
			}
			JsonConverter converter = new JsonConverter();
			EntityDirectory valuesetdir = converter.fromJson(
					builder.toString(), EntityDirectory.class);
			List<EntityDirectoryEntry> sum = valuesetdir
					.getEntryAsReference();
			for (EntityDirectoryEntry s : sum) {
				System.out.println(s.getName());
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public void entityReadParent(){
		URL url;
		try {
			url = new URL(baseUri + "codesystem/NCI_Thesaurus/version/10.10a/entity/C3399" + format);
			HttpURLConnection connection = (HttpURLConnection) url
					.openConnection();
			connection.setRequestProperty("Accept", "text/json");
			if (connection.getResponseCode() != 200) {
				throw new RuntimeException("Failed : The HTTP error code is : "
						+ connection.getResponseCode());
			}
			BufferedReader br = new BufferedReader(new InputStreamReader(
					(connection.getInputStream())));
			String output;
			StringBuilder builder = new StringBuilder();
			while ((output = br.readLine()) != null) {
				builder.append(output);
			}
			JsonConverter converter = new JsonConverter();
			EntityDescriptionMsg entity = converter.fromJson(
					builder.toString(), EntityDescriptionMsg.class);
			URIAndEntityName[] sum = entity.getEntityDescription().getNamedEntity().getParent();
			for (URIAndEntityName s : sum) {
				System.out.println(s.getName());
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public void getMaps(){
		URL url;
		try {
			url = new URL(baseUri + "mapversions" + format);
			HttpURLConnection connection = (HttpURLConnection) url
					.openConnection();
			connection.setRequestProperty("Accept", "text/json");
			if (connection.getResponseCode() != 200) {
				throw new RuntimeException("Failed : The HTTP error code is : "
						+ connection.getResponseCode());
			}
			BufferedReader br = new BufferedReader(new InputStreamReader(
					(connection.getInputStream())));
			String output;
			StringBuilder builder = new StringBuilder();
			while ((output = br.readLine()) != null) {
				builder.append(output);
			}
			JsonConverter converter = new JsonConverter();
			MapVersionDirectory maps = converter.fromJson(
					builder.toString(), MapVersionDirectory.class);
			List<MapVersionDirectoryEntry> sum = maps.getEntryAsReference();
			for (MapVersionDirectoryEntry s : sum) {
				System.out.println(s.getFormalName());
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		new RESTFromCTS2Framework().getCodeSystems();
		new RESTFromCTS2Framework().getValueSets();
		new RESTFromCTS2Framework().getEntities();
		new RESTFromCTS2Framework().entityReadParent();
		new RESTFromCTS2Framework().getMaps();
		new RESTFromCTS2Framework().getValueSetEntries();
	}

}

 

Other Development Platforms

REST Clients can be built on PHP, Perl and C# as well.

examples

Code System

Getting All CodeSystemCatalogVersions Summaries

...