PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.us.dapl@1.0.0-ballot
    http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-diagnosis
description: The profile establishes the core elements, extensions, vocabularies and value sets for representing deidentified or anonymized Diagnosis.
package_name: hl7.fhir.us.dapl
derivation: constraint
name: DAPLDiagnosis
type: Condition
elements:
  onset:
    constraint:
      dapl-diag-2: {human: All dateTime data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this is DateTime implies $this.toString().length() = 4}
      dapl-diag-2a: {human: All dateTime data elements should have valid year > 1900, severity: error, expression: $this is DateTime implies $this.toString() >= '1900'}
      dapl-diag-3: {human: All Period.start data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this is Period and Period.start.exists() implies $this.start.toString().length() = 4}
      dapl-diag-3a: {human: All Period.start data elements should have valid year > 1900, severity: error, expression: $this is Period and Period.start.exists() implies $this.start.toString() >= '1900'}
      dapl-diag-4: {human: All Period.emd data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this is Period and Period.end.exists() implies $this.end.toString().length() = 4}
      dapls-diag-4a: {human: All Period.start data elements should have valid year > 1900, severity: error, expression: $this is Period and Period.end.exists() implies $this.end.toString() >= '1900'}
    mustSupport: true
    choices: [onsetDateTime, onsetPeriod]
    index: 14
  category: {mustSupport: true, index: 7}
  clinicalStatus: {mustSupport: true, index: 5}
  encounter:
    type: Reference
    mustSupport: true
    refers: ['http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-deidentified-encounter']
    index: 11
    elements:
      display: {mustSupport: false, index: 12}
  onsetPeriod:
    type: Period
    constraint:
      dapl-diag-2: {human: All dateTime data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this is DateTime implies $this.toString().length() = 4}
      dapl-diag-2a: {human: All dateTime data elements should have valid year > 1900, severity: error, expression: $this is DateTime implies $this.toString() >= '1900'}
      dapl-diag-3: {human: All Period.start data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this is Period and Period.start.exists() implies $this.start.toString().length() = 4}
      dapl-diag-3a: {human: All Period.start data elements should have valid year > 1900, severity: error, expression: $this is Period and Period.start.exists() implies $this.start.toString() >= '1900'}
      dapl-diag-4: {human: All Period.emd data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this is Period and Period.end.exists() implies $this.end.toString().length() = 4}
      dapls-diag-4a: {human: All Period.start data elements should have valid year > 1900, severity: error, expression: $this is Period and Period.end.exists() implies $this.end.toString() >= '1900'}
    mustSupport: true
    choiceOf: onset
    index: 16
  abatement:
    constraint:
      dapl-diag-5: {human: All dateTime data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this is DateTime implies $this.toString().length() = 4}
      dapl-diag-5a: {human: All dateTime data elements should have valid year > 1900, severity: error, expression: $this is DateTime implies $this.toString() >= '1900'}
      dapl-diag-6: {human: All Period.start data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this is Period and Period.start.exists() implies $this.start.toString().length() = 4}
      dapl-diag-6a: {human: All Period.start data elements should have valid year > 1900, severity: error, expression: $this is Period and Period.start.exists() implies $this.start.toString() >= '1900'}
      dapl-diag-7: {human: All Period.emd data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this is Period and Period.end.exists() implies $this.end.toString().length() = 4}
      dapl-diag-7a: {human: All Period.start data elements should have valid year > 1900, severity: error, expression: $this is Period and Period.end.exists() implies $this.end.toString() >= '1900'}
    mustSupport: true
    choices: [abatementDateTime, abatementPeriod]
    index: 18
  abatementPeriod:
    type: Period
    constraint:
      dapl-diag-5: {human: All dateTime data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this is DateTime implies $this.toString().length() = 4}
      dapl-diag-5a: {human: All dateTime data elements should have valid year > 1900, severity: error, expression: $this is DateTime implies $this.toString() >= '1900'}
      dapl-diag-6: {human: All Period.start data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this is Period and Period.start.exists() implies $this.start.toString().length() = 4}
      dapl-diag-6a: {human: All Period.start data elements should have valid year > 1900, severity: error, expression: $this is Period and Period.start.exists() implies $this.start.toString() >= '1900'}
      dapl-diag-7: {human: All Period.emd data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this is Period and Period.end.exists() implies $this.end.toString().length() = 4}
      dapl-diag-7a: {human: All Period.start data elements should have valid year > 1900, severity: error, expression: $this is Period and Period.end.exists() implies $this.end.toString() >= '1900'}
    mustSupport: true
    choiceOf: abatement
    index: 20
  asserter:
    elements:
      display: {mustSupport: false, index: 23}
  note: {mustSupport: false, index: 24}
  extension:
    type: Extension
    short: Age of the Patient computed using birthDate.
    mustSupport: true
    url: http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-age-extension
    index: 3
    slicing:
      slices:
        dapl-age-extension:
          match: {}
          schema: {type: Extension, short: Age of the Patient computed using birthDate., mustSupport: true, url: 'http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-age-extension', index: 3}
          min: 0
          max: 1
        assertedDate:
          match: {}
          schema:
            type: Extension
            constraint:
              dapl-diag-1: {human: All dateTime data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this.value.ofType(dateTime) implies $this.value.ofType(dateTime).toString().length() = 4}
              dapl-diag-1a: {human: All dateTime data elements should have valid year > 1900, severity: error, expression: $this.value.ofType(dateTime) implies $this.value.ofType(dateTime).toString() >= '1900'}
            mustSupport: true
            url: http://hl7.org/fhir/StructureDefinition/condition-assertedDate|5.2.0
            index: 4
          min: 0
          max: 1
  contained: {short: Cannot include any contained resources in the resource as part of the deidentified or anonymized data., mustSupport: false, index: 2}
  recordedDate:
    constraint:
      dapl-diag-8: {human: All dateTime data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this.toString().length() = 4}
      dapl-diag-8a: {human: All dateTime data elements should have valid year > 1900, severity: error, expression: $this is DateTime implies $this.toString() >= '1900'}
    mustSupport: true
    index: 21
  id: {short: The Condition identifier generated by DARTS deidentification or anonymization service, mustSupport: true, index: 0}
  recorder:
    elements:
      display: {mustSupport: false, index: 22}
  code:
    binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/us/core/ValueSet/us-core-condition-code'}
    mustSupport: true
    index: 8
  onsetDateTime:
    type: dateTime
    constraint:
      dapl-diag-2: {human: All dateTime data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this is DateTime implies $this.toString().length() = 4}
      dapl-diag-2a: {human: All dateTime data elements should have valid year > 1900, severity: error, expression: $this is DateTime implies $this.toString() >= '1900'}
      dapl-diag-3: {human: All Period.start data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this is Period and Period.start.exists() implies $this.start.toString().length() = 4}
      dapl-diag-3a: {human: All Period.start data elements should have valid year > 1900, severity: error, expression: $this is Period and Period.start.exists() implies $this.start.toString() >= '1900'}
      dapl-diag-4: {human: All Period.emd data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this is Period and Period.end.exists() implies $this.end.toString().length() = 4}
      dapls-diag-4a: {human: All Period.start data elements should have valid year > 1900, severity: error, expression: $this is Period and Period.end.exists() implies $this.end.toString() >= '1900'}
    mustSupport: true
    choiceOf: onset
    index: 15
  abatementDateTime:
    type: dateTime
    constraint:
      dapl-diag-5: {human: All dateTime data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this is DateTime implies $this.toString().length() = 4}
      dapl-diag-5a: {human: All dateTime data elements should have valid year > 1900, severity: error, expression: $this is DateTime implies $this.toString() >= '1900'}
      dapl-diag-6: {human: All Period.start data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this is Period and Period.start.exists() implies $this.start.toString().length() = 4}
      dapl-diag-6a: {human: All Period.start data elements should have valid year > 1900, severity: error, expression: $this is Period and Period.start.exists() implies $this.start.toString() >= '1900'}
      dapl-diag-7: {human: All Period.emd data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this is Period and Period.end.exists() implies $this.end.toString().length() = 4}
      dapl-diag-7a: {human: All Period.start data elements should have valid year > 1900, severity: error, expression: $this is Period and Period.end.exists() implies $this.end.toString() >= '1900'}
    mustSupport: true
    choiceOf: abatement
    index: 19
  verificationStatus: {mustSupport: true, index: 6}
  subject:
    type: Reference
    mustSupport: true
    refers: ['http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-deidentified-patient']
    index: 9
    elements:
      display: {mustSupport: false, index: 10}
  text: {short: Cannot include any text in the resource as part of the deidentified or anonymized data., mustSupport: false, index: 1}
package_version: 1.0.0-ballot
extensions:
  dapl-age-extension: {url: 'http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-age-extension', min: 0, max: 1, type: Extension, short: Age of the Patient computed using birthDate., mustSupport: true, index: 3}
  assertedDate:
    url: http://hl7.org/fhir/StructureDefinition/condition-assertedDate|5.2.0
    min: 0
    max: 1
    type: Extension
    constraint:
      dapl-diag-1: {human: All dateTime data elements should be truncated to a year only for de-identified resources., severity: error, expression: $this.value.ofType(dateTime) implies $this.value.ofType(dateTime).toString().length() = 4}
      dapl-diag-1a: {human: All dateTime data elements should have valid year > 1900, severity: error, expression: $this.value.ofType(dateTime) implies $this.value.ofType(dateTime).toString() >= '1900'}
    mustSupport: true
    index: 4
class: profile
kind: resource
url: http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-diagnosis
base: http://hl7.org/fhir/StructureDefinition/Condition
version: 1.0.0-ballot
required: [subject, category, code]