Page tree
Skip to end of metadata
Go to start of metadata
  • Dissolve Media into DocumentReference and Attachment Data Type
  • Add Attachment as valueAttachment to Observation

See: OO January 2019 Workgroup Meeting Minutes#Q4-OO/II

Reasoning

  • Significant overlap between use cases for Media and Document Reference
    • "Media" objects can be stored as Document Reference and vice versa
  • Implementors likely to pick one or the other for indexing of non-FHIR resources
  • Adding key Media fields to Document Reference should satisfy all Media requirements
    • Mandatory fields are the same in both resources
  • Document Reference could be renamed to help clarify purpose of the combined resource

Affected resources

Media

  • Remove resource
  • Remove Reference(Media) in AdverseEvent.subjectMedicalHistory. (Already contains Reference(DocumentReference | Observation)).
  • Remove Reference(Media) in ClinicalImpression.investigation.item; potentially replace with Reference(DocumentReference) although that isn't entirely clear.
  • Remove Reference(Media) in ClinicalImpression.finding.itemReference. (Already contains Reference(DocumentReference | Observation)).
  • Remove Reference(Media) in DeviceUseStatement.reasonReference. (Already contains Reference(DocumentReference | Observation)).
  • Replace Reference(Media) in DiagnosticReport.media.link with Reference(Observation | DocumentReference).
  • Remove Reference(Media) in MedicationKnowledge.monograph.source. (Already contains Reference(DocumentReference)).

Attachment

NameFlagsCard.Type
IN
ElementContent in a format defined elsewhere
+ Rule: If the Attachment has data, it SHALL have a contentType
Elements defined in Ancestors: idextension
Σ0..1codeMime type of the content, with charset etc.
MimeType (Required)
Σ0..1codeHuman language of the content (BCP-47)
Common Languages (Preferred but limited to AllLanguages)

0..1base64BinaryData inline, base64ed
... url
Σ0..1urlUri where the data can be found
Σ0..1unsignedIntNumber of bytes of content (if url provided)
Σ0..1base64BinaryHash of the data (sha-1, base64ed)
Σ0..1stringLabel to display in place of the data
Σ0..1dateTimeDate attachment was first created
Σ0..1positiveIntHeight of the image in pixels (photo/video)
Σ0..1positiveIntWidth of the image in pixels (photo/video)
Σ0..1positiveIntNumber of frames if > 1 (photo)
Σ0..1decimalLength in seconds (audio / video)
  • Should these new elements be moved into (one or more) core extensions?

