Should you require any more information or have encountered a problem, please call the support helpdesk on (07) 5456 6000.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Overview

A useful new RESTful web service is now available. A POST is in json format and needs to include three things:

1. patient data in json (or cjson) format

2. Package data if needing an extension or separate package to the default HL7_v2_VMR

3. the gello code itself.

 

Information is available here.

https://kb.medical-objects.com.au/display/pub/gello+rest+api+-+generic+version

This service is a research and development site currently. We welcome feedback from users to the info@medical-objects… address. If you wish to use it for commercial/mainstream purposes, please contact us.

 

Use of SNOMED-CT

Use of SNOMED CT through this web service requires a license from IHTSDO. Do not use this functionality if you are not licensed to do so.

 

 

 

Worked example – Body Mass Index (BMI)

This worked example gets the latest height and weight for a patient and calculates the BMI on the MO web server, and then retrieves the result as json. The example makes use of the ‘Postman – REST Client’ chrome app.

 

 

 

Get it going in the editor first

 

Here is some GELLO code to calculate BMI:

 

     imports HL7_v2_VMR_V1
     Context SinglePatient
     Let allWeights:Sequence(Observation) = vitals.weight
     Let allHeights:Sequence(Observation) = vitals.height
     Let mostRecentWeight:Observation = allWeights->sortedBy(dateTime)->last()
     Let mostRecentHeight:Observation = allHeights->sortedBy(dateTime)->last()
     Let wt:Real = mostRecentWeight.value.oclAsType(PQ).value
     Let ht:Real = mostRecentHeight.value.oclAsType(PQ).convert('m').value
     Let BMI: Real = wt/ht.power(2)
     If BMI < 18.5 then 'Underweight'
         else If BMI >= 18.5 and BMI < 25 then 'Normal'
            else If BMI >= 25 and BMI < 30 then 'Overweight'
               else 'Obese'
               endif
            endif
         endif
 
 

Using fifthTest.xml, here is the result:

 

 

The url for the POST in the REST client is http://mowgli.medical-objects.com.au/rest/gellov2/generic

 

The json code for a POST is in the attached folder and it is named POST.txt.  Instance data for the data model starts on line 3. Package data starts on line 1912 and the Gello query itself is on 1921.

Here is a screen shot of Postman:

 

 

and the result itself:

 

 

In the POST text note how the GELLO is now written with  new line characters at the start of each line.

 

If we don’t need to return all the variables, delete ‘V,1’ from line 2, to make it:

 

   "Debug": "",

You can also return the result as a tuple instead of a single typed value (which in this case is simply a string).

  • No labels