ext-R5-ResearchSubject.progress
type: StructureDefinition
node role: treeRoot
id:
  v: ext-R5-ResearchSubject.progress
text:
  status:
    v: extensions
  div:
    v: Generated Narrative: StructureDefinition ext-R5-ResearchSubject.progress Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> Extension 0..* Extension(4.0.1) R5: Subject status (new) #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:type 0..1 Extension R5: state | milestone (new) #xD; url 1..1 uri "type" #xD; value[x] 0..1 CodeableConcept state | milestone Binding: R5ResearchSubjectStateTypeForR4 (0.1.0) (example): Identifies the kind of state being refered to. #xD; extension:subjectState 0..1 Extension R5: candidate | eligible | follow-up | ineligible | not-registered | off-study | on-study | on-study-intervention | on-study-observation | pending-on-study | potential-candidate | screening | withdrawn (new) #xD; url 1..1 uri "subjectState" #xD; value[x] 0..1 CodeableConcept candidate | eligible | follow-up | ineligible | not-registered | off-study | on-study | on-study-intervention | on-study-observation | pending-on-study | potential-candidate | screening | withdrawn Binding: R5ResearchSubjectStateForR4 (0.1.0) (required): Indicates the progression of a study subject through a study. #xD; extension:milestone 0..1 Extension R5: SignedUp | Screened | Randomized (new) #xD; url 1..1 uri "milestone" #xD; value[x] 0..1 CodeableConcept SignedUp | Screened | Randomized Binding: R5ResearchSubjectMilestoneForR4 (0.1.0) (example): Indicates the progression of a study subject through the study milestones. #xD; extension:reason 0..1 Extension R5: State change reason (new) #xD; url 1..1 uri "reason" #xD; value[x] 0..1 CodeableConcept State change reason Binding: R5StateChangeReasonForR4 (0.1.0) (example): Indicates why the state of the subject changed. #xD; extension:startDate 0..1 Extension R5: State change date (new) #xD; url 1..1 uri "startDate" #xD; value[x] 0..1 dateTime State change date #xD; extension:endDate 0..1 Extension R5: State change date (new) #xD; url …
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-wg
    l: structuredefinition-wg
  value: Code
    v: fhir
extension:
  extension:
    url:
      v: packageId
      l: packageId
    value: Id
      v: hl7.fhir.uv.xver-r5.r4
  extension:
    url:
      v: version
      l: version
    value: String
      v: 0.1.0
  extension:
    url:
      v: uri
      l: uri
    value: Uri
      v: http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r5.r4
      l: hl7.fhir.uv.xver-r5.r4
  url:
    v: http://hl7.org/fhir/StructureDefinition/package-source
    l: package-source
extension:
  extension:
    url:
      v: startFhirVersion
      l: startFhirVersion
    value: Code
      v: 4.0
  extension:
    url:
      v: endFhirVersion
      l: endFhirVersion
    value: Code
      v: 4.0
  url:
    v: http://hl7.org/fhir/StructureDefinition/version-specific-use
    l: version-specific-use
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm
    l: structuredefinition-fmm
  value: Integer
    v: 0
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom
        l: structuredefinition-conformance-derivedFrom
      value: Canonical
        v: http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r5.r4
        l: hl7.fhir.uv.xver-r5.r4
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status
    l: structuredefinition-standards-status
  value: Code
    v: trial-use
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom
        l: structuredefinition-conformance-derivedFrom
      value: Canonical
        v: http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r5.r4
        l: hl7.fhir.uv.xver-r5.r4
url:
  v: http://hl7.org/fhir/5.0/StructureDefinition/extension-ResearchSubject.progress
  l: extension-ResearchSubject.progress
version:
  v: 0.1.0
name:
  v: ExtensionResearchSubject_Progress
title:
  v: R5: Subject status (new)
status:
  v: active
experimental:
  v: false
date:
  v: 2026-03-17T21:02:03.8104715+00:00
publisher:
  v: FHIR Infrastructure
