Building interfaces for data entry

  • Choose your CodeSystem(s) (ideally standardized ones!)
  • Choose or define your ValueSets
    • The subset of the CodeSystem that is relevant for the data field
  • If your ValueSet is small, a picklist can be populated using $expand
  • If your ValueSet is large, a typeahead widget can use $expand?filter=xxx

Remember, search is a poor UX when the ValueSet is small and small ValueSets drive selection of the “least wrong” code.


Retrieve the expansion of the ValueSet subject to a number of parameters

  • Result is a ValueSet with an ‘expansion’ element
  • Parameters include: filter, count, offset, includeDesignations, includeDefinition, activeOnly, excludeNested, excludeNotForUI, excludePostCoordinated, displayLanguage, limitedExpansion, profile
  • GET/POST /ValueSet/$expand (GET must have ’url’, POST must have ‘valueSet’)
  • GET/POST /ValueSet/id/$expand

This is the main/best way to search for a code!