HeyDonto FHIR R4 API Documentation (1.0)

API documentation for HeyDonto API users

Overview
Languages
Servers
Mock server
https://docs.heydonto.com/_mock/apis/fhir/openapi/
Sandbox
https://api-staging.heydonto.com/
Production
https://api.heydonto.com/

Account

Operations

ActivityDefinition

Operations

AdverseEvent

Operations

AllergyIntolerance

Operations

Appointment

Operations

AppointmentResponse

Operations

AuditEvent

Operations

Basic

Operations

Binary

Operations

BiologicallyDerivedProduct

Operations

BodyStructure

Operations

Bundle

Operations

CapabilityStatement

Operations

CarePlan

Operations

Get FHIR R4 CarePlans

Request

Path
siteIdstringrequired

Site identifier

Query
_countnumber

Number of items to return (default=20).

Example: _count=10
_page_tokenstring

Token for fetching the next page of results.

Example: _page_token=CgYK...
_sortstring

Sort the results by a given field, e.g. _sort=family or _sort=-date.

Example: _sort=family
_elementsstring

Restrict returned fields, e.g. _elements=identifier,name.

Example: _elements=identifier,name
dateArray of strings

Filter by resource date, e.g. date=ge2024-01-01. date=ge2025-01-20&date=le2025-01-29

telecomstring

Filter by resource telecom, e.g. date=[SYSTEM]|[VALUE].

Example: telecom=telecom=phone|555-555-5555
_lastUpdatedstring

Filter by last update time, e.g. _lastUpdated=ge2024-01-01.

Examples:
_lastUpdated=ge2024-01-01
_lastUpdated=lt2024-01-01
_idstring

Search for a specific resource by ID, e.g. _id=abc123.

Example: _id=abc123
identifierstring

Search for resources by identifier token, e.g. identifier=http://hospital.org|12345.

Example: identifier=http://hospital.org|12345
_includestring

Include related resources, e.g. _include=Appointment:patient.

Example: _include=Appointment:patient
_revincludestring

Reverse include related resources, e.g. _revinclude=Observation:subject.

Example: _revinclude=Observation:subject
_hasstring

Reverse chaining, e.g. _has:Observation:subject:code=http://loinc.org|1234-5.

Example: _has=Observation:subject:code=http://loinc.org|1234-5
_tagstring

Search by tag on the resource meta, e.g. _tag=http://example.org/tags|sample-tag.

Example: _tag=http://example.org/tags|sample-tag
_securitystring

Search by security label on resource meta, e.g. _security=RBAC|CONFIDENTIAL.

Example: _security=RBAC|CONFIDENTIAL
_profilestring

Search by profile in resource meta, e.g. _profile=http://example.org/fhir/StructureDefinition/custom-profile.

Example: _profile=http://example.org/fhir/StructureDefinition/custom-profile
birthdatestring

Search Patients by birthdate, e.g. birthdate=ge2000-01-01 or birthdate=lt2010-01-01.

Example: birthdate=ge2000-01-01
name:exactstring

Exact match on Patient name, e.g. name:exact=Alice.

Example: name:exact=Alice
name:containsstring

Partial match on Patient name, e.g. name:contains=lic.

Example: name:contains=lic
patient.namestring

Chained search for an Appointment by patient name, e.g. patient.name=Alice.

Example: patient.name=Alice
curl -i -X GET \
  'https://docs.heydonto.com/_mock/apis/fhir/openapi/site/{siteId}/fhir/care-plan?_count=10&_elements=identifier%2Cname&_has=Observation%3Asubject%3Acode%3Dhttp%3A%2F%2Floinc.org%2C1234-5&_id=abc123&_include=Appointment%3Apatient&_lastUpdated=string&_page_token=CgYK...&_profile=http%3A%2F%2Fexample.org%2Ffhir%2FStructureDefinition%2Fcustom-profile&_revinclude=Observation%3Asubject&_security=RBAC%2CCONFIDENTIAL&_sort=family&_tag=http%3A%2F%2Fexample.org%2Ftags%2Csample-tag&birthdate=ge2000-01-01&date=string&identifier=http%3A%2F%2Fhospital.org%2C12345&name%3Acontains=lic&name%3Aexact=Alice&patient.name=Alice&telecom=telecom%3Dphone%2C555-555-5555' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Bodyapplication/json
resourceTypeanyrequired