contact:
  name:
    v: FHIR Infrastructure
  telecom:
    system:
      v: url
    value:
      v: http://www.hl7.org/Special/committees/fiwg
description:
  v: R5: `ResearchSubject.progress` (new:BackboneElement)
jurisdiction:
  coding:
    system:
      v: http://unstats.un.org/unsd/methods/m49/m49.htm
      l: m49.htm
    code:
      v: 001
    display:
      v: World
purpose:
  v: This extension is part of the cross-version definitions generated to enable use of the element `ResearchSubject.progress` as defined in FHIR R5 in FHIR R4. The source element is defined as: `ResearchSubject.progress` 0..* `BackboneElement` Across FHIR versions, the element set has been mapped as: * R5: `ResearchSubject.progress` 0..* `BackboneElement` Following are the generation technical comments: Element `ResearchSubject.progress` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
fhir version:
  v: 4.0.1
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
    l: v3
  name:
    v: RIM Mapping
kind:
  v: complex-type
abstract:
  v: false
context:
  type:
    v: element
  expression:
    v: ResearchSubject
type:
  v: Extension
  l: Extension
base definition:
  v: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
  l: http://hl7.org/fhir/StructureDefinition/Extension
derivation:
  v: constraint
snapshot:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version
      l: snapshot-base-version
    value: String
      v: 4.0.1
  element:
    id:
      v: Extension
    path:
      v: Extension
    short:
      v: R5: Subject status (new)
    definition:
      v: R5: `ResearchSubject.progress` (new:BackboneElement)
    comment:
      v: Element `ResearchSubject.progress` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element). This is intended to deal with the confusion routinely created by haing two conflated concepts of being in a particular state and having achieved a particular milestone. In strict terms a milestone is a point of time event that results in a change from one state to another. The state before the milestone is achieved is often given the same name as the milestone, and sometimes the state may have the same description. For instance "Randomised" and "Visit 1" may be different milestones but the state remains at "on study" after each of them. It is likely that more than one "state" pattern will be recorded for a subject and a type has been introduced to allow this simultaneous recording.
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Extension
      min:
        v: 0
      max:
        v: *
    condition:
      v: ele-1
    constraint:
      key:
        v: ele-1
      severity:
        v: error
      human:
        v: All FHIR elements must have a @value or children
      expression:
        v: hasValue() or (children().count() > id.count())
      xpath:
        v: @value|f:*|h:div
      source:
        v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
        l: http://hl7.org/fhir/StructureDefinition/Element
    constraint:
      key:
        v: ext-1
      severity:
        v: error
      human:
        v: Must have either extensions or value[x], not both
      expression:
        v: extension.exists() != value.exists()
      xpath:
        v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
      source:
        v: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
        l: http://hl7.org/fhir/StructureDefinition/Extension

v: false

id:
  v: Extension.id
path:
  v: Extension.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension
path:
  v: Extension.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false

id:
  v: Extension.extension:type
path:
  v: Extension.extension
slice name:
  v: type
short:
  v: R5: state | milestone (new)
definition:
  v: R5: `ResearchSubject.progress.type` (new:CodeableConcept)
comment:
  v: Element `ResearchSubject.progress.type` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.type` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.type` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
requirements:
  v: Element `ResearchSubject.progress.type` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.type` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.type` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false

id:
  v: Extension.extension:type.id
path:
  v: Extension.extension.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:type.extension
path:
  v: Extension.extension.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:type.url
path:
  v: Extension.extension.url
representation:
  v: xmlAttr
short:
  v: identifies the meaning of the extension
definition:
  v: Source of the definition for the extension code - a logical name or a URL.
comment:
  v: The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: uri
      l: uri
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
fixed: Uri
  v: type
  l: type
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:type.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: state | milestone
definition:
  v: Identifies the aspect of the subject's journey that the state refers to.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: false
