CTS2-LE REST API: Resolve Value Set: Unterschied zwischen den Versionen

Aus CTS2-LE
Zur Navigation springen Zur Suche springen
(Operation Signature)
Zeile 1: Zeile 1:
 
== Operation Signature ==
 
== Operation Signature ==
  
root: @Path("/fhir/ValueSet")
+
;REST Call Syntax
 +
:<pre>http://<host>/WebCts2LE/rest/fhir/ValueSet?_query=expandResource&identifier=<valueset-URI>&stylesheet=<stylesheet-path></pre>
  
<h5><span style='font-family:"Segoe UI","sans-serif"'><span
+
;Parameters
style='color:black;text-decoration:none'>Response</span> <span
+
:'''identifier''': URI-encoded identifier of the requested value set or codesystem (mandatory)
style='color:black;text-decoration:none'>webCts2Le</span>.<span
+
:'''stylesheet''': stylesheet that will be referenced within the XML response (optional)
style='color:black;text-decoration:none'>rest</span>.<span
 
style='color:black;text-decoration:none'>FhirValueSets</span>.resolveValueSet(</span><span
 
style='font-family:"Segoe UI","sans-serif";font-weight:normal'>@<span
 
style='color:black;text-decoration:none'>Context</span> </span><span
 
style='font-family:"Segoe UI","sans-serif"'><span
 
style='color:black;text-decoration:none'>HttpServletRequest</span> request,
 
</span><span style='font-family:"Segoe UI","sans-serif";
 
font-weight:normal'>@<span
 
style='color:black;text-decoration:none'>QueryParam</span>(<span
 
style='color:black;text-decoration:none'>value</span>=&quot;_query&quot;) </span><span
 
style='font-family:"Segoe UI","sans-serif"'><span
 
style='color:black;text-decoration:none'>String</span> query, </span><span
 
style='font-family:"Segoe UI","sans-serif";font-weight:normal'>@<span
 
style='color:black;text-decoration:none'>QueryParam</span>(<span
 
style='color:black;text-decoration:none'>value</span>=&quot;identifier&quot;)
 
</span><span style='font-family:"Segoe UI","sans-serif"'><span
 
style='color:black;text-decoration:none'>String</span> identifier, </span><span
 
style='font-family:"Segoe UI","sans-serif";font-weight:normal'>@<span
 
style='color:black;text-decoration:none'>QueryParam</span>(<span
 
style='color:black;text-decoration:none'>value</span>=&quot;codeSystemUri&quot;)
 
</span><span style='font-family:"Segoe UI","sans-serif"'><span
 
style='color:black;text-decoration:none'>String</span> codeSystemUri, </span><span
 
style='font-family:"Segoe UI","sans-serif";font-weight:normal'>@<span
 
style='color:black;text-decoration:none'>QueryParam</span>(<span
 
style='color:black;text-decoration:none'>value</span>=&quot;code&quot;) </span><span
 
style='font-family:"Segoe UI","sans-serif"'><span
 
style='color:black;text-decoration:none'>String</span> code, </span><span
 
style='font-family:"Segoe UI","sans-serif";font-weight:normal'>@<span
 
style='color:black;text-decoration:none'>QueryParam</span>(<span
 
style='color:black;text-decoration:none'>value</span>=&quot;stylesheet&quot;)
 
</span><span style='font-family:"Segoe UI","sans-serif"'><span
 
style='color:black;text-decoration:none'>String</span> stylesheet)</span></h5>
 
  
<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt'><span
+
;Result
style='line-height:115%;font-family:"Segoe UI","sans-serif"'>&nbsp;</span></p>
+
:In case of an successful processing of the call, the result will an FHIR Value Set resource as defined in http://www.hl7.org/fhir/valueset.html containing the contents of the requested value set or codesystem.
 
+
:In case of an error an empty FHIT Value Set resource is returned.
<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt'><span
 
