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-careplan

This profile sets minimum expectations for the CarePlan resource to record search and fetch assessment and plan of treatment data 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 CarePlan profile:

  • Record or query for a careplan for a Patient
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 CarePlan must have:

  1. a narrative summary of the patient assessment and plan of treatment
  2. a patient
  3. a status
  4. a category code of “assess-plan”

Profile specific implementation guidance:

  • none

Examples

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

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

This profile builds on CarePlan.

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. A narrative summary in CarePlan.text
  2. One reference to a patient in CarePlan.subject
  3. One status in CarePlan.status
  4. A category in Careplan.category which must have:
    • a fixed Careplan.category.coding.system = http://argonaut.hl7.org
    • a fixed ‘Careplan.category.coding.code’ = “assess-plan”
NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan 0..*Argonaut CarePlan Profile
... text S1..1Narrative
.... status S1..1codeBinding: Narrative Status (required)
... subject S1..1Reference(Argonaut Patient Profile)
... status S1..1codeBinding: CarePlanStatus (required)
... category SI1..*CodeableConceptarg-1: Must have a category of 'careplan' and a code system 'http://argonaut.hl7.org'

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan 0..*Argonaut CarePlan Profile
... 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 SI1..1NarrativeText summary of the resource, for human interpretation
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... status S1..1codegenerated | extensions | additional | empty
Binding: Narrative Status (required)
.... div I1..1xhtmlLimited xhtml content
txt-2: The narrative SHALL have some non-whitespace content
txt-1: The narrative SHALL contain only the basic html formatting elements described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes
txt-3: The narrative SHALL contain only the basic html formatting attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes
... 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 plan
... subject S1..1Reference(Argonaut Patient Profile)Who care plan is for
... status ?!S1..1codeproposed | draft | active | completed | cancelled
Binding: CarePlanStatus (required)
... context Σ0..1Reference(Encounter), Reference(EpisodeOfCare)Created in context of
... period Σ0..1PeriodTime period plan covers
... author Σ0..*Reference(Patient), Reference(Practitioner), Reference(RelatedPerson), Reference(Organization)Who is responsible for contents of the plan
... modified Σ0..1dateTimeWhen last updated
... category SI1..*CodeableConceptType of plan
Binding: Care Plan Category (example)
arg-1: Must have a category of 'careplan' and a code system 'http://argonaut.hl7.org'
... description Σ0..1stringSummary of nature of plan
... addresses Σ0..*Reference(Condition)Health issues this plan addresses
... support 0..*Reference(Resource)Information considered as part of plan
... relatedPlan 0..*BackboneElementPlans related to this one
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... code 0..1codeincludes | replaces | fulfills
Binding: CarePlanRelationship (required)
.... plan 1..1Reference(CarePlan)Plan relationship exists with
... participant 0..*BackboneElementWho's involved in plan?
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... role 0..1CodeableConceptType of involvement
Binding: Participant Roles (example)
.... member 0..1Reference(Practitioner), Reference(RelatedPerson), Reference(Patient), Reference(Organization)Who is involved
... goal 0..*Reference(Goal)Desired outcome of plan
... activity I0..*BackboneElementAction to occur as part of plan
cpl-3: Provide a reference or detail, not both
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... actionResulting 0..*Reference(Resource)Appointments, orders, etc.
.... progress 0..*AnnotationComments about the activity status/progress
.... reference I0..1Reference(Appointment), Reference(CommunicationRequest), Reference(DeviceUseRequest), Reference(DiagnosticOrder), Reference(MedicationOrder), Reference(NutritionOrder), Reference(Order), Reference(ProcedureRequest), Reference(ProcessRequest), Reference(ReferralRequest), Reference(SupplyRequest), Reference(VisionPrescription)Activity details defined in specific resource
.... detail I0..1BackboneElementIn-line definition of activity
..... id 0..1idxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
..... category 0..1CodeableConceptdiet | drug | encounter | observation | procedure | supply | other
Binding: CarePlanActivityCategory (example)
..... code 0..1CodeableConceptDetail type of activity
Binding: Care Plan Activity (example)
..... reasonCode 0..*CodeableConceptWhy activity should be done
Binding: Activity Reason (example)
..... reasonReference 0..*Reference(Condition)Condition triggering need for activity
..... goal 0..*Reference(Goal)Goals this activity relates to
..... status ?!0..1codenot-started | scheduled | in-progress | on-hold | completed | cancelled
Binding: CarePlanActivityStatus (required)
..... statusReason 0..1CodeableConceptReason for current status
Binding: GoalStatusReason (example)
..... prohibited ?!1..1booleanDo NOT do
..... scheduled[x] 0..1Timing, Period, stringWhen activity is to occur
..... location 0..1Reference(Location)Where it should happen
..... performer 0..*Reference(Practitioner), Reference(Organization), Reference(RelatedPerson), Reference(Patient)Who will be responsible?
..... product[x] 0..1CodeableConcept, Reference(Medication), Reference(Substance)What is to be administered/supplied
Binding: SNOMED CT Medication Codes (example)
..... dailyAmount 0..1SimpleQuantityHow to consume/day?
..... quantity 0..1SimpleQuantityHow much to administer/supply/consume
..... description 0..1stringExtra info describing activity to perform
... note 0..1AnnotationComments about the plan