This is a Bundle resource

Value"Bundle"
Example: "Bundle"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive.

metaobject(Meta)

The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents

_languageobject(Element)

Base definition for all elements in a resource.

identifierobject(Identifier)

An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

typeany

Indicates the purpose of this bundle - how it is intended to be used.

Enum"document""message""transaction""transaction-response""batch""batch-response""history""searchset""collection"
Example: "searchset"
_typeobject(Element)

Base definition for all elements in a resource.

timestampstring(instant)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

An instant in time - known at least to the second

_timestampobject(Element)

Base definition for all elements in a resource.

totalnumber(unsignedInt)^[0]|([1-9][0-9]*)$

An integer with a value that is not negative (e.g. >= 0)

_totalobject(Element)

Base definition for all elements in a resource.

linkArray of objects(Bundle_Link)

A series of links that provide context to this bundle.

Example: [{"relation":"search","url":"https://api.heydonto.com/fhir/care-plan/?_count=20"},{"relation":"next","url":"https://api.heydonto.com/fhir/care-plan/?_count=20&_page_token=TOKEN"},{"relation":"first","url":"https://api.heydonto.com/fhir/care-plan/?_count=20"},{"relation":"self","url":"https://api.heydonto.com/fhir/care-plan/?_count=20"}]
entryArray of objects(CarePlan)

An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).

Example: [{"resourceType":"CarePlan","id":"example","text":{"status":"additional","div":"<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <p> A simple care plan to indicate a patient taking their weight once a day because of obesity.</p>\n </div>"},"contained":[{"resourceType":"Condition","id":"p1","clinicalStatus":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/condition-clinical","code":"active"}]},"verificationStatus":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/condition-ver-status","code":"confirmed"}]},"code":{"text":"Obesity"},"subject":{"reference":"Patient/example","display":"Peter James Chalmers"}}],"identifier":[{"value":"12345"}],"instantiatesUri":["http://example.org/protocol-for-obesity"],"basedOn":[{"display":"Management of Type 2 Diabetes"}],"replaces":[{"display":"Plan from urgent care clinic"}],"partOf":[{"display":"Overall wellness plan"}],"status":"active","intent":"plan","category":[{"text":"Weight management plan"}],"description":"Manage obesity and weight loss","subject":{"reference":"Patient/example","display":"Peter James Chalmers"},"encounter":{"reference":"Encounter/home"},"period":{"end":"2017-06-01"},"created":"2016-01-01","author":{"reference":"Practitioner/example","display":"Dr Adam Careful"},"careTeam":[{"reference":"CareTeam/example"}],"addresses":[{"reference":"#p1","display":"obesity"}],"goal":[{"reference":"Goal/example"}],"activity":[{"outcomeCodeableConcept":[{"coding":[{"system":"http://snomed.info/sct","code":"161832001","display":"Progressive weight loss"}]}],"outcomeReference":[{"reference":"Observation/example","display":"Weight Measured"}],"detail":{"code":{"coding":[{"system":"http://loinc.org","code":"3141-9","display":"Weight Measured"},{"system":"http://snomed.info/sct","code":"27113001","display":"Body weight"}]},"status":"completed","statusReason":{"text":"Achieved weight loss to mitigate diabetes risk."},"doNotPerform":false,"scheduledTiming":{"repeat":{"frequency":1,"period":1,"periodUnit":"d"}},"location":{"display":"Patient's home"},"performer":[{"reference":"Patient/example","display":"Peter James Chalmers"}]}}]}]
signatureobject(Signature)

A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities.

Response
application/json
{ "resourceType": "Bundle", "type": "searchset", "total": 100, "link": [ { … }, { … }, { … }, { … } ], "entry": [ { … } ] }

Create FHIR R4 CarePlan

Request

Path
siteIdstringrequired

Site identifier

Bodyapplication/jsonrequired
resourceTypeanyrequired

This is a CarePlan resource

Value"CarePlan"
Example: "CarePlan"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive.

metaobject(Meta)

The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents

_languageobject(Element)

Base definition for all elements in a resource.

textobject(Narrative)

A human-readable summary of the resource conveying the essential clinical and business information for the resource.

