-
Notifications
You must be signed in to change notification settings - Fork 7
Diagnostic Report
This documentation is for Diagnostic Report as independent resource in a collection bundle.
You may send more structured information for a Diagnostic Report (advised) instead of expressing as bare bone "Media" resource. You would use FHIR DiagnosticReport resource. Now DiagnosticReport formatting and mapping can be as complicated you want it to be. For simplicity sake we document the most basic information below. Typically the most important elements of DiagnosticReports are:
- code* - examples below show only textual element "text", but you may use a "Coding" - with "diaplay" element expressing a human readable name.
- issued* - date and time when the report was made issued, usually after the report was reviewed and verified. Its the date, the pathologist or radiologists signs the document.
- results - when you want to express more details of the result observation. You may also use the "conclusion". Note in the example below how the "results" are references to "observations" within the same bundle.
- conclusion - Clinical conclusion (interpretation) of test results
- presentedForm - an attachment. Entire report as issued. When you want to just attach a report - pdf, image, or even a dicom file. Its very similar to the Media resource we already covered.
- media - when you want to send over images associated with this report. Usually in Radiological and imaging tests/procedures.
- imagingStudy - Reference to full details of imaging associated with the diagnostic report. Used for advanced radiology reporting with details of study, series and instances! In reference stack, we do not support ImagingStudy yet, we use the Media in association with specific "category" to interpret as radiology results.
- category - service category, that classifies the discipline, department or diagnostic service that created the report (e.g. cardiology, biochemistry, hematology, radiology). Reference stack utilizes this element to interpret radiology results, although you may very well adopt a strategy by detecting the "coding" of the "code" - more work - and probably impossible unless the affinity domain agrees to the clinical terminologies and coding standards to adopt. We think category is a decent start when such standardization is not possible to begin with.
IMPORTANT: You must send either of "results" or "presentedForm" or "media" in the DiagnosticReport.
Jump to sections:
- Simple Pathology Report
- Simple Pathology Report (Panel)
- Simple Pathology Report (Attachment)
- Simple Radiology Report (Attachment)
- Radiology Report with Category
- Radiology Report with Media
Let's start with a basic pathological test example, and then we go about explaining other types of tests. Let's say you would like to convey the Hemoglobin level of an individual.
{
"resourceType": "Bundle",
"id": "cb5fac2a-8d34-4a29-ab74-ca4d1ec1d515",
"type": "collection",
"entry": [
{
"fullUrl": "urn:uuid:56273c86-4c4c-4041-9a2e-b7ae58a59a65",
"resource": {
"resourceType": "DiagnosticReport",
"id": "56273c86-4c4c-4041-9a2e-b7ae58a59a65",
"status": "final",
"code": {
"text": "Hemoglobin"
},
"issued": "2019-06-01T11:45:33+11:00",
"result": [
{
"reference": "Observation/d324663a-4057-45d2-92bb-cd2d0a5a7a60"
}
],
"conclusion" : "Haemoglobin level is normal"
}
},
{
"fullUrl": "urn:uuid:d324663a-4057-45d2-92bb-cd2d0a5a7a60",
"resource": {
"resourceType": "Observation",
"id": "d324663a-4057-45d2-92bb-cd2d0a5a7a60",
"status": "final",
"code": {
"text": "Hemoglobin"
},
"valueString": "14 g/dL"
}
}
]
}
NOTICE:
- results - the DiagnosticReport resource has "results" as references to another resource within the "bundle". Also note the usage of reference (Observation/id*) - specifically the id to resolve reference in the other resource in the same bundle. All such resource references must be resolvable within the same bundle and usage of Id is advised.
- FHIR references can even a Http URL - please do not send over such Url reference.
- conclusion - This is optional. Typically a lab would send over "impression" and not conclusive result.
What if I wanted to express results of a Panel, which consists of multiple tests and results - like say composed of "Cholesterol" & "Triglyceride"?
{
"resourceType": "Bundle",
"id": "cb5fac2a-8d34-4a29-ab74-ca4d1ec1d515",
"type": "collection",
"entry": [
{
"fullUrl": "urn:uuid:56273c86-4c4c-4041-9a2e-b7ae58a59a65",
"resource": {
"resourceType": "DiagnosticReport",
"id": "56273c86-4c4c-4041-9a2e-b7ae58a59a65",
"status": "final",
"code": {
"text": "Lipid Panel"
},
"effectiveDateTime": "2019-06-01T08:30:00+11:00",
"issued": "2019-06-01T11:45:33+11:00",
"result": [
{
"reference": "Observation/d324663a-4057-45d2-92bb-cd2d0a5a7a60"
},
{
"reference": "Observation/33528149-5d21-4097-89f5-9554d308b511"
}
]
}
},
{
"fullUrl": "urn:uuid:d324663a-4057-45d2-92bb-cd2d0a5a7a60",
"resource": {
"resourceType": "Observation",
"id": "d324663a-4057-45d2-92bb-cd2d0a5a7a60",
"status": "final",
"code": {
"text": "Cholesterol"
},
"valueString": "6.3mmol/L"
}
},
{
"fullUrl": "urn:uuid:33528149-5d21-4097-89f5-9554d308b511",
"resource": {
"resourceType": "Observation",
"id": "33528149-5d21-4097-89f5-9554d308b511",
"status": "final",
"code": {
"text": "Triglyceride"
},
"valueString": "1.3 mmol/L"
}
}
]
}
NOTICE:
- results - there are now 2 references to Observations which are available as other entries within the same bundle.
What if I wanted to send over an PDF report of blood test?
{
"resourceType": "Bundle",
"id": "9473cf69-9fb8-4551-908f-94d0e081b9cc",
"type": "collection",
"entry": [
{
"fullUrl": "urn:uuid:a45840dc-cf6b-4fcc-acec-d54a3bea40ff",
"resource": {
"resourceType": "DiagnosticReport",
"id": "a45840dc-cf6b-4fcc-acec-d54a3bea40ff",
"status": "final",
"code": {
"text": "Complete Blood Count Panel"
},
"effectiveDateTime": "2019-11-03T00:00:00+00:00",
"issued": "2019-11-05T00:00:00+00:00",
"presentedForm": [
{
"contentType": "application/pdf",
"data": "base64 encoded inline data",
"title": "Complete Blood Count (CBC)"
}
]
}
}
]
}
NOTICE:
- presentedForm - you can transfer any attachment types. contentType describes the mime type of the content. It upto the HIU viewer what mimetype they can render/display. But try to stick to the following - application/pdf, image/jpeg, image/png, application/msword, application/rtf, audio/mpeg, application/dicom. 1.1 data - is the base64 encoded inline data of the attachment.
- In many ways - its like the Media resource we already talked about.
Let's say you have a imaging result, a DICOM file, that you want to send over. The simplest thing you can do is send over as attachment.
{
"resourceType": "Bundle",
"id": "9473cf69-9fb8-4551-908f-94d0e081b9cc",
"type": "collection",
"entry": [
{
"fullUrl": "urn:uuid:a45840dc-cf6b-4fcc-acec-d54a3bea40ff",
"resource": {
"resourceType": "DiagnosticReport",
"id": "a45840dc-cf6b-4fcc-acec-d54a3bea40ff",
"status": "final",
"code": {
"text": "BILATERAL DIGITAL MAMMOGRAPHY"
},
"effectiveDateTime": "2019-11-03T00:00:00+00:00",
"issued": "2019-11-05T00:00:00+00:00",
"presentedForm": [
{
"contentType": "application/dicom",
"data": "base64 encoded inline data",
"title": "BILATERAL DIGITAL MAMMOGRAPHY and 3D TOMOSYNTHESIS"
}
]
}
}
]
}
NOTICE:
- presentedForm - its the same as before. Only thing is the mimeType is now "application/dicom". The reference HIU viewer understands the mimetype and treats it as DICOM file (it will upload the file to a PACS server, and uses a Web Dicom Viewer to render the image). DICOM image formats and standards are beyond the scope of this documentation. We use typical WADO RS of Dicom Web standards.
TBD
TBD