Hi,
On 01/19/2015 11:31 AM, Birger Haarbrandt wrote: > The medrecord openEHR server is also based on REST and worth looking at. > There was a lot to learn from for me as the API is pretty neat. Thanks. We do our best to make the REST API of MedRecord as simple as possible. We try to base the development of the API on actual usecases and what kind of information in needed by (UI) clients without requiring the users of our API to have any knowledge about openEHR or know how things should work from a medical point of view. This has lead to our current version of MedRecord (which is still work in progress) and can be found here: https://mr.dev.medvision360.org/mr/apidocs/#!/ (see below if you want to try the API) Since we want to make it easy for web application to access our APIs, we should use whatever technique works best for web applications. Currently this means we must use REST over HTTP, HATEOAS, JSON documents, JSON schemas and a focus on (good) (API) documentation. I do think the REST architecture style is better than most SOAP, CORBA and ESB solutions and it currently is the best way to access remote resources. But doing REST properly is not easy. The current API of MedRecord consists of two pieces: A fully automatically generated API based on the ADL files. (everything starting with /ehr ) And an API based on procedures (everything starting with /procedure ) The main difference is that the procedure API can be used without any knowledge of openEHR. All openEHR difficulties are hidden behind the procedure API which should make the API simple enough to be usable by any (UI) developer not familiar with openEHR or health care. These two APIs are different views on the openEHR data stored in a database. This also means we can swap the backend which we are currently using for any other openEHR backend. The MedRecord API also comes with Java (and JavaScript) client libraries which hides all the REST stuff which makes accessing resources as simple a single line of code while providing the data as plain old Java objects. Also note we have two versions of MedRecord. A version based on XML and a version not based on XML. Our current focus lies on the version without XML and this is the version which can be seen in the link above. Since our API needs authentication, you can test our API if you go to the following page: https://mr.dev.medvision360.org/mr/apidocs/#!/ and use the text helloletmeinplease as authToken parameter. For example: https://mr.dev.medvision360.org/mr/ehr?authToken=helloletmeinplease lists all EHRs currently in our development server. Btw. this answer might be slightly off-topic but I wanted to explain the process of how we developed our current API. Ralph. MedVision360 -- This e-mail message is intended exclusively for the addressee(s). Please inform us immediately if you are not the addressee.