xCaliber healthCare Data Mesh

DocumentReference

Overview

The DocumentReference API empowers healthcare developers to seamlessly manage and retrieve documents linked to patient care, providing a standardized interface for efficient integration of diverse clinical documents into healthcare workflows. By leveraging this API, developers can optimize document storage, retrieval, and sharing, ensuring seamless access to critical patient information for improved decision-making and comprehensive patient care.

Use Cases

  • Records Indexing - Maintain indexed metadata records pointing to clinical documents.
  • Content Management - Associate documents stored externally with relevant metadata tags.
  • Document Exchange - Share document reference details enabling access to content.
  • Link Validation - Check integrity of content links attached to document references.
  • Context Binding - Attach patient, encounter, workflow attributes establishing context.
  • Clinical Viewer - Render indexed clinical content to authorized users inline.
  • Document Digitalization - Create references with metadata retaining provenance for digitized records.
  • Compliance Archiving - Store protected document references for retention policies adherence.
  • API Federation - Federates document queries to aggregated sources’ APIs.
  • Analytics Metadata - Provides insights on unstructured documents corpus using metadata.

Object Definition

{
  "resourceType": "DocumentReference",
  "id": "example",
  "text": {
    "status": "generated",
    "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: example</p><p><b>contained</b>: </p><p><b>masterIdentifier</b>: urn:oid:1.3.6.1.4.1.21367.2005.3.7</p><p><b>identifier</b>: urn:oid:1.3.6.1.4.1.21367.2005.3.7.1234</p><p><b>status</b>: current</p><p><b>docStatus</b>: preliminary</p><p><b>type</b>: Outpatient Note <span>(Details : {LOINC code '34108-1' = 'Outpatient Note', given as 'Outpatient Note'})</span></p><p><b>category</b>: History and Physical <span>(Details : {http://ihe.net/xds/connectathon/classCodes code 'History and Physical' = 'History and Physical', given as 'History and Physical'})</span></p><p><b>subject</b>: <a>Patient/xcda</a></p><p><b>date</b>: 24/12/2005 9:43:41 AM</p><p><b>author</b>: </p><ul><li><a>Practitioner/xcda1</a></li><li>id: a2; Gerald Smitty </li></ul><p><b>authenticator</b>: <a>Organization/f001</a></p><p><b>custodian</b>: <a>Organization/f001</a></p><h3>RelatesTos</h3><table><tr><td>-</td><td><b>Code</b></td><td><b>Target</b></td></tr><tr><td>*</td><td>appends</td><td><a>DocumentReference/example</a></td></tr></table><p><b>description</b>: Physical</p><p><b>securityLabel</b>: very restricted <span>(Details : {http://terminology.hl7.org/CodeSystem/v3-Confidentiality code 'V' = 'very restricted', given as 'very restricted'})</span></p><h3>Contents</h3><table><tr><td>-</td><td><b>Attachment</b></td><td><b>Format</b></td></tr><tr><td>*</td><td/><td>History and Physical Specification (Details: urn:oid:1.3.6.1.4.1.19376.1.2.3 code urn:ihe:pcc:handp:2008 = 'urn:ihe:pcc:handp:2008', stated as 'History and Physical Specification')</td></tr></table><h3>Contexts</h3><table><tr><td>-</td><td><b>Encounter</b></td><td><b>Event</b></td><td><b>Period</b></td><td><b>FacilityType</b></td><td><b>PracticeSetting</b></td><td><b>SourcePatientInfo</b></td><td><b>Related</b></td></tr><tr><td>*</td><td><a>Encounter/xcda</a></td><td>Arm <span>(Details : {http://ihe.net/xds/connectathon/eventCodes code 'T-D8200' = 'T-D8200', given as 'Arm'})</span></td><td>23/12/2004 8:00:00 AM --&gt; 23/12/2004 8:01:00 AM</td><td>Outpatient <span>(Details : {http://www.ihe.net/xds/connectathon/healthcareFacilityTypeCodes code 'Outpatient' = 'Outpatient', given as 'Outpatient'})</span></td><td>General Medicine <span>(Details : {http://www.ihe.net/xds/connectathon/practiceSettingCodes code 'General Medicine' = 'General Medicine', given as 'General Medicine'})</span></td><td><a>Patient/xcda</a></td><td><a>Patient/xcda</a></td></tr></table></div>"
  },
  "contained": [
    {
      "resourceType": "Practitioner",
      "id": "a2",
      "name": [
        {
          "family": "Smitty",
          "given": [
            "Gerald"
          ]
        }
      ]
    }
  ],
  "masterIdentifier": {
    "system": "urn:ietf:rfc:3986",
    "value": "urn:oid:1.3.6.1.4.1.21367.2005.3.7"
  },
  "identifier": [
    {
      "system": "urn:ietf:rfc:3986",
      "value": "urn:oid:1.3.6.1.4.1.21367.2005.3.7.1234"
    }
  ],
  "status": "current",
  "docStatus": "preliminary",
  "type": {
    "coding": [
      {
        "system": "http://loinc.org",
        "code": "34108-1",
        "display": "Outpatient Note"
      }
    ]
  },
  "category": [
    {
      "coding": [
        {
          "system": "http://ihe.net/xds/connectathon/classCodes",
          "code": "History and Physical",
          "display": "History and Physical"
        }
      ]
    }
  ],
  "subject": {
    "reference": "Patient/xcda"
  },
  "date": "2005-12-24T09:43:41+11:00",
  "author": [
    {
      "reference": "Practitioner/xcda1"
    },
    {
      "reference": "#a2"
    }
  ],
  "authenticator": {
    "reference": "Organization/f001"
  },
  "custodian": {
    "reference": "Organization/f001"
  },
  "relatesTo": [
    {
      "code": "appends",
      "target": {
        "reference": "DocumentReference/example"
      }
    }
  ],
  "description": "Physical",
  "securityLabel": [
    {
      "coding": [
        {
          "system": "http://terminology.hl7.org/CodeSystem/v3-Confidentiality",
          "code": "V",
          "display": "very restricted"
        }
      ]
    }
  ],
  "content": [
    {
      "attachment": {
        "contentType": "application/hl7-v3+xml",
        "language": "en-US",
        "url": "http://example.org/xds/mhd/Binary/07a6483f-732b-461e-86b6-edb665c45510",
        "size": 3654,
        "hash": "2jmj7l5rSw0yVb/vlWAYkK/YBwk=",
        "title": "Physical",
        "creation": "2005-12-24T09:35:00+11:00"
      },
      "format": {
        "system": "urn:oid:1.3.6.1.4.1.19376.1.2.3",
        "code": "urn:ihe:pcc:handp:2008",
        "display": "History and Physical Specification"
      }
    }
  ],
  "context": {
    "encounter": [
      {
        "reference": "Encounter/xcda"
      }
    ],
    "event": [
      {
        "coding": [
          {
            "system": "http://ihe.net/xds/connectathon/eventCodes",
            "code": "T-D8200",
            "display": "Arm"
          }
        ]
      }
    ],
    "period": {
      "start": "2004-12-23T08:00:00+11:00",
      "end": "2004-12-23T08:01:00+11:00"
    },
    "facilityType": {
      "coding": [
        {
          "system": "http://www.ihe.net/xds/connectathon/healthcareFacilityTypeCodes",
          "code": "Outpatient",
          "display": "Outpatient"
        }
      ]
    },
    "practiceSetting": {
      "coding": [
        {
          "system": "http://www.ihe.net/xds/connectathon/practiceSettingCodes",
          "code": "General Medicine",
          "display": "General Medicine"
        }
      ]
    },
    "sourcePatientInfo": {
      "reference": "Patient/xcda"
    },
    "related": [
      {
        "reference": "Patient/xcda",
        "identifier": {
          "system": "urn:ietf:rfc:3986",
          "value": "urn:oid:1.3.6.1.4.1.21367.2005.3.7.2345"
        }
      }
    ]
  },
  "meta": {
    "tag": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/v3-ActReason",
        "code": "HTEST",
        "display": "test health data"
      }
    ]
  }
}

