International Patient Access
0.1.0 - draft

International Patient Access, published by HL7. This is not an authorized publication; it is the continuous build for version 0.1.0). This version is based on the current content of https://github.com/grahamegrieve/ipa-candidate/ and changes regularly. See the Directory of published versions

StructureDefinition: IPACondition

Minimum expectations for a Condition resource when accessed via a International Patient Access API

The official URL for this profile is:

http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-condition

This profile describes how applications fetch Condition resources that provide information about a patient’s problems.

Example Usage Scenarios:

The most important and obvious use of the condition to resource is to get a list of the patient’s current problem list. However there are many other uses for the condition resource, such as recording primary and secondary diagnoses for encounters, or justification for past medications etc.

All servers SHALL provide an API to access Condition Resources as described here.

Clients access Conditions resources using one of these two calls:

GET [url]/Condition/[id]

where id is found in some other resource that refers to a Condition. The result of this read is a Condition resource, or an error if there is no resource the client can access for that id. Alternatively, the client may search for condition resources:

GET [url]/Condition?params

The result of this search is a bundle containing zero more Condition resources. Servers SHOULD support the following search parameters:

  • clinical-status
  • verification-status
  • category
  • code
  • encounter
  • recorded-date

** Todo: How to get the current problem list? **

Regardless of which way they are accessed, all Condition resources have to conform to the following rules:

  • They SHOULD have a clinicalStatus
  • They SHOULD have a verificationStatus
  • They SHALL have at least one category
  • They SHALL have a code
  • They SHALL have a subject

Servers may choose to provide additional information, or may be required to do so by national or other additional profiles on conditions that apply in the servers context.

Condition Codes

All Condition resources are required to have a code, but the coding systems used around the world and even within jurisdictions very wildly. This specification does not fix any kind of value set that controls what kind of codes can be used - other national specifications etc will place their own restrictions on the codes.

Client Applications should be prepared to encounter codes they do not recognise and handle the records accordingly. Servers SHOULD populate Condition.code.coding.display and/or Condition.code.text so that clients can always at least display the condition even if they do not know the codes that are used.

Clients should be careful making use of the code search parameter given that the codes used vary so much.

Safety Issues

  • Clients SHALL not treat all conditions as if they are part of the patient’s current problem list
    • Note that some Condition resources may not have these status codes - this is usually due to poor record keeping reflected in legacy data
    • Servers SHOULD avoid leaving these status codes missing
  • Clients SHALL pay attention to the clinicalStatus and verificationStatus and display and process them correctly
  • Clients SHALL still work safely when the server does not support all the search parameters listed above (see Search advice)

Formal Views of Profile Content

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

This structure is derived from Condition

Summary

Mandatory: 3 elements
Must-Support: 5 elements

Structures

This structure refers to these other structures:

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition I0..*ConditionDetailed information about conditions, problems or diagnoses
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierExternal Ids for this condition
... clinicalStatus ?!SΣI0..1CodeableConceptactive | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required)
... verificationStatus ?!SΣI0..1CodeableConceptunconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required)
... category SI1..*CodeableConceptproblem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (extensible)
... severity I0..1CodeableConceptSubjective severity of condition
Binding: Condition/DiagnosisSeverity (preferred)
... code SΣI1..1CodeableConceptIdentification of the condition, problem or diagnosis
Binding: Condition/Problem/DiagnosisCodes (example)
... bodySite ΣI0..*CodeableConceptAnatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example)
... subject SΣI1..1Reference(IPA-Patient)Who has the condition?
... encounter ΣI0..1Reference(Encounter)Encounter created as part of
... onset[x] ΣI0..1Estimated or actual date, date-time, or age
.... onsetDateTimedateTime
.... onsetAgeAge
.... onsetPeriodPeriod
.... onsetRangeRange
.... onsetStringstring
... abatement[x] I0..1When in resolution/remission
.... abatementDateTimedateTime
.... abatementAgeAge
.... abatementPeriodPeriod
.... abatementRangeRange
.... abatementStringstring
... recordedDate ΣI0..1dateTimeDate record was first recorded
... recorder ΣI0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson)Who recorded the condition
... asserter ΣI0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson)Person who asserts this condition
... stage I0..*BackboneElementStage/grade, usually assessed formally
con-1: Stage SHALL have summary or assessment
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... summary I0..1CodeableConceptSimple summary (disease specific)
Binding: ConditionStage (example)
.... assessment I0..*Reference(ClinicalImpression | DiagnosticReport | Observation)Formal record of assessment
.... type I0..1CodeableConceptKind of staging
Binding: ConditionStageType (example)
... evidence I0..*BackboneElementSupporting evidence
con-2: evidence SHALL have code or details
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code ΣI0..*CodeableConceptManifestation/symptom
Binding: ManifestationAndSymptomCodes (example)
.... detail ΣI0..*Reference(Resource)Supporting information found elsewhere
... note I0..*AnnotationAdditional information about the Condition