binding:
  strength:
    v: example
  description:
    v: Identifies the kind of state being refered to.
  value set:
    v: http://hl7.org/fhir/uv/xver/ValueSet/R5-research-subject-state-type-for-R4|0.1.0
    l: http://hl7.org/fhir/uv/xver/ValueSet/R5-research-subject-state-type-for-R4
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:subjectState
path:
  v: Extension.extension
slice name:
  v: subjectState
short:
  v: R5: candidate | eligible | follow-up | ineligible | not-registered | off-study | on-study | on-study-intervention | on-study-observation | pending-on-study | potential-candidate | screening | withdrawn (new)
definition:
  v: R5: `ResearchSubject.progress.subjectState` (new:CodeableConcept)
comment:
  v: Element `ResearchSubject.progress.subjectState` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.subjectState` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.subjectState` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
requirements:
  v: Element `ResearchSubject.progress.subjectState` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.subjectState` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.subjectState` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false

id:
  v: Extension.extension:subjectState.id
path:
  v: Extension.extension.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:subjectState.extension
path:
  v: Extension.extension.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:subjectState.url
path:
  v: Extension.extension.url
representation:
  v: xmlAttr
short:
  v: identifies the meaning of the extension
definition:
  v: Source of the definition for the extension code - a logical name or a URL.
comment:
  v: The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: uri
      l: uri
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
fixed: Uri
  v: subjectState
  l: subjectState
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:subjectState.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: candidate | eligible | follow-up | ineligible | not-registered | off-study | on-study | on-study-intervention | on-study-observation | pending-on-study | potential-candidate | screening | withdrawn
definition:
  v: The current state of the subject.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: false
binding:
  strength:
    v: required
  description:
    v: Indicates the progression of a study subject through a study.
  value set:
    v: http://hl7.org/fhir/uv/xver/ValueSet/R5-research-subject-state-for-R4|0.1.0
    l: http://hl7.org/fhir/uv/xver/ValueSet/R5-research-subject-state-for-R4
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:milestone
path:
  v: Extension.extension
slice name:
  v: milestone
short:
  v: R5: SignedUp | Screened | Randomized (new)
definition:
  v: R5: `ResearchSubject.progress.milestone` (new:CodeableConcept)
comment:
  v: Element `ResearchSubject.progress.milestone` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.milestone` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.milestone` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element). There can be multiple entries but it is also valid to just have the most recent. This should npt be rlied upon as the full path the subject has taken.
requirements:
  v: Element `ResearchSubject.progress.milestone` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.milestone` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.milestone` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false

id:
  v: Extension.extension:milestone.id
path:
  v: Extension.extension.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:milestone.extension
path:
  v: Extension.extension.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:milestone.url
path:
  v: Extension.extension.url
representation:
  v: xmlAttr
short:
  v: identifies the meaning of the extension
definition:
  v: Source of the definition for the extension code - a logical name or a URL.
comment:
  v: The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: uri
      l: uri
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
fixed: Uri
  v: milestone
  l: milestone
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:milestone.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: SignedUp | Screened | Randomized
definition:
  v: The milestones the subject has passed through.
comment:
  v: There can be multiple entries but it is also valid to just have the most recent. This should npt be rlied upon as the full path the subject has taken.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: false
binding:
  strength:
    v: example
  description:
    v: Indicates the progression of a study subject through the study milestones.
  value set:
    v: http://hl7.org/fhir/uv/xver/ValueSet/R5-research-subject-milestone-for-R4|0.1.0
    l: http://hl7.org/fhir/uv/xver/ValueSet/R5-research-subject-milestone-for-R4
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:reason
path:
  v: Extension.extension
slice name:
  v: reason
short:
  v: R5: State change reason (new)
definition:
  v: R5: `ResearchSubject.progress.reason` (new:CodeableConcept)
comment:
  v: Element `ResearchSubject.progress.reason` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.reason` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.reason` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
requirements:
  v: Element `ResearchSubject.progress.reason` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.reason` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.reason` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false

id:
  v: Extension.extension:reason.id
path:
  v: Extension.extension.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:reason.extension