Data Fields

Data FieldTypeDescription
resourceTypeDocumentReferenceThis is a DocumentReference resource
ididThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
metaMetaThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
implicitRulesuriA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
languagecodeThe base language in which the resource is written.
textNarrativeA human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
containedBackboneElementThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
extensionExtensionMay be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
modifierExtensionExtensionMay be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
masterIdentifierIdentifierDocument identifier as assigned by the source of the document. This identifier is specific to this version of the document. This unique identifier may be used elsewhere to identify this version of the document.
identifierIdentifierOther identifiers associated with the document, including version independent identifiers.
statuscodeThe status of this document reference.
docStatuscodeThe status of the underlying document.
typeCodeableConceptSpecifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced.
categoryCodeableConceptA categorization for the type of document referenced - helps for indexing and searching. This may be implied by or derived from the code specified in the DocumentReference.type.
subjectReferenceWho or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure).
dateinstantWhen the document reference was created.
authorReferenceIdentifies who is responsible for adding the information to the document.
authenticatorReferenceWhich person or organization authenticates that this document is valid.
custodianReferenceIdentifies the organization or group who is responsible for ongoing maintenance of and access to the document.
relatesToBackboneElementRelationships that this document has with other document references that already exist.
relatesTo.idstringUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
relatesTo.extensionExtensionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
relatesTo.modifierExtensionExtensionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
relatesTo.codecodeThe type of relationship that this document has with anther document.
relatesTo.targetReferenceThe target document of this relationship.
descriptionstringHuman-readable description of the source document.
securityLabelCodeableConceptA set of Security-Tag codes specifying the level of privacy/security of the Document. Note that DocumentReference.meta.security contains the security labels of the "reference" to the document, while DocumentReference.securityLabel contains a snapshot of the security labels on the document the reference refers to.
contentBackboneElementThe document and format referenced. There may be multiple content element repetitions, each with a different format.
content.idstringUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
content.extensionExtensionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
content.modifierExtensionExtensionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
content.attachmentAttachmentThe document or URL of the document along with critical metadata to prove content has integrity.
content.formatCodingAn identifier of the document encoding, structure, and template that the document conforms to beyond the base format indicated in the mimeType.
contextBackboneElementThe clinical context in which the document was prepared.
context.idstringUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
context.extensionExtensionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
context.modifierExtensionExtensionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
context.encounterReferenceDescribes the clinical encounter or type of care that the document content is associated with.
context.eventCodeableConceptThis list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the type Code, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" act.
context.periodPeriodThe time period over which the service that is described by the document was provided.
context.facilityTypeCodeableConceptThe kind of facility where the patient was seen.
context.practiceSettingCodeableConceptThis property may convey specifics about the practice setting where the content was created, often reflecting the clinical specialty.
context.sourcePatientInfoReferenceThe Patient Information as known when the document was published. May be a reference to a version specific, or contained.
context.relatedReferenceRelated identifiers or resources associated with the DocumentReference.