doco Documentation for this format

This structure is derived from Condition

Summary

Mandatory: 3 elements
Must-Support: 5 elements

Structures

This structure refers to these other structures:

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition I0..*ConditionDetailed information about conditions, problems or diagnoses
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierExternal Ids for this condition
... clinicalStatus ?!SΣI0..1CodeableConceptactive | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required)
... verificationStatus ?!SΣI0..1CodeableConceptunconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required)
... category SI1..*CodeableConceptproblem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (extensible)
... severity I0..1CodeableConceptSubjective severity of condition
Binding: Condition/DiagnosisSeverity (preferred)
... code SΣI1..1CodeableConceptIdentification of the condition, problem or diagnosis
Binding: Condition/Problem/DiagnosisCodes (example)
... bodySite ΣI0..*CodeableConceptAnatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example)
... subject SΣI1..1Reference(IPA-Patient)Who has the condition?
... encounter ΣI0..1Reference(Encounter)Encounter created as part of
... onset[x] ΣI0..1Estimated or actual date, date-time, or age
.... onsetDateTimedateTime
.... onsetAgeAge
.... onsetPeriodPeriod
.... onsetRangeRange
.... onsetStringstring
... abatement[x] I0..1When in resolution/remission
.... abatementDateTimedateTime
.... abatementAgeAge
.... abatementPeriodPeriod
.... abatementRangeRange
.... abatementStringstring
... recordedDate ΣI0..1dateTimeDate record was first recorded
... recorder ΣI0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson)Who recorded the condition
... asserter ΣI0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson)Person who asserts this condition
... stage I0..*BackboneElementStage/grade, usually assessed formally
con-1: Stage SHALL have summary or assessment
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... summary I0..1CodeableConceptSimple summary (disease specific)
Binding: ConditionStage (example)
.... assessment I0..*Reference(ClinicalImpression | DiagnosticReport | Observation)Formal record of assessment
.... type I0..1CodeableConceptKind of staging
Binding: ConditionStageType (example)
... evidence I0..*BackboneElementSupporting evidence
con-2: evidence SHALL have code or details
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code ΣI0..*CodeableConceptManifestation/symptom
Binding: ManifestationAndSymptomCodes (example)
.... detail ΣI0..*Reference(Resource)Supporting information found elsewhere
... note I0..*AnnotationAdditional information about the Condition

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

Terminology Bindings

PathConformanceValueSet
Condition.languagepreferredCommonLanguages
Max Binding: AllLanguages
Condition.clinicalStatusrequiredConditionClinicalStatusCodes
Condition.verificationStatusrequiredConditionVerificationStatus
Condition.categoryextensibleConditionCategoryCodes
Condition.severitypreferredCondition/DiagnosisSeverity
Condition.codeexampleCondition/Problem/DiagnosisCodes
Condition.bodySiteexampleSNOMEDCTBodyStructures
Condition.stage.summaryexampleConditionStage
Condition.stage.typeexampleConditionStageType
Condition.evidence.codeexampleManifestationAndSymptomCodes

Constraints

Constraints

IdPathDetailsRequirements
con-1Condition.stageStage SHALL have summary or assessment
: summary.exists() or assessment.exists()
con-2Condition.evidenceevidence SHALL have code or details
: code.exists() or detail.exists()