style='line-height:115%;font-family:"Segoe UI","sans-serif"'>@GET<br>
 
@Produces(value={&quot;application/xml&quot;})</span></p>
 
 
 
<p><span style='font-family:"Segoe UI","sans-serif"'>Value set
 
resolution. This REST function is a multi-modal function to retrieve value set
 
resolutions.</span></p>
 
 
 
<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt'><b><span
 
style='line-height:115%;font-family:"Segoe UI","sans-serif"'>Parameters:</span></b></p>
 
 
 
<p class=MsoNormal style='margin-top:0cm;margin-right:0cm;margin-bottom:0cm;
 
margin-left:36.0pt;margin-bottom:.0001pt'><b><span style='
 
line-height:115%;font-family:"Segoe UI","sans-serif"'>request</span></b><span
 
style='line-height:115%;font-family:"Segoe UI","sans-serif"'>
 
HTTP request.</span></p>
 
 
 
<p class=MsoNormal style='margin-top:0cm;margin-right:0cm;margin-bottom:0cm;
 
margin-left:36.0pt;margin-bottom:.0001pt'><b><span style='
 
line-height:115%;font-family:"Segoe UI","sans-serif"'>query</span></b><span
 
style='line-height:115%;font-family:"Segoe UI","sans-serif"'>
 
Query refinement. </span><code><span style='font-size:10.0pt;line-height:115%'>_query</span></code><span
 
style='line-height:115%;font-family:"Segoe UI","sans-serif"'>
 
must match </span><code><span style='font-size:10.0pt;line-height:115%'>'(expand|expandDefinedCodeSystem|expandResource)'</span></code><span
 
style='line-height:115%;font-family:"Segoe UI","sans-serif"'>.</span></p>
 
 
 
<p class=MsoNormal style='margin-top:0cm;margin-right:0cm;margin-bottom:0cm;
 
margin-left:36.0pt;margin-bottom:.0001pt'><b><span style='
 
line-height:115%;font-family:"Segoe UI","sans-serif"'>identifier</span></b><span
 
style='line-height:115%;font-family:"Segoe UI","sans-serif"'>
 
Identifier of a resource.</span></p>
 
 
 
<p class=MsoNormal style='margin-top:0cm;margin-right:0cm;margin-bottom:0cm;
 
margin-left:36.0pt;margin-bottom:.0001pt'><b><span style='
 
line-height:115%;font-family:"Segoe UI","sans-serif"'>codeSystemUri</span></b><span
 
style='line-height:115%;font-family:"Segoe UI","sans-serif"'>
 
Code system URI.</span></p>
 
 
 
<p class=MsoNormal style='margin-top:0cm;margin-right:0cm;margin-bottom:0cm;
 
margin-left:36.0pt;margin-bottom:.0001pt'><b><span style='
 
line-height:115%;font-family:"Segoe UI","sans-serif"'>code</span></b><span
 
style='line-height:115%;font-family:"Segoe UI","sans-serif"'>
 
Code.</span></p>
 
 
 
<p class=MsoNormal style='margin-top:0cm;margin-right:0cm;margin-bottom:0cm;
 
margin-left:36.0pt;margin-bottom:.0001pt'><b><span style='
 
line-height:115%;font-family:"Segoe UI","sans-serif"'>stylesheet</span></b><span
 
style='line-height:115%;font-family:"Segoe UI","sans-serif"'>
 
the stylesheet that will be referenced within the XML response.</span></p>
 
 
 
<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt'><b><span
 
style='line-height:115%;font-family:"Segoe UI","sans-serif"'>Returns:</span></b></p>
 
 
 
<p class=MsoNormal style='margin-top:0cm;margin-right:0cm;margin-bottom:0cm;
 
margin-left:36.0pt;margin-bottom:.0001pt'><span style='
 
line-height:115%;font-family:"Segoe UI","sans-serif"'>FHIR expansion according
 