path:
  v: Extension.extension.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:reason.url
path:
  v: Extension.extension.url
representation:
  v: xmlAttr
short:
  v: identifies the meaning of the extension
definition:
  v: Source of the definition for the extension code - a logical name or a URL.
comment:
  v: The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: uri
      l: uri
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
fixed: Uri
  v: reason
  l: reason
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:reason.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: State change reason
definition:
  v: The reason for the state change. If coded it should follow the formal subject state model.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: false
binding:
  strength:
    v: example
  description:
    v: Indicates why the state of the subject changed.
  value set:
    v: http://hl7.org/fhir/uv/xver/ValueSet/R5-state-change-reason-for-R4|0.1.0
    l: http://hl7.org/fhir/uv/xver/ValueSet/R5-state-change-reason-for-R4
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:startDate
path:
  v: Extension.extension
slice name:
  v: startDate
short:
  v: R5: State change date (new)
definition:
  v: R5: `ResearchSubject.progress.startDate` (new:dateTime)
comment:
  v: Element `ResearchSubject.progress.startDate` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.startDate` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.startDate` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element). This is NOT the date the change in state was recorded.
requirements:
  v: This was originally defined as the date when the change in status occurred. This assumed all states were recorded which is not true. Hence the need to track the end of the state. Element `ResearchSubject.progress.startDate` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.startDate` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.startDate` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false

id:
  v: Extension.extension:startDate.id
path:
  v: Extension.extension.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:startDate.extension
path:
  v: Extension.extension.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:startDate.url
path:
  v: Extension.extension.url
representation:
  v: xmlAttr
short:
  v: identifies the meaning of the extension
definition:
  v: Source of the definition for the extension code - a logical name or a URL.
comment:
  v: The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: uri
      l: uri
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
fixed: Uri
  v: startDate
  l: startDate
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:startDate.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: State change date
definition:
  v: The date when the new status started.
comment:
  v: This is NOT the date the change in state was recorded.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:endDate
path:
  v: Extension.extension
slice name:
  v: endDate
short:
  v: R5: State change date (new)
definition:
  v: R5: `ResearchSubject.progress.endDate` (new:dateTime)
comment:
  v: Element `ResearchSubject.progress.endDate` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.endDate` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.endDate` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
requirements:
  v: See the requirement on the start date. Element `ResearchSubject.progress.endDate` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.endDate` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.endDate` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false

id:
  v: Extension.extension:endDate.id
path:
  v: Extension.extension.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:endDate.extension
path:
  v: Extension.extension.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:endDate.url
path:
  v: Extension.extension.url
representation:
  v: xmlAttr
short:
  v: identifies the meaning of the extension
definition:
  v: Source of the definition for the extension code - a logical name or a URL.
comment:
  v: The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: uri
      l: uri
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
fixed: Uri
  v: endDate
  l: endDate
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:endDate.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: State change date
definition:
  v: The date when the state ended.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.url
path:
  v: Extension.url
representation:
  v: xmlAttr
short:
  v: identifies the meaning of the extension
definition:
  v: Source of the definition for the extension code - a logical name or a URL.
comment:
  v: The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: uri
      l: uri
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
fixed: Uri
  v: http://hl7.org/fhir/5.0/StructureDefinition/extension-ResearchSubject.progress
  l: extension-ResearchSubject.progress
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.value[x]
path:
  v: Extension.value[x]
short:
  v: Value of extension
definition:
  v: Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4/extensibility.html) for a list).
min:
  v: 0
max:
  v: 0
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: base64Binary
    l: base64Binary
type:
  code:
    v: boolean
    l: boolean
type:
  code:
    v: canonical
    l: canonical
type:
  code:
    v: code
    l: code
type:
  code:
    v: date
    l: date
type:
  code:
    v: dateTime
    l: dateTime
type:
  code:
    v: decimal
    l: decimal
type:
  code:
    v: id
    l: id
type:
  code:
    v: instant
    l: instant
