201805 Catalog
Order Catalog
Submitting WG/Project/Implementer Group
- Orders and Observations
Justification
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 (http://hl7.org/fhir/2018Jan/index.html)
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
- Email: francois.macary@phast.fr
- 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!
Roles
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
http://jade.phast.fr/catalogs/api/fhir/metadata
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.
Scenarios
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"
http://jade.phast.fr/catalogs/api/fhir/composition?title=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"
http://jade.phast.fr/catalogs/api/fhir/composition/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>
Example:
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"
- EntryDefinition.referencedItem.ActivityDefinition.name= <words keyed in>
Example:
Response
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
- ActivityDefinition.name = 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 EntryDefinition.id]
http://jade.phast.fr/catalogs/api/fhir/EntryDefinition?_has:Composition:_id=2&_id=ex15109
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)