0.1.0 - ci-build

SENAITEFHIRImplementationGuide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Artifacts Summary

This page provides a list of the FHIR artifacts defined as part of this implementation guide.

Capability Statements

FHIR capability statements describing the SENAITE API surface.

SENAITE FHIR API Capability Statement

Describes the FHIR R5 capabilities of the SENAITE FHIR API when operating as the server (API provider). Covers the lab request and results workflow and the instrument integration workflow.

Request/Results Workflow — Profiles

Profiles supporting the lab request and results workflow.

Senaite Bundle Response

The transaction-response Bundle returned by the server after successfully processing a SenaiteRequestBundle. One entry is returned per entry in the request, in the same order. Each entry carries the server-assigned fullUrl and a response status. No resource body or request element is included.

Senaite Service Request Bundle

A transaction Bundle used to submit a laboratory service request to SENAITE. The ServiceRequest is the backbone of the Bundle. All referenced resources (Patient, Encounter, Practitioner, Location, Organization, Specimen) must be included as entries so the server can resolve intra-Bundle references. Resource instances may not yet exist on the server; entries use POST so the server creates them and assigns logical IDs.

Senaite ServiceRequest Cancellation

Represents the JSON Patch body used to cancel (revoke) a SenaiteServiceRequest. Sent as a PATCH to /ServiceRequest/{id}. Contains exactly one operation: replace /status with revoked.

Senaite ServiceRequest Cancellation Error

The OperationOutcome returned with a 409 Conflict when a ServiceRequest cannot be revoked, for example because results have already been published in SENAITE.

Senaite ServiceRequest Revoked

The ServiceRequest resource returned by the server in the 200 OK response body after a successful cancellation PATCH. Identical to SenaiteServiceRequest but with status fixed to revoked and meta.versionId required to confirm the update was applied.

SenaiteDiagnosticReport

This is the results for the lab test requested by the ServiceRequest - as such it requires a basedOn link to the Service Request. It may contain either the pdf file in presentedForm or the quantitative results as Observations in results.

SenaiteEncounter
SenaiteLocation

This resource is used to capture the location in which the Service Request was made

SenaiteObservation

A single quantitative result produced by an instrument and pushed to SENAITE or made available within a SenaiteDiagnosticReport bundle.

  • code (LOINC) identifies the specific analyte, matched against ServiceRequest.orderDetail codes.
  • basedOn links the result back to the originating ServiceRequest.
  • device optionally identifies the instrument that produced the result.
SenaiteOrganization

Used to specify the Organization who makes a SenaiteServiceRequest. Usually via an SenaiteEncounter.

SenaitePatient

Demographic details of the patient

SenaitePractitioner

The Practitioner that orders the test.

SenaiteServiceRequest

This will be an incoming lab request. It relies on references to:

  • Specimen: to handle the related specimen details.
  • Subject: The patient
  • Encounter: Determining where and when the request originated.
  • Requester: The practitioner who made the request.
SenaiteSpecimen

This is the specimen to accompany the ServiceRequest

Request/Results Workflow — Examples

Example instances for the lab request and results workflow.

CancelLiverPanelBadRequest
CancelLiverPanelConflict
CancelLiverPanelNotFound
[Bundle] Liver Panel Transaction Bundle

Transaction bundle containing patient, organization, location, practitioner, encounter, specimen, and service request resources for a liver panel test order.

[Bundle] Liver Panel Transaction Response

Transaction response bundle for the liver panel service request, containing created resource IDs.

[OperationOutcome] Unknown LOINC Panel Code

OperationOutcome returned when a ServiceRequest references an unknown LOINC panel code, causing transaction rollback.

[Parameters] Cancel Liver Panel Request

Parameters resource for cancelling a liver panel service request using JSON Patch operations.

Instrument Workflow — Profiles

Profiles supporting the instrument integration workflow.

Senaite Device