containedArray of #Account (object) or #ActivityDefinition (object) or #AdverseEvent (object) or #AllergyIntolerance (object) or #Appointment (object) or #AppointmentResponse (object) or #AuditEvent (object) or #Basic (object) or #Binary (object) or #BiologicallyDerivedProduct (object) or #BodyStructure (object) or #Bundle (object) or #CapabilityStatement (object) or #CarePlan (object) or #CareTeam (object) or #CatalogEntry (object) or #ChargeItem (object) or #ChargeItemDefinition (object) or #Claim (object) or #ClaimResponse (object) or #ClinicalImpression (object) or #CodeSystem (object) or #Communication (object) or #CommunicationRequest (object) or #CompartmentDefinition (object) or #Composition (object) or #ConceptMap (object) or #Condition (object) or #Consent (object) or #Contract (object) or #Coverage (object) or #CoverageEligibilityRequest (object) or #CoverageEligibilityResponse (object) or #DetectedIssue (object) or #Device (object) or #DeviceDefinition (object) or #DeviceMetric (object) or #DeviceRequest (object) or #DeviceUseStatement (object) or #DiagnosticReport (object) or #DocumentManifest (object) or #DocumentReference (object) or #EffectEvidenceSynthesis (object) or #Encounter (object) or #Endpoint (object) or #EnrollmentRequest (object) or #EnrollmentResponse (object) or #EpisodeOfCare (object) or #EventDefinition (object) or #Evidence (object) or #EvidenceVariable (object) or #ExampleScenario (object) or #ExplanationOfBenefit (object) or #FamilyMemberHistory (object) or #Flag (object) or #Goal (object) or #GraphDefinition (object) or #Group (object) or #GuidanceResponse (object) or #HealthcareService (object) or #ImagingStudy (object) or #Immunization (object) or #ImmunizationEvaluation (object) or #ImmunizationRecommendation (object) or #ImplementationGuide (object) or #InsurancePlan (object) or #Invoice (object) or #Library (object) or #Linkage (object) or #List (object) or #Location (object) or #Measure (object) or #MeasureReport (object) or #Media (object) or #Medication (object) or #MedicationAdministration (object) or #MedicationDispense (object) or #MedicationKnowledge (object) or #MedicationRequest (object) or #MedicationStatement (object) or #MedicinalProduct (object) or #MedicinalProductAuthorization (object) or #MedicinalProductContraindication (object) or #MedicinalProductIndication (object) or #MedicinalProductIngredient (object) or #MedicinalProductInteraction (object) or #MedicinalProductManufactured (object) or #MedicinalProductPackaged (object) or #MedicinalProductPharmaceutical (object) or #MedicinalProductUndesirableEffect (object) or #MessageDefinition (object) or #MessageHeader (object) or #MolecularSequence (object) or #NamingSystem (object) or #NutritionOrder (object) or #Observation (object) or #ObservationDefinition (object) or #OperationDefinition (object) or #OperationOutcome (object) or #Organization (object) or #OrganizationAffiliation (object) or #Parameters (object) or #Patient (object) or #PaymentNotice (object) or #PaymentReconciliation (object) or #Person (object) or #PlanDefinition (object) or #Practitioner (object) or #PractitionerRole (object) or #Procedure (object) or #Provenance (object) or #Questionnaire (object) or #QuestionnaireResponse (object) or #RelatedPerson (object) or #RequestGroup (object) or #ResearchDefinition (object) or #ResearchElementDefinition (object) or #ResearchStudy (object) or #ResearchSubject (object) or #RiskAssessment (object) or #RiskEvidenceSynthesis (object) or #Schedule (object) or #SearchParameter (object) or #ServiceRequest (object) or #Slot (object) or #Specimen (object) or #SpecimenDefinition (object) or #StructureDefinition (object) or #StructureMap (object) or #Subscription (object) or #Substance (object) or #SubstanceNucleicAcid (object) or #SubstancePolymer (object) or #SubstanceProtein (object) or #SubstanceReferenceInformation (object) or #SubstanceSourceMaterial (object) or #SubstanceSpecification (object) or #SupplyDelivery (object) or #SupplyRequest (object) or #Task (object) or #TerminologyCapabilities (object) or #TestReport (object) or #TestScript (object) or #ValueSet (object) or #VerificationResult (object) or #VisionPrescription (object)(ResourceList)

These 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.

Example: [{"resourceType":"Condition","id":"p1","clinicalStatus":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/condition-clinical","code":"active"}]},"verificationStatus":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/condition-ver-status","code":"confirmed"}]},"code":{"text":"Obesity"},"subject":{"reference":"Patient/example","display":"Peter James Chalmers"}}]
extensionArray of objects(Extension)

