Argonaut Data Query Implementation Guide Version 1.0.0

This page is part of the Argonaut Data Query Implementation Guide (v1.0.0: Release) based on FHIR R2. This is the current published version. For a full list of available versions, see the Directory of published versions

D.4.1 StructureDefinition-argo-condition

This profile sets minimum expectations for the Condition resource to record, search and fetch a list of problems and health concerns associated with a patient. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.

Example Usage Scenarios:

The following are example usage scenarios for the Argonaut Condition profile:

  • Query for a Patient’s problems
  • Record a Patient’s problem
Mandatory Data Elements and Terminology

The following data-elements are mandatory (i.e data MUST be present). These are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each Condition must have:

  1. a patient
  2. a code that identifies the problem
  3. a category
  4. a status of the problem
  5. a verification status

Profile specific implementation guidance:

  • The DAF Condition Category Codes support the separate concepts of problems and health concerns so API consumers can separate health concerns and problems. However this is not mandatory for 2015 certification

Examples

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://fhir.org/guides/argonaut/StructureDefinition/argo-condition

This profile builds on Condition.

This profile was published on Tue Oct 18 00:00:00 AEDT 2016 as a draft by Argonaut Project.

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

Complete Summary of the Mandatory Requirements

  1. One patient reference in Condition.patient
  2. One Identification of the problem or health concern in Condition.codewhich has an extensible binding to Condition Clinical Status Codes.
  3. One category code in Condition.category which has a preferred binding to Argonaut Condition Category Codes.
  4. Conditionally One clinical status in Condition.clinicalStatus
    • Invariants
      • required if Condition.verificationStatus != ‘entered-in-error‘
      • not present if Condition.verificationStatus = ‘entered-in-error‘
    • Condition.clinicalStatus is bound to Condition Clinical Status Codes value set
  5. One code in Condition.verificationStatus

problems and health concerns category codes

The Argonaut Condition Category Codes supports the separate concepts of problems and health concerns in Condition.category in order for API consumers to be able to separate health concerns and problems. However this is not mandatory for 2015 certification.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition I0..*Argonaut Condition Profile
arg-1: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error. Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
... patient S1..1Reference(Argonaut Patient Profile)
... code S1..1CodeableConceptBinding: Problem Value Set (extensible)
... category 1..1CodeableConceptBinding: Argonaut Condition Category Codes (preferred)
... clinicalStatus SI0..1codeBinding: Condition Clinical Status Codes (required)
... verificationStatus S1..1codeBinding: ConditionVerificationStatus (required)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition I0..*Argonaut Condition Profile
arg-1: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error. Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: IETF BCP-47 (required)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this condition
... patient S1..1Reference(Argonaut Patient Profile)Who has the condition?
... encounter Σ0..1Reference(Encounter)Encounter when condition first asserted
... asserter Σ0..1Reference(Practitioner), Reference(Patient)Person who asserts this condition
... dateRecorded Σ0..1dateWhen first entered
... code S1..1CodeableConceptIdentification of the condition, problem or diagnosis
Binding: Problem Value Set (extensible)
... category 1..1CodeableConceptcomplaint | symptom | finding | diagnosis
Binding: Argonaut Condition Category Codes (preferred)
... clinicalStatus ?!S0..1codeactive | relapse | remission | resolved
Binding: Condition Clinical Status Codes (required)
... verificationStatus ?!S1..1codeprovisional | differential | confirmed | refuted | entered-in-error | unknown
Binding: ConditionVerificationStatus (required)
... severity Σ0..1CodeableConceptSubjective severity of condition
Binding: Condition/Diagnosis Severity (preferred)
... onset[x] Σ0..1dateTime, Age, Period, Range, stringEstimated or actual date, date-time, or age
... abatement[x] Σ0..1dateTime, Age, boolean, Period, Range, stringIf/when in resolution/remission
... stage ΣI0..1BackboneElementStage/grade, usually assessed formally
con-1: Stage SHALL have summary or assessment
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... summary ΣI0..1CodeableConceptSimple summary (disease specific)
Binding: Condition Stage (example)
.... assessment ΣI0..*Reference(ClinicalImpression), Reference(DiagnosticReport), Reference(Observation)Formal record of assessment
... evidence ΣI0..*BackboneElementSupporting evidence
con-2: evidence SHALL have code or details
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... code ΣI0..1CodeableConceptManifestation/symptom
Binding: Manifestation and Symptom Codes (example)
.... detail ΣI0..*Reference(Resource)Supporting information found elsewhere
... bodySite Σ0..*CodeableConceptAnatomical location, if relevant
Binding: SNOMED CT Body Structures (example)
... notes Σ0..1stringAdditional information about the Condition

doco Documentation for this format

Complete Summary of the Mandatory Requirements

  1. One patient reference in Condition.patient
  2. One Identification of the problem or health concern in Condition.codewhich has an extensible binding to Condition Clinical Status Codes.
  3. One category code in Condition.category which has a preferred binding to Argonaut Condition Category Codes.
  4. Conditionally One clinical status in Condition.clinicalStatus
    • Invariants
      • required if Condition.verificationStatus != ‘entered-in-error‘
      • not present if Condition.verificationStatus = ‘entered-in-error‘
    • Condition.clinicalStatus is bound to Condition Clinical Status Codes value set
  5. One code in Condition.verificationStatus