doco Documentation for this format

#### Complete Summary of the Mandatory Requirements

  1. A narrative summary in CarePlan.text
  2. One reference to a patient in CarePlan.subject
  3. One status in CarePlan.status
  4. A category in Careplan.category which must have:
    • a fixed Careplan.category.coding.system = http://argonaut.hl7.org
    • a fixed ‘Careplan.category.coding.code’ = “assess-plan”

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan 0..*Argonaut CarePlan Profile
... text S1..1Narrative
.... status S1..1codeBinding: Narrative Status (required)
... subject S1..1Reference(Argonaut Patient Profile)
... status S1..1codeBinding: CarePlanStatus (required)
... category SI1..*CodeableConceptarg-1: Must have a category of 'careplan' and a code system 'http://argonaut.hl7.org'

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan 0..*Argonaut CarePlan Profile
... 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 SI1..1NarrativeText summary of the resource, for human interpretation
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... status S1..1codegenerated | extensions | additional | empty
Binding: Narrative Status (required)
.... div I1..1xhtmlLimited xhtml content
txt-2: The narrative SHALL have some non-whitespace content
txt-1: The narrative SHALL contain only the basic html formatting elements described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes
txt-3: The narrative SHALL contain only the basic html formatting attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes
... 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 plan
... subject S1..1Reference(Argonaut Patient Profile)Who care plan is for
... status ?!S1..1codeproposed | draft | active | completed | cancelled
Binding: CarePlanStatus (required)
... context Σ0..1Reference(Encounter), Reference(EpisodeOfCare)Created in context of
... period Σ0..1PeriodTime period plan covers
... author Σ0..*Reference(Patient), Reference(Practitioner), Reference(RelatedPerson), Reference(Organization)Who is responsible for contents of the plan
... modified Σ0..1dateTimeWhen last updated
... category SI1..*CodeableConceptType of plan
Binding: Care Plan Category (example)
arg-1: Must have a category of 'careplan' and a code system 'http://argonaut.hl7.org'
... description Σ0..1stringSummary of nature of plan
... addresses Σ0..*Reference(Condition)Health issues this plan addresses
... support 0..*Reference(Resource)Information considered as part of plan
... relatedPlan 0..*BackboneElementPlans related to this one
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... code 0..1codeincludes | replaces | fulfills
Binding: CarePlanRelationship (required)
.... plan 1..1Reference(CarePlan)Plan relationship exists with
... participant 0..*BackboneElementWho's involved in plan?
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... role 0..1CodeableConceptType of involvement
Binding: Participant Roles (example)
.... member 0..1Reference(Practitioner), Reference(RelatedPerson), Reference(Patient), Reference(Organization)Who is involved
... goal 0..*Reference(Goal)Desired outcome of plan
... activity I0..*BackboneElementAction to occur as part of plan
cpl-3: Provide a reference or detail, not both
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... actionResulting 0..*Reference(Resource)Appointments, orders, etc.
.... progress 0..*AnnotationComments about the activity status/progress
.... reference I0..1Reference(Appointment), Reference(CommunicationRequest), Reference(DeviceUseRequest), Reference(DiagnosticOrder), Reference(MedicationOrder), Reference(NutritionOrder), Reference(Order), Reference(ProcedureRequest), Reference(ProcessRequest), Reference(ReferralRequest), Reference(SupplyRequest), Reference(VisionPrescription)Activity details defined in specific resource
.... detail I0..1BackboneElementIn-line definition of activity
..... id 0..1idxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
..... category 0..1CodeableConceptdiet | drug | encounter | observation | procedure | supply | other
Binding: CarePlanActivityCategory (example)
..... code 0..1CodeableConceptDetail type of activity
Binding: Care Plan Activity (example)
..... reasonCode 0..*CodeableConceptWhy activity should be done
Binding: Activity Reason (example)
..... reasonReference 0..*Reference(Condition)Condition triggering need for activity
..... goal 0..*Reference(Goal)Goals this activity relates to
..... status ?!0..1codenot-started | scheduled | in-progress | on-hold | completed | cancelled
Binding: CarePlanActivityStatus (required)
..... statusReason 0..1CodeableConceptReason for current status
Binding: GoalStatusReason (example)
..... prohibited ?!1..1booleanDo NOT do
..... scheduled[x] 0..1Timing, Period, stringWhen activity is to occur
..... location 0..1Reference(Location)Where it should happen
..... performer 0..*Reference(Practitioner), Reference(Organization), Reference(RelatedPerson), Reference(Patient)Who will be responsible?
..... product[x] 0..1CodeableConcept, Reference(Medication), Reference(Substance)What is to be administered/supplied
Binding: SNOMED CT Medication Codes (example)
..... dailyAmount 0..1SimpleQuantityHow to consume/day?
..... quantity 0..1SimpleQuantityHow much to administer/supply/consume
..... description 0..1stringExtra info describing activity to perform
... note 0..1AnnotationComments about the plan

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 /CarePlan?patient=[id]&category=assess-plan

Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=1137192&category=assess-plan

