Uzbekistan Digital Health Platform
0.5.0 - ci-build Uzbekistan flag

Uzbekistan Digital Health Platform, published by Ministry of Health of the Republic of Uzbekistan. This guide is not an authorized publication; it is the continuous build for version 0.5.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/uzinfocom-org/digital-health-ig/ and changes regularly. See the Directory of published versions

Resource Profile: UZ Core EpisodeOfCare ( Experimental )

Official URL: https://dhp.uz/fhir/core/StructureDefinition/uz-core-episodeofcare Version: 0.5.0
Active as of 2026-06-05 Computable Name: UZCoreEpisodeOfCare

Uzbekistan Core profile for EpisodeOfCare, representing a patient's period of long-term care such as pregnancy care or chronic disease management.

UZ Core EpisodeOfCare groups a series of Encounters into one ongoing case of care managed by an organization on the Digital Health Platform - for example a pregnancy pathway or a chronic-disease management programme. It is anchored to its Patient, owned by a managing Organization, and addresses one or more Conditions. Decide deliberately whether to open a new episode or reuse one: an acute, curable condition's episode is closed once the patient is cured, whereas a lifelong chronic condition's episode stays active for years and may be transferred between organizations.

Mandatory and Must Support data elements

The elements below must always be present (mandatory) or must be supported when the data is available (Must Support) - not all are required, but your system must populate each Must Support element when it has the data and process it on receipt. This is the human-readable summary; the formal views below give the exact cardinalities, types, and terminology bindings.

Each UZ Core EpisodeOfCare Must Have

This profile adds no mandatory cardinality of its own. The required elements are inherited from the base resource: a status (planned | active | onhold | finished | cancelled …) and a patient.

Each UZ Core EpisodeOfCare Must Support

  • an identifier;
  • the status (required binding) and the statusHistory (each past status and its period);
  • a type classifying the episode;
  • the reason, with a use and a value (a Condition, Procedure, Observation, or HealthcareService);
  • the diagnosis, with its condition (a Condition reference) and its use (role of the diagnosis);
  • the patient and the managingOrganization responsible for coordinating care;
  • the overall period;
  • the referralRequest (a ServiceRequest);
  • the careManager (the coordinating practitioner or role) and the careTeam.

One EpisodeOfCare spans many Encounters - link each visit back to the episode from the Encounter's episodeOfCare, rather than opening a fresh episode per visit.

Building the JSON, step by step

The examples below build up from a realistic episode to a full case of care. Copy one and adapt it - every value shown validates against this profile. The complete reference instances are linked at the bottom of the page (preventive episode, pregnancy episode).

A realistic episode

In practice you send the things that let the platform manage and find the episode: a business identifier, the type that classifies the episode, the managingOrganization that coordinates the care, the Patient it concerns, and the period over which it runs. The careManager (the coordinating practitioner) is the person to chase about the case:

{
  "resourceType": "EpisodeOfCare",
  "meta": {
    "profile": ["https://dhp.uz/fhir/core/StructureDefinition/uz-core-episodeofcare"]
  },
  "identifier": [
    {
      "system": "http://dhp.uz/ids/episode-of-care",
      "value": "EOC-2025-0001"
    }
  ],
  "status": "active",
  "type": [
    {
      "coding": [{ "system": "https://terminology.dhp.uz/fhir/core/CodeSystem/episode-of-care-type-cs", "code": "mserv-0001-00001" }],
      "text": "Preventive services"
    }
  ],
  "patient": { "reference": "Patient/example-salim" },
  "managingOrganization": { "reference": "Organization/example-organization" },
  "careManager": { "reference": "Practitioner/example-practitioner" },
  "period": { "start": "2025-08-01" }
}

patient, managingOrganization and careManager are plain Reference types - the target sits directly in reference. Leave period.end off while the episode is still open; add it only when the case closes.

Adding the reason and diagnosis

