Difference between revisions of "Profile Tooling"
(Created page with "This page gathers together links for tools that work with or on profiles for FHIR. Tools are categorised into several functional categories: = Editing / Authoring Profiles = ...") |
|||
Line 19: | Line 19: | ||
= Validating Resources against Profiles = | = Validating Resources against Profiles = | ||
+ | |||
+ | You can validate a resource against a profile in several different ways | ||
+ | |||
+ | * use the web interface at http://fhir.healthintersections.com.au/open | ||
+ | ** find the profile on fhir.healthintersections.com.au server by searching through the profiles | ||
+ | ** if your profile isn't there, you can put it on the server - paste it into the edit box at the bottom of the page, check the operation is "transaction", and choose Upload | ||
+ | ** now, go back to fhir.healthintersections.com.au/open, paste your resource into the edit box at the bottom of the page, choose "validate" for the operation, and pick the relevant profile, and choose upload | ||
+ | ** get a list of errors | ||
+ | * You can use the [[http://hl7.org/implement/standards/fhir/http.html#validate validation]] interaction | ||
+ | ** use a RESTful client like [[http://www.getpostman.com/ POSTman]], or write code to do this in the background | ||
+ | ** post the resource as described by the validation operation, and tag it with the profile you wish it to be tested against | ||
+ | ** most servers require the profile to be hosted on the server itself | ||
+ | * You can use the validator package | ||
+ | ** This is a java jar that you can use to validate a resource | ||
+ | ** get the validator from the FHIR downloads page for the version of FHIR you are using- download the validation pack, and unzip it | ||
+ | ** run it like this: java -jar org.hl7.fhir.validator.jar [source] -defn [validation.zip] -profile [url] | ||
+ | *** [source] is a file name of the resource to validate, or a URL at which to find it | ||
+ | *** [validation.zip] is the file name of the file validation.zip included in the tool zip download from above | ||
+ | *** [url] - the file name or url of the profile to use when validating the resource. if this is not provided, the resource is validated against the base | ||
+ | * You can use the java classes directly | ||
+ | ** see the java package org.hl7.fhir.instance.validation in the [[http://gforge.hl7.org/svn/fhir/trunk FHIR svn]] | ||
+ | * The fhir.healthintersections.com.au source is available at [[https://github.com/grahamegrieve/fhirserver]] | ||
+ | ** this can used if desired | ||
+ | |||
+ | other tools to add: DotNet validator | ||
Revision as of 22:03, 14 September 2014
This page gathers together links for tools that work with or on profiles for FHIR. Tools are categorised into several functional categories:
Contents
Editing / Authoring Profiles
The following choices exist for editing profiles
- By Hand
- Use a schema drive editor against Profile.xsd in the FHIR schemas
- start with an existing profile (look for the link under the structure definition on the page for the resource)
- edit the profile as you see fit
- Note: profiles are full rich description of the content, and so they're pretty hard to edit by hand. You an do this but it's not the intention
- From Spreadsheets
- this is how some of the profiles in the specification are produced
- use the FHIR Build Process following the method used here: FHIR Profile authoring
- Using Forge
- see .. link to be provided...
Validating Resources against Profiles
You can validate a resource against a profile in several different ways
- use the web interface at http://fhir.healthintersections.com.au/open
- find the profile on fhir.healthintersections.com.au server by searching through the profiles
- if your profile isn't there, you can put it on the server - paste it into the edit box at the bottom of the page, check the operation is "transaction", and choose Upload
- now, go back to fhir.healthintersections.com.au/open, paste your resource into the edit box at the bottom of the page, choose "validate" for the operation, and pick the relevant profile, and choose upload
- get a list of errors
- You can use the [validation] interaction
- use a RESTful client like [POSTman], or write code to do this in the background
- post the resource as described by the validation operation, and tag it with the profile you wish it to be tested against
- most servers require the profile to be hosted on the server itself
- You can use the validator package
- This is a java jar that you can use to validate a resource
- get the validator from the FHIR downloads page for the version of FHIR you are using- download the validation pack, and unzip it
- run it like this: java -jar org.hl7.fhir.validator.jar [source] -defn [validation.zip] -profile [url]
- [source] is a file name of the resource to validate, or a URL at which to find it
- [validation.zip] is the file name of the file validation.zip included in the tool zip download from above
- [url] - the file name or url of the profile to use when validating the resource. if this is not provided, the resource is validated against the base
- You can use the java classes directly
- see the java package org.hl7.fhir.instance.validation in the [FHIR svn]
- The fhir.healthintersections.com.au source is available at [[1]]
- this can used if desired
other tools to add: DotNet validator
Publishing Profiles
Implementation Guides
Public Registries
Data Entry Tools
Resources are able to declare that they conform to a profile by being "tagged" with the URI that identifies the profile. The tags are moved as Atom category elements in a bundle, or in the category header in an HTTP call. This is an example profile tag in a bundle (e.g. Atom Feed):
<category term="http://hl7.org/fhir/tag/message" label="Message" scheme="http://hl7.org/fhir/tag"/>
And in the HTTP Headers:
Category: http://hl7.org/fhir/tag/message; scheme="http://hl7.org/fhir/tag"; label="Message"
Note that just because a resource conforms to the rules of a profile, it is not guaranteed to actually conforms to it.
In order to be confident that the resource does conform, a user or application can ask a validation service to check that it does conform by:
- Using the validation service via browser at http://fhir.healthintersections.com.au/open#upload. Notes:
- Choose Operation "Validation", and the profile you want to use
- In order to use this, the profile must first be uploaded onto the server
- use the validation service via REST - post XML or JSON to
- [base]/[type]/_validate
- http://fhir.healthintersections.com.au/open is the base for one server that implements validation
- use the validation jar (see the [the download] for instructions)
- use the java classes directly (see the FHIR svn, see http://gforge.hl7.org/gf/project/fhir/)
Other validation libraries are planned, but not yet implemented