Support: Mandatory to support search by patient.

Implementation Notes: Search for all patient assessments and plans of treatment for a patient. Fetches a bundle of all CarePlan 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 /CarePlan?patient=[id]&category=assess-plan&date=[date]

Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=1137192&category=assess-plan&date=ge2015-01-14

GET https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=1137192&category=assess-plan&date=ge2015-01-14&date=le2016-01-14

Support: SHOULD to support search by date

Implementation Notes: Search for all assessment and plan of treatment for a patient within a time period. Fetches a bundle of all CarePlan resources for the specified patient for a specified time period. (how to search by reference), (how to search by token) and (how to search by date).

Response Class:

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

GET /CarePlan?patient=[id]&category=assess-plan&status=active

Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=1137192&status=active

Support: SHOULD support search by patient and status = ‘active’.

Implementation Notes: SHOULD support search by reference and status. (how to search by reference), (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 /CarePlan?patient=[id]&category=assess-plan&status=active&date=[date]

Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=1137192&category=assess-plan&datatus=active&date=ge2015-01-14

Support: SHOULD support search by patient and status = ‘active’ and date.

Implementation Notes: Search for all active assessment and plan of treatment for a patient within a time period. Fetches a bundle of all active (careplan = “active”) CarePlan resources for the specified patient for a specified time period. (how to search by reference), (how to search by token) and (how to search by date).

Response Class:

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