De-identified, Anonymized FHIR Profiles Library
1.0.0-ballot - STU 1 Ballot United States of America flag

This page is part of the De-identified, Anonymized FHIR Profiles Library (DAPL) IG (v1.0.0-ballot: STU 1 Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. No current official version has been published yet. For a full list of available versions, see the Directory of published versions

Resource Profile: DAPL Diagnosis

Official URL: http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-diagnosis Version: 1.0.0-ballot
Standards status: Trial-use Maturity Level: 2 Computable Name: DAPLDiagnosis

The profile establishes the core elements, extensions, vocabularies and value sets for representing deidentified or anonymized Diagnosis.

Introduction

This profile is used to represent de-identified diagnosis information. The de-identification process has to remove all data elements not explicitly identified as "SUPPORTED" in the profile.

The HHS De-identification Guidance is to be followed to ensure appropriate level of de-identification is performed.

According to the HHS guidance, dates should not have a precision of more than the year. This means month and day cannot be included. This includes diagnosis dates, visit dates, onset dates etc.

In FHIR Resources, text elements and reference.display elements which provide human readable information to the providers may be generated using programs and tools from the data present within the resource. For e.g a Condition resource text element may contain information such as the visit date, onset date. This type of information will enable identification of the individuals. In order to avoid inadvertent revealing of PII/PHI, text elements cannot be included in the De-identified FHIR resource and the submission will be rejected when text elements are present by the validation process.

Ids and References

The original Condition resource id should not be included in the De-identified condition instance. Instead a new id should be created and provided as part of the FHIR resource. This Data Submitter should be capable of using the generated id to relink the data to the original Condition. All resource references to the Condition submitted as part of the data exchange should refer to newly generated id.

Resource references cannot contain text element as it may contain PHI/PII. The text element for following references are not allowed

  • subject
  • encounter

Date Truncation

The DARTS Service Provider has to truncate the following dates to only have a precision of year

  • onsetDate
  • abatementDate
  • recordedDate

Examples

Examples of identifiable data and its corresponding de-identifiable data are present in the FHIR Artifacts examples

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Condition C 0..* Condition DAPL Diagnosis
Constraints: con-3, con-4, con-5
... id SΣ 0..1 id The Condition identifier generated by DARTS deidentification or anonymization service
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... extension:dapl-age-extension S 0..1 Quantity, Range Age of the Patient computed using birthDate.
URL: http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-age-extension
.... extension:assertedDate SC 0..1 dateTime Date the allergy, intolerance, condition, problem, or diagnosis or other event, situation, issue, or clinical concept was first asserted
URL: http://hl7.org/fhir/StructureDefinition/condition-assertedDate
Constraints: dapl-diag-1, dapl-diag-1a
... clinicalStatus ?!SΣC 0..1 CodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis.
... verificationStatus ?!SΣC 0..1 CodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required): The verification status to support or decline the clinical status of the condition or diagnosis.
... category S 1..1 CodeableConcept problem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (extensible): A category assigned to the condition.
... code SΣ 1..1 CodeableConcept Identification of the condition, problem or diagnosis
Binding: US Core Condition Codes (extensible): The set of codes indicating the diagnosis
... subject SΣ 1..1 Reference(DAPL De-identified Patient) Who has the condition?
... encounter SΣ 0..1 Reference(DAPL De-identified Encounter) Encounter created as part of
... onset[x] SΣC 0..1 Estimated or actual date, date-time, or age
Constraints: dapl-diag-2, dapl-diag-2a, dapl-diag-3, dapl-diag-3a, dapl-diag-4, dapls-diag-4a
.... onsetDateTime dateTime S
.... onsetPeriod Period
... abatement[x] SC 0..1 When in resolution/remission
Constraints: dapl-diag-5, dapl-diag-5a, dapl-diag-6, dapl-diag-6a, dapl-diag-7, dapl-diag-7a
.... abatementDateTime dateTime
.... abatementPeriod Period
... recordedDate SΣC 0..1 dateTime Date record was first recorded
Constraints: dapl-diag-8, dapl-diag-8a

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Condition.clinicalStatus Base required Condition Clinical Status Codes 📍4.0.1 FHIR Std.
Condition.verificationStatus Base required ConditionVerificationStatus 📍4.0.1 FHIR Std.
Condition.category Base extensible Condition Category Codes 📍4.0.1 FHIR Std.
Condition.code Base extensible US Core Condition Codes 📦8.0.1 US Core v8.0

Constraints