type:
  code:
    v: integer
    l: integer
type:
  code:
    v: markdown
    l: markdown
type:
  code:
    v: oid
    l: oid
type:
  code:
    v: positiveInt
    l: positiveInt
type:
  code:
    v: string
    l: string
type:
  code:
    v: time
    l: time
type:
  code:
    v: unsignedInt
    l: unsignedInt
type:
  code:
    v: uri
    l: uri
type:
  code:
    v: url
    l: url
type:
  code:
    v: uuid
    l: uuid
type:
  code:
    v: Address
    l: Address
type:
  code:
    v: Age
    l: Age
type:
  code:
    v: Annotation
    l: Annotation
type:
  code:
    v: Attachment
    l: Attachment
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
type:
  code:
    v: Coding
    l: Coding
type:
  code:
    v: ContactPoint
    l: ContactPoint
type:
  code:
    v: Count
    l: Count
type:
  code:
    v: Distance
    l: Distance
type:
  code:
    v: Duration
    l: Duration
type:
  code:
    v: HumanName
    l: HumanName
type:
  code:
    v: Identifier
    l: Identifier
type:
  code:
    v: Money
    l: Money
type:
  code:
    v: Period
    l: Period
type:
  code:
    v: Quantity
    l: Quantity
type:
  code:
    v: Range
    l: Range
type:
  code:
    v: Ratio
    l: Ratio
type:
  code:
    v: Reference
    l: Reference
type:
  code:
    v: SampledData
    l: SampledData
type:
  code:
    v: Signature
    l: Signature
type:
  code:
    v: Timing
    l: Timing
type:
  code:
    v: ContactDetail
    l: ContactDetail
type:
  code:
    v: Contributor
    l: Contributor
type:
  code:
    v: DataRequirement
    l: DataRequirement
type:
  code:
    v: Expression
    l: Expression
type:
  code:
    v: ParameterDefinition
    l: ParameterDefinition
type:
  code:
    v: RelatedArtifact
    l: RelatedArtifact

code:
  v: TriggerDefinition
  l: TriggerDefinition

code:
  v: UsageContext
  l: UsageContext

code:
  v: Dosage
  l: Dosage

code:
  v: Meta
  l: Meta

key:
  v: ele-1
severity:
  v: error
human:
  v: All FHIR elements must have a @value or children
expression:
  v: hasValue() or (children().count() > id.count())
xpath:
  v: @value|f:*|h:div
source:
  v: http://hl7.org/fhir/StructureDefinition/Element|4.0.1
  l: http://hl7.org/fhir/StructureDefinition/Element

v: false

v: false

identity:
  v: rim
map:
  v: N/A

element:
  id:
    v: Extension
  path:
    v: Extension
  short:
    v: R5: Subject status (new)
  definition:
    v: R5: `ResearchSubject.progress` (new:BackboneElement)
  comment:
    v: Element `ResearchSubject.progress` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element). This is intended to deal with the confusion routinely created by haing two conflated concepts of being in a particular state and having achieved a particular milestone. In strict terms a milestone is a point of time event that results in a change from one state to another. The state before the milestone is achieved is often given the same name as the milestone, and sometimes the state may have the same description. For instance "Randomised" and "Visit 1" may be different milestones but the state remains at "on study" after each of them. It is likely that more than one "state" pattern will be recorded for a subject and a type has been introduced to allow this simultaneous recording.
  min:
    v: 0
  max:
    v: *
  base:
    path:
      v: Extension
    min:
      v: 0
    max:
      v: *
  is modifier:
    v: false
element:
  id:
    v: Extension.extension
  path:
    v: Extension.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
  base:
    path:
      v: Extension.extension
    min:
      v: 0
    max:
      v: *
element:
  id:
    v: Extension.extension:type
  path:
    v: Extension.extension
  slice name:
    v: type
  short:
    v: R5: state | milestone (new)
  definition:
    v: R5: `ResearchSubject.progress.type` (new:CodeableConcept)
  comment:
    v: Element `ResearchSubject.progress.type` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.type` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.type` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
  requirements:
    v: Element `ResearchSubject.progress.type` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.type` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.type` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: Extension.extension
    min:
      v: 0
    max:
      v: *
