This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Difference between revisions of "Profile Tooling"

From HL7Wiki
Jump to navigation Jump to search
(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:

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
  • 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:

Other validation libraries are planned, but not yet implemented