Extensions

NameURL
DEPARTMENTIDhttp://xcaliber-fhir/structureDefinition/department-id
ENCOUNTERTYPEhttp://xcaliber-fhir/structureDefinition/encounter-type
ENCOUNTERVISITNAMEhttp://xcaliber-fhir/structureDefinition/encounter-visit-name
LASTREOPENEDhttp://xcaliber-fhir/structureDefinition/last-reopened
LASTUPDATEDhttp://xcaliber-fhir/structureDefinition/last-modified-date
PATIENTSTATUShttp://xcaliber-fhir/structureDefinition/patient-status
PATIENTSTATUSIDhttp://xcaliber-fhir/structureDefinition/patient-status-id
PROVIDERFIRSTNAMEhttp://xcaliber-fhir/structureDefinition/provider-first-name
PROVIDERLASTNAMEhttp://xcaliber-fhir/structureDefinition/provider-last-name
STAGEhttp://xcaliber-fhir/structureDefinition/stage
PROVIDERPHONEhttp://xcaliber-fhir/structureDefinition/provider-phone

EHR Data Model

EHRSupported?Mapped Source Object
AthenaEncounter, Clinical Document, Medical Record, Prescription, Order Document, Encounter Document, Patient Record, Vaccine Document, Patient Case Document, Surgery Document, Surgical Result Document, Letter Document, Admin Document, Physician Document, Patient ccda, Appointment Request Document, Phone message document
ElationVisit Note, Non-Visit Note, CCDA, Clinical Document, Referrals, Incoming File, Letter
EpicDocument Reference, Document Identifier, Document Provider

Operations & APIs

DocumentReference-GET

DocumentReference-POST

DocumentReference ID-GET

DocumentReference ID-PUT

DocumentReference ID-DELETE

DocumentReference Export-POST