element:
  id:
    v: Extension.extension:type.url
  path:
    v: Extension.extension.url
  min:
    v: 1
  max:
    v: 1
  base:
    path:
      v: Extension.url
    min:
      v: 1
    max:
      v: 1
  fixed: Uri
    v: type
    l: type
element:
  id:
    v: Extension.extension:type.value[x]
  path:
    v: Extension.extension.value[x]
  short:
    v: state | milestone
  definition:
    v: Identifies the aspect of the subject's journey that the state refers to.
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: Extension.value[x]
    min:
      v: 0
    max:
      v: 1
  type:
    code:
      v: CodeableConcept
      l: CodeableConcept
  binding:
    strength:
      v: example
    description:
      v: Identifies the kind of state being refered to.
    value set:
      v: http://hl7.org/fhir/uv/xver/ValueSet/R5-research-subject-state-type-for-R4|0.1.0
      l: http://hl7.org/fhir/uv/xver/ValueSet/R5-research-subject-state-type-for-R4
element:
  id:
    v: Extension.extension:subjectState
  path:
    v: Extension.extension
  slice name:
    v: subjectState
  short:
    v: R5: candidate | eligible | follow-up | ineligible | not-registered | off-study | on-study | on-study-intervention | on-study-observation | pending-on-study | potential-candidate | screening | withdrawn (new)
  definition:
    v: R5: `ResearchSubject.progress.subjectState` (new:CodeableConcept)
  comment:
    v: Element `ResearchSubject.progress.subjectState` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.subjectState` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.subjectState` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
  requirements:
    v: Element `ResearchSubject.progress.subjectState` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.subjectState` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.subjectState` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: Extension.extension
    min:
      v: 0
    max:
      v: *
element:
  id:
    v: Extension.extension:subjectState.url
  path:
    v: Extension.extension.url
  min:
    v: 1
  max:
    v: 1
  base:
    path:
      v: Extension.url
    min:
      v: 1
    max:
      v: 1
  fixed: Uri
    v: subjectState
    l: subjectState
element:
  id:
    v: Extension.extension:subjectState.value[x]
  path:
    v: Extension.extension.value[x]
  short:
    v: candidate | eligible | follow-up | ineligible | not-registered | off-study | on-study | on-study-intervention | on-study-observation | pending-on-study | potential-candidate | screening | withdrawn
  definition:
    v: The current state of the subject.
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: Extension.value[x]
    min:
      v: 0
    max:
      v: 1
  type:
    code:
      v: CodeableConcept
      l: CodeableConcept
  binding:
    strength:
      v: required
    description:
      v: Indicates the progression of a study subject through a study.
    value set:
      v: http://hl7.org/fhir/uv/xver/ValueSet/R5-research-subject-state-for-R4|0.1.0
      l: http://hl7.org/fhir/uv/xver/ValueSet/R5-research-subject-state-for-R4

id:
  v: Extension.extension:milestone
path:
  v: Extension.extension
slice name:
  v: milestone
short:
  v: R5: SignedUp | Screened | Randomized (new)
definition:
  v: R5: `ResearchSubject.progress.milestone` (new:CodeableConcept)
comment:
  v: Element `ResearchSubject.progress.milestone` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.milestone` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.milestone` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element). There can be multiple entries but it is also valid to just have the most recent. This should npt be rlied upon as the full path the subject has taken.
requirements:
  v: Element `ResearchSubject.progress.milestone` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.milestone` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.milestone` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.extension
  min:
    v: 0
  max:
    v: *

id:
  v: Extension.extension:milestone.url
path:
  v: Extension.extension.url
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
fixed: Uri
  v: milestone
  l: milestone

id:
  v: Extension.extension:milestone.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: SignedUp | Screened | Randomized
