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

201805 Catalog

From HL7Wiki
Jump to navigation Jump to search

Return to May 2018 Proposals

Order Catalog

Submitting WG/Project/Implementer Group

  • Orders and Observations


Resources and Resource profiles needed to support catalogs of various types (lab compendia, medication formularies, human services directories, etc) are in an early draft stage. These include a Catalog profile on Composition, a catalog entry EntryDefinition resource, an ObservationDefinition resource, a SpecimenDefinition resource, and potentially a profile on ActivityDefinition. This connectathon track is intended to test the design approach and confirm the resource set meets the needs of the use case. The track is based on the current R4 ballot (

This will inform the development of the catalog resources, with a goal of reaching FMM 1 for the FHIR Release 4 ballot in September 2018.

Proposed Track Lead

See Connectathon_Track_Lead_Responsibilities

François Macary
Zulip: François Macary

Expected participants

The following organizations have indicated an interest in participating in this track:

  • Phast - Phast will participate with a FHIR server supporting a clinical lab compendium.
  • University of Utah will participate with a FHIR client able to query a lab compendium.
  • Your organization here!


Please include information here regarding how much advance preparation will be required if creating a client and/or server.

Catalog Server

A FHIR Server should support the following resources for this track:

  • Catalog Profile of Composition
  • EntryDefinition
  • Content resources appropriate to the type of catalog. For Lab:
    • ActivityDefinition
    • SpecimenDefinition
    • ObservationDefinition

A FHIR server is available for testing with sample data

PHAST use case

  • The laboratory managing and hosting its own tests/panels catalog. The application managing this catalog is the catalog server.

Catalog Consumer

This connectathon track focuses on the retrieval of a EntryDefinition and its set of related resources, to support an order. In this case, a catalog consumer could be a Lab Information System (LIS), a Computerized Order Entry System, or an EHR.

PHAST use case

  • A physician willing to place test orders to a clinical laboratory for his patients, and needing to check the associated pre-analytical conditions as well as what results will be reported back, and how. The physician’s EHR system is the client application.


This track demonstrates basic catalog interactions to support the ordering process, with a focus on lab tests. Future connectathons will explore other catalog types and more complex catalog management and maintenance tasks.

Look for Catalog

Search Catalog by title

GET [base]/composition?title=[Catalog.title]

Example: Phast's server holds a catalog named "CIOlab"

The server returns in a Bundle, the Composition resource representing the catalog.

Check Catalog by id

GET [base]/composition/[catalogId]

Example: Check catalog CIOlab whose id is "2"

The server returns the Composition resource representing this catalog.

Initial Search

Search by name of specialty

The physician enters some word(s) which are part of the name of a laboratory sub-specialty, such as “chemistry”, “virology”, “toxicology”, “bacteriology”, … His EHR-S launches the search with search parameters corresponding to:

  • _has:Composition:_id=2
  • EntryDefinition.type = "diagnostic-service"
  • EntryDefinition.purpose = "orderable"
  • EntryDefinition.classification.display = <the words keyed in>


Search by name of orderable service

The physician enters some word(s) which are part of the name of an orderable service, such as “CBC”, “electrolyte”, “toxoplasma”, “sodium” … His EHR-S launches the search with search parameters corresponding to:

  • _has:Composition:_id=2
  • EntryDefinition.type = "diagnostic-service"
  • EntryDefinition.purpose = "orderable"
  • <words keyed in>



In both cases, the server responds with a Bundle containing the EntryDefinition resources satisfying the criterion. Each item of the list presents a few summary elements of both EntryDefinition and the referenced item ActivityDefinition.

The physician’s EMR system displays the list on screen, with the elements, which make sense to this application. In particular:

  • ActivityDefinition.identifier = the LOINC code of the orderable service
  • = name of the orderable service
  • EntryDefinition.classification.display = the name of the sub-specialty
  • EntryDefinition.identifier

Obtain detail for an orderable diagnostic service

The physician selects one item of the list. His EHR-S launches the GET on the identified EntryDefinition

GET [base]/EntryDefinition?_has:Composition:_id=2&_id=[an]

The server responds with:

  • the detail of the EntryDefinition
  • its referenced item ActivityDefinition
  • its related items:
    • SpecimenDefinition resources representing the biologic specimens to be provided when ordering this service, with the characteristics of each specimen.
    • ObservationDefinition resources representing the observations to provide as input to the service: questions to be asked at order entry or at specimen collection time.
    • ObservationDefinition resources characterizing the results that the laboratory will produce as output of the service
    • The ActivityDefinition resources representing the child services that this service may trigger (e.g. as reflex panels or tests)


Security and Privacy Considerations