The clinical content of the episode is its reason (why care is being given) and its diagnosis (the conditions being addressed). Both reason.value and diagnosis.condition are CodeableReference types, so the reference sits one level deeper ({ "reference": { "reference": "..." } }) than the plain references above. Each diagnosis.use records the role of that diagnosis (here DD, the primary diagnosis):

{
  "resourceType": "EpisodeOfCare",
  "meta": { "profile": [ "https://dhp.uz/fhir/core/StructureDefinition/uz-core-episodeofcare" ] },
  "status": "active",
  "patient": { "reference": "Patient/example-salim" },
  "managingOrganization": { "reference": "Organization/example-organization" },
  "reason": [
    {
      "use": {
        "coding": [
          {
            "system": "https://terminology.dhp.uz/fhir/core/CodeSystem/episode-of-care-reason-use-cs",
            "code": "mserv-0002-00002"
          }
        ],
        "text": "Preventive visit"
      },
      "value": [ { "reference": { "reference": "Condition/example-headache" } } ]
    }
  ],
  "diagnosis": [
    {
      "condition": [ { "reference": { "reference": "Condition/example-headache" } } ],
      "use": {
        "coding": [
          { "system": "http://terminology.hl7.org/CodeSystem/diagnosis-role", "code": "DD" }
        ],
        "text": "Primary diagnosis"
      }
    }
  ]
}

reason.value may point at a Condition, Procedure, Observation, or HealthcareService; diagnosis.condition must be a Condition.

Recording how the status changed over time

A long-running episode moves through several statuses - it may be planned, then active, then finished. Set the current value in status; record each earlier state in statusHistory, where each entry carries the past status and the period it covered:

{
  "resourceType": "EpisodeOfCare",
  "meta": {
    "profile": ["https://dhp.uz/fhir/core/StructureDefinition/uz-core-episodeofcare"]
  },
  "status": "planned",
  "patient": { "reference": "Patient/example-emma" },
  "statusHistory": [
    {
      "status": "active",
      "period": { "start": "2025-08-16", "end": "2025-09-01" }
    }
  ]
}

Each statusHistory.status is drawn from the same value set as status. Use this to keep an audit trail when, for instance, a chronic-disease episode is put onhold and later resumed.