May 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.

modifierExtensionArray of objects(Extension)

May 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).

identifierArray of objects(Identifier)

Business identifiers assigned to this care plan by the performer or other systems which remain constant as the resource is updated and propagates from server to server.

Example: [{"value":"12345"}]
instantiatesCanonicalArray of strings(canonical)

The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.

instantiatesUriArray of strings(uri)

The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.

Example: ["http://example.org/protocol-for-obesity"]
_instantiatesUriArray of objects(Element)

Extensions for instantiatesUri

basedOnArray of objects(Reference)

A care plan that is fulfilled in whole or in part by this care plan.

Example: [{"display":"Management of Type 2 Diabetes"}]
replacesArray of objects(Reference)

Completed or terminated care plan whose function is taken by this new care plan.

Example: [{"display":"Plan from urgent care clinic"}]
partOfArray of objects(Reference)

A larger care plan of which this particular care plan is a component or step.

Example: [{"display":"Overall wellness plan"}]
statusstring(code)^[^\s]+(\s[^\s]+)*$

A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents

_statusobject(Element)

Base definition for all elements in a resource.

intentstring(code)^[^\s]+(\s[^\s]+)*$

A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents

_intentobject(Element)

Base definition for all elements in a resource.

categoryArray of objects(CodeableConcept)

Identifies what "kind" of plan this is to support differentiation between multiple co-existing plans; e.g. "Home health", "psychiatric", "asthma", "disease management", "wellness plan", etc.

Example: [{"text":"Weight management plan"}]
titlestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_titleobject(Element)

Base definition for all elements in a resource.

descriptionstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_descriptionobject(Element)

Base definition for all elements in a resource.

subjectobject(Reference)required

A reference from one resource to another.

subject.​idobject(#string)

An extension object type #string.

subject.​extensionArray of objects(#Extension)

May 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.

subject.​referenceobject(#string)

An extension object type #string.

subject.​_referenceobject(#Element)

An extension object type #Element.

subject.​typeobject(#uri)

An extension object type #uri.

subject.​_typeobject(#Element)

An extension object type #Element.

subject.​identifierobject(#Identifier)

An extension object type #Identifier.

subject.​displayobject(#string)

An extension object type #string.

subject.​_displayobject(#Element)

An extension object type #Element.

encounterobject(Reference)

A reference from one resource to another.

periodobject(Period)

A time period defined by a start and end date and optionally time.

createdstring(dateTime)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates.

_createdobject(Element)

Base definition for all elements in a resource.

authorobject(Reference)

A reference from one resource to another.

contributorArray of objects(Reference)

Identifies the individual(s) or organization who provided the contents of the care plan.

careTeamArray of objects(Reference)

Identifies all people and organizations who are expected to be involved in the care envisioned by this plan.

Example: [{"reference":"CareTeam/example"}]
addressesArray of objects(Reference)

Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan.

Example: [{"reference":"#p1","display":"obesity"}]
supportingInfoArray of objects(Reference)

Identifies portions of the patient's record that specifically influenced the formation of the plan. These might include comorbidities, recent procedures, limitations, recent assessments, etc.

goalArray of objects(Reference)

Describes the intended objective(s) of carrying out the care plan.

Example: [{"reference":"Goal/example"}]
activityArray of objects(CarePlan_Activity)

Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc.

Example: [{"outcomeCodeableConcept":[{"coding":[{"system":"http://snomed.info/sct","code":"161832001","display":"Progressive weight loss"}]}],"outcomeReference":[{"reference":"Observation/example","display":"Weight Measured"}],"detail":{"code":{"coding":[{"system":"http://loinc.org","code":"3141-9","display":"Weight Measured"},{"system":"http://snomed.info/sct","code":"27113001","display":"Body weight"}]},"status":"completed","statusReason":{"text":"Achieved weight loss to mitigate diabetes risk."},"doNotPerform":false,"scheduledTiming":{"repeat":{"frequency":1,"period":1,"periodUnit":"d"}},"location":{"display":"Patient's home"},"performer":[{"reference":"Patient/example","display":"Peter James Chalmers"}]}}]
noteArray of objects(Annotation)

General notes about the care plan not covered elsewhere.