problems and health concerns category codes

The Argonaut Condition Category Codes supports the separate concepts of problems and health concerns in Condition.category in order for API consumers to be able to separate health concerns and problems. However this is not mandatory for 2015 certification.

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition I0..*Argonaut Condition Profile
arg-1: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error. Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
... patient S1..1Reference(Argonaut Patient Profile)
... code S1..1CodeableConceptBinding: Problem Value Set (extensible)
... category 1..1CodeableConceptBinding: Argonaut Condition Category Codes (preferred)
... clinicalStatus SI0..1codeBinding: Condition Clinical Status Codes (required)
... verificationStatus S1..1codeBinding: ConditionVerificationStatus (required)

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition I0..*Argonaut Condition Profile
arg-1: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error. Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: IETF BCP-47 (required)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this condition
... patient S1..1Reference(Argonaut Patient Profile)Who has the condition?
... encounter Σ0..1Reference(Encounter)Encounter when condition first asserted
... asserter Σ0..1Reference(Practitioner), Reference(Patient)Person who asserts this condition
... dateRecorded Σ0..1dateWhen first entered
... code S1..1CodeableConceptIdentification of the condition, problem or diagnosis
Binding: Problem Value Set (extensible)
... category 1..1CodeableConceptcomplaint | symptom | finding | diagnosis
Binding: Argonaut Condition Category Codes (preferred)
... clinicalStatus ?!S0..1codeactive | relapse | remission | resolved
Binding: Condition Clinical Status Codes (required)
... verificationStatus ?!S1..1codeprovisional | differential | confirmed | refuted | entered-in-error | unknown
Binding: ConditionVerificationStatus (required)
... severity Σ0..1CodeableConceptSubjective severity of condition
Binding: Condition/Diagnosis Severity (preferred)
... onset[x] Σ0..1dateTime, Age, Period, Range, stringEstimated or actual date, date-time, or age
... abatement[x] Σ0..1dateTime, Age, boolean, Period, Range, stringIf/when in resolution/remission
... stage ΣI0..1BackboneElementStage/grade, usually assessed formally
con-1: Stage SHALL have summary or assessment
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... summary ΣI0..1CodeableConceptSimple summary (disease specific)
Binding: Condition Stage (example)
.... assessment ΣI0..*Reference(ClinicalImpression), Reference(DiagnosticReport), Reference(Observation)Formal record of assessment
... evidence ΣI0..*BackboneElementSupporting evidence
con-2: evidence SHALL have code or details
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... code ΣI0..1CodeableConceptManifestation/symptom
Binding: Manifestation and Symptom Codes (example)
.... detail ΣI0..*Reference(Resource)Supporting information found elsewhere
... bodySite Σ0..*CodeableConceptAnatomical location, if relevant
Binding: SNOMED CT Body Structures (example)
... notes Σ0..1stringAdditional information about the Condition

doco Documentation for this format

Downloads: StructureDefinition: (XML, JSON, CSV), Schema: XML Schematron

 

D.4.1.2 Quick Start

Below is an overview of the required search and read operations for this profile. See the Conformance requirements for the Argonaut Data Query implementation guide server for a complete list of supported RESTful operations and search parameters for this IG.


GET /Condition?patient=[id]

Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/Condition?patient=1032702

Support: Mandatory to support search by patient.

Implementation Notes: Search for all problems and health concerns for a patient. Fetches a bundle of all Condition resources for the specified patient. (how to search by reference) and (how to search by token).

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request
  • (Status 403): insufficient scope

GET /Condition?patient=[id]&clinicalstatus=active,relapse,remission

Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/Condition?patient=1032702&clinicalstatus=active,relapse,remission

Support: Optional to support search by status.

Implementation Notes: Search for all active problems and health concerns for a patient. Fetches a bundle of all Condition resources for the specified patient and all “active” statuses (active,relapse,remission) (how to search by reference) and (how to search by token). This will not return any “entered in error” resources because of the conditional presence of the clinicalStatus element.

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request
  • (Status 403): insufficient scope

GET /Condition?patient=[id]&category=problem

Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/Condition?patient=1032702&category=problem

Support: Optional to support search by patient and category.

Implementation Notes: earch for all Problems for a patient. Fetches a bundle of all Condition resources for the specified patient with a category code of “problem” (how to search by reference) and (how to search by token).

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request
  • (Status 403): insufficient scope

GET /Condition?patient=[id]&category=health-concern

Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/Condition?patient=1032702&category=health-concern

Support: Optional to support search by patient and category.

Implementation Notes: Search for all Health Concerns for a patient. Fetches a bundle of all Condition resources for the specified patient with a category code of “health-concern”(how to search by reference) and (how to search by token).

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request
  • (Status 403): insufficient scope