DocumentReference

  • Attachments now include additional media data fields
  • Media.type is unnecessary due to DocumentReference.content.attachment.contentType and use of mime type (irrespective of subtype) searches
  • Media.view can be encoded in DocumentReference.context.event, or alternatively a new view element added to DocumentReference.
  • Media.bodySite can be encoded in DocumentReference.context.event, or alternatively a new bodySite element added to DocumentReference.
  • Media.modality can be encoded in DocumentReference.context.event, or alternatively a new modality element added to DocumentReference.
  • DocumentReference.subject missing several subject types present in Observation (GF#20352)
  • DocumentReference.author missing several author types present in Observation (GF#20353)
  • Media.deviceName and Media.device can be encoded in DocumentReference.author as Reference(Device)
  • Potentially rename resource to Multimedia, IndexedMedia, ExternalMedia, File, RelatedDocument, BinaryMetadata, Content, IndexedContent, ... 

Observation

NameFlagsCard.Type
IN
DomainResourceMeasurements and simple assertions
+ Rule: dataAbsentReason SHALL only be present if Observation.value[x] is not present
+ Rule: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
Elements defined in Ancestors: idmetaimplicitRuleslanguagetextcontainedextensionmodifierExtension
Σ0..*IdentifierBusiness Identifier for observation
Σ0..*

Reference(CarePlan | DeviceRequest | ImmunizationRecommendation |

 MedicationRequest | NutritionOrderServiceRequest)

Fulfills plan, proposal or order
Σ0..*

Reference(MedicationAdministrationMedicationDispense | 

MedicationStatement | Procedure | Immunization | ImagingStudy)

Part of referenced event
?!Σ1..1coderegistered | preliminary | final | amended +
ObservationStatus (Required)

0..*CodeableConceptClassification of type of observation
Observation Category Codes (Preferred)
Σ1..1CodeableConceptType of observation (code / type)
LOINC Codes (Example)
Σ0..1Reference(Patient | Group | DeviceLocation)Who and/or what the observation is about
ΣTU0..*Reference(Any)What the observation is about, when it is not about the subject of record
Σ0..1Reference(Encounter)Healthcare event during which this observation is made
Σ0..1
Clinically relevant time/time-period for observation
.... effectiveDateTime


dateTime
.... effectivePeriod


Period
.... effectiveTiming


Timing
.... effectiveInstant


instant
Σ0..1instantDate/Time this version was made available
Σ0..*

Reference(Practitioner | PractitionerRole | Organization | CareTeam |

 Patient | RelatedPerson)

Who is responsible for the observation
ΣI0..1
Actual result
.... valueQuantity


Quantity
.... valueCodeableConcept


CodeableConcept
.... valueString


string
.... valueBoolean


boolean
.... valueInteger


integer
.... valueRange


Range
.... valueRatio


Ratio
.... valueSampledData


SampledData
.... valueTime


time

.... valueDateTime



dateTime

... valueAttachment



Attachment

.... valuePeriod



Period
I0..1CodeableConceptWhy the result is missing
DataAbsentReason (Extensible)

0..*CodeableConceptHigh, low, normal, etc.
Observation Interpretation Codes (Extensible)

0..*AnnotationComments about the observation

0..1CodeableConceptObserved body part
SNOMED CT Body Structures (Example)

0..1CodeableConceptHow it was done
Observation Methods (Example)

0..1Reference(Specimen)Specimen used for this observation

0..1Reference(Device | DeviceMetric)(Measurement) Device
I0..*BackboneElementProvides guide for interpretation
+ Rule: Must have at least a low or a high or text
.... low
I0..1SimpleQuantityLow Range, if relevant
I0..1SimpleQuantityHigh Range, if relevant

0..1CodeableConceptReference range qualifier
Observation Reference Range Meaning Codes (Preferred)

0..*CodeableConceptReference range population
Observation Reference Range Applies To Codes (Example)
.... age

0..1RangeApplicable age range, if relevant

0..1stringText based reference range in an observation
Σ0..*Reference(Observation | QuestionnaireResponse | MolecularSequence)Related resource that belongs to the Observation group
Σ0..*

Reference(DocumentReference | ImagingStudy | Media | 

QuestionnaireResponse | Observation | MolecularSequence)

Related measurements the observation is made from
Σ0..*BackboneElementComponent results
Σ1..1CodeableConceptType of component observation (code / type)
LOINC Codes (Example)
Σ0..1
Actual component result
..... valueQuantity


Quantity
..... valueCodeableConcept


CodeableConcept
..... valueString


string
..... valueBoolean


boolean
..... valueInteger


integer
..... valueRange


Range
..... valueRatio


Ratio
..... valueSampledData


SampledData
..... valueTime


time
..... valueDateTime


dateTime

..... valueAttachment



Attachment

..... valuePeriod



Period
I0..1CodeableConceptWhy the component result is missing
DataAbsentReason (Extensible)

0..*CodeableConceptHigh, low, normal, etc.
Observation Interpretation Codes (Extensible)

0..*see referenceRangeProvides guide for interpretation of component result
  • Where a photo has been uploaded as an attachment to DocRef, the suggestion is to have valueAttachment as the value of DocRef.content.attachment. valueAttachment.url should not be a pointer to the DocRef. The full DocRef should referenced from the derivedFrom element.
  • No labels