definition:
  v: The milestones the subject has passed through.
comment:
  v: There can be multiple entries but it is also valid to just have the most recent. This should npt be rlied upon as the full path the subject has taken.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
binding:
  strength:
    v: example
  description:
    v: Indicates the progression of a study subject through the study milestones.
  value set:
    v: http://hl7.org/fhir/uv/xver/ValueSet/R5-research-subject-milestone-for-R4|0.1.0
    l: http://hl7.org/fhir/uv/xver/ValueSet/R5-research-subject-milestone-for-R4

id:
  v: Extension.extension:reason
path:
  v: Extension.extension
slice name:
  v: reason
short:
  v: R5: State change reason (new)
definition:
  v: R5: `ResearchSubject.progress.reason` (new:CodeableConcept)
comment:
  v: Element `ResearchSubject.progress.reason` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.reason` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.reason` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
requirements:
  v: Element `ResearchSubject.progress.reason` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.reason` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.reason` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.extension
  min:
    v: 0
  max:
    v: *

id:
  v: Extension.extension:reason.url
path:
  v: Extension.extension.url
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
fixed: Uri
  v: reason
  l: reason

id:
  v: Extension.extension:reason.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: State change reason
definition:
  v: The reason for the state change. If coded it should follow the formal subject state model.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
binding:
  strength:
    v: example
  description:
    v: Indicates why the state of the subject changed.
  value set:
    v: http://hl7.org/fhir/uv/xver/ValueSet/R5-state-change-reason-for-R4|0.1.0
    l: http://hl7.org/fhir/uv/xver/ValueSet/R5-state-change-reason-for-R4

id:
  v: Extension.extension:startDate
path:
  v: Extension.extension
slice name:
  v: startDate
short:
  v: R5: State change date (new)
definition:
  v: R5: `ResearchSubject.progress.startDate` (new:dateTime)
comment:
  v: Element `ResearchSubject.progress.startDate` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.startDate` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.startDate` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element). This is NOT the date the change in state was recorded.
requirements:
  v: This was originally defined as the date when the change in status occurred. This assumed all states were recorded which is not true. Hence the need to track the end of the state. Element `ResearchSubject.progress.startDate` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.startDate` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.startDate` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.extension
  min:
    v: 0
  max:
    v: *

id:
  v: Extension.extension:startDate.url
path:
  v: Extension.extension.url
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
fixed: Uri
  v: startDate
  l: startDate

id:
  v: Extension.extension:startDate.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: State change date
definition:
  v: The date when the new status started.
comment:
  v: This is NOT the date the change in state was recorded.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime

id:
  v: Extension.extension:endDate
path:
  v: Extension.extension
slice name:
  v: endDate
short:
  v: R5: State change date (new)
definition:
  v: R5: `ResearchSubject.progress.endDate` (new:dateTime)
comment:
  v: Element `ResearchSubject.progress.endDate` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.endDate` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.endDate` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
requirements:
  v: See the requirement on the start date. Element `ResearchSubject.progress.endDate` is part of an existing definition because parent element `ResearchSubject.progress` requires a cross-version extension. Element `ResearchSubject.progress.endDate` has a context of ResearchSubject based on following the parent source element upwards and mapping to `ResearchSubject`. Element `ResearchSubject.progress.endDate` has no mapping targets in FHIR R4. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.extension
  min:
    v: 0
  max:
    v: *

id:
  v: Extension.extension:endDate.url
path:
  v: Extension.extension.url
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
fixed: Uri
  v: endDate
  l: endDate

id:
  v: Extension.extension:endDate.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: State change date
definition:
  v: The date when the state ended.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime

id:
  v: Extension.url
path:
  v: Extension.url
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
fixed: Uri
  v: http://hl7.org/fhir/5.0/StructureDefinition/extension-ResearchSubject.progress
  l: extension-ResearchSubject.progress

id:
  v: Extension.value[x]
path:
  v: Extension.value[x]
min:
  v: 0
max:
  v: 0
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1