Represents a laboratory instrument that produces results in SENAITE. Used to identify the source instrument of an Observation, supporting multi-device labs and enabling per-instrument QC and audit trails. If SENAITE does not recognise the device identifier it will be created using the supplied fields.

Instrument Workflow — Examples

Example instances for the instrument integration workflow.

[Device] Roche Cobas c502

Chemistry analyser used for liver panel and general biochemistry panels.

[Device] Sysmex XN-1000

Haematology analyser used for full blood count panels.

[Observation] Albumin (instrument)

Albumin result pushed by the Roche Cobas c502 for the liver panel ServiceRequest.

[Observation] ALP (instrument)

Alkaline phosphatase result pushed by the Roche Cobas c502 for the liver panel ServiceRequest.

[Observation] ALT (instrument)

Alanine aminotransferase result pushed by the Roche Cobas c502 for the liver panel ServiceRequest.

[Observation] AST (instrument)

Aspartate aminotransferase result pushed by the Roche Cobas c502 for the liver panel ServiceRequest.

[Observation] Hemoglobin (instrument)

Hemoglobin result pushed by the Sysmex XN-1000 for the CBC ServiceRequest.

[Observation] Platelets (instrument)

Platelet count pushed by the Sysmex XN-1000 for the CBC ServiceRequest.

[Observation] Red Blood Cells (instrument)

Red blood cell count pushed by the Sysmex XN-1000 for the CBC ServiceRequest.

[Observation] Total Bilirubin (instrument)

Total bilirubin result pushed by the Roche Cobas c502 for the liver panel ServiceRequest.

[Observation] White Blood Cells (instrument)

White blood cell count pushed by the Sysmex XN-1000 for the CBC ServiceRequest.

Structures: Extension Definitions

These define constraints on FHIR data types for systems conforming to this implementation guide.

EstimatedDateBirth

If the date of birth is unknown to a high degree of precision

Example: Example Instances

These are example instances that show what data produced and consumed by systems conforming with this implementation guide might look like.

CancelLiverPanelSuccess
[DiagnosticReport] CBC (PDF)

DiagnosticReport for a Full Blood Count (CBC) panel with references to component Observations and an attached PDF.

[DiagnosticReport] Urinalysis Report (PDF)

DiagnosticReport for a urinalysis panel represented as a PDF attached in presentedForm.

[Encounter] Microbiology Lab

Finished encounter associated with a visit to the outpatient lab, referencing the lab location and service provider.

[Encounter] Outpatient (Finished)

A finished outpatient encounter occurring at a GP Office.

[Location] Outpatient Lab

Location representing the General Hospital outpatient laboratory used by the examples.

[Observation] Hemoglobin

Observation resource for hemoglobin measurement in blood.

[Observation] Platelets

Observation resource for platelet count in blood.

[Observation] Red Blood Cells

Observation resource for red blood cell count in blood.

[Observation] White Blood Cells

Observation resource for white blood cell count in blood.

[Organization] Microbiology Laboratory

Organization resource representing the Microbiology laboratory including contact details and address.

[Patient] Example Alex Miller

Patient resource for Alex Miller used in examples, containing basic demographics and identifier.

[Patient] Example Jane Doe (Estimated BirthDate)

Patient resource for Jane Doe with an estimated birth date indicated by the EstimatedDateBirth extension.

[Practitioner] John Smith

Practitioner resource for John Smith used in examples.

[Practitioner] Kim Nguyen

Practitioner resource for Kim Nguyen used in examples.

[ServiceRequest] CBC

ServiceRequest for a Full Blood Count (CBC) panel including order details for component tests and specimen reference.

[ServiceRequest] Urinalysis

ServiceRequest for a urinalysis panel including multiple orderDetail codes for individual urine tests.

[Specimen] Urine (Collected)

Specimen representing a urine specimen collected at the specified date/time.

[Specimen] Venous Blood (Collected)

Specimen representing a collected venous blood specimen used for CBC testing.