to <a href="http://www.hl7.org/fhir/valueset.html">FHIR</a>, or an error XML</span></p>
 
  
 
== Additional Info ==
 
== Additional Info ==

Version vom 15. Juni 2015, 11:00 Uhr

Operation Signature

REST Call Syntax
http://<host>/WebCts2LE/rest/fhir/ValueSet?_query=expandResource&identifier=<valueset-URI>&stylesheet=<stylesheet-path>
Parameters
identifier: URI-encoded identifier of the requested value set or codesystem (mandatory)
stylesheet: stylesheet that will be referenced within the XML response (optional)
Result
In case of an successful processing of the call, the result will an FHIR Value Set resource as defined in http://www.hl7.org/fhir/valueset.html containing the contents of the requested value set or codesystem.
In case of an error an empty FHIT Value Set resource is returned.

Additional Info

(A) If _query == 'expand' then identifier must be an URI of a value set and the response is the corresponding FHIR expansion. To restrict the expansion to code systems or codes, codeSystemUri and code have to be set accordingly.
(B) If _query == 'expandDefinedCodeSystem' then identifier has no meaning and codeSystemUri must be set. To restrict the expansion to a code, code has to be set accordingly.
(C) If _query == 'expandResource' then identifier must be an URI of a (1) CTS2 value set OR a (2) code system. In case of (1) processing (A) will be performed. In case of (2) processing (B) will be performed where codeSystemUri=identifier.

Example

The main purpose of the method is to resolve value sets in order to allow for

  1. display value set items to the user
  2. validation of code system/value set references of an electronic health record

In order to reference the value set properly, one has to use its identifier, e.g. http://hl7.org/fhir/vs/administrative-gender

This identifier has to be part of the http-call

http://<host>/WebCts2LE/rest/fhir/ValueSet?_query=expand&identifier=http://hl7.org/fhir/vs/administrative-gender

that will return the following value set expansion

<atom:feed xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://hl7.org/fhir"
   xmlns:at="http://purl.org/atompub/tombstones/1.0" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
   xmlns:os="http://a9.com/-/spec/opensearch/1.1/" xmlns:xhtml="http://www.w3.org/1999/xhtml"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <atom:title>Value Set Expansion</atom:title>
   <atom:id>urn:uuid:dc9f2f7e-6a1b-4389-9b88-7048787227c2</atom:id>
   <atom:updated>2015-04-05T13:46:55</atom:updated>
   <atom:entry>
      <atom:title>Value Set Resolution</atom:title>
      <atom:id>http://hl7.org/fhir/vs/administrative-gender</atom:id>
      <atom:updated>2015-04-05T13:46:55</atom:updated>
      <atom:content>
         <ValueSet xmlns="http://hl7.org/fhir">
            <name value="..." />
            <description value="..." />
            <status value="draft" />
            <expansion>
               <timestamp />
               <contains xmlns="http://hl7.org/fhir">
                  <system value="urn:oid:2.16.840.1.113883.5.1" />
                  <code value="F" />
                  <display value="Female" />
               </contains>
               <contains xmlns="http://hl7.org/fhir">
                  <system value="urn:oid:2.16.840.1.113883.5.1" />
                  <code value="M" />
                  <display value="Male" />
               </contains>
               <contains xmlns="http://hl7.org/fhir">
                  <system value="urn:oid:2.16.840.1.113883.5.1" />
                  <code value="UN" />
                  <display value="Undifferentiated" />
               </contains>
               <contains xmlns="http://hl7.org/fhir">
                  <system value="urn:oid:2.16.840.1.113883.5.1008" />
                  <code value="UNK" />
                  <display value="unknown" />
               </contains>
            </expansion>
         </ValueSet>
      </atom:content>
   </atom:entry>
</atom:feed>

Appropriate XPATH expressions should select the code list. E.g., the XPATH expression

/atom:feed/atom:entry/atom:content/ValueSet/expansion/contains

retrieves all (code, code system)-pairs with their display name.