Id Grade Path(s) Description Expression
con-3 best practice Condition Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty()
con-4 error Condition If condition is abated, then clinicalStatus must be either inactive, resolved, or remission abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists()
con-5 error Condition Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty()
dapl-diag-1 error Condition.extension:assertedDate All dateTime data elements should be truncated to a year only for de-identified resources. $this.value.ofType(dateTime) implies $this.value.ofType(dateTime).toString().length() = 4
dapl-diag-1a error Condition.extension:assertedDate All dateTime data elements should have valid year > 1900 $this.value.ofType(dateTime) implies $this.value.ofType(dateTime).toString() >= '1900'
dapl-diag-2 error Condition.onset[x] All dateTime data elements should be truncated to a year only for de-identified resources. $this is DateTime implies $this.toString().length() = 4
dapl-diag-2a error Condition.onset[x] All dateTime data elements should have valid year > 1900 $this is DateTime implies $this.toString() >= '1900'
dapl-diag-3 error Condition.onset[x] All Period.start data elements should be truncated to a year only for de-identified resources. $this is Period and Period.start.exists() implies $this.start.toString().length() = 4
dapl-diag-3a error Condition.onset[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.start.exists() implies $this.start.toString() >= '1900'
dapl-diag-4 error Condition.onset[x] All Period.emd data elements should be truncated to a year only for de-identified resources. $this is Period and Period.end.exists() implies $this.end.toString().length() = 4
dapl-diag-5 error Condition.abatement[x] All dateTime data elements should be truncated to a year only for de-identified resources. $this is DateTime implies $this.toString().length() = 4
dapl-diag-5a error Condition.abatement[x] All dateTime data elements should have valid year > 1900 $this is DateTime implies $this.toString() >= '1900'
dapl-diag-6 error Condition.abatement[x] All Period.start data elements should be truncated to a year only for de-identified resources. $this is Period and Period.start.exists() implies $this.start.toString().length() = 4
dapl-diag-6a error Condition.abatement[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.start.exists() implies $this.start.toString() >= '1900'
dapl-diag-7 error Condition.abatement[x] All Period.emd data elements should be truncated to a year only for de-identified resources. $this is Period and Period.end.exists() implies $this.end.toString().length() = 4
dapl-diag-7a error Condition.abatement[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.end.exists() implies $this.end.toString() >= '1900'
dapl-diag-8 error Condition.recordedDate All dateTime data elements should be truncated to a year only for de-identified resources. $this.toString().length() = 4
dapl-diag-8a error Condition.recordedDate All dateTime data elements should have valid year > 1900 $this is DateTime implies $this.toString() >= '1900'
dapls-diag-4a error Condition.onset[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.end.exists() implies $this.end.toString() >= '1900'
dom-2 error Condition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Condition 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Condition 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 Condition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Condition A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Condition

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Condition 0..* Condition DAPL Diagnosis
... id S 0..1 id The Condition identifier generated by DARTS deidentification or anonymization service
... text 0..0 Cannot include any text in the resource as part of the deidentified or anonymized data.
... contained 0..0 Cannot include any contained resources in the resource as part of the deidentified or anonymized data.
.... extension:dapl-age-extension S 0..1 Quantity, Range Age of the Patient computed using birthDate.
URL: http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-age-extension
.... extension:assertedDate SC 0..1 dateTime Date the allergy, intolerance, condition, problem, or diagnosis or other event, situation, issue, or clinical concept was first asserted
URL: http://hl7.org/fhir/StructureDefinition/condition-assertedDate
Constraints: dapl-diag-1, dapl-diag-1a
... clinicalStatus S 0..1 CodeableConcept active | recurrence | relapse | inactive | remission | resolved
... verificationStatus S 0..1 CodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
... category S 1..1 CodeableConcept problem-list-item | encounter-diagnosis
... code S 1..1 CodeableConcept Identification of the condition, problem or diagnosis
Binding: US Core Condition Codes (extensible): The set of codes indicating the diagnosis
... subject S 1..1 Reference(DAPL De-identified Patient) Who has the condition?
.... display 0..0 Text alternative for the resource
... encounter S 0..1 Reference(DAPL De-identified Encounter) Encounter created as part of
.... display 0..0 Text alternative for the resource
... onset[x] SC 0..1 Estimated or actual date, date-time, or age
Constraints: dapl-diag-2, dapl-diag-2a, dapl-diag-3, dapl-diag-3a, dapl-diag-4, dapls-diag-4a
.... onsetDateTime dateTime S
.... onsetPeriod Period
... abatement[x] SC 0..1 When in resolution/remission
Constraints: dapl-diag-5, dapl-diag-5a, dapl-diag-6, dapl-diag-6a, dapl-diag-7, dapl-diag-7a
.... abatementDateTime dateTime
.... abatementPeriod Period
... recordedDate SC 0..1 dateTime Date record was first recorded
Constraints: dapl-diag-8, dapl-diag-8a
... recorder
.... display 0..0 Text alternative for the resource
... asserter
.... display 0..0 Text alternative for the resource
... note 0..0 Additional information about the Condition

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Condition.code Base extensible US Core Condition Codes 📦8.0.1 US Core v8.0

Constraints

Id Grade Path(s) Description Expression
dapl-diag-1 error Condition.extension:assertedDate All dateTime data elements should be truncated to a year only for de-identified resources. $this.value.ofType(dateTime) implies $this.value.ofType(dateTime).toString().length() = 4
dapl-diag-1a error Condition.extension:assertedDate All dateTime data elements should have valid year > 1900 $this.value.ofType(dateTime) implies $this.value.ofType(dateTime).toString() >= '1900'
dapl-diag-2 error Condition.onset[x] All dateTime data elements should be truncated to a year only for de-identified resources. $this is DateTime implies $this.toString().length() = 4
dapl-diag-2a error Condition.onset[x] All dateTime data elements should have valid year > 1900 $this is DateTime implies $this.toString() >= '1900'
dapl-diag-3 error Condition.onset[x] All Period.start data elements should be truncated to a year only for de-identified resources. $this is Period and Period.start.exists() implies $this.start.toString().length() = 4
dapl-diag-3a error Condition.onset[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.start.exists() implies $this.start.toString() >= '1900'
dapl-diag-4 error Condition.onset[x] All Period.emd data elements should be truncated to a year only for de-identified resources. $this is Period and Period.end.exists() implies $this.end.toString().length() = 4
dapl-diag-5 error Condition.abatement[x] All dateTime data elements should be truncated to a year only for de-identified resources. $this is DateTime implies $this.toString().length() = 4
dapl-diag-5a error Condition.abatement[x] All dateTime data elements should have valid year > 1900 $this is DateTime implies $this.toString() >= '1900'
dapl-diag-6 error Condition.abatement[x] All Period.start data elements should be truncated to a year only for de-identified resources. $this is Period and Period.start.exists() implies $this.start.toString().length() = 4
dapl-diag-6a error Condition.abatement[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.start.exists() implies $this.start.toString() >= '1900'
dapl-diag-7 error Condition.abatement[x] All Period.emd data elements should be truncated to a year only for de-identified resources. $this is Period and Period.end.exists() implies $this.end.toString().length() = 4
dapl-diag-7a error Condition.abatement[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.end.exists() implies $this.end.toString() >= '1900'
dapl-diag-8 error Condition.recordedDate All dateTime data elements should be truncated to a year only for de-identified resources. $this.toString().length() = 4
dapl-diag-8a error Condition.recordedDate All dateTime data elements should have valid year > 1900 $this is DateTime implies $this.toString() >= '1900'
dapls-diag-4a error Condition.onset[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.end.exists() implies $this.end.toString() >= '1900'
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Condition C 0..* Condition DAPL Diagnosis
Constraints: con-3, con-4, con-5
... id SΣ 0..1 id The Condition identifier generated by DARTS deidentification or anonymization service
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:dapl-age-extension S 0..1 Quantity, Range Age of the Patient computed using birthDate.
URL: http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-age-extension
.... extension:assertedDate SC 0..1 dateTime Date the allergy, intolerance, condition, problem, or diagnosis or other event, situation, issue, or clinical concept was first asserted
URL: http://hl7.org/fhir/StructureDefinition/condition-assertedDate
Constraints: dapl-diag-1, dapl-diag-1a
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External Ids for this condition
... clinicalStatus ?!SΣC 0..1 CodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis.
... verificationStatus ?!SΣC 0..1 CodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required): The verification status to support or decline the clinical status of the condition or diagnosis.
... category S 1..1 CodeableConcept problem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (extensible): A category assigned to the condition.
... severity 0..1 CodeableConcept Subjective severity of condition
Binding: Condition/DiagnosisSeverity (preferred): A subjective assessment of the severity of the condition as evaluated by the clinician.
... code SΣ 1..1 CodeableConcept Identification of the condition, problem or diagnosis
Binding: US Core Condition Codes (extensible): The set of codes indicating the diagnosis
... bodySite Σ 0..* CodeableConcept Anatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
... subject SΣ 1..1 Reference(DAPL De-identified Patient) Who has the condition?
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
... encounter SΣ 0..1 Reference(DAPL De-identified Encounter) Encounter created as part of
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
... onset[x] SΣC 0..1 Estimated or actual date, date-time, or age
Constraints: dapl-diag-2, dapl-diag-2a, dapl-diag-3, dapl-diag-3a, dapl-diag-4, dapls-diag-4a
.... onsetDateTime dateTime S
.... onsetPeriod Period
... abatement[x] SC 0..1 When in resolution/remission
Constraints: dapl-diag-5, dapl-diag-5a, dapl-diag-6, dapl-diag-6a, dapl-diag-7, dapl-diag-7a
.... abatementDateTime dateTime
.... abatementPeriod Period
... recordedDate SΣC 0..1 dateTime Date record was first recorded
Constraints: dapl-diag-8, dapl-diag-8a
... recorder Σ 0..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) Who recorded the condition
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
... asserter Σ 0..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) Person who asserts this condition
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
... stage C 0..* BackboneElement Stage/grade, usually assessed formally
Constraints: con-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... summary C 0..1 CodeableConcept Simple summary (disease specific)
Binding: ConditionStage (example): Codes describing condition stages (e.g. Cancer stages).
.... assessment C 0..* Reference(ClinicalImpression | DiagnosticReport | Observation) Formal record of assessment
.... type 0..1 CodeableConcept Kind of staging
Binding: ConditionStageType (example): Codes describing the kind of condition staging (e.g. clinical or pathological).
... evidence C 0..* BackboneElement Supporting evidence
Constraints: con-2
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code ΣC 0..* CodeableConcept Manifestation/symptom
Binding: ManifestationAndSymptomCodes (example): Codes that describe the manifestation or symptoms of a condition.
.... detail ΣC 0..* Reference(Resource) Supporting information found elsewhere

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Condition.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Condition.clinicalStatus Base required Condition Clinical Status Codes 📍4.0.1 FHIR Std.
Condition.verificationStatus Base required ConditionVerificationStatus 📍4.0.1 FHIR Std.
Condition.category Base extensible Condition Category Codes 📍4.0.1 FHIR Std.
Condition.severity Base preferred Condition/Diagnosis Severity 📍4.0.1 FHIR Std.
Condition.code Base extensible US Core Condition Codes 📦8.0.1 US Core v8.0
Condition.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Condition.subject.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Condition.encounter.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Condition.recorder.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Condition.asserter.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Condition.stage.summary Base example Condition Stage 📍4.0.1 FHIR Std.
Condition.stage.type Base example Condition Stage Type 📍4.0.1 FHIR Std.
Condition.evidence.code Base example Manifestation and Symptom Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
con-1 error Condition.stage Stage SHALL have summary or assessment summary.exists() or assessment.exists()
con-2 error Condition.evidence evidence SHALL have code or details code.exists() or detail.exists()
con-3 best practice Condition Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty()
con-4 error Condition If condition is abated, then clinicalStatus must be either inactive, resolved, or remission abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists()
con-5 error Condition Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty()
dapl-diag-1 error Condition.extension:assertedDate All dateTime data elements should be truncated to a year only for de-identified resources. $this.value.ofType(dateTime) implies $this.value.ofType(dateTime).toString().length() = 4
dapl-diag-1a error Condition.extension:assertedDate All dateTime data elements should have valid year > 1900 $this.value.ofType(dateTime) implies $this.value.ofType(dateTime).toString() >= '1900'
dapl-diag-2 error Condition.onset[x] All dateTime data elements should be truncated to a year only for de-identified resources. $this is DateTime implies $this.toString().length() = 4
dapl-diag-2a error Condition.onset[x] All dateTime data elements should have valid year > 1900 $this is DateTime implies $this.toString() >= '1900'
dapl-diag-3 error Condition.onset[x] All Period.start data elements should be truncated to a year only for de-identified resources. $this is Period and Period.start.exists() implies $this.start.toString().length() = 4
dapl-diag-3a error Condition.onset[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.start.exists() implies $this.start.toString() >= '1900'
dapl-diag-4 error Condition.onset[x] All Period.emd data elements should be truncated to a year only for de-identified resources. $this is Period and Period.end.exists() implies $this.end.toString().length() = 4
dapl-diag-5 error Condition.abatement[x] All dateTime data elements should be truncated to a year only for de-identified resources. $this is DateTime implies $this.toString().length() = 4
dapl-diag-5a error Condition.abatement[x] All dateTime data elements should have valid year > 1900 $this is DateTime implies $this.toString() >= '1900'
dapl-diag-6 error Condition.abatement[x] All Period.start data elements should be truncated to a year only for de-identified resources. $this is Period and Period.start.exists() implies $this.start.toString().length() = 4
dapl-diag-6a error Condition.abatement[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.start.exists() implies $this.start.toString() >= '1900'
dapl-diag-7 error Condition.abatement[x] All Period.emd data elements should be truncated to a year only for de-identified resources. $this is Period and Period.end.exists() implies $this.end.toString().length() = 4
dapl-diag-7a error Condition.abatement[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.end.exists() implies $this.end.toString() >= '1900'
dapl-diag-8 error Condition.recordedDate All dateTime data elements should be truncated to a year only for de-identified resources. $this.toString().length() = 4
dapl-diag-8a error Condition.recordedDate All dateTime data elements should have valid year > 1900 $this is DateTime implies $this.toString() >= '1900'
dapls-diag-4a error Condition.onset[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.end.exists() implies $this.end.toString() >= '1900'
dom-2 error Condition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Condition 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Condition 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 Condition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Condition A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Condition C 0..* Condition DAPL Diagnosis
Constraints: con-3, con-4, con-5
... id SΣ 0..1 id The Condition identifier generated by DARTS deidentification or anonymization service
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... extension:dapl-age-extension S 0..1 Quantity, Range Age of the Patient computed using birthDate.
URL: http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-age-extension
.... extension:assertedDate SC 0..1 dateTime Date the allergy, intolerance, condition, problem, or diagnosis or other event, situation, issue, or clinical concept was first asserted
URL: http://hl7.org/fhir/StructureDefinition/condition-assertedDate
Constraints: dapl-diag-1, dapl-diag-1a
... clinicalStatus ?!SΣC 0..1 CodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis.
... verificationStatus ?!SΣC 0..1 CodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required): The verification status to support or decline the clinical status of the condition or diagnosis.
... category S 1..1 CodeableConcept problem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (extensible): A category assigned to the condition.
... code SΣ 1..1 CodeableConcept Identification of the condition, problem or diagnosis
Binding: US Core Condition Codes (extensible): The set of codes indicating the diagnosis
... subject SΣ 1..1 Reference(DAPL De-identified Patient) Who has the condition?
... encounter SΣ 0..1 Reference(DAPL De-identified Encounter) Encounter created as part of
... onset[x] SΣC 0..1 Estimated or actual date, date-time, or age
Constraints: dapl-diag-2, dapl-diag-2a, dapl-diag-3, dapl-diag-3a, dapl-diag-4, dapls-diag-4a
.... onsetDateTime dateTime S
.... onsetPeriod Period
... abatement[x] SC 0..1 When in resolution/remission
Constraints: dapl-diag-5, dapl-diag-5a, dapl-diag-6, dapl-diag-6a, dapl-diag-7, dapl-diag-7a
.... abatementDateTime dateTime
.... abatementPeriod Period
... recordedDate SΣC 0..1 dateTime Date record was first recorded
Constraints: dapl-diag-8, dapl-diag-8a

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Condition.clinicalStatus Base required Condition Clinical Status Codes 📍4.0.1 FHIR Std.
Condition.verificationStatus Base required ConditionVerificationStatus 📍4.0.1 FHIR Std.
Condition.category Base extensible Condition Category Codes 📍4.0.1 FHIR Std.
Condition.code Base extensible US Core Condition Codes 📦8.0.1 US Core v8.0

Constraints

Id Grade Path(s) Description Expression
con-3 best practice Condition Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty()
con-4 error Condition If condition is abated, then clinicalStatus must be either inactive, resolved, or remission abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists()
con-5 error Condition Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty()
dapl-diag-1 error Condition.extension:assertedDate All dateTime data elements should be truncated to a year only for de-identified resources. $this.value.ofType(dateTime) implies $this.value.ofType(dateTime).toString().length() = 4
dapl-diag-1a error Condition.extension:assertedDate All dateTime data elements should have valid year > 1900 $this.value.ofType(dateTime) implies $this.value.ofType(dateTime).toString() >= '1900'
dapl-diag-2 error Condition.onset[x] All dateTime data elements should be truncated to a year only for de-identified resources. $this is DateTime implies $this.toString().length() = 4
dapl-diag-2a error Condition.onset[x] All dateTime data elements should have valid year > 1900 $this is DateTime implies $this.toString() >= '1900'
dapl-diag-3 error Condition.onset[x] All Period.start data elements should be truncated to a year only for de-identified resources. $this is Period and Period.start.exists() implies $this.start.toString().length() = 4
dapl-diag-3a error Condition.onset[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.start.exists() implies $this.start.toString() >= '1900'
dapl-diag-4 error Condition.onset[x] All Period.emd data elements should be truncated to a year only for de-identified resources. $this is Period and Period.end.exists() implies $this.end.toString().length() = 4
dapl-diag-5 error Condition.abatement[x] All dateTime data elements should be truncated to a year only for de-identified resources. $this is DateTime implies $this.toString().length() = 4
dapl-diag-5a error Condition.abatement[x] All dateTime data elements should have valid year > 1900 $this is DateTime implies $this.toString() >= '1900'
dapl-diag-6 error Condition.abatement[x] All Period.start data elements should be truncated to a year only for de-identified resources. $this is Period and Period.start.exists() implies $this.start.toString().length() = 4
dapl-diag-6a error Condition.abatement[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.start.exists() implies $this.start.toString() >= '1900'
dapl-diag-7 error Condition.abatement[x] All Period.emd data elements should be truncated to a year only for de-identified resources. $this is Period and Period.end.exists() implies $this.end.toString().length() = 4
dapl-diag-7a error Condition.abatement[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.end.exists() implies $this.end.toString() >= '1900'
dapl-diag-8 error Condition.recordedDate All dateTime data elements should be truncated to a year only for de-identified resources. $this.toString().length() = 4
dapl-diag-8a error Condition.recordedDate All dateTime data elements should have valid year > 1900 $this is DateTime implies $this.toString() >= '1900'
dapls-diag-4a error Condition.onset[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.end.exists() implies $this.end.toString() >= '1900'
dom-2 error Condition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Condition 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Condition 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 Condition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Condition A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from Condition

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Condition 0..* Condition DAPL Diagnosis
... id S 0..1 id The Condition identifier generated by DARTS deidentification or anonymization service
... text 0..0 Cannot include any text in the resource as part of the deidentified or anonymized data.
... contained 0..0 Cannot include any contained resources in the resource as part of the deidentified or anonymized data.
.... extension:dapl-age-extension S 0..1 Quantity, Range Age of the Patient computed using birthDate.
URL: http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-age-extension
.... extension:assertedDate SC 0..1 dateTime Date the allergy, intolerance, condition, problem, or diagnosis or other event, situation, issue, or clinical concept was first asserted
URL: http://hl7.org/fhir/StructureDefinition/condition-assertedDate
Constraints: dapl-diag-1, dapl-diag-1a
... clinicalStatus S 0..1 CodeableConcept active | recurrence | relapse | inactive | remission | resolved
... verificationStatus S 0..1 CodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
... category S 1..1 CodeableConcept problem-list-item | encounter-diagnosis
... code S 1..1 CodeableConcept Identification of the condition, problem or diagnosis
Binding: US Core Condition Codes (extensible): The set of codes indicating the diagnosis
... subject S 1..1 Reference(DAPL De-identified Patient) Who has the condition?
.... display 0..0 Text alternative for the resource
... encounter S 0..1 Reference(DAPL De-identified Encounter) Encounter created as part of
.... display 0..0 Text alternative for the resource
... onset[x] SC 0..1 Estimated or actual date, date-time, or age
Constraints: dapl-diag-2, dapl-diag-2a, dapl-diag-3, dapl-diag-3a, dapl-diag-4, dapls-diag-4a
.... onsetDateTime dateTime S
.... onsetPeriod Period
... abatement[x] SC 0..1 When in resolution/remission
Constraints: dapl-diag-5, dapl-diag-5a, dapl-diag-6, dapl-diag-6a, dapl-diag-7, dapl-diag-7a
.... abatementDateTime dateTime
.... abatementPeriod Period
... recordedDate SC 0..1 dateTime Date record was first recorded
Constraints: dapl-diag-8, dapl-diag-8a
... recorder
.... display 0..0 Text alternative for the resource
... asserter
.... display 0..0 Text alternative for the resource
... note 0..0 Additional information about the Condition

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Condition.code Base extensible US Core Condition Codes 📦8.0.1 US Core v8.0

Constraints

Id Grade Path(s) Description Expression
dapl-diag-1 error Condition.extension:assertedDate All dateTime data elements should be truncated to a year only for de-identified resources. $this.value.ofType(dateTime) implies $this.value.ofType(dateTime).toString().length() = 4
dapl-diag-1a error Condition.extension:assertedDate All dateTime data elements should have valid year > 1900 $this.value.ofType(dateTime) implies $this.value.ofType(dateTime).toString() >= '1900'
dapl-diag-2 error Condition.onset[x] All dateTime data elements should be truncated to a year only for de-identified resources. $this is DateTime implies $this.toString().length() = 4
dapl-diag-2a error Condition.onset[x] All dateTime data elements should have valid year > 1900 $this is DateTime implies $this.toString() >= '1900'
dapl-diag-3 error Condition.onset[x] All Period.start data elements should be truncated to a year only for de-identified resources. $this is Period and Period.start.exists() implies $this.start.toString().length() = 4
dapl-diag-3a error Condition.onset[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.start.exists() implies $this.start.toString() >= '1900'
dapl-diag-4 error Condition.onset[x] All Period.emd data elements should be truncated to a year only for de-identified resources. $this is Period and Period.end.exists() implies $this.end.toString().length() = 4
dapl-diag-5 error Condition.abatement[x] All dateTime data elements should be truncated to a year only for de-identified resources. $this is DateTime implies $this.toString().length() = 4
dapl-diag-5a error Condition.abatement[x] All dateTime data elements should have valid year > 1900 $this is DateTime implies $this.toString() >= '1900'
dapl-diag-6 error Condition.abatement[x] All Period.start data elements should be truncated to a year only for de-identified resources. $this is Period and Period.start.exists() implies $this.start.toString().length() = 4
dapl-diag-6a error Condition.abatement[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.start.exists() implies $this.start.toString() >= '1900'
dapl-diag-7 error Condition.abatement[x] All Period.emd data elements should be truncated to a year only for de-identified resources. $this is Period and Period.end.exists() implies $this.end.toString().length() = 4
dapl-diag-7a error Condition.abatement[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.end.exists() implies $this.end.toString() >= '1900'
dapl-diag-8 error Condition.recordedDate All dateTime data elements should be truncated to a year only for de-identified resources. $this.toString().length() = 4
dapl-diag-8a error Condition.recordedDate All dateTime data elements should have valid year > 1900 $this is DateTime implies $this.toString() >= '1900'
dapls-diag-4a error Condition.onset[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.end.exists() implies $this.end.toString() >= '1900'

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Condition C 0..* Condition DAPL Diagnosis
Constraints: con-3, con-4, con-5
... id SΣ 0..1 id The Condition identifier generated by DARTS deidentification or anonymization service
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:dapl-age-extension S 0..1 Quantity, Range Age of the Patient computed using birthDate.
URL: http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-age-extension
.... extension:assertedDate SC 0..1 dateTime Date the allergy, intolerance, condition, problem, or diagnosis or other event, situation, issue, or clinical concept was first asserted
URL: http://hl7.org/fhir/StructureDefinition/condition-assertedDate
Constraints: dapl-diag-1, dapl-diag-1a
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External Ids for this condition
... clinicalStatus ?!SΣC 0..1 CodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis.
... verificationStatus ?!SΣC 0..1 CodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required): The verification status to support or decline the clinical status of the condition or diagnosis.
... category S 1..1 CodeableConcept problem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (extensible): A category assigned to the condition.
... severity 0..1 CodeableConcept Subjective severity of condition
Binding: Condition/DiagnosisSeverity (preferred): A subjective assessment of the severity of the condition as evaluated by the clinician.
... code SΣ 1..1 CodeableConcept Identification of the condition, problem or diagnosis
Binding: US Core Condition Codes (extensible): The set of codes indicating the diagnosis
... bodySite Σ 0..* CodeableConcept Anatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
... subject SΣ 1..1 Reference(DAPL De-identified Patient) Who has the condition?
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
... encounter SΣ 0..1 Reference(DAPL De-identified Encounter) Encounter created as part of
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
... onset[x] SΣC 0..1 Estimated or actual date, date-time, or age
Constraints: dapl-diag-2, dapl-diag-2a, dapl-diag-3, dapl-diag-3a, dapl-diag-4, dapls-diag-4a
.... onsetDateTime dateTime S
.... onsetPeriod Period
... abatement[x] SC 0..1 When in resolution/remission
Constraints: dapl-diag-5, dapl-diag-5a, dapl-diag-6, dapl-diag-6a, dapl-diag-7, dapl-diag-7a
.... abatementDateTime dateTime
.... abatementPeriod Period
... recordedDate SΣC 0..1 dateTime Date record was first recorded
Constraints: dapl-diag-8, dapl-diag-8a
... recorder Σ 0..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) Who recorded the condition
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
... asserter Σ 0..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) Person who asserts this condition
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
... stage C 0..* BackboneElement Stage/grade, usually assessed formally
Constraints: con-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... summary C 0..1 CodeableConcept Simple summary (disease specific)
Binding: ConditionStage (example): Codes describing condition stages (e.g. Cancer stages).
.... assessment C 0..* Reference(ClinicalImpression | DiagnosticReport | Observation) Formal record of assessment
.... type 0..1 CodeableConcept Kind of staging
Binding: ConditionStageType (example): Codes describing the kind of condition staging (e.g. clinical or pathological).
... evidence C 0..* BackboneElement Supporting evidence
Constraints: con-2
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code ΣC 0..* CodeableConcept Manifestation/symptom
Binding: ManifestationAndSymptomCodes (example): Codes that describe the manifestation or symptoms of a condition.
.... detail ΣC 0..* Reference(Resource) Supporting information found elsewhere

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Condition.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Condition.clinicalStatus Base required Condition Clinical Status Codes 📍4.0.1 FHIR Std.
Condition.verificationStatus Base required ConditionVerificationStatus 📍4.0.1 FHIR Std.
Condition.category Base extensible Condition Category Codes 📍4.0.1 FHIR Std.
Condition.severity Base preferred Condition/Diagnosis Severity 📍4.0.1 FHIR Std.
Condition.code Base extensible US Core Condition Codes 📦8.0.1 US Core v8.0
Condition.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Condition.subject.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Condition.encounter.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Condition.recorder.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Condition.asserter.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Condition.stage.summary Base example Condition Stage 📍4.0.1 FHIR Std.
Condition.stage.type Base example Condition Stage Type 📍4.0.1 FHIR Std.
Condition.evidence.code Base example Manifestation and Symptom Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
con-1 error Condition.stage Stage SHALL have summary or assessment summary.exists() or assessment.exists()
con-2 error Condition.evidence evidence SHALL have code or details code.exists() or detail.exists()
con-3 best practice Condition Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty()
con-4 error Condition If condition is abated, then clinicalStatus must be either inactive, resolved, or remission abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists()
con-5 error Condition Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty()
dapl-diag-1 error Condition.extension:assertedDate All dateTime data elements should be truncated to a year only for de-identified resources. $this.value.ofType(dateTime) implies $this.value.ofType(dateTime).toString().length() = 4
dapl-diag-1a error Condition.extension:assertedDate All dateTime data elements should have valid year > 1900 $this.value.ofType(dateTime) implies $this.value.ofType(dateTime).toString() >= '1900'
dapl-diag-2 error Condition.onset[x] All dateTime data elements should be truncated to a year only for de-identified resources. $this is DateTime implies $this.toString().length() = 4
dapl-diag-2a error Condition.onset[x] All dateTime data elements should have valid year > 1900 $this is DateTime implies $this.toString() >= '1900'
dapl-diag-3 error Condition.onset[x] All Period.start data elements should be truncated to a year only for de-identified resources. $this is Period and Period.start.exists() implies $this.start.toString().length() = 4
dapl-diag-3a error Condition.onset[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.start.exists() implies $this.start.toString() >= '1900'
dapl-diag-4 error Condition.onset[x] All Period.emd data elements should be truncated to a year only for de-identified resources. $this is Period and Period.end.exists() implies $this.end.toString().length() = 4
dapl-diag-5 error Condition.abatement[x] All dateTime data elements should be truncated to a year only for de-identified resources. $this is DateTime implies $this.toString().length() = 4
dapl-diag-5a error Condition.abatement[x] All dateTime data elements should have valid year > 1900 $this is DateTime implies $this.toString() >= '1900'
dapl-diag-6 error Condition.abatement[x] All Period.start data elements should be truncated to a year only for de-identified resources. $this is Period and Period.start.exists() implies $this.start.toString().length() = 4
dapl-diag-6a error Condition.abatement[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.start.exists() implies $this.start.toString() >= '1900'
dapl-diag-7 error Condition.abatement[x] All Period.emd data elements should be truncated to a year only for de-identified resources. $this is Period and Period.end.exists() implies $this.end.toString().length() = 4
dapl-diag-7a error Condition.abatement[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.end.exists() implies $this.end.toString() >= '1900'
dapl-diag-8 error Condition.recordedDate All dateTime data elements should be truncated to a year only for de-identified resources. $this.toString().length() = 4
dapl-diag-8a error Condition.recordedDate All dateTime data elements should have valid year > 1900 $this is DateTime implies $this.toString() >= '1900'
dapls-diag-4a error Condition.onset[x] All Period.start data elements should have valid year > 1900 $this is Period and Period.end.exists() implies $this.end.toString() >= '1900'
dom-2 error Condition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Condition 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Condition 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 Condition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Condition A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron