Structured Data Capture, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 4.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/sdc/ and changes regularly. See the Directory of published versions
| Official URL: http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-filler | Version: 4.0.0 | |||
| Standards status: Trial-use Active as of 2014-07-06 | Maturity Level: 4 | Computable Name: SDCFormFiller | ||
| Other Identifiers: OID:2.16.840.1.113883.4.642.40.17.13.3 | ||||
This profile defines the expected capabilities of the SDC Form Filler' role when conforming to this implementation guide. This role is responsible for retrieving pre-defined forms, requesting pre-population of forms and/or auto-populating forms, guiding the user through verifying populated data and submitting completed or partially-completed forms. Note that Form Fillers may also take on the role of Form Archiver if they have a requirement to retain the completed version of a form (and potentially the source data that was used to complete it). In addition to the features described here, Form Fillers SHOULD also support search_type on all resources that might need to be looked up either for attachments or as References. The expectations for supported resources, profiles, and relevant search parameters will typically come from national 'base' or 'core' IGs.
Raw OpenAPI-Swagger Definition file | Download
xml, jsonNote to Implementers: FHIR Capabilities
Any FHIR capability may be 'allowed' by the system unless explicitly marked as 'SHALL NOT'. A few items are marked as MAY in the Implementation Guide to highlight their potential relevance to the use case.
clientThe Questionnaire, ValueSet and CodeSystem resources are retrieved to allow the system to guide the user through the entry process. The QuestionnaireResponse resource is used to record the populated form. Finally, the [[Library]], [[StructureMap]], [[StructureDefinition]], and [[ConceptMap]] resources are available to assist with population. Note: Form Fillers that support the 'populate' operation will need to be capable of consuming and rendering a partially completed QuestionnaireResponse in the same manner as if they had retrieved such a QuestionnaireResponse from a Form Response Manager
Implementations must meet the general security requirements documented in this implementation guide.html.
The summary table lists the resources that are part of this configuration, and for each resource it lists:
_include_revincludesearch-typeAllows a user to search for existing completed or partially-completed forms. Generally used to find partially-completed forms for update.
readAllows retrieval of a specific QuestionnaireResponse by id.
createAllows recording a completed or partially-completed form
updateAllows updating an existing completed or partially-completed form. (Systems may place rules on who can update forms and under what circumstances.)
deleteAllows removal of a completed form from a repository. Note that the removal may be logical rather than physical. Some systems may have rules for who can remove a completed form and under what circumstances.
history-instanceAllows review of prior versions of an answer set - allows reversion to previously recorded versions
The primary focus of a form filler is creating and managing QuestionnaireResponses.
| Conformance | Operation | Documentation |
|---|---|---|
| MAY | $extract | This is only necessary if the form filler doesn't handle all needed extraction capabilities locally and extraction is actually peformed by the form filler rather than a downstream process |
search-typeAllows discovery of existing questionnaires to be completed. Without this, forms need to be explicitly passed in as part of workflow.
readAllows retrieval of a specific questionnaire by id. Allows systems to maintain a 'favorites' list of forms and retrieve them by id.
history-instanceAllows review of changes made to a questionnaire over time. Of interest to some systems, but probably not most.
vreadAllows retrieval of a historical version of a questionnaire. Most systems will make use of the current version only.
If not supported, then forms will need to be made accessible through workflow
| Conformance | Parameter | Type | Documentation |
|---|---|---|---|
| SHALL | url | uri | |
| SHALL | version | token | |
| SHALL | status | token | |
| SHALL | experimental | token | |
| SHOULD | context-type-quantity | composite | |
| SHOULD | context-type-value | composite | |
| SHOULD | date | date | |
| SHOULD | description | string | |
| SHOULD | identifier | token | |
| SHOULD | publisher | string | |
| SHOULD | questionnaire-code | token | |
| SHOULD | subject-type | token | |
| SHOULD | title | string | |
| SHOULD | effective | date | |
| MAY | jurisdiction | token | |
| MAY | assemble-expectation | token |
| Conformance | Operation | Documentation |
|---|---|---|
| SHOULD | $next-question | This is only necessary if the form filler doesn't handle all needed population capabilities locally |
| SHOULD | $populate | This is only necessary if the form filler doesn't handle all needed population capabilities locally |
search-typeNeeded to retrieve value set based on canonical reference
readUseful if a server doesn't return full data in a search
Needed to support simple value sets that might not be known to the terminology server or for local expansion and validation
| Conformance | Operation | Documentation |
|---|---|---|
| SHOULD | $expand | Needed to determine allowed code choices. SHALL be supported unless handled locally |
| SHOULD | $validate code | Needed when populating from existing data (to confim the code is part of the value set). SHOULD be supported unless handled locally |
search-typeNeeded to retrieve code system based on canonical reference
readUseful if a server doesn't return full data in a search
SHALL be supported if doing any terminology expansions or validation locally
search-typeNeeded to retrieve library based on canonical reference
readUseful if a server doesn't return full data in a search
Needed for certain types of population and extraction
search-typeNeeded to retrieve structure map based on canonical reference
readUseful if a server doesn't return full data in a search
Needed if performing map-based population or extraction
search-typeNeeded to retrieve structure definition based on canonical reference
readUseful if a server doesn't return full data in a search
Needed if performing map-based population or map or definition-based extraction
search-typeNeeded to retrieve concept map based on various criteria
readUseful if a server doesn't return full data in a search
May be needed for code conversion during population or extraction
| Conformance | Parameter | Type | Documentation |
|---|---|---|---|
| SHALL | experimental | token | |
| SHALL | url | uri | |
| SHALL | version | token | |
| SHALL | status | token | |
| SHALL | source-system | uri | |
| SHALL | target-system | uri | |
| SHOULD | source-uri | reference | |
| SHOULD | target-uri | reference |