Page History
...
Code Block | ||||
---|---|---|---|---|
| ||||
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.
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 | ||||
---|---|---|---|---|
| ||||
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.
Code System
Getting All CodeSystemCatalogVersions Summaries
...