For example API calls and a sample payload, see the Quick Start at the bottom of this page.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. EpisodeOfCare 0..* EpisodeOfCare(5.0.0) An association of a Patient with an Organization and Healthcare Provider(s) for a period of time that the Organization assumes some level of responsibility
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... status ?!SΣ 1..1 code Current status of the Episode of Care
Binding: EpisodeOfCareStatusVS (0.5.0) (required)
... statusHistory S 0..* BackboneElement List of past status codes
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... status S 1..1 code Past status of the Episode of Care
Binding: EpisodeOfCareStatusVS (0.5.0) (required)
.... period S 1..1 Period Duration of the EpisodeOfCare in the specified status
... type SΣ 0..* CodeableConcept Classification of the episode of care type
Binding: EpisodeOfCareTypeVS (0.5.0) (required)
... reason SΣ 0..* BackboneElement List of medical conditions expected to be addressed during care
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... use SΣ 0..1 CodeableConcept Purpose of the reason value
Binding: EpisodeOfCareReasonUseVS (0.5.0) (required)
.... value SΣ 0..* CodeableReference(UZ Core Condition(0.5.0) | UZ Core Procedure(0.5.0) | UZ Core Observation(0.5.0) | UZ Core HealthcareService(0.5.0)) Medical reason requiring consideration
Binding: ICD10Codes (required)
... diagnosis Σ 0..* BackboneElement The list of medical conditions that were addressed during the episode of care
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... condition SΣ 0..* CodeableReference(UZ Core Condition(0.5.0)) ICD-10 diagnosis related to the encounter
Binding: ICD10Codes (required)
.... use SΣ 0..1 CodeableConcept Role of the diagnosis in the episode of care
Binding: EncounterDiagnosisUse (preferred): The type of diagnosis this condition represents.
... patient SΣ 1..1 Reference(UZ Core Patient(0.5.0)) Patient associated with this episode of care
... managingOrganization SΣ 0..1 Reference(UZ Core Organization(0.5.0)) Organization responsible for care coordination
... period SΣ 0..1 Period Interval during responsibility is assumed
... referralRequest S 0..* Reference(ServiceRequest) Originating Referral Request(s)
... careManager S 0..1 Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0)) Care coordinator for the patient
... careTeam S 0..* Reference(CareTeam) Other practitioners providing care in this episode

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
EpisodeOfCare.status Base required EpisodeOfCare status value set 📍0.5.0 This IG
EpisodeOfCare.statusHistory.​status Base required EpisodeOfCare status value set 📍0.5.0 This IG
EpisodeOfCare.type Base required EpisodeOfCare type value set 📍0.5.0 This IG
EpisodeOfCare.reason.​use Base required EpisodeOfCare reason use value set 📍0.5.0 This IG
EpisodeOfCare.reason.​value Base required ICD-10 Codes 📍5.0.0 FHIR Std.
EpisodeOfCare.diagnosis.​condition Base required ICD-10 Codes 📍5.0.0 FHIR Std.
EpisodeOfCare.diagnosis.​use Base preferred Encounter Diagnosis Use 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error EpisodeOfCare If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error EpisodeOfCare If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error EpisodeOfCare If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error EpisodeOfCare If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice EpisodeOfCare A resource should have narrative for robust management text.`div`.exists()
ele-1 error EpisodeOfCare.implicitRules, EpisodeOfCare.modifierExtension, EpisodeOfCare.identifier, EpisodeOfCare.status, EpisodeOfCare.statusHistory, EpisodeOfCare.statusHistory.modifierExtension, EpisodeOfCare.statusHistory.status, EpisodeOfCare.statusHistory.period, EpisodeOfCare.type, EpisodeOfCare.reason, EpisodeOfCare.reason.modifierExtension, EpisodeOfCare.reason.use, EpisodeOfCare.reason.value, EpisodeOfCare.diagnosis, EpisodeOfCare.diagnosis.modifierExtension, EpisodeOfCare.diagnosis.condition, EpisodeOfCare.diagnosis.use, EpisodeOfCare.patient, EpisodeOfCare.managingOrganization, EpisodeOfCare.period, EpisodeOfCare.referralRequest, EpisodeOfCare.careManager, EpisodeOfCare.careTeam All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error EpisodeOfCare.modifierExtension, EpisodeOfCare.statusHistory.modifierExtension, EpisodeOfCare.reason.modifierExtension, EpisodeOfCare.diagnosis.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. EpisodeOfCare 0..* EpisodeOfCare(5.0.0) An association of a Patient with an Organization and Healthcare Provider(s) for a period of time that the Organization assumes some level of responsibility
... identifier S 0..* Identifier Identifier for this Episode of Care
... status S 1..1 code Current status of the Episode of Care
Binding: EpisodeOfCareStatusVS (0.5.0) (required)
... statusHistory S 0..* BackboneElement List of past status codes
.... status S 1..1 code Past status of the Episode of Care
Binding: EpisodeOfCareStatusVS (0.5.0) (required)
.... period S 1..1 Period Duration of the EpisodeOfCare in the specified status
... reason S 0..* BackboneElement List of medical conditions expected to be addressed during care
.... use S 0..1 CodeableConcept Purpose of the reason value
Binding: EpisodeOfCareReasonUseVS (0.5.0) (required)
.... value S 0..* CodeableReference(UZ Core Condition(0.5.0) | UZ Core Procedure(0.5.0) | UZ Core Observation(0.5.0) | UZ Core HealthcareService(0.5.0)) Medical reason requiring consideration
Binding: ICD10Codes (required)
... diagnosis
.... condition S 0..* CodeableReference(UZ Core Condition(0.5.0)) ICD-10 diagnosis related to the encounter
Binding: ICD10Codes (required)
.... use S 0..1 CodeableConcept Role of the diagnosis in the episode of care
... patient S 1..1 Reference(UZ Core Patient(0.5.0)) Patient associated with this episode of care
... managingOrganization S 0..1 Reference(UZ Core Organization(0.5.0)) Organization responsible for care coordination
... period S 0..1 Period Interval during responsibility is assumed
... referralRequest S 0..* Reference(ServiceRequest) Originating Referral Request(s)
... careManager S 0..1 Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0)) Care coordinator for the patient
... careTeam S 0..* Reference(CareTeam) Other practitioners providing care in this episode

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
EpisodeOfCare.status Base required EpisodeOfCare status value set 📍0.5.0 This IG
EpisodeOfCare.statusHistory.​status Base required EpisodeOfCare status value set 📍0.5.0 This IG
EpisodeOfCare.type Base required EpisodeOfCare type value set 📍0.5.0 This IG
EpisodeOfCare.reason.​use Base required EpisodeOfCare reason use value set 📍0.5.0 This IG
EpisodeOfCare.reason.​value Base required ICD-10 Codes 📍5.0.0 FHIR Std.
EpisodeOfCare.diagnosis.​condition Base required ICD-10 Codes 📍5.0.0 FHIR Std.
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. EpisodeOfCare 0..* EpisodeOfCare(5.0.0) An association of a Patient with an Organization and Healthcare Provider(s) for a period of time that the Organization assumes some level of responsibility
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... identifier S 0..* Identifier Identifier for this Episode of Care
... status ?!SΣ 1..1 code Current status of the Episode of Care
Binding: EpisodeOfCareStatusVS (0.5.0) (required)
... statusHistory S 0..* BackboneElement List of past status codes
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... status S 1..1 code Past status of the Episode of Care
Binding: EpisodeOfCareStatusVS (0.5.0) (required)
.... period S 1..1 Period Duration of the EpisodeOfCare in the specified status
... type SΣ 0..* CodeableConcept Classification of the episode of care type
Binding: EpisodeOfCareTypeVS (0.5.0) (required)
... reason SΣ 0..* BackboneElement List of medical conditions expected to be addressed during care
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... use SΣ 0..1 CodeableConcept Purpose of the reason value
Binding: EpisodeOfCareReasonUseVS (0.5.0) (required)
.... value SΣ 0..* CodeableReference(UZ Core Condition(0.5.0) | UZ Core Procedure(0.5.0) | UZ Core Observation(0.5.0) | UZ Core HealthcareService(0.5.0)) Medical reason requiring consideration
Binding: ICD10Codes (required)
... diagnosis Σ 0..* BackboneElement The list of medical conditions that were addressed during the episode of care
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... condition SΣ 0..* CodeableReference(UZ Core Condition(0.5.0)) ICD-10 diagnosis related to the encounter
Binding: ICD10Codes (required)
.... use SΣ 0..1 CodeableConcept Role of the diagnosis in the episode of care
Binding: EncounterDiagnosisUse (preferred): The type of diagnosis this condition represents.
... patient SΣ 1..1 Reference(UZ Core Patient(0.5.0)) Patient associated with this episode of care
... managingOrganization SΣ 0..1 Reference(UZ Core Organization(0.5.0)) Organization responsible for care coordination
... period SΣ 0..1 Period Interval during responsibility is assumed
... referralRequest S 0..* Reference(ServiceRequest) Originating Referral Request(s)
... careManager S 0..1 Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0)) Care coordinator for the patient
... careTeam S 0..* Reference(CareTeam) Other practitioners providing care in this episode
... account 0..* Reference(Account) The set of accounts that may be used for billing for this EpisodeOfCare

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
EpisodeOfCare.language Base required All Languages 📍5.0.0 FHIR Std.
EpisodeOfCare.status Base required EpisodeOfCare status value set 📍0.5.0 This IG
EpisodeOfCare.statusHistory.​status Base required EpisodeOfCare status value set 📍0.5.0 This IG
EpisodeOfCare.type Base required EpisodeOfCare type value set 📍0.5.0 This IG
EpisodeOfCare.reason.​use Base required EpisodeOfCare reason use value set 📍0.5.0 This IG
EpisodeOfCare.reason.​value Base required ICD-10 Codes 📍5.0.0 FHIR Std.
EpisodeOfCare.diagnosis.​condition Base required ICD-10 Codes 📍5.0.0 FHIR Std.
EpisodeOfCare.diagnosis.​use Base preferred Encounter Diagnosis Use 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error EpisodeOfCare If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error EpisodeOfCare If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error EpisodeOfCare If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error EpisodeOfCare If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice EpisodeOfCare A resource should have narrative for robust management text.`div`.exists()
ele-1 error EpisodeOfCare.meta, EpisodeOfCare.implicitRules, EpisodeOfCare.language, EpisodeOfCare.text, EpisodeOfCare.extension, EpisodeOfCare.modifierExtension, EpisodeOfCare.identifier, EpisodeOfCare.status, EpisodeOfCare.statusHistory, EpisodeOfCare.statusHistory.extension, EpisodeOfCare.statusHistory.modifierExtension, EpisodeOfCare.statusHistory.status, EpisodeOfCare.statusHistory.period, EpisodeOfCare.type, EpisodeOfCare.reason, EpisodeOfCare.reason.extension, EpisodeOfCare.reason.modifierExtension, EpisodeOfCare.reason.use, EpisodeOfCare.reason.value, EpisodeOfCare.diagnosis, EpisodeOfCare.diagnosis.extension, EpisodeOfCare.diagnosis.modifierExtension, EpisodeOfCare.diagnosis.condition, EpisodeOfCare.diagnosis.use, EpisodeOfCare.patient, EpisodeOfCare.managingOrganization, EpisodeOfCare.period, EpisodeOfCare.referralRequest, EpisodeOfCare.careManager, EpisodeOfCare.careTeam, EpisodeOfCare.account All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error EpisodeOfCare.extension, EpisodeOfCare.modifierExtension, EpisodeOfCare.statusHistory.extension, EpisodeOfCare.statusHistory.modifierExtension, EpisodeOfCare.reason.extension, EpisodeOfCare.reason.modifierExtension, EpisodeOfCare.diagnosis.extension, EpisodeOfCare.diagnosis.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. EpisodeOfCare 0..* EpisodeOfCare(5.0.0) An association of a Patient with an Organization and Healthcare Provider(s) for a period of time that the Organization assumes some level of responsibility
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... status ?!SΣ 1..1 code Current status of the Episode of Care
Binding: EpisodeOfCareStatusVS (0.5.0) (required)
... statusHistory S 0..* BackboneElement List of past status codes
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... status S 1..1 code Past status of the Episode of Care
Binding: EpisodeOfCareStatusVS (0.5.0) (required)
.... period S 1..1 Period Duration of the EpisodeOfCare in the specified status
... type SΣ 0..* CodeableConcept Classification of the episode of care type
Binding: EpisodeOfCareTypeVS (0.5.0) (required)
... reason SΣ 0..* BackboneElement List of medical conditions expected to be addressed during care
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... use SΣ 0..1 CodeableConcept Purpose of the reason value
Binding: EpisodeOfCareReasonUseVS (0.5.0) (required)
.... value SΣ 0..* CodeableReference(UZ Core Condition(0.5.0) | UZ Core Procedure(0.5.0) | UZ Core Observation(0.5.0) | UZ Core HealthcareService(0.5.0)) Medical reason requiring consideration
Binding: ICD10Codes (required)
... diagnosis Σ 0..* BackboneElement The list of medical conditions that were addressed during the episode of care
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... condition SΣ 0..* CodeableReference(UZ Core Condition(0.5.0)) ICD-10 diagnosis related to the encounter
Binding: ICD10Codes (required)
.... use SΣ 0..1 CodeableConcept Role of the diagnosis in the episode of care
Binding: EncounterDiagnosisUse (preferred): The type of diagnosis this condition represents.
... patient SΣ 1..1 Reference(UZ Core Patient(0.5.0)) Patient associated with this episode of care
... managingOrganization SΣ 0..1 Reference(UZ Core Organization(0.5.0)) Organization responsible for care coordination
... period SΣ 0..1 Period Interval during responsibility is assumed
... referralRequest S 0..* Reference(ServiceRequest) Originating Referral Request(s)
... careManager S 0..1 Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0)) Care coordinator for the patient
... careTeam S 0..* Reference(CareTeam) Other practitioners providing care in this episode

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
EpisodeOfCare.status Base required EpisodeOfCare status value set 📍0.5.0 This IG
EpisodeOfCare.statusHistory.​status Base required EpisodeOfCare status value set 📍0.5.0 This IG
EpisodeOfCare.type Base required EpisodeOfCare type value set 📍0.5.0 This IG
EpisodeOfCare.reason.​use Base required EpisodeOfCare reason use value set 📍0.5.0 This IG
EpisodeOfCare.reason.​value Base required ICD-10 Codes 📍5.0.0 FHIR Std.
EpisodeOfCare.diagnosis.​condition Base required ICD-10 Codes 📍5.0.0 FHIR Std.
EpisodeOfCare.diagnosis.​use Base preferred Encounter Diagnosis Use 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error EpisodeOfCare If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error EpisodeOfCare If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error EpisodeOfCare If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error EpisodeOfCare If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice EpisodeOfCare A resource should have narrative for robust management text.`div`.exists()
ele-1 error EpisodeOfCare.implicitRules, EpisodeOfCare.modifierExtension, EpisodeOfCare.identifier, EpisodeOfCare.status, EpisodeOfCare.statusHistory, EpisodeOfCare.statusHistory.modifierExtension, EpisodeOfCare.statusHistory.status, EpisodeOfCare.statusHistory.period, EpisodeOfCare.type, EpisodeOfCare.reason, EpisodeOfCare.reason.modifierExtension, EpisodeOfCare.reason.use, EpisodeOfCare.reason.value, EpisodeOfCare.diagnosis, EpisodeOfCare.diagnosis.modifierExtension, EpisodeOfCare.diagnosis.condition, EpisodeOfCare.diagnosis.use, EpisodeOfCare.patient, EpisodeOfCare.managingOrganization, EpisodeOfCare.period, EpisodeOfCare.referralRequest, EpisodeOfCare.careManager, EpisodeOfCare.careTeam All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error EpisodeOfCare.modifierExtension, EpisodeOfCare.statusHistory.modifierExtension, EpisodeOfCare.reason.modifierExtension, EpisodeOfCare.diagnosis.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. EpisodeOfCare 0..* EpisodeOfCare(5.0.0) An association of a Patient with an Organization and Healthcare Provider(s) for a period of time that the Organization assumes some level of responsibility
... identifier S 0..* Identifier Identifier for this Episode of Care
... status S 1..1 code Current status of the Episode of Care
Binding: EpisodeOfCareStatusVS (0.5.0) (required)
... statusHistory S 0..* BackboneElement List of past status codes
.... status S 1..1 code Past status of the Episode of Care
Binding: EpisodeOfCareStatusVS (0.5.0) (required)
.... period S 1..1 Period Duration of the EpisodeOfCare in the specified status
... reason S 0..* BackboneElement List of medical conditions expected to be addressed during care
.... use S 0..1 CodeableConcept Purpose of the reason value
Binding: EpisodeOfCareReasonUseVS (0.5.0) (required)
.... value S 0..* CodeableReference(UZ Core Condition(0.5.0) | UZ Core Procedure(0.5.0) | UZ Core Observation(0.5.0) | UZ Core HealthcareService(0.5.0)) Medical reason requiring consideration
Binding: ICD10Codes (required)
... diagnosis
.... condition S 0..* CodeableReference(UZ Core Condition(0.5.0)) ICD-10 diagnosis related to the encounter
Binding: ICD10Codes (required)
.... use S 0..1 CodeableConcept Role of the diagnosis in the episode of care
... patient S 1..1 Reference(UZ Core Patient(0.5.0)) Patient associated with this episode of care
... managingOrganization S 0..1 Reference(UZ Core Organization(0.5.0)) Organization responsible for care coordination
... period S 0..1 Period Interval during responsibility is assumed
... referralRequest S 0..* Reference(ServiceRequest) Originating Referral Request(s)
... careManager S 0..1 Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0)) Care coordinator for the patient
... careTeam S 0..* Reference(CareTeam) Other practitioners providing care in this episode

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
EpisodeOfCare.status Base required EpisodeOfCare status value set 📍0.5.0 This IG
EpisodeOfCare.statusHistory.​status Base required EpisodeOfCare status value set 📍0.5.0 This IG
EpisodeOfCare.type Base required EpisodeOfCare type value set 📍0.5.0 This IG
EpisodeOfCare.reason.​use Base required EpisodeOfCare reason use value set 📍0.5.0 This IG
EpisodeOfCare.reason.​value Base required ICD-10 Codes 📍5.0.0 FHIR Std.
EpisodeOfCare.diagnosis.​condition Base required ICD-10 Codes 📍5.0.0 FHIR Std.

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. EpisodeOfCare 0..* EpisodeOfCare(5.0.0) An association of a Patient with an Organization and Healthcare Provider(s) for a period of time that the Organization assumes some level of responsibility
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... identifier S 0..* Identifier Identifier for this Episode of Care
... status ?!SΣ 1..1 code Current status of the Episode of Care
Binding: EpisodeOfCareStatusVS (0.5.0) (required)
... statusHistory S 0..* BackboneElement List of past status codes
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... status S 1..1 code Past status of the Episode of Care
Binding: EpisodeOfCareStatusVS (0.5.0) (required)
.... period S 1..1 Period Duration of the EpisodeOfCare in the specified status
... type SΣ 0..* CodeableConcept Classification of the episode of care type
Binding: EpisodeOfCareTypeVS (0.5.0) (required)
... reason SΣ 0..* BackboneElement List of medical conditions expected to be addressed during care
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... use SΣ 0..1 CodeableConcept Purpose of the reason value
Binding: EpisodeOfCareReasonUseVS (0.5.0) (required)
.... value SΣ 0..* CodeableReference(UZ Core Condition(0.5.0) | UZ Core Procedure(0.5.0) | UZ Core Observation(0.5.0) | UZ Core HealthcareService(0.5.0)) Medical reason requiring consideration
Binding: ICD10Codes (required)
... diagnosis Σ 0..* BackboneElement The list of medical conditions that were addressed during the episode of care
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... condition SΣ 0..* CodeableReference(UZ Core Condition(0.5.0)) ICD-10 diagnosis related to the encounter
Binding: ICD10Codes (required)
.... use SΣ 0..1 CodeableConcept Role of the diagnosis in the episode of care
Binding: EncounterDiagnosisUse (preferred): The type of diagnosis this condition represents.
... patient SΣ 1..1 Reference(UZ Core Patient(0.5.0)) Patient associated with this episode of care
... managingOrganization SΣ 0..1 Reference(UZ Core Organization(0.5.0)) Organization responsible for care coordination
... period SΣ 0..1 Period Interval during responsibility is assumed
... referralRequest S 0..* Reference(ServiceRequest) Originating Referral Request(s)
... careManager S 0..1 Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0)) Care coordinator for the patient
... careTeam S 0..* Reference(CareTeam) Other practitioners providing care in this episode
... account 0..* Reference(Account) The set of accounts that may be used for billing for this EpisodeOfCare

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
EpisodeOfCare.language Base required All Languages 📍5.0.0 FHIR Std.
EpisodeOfCare.status Base required EpisodeOfCare status value set 📍0.5.0 This IG
EpisodeOfCare.statusHistory.​status Base required EpisodeOfCare status value set 📍0.5.0 This IG
EpisodeOfCare.type Base required EpisodeOfCare type value set 📍0.5.0 This IG
EpisodeOfCare.reason.​use Base required EpisodeOfCare reason use value set 📍0.5.0 This IG
EpisodeOfCare.reason.​value Base required ICD-10 Codes 📍5.0.0 FHIR Std.
EpisodeOfCare.diagnosis.​condition Base required ICD-10 Codes 📍5.0.0 FHIR Std.
EpisodeOfCare.diagnosis.​use Base preferred Encounter Diagnosis Use 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error EpisodeOfCare If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error EpisodeOfCare If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error EpisodeOfCare If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error EpisodeOfCare If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice EpisodeOfCare A resource should have narrative for robust management text.`div`.exists()
ele-1 error EpisodeOfCare.meta, EpisodeOfCare.implicitRules, EpisodeOfCare.language, EpisodeOfCare.text, EpisodeOfCare.extension, EpisodeOfCare.modifierExtension, EpisodeOfCare.identifier, EpisodeOfCare.status, EpisodeOfCare.statusHistory, EpisodeOfCare.statusHistory.extension, EpisodeOfCare.statusHistory.modifierExtension, EpisodeOfCare.statusHistory.status, EpisodeOfCare.statusHistory.period, EpisodeOfCare.type, EpisodeOfCare.reason, EpisodeOfCare.reason.extension, EpisodeOfCare.reason.modifierExtension, EpisodeOfCare.reason.use, EpisodeOfCare.reason.value, EpisodeOfCare.diagnosis, EpisodeOfCare.diagnosis.extension, EpisodeOfCare.diagnosis.modifierExtension, EpisodeOfCare.diagnosis.condition, EpisodeOfCare.diagnosis.use, EpisodeOfCare.patient, EpisodeOfCare.managingOrganization, EpisodeOfCare.period, EpisodeOfCare.referralRequest, EpisodeOfCare.careManager, EpisodeOfCare.careTeam, EpisodeOfCare.account All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error EpisodeOfCare.extension, EpisodeOfCare.modifierExtension, EpisodeOfCare.statusHistory.extension, EpisodeOfCare.statusHistory.modifierExtension, EpisodeOfCare.reason.extension, EpisodeOfCare.reason.modifierExtension, EpisodeOfCare.diagnosis.extension, EpisodeOfCare.diagnosis.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron

Quick Start

Common API interactions for this profile. Requests require a JWT access token - see Security and authentication. [base] is the FHIR server base URL; | separates system from value and must be URL-encoded as %7C.

Read by server id

GET [base]/EpisodeOfCare/[id]

Find episodes of care

GET [base]/EpisodeOfCare?patient=Patient/[id]
GET [base]/EpisodeOfCare?patient=Patient/[id]&status=active
GET [base]/EpisodeOfCare?patient=Patient/[id]&type=http://terminology.dhp.uz/...%7C...
GET [base]/EpisodeOfCare?patient=Patient/[id]&date=ge2025-01-01
GET [base]/EpisodeOfCare?organization=Organization/[id]
GET [base]/EpisodeOfCare?care-manager=Practitioner/[id]

Create

POST [base]/EpisodeOfCare
{
  "resourceType": "EpisodeOfCare",
  "meta": { "profile": [ "https://dhp.uz/fhir/core/StructureDefinition/uz-core-episodeofcare" ] },
  "status": "active",
  "patient": { "reference": "Patient/[id]" },
  "managingOrganization": { "reference": "Organization/[id]" },
  ...
}

Update (e.g. close the episode by setting status to finished and period.end, or transfer it to another managingOrganization) - PUT the full resource back:

PUT [base]/EpisodeOfCare/[id]
If-Match: W/"3"   # the ETag from your last read; 412 if it changed since

See the CapabilityStatement for all supported search parameters.