iOS HealthKit is able to display locally the HL7 CDA documents a patient download from a Patient Portal.
Does Google Fit include a HL7 CDA viewer like iOS HealthKit does?
Answer:
There is currently no option/function to view HL7 CDA files with the use of Google Fit.
Stuff (that I learned) that may help other who read this in the future:
The way I understood things after skimming through the HL7 link you provided in the comments and with the some other sources (Apple HealthKit, 9to5mac post), the data included in the HL7 CDA files are clinically in-depth. From the HL7 link:
A CDA can contain any type of clinical content -- typical CDA documents would be a Discharge Summary, Imaging Report, Admission & Physical, Pathology Report and more.
This caters to almost (if not) all health related documents, wherein Google Fit focuses more on (if not solely to) Fitness.
With all that said, basing from the 9to5mac post, it seems that the HL7 CDA files are actually XML files. So I guess what you could do is implement an XML parser and display the files the in a more neat and organized way (similar to how HealthKit does it, I guess).
I also did a quick search to see if maybe I can give you some references, but it looks like no one has done a HL7 CDA viewer app/library for Android yet.
Related
I'm attempting to convert a series of sentences in a txt file to WAV files in as clear a voice as possible.
According to a 2019 survey there are many recent advancements using deep learning techniques.
Which is great news, because the built-in or commonly used text-to-speech engines sound very robotic. (OSX's "say" command, espeak, etc).
The problem is, the github pages or collab notebook links are focused on how to train a new model, or set up a docker instance, and don't seem to include a minimum
git clone ...
./speak "How are you doing?" -o hayd.wav
Do you know how to install and run any of the 2019 engines from that article to speak a sentence?
I'll update if/when I find one that works.
I don't know about any of the others in the list, but for WaveNet you can use Google's API. Your code sends the text to Google, and they return the audio. There are client libraries available for C#, Go, Java, Node.js, PHP, Python, and Ruby. If you want to do it from another language you could use the REST API. For WaveNet, the first 1 million characters per month are free. After that it is $16 per 1 million characters. See their pricing page.
If your project is a relatively small one-off and you are not bothered about doing it programatically (it wasn't clear from the question), then you could just use their online demo page and use a browser add-on (e.g. Video DownloadHelper or one of many others) to download the results as audio files. Alternatively you could use the API on the command line.
The quality of WaveNet is in my opinion, excellent, and is a vast improvement over the previous generations of text-to-speech algorithms. You can almost believe the voices are real at times.
In https://www.mongodb.com/building-large-scale-applications-internet-things-bosch-transcript, they explain
Technically, basically, we're using our proprietary device information
model performance and actually, I didn't put source code on this,
because it's going to be a long ugly hairy piece of XML. But
eventually, this is mapped to a MongoDB JSON format.
In many places on the Internet, they interpret this as meaning that MongoDB uses a proprietary API. For example,in http://www.oracle.com/technetwork/database/database-technologies/nosqldb/documentation/nosql-vs-mongodb-1961723.pdf, they wrote:
The focus of MongoDB is on developer friendliness and it has a rich
set of proprietary API’s layered on top of a secondary index support
for the JSON value type.
IMHO, an open API is the most important part of any open source application. I don't even understand how an application could be open source and use a proprietary API, for example, reserved to commercial partners. I am just starting with MongoDB, don't know yet if the open JSON format is the complete API, but this would mean that the API is open, not proprietary. Otherwise, is the proprietary part of this API reserved to commercial partners? Anyway, my question is what is meant by a proprietary API in an open source application such as MongoDB? What are the implications of this for someone that cares about Open source?
I am a final year Computer Science undergraduate student from India. I want to create a WPF application that displays 3D buildings like in the latest Google maps 5 for android. This will be the basis of my final year project. I have some questions before i start working on this.
Should I make it desktop or web based, or should I use the web to store some metadata and render the data in the desktop software?
For 3D display of buildings in a map area, is WPF enough or will I need knowledge of XNA and Direct X too?
Will this violate Google Maps TOS if I use Google Maps API? (I want to do something Google Maps does not provide in India) Is using Bing Maps a better option?
Is it feasible to read building elevations and rendering them using the above mentioned Maps APIs? Is it that the elevation data available through Google Maps API is only for the terrain and not for individual buildings?
I have three months to complete this project and have given details of the technologies I intend to work with.
Will I need in-depth knowledge of any more technologies for this?
Excuse me if I missed some detail. I am posting this from my cellphone using opera mobile. It's time we have an android client for stackoverflow.
1) That is entirely up to you. As you don't specify your target user then it is hard to say what the best way to deliver the application is. For example, if you want to be able to widely distribute it and have a high compatibility then perhaps a web-based application would be best. Conversley, if you require high performance and are targeting a specific os, chip-set, etc then a stand-alone application may be better.
2) Again, it is hard to say. WPF can certainly render 3d objects and may provide you with everything you require. If again you require more complex rendering you may also want to look at later versions of Direct3D, which can help a lot with things like HDR textures, Multi-threading, etc.
3) I am not a lawyer so I can't say for sure - even if I If I were it would still depend on the specifics of your implementation. That said, the bing maps section 2 (i) seems pretty good for you - Academic use seems pretty open as long as you make the application available publicly without restriction. The Google TOS seems more restrictive to me at least.
4) To me that would be a breech of the Google Maps/Earth TOS - The section on Restrictions on use seems pretty clear...But again, I am not a lawyer so I can't say for sure...
Suppose I want to write a program to read movie info from IMDb, or music info from last.fm, or weather info from weather.com etc., just reading the webpage and parsing it is quiet tedious. Often websites have an xml feed (such as last.fm) set up exactly for this.
Is there a particular link/standard that websites follow for this feed? Such as robot.txt, is there a similar standard for information feeds, or does each website have its own standard?
This is the kind of problem RSS or Atom feeds were designed for, so look for a link for an RSS feed if there is one. They're both designed to be simple to parse too. That's normally on sites that have regularly updated content though, like news or blogs. If you're lucky, they'll provide many different RSS feeds for different aspects of the site (the way Stackoverflow does for questions, for instance)
Otherwise, the site may have an API you can use to get the data (like Facebook, Twitter, Google services etc). Failing that, you'll have to resort to screen-scraping and the possible copyright and legal implications that are involved with that.
Websites provide different ways to access this data. Like web services , Feeds, Endpoints to query their data.
And there are programs used to collect data from pages without using standard techniques. These programs are called Bots. These programs use different techniques to get data from websites (NOTE: Be careful Data may be copyright protected)
The most common such standards are RSS and the related Atom. Both are formats for XML syndication of web content. Most software libraries include components for parsing these formats, as they are widespread.
yes rss standard. And xml standard.
Sounds to me like you're referring to RSS or Atom feeds. These are specified for a given page in the source; for instance, open the source html for this very page and go to line 22.
Both Atom and RSS are standards. They are both XML based, and there are many parsers for each.
You mentioned screen scraping as the "tedious" option; it is also normally against the terms of service for the website. Doing this may get you blocked. Feed reading is by definition allowed.
There are a number of standards websites use for this, depending on what they are doing, and what they want to do.
RSS is a protocol for sending out formatted chunks of data in machine-parsable form. It stands for "Real Simple Syndication" and is usually used for news feeds, blogs, and other things where there is new content on a periodic or sporadic basis. There are dozens of RSS readers which allow one to subscribe to multiple RSS sources and periodically check them for new data. It is intended to be lightweight.
AJAX is a protocol for sending commands from websites to the web server and getting results back in a machine-parsable form. It is designed to work with JavaScript on the web client. The AJAX standard specifies how to format and send a request and how to format and send a reply, as well as how to parse the requests and replies. It tends to be up to the developers to know what commands are available via AJAX.
SOAP is another protocol like AJAX, but it's uses tend to be more program-to-program, rather than from web client to server. SOAP allows for auto-discovery of what commands are available by use of a machine-readable file in WSTL format, which essentially specifies in XML the method signatures and types used by a particular SOAP interface.
Not all sites use RSS, AJAX, or SOAP. Last.fm, one of the examples you listed, does not seem to support RSS and uses it's own web-based API for getting information from the site. In those cases, you have to find out what their API is (Last.fm appears to be well documented, however).
Choosing the method of obtaining data depends on the application. If its a public/commercial application screen scraping won't be an option. (E.g. if you want to use IMDB information commercially then you will need to make contract paying them 15000$ or more according to their website's usage policy)
I think your problem isn't not knowing the standard procedure for obtaining website information but rather not knowing that your inability to obtain data is due to websites not wanting to provide that data.
If a website wants you to be able to use their information, then there will almost certainly be a well documented api interface with various standard protocols for queries.
A list of APIs can be found here.
Dataformats listed at this particular sites are: CSV, GeoRSS, HTML, JSON, KML, OPML, OpenSearch, PHP, RDF, RSS, Text, XML, XSPF, YAML, CSV, GEORSS.
I wanna start developing a map-based web site.
At first I ordered a regulat Gps device just to test the site, later on I would like to use Iphone's gps and other cell devices.
So I need something pretty generic.
I searched the web for map-based development framework and come up with too many of them :
Geo server, Map server, Open layers, Geoext , Google maps's api , and more.
I'm not a seasoned web developr (more of a c++ kind of guy) so I need something pretty straightforward , though robust at the same time.
Moreover, I need one which is free, and won't have licensing problem down the road.
At first I just need basic capabilities as displaying the gps data on my web site in real-time.
Can someone experienced recommend one ?
Thanks
Client
I'd go with OpenLayers - this is an opensource JavaScript client library, similar to the Google Maps API, or Bing API. However OpenLayers will free you of any licensing worries, or changing APIs as the source is available and can be modified - this is not the case with the Google/Bing/Yahoo APIs. You can however use the data from these services as layers in OpenLayers and drop them if they suddenly become filled with adverts or have commercial restrictions.
Have a look at examples to see if there is one you can use to make your first test application - http://openlayers.org/dev/examples/
GeoExtJS is a collection of extra tools and widgets that work with OpenLayers, built on top of another JavaScript framework ExtJS - also open source. ExtJS is mainly used for building user interfaces - data entry forms, grids etc. using JavaScript, to display in the browser.
If you are looking for tree structures to switch layers on and off and other more advanced UI widgets then GeoExtJS is worth looking into.
Server
If you are only displaying points then you can create dynamic KML or GeoJSON on your web server and reference this in OpenLayers. There are libraries in all languages that you can build on. Python has become a key languages in geospatial technologies, and has GeoJSON libraries you could script with.
GeoServer and MapServer are both server-side programs that allow you to serve out spatial data from databases with symbology, labelling etc. If you are having lots of different datasets then its worth spending time setting this up.
MapServer is written in C++ so it is probably easier for you to try this - however you may be able to get away without needing any specialist server side software, especially if your data consists of X,Y / Lon,Lat values that can be easily plotted as points.
For the beginning (you said that you need to show gps position in a real time) I think that Google Maps are good option here. This solution has very simple API and community support is also an advantage here (I've never compared with something else but I have good experince with GMaps and its tutorials/resources). This is for the client side, for server side any web framework should do the work (I use Django and it also have dupport for some geo things - mentioned later in this answer).
You need probably to build application that follows this rules:
Your GPS device sends data to your server(web application) periodically, data is stored in a db.
Users use browser to display data with map (eg. Google Map) which updates position periodicaly on some scheduled interval (eg. ajax calls to the server for the most current position). Each time response is recieved map need to be updated.
I don't know if there are more specialized solutions for this case.
If you need to improve your application and add some features you need to consider some more sophisticated geo frameworks. I have heard some positive opinions on GeoDjango, mainly because it can be easily incorporated with Django(which is very easy web framework to learn and it has a lot of capabilities).
All technologies I mentioned here are free.
I can recommend using the Google Maps API to render your maps in a browser. You can find my reasons in this answer.
The current version of the API has support for getting geo-location information for mobile devices.
I use Bing Maps for mobile. Mainly because its fast, and provides much better looking maps, 3d models, and satellite views for the UK than Google maps does.
I have also had issues with Google changing their service to provide some enhancements and it breaking my app, where at least with the Bing API theres a bit more compatability considered for existing apps. Not that I dont like the Google maps, I do. Its a backup service for me..
I generate maps from both providers, Bing as the primary, Goole secondary... this means that if ones offline of not working, which happens, my users still get to use my app.
Heres a link to Bing Maps Dev on a WIndows Phone for example
I'd take a look at Cloudmade. They have a number of API's, free options, paid options and use OpenStreetMap which for many places is one of the most accurate mapping solutions out there.
free , open source:
www.openstreetmap.org,
u can build ur own server as well using the same technolgogy:
http://weait.com/content/build-your-own-openstreetmap-server
API: http://wiki.openstreetmap.org/wiki/OpenLayers
Although its still in draft form, HTML5 will be supporting Geolocation API. Most major browsers and hand held devices should be supporting it in the near future and should make life a lot easier for developers who want a service independent solution. You would however still need a mapping service like google maps if you need to display locations.
function showMap(position) {
// Show a map centered at (position.coords.latitude, position.coords.longitude)
}
// One-shot position request.
navigator.geolocation.getCurrentPosition(showMap);
EDIT:
Its already supported in several major browsers:
Mozilla Firefox: supported in Firefox
3.5 and later versions.
Chrome: Supports thru Google Gears
Geolocation API
Opera: Supported in
nightly builds
Safari: Support is
coming soon in the IPhone’s Safari
browser.
Internet Explorer:
experimental support available from
IE8.